@font-face {
    font-family: 'Roobert Regular';
    src: url('../Fonts/Roobert-Regular.woff2') format('woff2'),
        url('../Fonts/Roobert-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert Mono Regular';
    src: url('../Fonts/RoobertMono-Regular.woff2') format('woff2'),
        url('../Fonts/RoobertMono-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

* {
  text-rendering: optimizelegibility !important;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font-variant-ligatures: no-common-ligatures; /* font-feature-settings: 'liga' off; */
}

:root {
  --ww-color-primary: #F54741;
  --ww-color-dark-red: #AE191A;
  --ww-color-white: #FCFCFC;
  --ww-color-light-grey: #F5F5F5;
  --ww-color-medium-grey: #E2E2E2;
  --ww-color-dark-grey: #A0A0A0;
  --ww-color-dark-blue: #24222E;
  --ww-color-black: #1F1F1F;
  --ww-mq-large: 85.375rem;
  --ww-border-radius-button: 5px;
  --ww-border-radius: 10px;
}      

html,
.subnav-items,
.interactive-worldmap-list,
.dragslide,
.custom-select-list {
  scrollbar-color: var(--ww-color-black) transparent;
  scrollbar-width: thin;
}

html::-webkit-scrollbar,
html::-webkit-scrollbar-track,
.subnav-items::-webkit-scrollbar,
.subnav-items::-webkit-scrollbar-track,
.interactive-worldmap-list:-webkit-scrollbar,
.interactive-worldmap-list::-webkit-scrollbar-track,
.dragslide::-webkit-scrollbar,
.dragslide::-webkit-scrollbar-track,
.custom-select-list::-webkit-scrollbar,
.custom-select-list::-webkit-scrollbar-track {
  width: 8px;
  background-color: transparent;
}

html::-webkit-scrollbar-thumb,
.subnav-items::-webkit-scrollbar-thumb,
.interactive-worldmap-list::-webkit-scrollbar-thumb,
.dragslide::-webkit-scrollbar-thumb,
.custom-select-list::-webkit-scrollbar-thumb {
  border-radius: 0;
  -webkit-box-shadow: none;
  background-color: var(--ww-color-black);
}

body,
html>body {
  font-size: 16px;
  font-size: 1rem;
}

body.has-flyout {
  height: 100vH;
  height: var(--ww-viewport-height);
  overflow: hidden;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
q,
small,
strong,
sub,
sup,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
button {
  border: 0 none;
  margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body,
p,
ul,
ol,
li,
label,
input,
select,
textarea,
dd,
dt,
td,
th,
a,
caption,
span,
figcaption,
button {
  font-family: "Roobert Regular", sans-serif;
  font-weight: normal;
  font-size: 1rem;
  font-size: clamp(1rem, 1.04vW, 1.25rem);
  line-height: 1.2;
  color: var(--ww-color-black);
}

span {
  color: inherit;
}

.font-size-year {
  font-family: "Roobert Mono Regular", serif;
  font-weight: normal;  
}

.navigation-section-link {
  font-size: 0.875rem;
}

@media screen and (min-width: 85.375rem) {
  body,
  p,
  ul,
  ol,
  li,
  label,
  input,
  select,
  textarea,
  dd,
  dt,
  td,
  th,
  a,
  caption,
  span,
  figcaption,
  button {
    font-size: 1.25rem;
    font-size: clamp(1rem, 1.04vW, 1.25rem); 
  }
}

p,
dt,
dd,
li,
td,
th,
label {
  line-height: 1.2;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-size-h1,
.font-size-h2,
.font-size-h3,
.font-size-h4,
.font-size-h5,
.font-size-h6 {
  font-weight: normal;
  line-height: 1.2;
}

.font-size-title {
  font-size: 3.5rem;
  font-size: clamp(3.5rem, 6.67vW, 8rem);
}

h1,
.font-size-h1 {
    font-size: 3rem;
    font-size: clamp(3rem, 4.17vW, 5rem);
}

h2,
.font-size-h2 {
  font-size: 1.75rem;
  font-size: clamp(1.75rem, 3.33vW, 4rem);
}

h3,
.font-size-h3,
.news .news-list-view.news-list-view-grid[data-hover-index="0"] .article[data-visible-index="1"] .header h3,
.news .news-list-view.news-list-view-grid[data-hover-index="1"] .article[data-visible-index="0"] .header h3 {
  font-size: 1.5rem;
  font-size: clamp(1.5rem, 2.5vW, 3rem);
}

h4,
.font-size-h4,
.btn.btn-worldmap {
  font-size: 1.25rem;
  font-size: clamp(1.25rem, 2.083vW, 2.5rem);
}

.nav-main .navitem-link {
  font-size: 1.75rem;
  font-size: clamp(1.75rem, 2.083vW, 2.5rem);
}

h5,
.font-size-h5,
.btn.font-size-h5,
.subnav .navitem-link,
.news .news-list-view.news-list-view-grid .article[data-visible-index="0"] .teaser-text p,
.news .news-list-view.news-list-view-grid .article[data-visible-index="1"] .teaser-text p {
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 1.67vW, 2rem);
}

h6,
.font-size-h6
.btn,
.wrapper-footer .btn.btn-dense,
.news-single .news-detail-content .teaser-text,
.flyout-search input {
  font-size: 1rem;
  font-size: clamp(1rem, 1.25vW, 1.5rem);
}

.btn span {
  font-size: inherit;
}

.btn,
.btn.btn-dense {
  font-size: 1.25rem;
  font-size: clamp(1.25rem, 1.04vW, 1.25rem);
}

.font-size-small {
  font-size: 0.875rem;
}

.font-size-title span,
.font-size-h6 span {
  font-size: inherit;
}

.font-size-year {
   font-size: 3.5rem;
   font-size: clamp(3.5rem, 13.3vW, 16rem);
}

@media screen and (min-width: 85.375rem) {
  .font-size-title {
    font-size: 8rem;
    font-size: clamp(3.5rem, 6.67vW, 8rem);
  }

  h1,
  .font-size-h1,
  .news-list-view-grid .article[data-visible-index="0"] .header h3,
  .news-list-view-grid .article[data-visible-index="1"] .header h3 {
      font-size: 5rem;
      font-size: clamp(3rem, 4.17vW, 5rem);
  }

  h2,
  .font-size-h2 {
    font-size: 4rem;
    font-size: clamp(1.75rem, 3.33vW, 4rem);
  }

  h3,
  .font-size-h3,
  .news .news-list-view.news-list-view-grid[data-hover-index="0"] .article[data-visible-index="1"] .font-size-h1,
  .news .news-list-view.news-list-view-grid[data-hover-index="1"] .article[data-visible-index="0"] .font-size-h1 {
    font-size: 3rem;
    font-size: clamp(1.5rem, 2.5vW, 3rem);
  }

  h4,
  .font-size-h4,
  .btn.btn-worldmap {
    font-size: 2.5rem;
    font-size: clamp(1.25rem, 2.083vW, 2.5rem);
  }

  .nav-main .navitem-link {
    font-size: 1.75rem;
    font-size: clamp(1.75rem, 2.083vW, 2.5rem);
  }

  h5,
  .font-size-h5,
  .btn.font-size-h5,
  .subnav .navitem-link,
  .news .news-list-view.news-list-view-grid .article[data-visible-index="0"] .teaser-text p,
  .news .news-list-view.news-list-view-grid .article[data-visible-index="1"] .teaser-text p {
    font-size: 2rem;
    font-size: clamp(1.125rem, 1.67vW, 2rem);
  }

  h6,
  .font-size-h6,
  .btn,
  .wrapper-footer .btn.btn-dense,
  .news-single .news-detail-content .teaser-text,
  .flyout-search input {
    font-size: 1.5rem;
    font-size: clamp(1rem, 1.25vW, 1.5rem);
  }

  .btn,
  .btn.btn-dense {
    font-size: 1.25rem;
    font-size: clamp(1rem, 1.04vW, 1.25rem); 
  }

  .font-size-year {
    font-size: 16rem;
    font-size: clamp(3.5rem, 13.3vW, 16rem);
  }
}

h1 span,
h1 a,
h2 span,
h2 a,
h3 span,
h3 a,
h5 span,
h5 a,
span.splitline,
span.__word {
  font: inherit;
}

a img {
  border: none;
}

/*typo3 styles*/
p.align-right,
h1.align-right,
h2.align-right,
h3.align-right,
h4.align-right,
td.align-right,
p.text-right,
h1.text-right,
h2.text-right,
h3.text-right,
h4.text-right,
td.text-right {
  text-align: right;
}

p.align-left,
h1.align-left,
h2.align-left,
h3.align-left,
h4.align-left,
td.align-left {
  text-align: left;
}

p.text-center,
h1.ce-headline-center,
h1.text-center,
h2.ce-headline-center,
h2.text-center,
h3.ce-headline-center,
h3.text-center,
h4.ce-headline-center,
h3.text-center,
td.text-center,
p.ce-headline-center {
  text-align: center;
}


.ce-headline-right {
  text-align: right;
}

a {
  text-decoration: none;
  color: var(--ww-color-black);
}

a:hover {
  text-decoration: underline;
}

img,
svg {
  max-width: 100%;
  height: auto;
  display: block;
}

p {
  margin-bottom: 1.25rem;
}

ul + p {
  margin-top: 1.25rem;
}

p:last-child {
  margin-bottom: 0;
}

p.font-size-h1,
p.font-size-h2,
p.font-size-h3,
p.font-size-h4,
p.font-size-h5,
p.font-size-h6 {
  margin-bottom: 0;
}

@media screen and (min-width: 85.375rem) {

  p.paragraph-50 {
    width: calc(50% - 0.625rem);
  }

  p.paragraph-50.text-right {
    margin-left: auto;
  }

}

/* ------------------------------------------------------------------------------------------------------------ grid & main layout */

.row {
  display: flex;
  flex-wrap: wrap;
}

.row.flex-column {
  flex-direction: column;
  row-gap: 2.5rem;
}

.frame-type-container-video-elastic .row,
.frame-type-container-video-scroll .row {
  flex-wrap: nowrap;
}

.row.vertical-align-flex-start {
  align-items: flex-start;
}

.row.vertical-align-center {
  align-items: center;
}

@media screen and (min-width: 85.375rem) {
  .row.vertical-align-flex-end {
    align-items: flex-end;
  }
}

.col-12,
.col-6,
.col-4,
.col-3 {
  flex: 0 0 100%;
}

.col-6 + .col-6,
.col-4 + .col-4 {
  margin-top: 2.5rem;
}

.row.row-reverse-mobile .col-6:first-child {
  order: 1;
  margin-top: 2.5rem;
}

.row.row-reverse-mobile .col-6:last-child {
  margin-top: 0;
}

.frame-type-webwebrocks-sitepackage-wecreatebox .col-6 + .col-6,
.container-lottiebox .col-6 + .col-6 {
  margin-top: 0;
}

.frame-type-responsibility-60-40 .col-6:last-child {
  flex: 0 0 67%;
  max-width: 67%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 64rem) {

  .container-lottiebox .has-col-8 .col-4 {
    flex: 0 0 calc(33.33% - 1rem);
    max-width: calc(33.33% - 1rem);
  }

  .container-lottiebox .col-8 {
    flex: 0 0 calc(66.66% - 1rem);
    max-width: calc(66.66% - 1rem);
  }

  .row[data-columns="4"] {
    column-gap: 1.25rem;
    row-gap: 2.5rem;
  }

  .frame-inner-arrow-deco .row {
    column-gap: 1.25rem;
  }

  .col-3 {
    flex: 0 0 calc(50% - 0.625rem);
    max-width: calc(50% - 0.625rem);
  }

  .frame-inner-arrow-deco .col-6,
  .contentheader-content .col-6 {
    flex: 0 0 calc(50% - 0.625rem);
    max-width: calc(50% - 0.625rem);
  }

  .contentheader-content .col-6 {
    flex: 0 0 calc(50% - 1rem);
    max-width: calc(50% - 1rem);
  }

  .frame-inner-arrow-deco .col-6 + .col-6,
  .contentheader-content .col-6 + .col-6 {
    margin-top: 0;
  }

}

@media screen and (min-width: 85.375rem) {

  .row {
    column-gap: 2rem;
  }

  .row[data-columns="4"] {
    row-gap: 0;
  }

  .contentheader-solutions .row,
  .contentheader-industries .row,
  .frame-type-solution .row,
  .frame-type-industry .row,
  .frame-type-container-chronic .row {
    column-gap: 0;
  }

  .flyout-search .header-search-result {
    column-gap: 0;
    row-gap: 0.625rem;
  }

  .contentheader-solutions .row,
  .contentheader-industries .row {
    align-items: center;
  }

  .frame-type-container-header-chronic .row {
    column-gap: 1.25rem;
  }

  .frame-type-industry .content-block-solutions .row-solution-entry {
    gap: 1.25rem;
    align-items: center;
  }

  .frame-type-responsibility-40-60 .row,
  .frame-type-responsibility-60-40 .row {
    column-gap: 11.25rem;
  }

  .row.row-reverse-mobile .col-6:first-child {
    order: 1;
    margin-top: 0;
  }

  .col-6 {
    flex: 0 0 calc(50% - 1rem);
    max-width: calc(50% - 1rem);
  }

  /* .frame-type-webwebrocks-sitepackage-wecreatebox .col-6:last-child {
    flex: 0 0 calc(50% - 1rem - 1px);
    max-width: calc(50% - 1rem - 1px);
  } */

  .flyout-search .header-search-result .col-6,
  .frame-inner-arrow-deco .col-6 {
    flex: 0 0 calc(50% - 0.625rem);
    max-width: calc(50% - 0.625rem);
  }

  .frame-type-columns-67-33 .col-6:first-child,
  .frame-type-columns-33-67 .col-6:last-child,
  .frame-type-container-certificates .col-6:last-child {
    flex: 0 0 calc(66.66% - 1rem);
    max-width: calc(66.66% - 1rem);
  }

  .frame-type-columns-67-33 .col-6:last-child,
  .frame-type-columns-33-67 .col-6:first-child,
  .frame-type-container-certificates .col-6:first-child {
    flex: 0 0 calc(33.33% - 1rem);
    max-width: calc(33.33% - 1rem);
  }

  .frame-type-container-chronic .col-6:first-child {
    flex: 0 0 20.1875rem;
    max-width: 20.1875rem;
    flex: 0 0 calc(clamp(3.5rem, 13.3vW, 16rem) + 3rem);
    max-width: calc(clamp(3.5rem, 13.3vW, 16rem) + 3rem);
  }

  .frame-type-container-chronic .col-6:last-child {
    flex: calc(100% - 20.1875rem);
    max-width: calc(100% - 20.1875rem)
  }

  .contentheader-solutions .col-6,
  .contentheader-industries .col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .frame-type-container-header-chronic .col-6 {
    flex: 0 0 calc(50% - 0.625rem);
  }

  .frame-type-solution .col-6:first-child {
    flex: 0 0 57.7%;
    max-width: 57.7%;
  }

  .frame-type-solution .col-6:last-child {
    flex: 0 0 42.3%;
    max-width: 42.3%;
  }

  .frame-type-industry > .frame-inner > .row > .col-6:first-child {
    flex: 0 0 65.3%;
    max-width: 65.3%;
  }

  .frame-type-industry > .frame-inner > .row > .col-6:last-child {
    flex: 0 0 34.7%;
    max-width: 34.7%;
  }

  .frame-type-solution:nth-child(2n) .col-6:first-child,
  .frame-type-industry:nth-child(2n) > .frame-inner > .row > .col-6:first-child {
    order: 1;
  }

  .frame-type-solution:nth-child(2n) .col-6:last-child,
  .frame-type-industry:nth-child(2n) > .frame-inner > .row > .col-6:last-child {
    order: 0;
  }

  .frame-type-industry .content-block-solutions .row-solution-entry .col-6 {
    flex: 0 0 calc(50% - 0.625rem);
  }

  .frame-type-responsibility-40-60 .col-6:first-child {
    flex: 0 0 calc(36% - 5.625rem);
    max-width: calc(36% - 5.625rem);
  }

  .frame-type-responsibility-40-60 .col-6:last-child {
    flex: 0 0 calc(64% - 5.625rem);
    max-width: calc(64% - 5.625rem);
  }

  .frame-type-responsibility-60-40 .col-6:first-child {
    max-width: calc(64% - 5.625rem);
    flex: 0 0 calc(64% - 5.625rem);
  }

  .frame-type-responsibility-60-40 .col-6:last-child {
    flex: 0 0 calc(36% - 5.625rem);
    max-width: calc(36% - 5.625rem);
    margin-left: 0;
  }

  .col-6 + .col-6,
  .col-4 + .col-4 {
    margin-top: 0;
  }

  .col-4 {
    flex: 0 0 calc(33.33% - 1.34rem);
  }

  .frame-type-container-video-elastic .col-4 {
    flex: 0 0 15%;
    /* max-width: 17.75rem; */
  }

  .frame-type-container-video-scroll .col-4 {
    flex: 0 0 37.1%;
    /* max-width: 44.5rem; */
  }

  .frame-type-container-video-elastic .col-4:nth-child(2) {
    flex: 0 1 32.6%;
    max-width: none;
  }
  
  .frame-type-container-video-scroll .col-4:nth-child(2) {
    flex: 0 1 25.9%;
    max-width: none;
  }

  .has-col-8 .col-4 {
    flex: 0 0 calc(33.33% - 1rem);
    max-width: calc(33.33% - 1rem);
  }

  .col-8 {
    flex: 0 0 calc(66.66% - 1rem);
    max-width: calc(66.66% - 1rem);
  }

  .col-3 {
    flex: 0 0 calc(25% - 0.9375rem);
    max-width: calc(25% - 0.9375rem);
  }
}

.frame,
.wrapper-footer footer[role="contentinfo"] {
  width: 100%;
  margin: 0 auto;
}

.main-content > .frame,
.contentheader-content > .frame,
.wrapper-footer footer[role="contentinfo"] {
  width: calc(100% - 2.5rem);
}

.main-content > .frame-type-moreboxes,
.main-content > .frame-type-image-overlay,
.main-content > .frame-type-marquee-logos,
.main-content > .frame-type-solution,
.main-content > .frame-type-industry,
.main-content > .frame-layout-1,
.main-content > .frame-layout-20,
.main-content > .frame-layout-40,
.main-content > .frame-type-image-overlay-sticky,
.contentheader-content > .frame-type-container-video-elastic,
.contentheader-content > .frame-type-container-video-scroll,
.main-content .frame-layout-90,
.main-content .frame-list-type-webwebprojects_projectmap,
.page-layout-30 .contentheader-content > .frame,
.wrapper-page-backend-layout-pagets__50 .main-content > .frame {
  width: 100%;
}

.main-content > .frame-type-container-unsolicited-application {
  width: calc(100% - 2.5rem);
  border-radius: var(--ww-border-radius);
}

.main-content > .frame-layout-1 > .frame-inner,
.main-content > .frame-layout-20 > .frame-inner,
.main-content > .frame-layout-40 > .frame-inner,
.contentheader-content > .frame-type-container-video-elastic > .frame-inner,
.contentheader-content > .frame-type-container-video-scroll > .frame-inner,
.page-layout-30 .contentheader-content > .frame > .frame-inner {
  width: calc(100% - 2.5rem);
  margin: 0 auto;
}

.main-content > .frame + .frame {
  margin-top: 7.5rem;
}


@media screen and (min-width: 85.375rem) {
  .main-content > .frame + .frame {
    margin-top: 14.5rem;
  }
}

/* .main-content > .frame + .frame-type-webwebrocks-sitepackage-wecreatebox {
  margin-top: 7.25rem;
  padding-top: 7.25rem;
} */

.main-content .frame-type-news_newsliststicky + .frame-type-news_newsliststicky {
  margin-top: 5rem;
}

.main-content .frame-space-before-extra-small,
.main-content .frame + .frame-space-before-extra-small {
  margin-top: 1.25rem;
}

.main-content .frame-space-before-small,
.main-content .frame + .frame-space-before-small {
  margin-top: 2.5rem;
}

.main-content .frame-space-before-medium,
.main-content .frame + .frame-space-before-medium { 
  margin-top: 5rem;
}

.main-content .frame-space-before-large,
.main-content .frame + .frame-space-before-large {
  margin-top: 10rem;
}

.main-content .frame + .frame-type-news_newsliststicky.frame-space-before-large {
  margin-top: 2.5rem;
}

@media screen and (min-width: 85.375rem) {
  .main-content .frame + .frame-type-news_newsliststicky.frame-space-before-large {
    margin-top: 10rem;
  }
}

.main-content .frame-space-before-nospace,
.main-content .frame + .frame-space-before-nospace {
  margin-top: 0;
}

.main-content .frame + .frame-type-webwebrocks-sitepackage-wecreatebox.frame-space-before-nospace {
  margin-top: 7.5rem;
}

.main-content > .frame-type-solution + .frame-type-solution,
.main-content > .frame-type-industry + .frame-type-industry,
.main-content > .frame-layout-20 + .frame-layout-20,
.main-content > .frame-layout-40 + .frame-layout-20,
.main-content > .frame-layout-20 + .frame-layout-40,
.main-content > .frame-layout-40 + .frame-layout-40,
.main-content > .frame + .frame-type-image-overlay-sticky,
.main-content > .frame-type-factbox + .frame-type-factbox {
  margin-top: 0;
}

.wrapper-footer footer[role="contentinfo"] .container-content > .frame + .frame {
  margin-top: 2.5rem;
}

@media screen and (min-width: 85.375rem) {  
  .contentheader-content-start > .frame {
    width: calc(100% - 3.75rem);
    margin-right: 2.5rem;
  }

  .contentheader-content-solutions > .frame,
  .contentheader-content-industries > .frame {
    width: calc(100% - 2.5rem);
    margin: 0 1.25rem;
  }

  .contentheader-content > .frame-type-container-video-elastic,
  .contentheader-content > .frame-type-container-video-scroll {
    width: 100%;
  }

  .contentheader-content > .frame-type-container-video-elastic > .frame-inner,
  .contentheader-content > .frame-type-container-video-scroll > .frame-inner {
    width: calc(100% - 2.5rem);
    margin: 0 1.25rem;
  }

  .main-content .frame + .frame-type-webwebrocks-sitepackage-wecreatebox.frame-space-before-nospace {
    margin-top: 0;
  }  

  .wrapper-footer footer[role="contentinfo"] .container-content > .frame + .frame,
  footer[role="contentinfo"] .container-content > .container-cta + .frame {
    margin-top: 10.75rem;
  }

}

.frame-type-industry {
  background-color: var(--ww-color-light-grey);
}

.frame-layout-1 {  
  background-color: var(--ww-color-primary);
}

.frame-layout-2 {
  background-color: var(--ww-color-dark-red);
}

.frame-layout-20 {
  padding: 10rem 0;
  background-color: var(--ww-color-medium-grey);
}

.frame-type-container-unsolicited-application {
  padding: 1.25rem 0;
}

.frame-layout-40 {
  background-color: var(--ww-color-dark-blue);
}

.frame-border-top {
  
  padding-top: 1.25rem;
  border-top: 1px solid var(--ww-color-black);
}

.frame-border-top:not(.frame-type-factbox) {
  margin-top: 1.25rem;  
}

.wrapper-footer {
  margin-top: 7.5rem;
  margin-bottom: 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .wrapper-footer {
    margin-top: 20.875rem;
  }
}


/* ------------------------------------------------------------------------------------------------------------ grid & main layout */

/* ------------------------------------------------------------------------------------------------------------ link, buttons general */

.btn {
  padding: 1rem 2rem;   
  background-color: transparent;
  text-decoration: none;
  border-radius: var(--ww-border-radius-button);
  transition: color 300ms ease-out, background-color 300ms ease-out;
  display: inline-block;
  cursor: pointer;
}

.btn:hover {
  text-decoration: none;
  cursor: pointer;
}

.btn-primary {
  background-color: var(--ww-color-primary);
  color: var(--ww-color-black);
}

.btn-primary:hover {
  background-color: var(--ww-color-black);
  color: var(--ww-color-white);
}

.btn-secondary {
  color: var(--ww-color-primary);
  border: 1px solid var(--ww-color-primary);
  text-align: center;
}

.btn-secondary:hover {
  color: var(--ww-color-black);
  background-color: var(--ww-color-primary);
}

.main-content .btn-secondary {
  width: min(100%, 24.375rem);
}

.main-content p.paragraph-50:has(.btn + .btn) .btn {
  width: calc(50% - 0.625rem);
}

.btn-secondary + .btn-secondary {
  margin-left: 1.25rem;
}

.btn-dense {
  padding: 0;
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 1.25rem;
  align-items: center;
  white-space: nowrap;
}

.text-right .btn-dense.link-more {
  margin-right: 1.25rem;
}

.btn-dense.btn-subnav-back {
  gap: 0.625rem;
}

/* .text-right .btn-dense {
  margin-left: auto;
} */

.btn-dense i {
  display: block;
  width: 2.5rem;
  flex: 0 0 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: var(--ww-color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-icon {
  display: flex;
  height: 2.5rem;
  width: 2.5rem;
  flex: 0 0 2.5rem;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: transparent;
  padding: 0;
}

.btn-icon i,
.btn-dense i svg {
  max-width: 1.25rem;
}

@media screen and (min-width: 85.375rem) {

  .btn-dense i {
    width: 3.375rem;
    flex: 0 0 3.375rem;
    height: 3.375rem;
  }

  .btn-icon {
    height: 3.375rem;
    width: 3.375rem;
    flex: 0 0 3.375rem;
  }

  .btn-icon i {
    max-width: 2.5rem;
  }  
}

.btn .btn-label {
  font-size: inherit;
}

.link-download i {
  background-color: transparent;
  flex: 0 0 1.5rem;
  height: auto;
}

/* ------------------------------------------------------------------------------------------------------------ link, buttons general */

/* ------------------------------------------------------------------------------------------------------------ toggles */

.togglenav,
.togglesearch {
  position: fixed;
  right: 1.25rem;
  top: 1.25rem;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  background-color: transparent;
  border: 0;
  box-shadow: none;
  outline: 0;
  column-gap: 0.625rem;
  cursor: pointer;
  z-index: 120;
  transition: top 300ms ease-out, right 300ms ease-out, opacity 300ms ease-out, z-index 300ms ease-out;
}

.dark .togglenav {
  top: 2rem;
  right: 2rem;
}

.has-flyout-search .togglenav {
  z-index: -1;
  opacity: 0;
}

@media screen and (min-width: 85.375rem) {
  .togglenav {
    right: 2.5rem;
    top: 2.5rem;
    column-gap: 2rem;
  }

  .dark .togglenav {
    right: 2.5rem;
    top: 2.5rem;
  }

  .has-flyout-search .togglenav {
    z-index: 120;
    opacity: 1;
  }
}

.toggle-label, 
.dark .togglesearch-solutions .toggle-label,
.dark .togglenav-solutions .toggle-label,
.dark .togglesearch-mouseoverimages .toggle-label,
.dark .togglenav-mouseoverimages .toggle-label,
.dark .togglesearch.page-layout-10 .toggle-label,
.dark .togglenav.page-layout-10 .toggle-label,
.dark .togglesearch.page-layout-30 .toggle-label,
.dark .togglenav.page-layout-30 .toggle-label,
.dark .togglesearch.page-layout-40 .toggle-label,
.dark .togglenav.page-layout-40 .toggle-label {
  color: var(--ww-color-white);
}

.togglesearch-solutions .toggle-label,
.togglenav-solutions .toggle-label,
.togglesearch-mouseoverimages .toggle-label,
.togglenav-mouseoverimages .toggle-label,
.togglesearch.page-layout-10 .toggle-label,
.togglenav.page-layout-10 .toggle-label,
.togglesearch.page-layout-30 .toggle-label,
.togglenav.page-layout-30 .toggle-label,
.togglesearch.page-layout-40 .toggle-label,
.togglenav.page-layout-40 .toggle-label,
.dark.has-flyout .togglesearch-solutions .toggle-label,
.dark.has-flyout .togglenav-solutions .toggle-label,
.dark.has-flyout .togglesearch-mouseoverimages .toggle-label,
.dark.has-flyout .togglenav-mouseoverimages .toggle-label
.dark.has-flyout .togglesearch.page-layout-10 .toggle-label,
.dark.has-flyout .togglenav.page-layout-10 .toggle-label,
.dark.has-flyout .togglesearch.page-layout-30 .toggle-label,
.dark.has-flyout .togglenav.page-layout-30 .toggle-label,
.dark.has-flyout .togglesearch.page-layout-40 .toggle-label,
.dark.has-flyout .togglenav.page-layout-40 .toggle-label,
.has-flyout .toggle-label,
.dark.has-flyout .toggle-label {
  color: var(--ww-color-black);
}

.toggle-close {
  display: none;
}

.togglenav.active .toggle-open {
  display: none;
}

.togglenav.active .toggle-close {
  display: initial;
}

.togglenav .toggle-icon,
.togglesearch .toggle-icon {
  flex: 0 0 40px;
  height: 40px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: var(--ww-color-white);
  position: relative;
  transition: background-color 300ms ease-out;
}

.togglesearch .toggle-icon {
  justify-content: center;
  align-items: center;
  display: flex;
}

.togglesearch .toggle-icon .svgicon-close {
  display: none;
}

.has-flyout-search .togglesearch .toggle-icon .svgicon-search {
  display: none;
}

.has-flyout-search .togglesearch .toggle-icon .svgicon-close {
  display: block;
}

.togglesearch .toggle-icon svg {
  width: 1.25rem;
  flex: 0 0 1.25rem;
  height: 1.25rem;
}

.togglenav.active .toggle-icon,
.has-flyout .toggle-icon {
  background-color: var(--ww-color-primary);
}

.togglenav-solutions .toggle-icon,
.togglenav-mouseoverimages .toggle-icon,
.togglenav.page-layout-10 .toggle-icon,
.togglenav.page-layout-30 .toggle-icon,
.togglenav.page-layout-40 .toggle-icon {
  background-color: var(--ww-color-black);
}

.togglenav.page-layout-10 .toggle-icon,
.togglenav.page-layout-30 .toggle-icon,
.togglenav.page-layout-40 .toggle-icon,
.dark .togglenav .toggle-icon  {
  background-color: var(--ww-color-primary);
}

.togglenav .toggle-icon:before,
.togglenav .toggle-icon:after {
  content: "";
  position: absolute;
  display: inline-block;
  height: 2px;
  width: 22px;
  background-color: var(--ww-color-black);
  left: 9px;
  top: 15px;
  transition: transform 300ms ease-out, top 300ms ease-out, bottom 300ms ease-out;
}

.togglenav-solutions .toggle-icon:before,
.togglenav-solutions .toggle-icon:after,
.togglenav-mouseoverimages .toggle-icon:before,
.togglenav-mouseoverimages .toggle-icon:after {
  background-color: var(--ww-color-white);  
}

.dark .togglenav .toggle-icon:before,
.dark .togglenav .toggle-icon:after /* ,
.dark .togglenav-solutions .toggle-icon:before,
.dark .togglenav-solutions .toggle-icon:after,
.dark .togglenav-mouseoverimages .toggle-icon:before,
.dark .togglenav-mouseoverimages .toggle-icon:after */ {
  background-color: var(--ww-color-black);
}

.togglenav .toggle-icon:after {
  top: auto;
  bottom: 15px;
}

.togglenav.active .toggle-icon:before {
  top: 20px;
  transform: rotate(45deg);
}

.togglenav.active .toggle-icon:after {
  transform: rotate(-45deg);
  bottom: 18px;
}

@media screen and (min-width: 83.375rem) {
  .togglenav .toggle-icon {
    flex: 0 0 52px;
    height: 52px;
  }

  .togglenav .toggle-icon:before,
  .togglenav .toggle-icon:after {
    left: 12px;
    width: 28px;
    top: 20px;
  }  

  .togglenav .toggle-icon:after {
    top: auto;
    bottom: 20px;
  }

  .togglenav.active .toggle-icon:before {
    top: 25px;
    transform: rotate(45deg);
  }

  .togglenav.active .toggle-icon:after {
    transform: rotate(-45deg);
    bottom: 25px;
  }  
}

.togglesearch {
  position: fixed;
  display: flex;
  z-index: 115;
  top: auto;
  right: 1.25rem;
  bottom: 1.25rem;
  align-items: center;
  z-index: -1;
  opacity: 0;
}

.has-flyout .togglesearch {
  opacity: 1;
  z-index: 111;
  transition-delay: 300ms;
}

.has-flyout-search .togglesearch {
  top: 1.25rem;
  bottom: auto;
  right: 1.25rem;
}

.search-close {
  display: none;
}

.togglesearch.active .search-close {
  display: initial;
}

.togglesearch.active .search-open {
  display: none;
}

@media screen and (min-width: 85.375rem) {
  .togglesearch {
    right: min(18.5vW, 22.5rem);
    top: 3.375rem;
    bottom: auto;
    opacity: 1;
    z-index: 111;
  }

  .has-flyout-search .togglesearch {
    top: 3.375rem;
    right: min(18.5vW, 22.5rem);
    bottom: auto;
  }

  .has-flyout .togglesearch {
    transition-delay: 0ms;
  }

  .togglesearch .toggle-icon {
    display: none;
  }

}

/* ------------------------------------------------------------------------------------------------------------ toggles */

/* ------------------------------------------------------------------------------------------------------------ nav */

.nav-main-only {
  position: absolute;
  display: none;
  z-index: 110;
  transition: z-index 300ms ease-out;
}

.has-flyout .nav-main-only {
  z-index: 90;
}

@media screen and (min-width: 85.375rem) {
  .nav-main-only {
    display: block;
    left: 50%;
    top: 3.375rem;
  }
}

.nav-main {
  position: fixed;
}

.mainnav-items {
  list-style-type: none;
}

.nav-main-only .mainnav-items {
  display: flex;
  row-gap: 0.5rem;
  column-gap: 2rem;
  flex-direction: column;
  max-height: 6rem;
  flex-wrap: wrap;
  width: min(19.25rem, 16vW);
}

.nav-main-only .navitem-link {
  color: var(--ww-color-white);
}

.nav-main-only-solutions .navitem-link,
.nav-main-only-mouseoverimages .navitem-link,
.nav-main-only.page-layout-10 .navitem-link,
.nav-main-only.page-layout-30 .navitem-link,
.nav-main-only.page-layout-40 .navitem-link {
  color: var(--ww-color-black);
}

.flyout-bg {
  position: fixed;
  background-color: var(--ww-color-black);
  transition: all 300ms ease-out;
  z-index: -1;
  opacity: 0;
  width: 100%;
  height: 100%;
  top: 0;
}

.flyout {
  position: fixed;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: var(--ww-color-white);
  transition: all 300ms ease-out;
  z-index: 110;
  overflow: hidden;
}

.flyout-search {
  background-color: var(--ww-color-medium-grey);
}

/* @media screen and (min-width: 85.375rem) {
  .flyout-search {
    display: block;
  }
} */

.nav-main,
.nav-additional,
.nav-lang {
  opacity: 0;
  z-index: -1;
  transition: all 300ms ease-out;
  position: absolute;
  top: 5rem;
  left: 0;
  height: calc(100vH - 5rem);
  height: calc(var(--ww-viewport-height) - 5rem);
}

.nav-additional {
  left: 0;
  bottom: 5.125rem;
  top: auto;
  height: auto;
}

.nav-lang {
  position: absolute;
  bottom: 1.25rem;
  height: auto;
  top: auto;
  left: auto;
  right: 1.25rem;
  bottom: 5.125rem;
}

@media screen and (min-width: 85.375rem) {
  .nav-additional {
    left: 33%;
    bottom: 1.25rem;
  }

  .nav-lang {
    right: auto;
    bottom: 1.25rem;
    left: 1.25rem;
  }
}

@media screen and (min-width: 105rem) {
  .nav-additional {
    left: 50%;
  }
}

.flyout-bg.active {
  z-index: 102;
  opacity: 0.5;
}

.flyout.active .nav-main,
.flyout.active .nav-additional,
.flyout.active .nav-lang {
  opacity: 1;
  z-index: 110;
  transition: opacity 300ms 250ms ease-out;
}

.nav-main .mainnav-items,
.nav-additional .additionalnav-items {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  margin: 0.75rem 0 0 1.25rem;
}

.flyout .indicator {
  position: fixed;
  opacity: 0;
  display: none;
  position: fixed;
  z-index: 110;
  right: calc(100vW / 2 + 1.25rem);
  top: 0;
  background-color: var(--ww-color-primary);
  width: 54px;
  height: 54px;
  border-radius: 50%;
  transition: top 300ms ease-out, opacity 300ms ease-out;
  justify-content: center;
  align-items: center;
}

.flyout-navigation-solutions .indicator {
  background-color: var(--ww-color-black);
}

.flyout .indicator i {
  transform: rotate(180deg);
}

.flyout-navigation-solutions .indicator path[fill] {
  fill: var(--ww-color-white);
}

@media (hover: hover) {

  .nav-main {
    top: 0;
    left: 0;
    height: 100%; 
  }

  .nav-main .navitem-link {
    transition: color 300ms ease-out;
  }

  .nav-main .navitem-link:hover {
    text-decoration: none;
    color: var(--ww-color-dark-grey);
  }

  .flyout.active .indicator {
    display: flex;
  }

  .flyout .indicator.active {
    opacity: 1;
  }
}

.flyout .btn-cta-request {
  opacity: 0;
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
  padding: 0.625rem 1.25rem;
  transition: background-color 300ms ease-out, color 300ms ease-out;
}

@media screen and (min-width: 85.375rem) {
  .flyout .btn-cta-request {
    padding: 1rem 2rem;
    left: auto;
    right: 1.25rem;
  }
}

.flyout.active .btn-cta-request {
  transition: background-color 300ms ease-out, color 300ms ease-out, opacity 300ms 250ms ease-out;
}

.flyout-subnavigation {
  display: flex;
  flex-direction: column;
}

.flyout-subnavigation.active {
  right: calc(100vW / 2 + 1.25rem);
  width: 28.875rem;
  opacity: 1;
  transition: right 300ms ease-out, opacity 300ms ease-out;
  z-index: 105;
}

.flyout-subnavigation .subnav {
  display: none;
  /* flex: 0 0 100%; */
  flex: 0 0 calc(100vH - 3.75rem);
  flex: 0 0 calc(var(--ww-viewport-height) - 3.75rem);
  padding: 1.25rem;
}

.flyout-subnavigation .subnav.active {
  display: block;
}

.flyout {
  top: 1.75rem;
  right: 1.75rem;
  transform-origin: right top;
  opacity: 0;
  transition: all 300ms ease-out;
}

.flyout.active {
  transition: border-radius 500ms ease-out, right 300ms ease-out, top 300ms ease-out, width 250ms ease-out, height 250ms ease-out, opacity 50ms 250ms ease-out, right 300ms ease-out;
}

.dark .flyout {
  top: 2.25rem;
  right: 2.25rem;
}

.flyout.active {
  border-radius: var(--ww-border-radius);
  width: 100vW;
  height: 100vH;
  height: var(--ww-viewport-height);
  opacity: 1;
  z-index: 110;
  top: 0;
  right: 0;
}

.flyout.active .btn-cta-request {
  opacity: 1;
  z-index: 110;
}

.flyout-subnavigation {
  position: fixed;
  border-radius: var(--ww-border-radius);
  background-color: var(--ww-color-white);
  width: 100%;
  height: 100vH;
  height: calc(var(--ww-viewport-height) - 1.25rem);
  left: 0;
  top: 1.25rem;
  opacity: 0;
  z-index: -1;
  transition: right 300ms ease-out, opacity 300ms ease-out, z-index 300ms ease-out;
}

.flyout-subnavigation.active {
  opacity: 1;
  z-index: 115;
  transition: right 300ms ease-out, opacity 300ms ease-out;
}

.subnav {
  margin-top: 3.75rem;
  overflow: hidden;
}

.subnav .subnav-items {
  list-style-type: none;
  height: calc(100% - 3.75rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 1.25rem;
  overflow-y: auto;
}

.subnav .btn-subnav-back {
  margin-bottom: 1.5rem;
}

.subnav .btn-subnav-back i {
  flex: 0 0 2.5rem;
  height: 2.5rem;
}

.subnav .btn-subnav-back i svg {
  transform: rotate(180deg);
  width: 1.25rem;
}

@media screen and (min-width: 85.375rem) {

  .flyout {
    top: 3rem;
    right: 3rem;
  }

  .dark .flyout {
    top: 3rem;
    right: 3rem;
  }

  .flyout.active {
    left: auto;
    right: 1.25rem;
    top: 1.25rem;
    width: calc(100vW / 2 - 1.25rem);
    height: calc(100vH - 2.5rem);
    height: calc(var(--ww-viewport-height) - 2.5rem);
    transition: border-radius 150ms ease-out, right 150ms ease-out, top 150ms ease-out, width 300ms ease-out, height 300ms ease-out, opacity 300ms ease-out;
  }
  
  .flyout .btn-cta-request {
    padding: 2rem 4.5rem;    
  }

  .flyout-subnavigation {
    position: fixed;
    border-radius: var(--ww-border-radius);
    background-color: var(--ww-color-white);
    width: 28.875rem;
    height: calc(100vH - 2.5rem);
    height: calc(var(--ww-viewport-height) - 2.5rem);
    left: auto;
    right: calc(100vW / 2 - 30.125);
    top: 1.25rem;
    opacity: 0;
    z-index: -1;
    transition: right 300ms ease-out, opacity 300ms ease-out, z-index 300ms ease-out;
  }

  .flyout-subnavigation.active {
    right: calc(100vW / 2 + 1.25rem);
    width: 28.875rem;
    opacity: 1;
    transition: right 300ms ease-out, opacity 300ms ease-out;
    z-index: 105;
    row-gap: 0;
  }

  .subnav {
    margin-top: 0;
    height: calc(100% - 2.5rem);
  }

  .flyout-subnavigation .subnav {
    flex: 0 0 100%;
  }

  .subnav .subnav-items {
    height: 100%;
  }

  .subnav .btn-subnav-back { 
    display: none;
  }
}

.subnav[data-parent="5"] .subnav-items {
  justify-content: flex-start;
  row-gap: 1.25rem;
}

.navitem-sub {
  display: flex;
  flex-wrap: nowrap;
  column-gap: 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .navitem-sub {
    flex: 0 0 auto;
    column-gap: 2.5rem;
  }
}


.navitem-sub:hover .navitem-link {
  color: var(--ww-color-primary);
  text-decoration: none;
}

.navigation-section-links {
  list-style-type: none;
}

.flyout .navigation-section-item {
  margin-top: 0.5rem;
}

@media screen and (min-width: 85.375rem) {
  .navigation-section-item {
    margin-top: 0;
  }
}

.navigation-section-link:hover {
  text-decoration: none;
  color: var(--ww-color-primary);
}

.navigation-icon,
.navigation-image {
  position: relative;
  max-width: 136px;
  flex: 0 0 136px;
}

.navigation-image {
  border-radius: var(--ww-border-radius);
  overflow: hidden;
  max-height: 10rem;
  aspect-ratio: 9 / 16;
}

.navigation-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.navigation-icon .svgicon-static {
  transition: opacity 100ms ease-out;
  opacity: 1;
}

.navigation-icon .svgicon-static svg {
  width: 100%;
  height: auto;
}

.navigation-icon .navigation-animation {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 100ms ease-out;
}

.navitem-sub:hover .navigation-icon .svgicon-static {
  opacity: 0;
}

.navitem-sub:hover .navigation-icon .navigation-animation {
  opacity: 1;
}

.languagenav-items {
  list-style-type: none;
}

.language-switch .active a,
.languagenav-items .active a {
  color: var(--ww-color-primary);
}

/* ------------------------------------------------------------------------------------------------------------ nav */

/* ------------------------------------------------------------------------------------------------------------ headersearch */

.header-search-header {
  padding: 1.75rem 1.25rem;
}

.has-flyout-search .header-search-header {
  display: none;
}

@media screen and (min-width: 85.375rem) {
  .has-flyout-search .header-search-header {
    display: block;
  }
}

.flyout-search .frame {
  height: 100%;
}

.flyout-search .frame-inner {
  display: flex;
  flex-direction: column-reverse;
  height: calc(100% - 5rem);
  margin-top: 5rem;
}

.flyout-search .tx-indexedsearch-searchbox {
  margin-top: auto;
}

.flyout-search .tx-indexedsearch-form {
  padding: 1rem 0.625rem 1.25rem;
  position: relative;
}

@media screen and (min-width: 85.375rem) {

  .flyout-search .frame-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-top: 0;
  }
}

.flyout-search .tx-indexedsearch-form .tx-indexedsearch-searchbox-button {
  position: absolute;
  z-index: 1;
  right: 1.5rem;
  top: 2rem;
  background-color: var(--ww-color-primary);
  padding: 0;
  flex: 0 0 3.25rem;
  width: 3.25rem;
  height: 3.25rem;
  width: 2.5rem;
  height: 2.5rem;
}

@media screen and (min-width: 85.375rem) {
  .flyout-search .tx-indexedsearch-form .tx-indexedsearch-searchbox-button {
    width: 3.25rem;
    height: 3.25rem;
  }
}

.flyout-search .tx-indexedsearch-form .tx-indexedsearch-searchbox-button .svgicon {
  flex: 0 0 1.25rem;
}

.flyout-search .header-search-result {
  flex: 1 1 100%;
  margin: 0 0.625rem 1.25rem;
  overflow-y: auto;
  scrollbar-color: var(--ww-color-primary) transparent;
  scrollbar-width: thin;
} 

.flyout-search .header-search-result::-webkit-scrollbar {
  width: 8px;
}

.flyout-search .header-search-result::-webkit-scrollbar-track {
  background-color: transparent;
  border: 1px solid var(--ww-color-primary);
  border-radius: 1.25rem;
}

.flyout-search .header-search-result::-webkit-scrollbar-thumb {
  -webkit-box-shadow: none;
  background-color: var(--ww-color-primary);
}

.flyout-search .tx-indexedsearch-res {
  padding: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  column-gap: 1.25rem;
  background-color: var(--ww-color-white);
  border-radius: var(--ww-border-radius);
}

@media screen and (min-width: 85.375rem) {
  .flyout-search .tx-indexedsearch-res {
    min-height: 31.25rem;
    margin-right: 0.625rem;
  }
}

.flyout-search .font-size-h6 {
  flex: 0 0 100%;
  align-self: flex-start;
}

.flyout-search .font-size-h6 a {
  font-size: inherit;
}

.flyout-search .tx-indexedsearch-res .tx-indexedsearch-description {
  margin-bottom: 0;
  flex: 0 0 74%;
}

.flyout-search .tx-indexedsearch-res .tx-indexedsearch-description strong {
  color: var(--ww-color-primary);
  font-weight: normal;
}

.flyout-search .tx-indexedsearch-res .btn-primary {
  background-color: var(--ww-color-primary);
  margin-left: auto;
}

/* ------------------------------------------------------------------------------------------------------------ headersearch */

/* ------------------------------------------------------------------------------------------------------------ header */

.wrapper-header {
  position: fixed;
  top: 1.25rem;
  left: 0;
  width: 100%;
  z-index: 100;
}

.has-flyout .wrapper-header {
  z-index: 120;
}

@media screen and (min-width: 85.375rem) {
  .has-flyout .wrapper-header {
    z-index: 100;
  }
}

.wrapper-header:before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.25rem;
  width: calc(100% - 2.5rem);
  height: 100%;
  border-radius: var(--ww-border-radius);
  display: block;
  transition: background-color 300ms ease-out;
  background-color: rgba(0,0,0,0);
  z-index: 0;
}

.wrapper-header > * {
  z-index: 1;
  position: relative;
}

.dark .wrapper-header:before {
  background-color: rgba(0,0,0,0.4);
  backdrop-filter: blur(5px);
}

.has-flyout.dark .wrapper-header:before {
  background-color: rgba(0,0,0,0.0);
  backdrop-filter: blur(0);
}

.wrapper-header .logo {
  display: inline-block;
  transition: width 300ms ease-out, margin-left 300ms ease-out, padding 300ms ease-out;
  width: 51%;
  max-width: 13.75rem;
}

@media screen and (min-width: 85.375rem) {
  .wrapper-header .logo {
    max-width: 19.875rem;
  }
}

.wrapper-header .logo svg path {
  transition: fill 300ms ease-out;
}

.has-flyout .wrapper-header .logo svg path[fill],  
.dark.has-flyout .wrapper-header .logo svg path[fill] {
  fill: var(--ww-color-black);
}

.wrapper-header .logo svg g.fade-out {
  transition: opacity 300ms ease-out;
}

.dark .wrapper-header .logo svg g.fade-out,
.has-flyout .wrapper-header .logo svg g.fade-out {
  opacity: 0;
}

.dark .wrapper-header .logo {
  padding-top: 1rem;
  margin-left: 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .wrapper-header .logo {
    padding-top: 2.5rem;
  }

  .dark .wrapper-header .logo {
    padding-top: 1.75rem;
    padding-bottom: 0.25rem;
  }

  .dark .wrapper-header .logo {
    width: 13.625rem;
    margin-left: 1.25rem;
  }

  .has-flyout .wrapper-header .logo svg path[fill] {
    fill: var(--ww-color-white);
  }

  .has-flyout .wrapper-header.page-layout-10 .logo svg path[fill] {
    fill: var(--ww-color-dark-grey);
  }

  .has-flyout .wrapper-header .logo svg g.fade-out { 
    opacity: 1;
  }

  .dark .wrapper-header .logo svg g.fade-out { 
    opacity: 0;
  }
}

.wrapper-header-solutions .logo path[fill],
.wrapper-header-mouseoverimages .logo path[fill],
.wrapper-header.page-layout-10 .logo path[fill],
.wrapper-header.page-layout-30 .logo path[fill],
.wrapper-header.page-layout-40 .logo path[fill] {
  fill: var(--ww-color-black);
}

.wrapper-header-solutions .logo path[stroke],
.wrapper-header-mouseoverimages .logo path[stroke],
.wrapper-header.page-layout-10 .logo path[stroke],
.wrapper-header.page-layout-30 .logo path[stroke],
.wrapper-header.page-layout-40 .logo path[stroke] {
  stroke: var(--ww-color-black);
}

.dark .wrapper-header .logo svg path[fill] {
  fill: var(--ww-color-white);
}

/* ------------------------------------------------------------------------------------------------------------ header */

/* ------------------------------------------------------------------------------------------------------------ content */

.contentheader {
  height: 100%;
  /* max-height: var(--ww-viewport-height); */
  margin-bottom: 8.125rem;
  overflow: hidden;
}

.contentheader-solutions {
  max-height: none;
  height: 100%;
}

@media screen and (min-width: 85.375rem) {

  .contentheader {
    max-height: 100vH;
    max-height: var(--ww-viewport-height);
  }

  .contentheader-solutions {
    max-height: 100vH;
    max-height: var(--ww-viewport-height);
    height: initial;
  }
}

.contentheader-solutions {
  background-color: var(--ww-color-primary);
  margin-bottom: 0;
}

.contentheader-industries {
  background-color: var(--ww-color-dark-blue);
  margin-bottom: 0;
}

.contentheader-image .container-video {
  height: 100vH;
  height: var(--ww-viewport-height);
}

.contentheader-image .container-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contentheader {
  margin-top: 8.75rem;
  margin-bottom: 10rem;
  /* min-height: calc(var(--ww-viewport-height) - 8.75rem); */
}

@media screen and (min-width: 85.375rem) {
  .contentheader {
    margin-top: 14rem;
    margin-bottom: 10rem;
    min-height: calc(100vH - 14rem);
    min-height: calc(var(--ww-viewport-height) - 14rem);
  }
}

.contentheader-start,
.contentheader-solutions,
.contentheader-industries,
.contentheader-mouseoverimages,
.contentheader-videoelastic,
.contentheader-videoscroll,
.page-layout-20 .contentheader,
.page-layout-40 .contentheader,
.wrapper-page-backend-layout-pagets__10 .contentheader,
.wrapper-page-backend-layout-pagets__50 .contentheader {
  height: initial;
  margin-top: 0;
}

.wrapper-page-backend-layout-pagets__10 .contentheader {
  margin-top: 5rem;
  min-height: 0;
  margin-bottom: 5rem;
}

@media screen and (min-width: 85.375rem) {
  .wrapper-page-backend-layout-pagets__10 .contentheader {
    margin-top: 11.5625rem;
    margin-bottom: 5rem;
  }
}

.wrapper-page-backend-layout-pagets__50 .contentheader {
  margin: 0;
  min-height: 0;
}

/* .contentheader-content > .frame:first-child > .frame-inner {
}

.contentheader-start .contentheader-content > .frame:first-child > .frame-inner,
.contentheader-solutions .contentheader-content > .frame:first-child > .frame-inner,
.contentheader-industries .contentheader-content > .frame:first-child > .frame-inner,
.contentheader-mouseoverimages .contentheader-content > .frame:first-child > .frame-inner,
.contentheader-content > .frame.frame-type-container-video-elastic > .frame-inner {
  margin-top: 0;
} */

.contentheader-start {
  margin-bottom: 7.5rem;
}

@media screen and (min-width: 85.375rem) {
  .contentheader-start {
    margin-bottom: 8.375rem;
  }
}
 
.contentheader-solutions,
.contentheader-mouseoverimages {
  margin-bottom: 0;
}

.contentheader-industries {
  margin-bottom: 11.25rem;
}

.page-layout-40 {
  /* position: relative; */
}

.page.page-layout-40:before {
  content: "";
  background-image: url(../Images/chevron.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  top: 100vH;
  top: var(--ww-viewport-height);
  transform: translate(-50%,-40px);
  width: 80px;
  height: 40px;
  display: block;
  z-index: 1;
}

.page-layout-40 .contentheader {
  position: relative;
  margin-bottom: 0;
}

.page-layout-40 .contentheader-content {
  position: relative;
  display: flex;
  height: 100vH;
  height: var(--ww-viewport-height);
  align-items: center;
  background-color: var(--ww-color-light-grey);
}

.page-layout-40 .contentheader:before,
.page-layout-40 .contentheader:after,
.page-layout-40 .contentheader-content:before,
.page-layout-40 .contentheader-content:after {
  content: "";
  display: block;
  background-color: var(--ww-color-medium-grey);
  width: 1px;
  height: 40%;
  position: absolute;
  left: 32%;
  top: 0;
  z-index: 1; 
}

.page-layout-40 .contentheader:after {
  left: 75%;
}

.page-layout-40 .contentheader-content:before {
  top: 62%;
  left: 32%;
  width: 43%;
  height: 1px;
}

.page-layout-40 .contentheader-content:after {
  top: 62%;
  height: 48%;
  left: 50%;
}

.contentheader-content-start,
.page-layout-20 .contentheader-content {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 1.5rem;
  z-index: 1;
}

.contentheader h1 + .subheader {
  margin-top: 1.25rem;
}

.contentheader-start h1,
.page-layout-20 .contentheader h1 {
  color: var(--ww-color-white);
}

.page-layout-40 .contentheader h1 span {
  color: var(--ww-color-primary);
}

.page-layout-20 .contentheader .row {
  justify-content: stretch; 
}

.page-layout-20 .contentheader .frame-layout-40,
.page-layout-20 .contentheader .frame-layout-40 .frame-inner {
  height: 100%;
}

.page-layout-20 .contentheader .frame-layout-40 {
  border-radius: var(--ww-border-radius);
}

.contentheader-start .link-cta-request, 
.main-content .link-cta-request {
   padding: 0.625rem 1.25rem;
   background-color: var(--ww-color-white);
   margin-bottom: 1rem;
}

.main-content .frame-type-image-overlay .link-cta-request {
  background-color: var(--ww-color-primary);
  color: var(--ww-color-black);
  margin-top: 1.25rem;
  margin-bottom: 0;
}

@media screen and (min-width: 64rem) {

  .main-content .frame-type-image-overlay p:not(.font-size-h2) {
    text-align: right;
  }

  .main-content .frame-type-image-overlay .link-cta-request {
    padding: 2rem 4.5rem;
    background-color: var(--ww-color-white);
    margin-bottom: 1rem;
    margin-top: 0;
  }

  .main-content .frame-type-image-overlay p:not(.font-size-h2) {
    text-align: initial;
  }

  .contentheader-content-start .col-6:last-child p {
    text-align: right;
  }  

  .contentheader-start .link-cta-request, 
  .main-content .link-cta-request {
    padding: 2rem 4.5rem;
  }
}

.main-content .frame-type-container-unsolicited-application .link-cta-request {
  background-color: var(--ww-color-black);
  color: var(--ww-color-white);
  margin-bottom: 0;
}

.contentheader-start .link-cta-request:hover,
.main-content .link-cta-request:hover {
  background-color: var(--ww-color-primary);
  color: var(--ww-color-black);
}

.main-content .frame-type-container-unsolicited-application .link-cta-request:hover {
  background-color: var(--ww-color-primary);
  color: var(--ww-color-black);
}

.main-content .frame-layout-1 .link-cta-request {
  background-color: transparent;
  border: 1px solid var(--ww-color-black);
}

.main-content .frame-layout-1 .link-cta-request:hover {
  background-color: var(--ww-color-black);
  color: var(--ww-color-primary);
}

.contentheader .frame-layout-40 .link-cta-request {
  background-color: var(--ww-color-white);
  color: var(--ww-color-black);
  padding: 2rem;
  width: 100%;
  text-align: center;
}

/* .contentheader-content-solutions.has-sections-menu,
.contentheader-content-industries.has-sections-menu {
  display: flex;
  flex-wrap: wrap;
} */

.contentheader-mouseoverimages {
  height: 100vH;
  height: var(--ww-viewport-height);
  display: flex;
  flex-direction: column;
  justify-content: center; 
}

@media screen and (min-width: 85.375rem) {
  .contentheader-content-solutions,
  .contentheader-content-industries,
  /* .contentheader-content-solutions.has-sections-menu,
  .contentheader-content-industries.has-sections-menu, */
  .contentheader-mouseoverimages {
    height: 100vH;
    height: var(--ww-viewport-height);
    display: flex;
    flex-direction: column;
    justify-content: center; 
  }
}

.contentheader-mouseoverimages {
  background-color: var(--ww-color-medium-grey);
}

.contentheader-content-solutions .frame-type-text {
  margin-top: min(7.125rem, 30vH);
}

.contentheader-content-industries .frame-type-text {
  margin-top: min(14.25rem, 30vH);
}

@media screen and (min-width: 85.375rem) {
  .contentheader-content-solutions .frame-type-text,
  .contentheader-content-industries .frame-type-text {
    margin-top: 30vH;
  }
}

.contentheader-content-solutions .frame-type-header,
.contentheader-content-industries .frame-type-header {
  margin-top: auto;
  margin-bottom: 1.25rem;
}

.contentheader-content-solutions .image,
.contentheader-content-industries .image {
  max-height: 25vH;
}

.contentheader-content-industries .image {
  border-radius: var(--ww-border-radius);
  overflow: hidden;
  aspect-ratio: 1.56;
  width: 100%;
}

.contentheader-content-solutions .image svg,
.contentheader-content-industries .image img {
  height: 20vH;
  margin-left: auto;
  margin-right: auto;
}

.contentheader-content-industries .image img {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}

@media screen and (min-width: 85.375rem) {
  .contentheader-content-industries .image {
    aspect-ratio: 0.72;
      width: auto;
  }

  .contentheader-content-solutions .image svg,
  .contentheader-content-industries .image img {
    height: 20vH;
    margin-left: 0;
    margin-right: 0;
  }

}

.contentheader-content-industries .image img {
  height: 100%;
  object-fit: cover;
}

.contentheader-content-solutions header h1,
.contentheader-content-industries header h1 {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (min-width: 85.375rem) {
  .contentheader-content-solutions .image,
  .contentheader-content-industries .image {
    max-height: none;
    max-width: 18.75rem;
  }

  .contentheader-content-solutions .image svg,
  .contentheader-content-industries .image img {
    width: 100%;
    height: auto;
    margin-left: 0;
    margin-right: 0;
  }

  .contentheader-content-industries .image img {
    height: 100%;
  }

  .contentheader-content-solutions header h1,
  .contentheader-content-industries header h1 {
    margin-top: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

}

.contentheader-content-industries header h1 {
  color: var(--ww-color-white);
}

.contentheader .navigation-section-items {
  list-style-type: none;
  border-top: 1px solid var(--ww-color-black);
  display: flex;
  flex-direction: column;
}

.contentheader-industries .navigation-section-items {
  border-top-color: var(--ww-color-white);
}

.contentheader .navigation-section-item {
  padding: 1.25rem;
  border-bottom: 1px solid var(--ww-color-black);
}

.contentheader-industries .navigation-section-item {
  border-bottom-color: var(--ww-color-white);
}

.contentheader-industries .navigation-section-link {
  color: var(--ww-color-white);
}

.contentheader .navigation-section-link:hover {
  color: var(--ww-color-black);
  text-decoration: underline;
}

.contentheader-industries .navigation-section-link:hover {
  color: var(--ww-color-white);
}

.contentheader-content-mouseoverimages {
  position: relative;
  z-index: 0;
}

.contentheader-image-mouseoverimages {
  position: absolute;
  top: 0; 
  left: 0;
  width: 100%;
  height: var(--ww-viewport-height);
  z-index: 1;
  overflow: hidden;
}

.contentheader-image-mouseoverimages.no-hover:before {
  content: "";
  left: 50%;
  top: 62vH;
  height: 38vH;
  width: 1px;
  background-color: var(--ww-color-dark-blue);
  display: block;
  z-index: 0;
  position: absolute;
}

.contentheader-image-mouseoverimages .image {
  display: block;
  width: 18.5rem;
  height: 18.5rem;
  border-radius: var(--ww-border-radius);
  overflow: hidden;
  position: absolute;
  transform-origin: center center;
  transition: opacity 300ms ease-out, transform 100ms ease-out;
  opacity: 0;
  transform: scale(0.9);
}

.contentheader-image-mouseoverimages.no-hover .image {
  width: 8.625rem;
  height: 8.625rem;
  transition: opacity 300ms ease-out, transform 100ms ease-out, top 300ms ease-out, left 300ms ease-out, right 300ms ease-out;
  top: 45%;
  left: 45%;
}

.contentheader-image-mouseoverimages .image[data-index="0"] {
  top: 15vH;
  left: 50vW;
}

.contentheader-image-mouseoverimages .image[data-index="1"] {
  top: 62%;
  left: 1.25rem;
}

.contentheader-image-mouseoverimages .image[data-index="2"] {
  top: 78%;
  left: auto;
  right: 1.25rem;
}

.contentheader-image-mouseoverimages .image.active {
  opacity: 1;
  transform: scale(1);
}

.contentheader-image-mouseoverimages .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-content h4 {
  margin-bottom: 0.625rem;
}

@media screen and (min-width: 85.375rem) {
  .main-content h4 {
    margin-bottom: 1.25rem;
  }
}

.main-content ul {
  margin-left: 2rem;
}

.main-content h5 + p {
 margin-top: 1.25rem; 
}

.label-contact {
  display: inline-block;
  margin-right: 1.25rem;
  min-width: 1.375rem;
}

.ce-gallery[data-ce-columns="2"],
.ce-gallery[data-ce-columns="3"],
.ce-gallery[data-ce-columns="4"] {
  display: flex;
  gap: 1.25rem;
}

.main-content .ce-gallery[data-ce-columns="3"] > * {
  flex: 0 0 calc(33.33% - 0.833rem);
}

.main-content .ce-gallery[data-ce-columns="4"] > * {
  flex: 0 0 calc(25% - 0.9375rem);
}

.main-content .frame .image,
.contentheader .image {
  border-radius: var(--ww-border-radius);
  overflow: hidden;
}

.image.has-image-aspectratio img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image.image-aspectratio-1_1 {
  aspect-ratio: 1 / 1;
}

.image.image-aspectratio-16_9 {
  aspect-ratio: 16 / 9;
}

.image.image-aspectratio-9_16 {
  aspect-ratio: 9 / 16;
}

.image.image-aspectratio-3_2 {
  aspect-ratio: 3 / 2;
}

.image.image-aspectratio-2_3 {
  aspect-ratio: 2 / 3;
}

.image.image-aspectratio-5_4 {
  aspect-ratio: 5 / 4;
}

.image.image-aspectratio-4_5 {
  aspect-ratio: 4 / 5;
}

.image.image-aspectratio-16_6 {
  aspect-ratio: 16 / 6;
}

.image.image-aspectratio-16_5 {
  aspect-ratio: 16_5;
}

.main-content .frame-layout-90 .image,
.main-content .frame-type-image-overlay-sticky .image {
  border-radius: 0;
}

.main-content .image-margin-top-small {
  margin-top: 1.25rem;
}

.main-content .image-margin-top-medium {
  margin-top: 2.5rem;
}

.main-content .image-margin-top-large {
  margin-top: 5rem;
}

.main-content .image-margin-bottom-small {
  margin-bottom: 1.25rem;
}

.main-content .image-margin-bottom-medium {
  margin-bottom: 2.5rem;
}

.main-content .image-margin-bottom-large {
  margin-bottom: 5rem;
}

.frame .ce-left .image,
.frame .ce-right .image {
  display: inline-block;
}

.frame .ce-right .ce-column {
  display: flex;
  justify-content: flex-end;
}

.frame-type-responsibility-60-40 .ce-right .ce-column,
.frame-type-container-chronic .col-scroll .ce-right .ce-column {
  display: block; /* otherwise mac doesn't show image */
}

.frame-type-scrolltrigger-right .col-scroll .frame + .frame {
  margin-top: 2.5rem;
}

.frame-type-scrolltrigger-right .col-scroll .ce-image + header {
  margin-top: 0.625rem;
}

.frame-type-scrolltrigger-right .col-sticky {
  position: relative;
  display: none;
}

/* .frame-type-scrolltrigger-right .col-scroll .frame {
  padding-top: 50vH;
} */

@media screen and (min-width: 85.375rem) {
  .frame-type-scrolltrigger-right .container-twocolumn {
    min-height: 100vH;
    min-height: var(--ww-viewport-height);
  }

  .frame-type-scrolltrigger-right .col-scroll .frame {
    padding-top: 50vH;
  }

  .frame-type-scrolltrigger-right .col-scroll .frame .ce-image {
    display: none;
  }

  .frame-type-scrolltrigger-right .col-sticky {
    display: block;
  }

}

.frame-type-scrolltrigger-right .col-scroll .frame > .frame-inner {
  max-width: 34.625rem;
}

@media screen and (min-width: 64rem) {
  .frame-type-scrolltrigger-right .col-scroll .frame:nth-child(2) {
    margin-left: 33.33%;
    width: 67.67%;
  }
}

@media screen and (min-width: 85.375rem) {
  .frame-type-scrolltrigger-right .container-sticky {
    position: sticky;
    top: max(8.875rem, 20vH);
    height: calc(100vH - 10.875rem);
    height: calc(var(--ww-viewport-height) - 10.875rem);
    width: 100%;
  }

  .frame-type-scrolltrigger-right .col-scroll .frame:last-child {
    margin-bottom: 25vh;
  }   

  .frame-type-scrolltrigger-right .col-scroll .frame:nth-child(2) {
    margin-left: 0;
    width: 100%
  }
  /* .frame-type-scrolltrigger-right .col-scroll .frame > .frame-inner {
    display: block;
    column-gap: 0;
  } */

  /* .frame-type-scrolltrigger-right .col-scroll .frame > .frame-inner .ce-image {
    flex: 0 0 calc(50% - 1.25rem);
  } */

}

.frame-type-webwebrocks-sitepackage-wecreatebox {
  overflow: hidden;
}

.frame-type-scrolltrigger-right .container-sticky .frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 400ms ease-out;
}

.frame-type-scrolltrigger-right .container-sticky .frame.active {
  opacity: 1;
}

.frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner {
  position: relative;
}

.frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner > * {
  z-index: 1;
  position: relative;
}

.frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner-highlight {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3.375rem;
  background-color: var(--ww-color-primary);
  z-index: 0;
  transition: transform 0.6s ease-in-out;
  transform: translateY(var(--y0, 0));
  border-radius: var(--ww-border-radius);
}

.frame-type-webwebrocks-sitepackage-wecreatebox header h2 {
  padding: 0.625rem 1.25rem;
}

.frame-type-webwebrocks-sitepackage-wecreatebox .col-6:last-child p {
  margin-top: 0.625rem;
  padding: 0 1.25rem;
}

.frame-type-webwebrocks-sitepackage-lottietextbox {
  padding: 2.5rem 0 0 0;
}  

.frame-type-webwebrocks-sitepackage-lottietextbox .image-lottie {
  margin-bottom: 0.625rem;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner {
    position: sticky;
    top: 10%;
    padding-bottom: 100vH;
    padding-bottom: var(--ww-viewport-height);
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox header h2 {
    padding: 0;
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox .col-6:last-child p {
    margin-top: 0;
    padding: 0;
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner-highlight {
    height: 5.75rem;
      /* font size variable */
    height: calc(clamp(1.75rem, 3.33vW, 4rem) * 1.3);
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner .scrolltrigger-ghost-container {
    flex: 0 0 1px;
    background-color: transparent;
    margin-left: -2.5rem;
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner .scrolltrigger-ghost-container .scrolltrigger-ghost {
    height: 240px;
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner header {
    position: relative;
    transition: transform 0.6s ease-in-out;
    transform: translateY(var(--y0, 0));
  }

  /* dynamischer Wechsel je nach data-step */
  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner[data-step="0"] header,
  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner[data-step="0"] .frame-inner-highlight { 
    transform: translateY(var(--y0, 0)); 
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner[data-step="1"] header,
  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner[data-step="1"] .frame-inner-highlight { 
    transform: translateY(var(--y1, 0));
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner[data-step="2"] header,
  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner[data-step="2"] .frame-inner-highlight {
    transform: translateY(var(--y2, 0)); 
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner[data-step="3"] header,
  .frame-type-webwebrocks-sitepackage-wecreatebox .frame-inner[data-step="3"] .frame-inner-highlight {
    transform: translateY(var(--y3, 0)); 
  }

  .frame-type-webwebrocks-sitepackage-wecreatebox .ce-text p,
  .frame-type-webwebrocks-sitepackage-wecreatebox header h2 {
    padding: 0.5rem 1.25rem;
  }

  .frame-type-webwebrocks-sitepackage-lottietextbox {
    border-top: 1px solid var(--ww-color-medium-grey);
    padding: 1.25rem 0;
  }  

  .frame-type-webwebrocks-sitepackage-lottietextbox .image-lottie {
    margin-bottom: 0;
  }
}

@media screen and (min-height: 53rem) {
  .frame-type-webwebrocks-sitepackage-lottietextbox {
    padding: 2.5rem 0;
  }  
}

@media screen and (min-height: 58.125rem) {
  .frame-type-webwebrocks-sitepackage-lottietextbox {
    padding: 3.625rem 0;
  }  
}

.frame-type-container-competences .frame-type-webwebrocks-sitepackage-lottietextbox {
  border-top: 0;
  padding: 0;
}

.frame-type-webwebrocks-sitepackage-lottietextbox .frame-inner {
  align-items: stretch;
}

.frame-type-webwebrocks-sitepackage-lottietextbox .frame-inner .ce-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.frame-type-webwebrocks-sitepackage-lottietextbox .frame-inner .ce-content .ce-text {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.frame-type-webwebrocks-sitepackage-lottietextbox .frame-inner .ce-content .ce-text p:last-child {
  margin-top: auto;
}

.frame-type-text.frame-layout-70 .ce-text {
  border: 2px solid var(--ww-color-primary);
  border-radius: var(--ww-border-radius);
}

.frame-layout-1 .frame-layout-70 .frame-inner {
  height: 100%;
}

.frame-layout-1 .frame-layout-70 p:has(.link-cta-request) {
  text-align: left;
  margin-top: 5rem;
}

@media screen and (min-width: 64rem) {
  .frame-layout-1 .frame-layout-70 p:has(.link-cta-request) {
    text-align: right;
  }
}

@media screen and (min-width: 85.375rem) {
  .frame-layout-1 .frame-layout-70 p:has(.link-cta-request) {
    margin-top: auto;
  }
}


.frame-layout-1 {
  padding: 1.25rem 0;
}

.frame-layout-1 .row {
  align-items: stretch;
}

.frame-layout-1 .row .frame {
  height: 100%;
}

.frame-layout-1 .row .frame-layout-70 .ce-text {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.25rem;
  border-color: var(--ww-color-black);
  border-width: 1px;
}

@media screen and (min-width: 85.375rem) {
  .frame-layout-40 .ce-text {
    padding: 1.25rem;
  } 
}

.contentheader .frame-layout-40 .ce-text {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  column-gap: 1.25rem;
  padding: 1.25rem;
  row-gap: 1.25rem;
}

.frame-layout-40 p,
.frame-layout-40 h5,
.frame-layout-2 p,
.frame-layout-2 h5 {
  color: var(--ww-color-white);

}

.contentheader .frame-layout-40 .ce-text p.font-size-h4 {
  flex: 0 0 100%;
  color: var(--ww-color-white);
  margin-bottom: auto;
  margin-top: 0;
}

.contentheader .frame-layout-40 .ce-text p {
  flex: 0 0 100%;
  color: var(--ww-color-white);
  margin-bottom: 0;
  margin-top: auto;
}

@media screen and (min-width: 85.375rem) {
  .contentheader .frame-layout-40 .ce-text {
    row-gap: 0;
  }

  .contentheader .frame-layout-40 .ce-text p {
    flex: 0 0 calc(50% - 0.625rem);
  }
}

.frame-type-image-overlay .frame-inner .ce-textpic {
  position: relative;
}

.frame-type-image-overlay .ce-gallery {
  position: relative;
  z-index: 0;
}

.main-content .frame-type-image-overlay .image {
  border-radius: 0;
  position: relative;
}

.main-content .frame-type-image-overlay .image img {
  width: 100%;
}

.main-content .frame-type-image-overlay .image:after {
  content: "";
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 50%, rgba(0, 0, 0, 0.40) 100%), -64.165px -33.069px / 106.684% 126.456% no-repeat;
}

.frame-type-image-overlay .ce-bodytext {
  padding: 1.25rem;
  margin: 1.25rem 1.25rem 0;
}

@media screen and (min-width: 64rem) {

  .frame-type-image-overlay h2,
  .frame-type-image-overlay p {
    color: var(--ww-color-white);
  }  

  .frame-type-image-overlay p {
    max-width: 40rem;
  }
}

@media screen and (min-width: 85.375rem) {

  .frame-type-image-overlay p {
    max-width: 52rem;
  }
}

.frame-type-image-overlay.frame-layout-70 .ce-bodytext {
  border: 2px solid var(--ww-color-primary);
  border-radius: var(--ww-border-radius);
} 

.frame-type-image-overlay .ce-bodytext p:last-child {
  margin-left: auto;
}

.frame-type-image-overlay .ce-bodytext.border-box-elements {
  display: flex;
  gap: 1.25rem;
  justify-content: flex-end;
  flex-wrap: wrap;
  padding: 0;
  margin-top: -5.5rem;
  position: relative;
  z-index: 1;
}

.frame-type-image-overlay .ce-bodytext.border-box-elements h2 {
  margin-bottom: 1.25rem;
  color: var(--ww-color-white);
}

.frame-type-image-overlay .ce-bodytext.border-box-elements .border-box-red {
  flex: 0 0 100%;
  border: 1px solid var(--ww-color-primary);
  border-radius: var(--ww-border-radius);
  padding: 3.875rem 1.25rem 1.25rem;
}

@media screen and (min-width: 64rem) {

  .frame-type-image-overlay .ce-bodytext,
  .frame-type-image-overlay .ce-bodytext.border-box-elements {
    position: absolute;
    left: 1.25rem;
    padding: 7.5rem 1.25rem 1.25rem 1.25rem;
    bottom: 2.857rem;
    display: flex;
    width: calc(100% - 2.5rem);
    z-index: 1;
    align-items: flex-end;
    margin: 0;
  }

  .frame-type-image-overlay .ce-bodytext.border-box-elements {
    flex-wrap: nowrap;
    padding: 1.25rem;
    margin-top: 1.25rem;
  }

  .frame-type-image-overlay .ce-bodytext.border-box-elements .border-box-red {
    flex: 0 0 15.7%;
    max-width: 18.5rem;
    padding: 5.125rem 1.25rem 1.25rem;
  }  
}

@media screen and (min-width: 85.375rem) {

  .frame-type-image-overlay .ce-bodytext,
  .frame-type-image-overlay .ce-bodytext.border-box-elements {
    padding: 15rem 1.25rem 1.25rem 1.25rem;
  }
}

.frame-type-image-overlay .ce-bodytext.border-box-elements *:first-child {
  margin-left: 0;
  margin-right: auto;
}

.frame-type-image-overlay .ce-bodytext.border-box-elements .border-box-red:last-child {
  margin-left: 0;
}

.news .news-list-view-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: flex-start;
}

.news .news-list-view .article {
  margin: 0;
  padding: 0;
}

.news .news-list-view .article.hidden {
  display: none;
}

.news .news-list-view .article:after {
  display: none;
}

.news .news-list-view.news-list-view-grid .article {
  flex: 0 0 100%;
}

@media screen and (min-width: 85.375rem) {
  .news .news-list-view.news-list-view-grid .article {
    flex: 0 0 calc(25% - 0.9375rem);
  }

  .news .news-list-view.news-list-view-grid .article[data-visible-index="0"],
  .news .news-list-view.news-list-view-grid .article[data-visible-index="1"] {
    flex: 0 0 calc(50% - 0.625rem);
    transition: flex 300ms ease-out;
  }

  .news .news-list-view.news-list-view-grid .article[data-visible-index="0"] h3,
  .news .news-list-view.news-list-view-grid .article[data-visible-index="1"] h3 {
    transition: font-size 300ms ease-out;
  }

  .news .news-list-view.news-list-view-grid[data-hover-index="0"] .article[data-visible-index="0"],
  .news .news-list-view.news-list-view-grid[data-hover-index="1"] .article[data-visible-index="1"] {
    flex: 0 0 calc(66.66% - 0.625rem);
  }

  .news .news-list-view.news-list-view-grid[data-hover-index="0"] .article[data-visible-index="1"],
  .news .news-list-view.news-list-view-grid[data-hover-index="1"] .article[data-visible-index="0"] {
    flex: 0 0 calc(33.33% - 0.625rem);
  }
}

.news .news-list-view-teaser .article {
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
  padding: 1.25rem 0;
  margin-bottom: 0;
  gap: 1.25rem;
  border-top: 1px solid var(--ww-color-dark-grey);
}

@media screen and (min-width: 85.375rem) {
  .news .news-list-view-teaser .article {
    gap: 1.25rem;
    flex-direction: row;
  }
}

.news .news-list-view-topnews .article {
  flex: 0 0 100%;
}

.news .news-list-view-teaser .article:last-child {
  border-bottom: 1px solid var(--ww-color-dark-grey);
  margin-bottom: 0;
  padding-bottom: 1.25rem;
}

.news .news-list-view-teaser .article:after {
  content: "";
  display: none;
}

.news .news-list-view .footer {
  padding: 0;
  margin: 0;
}

.news .news-list-view-teaser .article .footer {
  display: none;
}

.news .news-list-view .article .news-img-wrap {
  margin: 0;
  border: 0;
  background: transparent;
  max-height: 12.5rem;
  border-radius: var(--ww-border-radius);
  overflow: hidden;
}

@media screen and (min-width: 85.375rem) {
  .news .news-list-view.news-list-view-grid .article .news-img-wrap {
    height: 23.5rem;
    max-height: 23.5rem;
    width: 100%;
  }

  .news .news-list-view.news-list-view-grid .article[data-visible-index="0"],
  .news .news-list-view.news-list-view-grid .article[data-visible-index="1"] {
    height: 52.75rem;
  }

  .news .news-list-view.news-list-view-grid .article[data-visible-index="0"] .news-img-wrap,
  .news .news-list-view.news-list-view-grid .article[data-visible-index="1"] .news-img-wrap {
    height: 52.75rem;
    max-height: 52.75rem;
    width: 100%;
  }
}

.news .news-list-view .article .news-img-wrap a {
  float: none;
  padding: 0;
  border: 0;
  background: transparent;
  width: 100%;
  height: 100%;
}

.news .news-list-view-grid .article .news-img-wrap:after {
  content: "";
  z-index: 1;
  position: absolute;
  background: rgba(0,0,0,0.2);
  /* background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.20) 100%), url(<path-to-image>) lightgray 50% / cover no-repeat; */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 300ms ease-out;
  border-radius: var(--ww-border-radius);
}

.news .news-list-view-grid .article:hover .news-img-wrap:after {
  background-color: var(--ww-color-primary);
}

.news .news-list-view-grid .article[data-visible-index="1"]:hover .news-img-wrap:after {
  background-color: var(--ww-color-dark-blue);
}

.news .news-list-view .article .news-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news .news-list-view .article .more {
  display: none; 
}

.news .news-list-view-teaser .article > .teaser-text {
  display: none;
}

@media screen and (min-width: 64rem) {

  .news .news-list-view-teaser .article {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
  }

  .news .news-list-view-teaser .article .header {
    flex: 0 0 calc(33.33% - 0.833rem);
    max-width: calc(33.33% - 0.833rem);
  }

  .news .news-list-view-teaser .article .news-img-wrap {
    flex: 0 0 calc(15% - 0.833rem);
    max-width: calc(15% - 0.833rem);
  }

  .news .news-list-view-teaser .header-content .teaser-text {
    display: none;
  }  

  .news .news-list-view-teaser .article > .teaser-text {
    display: initial;
    /* flex: 0 0 calc(51.67% - 0.833rem);
    max-width: calc(51.67% - 0.833rem); */
  }

}

@media screen and (min-width: 85.375rem) {
  .news .news-list-view-teaser .article .header {
    flex: 0 0 calc(50% - 0.625rem);
    max-width: calc(50% - 0.625rem);
  }

  .news .news-list-view-teaser .article .news-img-wrap {
    flex: 0 0 calc(15% - 0.625rem);
    max-width: calc(15% - 0.625rem);
  }
}

.news .news-list-view-topnews .article,
.news .news-list-view-grid .article {
  position: relative;
}

.news .news-list-view-topnews .article .header,
.news .news-list-view-grid .article .header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  height: 100%;
  max-height: 39.6125rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (min-width: 85.375rem) {
  .news .news-list-view-topnews .article .header,
  .news .news-list-view-grid .article .header {
    flex-wrap: nowrap;    
  }
}

.news .news-list-view-grid .article .header {
  max-height: none;
}

.news .news-list-view-topnews .article h1,
.news .news-list-view-grid .article h3 {
  padding: 1.25rem;
}

.news .news-list-view.news-list-view-grid[data-hover-index="0"] .header.has-transition,
.news .news-list-view.news-list-view-grid[data-hover-index="1"] .header.has-transition {
  transition: margin 300ms ease-out;
}

.news .news-list-view-topnews .article .header h1 a,
.news .news-list-view-grid .article .header h3 a {
  color: var(--ww-color-white);
}

.news .news-list-view-grid .article:hover .header h3 a {
  color: var(--ww-color-black);
}

.news .news-list-view.news-list-view-grid .article[data-visible-index="1"]:hover .header h3 a {
  color: var(--ww-color-white);
}

.news .news-list-view-grid .article .header h3 a:hover {
  text-decoration: none;
}

.news .news-list-view-topnews .article .header .btn-news-detail-link,
.news .news-list-view-grid .article .header .btn-news-detail-link {
  background-color: var(--ww-color-primary);
  border-radius: 50%;
  margin: 0 1.25rem 1.25rem auto;
}

@media screen and (min-width: 85.375rem) {
  .news .news-list-view-topnews .article .header .btn-news-detail-link,
  .news .news-list-view-grid .article .header .btn-news-detail-link  {
    margin-left: 0;
  }
}

.news .news-list-view-grid .article:hover .header .btn-news-detail-link {
  background-color: var(--ww-color-black);
}

.news .news-list-view-grid .article[data-visible-index="1"]:hover .header .btn-news-detail-link {
  background-color: var(--ww-color-primary);
}

.news .news-list-view-grid .article:hover .header .btn-news-detail-link path[fill] {
  fill: var(--ww-color-primary);
}

.news .news-list-view-grid .article[data-visible-index="1"]:hover .header .btn-news-detail-link path[fill] {
  fill: var(--ww-color-black);
}

.news .news-list-view-teaser .topnews.article .header .btn-news-detail-link {
  display: none;
}

.news .news-list-view.news-list-view-grid .article[data-visible-index="0"] .header-content,
.news .news-list-view.news-list-view-grid .article[data-visible-index="1"] .header-content {
  flex: 0 0 80%;
  max-width: 80%;
  overflow: hidden;
}

.news .article > .teaser-text,
.news .article .header-content .teaser-text {
  margin: 0;
}

.news .news-list-view-teaser .article h5 {
  margin-bottom: 0.625rem;
}

@media screen and (min-width: 85.375rem) {

  .news .news-list-view-teaser .article h5 {
    margin-bottom: 0;
  }

}

.news .news-list-view .news-list-date,
.news .news-list-view.news-list-view-topnews .teaser-text,
.news .news-list-view.news-list-view-grid .teaser-text,
.news .news-list-view .news-list-category {
  display: none;
}

.news .news-list-view.news-list-view-grid .teaser-text {
  display: none;
  height: 0;
  overflow: hidden;
}

.news .news-list-view.news-list-view-grid .article[data-visible-index="0"] .header-content .teaser-text,
.news .news-list-view.news-list-view-grid .article[data-visible-index="1"] .header-content .teaser-text {
  display: block;
  padding: 0 0 0 1.25rem;
  width: 100%;
}

.news .news-list-view.news-list-view-grid .article[data-visible-index="0"] .teaser-text p,
.news .news-list-view.news-list-view-grid .article[data-visible-index="1"] .teaser-text p {
  color: var(--ww-color-black);
}

.news .news-list-view.news-list-view-grid .article[data-visible-index="1"]:hover .teaser-text p {
  color: var(--ww-color-white);
}

.news .news-list-view.news-list-view-grid .article[data-visible-index="0"] .teaser-text div,
.news .news-list-view.news-list-view-grid .article[data-visible-index="1"] .teaser-text div {
  padding: 0 0 1.25rem 0;
}

.news .news-list-view.news-list-view-grid[data-hover-index="0"] .teaser-text.has-transition,
.news .news-list-view.news-list-view-grid[data-hover-index="1"] .teaser-text.has-transition {
  transition: height 300ms ease-out;  
}

.news .news-list-view.news-list-view-grid[data-hover-index="0"] .article[data-visible-index="0"] .teaser-text,
.news .news-list-view.news-list-view-grid[data-hover-index="1"] .article[data-visible-index="1"] .teaser-text {
  height: auto;
}

.news .news-list-view .topnews .news-img-wrap { 
  position: relative;
  width: 100%;
  height: auto;
  max-height: 39.625rem;
}

.news .news-list-view .topnews .news-img-wrap img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.news-single .article {
  display: flex;
  flex-wrap: wrap;
}

.news-single .article .news-hero-img {
  float: none;
  width: 100%;
  flex: 0 0 100%;
  margin: 0;
  max-height: 100vH;
  max-height: var(--ww-viewport-height);
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.news-single .article .news-hero-img img {
  width: 100%;
}

.news-single .article .news-detail-content {
  background-color: var(--ww-color-medium-grey);
  margin: -2.5rem auto 0;
  border-radius: var(--ww-border-radius);
  padding: 1.25rem;
  flex: 0 0 min(calc(100vW - 2.5rem), 45.75rem);
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 48.25rem) {
  .news-single .article .news-detail-content {
    background-color: var(--ww-color-medium-grey);
    margin: -12.5rem 9.3% 0 auto;
    order: 1;
  }
}

.news-single .article .footer {
  justify-self: flex-start;
  margin: 1.25rem 0 0 1.25rem;
  padding: 0;
  border: 0;
}

.news-single .article .header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 1.25rem;
}

.news-single ul.pager {
  margin: 0;
  list-style-type: none;
  display: flex;
  gap: 2.5rem;
  flex: 0 1 6.25rem;
}

.news-single ul.pager li {
  flex: 0 0 1.875rem;
}

.news-single ul.pager li.previous {
  transform: rotate(180deg);
}

.news-single .news-detail-content .teaser-text {
  color: var(--ww-color-black);
  margin-bottom: 2.5rem;
}

.news-single .news-detail-content .teaser-text p {
  font-size: inherit;
  color: inherit;
}

.news-single .article .footer p,
.main-content .news-list-view .footer p {
  line-height: 1.2;
  color: var(--ww-color-black);
}

.main-content .news-list-view .footer p {
  margin: 0;
}

.news-single .article .footer span {
  padding: 0;
  margin: 0;
}

.main-content .news-single .news-list-category,
.main-content .news-list-view .news-list-category {
  list-style-type: none;
  margin-left: 0;
  display: flex;
  gap: 1.25rem;
}

.news-single .news-list-category li,
.main-content .news-list-view .news-list-category li {
  color: var(--ww-color-primary);
  padding: 0.5rem 1rem;
  border: 2px solid var(--ww-color-primary);
  border-radius: var(--ww-border-radius-button);
}

.main-content .news-list-view .news-list-category {
  display: none;
  margin: 0;
  padding: 0;
}

.news .news-list-view.news-list-view-grid .article .footer span.news-list-category {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 2;
  border: 2px solid var(--ww-color-black);
  padding: 0.5rem 1rem;
  border-radius: var(--ww-border-radius-button);
  transition: opacity 300ms ease-out, border-color 300ms ease-out, color 300ms ease-out;
  display: block;
  opacity: 0;
}
.news .news-list-view.news-list-view-grid .article[data-visible-index="0"] .footer span.news-list-category,
.news .news-list-view.news-list-view-grid .article[data-visible-index="1"] .footer span.news-list-category {
  opacity: 1;
}

.news .news-list-view-grid .article[data-visible-index="1"]:hover .footer span.news-list-category {
  color: var(--ww-color-white);
  border-color: var(--ww-color-white);
}

.news .news-list-view.news-list-view-grid .article:hover .footer span.news-list-category {
  opacity: 1;
}

.news-filter-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 1.25rem;
  margin-bottom: 2.5rem;
}

@media screen and (min-width: 64rem) {
  .news-filter-container { 
    column-gap: 12.875rem; 
  }
}

.news-filter-container .custom-select-wrapper {
  flex: 0 0 16rem;
}

.frame-type-marquee-logos {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.frame-type-marquee-logos {
  height: 5rem;
}

.frame-type-marquee-logos .ce-gallery {
  display: inline-block;
  width: 100%;
}

.frame-type-marquee-logos .ce-gallery .ce-column {
  display: inline-block;
  vertical-align: middle;
  padding-right: 4.125rem;
}

@keyframes referencesmarquee {
  0% {
    transform: translte(0, 0);
  }

  100% {
    transform: translate(-50%, 0);
  }
}

.frame-type-marquee-logos .frame-inner {
  animation: referencesmarquee 30s linear infinite;
  float: left;
  overflow: hidden;
  display: block;
  width: 200%;
  position: absolute;
}

.frame-type-columns-33-67 .col-6 .frame-type-marquee-logos .frame-inner {
  margin-top: 0.75rem;
}

.frame-type-marquee-logos .frame-inner[data-index="1"] {
  animation-direction: reverse;
}

.frame-type-marquee-logos .ce-image {
  float: left;
  overflow: hidden;
  white-space: nowrap;
}

@media screen and (min-width: 48rem) {
  .frame-type-marquee-logos .frame-inner {
    animation: referencesmarquee 50s linear infinite;
  }
}

.frame-type-menu_subpages ul {
  list-style-type: none;
  margin-left: 0;
}

.frame-type-menu_subpages ul {
  display: flex;
  gap: 1.25rem;
}

.frame-type-menu_subpages.frame-layout-60 ul {
  display: flex;
  row-gap: 0.5rem;
  column-gap: 2rem;
  flex-direction: column;
  max-height: 6rem;
  flex-wrap: wrap;
  max-width: 18.5rem;
}

.list-downloads {
  list-style-type: none;
  padding: 1.25rem;
  border: 1px solid var(--ww-color-primary);
  border-radius: var(--ww-border-radius);
}

.list-downloads li {
  margin-bottom: 1.25rem;
}

.list-downloads li:last-child {
  margin-bottom: 0;
}

.wrapper-footer .list-downloads {
  margin-top: 1.25rem;
  width: 100%;
  max-width: 28.5rem;
}

.wrapper-footer .link-download {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  width: 100%;
}

.wrapper-footer .link-download path {
  fill: var(--ww-color-primary);
}

.wrapper-footer h3 {
  margin-top: 2.25rem;
}

footer[role="contentinfo"] {
  display: flex;
  flex-wrap: wrap;
  column-gap: 2rem;
}

footer[role="contentinfo"] > * {
  flex: 0 0 100%;
}

@media screen and (min-width: 64rem) {

  footer[role="contentinfo"] > .container-content {
    flex: 0 0 calc(70% - 1rem);
  }

  footer[role="contentinfo"] > .container-cta {
    flex: 0 0 calc(30% - 1rem);
    max-width: calc(30% - 1rem);
    margin-top: auto;
  }
}

@media screen and (min-width: 85.375rem) {

  footer[role="contentinfo"] > .container-content {
    flex: 0 0 calc(80% - 1rem);
  }

  footer[role="contentinfo"] > .container-cta {
    flex: 0 0 calc(20% - 1rem);
    max-width: calc(20% - 1rem);
    margin-top: auto;
  }

  footer[role="contentinfo"] {
    flex-wrap: nowrap;
  }

  .container-content .col-6:first-child {
    flex: 0 0 calc(61% - 1rem);
  }

  .container-content .col-6:last-child {
    flex: 0 0 calc(39% - 1rem);
  }
}

.frame-type-solution .col-6:first-child {
  border-right: 1px solid var(--ww-color-medium-grey);
} 

.frame-type-solution:nth-child(2n) .col-6:first-child {
  border-right: 0;
}

.frame-type-solution:nth-child(2n) .col-6:last-child {
  border-right: 1px solid var(--ww-color-medium-grey);
}

.frame-type-solution .col-headline {
  padding-top: 2.5rem;
}

.frame-type-solution .col-application {
  padding: 2.5rem 1.25rem;
}

.frame-type-solution .col-text {
  padding: 2.5rem 1.25rem;
}

.frame-type-solution .col-image {
  padding: 1.25rem;
  border-bottom: 1px solid var(--ww-color-medium-grey);
  margin-top: 0;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-solution .col-headline {
    padding-top: 10rem;
  }

  .frame-type-solution .col-application {
    padding: 10rem 1.25rem 5rem;
  }

  .frame-type-solution .col-text {
    padding: 1.25rem 9.875rem 1.25rem 1.25rem;
    border-bottom: 1px solid var(--ww-color-medium-grey);
  }

  .frame-type-solution .col-image {
    padding: 1.25rem;
    border-bottom: 1px solid var(--ww-color-medium-grey);
    border-top: 1px solid var(--ww-color-medium-grey);
    margin-top: 0;
  }
}

.frame-type-industry > .frame-inner > .row > .col-6 {
  padding-top: 5rem;
}

.frame-type-industry > .frame-inner > .row > .col-6:last-child {
  padding-top: 0;
}

.frame-type-industry > .frame-inner > .row > .col-6:first-child {
  /* padding-left: 1.25rem; */
  padding-right: 1.25rem;
  border-right: 1px solid var(--ww-color-medium-grey);
}

.frame-type-industry:nth-child(2n) > .frame-inner > .row > .col-6:first-child {
  border-right: 0;
  border-left: 1px solid var(--ww-color-medium-grey);
  padding-left: 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-industry > .frame-inner > .row > .col-6,
  .frame-type-industry > .frame-inner > .row > .col-6:last-child {
    padding-top: 9rem;
  }

  .frame-type-industry:nth-child(2n) > .frame-inner > .row > .col-6:first-child {
    padding-left: min(25.07%, 19.875rem);
  }

}

/* .frame-type-industry .col-6:last-child {
  padding-right: 1.25rem;
} */

.frame-type-solution .col-headline h2 {
  padding: 1.25rem 2.5rem 1.25rem 1.25rem;
  border-bottom: 1px solid var(--ww-color-medium-grey);
}

.frame-type-solution .col-application h5 {
  padding-bottom: 1.25rem;
}

.frame-type-industry + .frame-type-industry {
  border-top: 1px solid var(--ww-color-medium-grey);
}

.frame-type-industry .content-block-headline {
  padding-left: 1.25rem;
  max-width: max(71%, 54.5rem);
}

.frame-type-industry:nth-child(2n) .content-block-headline {
  padding-left: 0;
}

.frame-type-industry .content-block-text {
  display: flex;
  justify-content: flex-end;
  padding-top: 1.25rem;
  padding-left: 1.25rem;
}

.frame-type-industry:nth-child(2n) .content-block-text {
  padding-left: 0;
  padding-right: 1.25rem;
}

.frame-type-industry .content-block-solutionheadline {
  padding: 0 1.25rem 1.25rem;
  border-bottom: 1px solid var(--ww-color-medium-grey);
}

@media screen and (min-width: 85.375rem) {

  .frame-type-industry .content-block-text > .frame {
    flex: 0 0 max(38.25rem, 32.6%);
    max-width: max(38.25rem, 32.6%);
  }

  .frame-type-industry .content-block-solutionheadline {
    padding: 6.25rem 1.25rem 1.25rem;
    border-bottom: 1px solid var(--ww-color-medium-grey);
  }

}

.frame-type-industry:nth-child(2n) .content-block-text > .frame {
  margin-right: 0;
}

.frame-type-industry .content-block-image {
  padding: 1.25rem;
}

.frame-type-industry .content-block-solutions .row-solution-entry {
  padding: 1.25rem 1.25rem;
  border-top: 1px solid var(--ww-color-medium-grey);
}

.frame-type-industry .content-block-solutions .row-solution-entry .col-6 + .col-6 {
  margin-top: 0.625rem;
}

.frame-type-imagemap > .frame-inner > .frame {
  display: flex;
  position: relative;
  flex-wrap: wrap;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-imagemap > .frame-inner > .frame {
    flex-wrap: nowrap;
  }

  .frame-type-industry .content-block-solutions .row-solution-entry .col-6 + .col-6 {
    margin-top: 0;
  }

  .frame-type-industry .content-block-solutions .row-solution-entry {
    padding: 2.5rem 1.25rem;
  }  
}

.frame-type-imagemap .container-image .ce-column {
  position: relative;
}

.frame-type-imagemap .container-image .btn-imagemap-dot {
  position: absolute;
  z-index: 1;
  width: 3.375rem;
  height: 3.375rem;
  padding: 0;
  display: flex;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background-color: var(--ww-color-dark-blue);
  color: var(--ww-color-white);
  transform: translate(-50%,-50%);
  line-height: 1;
  transition: background-color 300ms ease-out, color 300ms ease-out, transform 300ms ease-out, color 300ms ease-out;
  transform-origin: center center;
}

.frame-type-imagemap .container-image.button-active .btn-imagemap-dot {
  background-color: var(--ww-color-white);
  color: var(--ww-color-dark-blue);
}

.frame-type-imagemap .container-image .btn-imagemap-dot:hover {
  transform: translate(-50%, -50%) scale(1.5);
  background-color: var(--ww-color-white);
  color: var(--ww-color-dark-blue);  
}

.frame-type-imagemap .container-image .btn-imagemap-dot.active {
  transform: translate(-50%, -50%) scale(1.5);
  background-color: var(--ww-color-dark-blue);
  color: var(--ww-color-white);
}

.frame-type-imagemap .container-image .frame:last-child {
  position: absolute;
  bottom: 0;
  right: 0;
}

.frame-type-imagemap .container-contents {
  background-color: var(--ww-color-light-grey);
  border-radius: var(--ww-border-radius);
  padding: 1.25rem;
  position: relative;
  overflow: hidden;
}

.frame-type-imagemap .container-contents .list-content {
  list-style-type: none;
  margin-left: 0;
  scrollbar-color: var(--ww-color-black) var(--ww-color-light-grey);
  scrollbar-width: thin;
}

.frame-type-imagemap .container-contents .list-content::-webkit-scrollbar {
  width: 8px;
}

.frame-type-imagemap .container-contents .list-content::-webkit-scrollbar-track {
  background-color: var(--ww-color-light-grey);
  background-color: transparent;
  border: 1px solid var(--ww-color-black);
  border-radius: 1.25rem;
}

.frame-type-imagemap .container-contents .list-content::-webkit-scrollbar-thumb {
  -webkit-box-shadow: none;
  background-color: var(--ww-color-black);
}


@media screen and (min-width: 85.375rem) {
  .frame-type-imagemap .container-contents {
    height: 55.5rem;
    max-height: 82vH;
  }

  .frame-type-imagemap .container-contents .list-content {
    max-height: calc(100% - 4.25rem);
    overflow-x: hidden;
    overflow-y: auto;
  }

}

.frame-type-imagemap .container-contents .list-content li {
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--ww-color-black);
}

.btn-imagemap-list {
  display: flex;
  column-gap: 1.25rem;
  align-items: center;
  width: 100%;
}

.btn-imagemap-list .content-number {
  flex: 0 0 3.375rem;
  height: 3.375rem;
  border-radius: 50%;
  background-color: var(--ww-color-dark-blue);
  color: var(--ww-color-white);
  display: flex;
  align-items: center;
  padding: 0;
  justify-content: center;
  line-height: 1;
}

.btn-imagemap-list .content-label {
  text-align: left;
  white-space: wrap;
  flex: 0 0 calc(100% - 4.875rem);
}

.frame-type-imagemap .container-contents .nav-contents,
.container-interactive-map .detail-navigation {
  display: flex;
  position: absolute;
  bottom: 0.25rem;
  right: 1rem;
  column-gap: 0.5rem;
  opacity: 0;
  z-index: -1;
  transition: opacity 300ms ease-out, z-index 300ms ease-out;
  padding: 0;
}

.frame-type-imagemap .container-contents .nav-contents.active,
.container-interactive-map .detail-active .detail-navigation {
  z-index: 5;
  opacity: 1;
}

.frame-type-imagemap .container-contents .nav-contents .btn-icon,
.container-interactive-map .detail-navigation .btn-detail-navigation {
  color: var(--ww-color-white);
}

.frame-type-imagemap .container-contents .nav-contents .btn-icon path[fill],
.container-interactive-map .detail-navigation .btn-detail-navigation path[fill] {
  fill: var(--ww-color-white);
}

.container-interactive-map.addresses-container .detail-navigation .btn-detail-navigation path[fill] {
  fill: var(--ww-color-black);
}

.frame-type-imagemap .container-contents .nav-contents .btn-content-prev svg,
.container-interactive-map .detail-navigation .btn-detail-prev svg {
  transform: rotate(180deg);
}

.frame-type-imagemap .container-contents .contents {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: var(--ww-color-dark-blue);
  transition: opacity 300ms ease-out, z-index 300ms ease-out;  
}

.frame-type-imagemap .container-contents .contents.active {
  z-index: 2;
  opacity: 1;
}

.frame-type-imagemap .container-contents,
.frame-type-imagemap .container-image { 
  flex: 0 0 100%;
}

.frame-type-imagemap .container-contents {
  margin-top: 2.5rem;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-imagemap > .frame-inner > .frame {
    column-gap: 11.25rem;
    align-items: center;
  }

  .frame-type-imagemap .container-contents {
    flex: 0 0 calc(36% - 5.625rem);
    max-width: calc(36% - 5.625rem);
    order: 0;
    margin-top: 0;
  }

  .frame-type-imagemap .container-image {
    flex: 0 0 calc(64% - 5.625rem);
    max-width: calc(64% - 5.625rem);
    order: 1;
  }
}

.frame-type-webwebrocks-sitepackage-imagemapcontent {
  position: absolute;
  top: 0;
  left: 0;
  padding: 1.25rem;
  height: calc(100% - 4rem);
  overflow-x: hidden; 
  overflow-y: auto;
  opacity: 0;
  z-index: -1;
  transition: opacity 300ms ease-out, z-index 300ms ease-out;  
}

.frame-type-webwebrocks-sitepackage-imagemapcontent.active {
  opacity: 1;
  z-index: 1;
}

.frame-type-webwebrocks-sitepackage-imagemapcontent .frame-inner > header {
  display: flex;
  column-gap: 1.25rem;
  align-items: center;
  margin-bottom: 1.65rem;
  padding-top: 1.25rem;
}

.frame-type-webwebrocks-sitepackage-imagemapcontent .frame-inner > header .btn-icon {
  background-color: var(--ww-color-light-grey);
}

.frame-type-webwebrocks-sitepackage-imagemapcontent p,
.frame-type-webwebrocks-sitepackage-imagemapcontent h5,
.frame-type-webwebrocks-sitepackage-imagemapcontent li {
  color: var(--ww-color-white);
}

.frame-type-webwebrocks-sitepackage-imagemapcontent .ce-content-entry {
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--ww-color-white);
}

.frame-type-webwebrocks-sitepackage-imagemapcontent p.font-size-h6 {
  margin-bottom: 0.625rem;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-text.frame-type-indent-left,
  .frame-type-image.frame-type-indent-left {
    width: calc(50% - 1rem);
    margin-left: auto;
    margin-right: 0;
  }

  .frame-type-text.frame-type-indent-left .ce-text {
    order: 1;
  }

}

.frame-type-responsibility-60-40 .frame-type-text.frame-type-indent-left {
  width: 67%;
}

.frame-type-textpic .ce-textpic.ce-intext {
  display: flex;
  gap: 1.25rem;
}

.frame-type-container-unsolicited-application .ce-textpic.ce-intext {
  gap: 4rem;
}

.frame-type-container-unsolicited-application .frame-type-text .frame-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.frame-type-container-unsolicited-application .frame-type-text header {
  margin-bottom: 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-responsibility-60-40 .frame-type-text.frame-type-indent-left {
    width: 43%;
  }

  .frame-type-textpic.frame-type-indent-right .ce-textpic.ce-intext .ce-bodytext {
    padding-right: 8.625rem;
  }  

  .frame-type-container-unsolicited-application .frame-type-text .frame-inner {
    flex-wrap: nowrap;
  }

  .frame-type-container-unsolicited-application .frame-type-text header {
    margin-bottom: 0;
  }

}

.frame-type-container-header-chronic .row {
  align-items: stretch;
  /* height: calc(var(--ww-viewport-height) - 14rem); */
  /* margin-top: 14rem; */
  z-index: 1;
  position: relative;
}

.frame-type-container-header-chronic .col-6:first-child .ce-gallery {
  max-width: 67%;
}

.frame-type-container-header-chronic .col-6:last-child .ce-gallery {
  max-width: 44%;
  margin-left: 54%;
}

.frame-type-container-header-chronic .col-6:last-child .ce-textpic.ce-intext .ce-gallery {
  order: 1;
}

.frame-type-container-header-chronic .col-6 header {
  margin-left: 27%;
}

.frame-type-container-header-chronic .col-6:first-child header {
  padding-top: 1.25rem;
}

.frame-type-container-header-chronic .col-6 + .col-6 {
  margin-top: 0;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-container-header-chronic .row {
    height: calc(100vH - 15.5rem);
    height: calc(var(--ww-viewport-height) - 15.5rem);
  }

  .frame-type-container-header-chronic .col-6:first-child {
    display: flex;
    flex-direction: column;
  }

  .frame-type-container-header-chronic .col-6:first-child .frame:last-child {
    margin-top: auto;
  }

  .frame-type-container-header-chronic .col-6:first-child .ce-gallery {
    max-width: none;
  }

  .frame-type-container-header-chronic .col-6:last-child .ce-gallery {
    max-width: none;
    margin-left: 0;
  }

  .frame-type-container-header-chronic .col-6:first-child header {
    padding-top: 0;
  }

  .frame-type-container-header-chronic .col-6 header {
    margin-left: 0;
  }

}

.frame-type-container-certificates .row {
  z-index: 1;
  position: relative;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-container-certificates .row {
    height: calc(100vH - 15.5rem);
    height: calc(var(--ww-viewport-height) - 15.5rem);
  }

  .frame-type-container-certificates .row .col-6:first-child figure {
    max-height: calc(100vH - 15.5rem);
    max-height: calc(var(--ww-viewport-height) - 15.5rem);    
  }
}

.frame-type-container-header-chronic:before,
.frame-type-container-header-chronic:after,
.frame-type-container-header-chronic > .frame-inner:before,
.frame-type-container-header-chronic > .frame-inner:after,
.frame-type-container-certificates:before,
.frame-type-container-certificates:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  background-color: var(--ww-color-medium-grey);
  width: 100%;
  height: 1px;
  top: 31.6%;
  left: 0;
}

.frame-type-container-header-chronic > .frame-inner:before {
  top: 79.8%;
  width: 68.5%;
}

.frame-type-container-header-chronic:after,
.frame-type-container-header-chronic > .frame-inner:after  {
  left: 68.5%;
  top: 31.6%;
  height: 84%;
  width: 1px;
}

.frame-type-container-header-chronic:after {
  display: none;
}

.frame-type-container-header-chronic > .frame-inner:after {
  left: 14%;
  top: 79.8%;
  height: calc(20.2% + 10rem); /* cover margin -bottom */
}

.frame-type-container-certificates:after {
  display: none;
}

@media screen and (min-width: 85.375rem) {

  .frame-type-container-header-chronic:after {
    display: block;
  }

  .frame-type-container-header-chronic > .frame-inner:after {
    left: 42%;
    top: 79.8%;
    height: calc(20.2% + 10rem); /* cover margin -bottom */
  }

  .frame-type-container-certificates:after {
    left: 41.8%;
    width: 1px;
    height: 78.4%;
  }

}

.frame-type-textpic .ce-textpic.ce-intext {
  flex-wrap: wrap;
}

.page-layout-30 .frame-type-textpic .ce-textpic.ce-intext {
  flex-wrap: nowrap;
  align-items: center;
}

.frame-type-textpic .ce-textpic.ce-intext .ce-gallery,
.frame-type-textpic .ce-textpic.ce-intext .ce-bodytext {
  flex: 0 0 100%;
}

.page-layout-30 .frame-type-textpic .ce-textpic.ce-intext .ce-gallery {
  flex: 0 0 44%;
}

.page-layout-30 .frame-type-textpic .ce-textpic.ce-intext .ce-bodytext {
  flex: 0 0 56%;
}

.page-layout-30 .frame-type-image .ce-gallery {
  width: 67%;
  margin-left: 33%;
}

.page-layout-30 .contentheader .col-6:first-child .frame:last-child {
  position: absolute;
  bottom: 0;
}

@media screen and (min-width: 85.375rem) {

  .frame-type-textpic .ce-textpic.ce-intext {
    flex-wrap: nowrap;
  }

  .page-layout-30 .frame-type-textpic .ce-textpic.ce-intext {
    align-items: flex-start;
  }  

  .page-layout-30 .frame-type-image .ce-gallery {
    width: 100%;
    margin-left: 0;
  }  

  .page-layout-30 .contentheader .col-6:first-child .frame:last-child {
    position: relative;
    bottom: auto;
  }  

  .frame-type-textpic .ce-textpic.ce-intext .ce-gallery,
  .frame-type-textpic .ce-textpic.ce-intext .ce-bodytext,
  .page-layout-30 .frame-type-textpic .ce-textpic.ce-intext .ce-gallery,
  .page-layout-30 .frame-type-textpic .ce-textpic.ce-intext .ce-bodytext {
    flex: calc(50% - 0.625rem);
  }

  .frame-type-container-unsolicited-application .ce-textpic.ce-intext .ce-gallery,
  .frame-type-container-unsolicited-application .ce-textpic.ce-intext .ce-bodytext {
    flex: calc(50% - 2rem);
  }

  .frame-type-textpic .ce-right .ce-gallery {
    order: 1;
  }

  .frame-type-container-header-chronic .col-6:last-child {
    align-self: flex-end;
  }

  .frame-type-container-header-chronic .frame-type-textpic .ce-right.ce-intext.ce-nowrap {
    margin-left: -9rem;
    align-items: flex-end;
  }

  .frame-type-container-header-chronic .col-6:last-child .frame-type-textpic .frame-inner {
    justify-content: space-between;
  }

  .frame-type-container-header-chronic .frame-type-textpic .ce-bodytext {
    /* padding-bottom: 3.5rem; */
    padding-bottom: 0;
  }

  .frame-type-container-header-chronic .frame-type-textpic .ce-gallery {
    max-width: 28.375rem;
  }

  .frame-type-container-header-chronic .col-6:first-child .image {
    max-height: 25rem;
  }

  .frame-type-container-header-chronic .col-6:last-child .image {
    max-height: 37.5rem;
  }

}

.frame-type-responsibility-40-60 {
  padding-top: 10rem;
  padding-bottom: 5.125rem;
  position: relative;
}

.frame-type-responsibility-60-40 {
  padding-top: 5rem;
  padding-bottom: 5rem;
  position: relative;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-responsibility-60-40 {
    padding-top: 8.75rem;
    padding-bottom: 12.75rem;
  }
}

.frame-type-responsibility-60-40 .frame-type-indent-left {
  margin-top: 2.5rem;  
}

.frame-type-responsibility-40-60 > .frame-inner,
.frame-type-responsibility-60-40 > .frame-inner {
  z-index: 1;
  position: relative;
}

.frame-type-responsibility-40-60:before,
.frame-type-responsibility-60-40:before {
  content: "";
  position: absolute;
  bottom: 14.375rem;
  left: 1.25rem;
  width: calc(100% - 1.25rem);
  height: 1px;
  background-color: var(--ww-color-dark-blue);
  display: block;
  z-index: 0;
}

.frame-type-responsibility-60-40:before {
  background-color: var(--ww-color-white);
  left: auto;
  right: 17.5%;
  height: 25%;
  width: 1px;
  top: 75%;
}

.frame-type-responsibility-40-60 .col-6:first-child {
  align-self: flex-end;
  order: 1;
  margin-top: 2.5rem;
}

.frame-type-responsibility-40-60 .ce-text h2 + p .btn-primary {
  margin-top: 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-responsibility-60-40:before {
    height: 50%;
    top: 50%;
  }

  .frame-type-responsibility-40-60 .col-6:first-child {
    order: 0;
    margin-top: 0;
  }  

  .frame-type-responsibility-40-60 .col-6:last-child {
    padding-bottom: 17.5rem;
  }

  .frame-type-responsibility-40-60 .ce-text h2 + p .btn-primary {
    margin-top: 3.25rem;
  }

}


.frame-type-responsibility-60-40 h2, 
.frame-type-responsibility-60-40 p,
.frame-type-responsibility-60-40 li,
.frame-type-image-overlay-sticky h2, 
.frame-type-image-overlay-sticky p,
.frame-type-image-overlay-sticky li {
  color: var(--ww-color-white);
}

.frame-type-image-overlay-sticky {
  position: relative;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-image-overlay-sticky {
    height: 275vH;
  }
}

.frame-type-image-overlay-sticky .ce-gallery {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.frame-type-image-overlay-sticky .ce-gallery .ce-column {
  height: 100%;
}

.frame-type-image-overlay-sticky .ce-gallery .image {
  position: relative;
  height: 100%;
}

.frame-type-image-overlay-sticky .ce-gallery .image:after {
  content: "";
  background-color: rgba(0,0,0,0.4);
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.frame-type-image-overlay-sticky .ce-gallery img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-image-overlay-sticky .sticky-fixed-content {
    position: relative;
    height: 100vH;
    height: var(--ww-viewport-height);
    overflow: hidden;
  }

  .frame-type-image-overlay-sticky .ce-gallery .ce-column,
  .frame-type-image-overlay-sticky .ce-gallery .image {
    height: auto;
  }

  .frame-type-image-overlay-sticky .ce-gallery img {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: unset;
  }  
}

.frame-type-image-overlay-sticky header {
  position: relative;
  z-index: 1;
  padding: 8.125rem 1.25rem 0 1.25rem;
}

.frame-type-image-overlay-sticky header h2:after {
  content: "";
  width: 8.75rem;
  height: 3.75rem;
  display: inline-block;
  border-top: 1px solid var(--ww-color-white);
  border-bottom: 1px solid var(--ww-color-white);
  margin-left: 50%;
  transform: translate(-50%, 0);
  margin-top: 5rem;
}

.frame-type-image-overlay-sticky .ce-textpic {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - 2.5rem);
  margin: 5rem auto 0;
  padding-bottom: 5rem;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-image-overlay-sticky header {
    flex: 0 0 42%;
    height: 100vH;
    height: var(--ww-viewport-height);
    /* position: relative;
    z-index: 1; */
    display: flex;
    align-items: center;
    padding: 0 0 0 1.25rem;
  }

  .frame-type-image-overlay-sticky header h2:after {
    content: "";
    width: 8.75rem;
    height: 3.75rem;
    display: inline-block;
    border-top: 1px solid var(--ww-color-white);
    border-bottom: 1px solid var(--ww-color-white);
    margin-left: 5rem;
    margin-top: 0;
    transform: translate(0, 0);
  }

  .frame-type-image-overlay-sticky .ce-textpic {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 49%;
    margin: 0 0 0 auto;
    padding-bottom: 0;
  }

  .frame-type-image-overlay-sticky .ce-bodytext p .splitline {
    opacity: 0;
  }
}

.frame-type-image-overlay-sticky .ce-bodytext p.font-size-h2 + p.font-size-h2 {
  margin-top: 4.75rem;
}

.frame-type-container-header-competences {
  position: relative;
}

.frame-type-container-header-competences > .frame-inner,
.frame-type-container-together > .frame-inner {
  position: relative;
  z-index: 1;
}

.frame-type-container-header-competences .frame-inner .row {
  min-height: calc(100vH - 15.5rem);
  min-height: calc(var(--ww-viewport-height) - 15.5rem);
  z-index: 1;
  position: relative;
}

.page-layout-30 .contentheader-content .frame-inner .row {
  z-index: 1;
  position: relative;
  padding-bottom: 5rem;
}

@media screen and (min-width: 85.375rem) {
  .page-layout-30 .contentheader-content .frame-inner .row {
    max-height: calc(100vH - 15.5rem);
    max-height: calc(var(--ww-viewport-height) - 15.5rem);
    padding-bottom: 0;
  }

  .page-layout-30 .contentheader-content .frame-inner .row .col-6:first-child figure {
    max-height: calc(100vH - 24rem);
    max-height: calc(var(--ww-viewport-height) - 24rem);
  }

  .page-layout-30 .contentheader-content .frame-inner .row .col-6:first-child .ce-bodytext {
    margin-top: 4rem;
  }

  .frame-type-container-header-competences .frame-inner .row .col-6:first-child figure {
    max-height: calc(100vH - 27.125rem);
    max-height: calc(var(--ww-viewport-height) - 27.125rem);
  }

  .frame-type-container-header-competences .frame-inner .row .col-6:last-child figure {
    max-height: calc(100vH - 24rem);
    max-height: calc(var(--ww-viewport-height) - 24rem);
  }
}

.frame-type-container-header-competences:before,
.frame-type-container-header-competences:after,
.frame-type-container-together:before,
.frame-type-container-together:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  background-color: var(--ww-color-medium-grey);
  width: 100%;
  height: 1px;
  top: 22%;
  left: 0;
}

.frame-type-container-header-competences:before {
  left: -1.25rem;
  width: calc(100% + 2.5rem);
}

.frame-type-container-together:before {
  top: 12rem;
}

.frame-type-container-header-competences:after,
.frame-type-container-together:after {
  left: 90%;
  top: 22%;
  height: 78%;
  width: 1px;
}

.frame-type-container-together:after {
  top: 12rem;
  height: 100vH;
}

.frame-type-container-header-competences .col-6:last-child {
  display: flex;
  flex-direction: column;
}

.frame-type-container-header-competences .col-6:first-child .frame:last-child {
  align-self: flex-end;
}

.frame-type-container-header-competences .col-6:first-child .frame:last-child .ce-gallery {
  margin-left: 28%;
}

.frame-type-container-header-competences .col-6:last-child .frame:first-child .ce-gallery {
  margin-right: 28%;
}

.frame-type-container-header-competences .col-6:first-child h1 {
  margin-bottom: 1.25rem;
}

.frame-type-container-header-competences .col-6:last-child h1 {
  margin-top: 1.25rem;
  text-align: right;
}

.frame-type-container-header-competences .col-6:last-child .frame-type-header {
  margin-top: auto;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-container-header-competences .col-6:first-child h1 {
    margin-bottom: 3.125rem;
  }

  .frame-type-container-header-competences .col-6:last-child h1 {
    margin-top: 0;
    text-align: left;
  }

  .frame-type-container-header-competences .col-6:first-child .frame:last-child .ce-gallery {
    margin-left: 0;
  }

  .frame-type-container-header-competences .col-6:last-child .frame:last-child .ce-gallery {
    margin-right: 0;
  }
}

.frame-type-container-competences .col-sticky .container-sticky {
  display: none;
}

.frame-type-container-competences .col-sticky .frame-type-webwebrocks-sitepackage-lottietextbox .col-8 {
  flex: 0 0 100%;
  max-width: 100%;
}

.frame-type-container-competences .col-sticky .frame-type-webwebrocks-sitepackage-lottietextbox .ce-gallery {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 18.75rem;
  opacity: 0;
  transition: opacity 300ms ease-out;
}

.frame-type-container-competences .col-sticky .frame-type-webwebrocks-sitepackage-lottietextbox.active .ce-gallery {
  opacity: 1;
}

.frame-type-container-competences .col-scroll .frame header {
  margin-bottom: 1.25rem;
}

.frame-type-container-competences .col-scroll .frame.frame-type-webwebrocks-sitepackage-lottietextbox {
  margin-top: 1.25rem;
  margin-bottom: 5rem;
}

.container-lottiebox .frame.frame-type-webwebrocks-sitepackage-lottietextbox figure.image-lottie {
  max-width: 18.75rem;
  margin-left: auto;
  margin-right: auto;
}

.frame-type-container-competences .col-scroll .frame.frame-type-webwebrocks-sitepackage-lottietextbox figure.image-lottie {
  margin-left: 0;
}

@media screen and (min-width: 85.375rem) {

  .frame-type-container-competences .col-sticky .container-sticky {
    display: block;
    height: calc(100vH - 14rem);
    height: calc(var(--ww-viewport-height) - 14rem);
    position: sticky;
    top: 8.875rem;
  }

  .frame-type-container-competences .col-scroll .frame {
    margin-bottom: 20rem;
  }

  .frame-type-container-competences .col-scroll .frame header {
    display: none;
  }

  .frame-type-container-competences .col-scroll .frame-type-webwebrocks-sitepackage-lottietextbox {
    display: none;
  }

  .container-lottiebox .frame.frame-type-webwebrocks-sitepackage-lottietextbox figure.image-lottie {
    max-width: none;
    margin-left: 0;
  }

}

.frame-type-container-competences .frame-type-webwebrocks-sitepackage-lottietextbox h2 {
  color: var(--ww-color-dark-grey);
  transition: color 300ms ease-out;
}

.frame-type-container-competences .frame-type-webwebrocks-sitepackage-lottietextbox.active h2 {
  color: var(--ww-color-black);
}

.frame-inner-arrow-deco {
  position: relative;
}

.frame-inner-arrow-deco .col-6:first-child .ce-textpic {
  display: flex;
    flex-wrap: wrap;
}

.frame-inner-arrow-deco .col-6:first-child .ce-gallery {
  order: 1;
  margin-top: 1.25rem;
  flex: 0 0 100%;
}

.frame-inner-arrow-deco .svgicon-arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  background-color: var(--ww-color-primary);
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translate(-50%, -50%);
}  

@media screen and (min-width: 64rem) {
  .frame-inner-arrow-deco .col-6:first-child .ce-gallery {
    order: 0;
    margin-top: 0;
  }
}

@media screen and (min-width: 85.375rem) {
  .frame-inner-arrow-deco .col-6:first-child .ce-gallery {
    order: 0;
    margin-top: 0;
  }

  .frame-inner-arrow-deco .svgicon-arrow {
    top: 40%;
    width: 3.375rem;
    height: 3.375rem;
    transform: translate(-50%, 0);
  }  
}

.page-layout-30 .contentheader-content .frame-type-twocolumns {
  position: relative;
}

.page-layout-30 .contentheader-content .frame-type-twocolumns:before,
.page-layout-30 .contentheader-content .frame-type-twocolumns:after,
.page-layout-30 .contentheader-content .frame-type-twocolumns > .frame-inner:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  background-color: var(--ww-color-medium-grey);
  width: 100%;
  height: 1px;
  top: 10.4%;
  left: 0;
}

.page-layout-30 .contentheader-content .frame-type-twocolumns:before {
  left: 0;
  width: 100%;
}

.page-layout-30 .contentheader-content .frame-type-twocolumns > .frame-inner:before {
  top: 82%;
}

.page-layout-30 .contentheader-content .frame-type-twocolumns:after  {
  left: 60%;
  top: 10.4%;
  height: 62%;
  width: 1px;
}

.frame-type-container-workflow {
  position: relative;
}

.frame-type-container-workflow .col-3 + .col-3 {
  margin-top: 1.25rem;
}

.frame-type-container-workflow .frame-type-text > .frame-inner {
  display: flex;
  flex-direction: column; 
  justify-content: space-between;
  height: 16rem;
  border: 1px solid var(--ww-color-primary);
  border-radius: var(--ww-border-radius);
  padding: 1.25rem;
  transition: background-color 300ms ease-out;
}

.frame-type-container-workflow .frame-type-text > .frame-inner:hover {
  background-color: var(--ww-color-primary);
} 

.frame-type-container-workflow .frame-type-text > .frame-inner .font-size-h5 {
  margin-bottom: 1.25rem;    
}

.container-animation-arch {
  display: none;
}

@media screen and (min-width: 85.375rem) {
 
  .frame-type-container-workflow .col-3 + .col-3 {
    margin-top: 0;
  }

  .frame-type-container-workflow .frame-type-text > .frame-inner {
    min-height: 28.125rem;
    height: auto;
  }

  .container-animation-arch {
    display: flex;
    margin-bottom: 1.25rem;
    column-gap: 1.25rem;
  }

  .container-animation-arch .svgicon-arch svg {
    margin-left: auto;
    margin-right: calc(-26% - 1.25rem);
  }

}

.container-animation-arch path {
  stroke-dasharray: 600; /* big enough for arch */
  stroke-dashoffset: 600;
  animation: none;
}

  /* arch animation */
.container-animation-arch.animate path.arch {
  animation: draw-arch 2s forwards;
}

.container-animation-arch.animate .svgicon:nth-child(2) path.arch {
  animation: draw-arch 2s forwards 1.5s;
}

.container-animation-arch.animate .svgicon:nth-child(3) path.arch {
  animation: draw-arch 2s forwards 3s;
}

  /* arrowhead animation (starts after arch finishes) */ 
.container-animation-arch.animate path.arrowhead {
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  animation: draw-arrowhead 1s forwards 1s; 
}

.container-animation-arch.animate .svgicon:nth-child(2) path.arrowhead {
  animation: draw-arrowhead 1s forwards 2.5s; 
}

.container-animation-arch.animate .svgicon:nth-child(3) path.arrowhead {
  animation: draw-arrowhead 1s forwards 4s; 
}

@keyframes draw-arch {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes draw-arrowhead {
  to {
    stroke-dashoffset: 0;
  }
}

.frame-type-container-careers .frame-type-textpic {
  border-radius: var(--ww-border-radius);
}

.frame-type-container-careers .frame-type-textpic > .frame-inner {
  display: flex;
  min-height: 20rem;
  padding: 1.25rem;
}

.frame-type-container-careers .frame-type-textpic .ce-textpic.ce-left.ce-nowrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.frame-type-container-careers .col-3 + .col-3 {
  margin-top: 1.25rem;
}

.frame-type-container-careers .frame-type-textpic .ce-textpic.ce-left.ce-nowrap .ce-gallery {
  flex: 0 0 auto;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-container-careers .col-3 + .col-3 {
    margin-top: 0;
  }

  .frame-type-container-careers .frame-type-textpic > .frame-inner {
    min-height: 28.125rem;
  }  
}

.frame-type-container-careers .frame-type-textpic .ce-textpic.ce-left.ce-nowrap header {
  margin-bottom: 1.25rem;
}

.frame-type-container-careers .frame-type-textpic .ce-textpic.ce-left.ce-nowrap .ce-bodytext {
  flex: 0 0 auto;
}

.frame-type-container-careers .frame-type-textpic .ce-textpic.ce-left.ce-nowrap .image {
  border-radius: 0;
}

/* --------------------------------------------------- menuSectionPages BEGIN */

.menu-section-pages-items {
  list-style-type: none;
}

.menu-section-pages-items .font-size-h5 {
  margin-bottom: 0.625rem;
}

.menu-section-pages-items .font-size-h5 a {
  font-size: inherit;
}

.contentheader-content-industries .font-size-h5 a {
  color: var(--ww-color-white);
}

.menu-section-pages-items.menu-items-pages {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.125rem;
  margin: 25% auto 0;
}

.menu-section-pages-items.menu-items-pages > li {
  flex: 0 0 100%;
  margin-bottom: 2.5rem;
}

.menu-section-pages-items.menu-items-pages > li figure {
  margin-bottom: 1.25rem;
  position: relative;
  max-width: 12.5rem;
  margin-left: 0;
  margin-right: 0;
}

/* .contentheader-content-industries .menu-section-pages-items.menu-items-pages {
  width: 80%;
  align-items: center;
} */

@media screen and (min-width: 64rem) {

  .menu-section-pages-items.menu-items-pages {
    margin: 20vH auto 0;
  }  

  .menu-section-pages-items.menu-items-pages {
    column-gap: 1.125rem;
  }

  .menu-section-pages-items.menu-items-pages > li {
    flex: 0 0 calc(50% - 0.625rem);
  }

  .menu-section-pages-items.menu-items-pages > li figure {
    margin-left: 0;
    margin-right: 0;
  }

  .contentheader-content-industries .menu-section-pages-items.menu-items-sections {
    height: auto;
    overflow: hidden;
  }  

  .contentheader-content-industries .menu-section-pages-items.menu-items-pages > li {
    flex: 0 0 calc(33.33% - 0.75rem);
  }  
}

@media screen and (min-width: 85.375rem) {
  .menu-section-pages-items.menu-items-pages {
    flex-wrap: nowrap;
    width: 64%;
    margin: 25vH auto 0;
  }

  .menu-section-pages-items.menu-items-pages > li {
    flex: 0 0 calc(25% - 0.8rem);
    margin-bottom: 0;
  }

  .menu-section-pages-items.menu-items-pages > li figure {
    margin-bottom: 2.5rem;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .contentheader-content-industries .menu-section-pages-items.menu-items-pages {
    width: 80%;
    align-items: center;
  }  

  .contentheader-content-industries .menu-section-pages-items.menu-items-pages > li {
    flex: 0 0 calc(20% - 0.8rem);
    opacity: 0.6;
  }

  .contentheader-content-industries .menu-section-pages-items.menu-items-sections {
    height: 0;
    overflow: hidden;
  }

}

.contentheader-content-industries .menu-section-pages-items.menu-items-pages > li:hover {
  opacity: 1;
}

.menu-section-pages-items.menu-items-pages > li svg {
  width: 100%;
  aspect-ratio: 148/205;
}

.menu-section-pages-items.menu-items-pages > li .container-lottie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.menu-section-pages-items.menu-items-pages > li .container-lottie:before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: calc(100% - 6px);
  height: calc(100% - 7px);
  z-index: 0;
  background-color: var(--ww-color-white);
  border-radius: var(--ww-border-radius);
  display: block;
  opacity: 0;
  transition: opacity 300ms ease-out;
}

.menu-section-pages-items.menu-items-pages > li:hover figure > svg {
  opacity: 0;
}

.menu-section-pages-items.menu-items-pages > li:hover .container-lottie {
  opacity: 1;
}

.menu-section-pages-items.menu-items-pages > li:hover .container-lottie:before {
  opacity: 1;
}

.menu-section-pages-items.menu-items-sections a {
  font-size: 0.875rem;
  padding: 0.3125rem 0;
  display: inline-block;
}

@media screen and (min-width: 85.375rem) {
  .menu-section-pages-items.menu-items-sections a {
    padding: 0;
    display: initial;
  }

  /* .contentheader-content-industries .menu-section-pages-items.menu-items-sections {
    height: 0;
    overflow: hidden;
  } */

  .contentheader-content-industries .menu-section-pages-items.menu-items-sections.has-transition {
    transition: height 200ms ease-out;
  }

  .contentheader-content-industries .menu-section-pages-items.menu-items-pages > li:hover .menu-items-sections,
  .contentheader-content-industries .menu-section-pages-items.menu-items-pages > li.hover .menu-items-sections {
    height: auto;
  }

}

.contentheader-content-industries .menu-section-pages-items.menu-items-sections a {
  color: var(--ww-color-white);
}

/* --------------------------------------------------- menuSectionPages END */

/* --------------------------------------------------- collapse BEGIN */

.collapse-permanent {
  cursor: pointer;
  position: relative;
}

.collapse-permanent .svgicon {
  position: absolute;
  right: 0;
  top: 0.3.75rem; 
  width: 2.5rem;
  height: 2.5rem;
}

@media screen and (min-width: 85.375rem) {
  .collapse-permanent .svgicon {
    right: 1.25rem;
  }
}

.collapse-permanent .svgicon-minus {
  display: none;
}

.collapse-entry.active .collapse-permanent .svgicon-minus {
  display: block;
}

.collapse-entry.active .collapse-permanent .svgicon-plus {
  display: none;
}

.collapse-flexible {
  height: 0;
  overflow: hidden;
}

.collapse-flexible.has-transition {
  transition: height 300ms ease-out;
}

.collapse-flexible.active {
  height: auto;
}

/* --------------------------------------------------- collapse END */

/* --------------------------------------------------- jobs BEGIN */

.joblist-servicearea + .joblist-servicearea {
  margin-top: 5rem;
}

.joblist-headline,
.joblist-servicearea h3 {
  color: var(--ww-color-primary);
}

.joblist-headline {
  margin-bottom: 2.5rem;
}

.joblist-headline sup {
  font-size: 0.7em;
  padding-left: 1rem;
}

.joblist-servicearea > header {
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--ww-color-medium-grey);
}

.joblist-item.has-transition {
  transition: height 300ms ease-out, margin 300ms ease-out;
}

.joblist-item.hidden {
  height: 0;
  overflow: hidden;
}

.joblist-item-inner {
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--ww-color-medium-grey);
}

.joblist-item-permanent {
  padding: 1.25rem 0;
  align-items: flex-start;
}

.joblist-item-permanent h4,
.joblist-item-permanent p {
  margin-bottom: 0;
  flex: 0 0 calc(100% - 3.125rem);
  max-width: calc(100% - 3.125rem);
}

.joblist-item-permanent .btn-primary {
    margin-top: 1.25rem;
   padding: 0.8rem 1rem;
}

@media screen and (min-width: 85.375rem) {

  .joblist-item-inner {
    padding: 1.25rem 0;
  }

  .joblist-item-permanent {
    padding: 1.25rem;
    align-items: center;
  }

  .joblist-item-permanent h4 {
    flex: 0 0 calc(50% - 1rem);
    max-width: calc(50% - 1rem);
  }

  .joblist-item-permanent p {
    flex: 1 1 auto;
    max-width: none;
  }  

  .joblist-item-permanent .joblist-item-country {
    flex: 0 0 7.3%;
    max-width: 8.625rem;
  }

  .joblist-item-permanent .joblist-item-company {
    flex: 0 0 15.7%;
    max-width: 18.5rem;
  }  

  .joblist-item-permanent .btn-primary {
    margin-top: 0;
  }
}

.joblist-item-flexible .flexible-inner {
  padding: 1.25rem;
}

.joblist-item-flexible .flexible-inner .ce-text-block + .ce-text-block {
  margin-top: 1.25rem;
}

.joblist-item-flexible .flexible-inner .ce-text-block h5 {
  margin-bottom: 0.25rem;
}

.joblist-filter {
  overflow-y: hidden;
  overflow-x: auto;
  border-top: 1px solid var(--ww-color-medium-grey);
  margin-bottom: 2.5rem;
  position: relative;
}

.joblist-filter-items {
  list-style-type: none;
  display: flex;
  gap: 2.5rem;
  flex-wrap: nowrap; 
}

.main-content ul.joblist-filter-items {
  margin-left: 0;
}

.joblist-filter-items li {
  position: relative;
  padding: 2.5rem 0; 
}

.joblist-filter-items:after,
.joblist-filter-items li.active:after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  height: 1px;
  display: block;
  background-color: var(--ww-color-medium-grey);
  z-index: 0;
}

.joblist-filter-items li.active:after {
  background-color: var(--ww-color-primary);
  z-index: 1;
}

.joblist-filter .btn {
  padding: 0;
  color: var(--ww-color-primary);
  white-space: nowrap;
}

/* --------------------------------------------------- jobs END */

/* --------------------------------------------------- contactform BEGIN */

.frame-type-contact-intro .frame-inner {
  border: 1px solid var(--ww-color-black);
  border-radius: var(--ww-border-radius);
  padding: 1.25rem;
  margin-bottom: 2.5rem;
}

.frame-type-contact-intro header {
  margin-bottom: 2rem;
}

.frame-type-contact-intro .ce-text {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: nowrap;
}

.frame-type-contact-intro.success .frame-inner {
  background-color: var(--ww-color-black);
}

.frame-type-contact-intro.success h3,
.frame-type-contact-intro.success .ce-text p,
.frame-type-contact-intro.success .ce-text a {
  color: var(--ww-color-medium-grey);
}

.frame-type-contact-intro .ce-text p {
  max-width: 28.75rem;
}

.frame-type-contact-intro .step-counter {
  white-space: nowrap;
}

.contact-form.hidden {
  display: none;
}

.contact-form-success,
.contact-form-error, 
.contact-form-error-file {
  display: none;
} 

.contact-form-success.active,
.contact-form-error.active, 
.contact-form-error-file.active {
  display: block;
}

.container-contact-form fieldset {
  height: 0;
  overflow: hidden;
}

.container-contact-form fieldset.has-transition { 
  transition: height 300ms ease-out;
}

.container-contact-form fieldset.active {
  height: auto;
  overflow: initial;
}

.container-contact-form fieldset.active.has-transition {
  overflow: hidden;
}

input,
textarea,
select,
.custom-select-selected  {
  padding: 1.25rem;
  border: 1px solid var(--ww-color-black);
  background-color: var(--ww-color-medium-grey);
  width: 100%;
  border-radius: var(--ww-border-radius);
  max-width: 100%;
}

.news-filter-container .custom-select-selected {
  background-color: var(--ww-color-white);
  padding: 0.625rem 1.25rem;
  border-color: var(--ww-color-dark-grey);
  color: var(--ww-color-dark-grey);
}

.news-filter-container .custom-select-selected i path[fill] {
  fill: var(--ww-color-dark-grey);
}

.flyout-search input {
  background-color: var(--ww-color-white);
  border-color: transparent;
  padding: 1rem;
  line-height: 2.1;
}

input:focus,
input:hover {
  outline: 0;
  box-shadow: 0;
}

select.hidden {
  display: none;
}

.form-property {
  position: relative;
  padding-top: 2.5rem;
}

.form-property.label-static {
  padding-top: 0;
}

.form-property.hidden {
  display: none;
}

.form-property label {
  position: absolute;
  top: 0.75rem;
  left: 0;
  opacity: 0;
  z-index: 0;
  transform: translate(0, 1rem);
  transition: transform 300ms ease-out, opactiy 300ms ease-out;
}

.flyout-search label {
  display: none;
}

.form-property.label-static label {
  position: relative;
  top: auto;
  left: auto;
  padding-bottom: 1.25rem;
  display: block;
}

.form-property.has-value label,
.form-property label.always-visible {
  opacity: 1;
  transform: translate(0, 0);
}

.form-property.error input,
.form-property.error textarea,
.form-property.error select {
  border-color: var(--ww-color-primary);
}

.container-contact-form .form-buttons {
  margin-top: 2.5rem;
}

.container-contact-form .btn-submit {
  border: 1px solid var(--ww-color-black);
  margin-left: auto;
  padding: 0.75rem 1rem;
  background-color: var(--ww-color-black);
  color: var(--ww-color-medium-grey);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1rem;
  flex-wrap: nowrap;
}

.container-contact-form .btn-submit i {
  flex: 0 0 2rem;
  display: none;
}

.container-contact-form form.submitting .btn-submit i {
  display: initial;
}

@media screen and (min-width: 85.375rem) {
  .container-contact-form .btn-submit {
    min-width: 18.375rem;
  }
}

.container-contact-form .btn-submit:disabled {
  background-color: var(--ww-color-dark-grey);
  cursor: default;
}

.container-contact-form .btn-cancel {
  border-radius: 50%;
  background-color: var(--ww-color-black);
  display: none;
  flex: 0 0 3.375rem;
  height: 3.375rem;
}

.container-contact-form .btn-cancel.active {
  display: flex;
}

.container-contact-form .btn-cancel i svg {
  transform: rotate(180deg);
}

.container-contact-form .btn-cancel i path[fill] {
  fill: var(--ww-color-medium-grey);
}

.form-property .col-6 + .col-6 {
  margin-top: 1.25rem;
}

fieldset .col-6 + .col-6 {
  margin-top: 0;
}

@media screen and (min-width: 85.375rem) {
  .form-property .col-6 + .col-6 {
    margin-top: 0;
  }
}

.form-property .custom-select-list li {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.form-property .custom-select-list li i {
  flex: 0 0 1.5rem;
}

.form-property .custom-select-selected i:first-child {
  position: relative;
  right: auto;
  top: auto;
  width: 1.25rem;
  margin-right: 0.625rem;
  display: inline-block;
}

.form-property.has-custom-selectbox {
  padding-top: 0;
}

.form-property.has-custom-selectbox[data-col-class="col-auto"] {
  gap: 1.25rem;
  justify-content: center;
}

.form-property.has-custom-selectbox label {
  position: relative;
  padding-bottom: 1.25rem;
  flex: 0 0 100%;
}

.form-property .btn-custom-selectbox {
  padding: 1.875rem 2rem;
  border: 1px solid var(--ww-color-black);
  border-radius: var(--ww-border-radius);
}

.form-property .btn-custom-selectbox.hi dden {
  display: none;
}

.form-property .btn-custom-selectbox.col-auto {
  padding: 0.5rem 1rem;
}

.form-property .btn-custom-selectbox.col-3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 4rem 1.25rem;
  height: 25rem;
}

.form-property .btn-custom-selectbox.col-3 + .col-3 {
  margin-top: 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .form-property.has-custom-selectbox[data-col-class="col-auto"] {
    justify-content: flex-start;
  }

  .form-property .btn-custom-selectbox {
    padding: 3.75rem 2rem;
  }

  .form-property .btn-custom-selectbox.col-3 + .col-3 {
    margin-top: 0;
  }

}

.form-property .btn-custom-selectbox figure {
  transition: flex 300ms ease-out;
  flex: 0 0 11.875rem;
  overflow: hidden;
}

.form-property .btn-custom-selectbox.selected figure {
  flex: 0 0 5.625rem;
}

.form-property .btn-custom-selectbox figure svg {
  height: 100%;
  width: auto;
}

.form-property .btn-custom-selectbox.selected {
  color: var(--ww-color-medium-grey);
  background-color: var(--ww-color-black);
}

.form-property .btn-custom-selectbox.selected p,
.form-property .btn-custom-selectbox.selected li {
  color: var(--ww-color-medium-grey);
}

.form-property .btn-custom-selectbox.selected.col-3 {
  padding: 2.5rem 1.25rem;
}

.form-property .btn-custom-selectbox.selected path[stroke] {
  stroke: var(--ww-color-medium-grey);
}

.form-property .btn-custom-selectbox .select-sublist {
  list-style-type: none;
  height: 0;
  overflow: hidden;
  opacity: 0;
}

.form-property .btn-custom-selectbox .select-sublist.active {
  height: auto;
  overflow: initial;
  opacity: 1;
}

.form-property .btn-custom-selectbox .select-sublist.has-transition {
  transition: height 300ms ease-out, opacity 300ms ease-out;
  overflow: hidden;
}

.main-content .form-property .btn-custom-selectbox .select-sublist {
  margin-left: 0;
}

.custom-select-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.custom-select-selected {
  cursor: pointer;
  margin-bottom: 0;
  position: relative;
}

.custom-select-selected i {
  position: absolute;
  right: 1.25rem;
  top: 1.5rem;
  width: 2.125rem;
}

.news-filter-container .custom-select-selected i {
  width: 1.875rem;
  top: 0.9rem;
}

.custom-select-selected i svg {
  transition: transform 200ms ease-out;
}

.open .custom-select-selected i svg {
  transform: rotate(180deg);
}

.custom-select-list-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  background: var(--ww-color-medium-grey);
  border: 1px solid var(--ww-color-black);
  border-radius: var(--ww-border-radius);
  margin: 0.625rem 0 0 0;
  padding: 0.625rem 0;
  display: none;
  max-height: 12.5rem;
  z-index: 10;
  overflow: hidden;
}

.news-filter-container .custom-select-list-wrapper {
  background: var(--ww-color-white);
  border-color: var(--ww-color-dark-grey);
}

.custom-select-list {
  scrollbar-color: var(--ww-color-black) transparent;
  scrollbar-width: thin;
  height: 100%;
  max-height: 11.25rem;
  overflow-y: auto;
  list-style: none;
}

.main-content .custom-select-list {
  margin-left: 0;
}

.custom-select-wrapper.open .custom-select-list-wrapper {
  display: block;
}

.custom-select-list li {
  padding: 0.5rem;
  cursor: pointer;
}

.news-filter-container .custom-select-list li {
  color: var(--ww-color-dark-grey);
}

.custom-select-list li:hover {
  background: var(--ww-color-light-grey);
}

@media screen and (min-width: 85.375rem) {
  .form-property.has-custom-checkbox {
    padding-top: 0;
  }
}

.form-property.has-custom-checkbox .font-size-h5 {
  margin-bottom: 0.5rem;
}

.form-property.has-custom-checkbox label {
  display: flex;
  column-gap: 2rem;
  align-items: center;
  position: relative;
}

.form-property.has-custom-checkbox label i {
  border: 1px solid var(--ww-color-black);
  border-radius: var(--ww-border-radius-button);
  flex: 0 0 2rem;
  height: 2rem;
}

.form-property.has-custom-checkbox label i svg {
  width: 100%;
  opacity: 0;
  transition: opacity 200ms ease-out;
}

.form-property.has-custom-checkbox label.checked i svg {
  opacity: 1;
}

.form-property.has-custom-checkbox input[type="checkbox"] {
  display: none;
}

.form-property-file-upload {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

.custom-file-dropzone {
  border: 1px solid var(--ww-color-black);
  border-radius: var(--ww-border-radius);
  padding: 1.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--ww-color-black);
  cursor: pointer;
  transition: background-color 300ms ease-out, border-color 300ms ease-out;
  flex: 1 0 auto;
}

.custom-file-dropzone.dragover { 
  background: var(--ww-color-dark-grey);
  border-color: var(--ww-color-white);
}

.custom-file-dropzone.dragover path[fill] {
  transition: fill 300ms ease-out;
}

.custom-file-dropzone.dragover path[fill] { 
  fill: var(--ww-color-white);
}

.custom-file-list {
  list-style: none;
  padding: 1.25rem;
  border: 1px solid var(--ww-color-black);
  border-radius: var(--ww-border-radius);
  display: none;
}

.custom-file-list:has(li) {
  display: initial;
  margin-top: 1.25rem;
}

.main-content .custom-file-list {
  margin-left: 0;
}

.custom-file-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.25rem 0;
}

.custom-file-item:first-child {
  padding-top: 0;
}

.custom-file-item:last-child {
  padding-bottom: 0;
}

.custom-file-item + .custom-file-item {
  border-top: 1px solid var(--ww-color-black);
}

.btn-custom-file-remove {
  background: none;
  font-size: 1.2rem;
  cursor: pointer;
  flex: 0 0 2rem;
  padding: 0;
  height: 2rem;
}

.contact-form-success,
.contact-form-error,
.contact-form-error-file {
  padding: 8.25rem 1.25rem;
}

.contact-form-success p,
.contact-form-error p,
.contact-form-error-file p {
  text-align: center;
}

.contact-form-success p + p,
.contact-form-error p + p,
.contact-form-error-file p + p {
  margin-top: 1.25rem;
}

.contact-form-error p,
.contact-form-error-file p {
  color: var(--ww-color-primary);
}

/* --------------------------------------------------- contactform BEGIN */

/* --------------------------------------------------- worldmap BEGIN */

.container-interactive-map {
  /* position: sticky;
  height: var(--ww-viewport-height);
  margin-bottom: calc(150vH + 90px);
  top: 0; */
  /* position: relative; */
}

.interactive-world-map {
  overflow: hidden;
  width: calc(100vW - 2.5rem);
  /* aspect-ratio: 1920 / 1200; */
}

.worldmap-controls {
  position: absolute;
  bottom: 35rem;
  z-index: 1;
  right: 1.25rem;
  z-index: 1;
  display: none;
  column-gap: 1.25rem;
  flex-wrap: nowrap;
  display: none;
}

@media screen and (min-width: 64rem) {
  .worldmap-controls {
    display: flex;
  }
}

.btn-worldmap {
  background-color: var(--ww-color-primary);
  color: var(--ww-color-black);
  padding: 0.5rem 3.5rem;
  line-height: 1;
  display: flex;
  align-items: center;
}

.btn-worldmap span {
  line-height: 1;
}

.btn-worldmap-zoomout span {
  margin-top: -0.25rem; /* hack cause - is not exactly centered */
}

.projects-container .btn-worldmap {
  background-color: var(--ww-color-dark-blue);
  color: var(--ww-color-white);
}

.container-interactive-worldmap-list {
  background-color: var(--ww-color-primary);
  border-radius: var(--ww-border-radius);
  overflow: hidden;
  padding: 1.25rem 0.625rem 1.25rem 1.25rem; 
  position: relative;
}

.container-project-list {
  background-color: var(--ww-color-dark-blue);
  color: var(--ww-color-white);
  width: calc(100vW - 2.5rem);
  margin: 0 auto;
}

.container-project-list p,
.container-project-list li {
  color: var(--ww-color-white);
}

@media screen and (min-width: 64rem) {
  .container-interactive-worldmap-list {
    width: 67%;
  }
  .container-project-list {
    margin-left: auto;
    margin-right: 1.25rem;
  }
}

@media screen and (min-width: 85.375rem) {
  .container-interactive-map {
    /* position: sticky; */
    height: 100vH; 
    /* height: var(--ww-viewport-height); */
    margin-bottom: 150vH;
    position: relative;
    /* top: 0; */
  }  

  .interactive-world-map {
    height: 100vH;
    inset: 0;
  }

  .worldmap-controls {
    position: absolute;
    bottom: 2.5rem;
    bottom: auto;
    margin-top: 83vH;
    transform: translate(0,-100%);
  }  

  .container-interactive-worldmap-list {
    position: absolute;
    left: 1.25rem;
    height: 83vH;
    width: calc(50% - 0.625rem);
    overflow: hidden;
    padding: 1.25rem 0.625rem 1.25rem 1.25rem; 
    margin-bottom: 50vH;
  }  

  .container-project-list {
    /* right: auto;
    left: 1.25rem; */
    width: calc(50% - 0.625rem); 
    margin-left: 0;
    margin-right: 0;
  }  
}

.interactive-worldmap-list {
  height: 100%;
  overflow-y: auto;
  /* scrollbar-color: var(--ww-color-black) transparent; */
  scrollbar-color: var(--ww-color-white) transparent;
}

.interactive-worldmap-list.detail-active {
  height: calc(100% - 2.5rem);
}

.project-map-list { 
  /* scrollbar-color: var(--ww-color-white) transparent; */
  scrollbar-color: var(--ww-color-white) transparent;
}

.interactive-worldmap-list::-webkit-scrollbar-thumb {
  background-color: var(--ww-color-black);
}

.project-map-list::-webkit-scrollbar-thumb {
  background-color: var(--ww-color-white);
}

.interactive-map-item {
  border-bottom: 1px solid var(--ww-color-black);
  padding: 2.5rem 0;
  margin-right: 0.62rem;
}

.interactive-map-item:hover {
  cursor: pointer;
}

.interactive-map-item.detail {
  padding: 0;
}

.interactive-map-item.detail:hover {
  cursor: default;
}

.project-map-list .interactive-map-item {
  border-color: var(--ww-color-white);
}

.interactive-map-item:first-child {
  padding-top: 0;
}

.interactive-map-item.item-last {
  border-color: transparent;
}

.interactive-map-item .ce-textpic {
  display: flex;
  column-gap: 1.25rem;
  justify-content: space-between;
  flex-wrap: wrap;
}

.interactive-map-item.detail .ce-textpic {
  flex-wrap: wrap;
}

.interactive-map-item .ce-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  order: 1;
}
 
.interactive-map-item .ce-gallery {
  flex: 0 0 100%;
  margin-bottom: 0.625rem;
}

@media screen and (min-width: 85.375rem) {

  .interactive-map-item .ce-textpic {
    flex-wrap: nowrap;
  }

  .interactive-map-item .ce-gallery {
    flex: 0 0 calc(32% - 0.625rem);
    margin-bottom: 0;
  }

  .interactive-map-item .ce-text {
    order: 0;
  }
}


.interactive-map-item.detail .ce-gallery {
  flex: 0 0 100%;
  margin-bottom: 1.25rem;
}

.interactive-map-item.detail .ce-text {
  order: 1;
  flex: 0 0 100%;
}

.interactive-map-item.project-item.detail .ce-text {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
}

.interactive-map-item.address-item.detail .ce-text {
  display: initial;
}

.interactive-map-item.detail .ce-text > h3,
.interactive-map-item.detail .ce-text > p {
  flex: 0 0 58%;
}

.interactive-map-item.detail .ce-text > h3 {
  margin-bottom: 1.25rem;
}

.interactive-map-item.address-item.detail .ce-text p span {
  display: inline-block;
  width: 2rem;
}

.interactive-map-item.detail .ce-text .list-hidden {
  flex: 0 0 27%;
}

.interactive-map-item .ce-gallery .image {
  height: 13.75rem;
}

.interactive-map-item .ce-gallery .image:not(:first-child) {
  display: none;
}

.interactive-map-item.detail .ce-gallery {
  height: 100%;
  max-height: 33.125rem;
  overflow: hidden;
}

.interactive-map-item.detail .ce-gallery .image {
  height: 100%;
  display: initial;
}

.interactive-map-item.detail .ce-gallery.carousel {
  border-radius: var(--ww-border-radius);
}

.interactive-map-item.detail .ce-gallery.carousel .carousel-track {
  display: flex;
}

.interactive-map-item.detail .ce-gallery.carousel .image {
  flex: 0 0 100%;
  max-width: 100%;
  position: relative;
}

.interactive-map-item.detail .ce-gallery.carousel .image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: auto;
  background-color: rgba(0,0,0,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;
  transition: background-color 300ms ease-out;
}

.interactive-map-item .ce-gallery img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.interactive-worldmap-list .list-hidden {
  display: none;
}

.interactive-worldmap-list.detail-active .detail-hidden {
  display: none;
}

.interactive-worldmap-list.detail-active .list-hidden {
  display: initial;
}

.interactive-worldmap-list.detail-active .detail-navigation {
  display: flex;
}

.interactive-worldmap-list.detail-active .interactive-map-item {
  display: none;
}

.interactive-worldmap-list.detail-active .interactive-map-item.detail {
  display: block;
  /* height: 100%;
  width: 100%; */
  border-bottom: 0;
}

.interactive-worldmap-list .btn-detail-close {
  position: absolute;
  z-index: 1;
  top: 2rem;
  left: 2rem;
  background-color: var(--ww-color-primary);
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  justify-content: center;
  align-items: center;
}

.interactive-worldmap-list .btn-detail-close i {
  flex: 0 0 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .interactive-worldmap-list .btn-detail-close {
    top: 2.5rem;
    left: 2.5rem;
    width: 3.375rem;
    height: 3.375rem;
  }

  .interactive-worldmap-list .btn-detail-close i {
    flex: 0 0 1.625rem;
  }

}

.project-map-list .btn-detail-close {
  background-color: var(--ww-color-dark-blue);
}

.interactive-worldmap-list.detail-active .btn-detail-close {
  display: flex;
}

.interactive-worldmap-list .btn-detail-close path[fill] {
  fill: var(--ww-color-black);
}

.project-map-list .btn-detail-close path[fill] {
  fill: var(--ww-color-white);
}

.worldmap-svg path.interactive, 
.worldmap-svg g.interactive path {
  fill: var(--ww-color-primary);
}

@media screen and (min-width: 64rem) {
  .worldmap-svg path.interactive, 
  .worldmap-svg g.interactive path {
    fill: var(--ww-color-dark-grey);
  }
}

.worldmap-svg path.interactive.active, 
.worldmap-svg g.interactive.active path,
.worldmap-svg path.interactive.hover, 
.worldmap-svg g.interactive.hover path,
.worldmap-svg circle.map-marker.active,
.worldmap-svg circle.map-marker:hover {
  fill: var(--ww-color-primary);
}
/* --------------------------------------------------- worldmap END */

/* --------------------------------------------------- safety workflow BEGIN */

/* --------------------------------------------------- safety workflow END */

/* --------------------------------------------------- image slider BEGIN */

.image-slider.carousel {
  overflow: hidden;
  position: relative;
}

.image-slider .carousel-dots {
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  transform: translate(-50%, 0);
  display: flex; 
  justify-content: center; 
  gap: 0.625rem; 
  margin-top: 1rem;
}

.image-slider .carousel-dot {
  width: 1rem; 
  height: 1rem; 
  border-radius: 50%; 
  border: medium; 
  cursor: pointer; 
  background-color: var(--ww-color-medium-grey);
}

.image-slider .carousel-dot.active {
  background-color: var(--ww-color-dark-blue);
}

/* --------------------------------------------------- image slider END */

/* --------------------------------------------------- dragslide BEGIN */

.list-container {
  width: 100%;
  overflow: hidden;
}

.dragslide.has-dragslide:not(.is-moving) {
  scroll-behavior: smooth;
}

.list-dragslide {
  display: flex;
  flex-wrap: nowrap;
}

.dragslide {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.dragslide-item {
  flex: 0 0 18.125rem;
}

@media screen and (min-width: 85.375rem) {
  .dragslide-item {
    flex: 0 0 33.33%;
    /* max-width: 38.375rem; */
  }
}

.dragslide-item .image {
  position: relative;
}

.dragslide-item .image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: auto;
  background-color: rgba(0,0,0,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;
  transition: background-color 300ms ease-out;
}

.btn-dragslide {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0;
}

.btn-dragslide-next {
  left: 4.5rem;
}

@media screen and (min-width: 85.375rem) {
  .btn-dragslide {
    top: 0;
    right: 0;
    left: auto;
    bottom: auto;
  }

  .btn-dragslide-prev {
    right: 4.5rem;
  }
}

.btn-dragslide-prev svg {
  transform: rotate(180deg);
}

/* --------------------------------------------------- dragslide END */

/* --------------------------------------------------- projects BEGIN */

.project-world-map {
  position: relative;
}

.project-map-marker
.project-map-marker {
  position: absolute;
  z-index: 1;
}

.main-content .frame + .frame-list-type-webwebprojects_projectlist {
  margin-top: 2.5rem;
}

.projects-list-container {
  padding-bottom: 4.5rem;
  position: relative;
}

@media screen and (min-width: 85.375rem) {
  .main-content .frame + .frame-list-type-webwebprojects_projectlist {
    margin-top: 5rem;
  }

  .projects-list-container {
    padding-bottom: 0;
    padding-top: 3.75rem;
  }
}

.project-list .project-item {
  position: relative;
  display: flex;
  justify-content: stretch;
}

.project-list .project-item .ce-textpic {
  flex: 0 0 calc(100% - 1.25rem);
  position: relative;
  margin-right: 1.25rem;
  overflow: hidden;
}

.project-list .project-item .ce-text {
  position: absolute;
  bottom: 1.25rem;
  z-index: 5;
  transform: translate(0,150%);
  transition: transform 300ms ease-out;
  padding: 0.625rem 1.25rem;
  border-radius: var(--ww-border-radius-button);
  border: 1px solid var(--ww-color-primary);
  margin: 0 1.25rem;
  width: calc(100% - 2.5rem); 
}

.project-list .project-item:hover .ce-text {
  transform: translate(0,0);
}

.project-list .project-item:hover .image:after {
  background-color: rgba(0,0,0,0.3);
}

.project-list .project-item .ce-text p {
  color: var(--ww-color-white);
}

.project-list .project-item .image,
.project-list .project-item .ce-gallery {
  width: 100%;
  height: 100%;
}

.project-list .project-item .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-content .frame-list-type-webwebprojects_projectlist + .frame {
  margin-top: -3rem;
  position: relative;
  width: auto;
  float: right;
  margin-right: 2.5rem;  
}

.main-content .frame-list-type-webwebprojects_projectlist + .frame .link-more.btn-dense {
  margin-right: 0;
}

@media screen and (min-width: 85.375rem) {
  .main-content .frame-list-type-webwebprojects_projectlist + .frame {
    margin: 1.25rem auto 0;
    position: relative;
    width: calc(100% - 2.5rem);
    float: none;  
  }
}

/* --------------------------------------------------- projects END */

/* --------------------------------------------------- downloads BEGIN */

.main-content .ce-uploads {
  list-style-type: none;
   margin-left: 0;
}

.ce-uploads li div {
  display: flex;
  column-gap: 1.25rem;
  padding: 0.625rem 1.25rem;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--ww-color-medium-grey);
}

.ce-uploads li div.has-description {
   flex-wrap: wrap;
}

.ce-uploads li:last-child div {
  border-bottom: 1px solid var(--ww-color-medium-grey);
}

.ce-uploads a:first-child {
  flex: 0 0 80%;
}

.ce-uploads .ce-uploads-description {
  flex: 1 1 auto;
}

.ce-uploads a.ce-uploads-icon {
  flex: 0 0 2.375rem;
  margin-left: auto;
  margin-right: 0;
}

@media screen and (min-width: 85.375rem) {
  
  .ce-uploads .has-description {
    flex-wrap: nowrap;
    padding: 2rem 1.25rem;
  }

  .ce-uploads .has-description a:first-child {
    flex: 0 0 calc(50% - 8.83rem);
  }
}

/* --------------------------------------------------- downloads END */

/* --------------------------------------------------- alternating container BEGIN */

.frame-type-container-vertical-align-alternate .col-3 + .col-3 {
  margin-top: 1.25rem;
}

.frame-type-container-vertical-align-alternate .col-3 .ce-textpic {
  display: flex;
  flex-direction: column;
}

.frame-type-container-vertical-align-alternate .col-3 .ce-textpic.ce-below .ce-bodytext {
  order: 1;
}

.main-content .frame-type-container-vertical-align-alternate .image-margin-bottom-small {
  margin-bottom: 0;
}

.main-content .frame-type-container-vertical-align-alternate .image {
  margin-bottom: 0.625rem;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-container-vertical-align-alternate .col-3 {
    align-self: flex-start;
    padding-bottom: 4.375rem;
  }

  .frame-type-container-vertical-align-alternate .col-3:first-child,
  .frame-type-container-vertical-align-alternate .col-3:nth-child(2n) {
    align-self: flex-end;
    padding-bottom: 0;
  }

  .frame-type-container-vertical-align-alternate .col-3 + .col-3 {
    margin-top: 0;
  }

  .frame-type-container-vertical-align-alternate .col-3 .ce-textpic {
    display: block;
  }

  .frame-type-container-vertical-align-alternate .col-3 .ce-textpic.ce-below .ce-bodytext {
    order: initial;
  }

  .main-content .frame-type-container-vertical-align-alternate .image {
    margin-bottom: 0;
  }

  .main-content .frame-type-container-vertical-align-alternate .image-margin-bottom-small {
    margin-bottom: 1.25rem;
  }

}

/* --------------------------------------------------- alternating container END */

/* --------------------------------------------------- video with hover, scroll BEGIN */

.contentheader-videoelastic {
  max-height: none;
}

.frame-type-container-video-elastic,
.frame-type-container-video-scroll,
.contentheader-videoscroll {
  position: relative;
}

.frame-type-container-video-elastic > .frame-inner,
.frame-type-container-video-scroll > .frame-inner,
.contentheader-videoscroll > .contentheader-content {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 85.375rem) {

  .contentheader-videoelastic {
    max-height: 100vH;
    max-height: var(--ww-viewport-height);
  }

  .frame-type-container-video-elastic:before,
  .frame-type-container-video-elastic:after,
  .frame-type-container-video-scroll:before,
  .frame-type-container-video-scroll:after,
  .contentheader-videoscroll:before,
  .contentheader-videoscroll:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    background-color: var(--ww-color-medium-grey);
    width: 100%;
    height: 1px;
    top: 16%;
    left: 0;
  }

  .frame-type-container-video-scroll:before {
    top: 16%;
  }

  .frame-type-container-video-elastic:after,
  .contentheader-videoscroll:before,
  .contentheader-videoscroll:after {
    left: 75%;
    top: 16%;
    height: 84%;
    width: 1px;
  }

  .contentheader-videoscroll:before {
    top: 0;
    left: 37.1%;
    height: 100%;
  }

  .frame-type-container-video-scroll:after {
    top: 75%;
  }

  .contentheader-videoscroll:after {
    top: 0;
    left: 63%;
    height: 100%;
  }
}

.frame-type-container-video-elastic .row,
.frame-type-container-video-scroll .row {
  flex-wrap: wrap;
}

.frame-type-container-video-elastic .row .col-4,
.frame-type-container-video-scroll .row .col-4 {
  flex: 0 0 100%;
}

.frame-type-container-video-elastic .row,
.frame-type-container-video-scroll .row {
  margin-top: 8.75rem;
  padding-bottom: 3.75rem;
}

.frame-type-container-video-scroll .row {
  align-items: center;
  padding-bottom: 0;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-container-video-elastic .row,
  .frame-type-container-video-scroll .row {
    align-items: stretch;
    height: calc(100vH - 14rem);
    height: calc(var(--ww-viewport-height) - 14rem);
    margin-top: 14rem;
    padding-bottom: 3.75rem;
    flex-wrap: nowrap;
  }

  .frame-type-container-video-scroll .row {
    align-items: center;
    padding-bottom: 3.75rem;
  }

  .frame-type-container-video-elastic .row .col-4 {
    flex: 0 0 15%
  }

  .frame-type-container-video-scroll .row .col-4 {
    flex: 0 0 37.1%;
  }

  .frame-type-container-video-elastic .row .col-4:first-child,
  .frame-type-container-video-elastic .row .col-4:last-child,
  .frame-type-container-video-scroll .row .col-4:first-child,
  .frame-type-container-video-scroll .row .col-4:last-child {
    display: flex;
    flex-direction: column;
    justify-content: space-around;  
  }

  .frame-type-container-video-elastic .row .col-4:nth-child(2),
  .frame-type-container-video-scroll .row .col-4:nth-child(2) {
    flex: 0 0 32%;
    display: flex;
    transition: flex 300ms ease-out;
  }

  .frame-type-container-video-scroll .row .col-4:nth-child(2) {
    flex: 0 1 25.9%;
  }

}

@media screen and (hover: hover) {
  .frame-type-container-video-elastic .row .col-4:nth-child(2):hover,
  .frame-type-container-video-elastic .row .col-4.video-playing:nth-child(2) {
    flex: 0 0 calc(70% - 4rem);
  }
}

.frame-type-container-video-elastic .video,
.frame-type-container-video-scroll .video {
  width: 100%;
  overflow: hidden;
  border-radius: var(--ww-border-radius);
  height: calc(100vH - 17.75rem);
  height: calc(var(--ww-viewport-height) - 17.75rem);
}

.frame-type-container-video-scroll .video {
  height: auto;
  border-radius: 0;
  position: relative;
}

.frame-type-container-video-elastic .video.cursor-active,
.frame-type-container-video-scroll .video.cursor-active {
  cursor: none;
}

.frame-type-container-video-elastic .video > *,
.frame-type-container-video-scroll .video > * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.frame-type-container-video-scroll .video video {
  border-radius: var(--ww-border-radius);
}

.contentheader-videoelastic h1.font-size-title {
  text-align: center;
}

@media screen and (min-width: 85.375rem) {
  .contentheader-videoelastic h1.font-size-title {
    text-align: left;
  }
}

/* --------------------------------------------------- video with hover, scroll END */

/* --------------------------------------------------- custom cursor BEGIN */

.custom-cursor {
  position: fixed;
  z-index: 50;
  width: 5rem;
  height: 5rem;
  display: none;
  border-radius: 50%;
  background-color: var(--ww-color-primary);
  cursor: none;
  transition: all 50ms ease-out;
  transform: translate(-50%, -50%);
  pointer-events: none;
} 

.custom-cursor.active {
  display: block;
}

.custom-cursor span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

@media screen and (hover: none) {
  .custom-cursor-inline {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    display: block;
  }

  .frame-type-container-video-elastic .video > .custom-cursor-inline, 
  .frame-type-container-video-scroll .video > .custom-cursor-inline {
    width: 5rem;
    height: 5rem;
  }

  .frame-type-container-video-elastic .video.inline-cursor-hidden .custom-cursor-inline {
    display: none;
  }
}

/* --------------------------------------------------- custom cursor END */

/* --------------------------------------------------- team images BEGIN */

.frame-type-image-team {
  padding: 8.75rem 0 1.25rem;
}

@media screen and (min-width: 85.375rem) {
  .frame-type-image-team {
    padding: 27.25rem 0 1.25rem;
  }
}

.frame-type-image-team .row {
  display: flex;
  gap: 1px;
  flex-wrap: wrap;
  align-items: flex-end;
}

.frame-type-image-team p:first-child {
  padding-bottom: 0.625rem;
}

.frame-type-image-team p:last-child {
  text-align: right;
}

.frame-type-image-team p {
    flex: 0 0 100%;
}

.frame-type-image-team .image {  
  flex: 0 0 calc(33.33% - 1px);
}

@media screen and (min-width: 64rem) {
  .frame-type-image-team .image {  
    flex: 0 0 calc(16.67% - 1px);
    /* max-width: 9.875rem; */
    aspect-ratio: 1 / 1;
    margin: 0;
    padding: 0;
  }
}

@media screen and (min-width: 85.375rem) {
  .frame-type-image-team p:first-child {
    padding-bottom: 0;
  }

  .frame-type-image-team p {
    flex: 0 0 619px;
    padding-bottom: 1.25rem;
  }

  .frame-type-image-team .image {  
    flex: 0 0 154px;
    /* max-width: 9.875rem; */
    aspect-ratio: 1 / 1;
    margin: 0;
    padding: 0;
  }
}

.main-content .frame-type-image-team .image {
  border-radius: 0;
  width: 100%;
}

.main-content .frame-type-image-team img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 300ms ease-out, transform 300ms ease-out;
  transform: translate(0,0);
  opacity: 1;
}

.main-content .frame-type-image-team img.fade-out {
  opacity: 0;
}

/* .main-content .frame-type-image-team img.translate-top {
  transform: translate(0,-100%);
}

.main-content .frame-type-image-team img.translate-right {
  transform: translate(100%,0);
}

.main-content .frame-type-image-team img.translate-bottom {
  transform: translate(0,100%);
}

.main-content .frame-type-image-team img.translate-left {
  transform: translate(-100%,0);
} */

/* --------------------------------------------------- team images END */

/* --------------------------------------------------- factbox BEGIN */

.frame-type-factbox {
  border-bottom: 1px solid var(--ww-color-black);
  padding: 0; 
  margin-top: 0;
}

.frame-type-factbox .ce-text {
  display: flex;
  column-gap: 2rem;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

  .frame-type-factbox .ce-text > * {
    flex: 0 0 100%;
  }

  .frame-type-factbox .font-size-title {
    padding: 1.25rem 0 0.625rem;
    margin-bottom: 0;
  }

  .frame-type-factbox .ce-text p:last-child {
    margin-bottom: 1.25rem;
  }
@media screen and (min-width: 85.375rem) {

  .frame-type-factbox .ce-text {
    flex-wrap: nowrap;
    gap: 2rem;
  }

  .frame-type-factbox .font-size-title {
    padding: 0;
  }

  .frame-type-factbox .ce-text p:last-child {
    padding-right: 20.625rem;
    margin-bottom: 0;
  }

  .frame-type-factbox .ce-text > * {
    flex: 0 0 calc(50% - 2rem);
    margin-bottom: 0;
  }

}

/* --------------------------------------------------- factbox END */

/* --------------------------------------------------- chronic BEGIN */

.frame-type-container-chronic {
  padding-top: 0;
  position: relative;
}

.main-content .frame-type-container-chronic + .frame-type-container-chronic {
  margin-top: 0;
}

.frame-type-container-chronic:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  background-color: var(--ww-color-medium-grey);
  width: 1px;
  height: 100%;
  top: 0%;
  left: calc(14% - 14px);
}

.frame-type-container-chronic .frame-inner {
  position: relative;
  z-index: 1;
}

.frame-type-container-chronic .col-scroll .frame-inner {
  padding-left: calc(27% - 1.25rem);
}

.frame-type-container-chronic .col-6 + .col-scroll {
  margin-top: 0;
}

.frame-type-container-chronic .font-size-year {
  line-height: 0.9;
  padding-bottom: 0.625rem;
}


@media screen and (min-width: 85.375rem) {
  .frame-type-container-chronic {
    padding-top: 2.75rem;
  }

  .frame-type-container-chronic .col-scroll .frame-inner {
    padding-left: 0;
  }

  .frame-type-container-chronic .font-size-year {
    padding-bottom: 0.625rem;
  }

}

.frame-type-container-chronic .col-6:last-child .frame {
  padding-bottom: 5rem;
  margin-bottom: 0;
}

.frame-type-container-chronic .col-6:last-child .frame:first-child {
  margin-top: 0;
}

.frame-type-container-chronic .container-sticky {
  display: none;
}

.frame-type-container-chronic .frame-type-textpic .ce-gallery {
  padding-top: 1rem;
}

@media screen and (min-width: 85.375rem) {

  .frame-type-container-chronic .col-6:last-child .frame {
    min-height: 19.625rem;
    padding-bottom: 8rem;
    margin-bottom: 160px;
  }

  .frame-type-container-chronic .container-sticky {
    display: block;
  }

  .frame-type-container-chronic:after {
      left: 41.8%;
  }

  .frame-type-container-chronic h3 span {
    display: none;
  }
  
  .frame-type-container-chronic .frame .frame-inner {
    display: flex;
    column-gap: 9.5rem;
    align-items: center;
    min-height: 19.625rem;
  }

  .frame-type-container-chronic .frame .frame-inner header {
    flex: 0 0 calc(20.7% - 4.25rem);
  }

  .frame-type-container-chronic .frame .frame-inner .ce-textpic {
    flex: 0 0 calc(74% - 6.25rem);
    margin-left: auto;
  }

  .frame-type-container-chronic .frame-type-textpic .ce-textpic {
    display: flex;
    column-gap: 1.25rem;
    align-items: center;
  }

  .frame-type-container-chronic .frame-type-textpic .ce-gallery {
    flex: 0 0 calc(27% - 0.625rem);
    padding-top: 0;
  }

  .frame-type-container-chronic .frame-type-textpic .ce-bodytext {
    flex: 0 0 calc(73% - 0.625rem);
  }
}

/* --------------------------------------------------- chronic END */

.wrapper-footer .col-6:first-child .frame-type-text + .frame-type-image {
  margin-top: 1.25rem;
}

.wrapper-footer .frame-type-moreboxes + .frame-type-image {
  margin-top: 2.5rem; /* images after accuro main menu in footer */
}

@media screen and (min-width: 85.375rem) {
  .wrapper-footer .frame-type-moreboxes + .frame-type-image {
    margin-top: 5.375rem; /* images after accuro main menu in footer */
  }
}

.wrapper-footer .frame-type-moreboxes + .frame-type-image .ce-gallery {
  justify-content: space-between;
  max-width: 28.5rem;
  margin-left: 0;
}

.wrapper-footer .container-moreboxes {
  display: flex;
  width: 100%;
  max-width: 28.5rem;  
  margin-left: 0;
  flex-wrap: wrap;
  justify-content: space-between;
}

.wrapper-footer .container-moreboxes > .frame-type-webwebrocks-sitepackage-languageswitch {
  flex: 0 0 100%;
}

.wrapper-footer ul.language-switch {
  margin-top: 1.25rem;
}

.wrapper-footer ul.language-switch li {
  text-align: left;
}

@media screen and (min-width: 85.375rem) {
  .wrapper-footer .container-moreboxes {
    flex-wrap: nowrap;
  }

  .wrapper-footer ul.language-switch li {
    text-align: right;
  }

  .wrapper-footer ul.language-switch {
    margin-top: 0;
  }

  .wrapper-footer .container-moreboxes > .frame-type-webwebrocks-sitepackage-languageswitch {
    flex: 0 0 5rem;
  }
}

ul.language-switch {
  list-style-type: none;
}

footer[role="contentinfo"] .container-cta .font-size-h6 {
  margin-bottom: 2.75rem;
}

footer[role="contentinfo"] .container-cta .frame-inner {
  background-color: var(--ww-color-primary);
  border-radius: var(--ww-border-radius);
  padding: 0.625rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

footer[role="contentinfo"] .container-cta .btn-dense {
  background-color: var(--ww-color-white);
  padding: 4.875rem 1.25rem 0;
  display: flex;
  justify-content: space-between;
}

footer[role="contentinfo"] .container-cta .btn-dense i {
  background-color: transparent;
  flex: 0 0 1.25rem;
} 

footer[role="contentinfo"] > .container-cta {
  display: none;
}

footer[role="contentinfo"] .container-content > .container-cta {
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
}

footer[role="contentinfo"] .container-content > .frame:last-child .row {
  flex-wrap: wrap;
  column-gap: 2rem;
  align-items: flex-end;
}

footer[role="contentinfo"] .container-content > .frame:last-child .row .col-6 {
  flex: 0 0 calc(50% - 1rem);
  max-width: calc(50% - 1rem);
}

footer[role="contentinfo"] .container-content .frame-type-menu_subpages ul {
  flex-wrap: wrap;
  row-gap: 0.625rem;
}

footer[role="contentinfo"] .container-content .frame-type-menu_subpages ul li {
  flex: 0 0 100%;
}

/* footer[role="contentinfo"] .container-content .frame-type-menu_subpages ul li a[aria-current="page"] {
  color: var(--ww-color-primary);
} */

@media screen and (min-width: 64rem) {

  footer[role="contentinfo"] .container-content .frame-type-menu_subpages ul {
    margin-top: 2.5rem;
  }

  footer[role="contentinfo"] > .container-cta { 
    display: block;
  }  

  footer[role="contentinfo"] .container-content > .container-cta {
    display: none;
  }
}

@media screen and (min-width: 85.375rem) {

  footer[role="contentinfo"] .container-content .frame-type-menu_subpages ul {
    flex-wrap: nowrap;
    margin-top: 0;
  }

  footer[role="contentinfo"] .container-content .frame-type-menu_subpages ul li {
    flex: 0 0 auto;
  } 
}

/* ------------------------------------------------------------------------------------------------------------ content */

/*------------------------------------------------------------------------------------------------------------ cookies */
.om-cookie-panel {
  transform: translate(0,100%);
}

.om-cookie-panel {
  width: calc(100% - 2.5rem);
  right: 1.25rem;
  left: 1.25rem;
  border: 0;
  border-radius: var(--ww-border-radius);
  padding: 1.25rem;
}

.om-cookie-panel.active { 
  transform: translate(0, -1.5rem);
}

@media (min-width: 64rem) {
  .om-cookie-panel {
    width: 50%;
    max-width: 56.875rem;
    left: auto;
    transform: translate(0,100%);
  }

}

.om-cookie-panel {
  flex-wrap: wrap;
}

.om-cookie-panel .cookie-panel__checkbox-wrap {
  flex: 0 0 100%;
}

@media screen and (min-width: 30rem) {
  .om-cookie-panel .cookie-panel__checkbox-wrap {
    flex: 0 0 auto;
    margin-right: 2rem;
  }
}

.om-cookie-panel .cookie-panel__checkbox-wrap + .cookie-panel__checkbox-wrap {
  margin-left: 0;
}

.om-cookie-panel label,
.om-cookie-panel p {
  font-size: 1rem;
  line-height: 1.25rem;
  text-align: left;
}

.om-cookie-panel p {
  padding: 1.25rem 0;
}

@media screen and (min-width: 48rem) {
  .om-cookie-panel label,
  .om-cookie-panel p {
    font-size: 1.25rem;
  }
}

.om-cookie-panel .cookie-panel__button,
.om-cookie-panel .cookie-panel__link a {
  font-size: 0.875rem;
}

.cookie-panel__selection {
  display: none;
}

.cookie-panel__selection form {
  justify-content: flex-start;
}

.cookie-panel__selection form > * {
  position: relative;
}

.cookie-panel__control {
  margin-top: 0;
  display: flex;
  column-gap: 1.25rem;
  row-gap: 1.25rem;
  flex-wrap: wrap;
}

@media screen and (min-width: 64rem) {
  .cookie-panel__control {
    flex-wrap: nowrap;
  }
}

.om-cookie-panel .cookie-panel__button {
  border: 1px solid var(--ww-color-black);
  text-transform: none;
  background-color: transparent;
  color: var(--ww-color-black);
  border-radius: var(--ww-border-radius-button);
  font-size: 1rem;
  padding: 0.625rem 1.25rem;
}

.om-cookie-panel .cookie-panel__button + .cookie-panel__button {
  margin-top: 0;
}

.om-cookie-panel .cookie-panel__button.cookie-panel__button--color--green { 
  background-color: var(--ww-color-primary);
  border-color: var(--ww-color-primary);
}

@media screen and (min-width: 48rem) {
  .om-cookie-panel .cookie-panel__button {
    font-size: 1.25rem;
  }
}

.om-cookie-panel .cookie-panel__button:hover {
  background-color: var(--ww-color-dark-grey);
  color: var(--ww-color-white);
}

.om-cookie-panel .cookie-panel__button.cookie-panel__button--color--green:hover { 
  background-color: var(--ww-color-black);
  border-color: var(--ww-color-black);
  color: var(--ww-color-primary);
}

.om-cookie-panel h3 {
  margin-bottom: 0;
  padding-bottom: 0;
  font-size: 1.25rem;
  font-size: clamp(1.25rem, 2.083vW, 2rem);
}

.om-cookie-panel label {
  position: relative;
  top: auto;
  left: auto;
  margin: 0;
}

.om-cookie-panel .cookie-panel__checkbox + label {
  line-height: 1.4;
}

.om-cookie-panel .cookie-panel__checkbox + label::before {
  border-radius: 0;
  border-color: var(--ww-color-dark-grey);
  display: inline-block;
  float: none;
  vertical-align: center;
}

.om-cookie-panel .cookie-panel__checkbox--state-inactiv:checked + label::before {
  background-color: var(--ww-color-dark-grey);
}

.om-cookie-panel .cookie-panel__checkbox:checked + label::before {
  background-color: var(--ww-color-dark-grey);
}

.om-cookie-panel .cookie-panel__attribution {
  display: none;
}

/*------------------------------------------------------------------------------------------------------------ cookies */
