
@font-face {
  font-family: 'Josefin Sans';
  src: url('../fonts/JosefinSans-Regular.woff2') format('woff2'),
      url('../fonts/JosefinSans-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* @font-face {
  font-family: 'Josefin Sans';
  src: url('../fonts/JosefinSans-SemiBold.woff2') format('woff2'),
      url('../fonts/JosefinSans-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
} */

@font-face {
  font-family: 'Josefin Sans';
  src: url('../fonts/JosefinSans-Bold.woff2') format('woff2'),
      url('../fonts/JosefinSans-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bigerside Expanded';
  src: url('../fonts/BigersideExpandedRegular.woff2') format('woff2'),
      url('../fonts/BigersideExpandedRegular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


:root {
  --ww-primary-color: #005f6a;
  --ww-secondary-color: #1D1D1B;
  --ww-text-color: #1D1D1B;
  --ww-text-color-bright: #FFFFFF;
  --ww-background-color-primary: #005f6a;
  --ww-background-color-secondary: #1D1D1B;
  --ww-background-color-bright: #ffffff;
}


* {
  box-sizing: border-box;
}

html {
  scrollbar-color: var(--ww-primary-color) var(--ww-secondary-color);
  scrollbar-width: thin;
}

html::-webkit-scrollbar,
html::-webkit-scrollbar-track {
  width: 8px;
  background-color: var(--ww-secondary-color);
  background-color: transparent;
}

html::-webkit-scrollbar-thumb {
  border-radius: 0;
  -webkit-box-shadow: none;
  background-color: var(--ww-primary-color);
}


body {
  font-size: 1rem;
  background-color: var(--ww-background-color-bright);
  position: relative;
  padding: 0;
  margin: 0;
  color: var(--ww-primary-text-color);
  max-width: 100vW;
  overflow-x: hidden;
  overflow-y: visible;    
  scrollbar-color: var(--ww-primary-color) var(--ww-secondary-color);
  scrollbar-width: thin;  
}

  /* use html > body to have overrides working, otherwise we have to use ugly important */
html > body {
  /* wordpress overrides */
  --wp--preset--color--black: var(--ww-background-color-secondary);
  --wp--preset--color--white: var(--ww-background-color-bright);
  --wp--preset--color--vivid-green-cyan: var(--ww-background-color-primary);
}

body::-webkit-scrollbar,
body::-webkit-scrollbar-track {
  width: 8px;
  background-color: var(--ww-secondary-color);
  background-color: transparent;
}

body::-webkit-scrollbar-thumb {
  border-radius: 0;
  -webkit-box-shadow: none;
  background-color: var(--ww-primary-color);
}

html>body {
  font-size: 16px;
  font-size: 1rem;
}

body.loading {
  /* overflow: hidden; */
}

body.is-fixed,
body.page-template-template-fixed-page,
.is-navi-active,
.is-subnavi-active {
  width: 100%;
  height: 100vH;
  overflow: hidden;
}

html,
body,
article,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
figure,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
q,
small,
strong,
sub,
sup,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
button,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
footer,
input,
textarea,
select {
  border: 0 none;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

h1,
h3,
h3 a,
h4,
h4 a,
nav[role="navigation"] a,
blockquote p,
blockquote + p > em,
blockquote > cite,
p,
ul,
ol,
label,
input,
select,
textarea,
dd,
dt,
td,
th,
a,
caption,
span,
h3,
h4,
h5,
h6,
figcaption,
legend,
option,
button,
strong,
.cli-privacy-content-text,
.wt-cli-cookie-description,
.wpcf7-response-output,
em {
  font-family: 'Josefin Sans',-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-size: 1.375rem;
  line-height: 1.2;
  color: var(--ww-primary-text-color);
}

h1,
h2,
h3,
h4,
h5,
h6,
nav[role="navigation"] a {
  font-family: 'Bigerside Expanded',-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif;
  font-weight: normal;
  letter-spacing: 0.15rem;
}

strong,
a {
  color: inherit;
  font-size: inherit;
}

ol li {
  line-height: 1.2;
}

em {
  font-style: italic;
}

strong,
strong a {
  font-weight: bold;
  color: inherit;
}

h1 {
  font-size: 3.75rem;
  letter-spacing: 0.1rem;
}

@media screen and (min-width: 25rem) {
  h1 {
    font-size: 5rem;
  }  
}

h2,
h2 a,
h2 span,
h2 strong {
  font-size: 2.25rem;
}                

@media screen and (min-width: 64rem) {
  h2,
  h2 a,
  h2 span,
  h2 strong {
    font-size: 2.5rem;
  }                
}

h3,
h3 a,
h3 span,
h3 strong {
  font-size: 1.5625rem;
}

h4,
h4 a,
h4 span,
h4 strong {
  font-size: 1.5rem;
}

h5 {
  font-size: 1.375rem;
  font-weight: 700;
}

@media screen and (min-width: 85.375rem) {


  h2,
  h2 a,
  h2 span,
  h2 strong {
    font-size: 3.125rem;
  }

  h3,
  h3 a,
  h3 span,
  h3 strong {
      font-size: 2.5rem;
      line-height: 1;
  }
  
  h4,
  h4 a,
  h4 span,
  h4 strong {
    font-size: 1.5rem;
    line-height: 1.2;
  }

  h5 {
    font-size: 1.875rem;
    font-weight: 700;
  }
    
}

.loading--overlay.is-active {
  z-index: 1000;
  transition: opacity 500ms ease;
  opacity: 1;
}

.loading--overlay.is-fadeout {
  z-index: 1000;
  transition: opacity 800ms ease;
  opacity: 0;
}

img,
i,
svg {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  transition: all 300ms ease-out;
  color: var(--ww-primary-color);
}

a:hover {
  text-decoration: underline;
}

.is-hidden {
  display: none;
}

.wp-block-embed {
  margin-top: 1rem;
}

.wp-block-embed__wrapper{
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}

.wp-block-embed__wrapper iframe, 
.wp-block-embed__wrapper object, 
.wp-block-embed__wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*------------------------------------------------------------------------------------------------------------------ wordpress editor */

.justify--center .wp-block-image {
  margin-left: auto;
  margin-right: auto;
}

.has-text-align-center,
.aligncenter,
.aligncenter .image-block__inner img,
.aligncenter .image-block__inner svg {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.has-text-align-right {
  text-align: left;
}

@media screen and (min-width: 48rem) {
  .has-text-align-right {
    text-align: right;
  }
}

.wp-block-image.is-style-rounded {
  border-radius: 50%;
  aspect-ratio: 1/1;
  overflow: hidden;
}

/*------------------------------------------------------------------------------------------------------------------ wordpress editor */

/*------------------------------------------------------------------------------------------------------------------ header*/

.togglenav {
  position: absolute;
  text-transform: uppercase;
  color: var(--ww-background-color-bright);
  display: block;
  text-decoration: none;
  width: 2rem;
  height: 1.75rem;
  z-index: 21;
  top: 2.25rem;
  right: 1rem;
  display: block;
  transition: all 300ms ease-out;
}

.has-darkheader .togglenav {
  top: 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .togglenav {
    right: 4.25rem;
    top: 4.5rem;
  }

  .has-darkheader .togglenav {
    top: 1.25rem;
  }
}

.togglenav__inner {
  width: 2rem;
  height: 3px;
  top: 7.5px;
  right: 0;
  display: block;
  background-color: var(--ww-background-color-bright);
  position: absolute;
  transition: all 300ms ease;
}

.has-darkheader .togglenav__inner {
  background-color: var(--ww-background-color-bright);
}

.togglenav__inner:before,
.togglenav__inner:after {
  content: "";
  height: 3px;
  width: 2rem;
  position: absolute;
  right: 0;
  top: 10px;
  background-color: var(--ww-background-color-bright);
  transition: all 300ms ease;
}

.has-darkheader .togglenav__inner:before,
.has-darkheader .togglenav__inner:after {
  background-color: var(--ww-background-color-bright); 
}

.togglenav__inner:after {
  width: 2rem;
  top: -10px;
}

.togglenav.active .togglenav__inner,
.togglenav.active:before {
  background-color: transparent;
}

.togglenav.active .togglenav__inner:before {
  transform: rotate(-135deg);
  top: 0;
  left: 0;
  background-color: var(--ww-background-color-bright);
}

.togglenav.active .togglenav__inner:after {
  transform: rotate(135deg);
  top: 0;
  left: 0px;
  background-color: var(--ww-background-color-bright);
}

.wrapper-header {
  position: fixed;
  top: 0;
  z-index: 210;
  width: 100%;
  left: 0;
  background-color: var(--ww-background-color-primary);
  transition: background-color 300ms ease-out;
}

@media screen and (min-width: 85.375rem) {
  .wrapper-header {
    background-color: transparent;
  }
}

.has-darkheader .wrapper-header {
  background-color: var(--ww-background-color-primary);
}

header[role="banner"] {
  width: 100%;
  z-index: 210;
}

.header__language {
  background-color: var(--ww-background-color-primary);
}

.header__logo-navigation {
  background-color: var(--ww-background-color-bright);
  transition: all 300ms ease;
}

.header__inner {
  position: relative;
  width: min(100%, 120rem);  
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}

@media screen and (min-width: 85.375rem) {
  .header__inner {
    padding: 0 4.25rem;
  }
}

.logo-general {
  z-index: 200;
  position: absolute;
  top: 2.25rem;
  left: 1rem;
  width: 10rem;
  transition: all 500ms ease-out;
  margin-left: 0;
  margin-right: auto;
}

@media screen and (min-width: 85.375rem) {
  .logo-general {
    width: 15.625rem;
    top: 4.5rem;
    left: 4.25rem;
  }
}

.has-darkheader .logo-general {
  transform: translate(0,-200%);
}

.logo-general a,
.logo-general svg,
.logo-small a,
.logo-small svg {
  display: block;
}

.logo-small {
  position: relative;
  z-index: 200;
  transform: translate(0,-100%);
  transition: transform 500ms ease-out;
}

.has-darkheader .logo-small {
  transform: translate(0,0);
}

.is-navi-active .logo-small {
  transform: translate(0,0);
}

/* .has-darkheader.is-navi-active .logo-small {
  transform: translate(0,-100%);
} */

.logo-small {
  padding: 0.5rem 1rem;
  max-width: 10rem;
}

@media screen and (min-width: 85.375rem) {
  .logo-small {
    padding: 0.5rem 0;
  }
}

.header__language .menu {
  list-style-type: none;
}

.header__language .menu a {
  font-size: 1rem;
}

.header__language .menu a img {
  display: none;
}

.wrapper--navigation {
  position: fixed;
  width: 100vW;
  z-index: 10;
  height: 0;
  top: 6.425rem;
  right: 0;
  transition: all 300ms ease-out;
  scrollbar-color: var(--ww-background-color-secondary) var(--ww-background-color-bright);
  scrollbar-width: thin;
}

.wrapper--navigation.active {
  background-color: var(--ww-background-color-bright);
  height: calc(100vH - 6.425rem);
}

.wrapper--navigation .menu {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  height: calc(100vH - 6.425rem);
  overflow-y: auto;
  padding-top: 3rem;
  padding-bottom: 1.5rem;
  justify-content: flex-start;
}

.wrapper--navigation::-webkit-scrollbar,
.wrapper--navigation::-webkit-scrollbar-track {
  width: 8px;
  background-color: var(--ww-background-color-bright);
  background-color: transparent;
}

.wrapper--navigation::-webkit-scrollbar-thumb {
  border-radius: 0;
  -webkit-box-shadow: none;
  background-color: var(--ww-background-color-secondary);
}

.wrapper--navigation {
  background-color: var(--ww-background-color-primary);
  position: fixed;
  width: 100vW;
  z-index: 10;
  height: 0;
  top: 0rem;
  right: 0;
  transition: all 300ms ease-out;
  scrollbar-color: var(--ww-background-color-dark) var(--ww-background-color-bright);
  scrollbar-width: thin;
}

.wrapper--navigation:not(.active) {
  transition-delay: 200ms;
}

.wrapper--navigation.active {
  background-color: var(--ww-background-color-primary);
  height: 100vH;
}

.wrapper--navigation::-webkit-scrollbar,
.wrapper--navigation::-webkit-scrollbar-track {
  width: 8px;
  background-color: var(--ww-background-color-bright);
  background-color: transparent;
}

.wrapper--navigation::-webkit-scrollbar-thumb {
  border-radius: 0;
  -webkit-box-shadow: none;
  background-color: var(--ww-background-color-dark);
}

nav[role="navigation"] {
  position: fixed;
  top: 6.425rem;
  left: 50%;
  width: 100%;
  max-width: 120rem;
  transform: translate(-50%,0);
  z-index: 100;
  transition: all 300ms ease-out;
  height: 0;
  overflow: hidden;
}

.wrapper--navigation.active nav[role="navigation"] {
  height: calc(100vH - 6.425rem);
  max-height: 60rem;
}

.has-darkheader .wrapper--navigation.active nav[role="navigation"] {
  height: calc(100vH - 4rem);
}

.wrapper--navigation .menu {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  height: calc(100vH - 14.625rem);
  overflow-x: hidden;
  overflow-y: auto;
  padding-top: 4rem;
  padding-bottom: 1.5rem;
  position: absolute;
  left: 0;
  top: 0;
  padding-right: 0;
}

@media screen and (min-width: 85.375rem) {
  .wrapper--navigation .menu {
    padding-top: 4rem;
    padding-left: 4.25rem;
  }
}

@media screen and (min-width: 105rem) {
  .wrapper--navigation .menu {
    padding-top: 8rem;
  }
}

.has-darkheader .wrapper--navigation .menu {
  height: calc(100vH - 20rem);
  max-height: 50rem;
}

.wrapper--navigation.active .menu {
  transform: translate(0,0);
}

nav[role="navigation"] li {
  margin: 0.25rem 1rem;
  opacity: 0;
}

nav[role="navigation"] .menu > li {
  margin-bottom: 0;
  border-bottom: 1px solid var(--ww-form-color);  
  text-align: left;
  transform: translate(-150%,0);
  transition: all 500ms ease-out;
  opacity: 0;
}

.wrapper--navigation.active nav[role="navigation"] .menu > li {
  opacity: 1;
  transform: translate(0,0);
}

.wrapper--navigation.active nav[role="navigation"] .menu > li:nth-child(1) {
  transition-delay: 50ms;
}

.wrapper--navigation.active nav[role="navigation"] .menu > li:nth-child(2) {
  transition-delay: 100ms;
}

.wrapper--navigation.active nav[role="navigation"] .menu > li:nth-child(3) {
  transition-delay: 150ms;
}

.wrapper--navigation.active nav[role="navigation"] .menu > li:nth-child(4) {
  transition-delay: 200ms;
}

.wrapper--navigation.active nav[role="navigation"] .menu > li:nth-child(5) {
  transition-delay: 250ms;
}

.wrapper--navigation.active nav[role="navigation"] .menu > li:nth-child(6) {
  transition-delay: 300ms;
}

nav[role="navigation"] .menu > li:last-child {
  border-bottom: 0;
}

nav[role="navigation"] a {
  display: inline-block;
  color: var(--ww-text-color-bright);
  font-size: 2rem;
  padding: 0.25rem 0;
  position: relative;
}

@media screen and (min-width: 85.375rem) {

  nav[role="navigation"] li {
    margin: 0.5rem 1rem;
  }

  nav[role="navigation"] a {
    font-size: 6rem;
  }  
}

nav[role="navigation"] a:hover {
  text-decoration: underline;
}

.navigation-contact {
  position: absolute;
  bottom: 6rem;
  right: 1rem;
  transform: translate(0,0);  
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 0;
  overflow: hidden;
  z-index: 101;
}
@media screen and (min-width: 64rem) {
  .navigation-contact {
    bottom: 2rem;
  }
}
.wrapper--navigation.active .navigation-contact {
  /* height: calc(100vH - 14.625rem);
  max-height: 60rem; */
  height: auto;
}

.navigation-contact .contact {
  margin-bottom: 2rem;
  margin-left: auto;
  opacity: 0;
  transition: all 300ms ease-out;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  color: var(--ww-text-color-bright);
}

.navigation-contact a {
  color: var(--ww-text-color-bright);
  margin-right: 1rem;
  margin-left: 1rem;
}

.navigation-contact a:last-child {
  margin-right: 0;
}

.navigation-contact .contact i {
  width: 2rem;
}

.navigation-contact .contact i svg {
  width: 100%;
}

.navigation-contact path {
  fill: var(--ww-text-color-bright);
}

@media screen and (min-width: 85.375rem) {
  .navigation-contact  {
    /* bottom: auto; */
    /* top: 6.425rem; */
    left: 50%;
    right: auto;
    width: 100%;
    max-width: 120rem;
    transform: translate(-50%,0);
  }
  
  .navigation-contact .contact {
    margin-right: 4.75rem;
    margin-bottom: 1rem;
  }
}

.navigation-contact .contact:last-child {
  margin-bottom: 0;
}

.wrapper--navigation.active .contact {
  opacity: 1;
}

.wrapper--navigation.active .contact:first-child {
  transition-delay: 450ms;
}

.wrapper--navigation.active .contact:nth-child(2) {
  transition-delay: 550ms;
}

.wrapper--navigation.active .contact:nth-child(3) {
  transition-delay: 650ms;
}

/* nav[role="navigation"] .subnav-opener {
  position: absolute;
  right: 0;
  width: 1.25rem;
  height: 1.25rem;
  display: block;
  top: 0.5rem;
}

nav[role="navigation"] .subnav-opener .svgicon--minus {
  display: none;
}

nav[role="navigation"] li.active .subnav-opener .svgicon--minus {
  display: block;
}

nav[role="navigation"] li.active .subnav-opener .svgicon--plus {
  display: none;
}

nav[role="navigation"] .non-clickable > a:hover {
  cursor: default;
}

nav[role="navigation"] .sub-menu {
  list-style-type: none;
}

nav[role="navigation"] .sub-menu a {
  font-size: 1.25rem;
  padding: 0.5rem 0;
}
*/

nav[role="navigation"] li.current-menu-item > a,
nav[role="navigation"] li.current-menu-ancestor > a {
  text-decoration: underline;
}

/*------------------------------------------------------------------------------------------------------------------ header */

/* ----------------------------------------------------------------------------------------------------------- grid */

.row,
.wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.col-2,
.col-3,
.col-4,
.col-6,
.col-5,
.col-8,
.col-12 {
  position: relative;
  flex: 0 0 100%;
}

.entry-content .col-2,
.entry-content .col-3,
.entry-content .col-4,
.entry-content .col-6,
.entry-content .col-5,
.entry-content .col-8,
.entry-content .col-12 {
  max-width: 100%;
}

.col-6:last-child,
.col-8:last-child,
.col-4 {
  padding-top: 3.75rem;
}

.col-4:first-child {
  padding-top: 0;
}

form .col-6:last-child {
  padding-top: 0;
}

.entry-content .wp-block-column.has-mobile-margin-large {
  margin-top: 40vW;
}

@media screen and (min-width: 64rem) {
  .entry-content .wp-block-column.has-mobile-margin-large {
    margin-top: 30vW;
  }
}

.wp-block-columns > .wp-block-column--slider {
  position: relative;
}

.row--end {
  justify-content: flex-end;
}

.align--center,
.vertical-align-center {
  align-items: center;
}

.align--flex-start {
  align-items: flex-start;
}

.col--start {
  justify-self: flex-start;
}

.col--end {
  justify-self: flex-end;
}

.col-auto {
  flex: 0 0 auto;
  max-width: 100%;
}

.col--align-center {
  text-align: center;
}

.col--align-right {
  text-align: right;
}

.justify--space-between {
  justify-content: space-between;
}

.align-self--center {
  align-self: center;
}

.align-self--end {
  align-self: flex-end;
}

.justify--center {
  justify-content: center;
}

.justify-flex-end {
  justify-content: flex-end;
}

.align-flex-end {
  align-items: flex-end;
}

@media screen and (min-width: 48rem) {
  .change-image-on-hover .has-col-8 .col-8 {
    flex: 0 0 55.7%;
  }

  .change-image-on-hover .has-col-8 .col-4 {
    flex: 0 0 44.3%;
  }

  .col-3 {
    flex: 0 0 calc(50% - 0.625rem);
  }

  .entry-content .col-3:not(:first-child) {
    margin-top: 0;
  }  
}

@media screen and (min-width: 64rem) {
  .wp-block-columns.break-md,
  .comment-slider .wp-block-columns.has-col-8 {
    flex-wrap: nowrap;
  }

  .break-md.has-col-8 .col-4,
  .comment-slider .wp-block-columns.has-col-8 .col-4 {
    flex: 0 0 44.3%;
  }

  .break-md.has-col-8 .col-8,
  .comment-slider .wp-block-columns.has-col-8 .col-8 {
    flex: 0 0 55.7%;
  }  
}

@media screen and (min-width: 64rem) {
  
  .entry-content .wp-block-columns[data-columns="3"] .col-4 {
    flex: 0 0 33.33%;
  }

}

@media screen and (min-width: 85.375rem) {
  
  .row,
  .wp-block-columns {
    flex-wrap: nowrap;
  }

  .entry-content .col-4 {
    flex: 0 0 33.33%;
  }

  .entry-content .col-8 + .col-4,
  .entry-content .col-4 + .col-8,
  .entry-content .col-3:not(:first-child),
  .entry-content .col-4:not(:first-child),
  .entry-content .wp-block-column.has-mobile-margin-large {
    margin-top: 0;
  }

  .col-6 {
    flex: 0 0 calc(50% - 0.625rem);
  }

  .col-6:last-child,
  .col-8:last-child,
  .col-4 {
    padding-top: 0;
  }  

  .has-col-8 .col-4 {
    flex: 0 0 44.3%;
  }

  .has-col-8 .col-4.has-slider {
    overflow: hidden;
  }

  .has-col-8 .col-8 {
    flex: 0 0 55.7%;
  }

  .col-8 + .col-4 {
    margin-top: 0;
  }

  .col-2 {
    flex: 0 0 16%;
  }
  
  .col-4 {
    margin-bottom: 0;
  }

  .col-5 {
    flex: 0 0 40%;
  }

  .col-5:last-child {
    padding-left: 2.5rem;
  }

  .col-5:first-child {
    padding-right: 2.5rem;
  }

  .col-7 {
    flex: 0 0 60%;
  }

  .col-9 {
    flex: 0 0 74%;
  }

  .col-10 {
    flex: 0 0 82%;
  }

}

@media screen and (min-width: 85.375rem) {
  .wp-block-columns[data-columns="4"] {
    flex-wrap: nowrap;
  }

  .col-3 {
    flex: 0 0 calc(25.3% - 1.25rem);
    margin-bottom: 0;
  }

}

.align-center {
  align-items: center;
}

/* ----------------------------------------------------------------------------------------------------------- grid */

/* ------------------------------------------------------------------------------------------------------------------ pageheader */

.pageheader {
  position: relative;
}

.pageheader:before {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 50%;
  background-color: var(--ww-background-color-primary);
  z-index: 0;
}

.pageheader__inner {
  position: relative;
}

.pageheader__content-wrapper {
  position: relative;
  z-index: 1;
}

.pageheader__hero-image {
  width: 90vW;
  margin-top: -1.5rem;
  margin-left: 10vW;
  position: relative;
  z-index: 0;
}

.pageheader__hero-image img {
  width: 100%;
}

.container-usable-button {
  position: absolute;
  right: 1rem;
  top: 45vH;
  z-index: 10;
  animation: rotatebutton linear infinite 10s;
}

@keyframes rotatebutton {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.container-usable-button .btn-usable {
  width: 8rem;
  height: 8rem;
  background-color: transparent;
  outline: 0;
  box-shadow: none;
  display: block;
}

@media screen and (min-width: 85.375rem) {
  .pageheader:before {
    height: 75%;
  }

  .pageheader__content-wrapper {
    position: absolute;
    left: 50%;
    top: 0; 
    transform: translate(-50%, 0);
    width: min(100vW, 120rem);
    height: 100%;
    margin: 0 auto;
  }
  .pageheader__hero-image {
    width: 67vW;
    padding-top: 33vH;
    margin-left: 33vW;
    margin-top: 0;
  }  

  .container-usable-button {
    top: 25vH;
  }  

  .container-usable-button .btn-usable {
    width: 10rem;
    height: 10rem;
  }  
}

.pageheader__headline {
  padding-top: 20vH;
}

@media screen and (min-width: 85.375rem) {
  .pageheader__headline {
    position: absolute;
    left: 4.25rem;
    top: 27.5vH;
    z-index: 1;
    padding-top: 0;
  }
}

.pageheader__headline h1 {
  font-size: 3.25rem;
  padding-left: 1rem;
  padding-right: 1rem;
  color: var(--ww-text-color-bright);
  line-height: 1;
}

/* .pageheader__content {
  position: absolute;
  left: 4.25rem;
  bottom: 0;
  max-width: 25vw;
} */

.pageheader__content {
  display: none;
}

.pageheader__content--mobile {
  display: block;
  padding-top: 5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media screen and (min-width: 85.375rem) {  
  .pageheader__headline h1 {
    font-size: 8rem;
    padding-left: 0;
    padding-right: 0;
  }

  .pageheader__content {
    display: block;
    position: absolute;
    left: 4.25rem;
    bottom: 0;
    max-width: 25vw;
  }

  .pageheader__content--mobile {
    display: none;
  }

}

.pageheader__content p {
  font-size: 2.25rem;
}

@media screen and (min-width: 85.375rem) {
  .pageheader__content p {
    font-size: 2rem;
  }
}

@media screen and (min-width: 105rem) {
  .pageheader__content p {
    font-size: 2.5rem;
  }
}

.pageheader h2 {
  padding-bottom: 1rem;
}

/*------------------------------------------------------------------------------------------------------------------ pageheader */

/* ----------------------------------------------------------------------------------------------------------- content */

.page {
  max-width: 100vw;
  overflow-x: hidden;
  overflow-y: visible;
}

@media screen and (min-width: 85.375rem) {
  .pageheader + .page-content .entry-content__inner {
    padding-top: 5rem;
  }
}

.page.has-background-color-dark .entry-content__inner {
  background-color: var(--ww-background-color-primary);
}

.entry-content__inner > * {
  width: min(100vW, 120rem);
  margin: 0 auto;
}

.entry-content__inner > .wp-block-group.has-background {
  position: relative;
} 

.entry-content__inner > .wp-block-group.has-background:before,
.entry-content__inner > .wp-block-group.has-background:after {
  content: "";
  position: absolute;
  width: 150vW;
  height: 100%;
  top: 0;
  left: 50%;
  display: block;
}

.entry-content__inner > .wp-block-group.has-background:after {
  left: auto;
  right: 50%;
}

.entry-content__inner > .wp-block-group.has-background.has-vivid-green-cyan-background-color:before,
.entry-content__inner > .wp-block-group.has-background.has-vivid-green-cyan-background-color:after {
  background-color: var(--wp--preset--color--vivid-green-cyan);
}

.entry-content__inner > .wp-block-group > .wp-block-group__inner-container {
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
  z-index: 1;
}

.entry-content__inner > .wp-block-group > .wp-block-group__inner-container {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.entry-content__inner > .wp-block-group.has-no-padding > .wp-block-group__inner-container {
  padding-top: 0;
  padding-bottom: 0;
}

@media screen and (min-width: 85.375rem) {
  .entry-content__inner > .wp-block-group > .wp-block-group__inner-container {
    padding-left: 4.25rem;
    padding-right: 4.25rem;
  }
}

.entry-content__inner .wp-block-group.has-max-width .wp-block-group__inner-container {
  max-width: 64rem;
}

.entry-content .wp-block-group__inner-container {
  position: relative;
}

@media screen and (min-width: 85.375rem) {
  .entry-content .full-height .wp-block-group__inner-container {
    height: 100%;
  }

  .entry-content .flex-column .wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
  } 
  
}

.entry-content .justify-flex-end .wp-block-group {
  margin-left: auto;
  margin-right: 0;
}

.entry-content .wp-block-group.has-padding-bottom {
  padding-bottom: 3rem;
}


@media screen and (min-width: 85.375rem) {
  .entry-content .wp-block-group.has-padding-top {
    padding-top: 5.875rem;
  }
  
  .entry-content .wp-block-group.has-padding-bottom {
    padding-bottom: 5.875rem;
  }

  .entry-content .wp-block-group.has-padding-top.has-black-background-color {
    padding-top: 9.375rem;
  }
  
  .entry-content .wp-block-group.has-padding-bottom.has-black-background-color {
    padding-bottom: 9.375rem;
  }  
}

.entry-content .wp-block-group.vertical-align-center { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.entry-content .wp-block-group.vertical-align-flex-end .wp-block-columns {
  align-items: flex-end;
}

@media screen and (min-width: 64rem) {
  .entry-content .wp-block-group .wp-block-columns.has-negative-margin-top {
    margin-top: -16.5vW;
  }
}

@media screen and (min-width: 85.375rem) {
  .entry-content__inner > .wp-block-group {
    height: 100%;
  }

  .entry-content .justify-flex-end .wp-block-group {
    margin-left: 4.25rem;
    margin-right: 4.25rem;
  }

  .entry-content .wp-block-columns[data-columns="2"] .col-8:not(.no-padding):first-child {
    padding-left: 0;
    padding-right: 10rem;
  }

  .entry-content .wp-block-columns[data-columns="2"] .col-4 .col-8:first-child {
    padding-left: 0;
    padding-right: 0;
  }

  .entry-content .wp-block-columns[data-columns="2"] .col-6:first-child {
    padding-left: 0;
    padding-right: 4.25rem;
  }

  .entry-content .wp-block-columns[data-columns="2"] .col-6:last-child {
    padding-left: 4.25rem;
  }

  .entry-content .wp-block-columns[data-columns="2"] .col-4 {
    padding-left: 2.75rem;
    padding-right: 4.25rem;
  }

  .entry-content .wp-block-columns[data-columns="2"] .col-4:first-child,
  .entry-content .wp-block-columns[data-columns="2"] .col-8:first-child {
    padding-left: 0;
  }

  .entry-content .wp-block-columns[data-columns="2"] .col-4:last-child, 
  .entry-content .wp-block-columns[data-columns="2"] .col-8:last-child {
    padding-right: 0;
  }

  .entry-content .wp-block-columns[data-columns="2"] .col-4 .col-4:last-child {
    padding-left: 0;
    padding-right: 0;
  }  
}

.wp-block-media-text {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  margin-bottom: 4rem;
}

.wp-block-media-text:last-child {
  margin-bottom: 0;
}

.wp-block-media-text__media {
  flex: 0 1 50%;
  max-width: 6rem;
  margin-right: 4rem;
}

.wp-block-media-text__content {
  flex: 1 0 50%;
}

@media screen and (min-width: 100rem) {
  .entry-content .justify-flex-end .wp-block-group {
    margin-left: 16.25rem;
    margin-right: 4.25rem;
  }
}

.entry-content .wp-block-columns.reverse-order-on-mobile > .wp-block-column:first-child {
  order: 1;
}

.entry-content .wp-block-columns.reverse-order-on-mobile > .wp-block-column:last-child {
  margin-top: 0;
}

@media screen and (min-width: 64rem) {
  .entry-content .wp-block-columns.break-md.reverse-order-on-mobile > .wp-block-column:first-child {
    order: initial;
  }  
}

@media screen and (min-width: 85.375rem) {
  .entry-content .wp-block-columns.reverse-order-on-mobile > .wp-block-column:first-child {
    order: initial;
  }  
}

.entry-content .wp-block-column.has-background {
  position: relative;
}

.entry-content .wp-block-column.has-background:before {
  content: "";
  position: absolute;
  width: 100vW;
  right: 0;
  height: 100%;
}

@media screen and (min-width: 85.375rem) {
  .entry-content .wp-block-column.has-background:before {
    width: 200vW;
  }  
}

.entry-content .wp-block-column.has-background:last-child:before {
  right: auto;
  left: 0;
}

.entry-content .wp-block-column.has-background.has-luminous-vivid-amber-background-color:before {
  background-color: var(--ww-background-color-primary);
}

.entry-content .wp-block-column.has-background.has-black-background-color:before {
  background-color: var(--ww-background-color-secondary);
}

.entry-content h2 {
  padding-bottom: 3.75rem;
}

.entry-content h3 {
  padding-bottom: 1.75rem;
}

.entry-content .vertical-align-center .col-8 h2 {
  padding-top: 3.75rem;
}

@media screen and (min-width: 85.375rem) {
  .entry-content .vertical-align-center .col-8 h2 {
    padding-top: 0;
  }  
}

.entry-content h2:first-child:last-child {
  padding-bottom: 0;
}

.entry-content p:not(:last-child) {
  margin-bottom: 1rem;
}

/* .entry-content h1,
.entry-content h2,
.entry-content p,
.entry-content ul {
  padding-left: 1rem;
  padding-right: 1rem;
} */

.entry-content ul li {
  margin-left: 1.5rem;
}

@media screen and (min-width: 85.375rem) {
  /* .entry-content h1,
  .entry-content h2,
  .entry-content p,
  .entry-content ul {
    padding-left: 4.25rem;
    padding-right: 4.25rem;
  } */
}

.wp-block-group.text-align-justify p,
.listing-item__teaser p {
  text-align: justify;
}

.wp-block-image.size-medium {
  max-width: 520px;
}

@media screen and (min-width: 85.375rem) {
  .wp-block-image.position-absolute figure {
    top: -6.875rem;
  }

  .wp-block-image.object-fit-cover {
    flex: 1 1 100%;
  }

  .wp-block-image.object-fit-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.wp-block-gallery.columns-default {
  display: flex;
  vertical-align: center;
}

.wp-block-gallery.columns-default .wp-block-image:not(:first-child) {
  margin-left: 3.625rem;
}

.wp-block-gallery.has-margin-top { 
  margin-top: 4.625rem;
  margin-bottom: 4.62rem;
  padding-left: 1rem;
}

@media screen and (min-width: 85.375rem) {
  .wp-block-gallery.has-margin-top { 
    margin-bottom: 3.625rem;
  }
}

.wp-block-gallery figcaption {
  text-align: center;
}

.wrapper-icon {
  position: absolute;
  top: -2.5rem;
  left: 1rem;
}

@media screen and (min-width: 85.375rem) {
  .wrapper-icon {
    top: 0;
    left: 3rem;
  }
}


.page.has-background-color-dark .entry-content__inner h2,
.page.has-background-color-dark .entry-content__inner h3,
.page.has-background-color-dark .entry-content__inner p,
.page.has-background-color-dark .entry-content__inner li,
.entry-content__inner > .wp-block-group.has-background h2,
.entry-content__inner > .wp-block-group.has-background h3,
.entry-content__inner > .wp-block-group.has-background p,
.entry-content__inner > .wp-block-group.has-background li {
  color: var(--ww-text-color-bright);
}

.has-background path,
.has-background polyline,
.has-background line
.has-background rect {
  fill: #ffffff;
}

.has-background path[fill="#005F6A"] {
  fill: #005F6A;
}

.has-background path[stroke="#000000"],
.has-background polyline[stroke="#000000"],
.has-background line[stroke="#000000"],
.has-background rect[stroke="#000000"] {
  stroke: #ffffff;
  fill: none;
}

/* ----------------------------------------------------------------------------------------------------------- content */

/* ----------------------------------------------------------------------------------------------------------- slider */
.pageheader .wrapper--slider {
  overflow: hidden;
  width: 100vW;
}

@media screen and (min-width: 85.375rem) {
  .pageheader .wrapper--slider {
    width: calc(100vW * 0.557);
  }
}

.pageheader .slideelement {
  float: left;
  height: 100%;
}

.pageheader .slideelement img { 
  width: 100%;
}

/* .pageheader .slideelement img {
  height: 100%;
  width: 100%;
  object-fit: cover;
} */

.pageheader__slider {
  margin-bottom: 1.375rem;
  overflow: hidden;
}

.pageheader .wrapper--slider .sliderslidelink,
.pageheader .wrapper--slider .sliderslidelink.active {
  display: none;
}

.pageheader .wrapper--slider .slidercounter {
  max-width: calc(120rem * 0.557);
  text-align: right;
  padding-right: 1rem;
  margin-bottom: 1.375rem;
}

@media screen and (min-width: 85.375rem) {
  .pageheader__slider {
    height: 75vH;
  }  
  .pageheader .wrapper--slider .slidercounter {
    padding-right: 4.25rem;
    margin-bottom: 0;
  }
}

/* ----------------------------------------------------------------------------------------------------------- slider */

/* ----------------------------------------------------------------------------------------------------------- footer */

.wrapper-footer {
  position: relative;
  background-color: var(--ww-background-color-primary);
}

/* .footer__column--1 > .widget_block > .wp-block-group {
  padding: 3rem 1rem;
}

.footer__column--1 > .widget_block > .wp-block-group > .wp-block-group__inner-container > * {
  flex: 0 0 auto;
} */

.footer__column--1 {
  width: min(100vW, 120rem);
  margin: 0 auto;
  padding: 3rem 1rem;
}

.footer__column--1 .menu-servicemenu-container {
  display: flex;
  justify-content: flex-end;
}

.footer__column--1 ul {
  display: flex;
  list-style-type: none;
  margin-left: auto;
  margin-right: 0;
}

@media screen and (min-width: 85.375rem) {
  .footer__column--1 {
    padding-left: 4.25rem;
    padding-right: 4.25rem;
  }
}

.footer__column--1 ul li {
  margin-right: 2rem;
}

.footer__column--1 ul li:last-child {
  margin-right: 0;
}

.footer__column--1 a,
.wrapper-footer a {
  color: var(--ww-text-color-bright);
}

.wrapper--imprint,
.wrapper--dataprotection {
  background-color: var(--ww-background-color-primary);
}

.wrapper--imprint .entry-content,
.wrapper--dataprotection .entry-content {
  /* width: 100vW;
  max-width: 120rem;
  margin: 0 auto;
  padding-left: 4.25rem;
  padding-right: 4.25rem; */
}

@media screen and (min-width: 85.375rem) {
  .wrapper--imprint .entry-content .entry-content__inner > *,
  .wrapper--dataprotection .entry-content .entry-content__inner > * {
    padding-left: 4.25rem;
    padding-right: 4.25rem;
  }
}


.wrapper--imprint p,
.wrapper--dataprotection p, 
.wrapper--imprint h2,
.wrapper--dataprotection h2 {
  color: var(--ww-text-color-bright);
}

/* ----------------------------------------------------------------------------------------------------------- footer */

/* ----------------------------------------------------------------------------------------------------------- special links */

.call-to-action {
  margin-top: 2rem;
  display: inline-block;
}

.call-to-action:first-child {
  margin-top: 0;
}

.call-to-action a {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  color: var(--ww-primary-color);
  border: 2px solid var(--ww-background-color-primary);
  padding: 1rem 2rem;
}

.wp-block-group.has-background .call-to-action a {
  color: var(--ww-text-color-bright);
  border: 2px solid var(--ww-text-color-bright); 
}

.call-to-action a i {
  margin-left: 1rem;
}

.call-to-action a line {
  stroke: var(--ww-primary-color);
}

.call-to-action a path {
  fill: var(--ww-primary-color);
}

.wp-block-group.has-background .call-to-action a line {
  stroke: var(--ww-text-color-bright);
}

.wp-block-group.has-background .call-to-action a path {
  fill: var(--ww-text-color-bright);
}

.call-to-action a:hover {
  background-color: var(--ww-background-color-primary);
  color: var(--ww-text-color-bright);
  text-decoration: none;
}

.call-to-action a:hover line {
  stroke: var(--ww-text-color-bright);
}

.call-to-action a:hover path {
  fill: var(--ww-text-color-bright);
}

.wp-block-group.has-background .call-to-action a:hover {
  background-color: var(--ww-text-color-bright);
  color: var(--ww-primary-color);
}

.wp-block-group.has-background .call-to-action a:hover line {
  stroke: var(--ww-primary-color);
}

.wp-block-group.has-background .call-to-action a:hover path {
  fill: var(--ww-primary-color);
}

/* ----------------------------------------------------------------------------------------------------------- special links */


/*---------------------------------------------------------------------------------------------------------------------------------------- impressum und datenschutz*/

.is-collapsable {
  height: 0;
  overflow: hidden;
  -webkit-transition: height 500ms ease;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: height 500ms ease;
  -o-transition: height 500ms ease;
  transition: height 500ms ease;
}

.wrapper--imprint,
.wrapper--dataprotection,
.wrapper--terms {
  flex: 0 0 100%;
}

.wrapper--imprint section,
.wrapper--dataprotection section,
.wrapper--terms section {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.wrapper--imprint .entry-content__inner,
.wrapper--dataprotection .entry-content__inner,
.wrapper--terms .entry-content__inner {
  margin-left: 0;
  border-left: 0;
}

.wrapper--imprint .entry-content__inner>*,
.wrapper--dataprotection .entry-content__inner>*,
.wrapper--terms .entry-content__inner>* {
  margin-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.wrapper--imprint .page-title,
.wrapper--dataprotection .page-title,
.wrapper--terms .page-title,
.wrapper--imprint .pageheader,
.wrapper--dataprotection .pageheader {
  display: none;
}

.wrapper--imprint p,
.wrapper--dataprotection p,
.wrapper--imprint p a,
.wrapper--dataprotection p a,
.wrapper--terms p,
.wrapper--terms p a {
  margin-top: 1rem;
}

.wrapper--imprint .entry-content__inner>.wp-block-group>.wp-block-group__inner-container>p,
.wrapper--dataprotection .entry-content__inner>.wp-block-group>.wp-block-group__inner-container>p,
.wrapper--terms .entry-content__inner>.wp-block-group>.wp-block-group__inner-container>p {
  max-width: none;
}

.wrapper--imprint strong,
.wrapper--dataprotection strong,
.wrapper--terms strong {
  margin-top: 2rem;
  display: inline-block;
}

/*---------------------------------------------------------------------------------------------------------------------------------------- impressum und datenschutz*/

/* ----------------------------------------------------------------------------------------------------------- cookie consent banner */

.cli-bar-message p {
  font-size: 1rem;
}

.cli-bar-message p a {
  color: #1d1e1e !important;
  font-size: 1rem;
}

.cli-plugin-button,
.cli-plugin-button:visited,
.medium.cli-plugin-button,
.medium.cli-plugin-button:visited {
  font-size: 1rem !important;
}

.cli-privacy-overview h4 {
  color: #1d1e1e !important;
}

.cli-privacy-overview p {
  color: #1d1e1e !important;
}

.cli-tab-footer .wt-cli-privacy-accept-btn {
  background-color: #1d1e1e !important;
  color: #fff;
}

.cli-tab-header a.cli-nav-link {
  text-transform: none !important;
}

.cli-style-v2 .cli-plugin-main-link {
  font-size: 1rem;
}

.table.cookielawinfo-winter thead th {
  background-color: #1d1e1e;
}

.cli-row {
  scrollbar-color: #1d1e1e #fff;
  scrollbar-width: thin;
}

.cli-row::-webkit-scrollbar,
.cli-row::-webkit-scrollbar-track {
  width: 8px;
  background-color: #fff;
  background-color: transparent;
}

.cli-row::-webkit-scrollbar-thumb {
  border-radius: 0;
  -webkit-box-shadow: none;
  background-color: #1d1e1e;
}