@font-face {
  font-family: 'DINPro';
  src: url('../fonts/DINPro-Regular.woff2') format('woff2'),
      url('../fonts/DINPro-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
  --ww-background: #D2D2D2;
}
* {
  box-sizing: border-box;
}

html {
  scrollbar-color: #000 #fff;
  scrollbar-width: thin;
}

body {
	font-size: 1rem;
	background-color: var(--ww-background);
	overflow-x: hidden;
  position: relative;
	padding: 0;
	margin: 0;
  color: #3c3c3b;
  scrollbar-color: #000 #fff;
  scrollbar-width: thin;
}

body::-webkit-scrollbar,
body::-webkit-scrollbar-track {
  width: 8px;
  background-color: #fff;
  background-color: transparent;
}

body::-webkit-scrollbar-thumb {
  border-radius: 0;
  -webkit-box-shadow: none;
  background-color: #000;
}

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;
}

p, ul, ol, label, input, select, textarea, dd, dt, td, th, a, caption, span, figcaption, legend, option, button, h4, h5, h6, strong,
.cli-privacy-content-text, .wt-cli-cookie-description, .wpcf7-response-output {
  font-family: 'DINPro', sans-serif;
  font-weight: normal;
  font-size: 1.125rem;
  line-height: 1.4;
  color: #3c3c3b;
  text-align: justify;
}

@media screen and (min-width: 64rem) {
  p, ul, ol, label, input, select, textarea, dd, dt, td, th, a, caption, span, figcaption, legend, option, button, h4, h5, h6, strong,
  .cli-privacy-content-text, .wt-cli-cookie-description, .wpcf7-response-output {
    /* font-size: 1.375rem; */
  }

  .pageheader__text p, 
  .pageheader__text p strong {
    font-size: 1.375rem;
  }

  .home .pageheader__text p {
    font-size: 1.75rem;
  }
}

strong, strong a {
  font-weight: bold;
}

h1, h2, h3 {
  font-family: 'DINPro', sans-serif;
  font-weight: bold;
  color: #3c3c3b;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.15em;
}

h1 {
  /* font-size: 2.25rem; */
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
}

.home h1 {
  margin-bottom: 0;
}

h2, h2 a, h2 span, h2 strong {
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #3c3c3b;
}

@media screen and (min-width: 64rem) {
  h1 {
    /* font-size: 3.125rem; */
    font-size: 2.25rem;
    margin-bottom: 2.5rem;
  }
  
  h2, h2 a, h2 span, h2 strong {
    /* font-size: 2.125rem; */
    font-size: 2rem;
  }
}

h3,
h3 a,
h3 span,
h3 strong {
  font-size: 1.75rem;
  font-weight: bold;
}

h3 {
  margin-bottom: 2.5rem;
}

@media screen and (min-width: 64rem) {
  h3,
  h3 a,
  h3 span,
  h3 strong {
    font-size: 1.75rem;
  }
}

h4 {
  font-size: 1.25rem;
  margin-bottom: 2.25rem;
}

h5 {
  font-size: 0.875rem;
}

p + h5 {
  margin-top: 2rem;
}

.loading--overlay.is--active {
  z-index: 1000;
  -webkit-transition: opacity 500ms ease;
  -moz-transition: opacity 500ms ease;
  -o-transition: opacity 500ms ease;
  transition: opacity 500ms ease;
  opacity: 1;
}

.loading--overlay.is--fadeout {
  z-index: 1000;
  -webkit-transition: opacity 800ms ease;
  -moz-transition: opacity 800ms ease;
  -o-transition: opacity 800ms ease;
  transition: opacity 800ms ease;
  opacity: 0;
}

img,
i,
svg {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}

a:hover {
  text-decoration: underline;  
}

.is-hidden {
  display: none;
}

/*------------------------------------------------------------------------------------------------------------------ wordpress editor */

.has-text-align-center, .aligncenter {
  text-align: center;
}

.has-text-align-right {
  text-align: left;
}

@media screen and (min-width: 48rem) {
  .has-text-align-right {
    text-align: right;
  }
}

/*------------------------------------------------------------------------------------------------------------------ wordpress editor */

/*------------------------------------------------------------------------------------------------------------------ header*/

.togglenav {
  position: absolute;
  text-transform: uppercase;
  color: #fff;
  display: block;
  right: 1rem;
  text-decoration: none;
  width: 3rem;
  height: 3rem;
  padding: 0.25rem;
  z-index: 21;
  display: block;
  -webkit-transition: all 300ms ease-out;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}

.togglenav__inner {
  width: 2rem;
  height: 2px;
  top: 1.5rem;
  right: 8px;
  display: block;
  background-color: #3c3c3b;
  position: absolute;
  -webkit-transition: all 300ms ease;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

.togglenav__inner:before, 
.togglenav__inner:after {
  content: "";
  height: 2px;
  width: 2rem;
  position: absolute;
  right: 0;
  top: 0.5rem;
  background-color: #3c3c3b;
  -webkit-transition: all 300ms ease;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

.togglenav__inner:after {
  width: 2rem;
  top: -0.5rem;
}

.has--darkheader .togglenav:before,
.has--darkheader .togglenav__inner,
.has--darkheader .togglenav__inner:before, 
.has--darkheader .togglenav__inner:after {
  background-color: #3c3c3b;
}

.togglenav.is--active .togglenav__inner,
.togglenav.is--active:before {
  background-color: transparent;
}

.togglenav.is--active .togglenav__inner:before {
  transform: rotate(-135deg);
  top: 0;
  left: 0;
  height: 2px;
  width: 2rem;
  background-color: #3c3c3b;
}

.togglenav.is--active .togglenav__inner:after {
  transform: rotate(135deg);
  width: 2rem;
  top: 0;
  left: 0px;
  height: 2px;
  background-color: #3c3c3b;
}

@media screen and (min-width: 64rem) {
  .togglenav {
    display: none;
  }
}

header[role="banner"] {
  position: fixed;
  width: 100%;
  z-index: 210;
  background-color: var(--ww-background);
  border-bottom: 1px solid #000;
  top: 0;
  left: 0;
  -webkit-transition: all 300ms ease;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

.header__inner {
  position: relative;
  width: 100%;
  z-index: 210;
  max-width: 104rem;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
  min-height: 5rem;
  -webkit-transition: all 300ms ease;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

@media screen and (min-width: 64rem) {
  .header__inner {
    padding: 2rem 1rem;
    min-height: 8.125rem;
  }
}

.has--darkheader .header__inner {
  padding: 0.5rem 1rem;
}

@media screen and (min-width: 102rem) {
  .header__inner {
    padding: 1.5rem 0;
  }

  .has--darkheader .header__inner {
    padding: 0.5rem 0;
  }
}

.logo-general {
  position: relative;
  z-index: 200;
  flex: 0 0 8rem;
  -webkit-transition: all 300ms ease;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

@media screen and (min-width: 64rem) {
  .logo-general {
    flex: 0 0 14rem;
  }
}

.has--darkheader .logo-general {
  flex: 0 0 6rem;
  margin-top: 0;
}

@media screen and (min-width: 64rem) {
  .has--darkheader .logo-general {
    flex: 0 0 8rem;
    margin-right: 6rem;
    margin-top: 0;
  }
}

.logo-general path,
.has--darkheader .logo-general polygon {
  -webkit-transition: all 300ms ease;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

.logo-general a,
.logo-general svg {
  display: block;
}

.wrapper--navigation {
  position: fixed;
  width: 100vW;
  z-index: 10;
  height: 0;
  overflow: hidden;
  top: 0;
  left: 0;
  background-color: var(--ww-background);
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
  scrollbar-color: #3c3c3b #fff;
  scrollbar-width: thin;
}

.wrapper--navigation.is--active {
  height: calc(100vH - 5rem);
  margin-top: 5rem;
}

.has--darkheader .wrapper--navigation.is-active {
  margin-top: 4rem;
}

.wrapper--navigation .menu:first-child {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  height: calc(100vH - 5rem);
  overflow-y: scroll;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.wrapper--navigation::-webkit-scrollbar,
.wrapper--navigation::-webkit-scrollbar-track {
  width: 8px;
  background-color: #fff;
  background-color: transparent;
}

.wrapper--navigation::-webkit-scrollbar-thumb {
  border-radius: 0;
  -webkit-box-shadow: none;
  background-color: #3c3c3b;
}

.wrapper--navigation .menu:first-child > li + li {
  margin-top: 2.5rem;
}

.wrapper--navigation .menu:first-child a {
  color: #3c3c3b;
  font-size: 1.375rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.wrapper--navigation .menu:first-child .current-menu-item > a {
  font-weight: bold;
}

@media screen and (min-width: 64rem) {
  .wrapper--navigation {
    position: relative;
    /* width: 100%; */
    overflow: visible;
    height: auto;
    top: auto;
    left: auto;
    background: transparent;
    /* width: calc(100% - 20rem); */
  }

  .has--darkheader .wrapper--navigation {
    margin-top: 0;
  }

  .wrapper--navigation .menu:first-child {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: auto;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    overflow: visible;
    padding: 0;
  }

  .wrapper--navigation .menu:first-child > li + li {
    margin-top: 0;
  }

  .menu > li:first-child {
    margin-right: 3.75rem;
  }
}

/* @media screen and (min-width: 85rem) {
  .wrapper--navigation {
    width: calc(100% - 30rem);
  }
} */

.header-company {
  /* display: none; */
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translate(0,-50%);
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 0.5em;
  font-size: .75rem;
  z-index: 100;
}


.header-company:hover {
  text-decoration: none;
}

@media screen and (min-width: 64rem) {
  .header-company {
    font-size: 1rem;
    display: block;
  }
}

@media screen and (min-width: 106rem) {
  .header-company {
    left: 0;
  }
}

/*------------------------------------------------------------------------------------------------------------------ header*/

/* ----------------------------------------------------------------------------------------------------------- grid */

.row,
.wp-block-columns {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (min-width: 64rem) {
  .row,
  .wp-block-columns {
    display: flex;
    flex-wrap: nowrap;
  }
}

.row > *,
.wp-block-columns > * {
  flex: 0 0 100%;
  /* flex-wrap: wrap;
  display: flex;
  flex-direction: row; */
}

.wp-block-columns > .wp-block-column--slider {
  position: relative;
}

.row--end {
  justify-content: flex-end;
}

.row--align-items-center {
  align-items: center;
}

.row--align-items-baseline {
  align-items: baseline;
}

.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;
}

@media screen and (min-width: 48rem) {
  .col-6 {
  flex: 0 0 50%;
  }

  .col-6:first-child {
    padding-right: 1.5rem;
  }

  .col-6:last-child {
    padding-left: 1.5rem;
  }

  .col-2, .col-3, /* .col-4, */ .col-5/*, .col-8*/ {
    flex: 0 0 48%;
  }
}

@media screen and (min-width: 64rem) {
  .col-2 {
    flex: 0 0 16%;
  }
  
  .col-3 {
    flex: 0 0 24%;
  }

  .col-4 {
    flex: 0 0 32%;
  }

  .col-5 {
    flex: 0 0 40%;
  }

  .col-7 {
    flex: 0 0 57%;
  }

  .col-8 {
    flex: 0 0 62%;
  }

  .col-9 {
    flex: 0 0 74%;
  }
  
  .col-10 {
    flex: 0 0 82%;
  }
}

.wp-block-column + .wp-block-column {
  margin-top: 3rem;
}

@media screen and (min-width: 48rem) {
  .wp-block-column + .wp-block-column {
    margin-top: 0;
  }

  /* .wp-block-column.col-3 + .wp-block-column.col-3 {
    margin-top: 5rem;
  }  */
}

@media screen and (min-width: 64rem) {
  .wp-block-column.col-3 + .wp-block-column.col-3 {
    margin-top: 0;
  } 
}

/* ----------------------------------------------------------------------------------------------------------- grid */

/*------------------------------------------------------------------------------------------------------------------ pageheader*/

body.home {
  display: flex;
  flex-direction: column;
  height: 100vH;
}

@media screen and (min-width: 120rem) {
  body.home {
    justify-content: center;
  }
}

.pageheader {
  position: relative;
  margin-top: 6.75rem;
}

.home .pageheader {
  margin-top: 0;
}

@media screen and (min-width: 64rem) {
  .pageheader {
    margin-top: 13rem;
  }
}

@media screen and (min-height: 71.25rem) {
  .pageheader {
    max-width: 64rem;
  }
}

/* .home .pageheader {  
  margin-top: 10rem;
} */

@media screen and (min-width: 120rem) {
  .home .pageheader {
    margin-top: 0;
  }
}

.pageheader__header {
  max-width: 63rem;
  width: 100%;
}

.home .pageheader__header {
  height: 100vH;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vW;
  max-width: none;
}

.pageheader__text {
  margin-top: 2rem;
  display: flex;
  justify-content: space-between;
}

.home .pageheader__text {
  margin-top: 0;
  max-width: 48rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.home .pageheader__text p {
  color: #fff;
  line-height: 2;
  letter-spacing: 0.1rem;
}

@media screen and (min-width: 48rem) {
  .home .pageheader__text p {
    letter-spacing: 0.25rem;
  }
}

.home .pageheader .pageheader__hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vW;
  height: 100vH;
  overflow: hidden;
}

.home .pageheader .pageheader__hero-image figure {
  width: 100%;
  height: 100%;
}

.home .pageheader .pageheader__hero-image img {
  position: relative;
  z-index: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* .home .pageheader .pageheader__hero-image figure:before,
.home .pageheader .pageheader__hero-image figure:after {
  content: "";
  background: url(../images/animation-overlay-01.svg) left top 100% no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  width: 69%;
  height: 100%;
  left: 0;
  z-index: 1;
  display: block;
  transform: translate(-27%,-50%);
  background-blend-mode: overlay;
  mix-blend-mode: overlay;
  -webkit-transition: transform 1000ms ease-out;
  -moz-transition: transform 1000ms ease-out;
  -o-transition: transform 1000ms ease-out;
  transition: transform 1000ms ease-out;  
}

.home .pageheader .pageheader__hero-image figure:after {
  background-image: url(../images/animation-overlay-02.svg);
  width: 63%;
  height: 102%;
  left: auto;
  right: 0;
  transform: translate(30.5%, -50%);
}

.home .pageheader .pageheader__hero-image:hover figure:before {
  transform: translate(-61%,-50%);
}

.home .pageheader .pageheader__hero-image:hover figure:after {
  transform: translate(62%,-50%);
} */

/*------------------------------------------------------------------------------------------------------------------ pageheader*/

/*------------------------------------------------------------------------------------------------------------------ content*/

.entry-content__inner > * {
  /* max-width: 97.75rem; */
  max-width: 104rem;
  margin-left: 1rem;
  margin-right: 1rem;
  margin-top: 12.5rem;
  margin-top: 4.375rem;
}

.entry-content__inner > *:first-child {
  margin-top: 0%;
}

/* .entry-content__inner > .post-content {
  margin-left: 0%;
  margin-right: 0%;
} */

@media screen and (min-width: 104rem) {
  .entry-content__inner > .post-content {
    margin-left: auto;
    margin-right: auto;
  }
}

.entry-content__inner > h1 + *,
.entry-content__inner > h2 + *,
.entry-content__inner > h3 + * {
  margin-top: 1.75rem;
}

@media screen and (min-width: 104rem) {
  .entry-content__inner > * {
    margin-left: auto;
    margin-right: auto;
  }
}

.entry-content__inner > * + .wp-block-separator {
  margin-top: 8rem;
  border: none;
  outline: none;
  background-color: transparent;
}

.entry-content__inner .wp-block-group + .wp-block-group {
  margin-top: 4rem;
}

.wp-block-media-text {
  display: flex;
  flex-direction: row;
  /* flex-wrap: nowrap; */
  flex-wrap: wrap;
  align-items: center;
}

.entry-content__inner .wp-block-table td {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  vertical-align: top;
}

.entry-content__inner .wp-block-table td:first-child {
  padding-right: 2rem;
}

/* .wp-block-media-text__media {
  flex: 0 0 40%;
  padding-right: 1rem;
}

.wp-block-media-text__content {
  flex: 0 0 60%;
  padding-left: 1rem;
} */

.wp-block-media-text__media,
.wp-block-media-text__content {
  flex: 0 0 100%;
}

.wp-block-media-text__media {
  margin-bottom: 1rem;
}

.wp-block-media-text__media img {
  margin: 0 auto;
}

@media screen and (min-width: 64rem) {

  .wp-block-media-text__media {
    flex: 0 0 40%;
    padding-right: 1rem;
  }

  .wp-block-media-text__content {
    flex: 0 0 60%;
    padding-left: 1rem;
  }

  .wp-block-media-text__media img {
    margin: 0;
  }
}

.entry-content__inner .has-underline {
  border-bottom: 1px solid #3c3c3b;
  margin-bottom: 0.5rem;
  padding-bottom: 0.25rem;
}

.wp-block-group.award {
  max-width: 30rem;
}

.wp-block-group.award + .wp-block-group.award {
  margin-top: 2rem;
}

.wp-block-group.award p {
  line-height: 1.4;
}

.wp-block-group.award p:not(.has-underline) + p > strong {
  padding-top: 1rem;
  display: inline-block;
}

.wp-block-group.publications p + p {
  margin-top: 1rem;
}

.entry-content__inner ul {
  padding-left: 1rem;
  list-style-type: '- '; 
}

.wp-block-media-text p,
.wp-block-media-text a {
  text-align: left;
  letter-spacing: 0.2em;
  font-size: 1rem;
}

.wp-block-media-text strong {
  font-size: 1.25rem;
}

.container-contest .wp-block-group__inner-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}

.container-contest p {
  flex: 0 0 100%;
  letter-spacing: 0.2em;
}

.container-contest p:nth-child(1n+2) {
  margin-top: 3.5rem;
}

@media screen and (min-width: 48rem) {

  .container-contest p {
    flex: 0 0 48%;
    margin-right: 4%;
    letter-spacing: 0.2em;
  }

  .container-contest p:nth-child(2n+2) {
    margin-right: 0;
  }

  .container-contest p:nth-child(1n+2) {
    margin-top: 0;
  }

  .container-contest p:nth-child(1n+3) {
    margin-top: 3.5rem;
  }
}

@media screen and (min-width: 64rem) {
  .container-contest p {
    flex: 0 0 31%;
    margin-right: 3.495%;
    letter-spacing: 0.2em;
  }

  .container-contest p:nth-child(2n+2) {
    margin-right: 3.495%;
  }
  
  .container-contest p:nth-child(3n+3) {
    margin-right: 0;
  }

  .container-contest p:nth-child(1n+3) {
    margin-top: 0;
  }
  
  .container-contest p:nth-child(1n+4) {
    margin-top: 3.5rem;
  }
}

@media screen and (min-width: 90rem) {
  .container-contest p {
    flex: 0 0 23%;
    margin-right: 2.66%;
    letter-spacing: 0.2em;
  }

  .container-contest p:nth-child(2n+2),
  .container-contest p:nth-child(3n+3) {
    margin-right: 2.66%;
  }
  
  .container-contest p:nth-child(4n+4) {
    margin-right: 0;
  }

  .container-contest p:nth-child(1n+4) {
    margin-top: 0;
  }
  
  .container-contest p:nth-child(1n+5) {
    margin-top: 3.5rem;
  }
}

.container-contest p {
  font-size: 1.125rem;
}

.container-contest p strong {
  padding-bottom: 0.5rem;
  font-size: 1.375rem;
}

/*------------------------------------------------------------------------------------------------------------------ content*/

/*------------------------------------------------------------------------------------------------------------------ display-posts*/

.entry-content__inner .wp-block-categories-list {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 4rem;
  /* overflow-x: auto; */
}

.cat-item {
  /* margin-right: 3rem; */
  padding-bottom: 0.5rem;
  flex: 0 0 46%;
}

@media screen and (min-width: 48rem) {
  
  .entry-content__inner .wp-block-categories-list {
    justify-content: center;
  }

  .cat-item {
    flex: 0 0 auto;
    margin-right: 3rem;
    padding-bottom: 0;
  }

  .cat-item:last-child {
    margin-right: 0%;
  }

}

@media screen and (min-width: 64rem) {
  .entry-content__inner .wp-block-categories-list {
    margin-top: 8rem;
  }
}

.cat-item a {
  font-size: 1.25;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.cat-item a.is-active {
  font-weight: bold;
}

.wrapper-listing-projects {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  position: relative;
}

.listing-item.project {
  flex: 0 0 100%;
  letter-spacing: 0.2em;
  margin-bottom: 3.5rem;
  opacity: 1;
  -webkit-transition: opacity 300ms ease-out;
  -moz-transition: opacity 300ms ease-out;
  -o-transition: opacity 300ms ease-out;
  transition: opacity 300ms ease-out;  
}

.listing-item.project.is-fadeout {
  opacity: 0;
}

.listing-item.project:last-child {
  margin-bottom: 0;
}

/* .listing-item.project:nth-child(1n+2) {
  margin-top: 3.5rem;
} */

@media screen and (min-width: 48rem) {
  .wrapper-listing-projects {
    margin-left: -1%;
    margin-right: -1%;
    /* width: 103.5%; */
  }

  .listing-item.project {
    flex: 0 0 48%;
    /* margin-right: 4%; */
    margin-left: 1%;
    margin-right: 1%;
    letter-spacing: 0.2em;
  }

  /* .listing-item.project:nth-child(2n+2) {
    margin-right: 0;
  }

  .listing-item.project:nth-child(1n+2) {
    margin-top: 0;
  }

  .listing-item.project:nth-child(1n+3) {
    margin-top: 3.5rem;
  } */
}

@media screen and (min-width: 64rem) {
  .wrapper-listing-projects {
    margin-left: -1.15%;
    margin-right: -1.15%;
    /* width: 103.5%; */
  }

  .listing-item.project {
    flex: 0 0 31%;
    /* margin-right: 3.495%; */
    margin-right: 1.15%;
    margin-left: 1.15%;
    letter-spacing: 0.2em;
  }

  /* .listing-item.project:nth-child(2n+2) {
    margin-right: 3.495%;
    margin-right: 1.75%;
    margin-left: 1.75%;
  } */

  /* .listing-item.project:nth-child(3n+3) {
    margin-right: 0;
  }

  .listing-item.project:nth-child(1n+3) {
    margin-top: 0;
  }
  
  .listing-item.project:nth-child(1n+4) {
    margin-top: 3.5rem;
  } */
}

.listing-item.project h3 {
  margin-bottom: 0;
}

.listing-item.project h3 a {
  font-size: 1.375rem;
}

.subline {
  margin-top: 0.5rem;
  font-size: 1rem;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  font-weight: 300;
}

/*------------------------------------------------------------------------------------------------------------------ display-posts*/

/*------------------------------------------------------------------------------------------------------------------ single*/

.entry-content--single {
  width: 100%;
}

.container-intro {
  margin-bottom: 2.5rem;
}

.container-intro,
.container-intro .subline {
  text-align: center;
}

.container-intro h1 {
  margin-bottom: 1.25rem;
}

.post-content .wp-block-columns {
  justify-content: space-between;
}

.post-content .wp-block-column {
  margin-top: 2.5rem;
}

@media screen and (min-width: 64rem) {
  .post-content .wp-block-column {
    margin-top: 5rem;
  }
}

.wrapper-image-gallery .wp-blocks-gallery {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
}

.wrapper-image-gallery .gallery__item {
  margin-top: 2.5rem;
}

@media screen and (min-width: 64rem) {
  .wrapper-image-gallery .gallery__item {
    margin-top: 5rem;
  }
}

.wrapper-image-gallery .gallery__item:nth-child(odd) {
  flex: 0 0 62%;
}

.wrapper-image-gallery .gallery__item:nth-child(even) {
  flex: 0 0 32%;
}

.wrapper-image-gallery .gallery__item * {
  height: 100%;
}

.wrapper-image-gallery img {
  width: 100%;
  object-fit: cover;
}

.post-content h2 {
  font-size: 2rem;
  letter-spacing: 0;
}

.post-content h3 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
  letter-spacing: 0.05em;
}

.post-content p {
  font-size: 1.125rem;
  margin-top: 1.25rem;
}

.post-content strong,
.post-content a {
  font-size: 1rem;
}

.post-content p + h3,
.post-content p + h2 {
  margin-top: 3rem;
}

.post-facts {
  margin-top: 5.5rem;
}

.post-facts p {
  margin-top: 0.75rem;
}


.pagefooter-nav {
  margin-top: 7rem;
  text-align: center;
}

p.link--back {
  display: inline-block;
}

.link--back a {
  text-transform: uppercase;
  font-size: 1.125rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

.link--back i {
  transform: rotate(180deg);
  margin-right: 1rem;
  width: 2rem;
  height: 2.25rem;
}

/*------------------------------------------------------------------------------------------------------------------ single*/

/*------------------------------------------------------------------------------------------------------------------ galleryslider*/

.wrapper-galleryslider {
  position: relative;
  overflow: hidden;
  padding-bottom: 4rem;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}

.hammerslide--slide .pageheader__slider {
  list-style-type: none;
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-transition: transform 300ms ease-out;
  -moz-transition: transform 300ms ease-out;
  -o-transition: transform 300ms ease-out;
  transition: transform 300ms ease-out;  
}

.entry-content__inner .pageheader__slider ul {
  list-style-type: none;
}

.entry-content__inner .pageheader__slider ul li {
  padding-left: 0;
}

.hammerslide--slide .hammerslide--slide { 
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;  
}

.slideelement,
.pageheader__slideelement {
  float: left;
  position: relative;
}

.galleryslider .hammerslide--slide figure,
.pageheader__slideelement figure {
  position: relative;
  margin-bottom: 0;
}

.galleryslider .hammerslide--slide figure:after,
.pageheader__slideelement figure:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: block;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.galleryslider .hammerslide--slide figure img {
  width: 100%;
  height: auto;
}

.container-slider {
  position: relative;
  overflow: hidden;
  padding-bottom: 2rem;
}

.slidepanel {
  display: none;
}


.sliderslidelink {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-175%, 0);
  width: 2rem;
  height: auto;
}

.next--sliderslidelink {
  transform: translate(75%, 0);
}

.prev--sliderslidelink i {
  transform: rotate(180deg);
  transform-origin: center;
}

/*------------------------------------------------------------------------------------------------------------------ galleryslider*/

/*------------------------------------------------------------------------------------------------------------------ lightbox*/

.mfp-arrow line {
  stroke: #fff;
}

.mfp-arrow polygon {
  fill: #fff;
}

.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  position: fixed;
  width: 3rem;
  top: 1rem;
  right: 1rem;
  color: #fff;
  font-size: 3rem;
}

button.mfp-arrow svg {
  display: block;
}

/*------------------------------------------------------------------------------------------------------------------ lighbox*/

/*------------------------------------------------------------------------------------------------------------------ collapse*/

.collapse__permanent {
  display: inline-block;
  margin-bottom: 1.5rem;
  cursor: pointer;
}

.collapse__permanent i {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;;
}

.collapse__permanent svg {
  display: block;
}

.collapse__permanent .svgicon--minus,
.entry-collapse.is-active .collapse__permanent .svgicon--plus {
  display: none;
}

.entry-collapse.is-active .collapse__permanent .svgicon--minus {
  display: inline-block;
}


.collapse__flexible {
  height: 0;
  overflow: hidden;
  -webkit-transition: all 300ms ease-out;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;  
}

.entry-collapse.is-active .collapse__flexible {
  height: auto;
}

.flexible__inner {
  padding-bottom: 4rem;
}

.has-transition {
  -webkit-transition: all 300ms ease-out;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}

/*------------------------------------------------------------------------------------------------------------------ collapse*/

/*------------------------------------------------------------------------------------------------------------------ form*/



/*------------------------------------------------------------------------------------------------------------------ form*/

/*------------------------------------------------------------------------------------------------------------------ footer */

.wrapper-footer {
  background-color: #000;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  margin-top: 4.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.home .wrapper-footer {
  margin-top: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vW;  
}

@media screen and (min-width: 120rem) {
  .home .wrapper-footer {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
  }
}

.home main {
  height: 100vH;
  overflow: hidden;
}

footer {
  max-width: 104rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
}

.wrapper-footer p,
.wrapper-footer a,
.wrapper-footer strong,
.wrapper-footer span,
.wrapper-footer li,
.wrapper-footer input {
  color: #fff;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.15em;
  text-align: left;
}

.wrapper-footer strong {
  font-weight: bold;
  letter-spacing: 0.2em;
}

.footer__column--1 .wp-block-image {
  max-width: 8rem;
}

.footer__column--1 {
  display: flex;
  align-items: center;
}

@media screen and (min-width: 64rem) {
  .footer__column--1 {
    max-width: 8.25rem;
    margin-right: 4rem;
    align-items: flex-start;
  }
}

.footer__column--1 .widget_text {
  margin-left: 1rem;
}

.footer__column--1 .widget_text p {
  line-height: 1.4;
}

@media screen and (min-width: 64rem) {
  .footer__column--1 .widget_text {
    display: none;
  }
}

.footer__column + .footer__column {
  margin-top: 2rem;
}

@media screen and (min-width: 64rem) {
  .footer__column + .footer__column {
    margin-top: 0;
  }
}

.footer__column--1 path {
  fill: #fff;
}

.widget_media_gallery {
  margin-top: 1rem;
}

.widget_media_gallery .wp-block-gallery {
  display: flex;
}

.widget_media_gallery .wp-block-image + .wp-block-image {
  margin-left: 0.25rem;
}

.wrapper-footer .menu {
  margin-top: 1rem;
  list-style-type: none;
  display: flex;
}

.wrapper-footer .menu > *:first-child {
  margin-right: 1rem;
}

.footer__column--2 {
  flex: 0 0 100%;
}

@media screen and (min-width: 64rem) {
  .footer__column--2 {
    flex: 0 0 auto;
  }
}

.footer__column--2 strong {
  display: none;
}

@media screen and (min-width: 64rem) {
  .footer__column--2 strong {
    display: block;
  }
}

.wrapper-footer .footer__column--3 {
  flex: 0 0 100%;
  margin-top: 2rem;
}

@media screen and (min-width: 101.5rem) {
  .wrapper-footer .footer__column--3 {
    margin-left: auto;
    margin-top: 0%;
    flex: 0 0 auto;
  }
}


/*------------------------------------------------------------------------------------------------------------------ footer */

/*---------------------------------------------------------------------------------------------------------------------------------------- newsletter */

footer form {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  max-width: 45rem;
}

footer form p {
  margin-top: 0.5rem;
}

footer form p:last-of-type {
  margin-top: 1rem;
}

footer form button {
  background-color: transparent;
  border: none;
  outline: none;
  color: #fff;
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 0;
  width: calc(100vW - 2rem);
  font-weight: 300;
  font-size: 1rem;
}

@media screen and (min-width: 39.25rem) {
  footer form button {
    margin-left: 3.5rem;
    flex: 0 0 auto;
    width: auto;
  }
}

footer form button:after {
  content: "";
  background: url(../images/arrow.svg);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 0.5rem;
}

@media screen and (min-width: 39.25rem) {
  footer form button:after {
    margin-left: 1rem;
  }
}

footer input {
  background-color: transparent;
  border-bottom: 1px solid #fff;
  outline: none;
  max-width: 24rem;
  width: 100%;
}

.wpcf7-form-control-wrap.checkbox,
.wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-acceptance input {
  position: absolute;
  left: 0;
  top: 0rem;
  width: 1rem;
  height: 1rem;
  border: 1px solid #1d1e1e;
}

.wpcf7-acceptance span {
  display: block;
  width: auto;
  margin-left: 0.75rem;
  text-align: left;
}

/*---------------------------------------------------------------------------------------------------------------------------------------- newsletter */

/*---------------------------------------------------------------------------------------------------------------------------------------- impressum und datenschutz*/

.site-imprint .pageheader,
.site-dataprotection .pageheader {
  position: relative;
  height: auto;
  overflow: hidden;
}

/* .site-imprint .pageheader:before,
.site-dataprotection .pageheader:before {
  content: "";
  position: relative;
  z-index: 3;
  width: 100%;
  height: 40vH;
  background-color: #1d1d1d;
  display: block;
} */

.site-imprint .pageheader:after,
.site-dataprotection .pageheader:after {
  content: none;
}

.wrapper--imprint,
.wrapper--dataprotection {
  display: none;
}

/* .site-imprint main,
.site-dataprotection main,
.site-agb main {
  padding-top: 5rem;
  padding-bottom: 5rem;
} */

.site-imprint main p,
.site-dataprotection main p,
.site-agb main p {
  margin-top: 1rem;
}

.site-imprint main a,
.site-dataprotection main a,
.site-agb main a {
  hyphens: auto;
  word-break: break-all;
}

.site-imprint main strong,
.site-dataprotection main strong,
.site-agb main strong {
  margin-top: 2rem;
  display: inline-block;
}

.site-delivery h2 {
  margin-bottom: 2rem;
}

.site-delivery .entry-content__inner h3 {
  margin-top: 2rem;
  margin-bottom: 0;
}

/*---------------------------------------------------------------------------------------------------------------------------------------- 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;
}
