.pos-abs, .sec-people .person picture + figcaption:before, .sec-people .person picture + figcaption:after, .carousel nav button:before, .carousel nav button:after, #menu-toggle:before, html body:before, figure.video video,
figure.video iframe,
figure.video picture,
figure.video figcaption,
figure.video button:before,
figure.img video,
figure.img iframe,
figure.img picture,
figure.img figcaption,
figure.img button:before, .social:before, .social:after,
.social span:before,
.social span:after,
.pos-fix,
html:before,
picture.bg,
.pos-abs-top,
#head,
.pos-fix-top {
  top: 0;
  left: 0;
  width: 100%;
}

.pos-abs, .sec-people .person picture + figcaption:before, .sec-people .person picture + figcaption:after, .carousel nav button:before, .carousel nav button:after, #menu-toggle:before, html body:before, figure.video video,
figure.video iframe,
figure.video picture,
figure.video figcaption,
figure.video button:before,
figure.img video,
figure.img iframe,
figure.img picture,
figure.img figcaption,
figure.img button:before, .social:before, .social:after,
.social span:before,
.social span:after,
.pos-fix,
html:before,
picture.bg {
  height: 100%;
}

.pos-abs, .sec-people .person picture + figcaption:before, .sec-people .person picture + figcaption:after, .carousel nav button:before, .carousel nav button:after, #menu-toggle:before, html body:before, figure.video video,
figure.video iframe,
figure.video picture,
figure.video figcaption,
figure.video button:before,
figure.img video,
figure.img iframe,
figure.img picture,
figure.img figcaption,
figure.img button:before, .social:before, .social:after,
.social span:before,
.social span:after,
.pos-abs-top,
#head {
  position: absolute;
}

.pos-fix, html:before, picture.bg,
.pos-fix-top {
  position: fixed;
}

.force-wrap {
  width: -moz-min-content;
  width: min-content;
  overflow-wrap: normal;
  white-space: normal;
  word-break: keep-all;
}

.kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 2em;
  padding: 0.333em 0.666em;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  text-transform: uppercase;
  line-height: 1;
  color: #000000;
  background: #DEA127;
}

* {
  margin: 0;
  padding: 0;
  border: 0;
}
*:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}
*:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px #000000;
}

body.mouse *:focus,
body.mouse *:focus-visible,
body.mouse *:focus:before,
body.mouse *:focus:after {
  outline: none !important;
  box-shadow: none !important;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

html, body {
  overscroll-behavior-x: none;
}

html {
  margin-top: 0 !important;
  font-size: 62.5%;
  scroll-behavior: smooth;
  height: 100%;
}

html:before {
  z-index: -2;
  content: "";
  pointer-events: none;
  background: linear-gradient(to bottom, #000000 250px, #FFFFFF 250px);
}
html body {
  position: relative;
}
html body:before {
  z-index: -1;
  content: "";
  pointer-events: none;
  background: #FFFFFF;
}

body {
  line-height: 1;
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  font-variant-numeric: lining-nums;
}
body.notrans *,
body.notrans *:before,
body.notrans *:after {
  transition: 0s 0s !important;
}

#head,
#nav,
#main,
dialog,
#foot {
  min-width: 280px;
}

#wpadminbar {
  transition: background 0.3s ease-in-out;
}
#wpadminbar:not(:hover) {
  background: rgba(0, 0, 0, 0.5);
}

h1, h2, h3, h4, h5, h6, a, p.kicker {
  overflow-wrap: anywhere;
}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child, ul:last-child, ol:last-child {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0.5em;
  text-wrap: balance;
}

h1, .h1 {
  margin-bottom: 1em;
  font-family: "Bitter", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 6rem;
  font-size: clamp(3.2rem, calc(6vw + 1.6rem), 6rem);
  font-weight: 600;
  line-height: 1;
}

h2, .h2 {
  font-size: 5rem;
  font-size: clamp(2.8rem, calc(4vw + 1.6rem), 5rem);
  font-weight: 400;
  line-height: 1.1;
}

h3, .h3 {
  font-family: "Bitter", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 4rem;
  font-size: clamp(2.4rem, calc(3vw + 1.6rem), 4rem);
  font-weight: 500;
  line-height: 1.2;
}

h4, .h4 {
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-size: 3rem;
  font-size: clamp(2rem, calc(3vw + 1.6rem), 3rem);
  font-weight: 400;
  line-height: 1.1;
}

h5, .h5 {
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
}

h6, .h6, [data-label]:after {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 2em;
  padding: 0.333em 0.666em;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  text-transform: uppercase;
  line-height: 1;
  color: #000000;
  background: #DEA127;
}

strong {
  font-weight: 700;
}

p, li, address {
  font-size: 1.8rem;
  font-size: clamp(1.6rem, calc(3vw + 1.6rem), 1.8rem);
  line-height: 1.4;
  text-wrap: pretty;
}

p:empty {
  display: none;
}
p:not(:last-child) {
  margin-bottom: 2em;
}
p.intro {
  font-size: 2.2rem;
  font-size: clamp(2rem, calc(3vw + 1.6rem), 2.2rem);
  line-height: 1.2;
}

a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: inherit;
  text-underline-offset: 3px;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration-color 0.3s ease-in-out;
}
a:hover {
  text-underline-offset: 6px;
  text-decoration-color: transparent;
}
a.td-none {
  text-decoration: none;
}

main {
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: clip;
}

section {
  display: flex;
  flex-direction: column;
  padding-block: clamp(60px, 5vw, 80px);
  padding-inline: clamp(20px, 5vw, 40px);
  row-gap: clamp(60px, 5vw, 80px);
  /*@include clamp(padding-block, $pad, 5vw, $pad-dbl); // vert
  @include clamp(padding-inline, $pad-hlf, 5vw, $pad); // horz*/
}
section > div,
section > header,
section > footer {
  width: 100%;
  max-width: 1280px;
  margin: auto;
}
section.bg-black {
  color: #FFFFFF;
  background-color: #000000;
}
section.bg-white {
  color: #000000;
  background-color: #FFFFFF;
}
section.bg-yellow {
  color: #000000;
  background-color: #DEA127;
}

picture {
  display: block;
  background: #000;
}
picture img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}
picture.bg {
  pointer-events: none;
}

figure.video,
figure.img {
  overflow: clip;
  position: relative;
  width: 100%;
}
figure.video[hidden],
figure.img[hidden] {
  display: none !important;
}
figure.video,
figure.img {
  /*    &:before { // ratio
          z-index: 1; // for border
          position: relative;
          pointer-events: none;
          content: '';
          display: block;
          width: 100%;
          margin-left: -100%;
          background: pink;
      }*/
}
figure.video video,
figure.video iframe,
figure.video picture,
figure.img video,
figure.img iframe,
figure.img picture {
  -o-object-fit: cover;
     object-fit: cover;
}
figure.video figcaption,
figure.img figcaption {
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: 0.3s opacity ease-in-out;
}
figure.video figcaption > span,
figure.img figcaption > span {
  width: 100%;
  margin-top: auto;
  padding: 0 20px 20px 20px;
}
figure.video figcaption strong,
figure.img figcaption strong {
  display: block;
  width: 100%;
  margin-bottom: 10px;
}
figure.video figcaption button:not(:only-child),
figure.img figcaption button:not(:only-child) {
  margin-top: auto;
}
figure.video figcaption button.enlarge,
figure.img figcaption button.enlarge {
  position: absolute;
  bottom: 20px;
  bottom: clamp(10px, 5vw, 20px);
  right: 20px;
  right: clamp(10px, 5vw, 20px);
}
figure.video figcaption button.enlarge + span,
figure.img figcaption button.enlarge + span {
  padding-right: 80px;
  padding-right: clamp(40px, 5vw, 80px);
}

figure.video figcaption {
  z-index: 21;
  padding-top: 40px;
  color: #FFFFFF;
}
figure.video figcaption button {
  height: 60px;
  width: 80px;
  text-indent: 80px;
}
figure.video figcaption button span {
  margin-left: -80px;
}
figure.video figcaption button:before {
  z-index: -1;
  content: "";
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, 0.5);
}
figure.video figcaption button ~ * {
  pointer-events: none;
}
figure.video video.playing + figcaption button:before, figure.video video[data-play=auto] + figcaption button:before {
  backdrop-filter: none;
  background: none;
}
figure.video video.playing:not([data-play=auto]) + figcaption {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s 0.3s, opacity 0.3s ease-in-out;
}
figure.video picture.poster {
  z-index: 1;
  pointer-events: none;
  transition: 0.3s ease-in-out;
}
figure.video picture.poster.hidden {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s 0.3s, opacity 0.3s ease-in-out;
}
figure.video .but.pause {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
}
figure.video .but.pause + span {
  padding-right: 80px;
}
figure {
  /*&.quote {
  	blockquote {
  	  position: relative;
  	  border-bottom: 0;
  	  p {
  		  font-size: 2rem;
  	  }
  	}
  	figcaption {	
  	}
  }*/
}
figure.quote {
  padding: 40px 30px;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(5px);
}
figure.quote blockquote {
  text-indent: 15px;
}
figure.quote blockquote:before {
  transform: translateY(-5px);
}
figure.quote blockquote:after {
  transform: translate(10px, 5px) rotate(180deg);
}
figure.quote figcaption {
  margin-top: 20px;
  line-height: 1.4;
  font-size: 1.8rem;
}

blockquote {
  display: flex;
  text-indent: 20px;
  color: #FFFFFF;
  font-family: "Bitter";
  font-size: 3rem;
  line-height: 1.3;
}
blockquote p {
  font-size: 2rem;
  line-height: inherit;
}
blockquote:before, blockquote:after {
  display: inline-block;
  height: 26px;
  width: 30px;
  font-size: 2em;
  overflow: clip;
  white-space: nowrap;
  text-indent: 100vw;
  color: #DEA127;
  background: url(../media/quote-yellow.svg) no-repeat center;
  background-size: contain;
}
blockquote:before {
  content: open-quote;
  transform: translate(10px, -5px);
}
blockquote:after {
  content: close-quote;
  transform: translateX(-10px) rotate(180deg);
  margin-top: auto;
}

button {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  font-size: 1.6rem;
}
button[hidden] {
  pointer-events: none;
  opacity: 0.5;
}

.but {
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
.but:before, .but:after,
.but span:before,
.but span:after {
  content: "";
  display: inline-block;
  background: transparent no-repeat center;
  background-size: contain;
  transition: all 0.3s ease-in-out;
}
.but:before {
  opacity: 0;
}
.but {
  /*
  span { 
      position: relative;
      display: inline-flex;
      align-items: center;

      width: 100%;
      height: 100%;
      &:before,
      &:after {
          content: '';
          pointer-events: none;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: transparent no-repeat center;
          background-size: contain;
      }
      &:before {
          @include fadeHidden();
      }
      &:after {
          @include fadeVisible();
      }
  }*/
}
.but.arrow {
  text-transform: uppercase;
}
.but.arrow:after {
  width: 12px;
  height: 12px;
  transform: rotate(-45deg) translateY(-1px);
  background-image: url(../media/arrow.svg);
}
.but.arrow:hover:after {
  transform: rotate(-45deg) translate(4px, 3px);
}
.but.prev, .but.next, .but.close, .but.open, .but.down, .but.plus {
  min-height: 50px;
  padding-left: 54px;
  line-height: 1;
  text-transform: uppercase;
}
.but.prev:before, .but.prev:after,
.but.prev span:before, .but.next:before, .but.next:after,
.but.next span:before, .but.close:before, .but.close:after,
.but.close span:before, .but.open:before, .but.open:after,
.but.open span:before, .but.down:before, .but.down:after,
.but.down span:before, .but.plus:before, .but.plus:after,
.but.plus span:before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 44px;
  height: 50px;
}
.but.prev:hover:before, .but.next:hover:before, .but.close:hover:before, .but.open:hover:before, .but.down:hover:before, .but.plus:hover:before {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out;
}
.but.prev:hover:after, .but.next:hover:after, .but.close:hover:after, .but.open:hover:after, .but.down:hover:after, .but.plus:hover:after {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s 0.3s, opacity 0.3s ease-in-out;
}
.but.reverse:before {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out;
}
.but.reverse:after {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s 0.3s, opacity 0.3s ease-in-out;
}
.but.reverse:hover:before {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s 0.3s, opacity 0.3s ease-in-out;
}
.but.reverse:hover:after {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out;
}
.but.reverse {
  /*&:before,
      &:after,
      span:after {
          filter: brightness(0);
      }
      &:before,
      span:before {
          opacity: 1;
      }
      &:after,
      span:after {
          opacity: 0;
      }
      &:hover {
          &:before,
          span:before {
              opacity: 0;
          }
          &:after,
          span:after {
              opacity: 1;
          }
      }
  }*/
}
.but.close {
  padding-left: 0;
  padding-right: 54px;
  font-size: 1.4rem;
}
.but.close:before, .but.close:after,
.but.close span:before {
  left: auto;
  right: 0;
  filter: brightness(0) invert(1);
}
.but.close {
  color: #FFFFFF;
}
.but.close:before {
  background-image: url(../media/but-hex-solid-close.svg);
}
.but.close:after {
  background-image: url(../media/but-hex-border-close.svg);
}
.but.down em, .but.arrow em {
  width: 100%;
  margin-top: -1em;
  font-style: normal;
  color: #FFFFFF;
}
.but.down {
  color: #DEA127;
}
.but.down:before {
  background-image: url(../media/but-hex-border-down.svg);
}
.but.down:after {
  background-image: url(../media/but-hex-solid-down.svg);
}
.but.open:before {
  background-image: url(../media/but-hex-solid-plus.svg);
}
.but.open:after {
  background-image: url(../media/but-hex-border-plus.svg);
}
.but.prev:before, .but.next:before {
  background-image: url(../media/but-hex-solid-arrow.svg);
}
.but.prev:after, .but.next:after {
  background-image: url(../media/but-hex-border-arrow.svg);
}
.but.prev {
  transform: rotate(180deg);
}
.but.solid, .but.outline {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  min-width: 90px;
  padding: 10px 20px;
  line-height: 1;
  border-radius: 2px;
  border: 2px solid #000000;
  text-transform: uppercase;
  text-align: center;
}
.but.solid {
  color: #DEA127;
  background: #000000;
}
.but.solid:hover {
  color: #000000;
  background: transparent;
}
.but.outline {
  color: #000000;
}
.but.outline:hover {
  color: #DEA127;
  background: #000000;
}
.but {
  /*
  &.play {
      span {
          overflow: hidden;
          &:before {
              background-image: url(/lib/media/icon-video-outline.svg);
          }
          &:after {
              background-image: url(/lib/media/icon-video-solid.svg);
          }
      }
  }*/
  /*
      &.pause,
      &.prev,
      &.next,
      &.close,
      &.open,
      &.enlarge {
          z-index: 1;
          width: 40px;
          height: 40px;
          span {
              border: 2px solid $white;
              background: $white;
              text-indent: 40px;
              border-radius: 50%;          
              transition: all 0.3s ease-in-out;
              overflow: hidden;
              &:before {
                  filter: brightness(0) invert(1);
              }
              &:after {
                  filter: none;
              }
          }
          &:hover {
              span {
                  background: transparent;
              }
          }
      }
      &.enlarge {
          span {
              &:before,
              &:after {
                  background-image: url(/lib/media/icon-open-darkblue.svg);
              }
          }
      }
      &.pause {
          &[aria-pressed="false"] { // playing
              span {
                  &:before {
                      background-image: url(/lib/media/icon-pause.svg);
                      filter: brightness(0) invert(1);
                  }
                  &:after {
                      background-image: url(/lib/media/icon-pause.svg);
                  }
              }
          }
          &[aria-pressed="true"] { // paused
              span {
                  &:before {
                      background-image: url(/lib/media/icon-play.svg);
                      filter: brightness(0) invert(1);
                  }
                  &:after {
                      background-image: url(/lib/media/icon-play.svg);
                  }
              }
          }
      }
      &.view {
          span {
              min-height: 40px;
              padding-left: 50px;
              text-transform: uppercase;
              color: $white;
              text-decoration: underline;
              text-underline-offset: 3px;
              transition: .3s ease-in-out;
              &:before,
              &:after {
                  top: 50%;
                  width: 40px;
                  height: 40px;
                  margin-top: -20px;
                  border-radius: 50%;
                  border: 2px solid $white;
                  background: no-repeat center;
              }
              &:before {
                  background-image: url(/lib/media/icon-arrow-white.svg);
              }
              &:after {
                  background-color: $white;
                  background-image: url(/lib/media/icon-arrow-greyblue.svg);
              }
          }
          &:not(:hover) {
              span {            
                  text-underline-offset: 6px;
                  text-decoration-color: transparent !important;
              }
          }
      }
  */
}

.actions {
  display: flex;
  align-items: center;
  gap: 5px;
}
.actions.pipe:before {
  content: "|";
}
.actions.pipe > :first-child {
  order: -1;
}

.mt-0,
.my-0 {
  margin-top: 0;
}

.mb-0,
.my-0 {
  margin-bottom: 0;
}

.ml-auto,
.mx-auto {
  margin-left: auto;
}

.mr-auto,
.mx-auto {
  margin-right: auto;
}

.p0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0;
}

.pb-0,
.py-0 {
  padding-bottom: 0;
}

.gap-0 {
  gap: 0;
}

[class*=ratio]:before {
  z-index: 1;
  position: relative;
  pointer-events: none;
  content: "";
  display: block;
  width: 100%;
  margin-left: -100%;
}

.ratio-fs:before {
  height: 100vh;
  height: 100dvh;
}

.ratio-1x1:before {
  aspect-ratio: 1/1;
}

.ratio-4x3:before {
  aspect-ratio: 4/3;
}

.ratio-3x2:before {
  aspect-ratio: 3/2;
}

.ratio-16x9:before {
  aspect-ratio: 16/9;
}

.ratio-2x1:before {
  aspect-ratio: 21/1;
}

.ratio-21x9:before {
  aspect-ratio: 21/1;
}

.ratio-a4:before {
  aspect-ratio: 210 / 297;
}

.sr-only {
  pointer-events: none;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.socials {
  display: flex;
  gap: 10px;
}

.social {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 50px;
  overflow: clip;
  white-space: nowrap;
  text-indent: 100vw;
}
.social:before, .social:after,
.social span:before,
.social span:after {
  content: "";
  background: no-repeat center;
  background-size: contain;
  transition: 0.3s ease-in-out;
}
.social:before, .social:after {
  filter: brightness(0) invert(1);
}
.social:before {
  background-image: url(../media/hex-solid-white.svg);
}
.social:after {
  background-image: url(../media/hex-flex-border-white.svg);
}
.social:before,
.social span:before {
  opacity: 0;
}
.social span:after {
  filter: brightness(0) invert(1);
}
.social.bluesky span:before,
.social.bluesky span:after {
  background-image: url(../media/social-bluesky-white.svg);
}
.social.youtube span:before,
.social.youtube span:after {
  background-image: url(../media/social-youtube-white.svg);
}
.social.linkedin span:before,
.social.linkedin span:after {
  background-image: url(../media/social-linkedin-white.svg);
}
.social {
  /*&.x,
  &.linkedin {
      width: 40px;
      height: 40px;
      text-indent: 40px;
      white-space: nowrap;
      overflow: hidden;
      background: no-repeat center;
      background-size: contain;
      &:hover {
          opacity: .5;
      }
  }*/
}
.social.x span:before,
.social.x span:after {
  background-image: url(../media/social-x-white.svg);
  background-size: 24px;
}
.social:hover:before,
.social:hover span:before {
  opacity: 1;
}
.social:hover:after,
.social:hover span:after {
  opacity: 0;
}

::-moz-placeholder {
  color: #000000;
  -moz-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

::placeholder {
  color: #000000;
  transition: 0.3s ease-in-out;
}

.field {
  display: flex;
  align-items: center;
}
.field label {
  width: 100%;
}

label {
  position: relative;
}
label input,
label select,
label textarea {
  border-radius: 2px;
}
label.icon input,
label.icon select {
  padding-left: 45px !important;
}
label.icon:before, label.icon:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  background: no-repeat center;
  background-size: contain;
  transition: 0.3s ease-in-out;
}
label.icon:before {
  opacity: 0;
  filter: brightness(0) invert(1);
}
label.icon:after {
  filter: brightness(0);
}
label.search input, label.filter select {
  padding-right: 50px !important;
}
label.search input:not(:-moz-placeholder) {
  color: #FFFFFF;
}
label.search input:not(:placeholder-shown) {
  color: #FFFFFF;
}
label.search input:not(:-moz-placeholder):not(:hover) {
  background: #EE0000;
}
label.search input:not(:placeholder-shown):not(:hover) {
  background: #EE0000;
}
label.search:before, label.search:after {
  background-image: url(../media/icon-search.svg);
}
label.filter select:valid {
  color: #FFFFFF;
}
label.filter select:valid:not(:hover) {
  background: #EE0000;
}
label.filter:before, label.filter:after {
  background-image: url(../media/icon-filter.svg);
}
label.search:has(input:not(:-moz-placeholder)):before {
  opacity: 1;
}
label.search:has(input:not(:placeholder-shown)):before, label.filter:has(select:valid):before {
  opacity: 1;
}
label.search:has(input:not(:-moz-placeholder)):after {
  opacity: 0;
}
label.search:has(input:not(:placeholder-shown)):after, label.filter:has(select:valid):after {
  opacity: 0;
}

textarea,
select,
input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  font-size: 1.8rem;
  transition: 0.3s ease-in-out;
}

select,
input {
  color: #000000;
  background: #DEA127;
}

select,
input:not([type=checkbox]):not([type=radio]) {
  height: 50px;
  width: 100%;
  padding: 0 20px;
}

label:hover select,
label:hover input {
  color: #FFFFFF;
  background: #000000;
}
label:hover input::-moz-placeholder {
  color: #FFFFFF;
}
label:hover input::placeholder {
  color: #FFFFFF;
}
label:hover:before {
  opacity: 1;
}
label:hover:after {
  opacity: 0;
}

input:hover::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5);
}

input:hover::placeholder {
  color: rgba(0, 0, 0, 0.5);
}
input:hover::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5);
}
input:hover::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration {
  display: none;
}

search.list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
search.list .but.clear {
  z-index: 1;
  width: 40px;
  height: 40px;
  transform: scale(0.75);
  margin: 0 5px 0 -45px;
  border-radius: 50%;
  overflow: clip;
  white-space: nowrap;
  text-indent: 100vw;
}
search.list .but.clear[hidden] {
  visibility: hidden;
}
search.list .but.clear {
  background: url(../media/icon-clear.svg) no-repeat;
  /*&:hover {
      opacity: .5;
  }*/
}
@media only screen and (max-width: 519px) {
  search.list .field {
    width: 100%;
  }
}
@media only screen and (min-width: 520px) {
  search.list .field {
    flex: 1;
  }
}

nav a,
#head a {
  text-decoration: none;
}

#menu,
dialog {
  position: fixed !important;
  top: 0;
  left: 0;
  height: 100vh;
  height: 100dvh;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  background: #333;
  overscroll-behavior: contain;
}
#menu[hidden],
dialog[hidden] {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s 0.3s, opacity 0.3s ease-in-out;
}
#menu:not([hidden]),
dialog:not([hidden]) {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out;
}

#menu {
  z-index: 99;
  overflow-x: clip;
  display: block !important;
}
#menu blockquote {
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  left: calc((100vw - 390px) / 2);
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 400px;
  padding: 30px 10px;
  /*display: flex;
  text-indent: 20px;
  color: $white;
  font-family: "Bitter";
  font-size: 3rem;*/
  transition: opacity 0.3s ease-in-out;
}
#menu blockquote:before, #menu blockquote:after {
  height: 20px;
  width: 20px;
}
#menu blockquote {
  /*
  &:before {
      content: open-quote;
      transform: translateX(10px);
  }
  &:after {
      content: close-quote;
      transform: translateX(-10px);
      margin-top: auto;
  }
      */
}
#menu > div {
  position: relative;
  max-width: 1360px;
  min-height: 100%;
  display: flex;
  justify-content: flex-end;
  margin: auto;
}
#menu > div:before {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 100vw;
  height: 100%;
  background: #DEA127;
  transition: 0.3s ease-in-out;
}
#menu li {
  list-style-type: none;
}
#menu ul {
  display: block;
  width: 100%;
  max-width: 390px;
  padding-block: clamp(20px, 5vw, 30px);
  padding-top: 120px;
  padding-bottom: clamp(20px, 5vw, 30px);
  padding-inline: clamp(20px, 5vw, 30px);
}
#menu ul ul {
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out;
}
#menu ul ul[hidden] {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s 0.3s, opacity 0.3s ease-in-out;
}
#menu .lv1 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #000000;
  background: #DEA127;
  transition: transform 0.3s 0.6s ease-in-out;
}
#menu .lv1 > li > a,
#menu .lv1 > li > button {
  font-family: "Bitter", serif;
  font-weight: 650;
  font-size: 3rem;
  line-height: 1.2;
  transition: 0.3s ease-in-out;
}
#menu .lv1 > li > a:hover,
#menu .lv1 > li > button:hover {
  color: #FFFFFF;
}
#menu .lv1 > li > [aria-expanded=true] {
  color: #FFFFFF;
}
#menu .lv2 {
  z-index: -1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition-delay: 0.6s;
  color: #FFFFFF;
  overflow-x: clip;
  overflow-y: auto;
}
#menu .lv2 > li > span, #menu .lv2 > li.edition:before, #menu .lv2 > li.insight:before {
  display: block;
  text-transform: uppercase;
  font-size: 1.6rem;
  color: #DEA127;
  margin-bottom: 20px;
}
#menu .lv2 > li.edition:before {
  content: "Editions";
}
#menu .lv2 > li.edition ~ .edition:before {
  display: none;
}
#menu .lv2 > li.insight:before {
  content: "Insight";
}
#menu .lv2 > li.insight ~ .insighttion:before {
  display: none;
}
#menu .lv2 > li > a,
#menu .lv2 > li > button {
  font-family: "Bitter", serif;
  font-weight: 500;
  font-size: 2rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: transparent;
  text-underline-offset: 6px;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration-color 0.3s ease-in-out;
}
#menu .lv2 > li > a:hover,
#menu .lv2 > li > button:hover {
  text-underline-offset: 3px;
  text-decoration-color: inherit;
}
#menu .lv2 > li > a.close {
  cursor: pointer;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  text-transform: uppercase;
}
#menu .lv2 > li > a.close:before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url(../media/arrow.svg) no-repeat center;
  background-size: contain;
  transform: rotate(135deg) translateY(-1px);
}
#menu .lv2 {
  /*&:not(#contact) {      
      a,
      button {
          text-transform: uppercase;
          line-height: .85;
          font-size: 3rem;
          font-weight: $med;
          color: $white;
          &:hover {
              opacity: .5;
          }
      }
  }*/
}
#menu #contact a {
  font-size: 1.8rem;
}
#menu .socials {
  margin-top: auto;
}
#menu {
  /*	@media only screen and (max-width: 799px) {
  		overflow-y: auto;
  		overflow-x: clip;
  		.l1,
  		.l2 {
  			display: none;
  		}
  		.lv1,
  		.lv2 {
  			width: 100%;
  			max-width: none;
  			background: $grey-blue;
  		}
  		.lv1 {          
  			transition: transform .6s ease-in-out;
  		}
  		.lv2 {
  			z-index: 1;
  			transition-delay: 0s;
  		}
  		&:has([aria-expanded="true"]) {
  			.lv1 {
  				transform: translateX(-100%);
  			}
  		}
  	}
      @media only screen and (max-width: 959px) {
          ul {
              padding-inline: $pad-hlf;
          }
          .lv1 {
              width: 50%;
              &:before {
                  margin-left: -$pad-hlf;
              }
          }
      }
      @media only screen and (min-width: 960px) {
          .lv1 {
              &:before {
                  width: 960px;
              }
          }
      }*/
}

/*body:not(.menu-open) #menu {
    .lv1 {
        opacity: 0;
        transition-delay: .3s;
        transition-duration: 0s;
    }
    .l1:before {
        opacity: 0;
    }
}*/
dialog {
  z-index: 101;
  display: flex !important;
  flex-direction: column;
  overflow-x: clip;
  overflow-y: auto;
  padding-block: clamp(60px, 5vw, 80px);
  padding-inline: clamp(20px, 5vw, 40px);
  row-gap: clamp(60px, 5vw, 80px);
  color: #FFFFFF;
}
dialog .bg {
  z-index: -1;
}

#dialog-1 > div {
  width: 100%;
  max-width: 800px;
  margin: auto;
  padding: 40px;
  padding: clamp(20px, 5vw, 40px);
  backdrop-filter: blur(5px);
  background: rgba(0, 0, 0, 0.5);
  text-align: center;
}
#dialog-1 > header {
  text-align: center;
}
#dialog-1 .kicker {
  background: #FFFFFF;
}
#dialog-1 .close {
  float: right;
  margin-bottom: 20px;
}
#dialog-1 .close + * {
  clear: both;
}
#dialog-1 ul {
  text-align: left;
}
#dialog-1 ul .but em {
  display: block;
  width: 100%;
  margin: 0;
  order: 1;
}
#dialog-1 ul .but.arrow {
  padding-left: 54px;
  color: #DEA127;
}
#dialog-1 p a {
  white-space: nowrap;
  color: #DEA127;
}

#head {
  pointer-events: none;
  padding-inline: clamp(20px, 5vw, 40px);
}
#head > div {
  position: relative;
  height: 120px;
  max-width: 1440px;
  display: flex;
  align-items: center;
  margin: 0 auto;
}
#head > div:after {
  content: "Menu" !important;
  position: absolute;
  top: 50%;
  right: 60px;
  transform: translate(-10px, -50%);
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
  color: #FFFFFF;
}
#head a, #head button {
  pointer-events: auto;
}

#skip,
#menu-toggle,
#head > div:after {
  z-index: 100;
}

#skip {
  position: absolute;
  top: 20px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  line-height: 1;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 700;
  color: #FFFFFF;
}
#skip:not(:focus) {
  pointer-events: none;
  opacity: 0;
}

#logo {
  z-index: 99;
  display: block;
  width: calc(100% - 120px);
  max-width: 374px;
  height: 70px;
  margin-right: auto;
  overflow: clip;
  white-space: nowrap;
  text-indent: 100vw;
  background: url(../media/logo-socdr-horz-white.svg) left center no-repeat;
  background-size: contain;
}

#menu-toggle {
  position: relative;
  display: flex;
  align-items: center;
  width: 60px;
  height: 70px;
  transition: background 0.3s ease-in-out;
}
#menu-toggle:after,
#menu-toggle span:after,
#menu-toggle span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 2.5px;
  border-radius: 1.25px;
  background: #FFFFFF;
  margin-top: -1px;
  transition: 0.3s ease-in-out;
}
#menu-toggle:before {
  content: "";
  background: url(../media/hex-solid-white.svg) no-repeat;
  background-size: contain;
  opacity: 0;
  transition: 0.3s ease-in-out;
}
#menu-toggle:after {
  transform: translateX(-16px);
}
#menu-toggle span {
  height: 100%;
  width: 100%;
  background: url(../media/hex-flex-border-white.svg) no-repeat;
  background-size: contain;
  overflow: clip;
  white-space: nowrap;
  text-indent: 100vw;
}
#menu-toggle span:before {
  transform: translate(-16px, -8px);
}
#menu-toggle span:after {
  transform: translate(-16px, 8px);
}
#menu-toggle:hover:after,
#menu-toggle:hover span:after,
#menu-toggle:hover span:before {
  background-color: #DEA127;
}
#menu-toggle:hover:before {
  opacity: 1;
}
#menu-toggle:hover:after {
  transition-delay: 0.3s;
}
#menu-toggle:hover span:before {
  transform: translate(-16px, 0);
}
#menu-toggle:hover span:after {
  transform: translate(-16px, 0);
}

/*
#enlarge-close {      
    position: absolute;
    top: $pad-hlf;
    right: $pad-hlf;
}
*/
body:not(.menu-open) .lv1 {
  transform: translateX(100%);
}
body.menu-open, body.enlarge-open {
  overflow: hidden;
}
body.menu-open .lv1 {
  transition-delay: 0s !important;
}
body.menu-open #menu-toggle:after {
  transition-duration: 0s;
  transition-delay: 0s;
  background: transparent;
}
body.menu-open #menu-toggle span:before {
  width: 28px;
  transform: translateX(-14px) rotate(45deg);
}
body.menu-open #menu-toggle span:after {
  width: 28px;
  transform: translateX(-14px) rotate(-45deg);
}
body.submenu-open #menu blockquote {
  opacity: 0;
}
body.submenu-open #menu > div:before {
  background: #000000;
  transform: translateX(-390px);
}
body.submenu-open #menu .lv1 {
  transform: translateX(-100%);
}

@media screen and (max-width: 579px) {
  #head > div:after {
    display: none;
  }
  #logo {
    width: 140px;
    background-image: url(../media/logo-socdr-vert-white.svg);
  }
}
@media screen and (max-width: 779px) {
  #menu ul {
    max-width: none;
  }
  #menu > div:before {
    left: 0;
  }
  body.submenu-open #menu > div:before {
    transform: translateX(0);
  }
}
@media screen and (min-width: 780px) and (max-width: 1360px) {
  #menu > div:before {
    max-width: 390px;
  }
}
@media screen and (min-width: 1361px) {
  #menu blockquote {
    left: 485px;
  }
  #menu > div:before {
    width: calc(390px + (100vw - 1360px) / 2);
  }
}
#foot {
  padding-top: clamp(40px, 5vw, 80px);
  padding-inline: clamp(20px, 5vw, 40px);
  padding-bottom: 40px;
}
#foot > div {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: 1280px;
  margin: auto;
}
#foot ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 310px;
  gap: 20px;
}
#foot li {
  font-size: 1.4rem;
  line-height: 1.2;
  list-style-type: none;
}
#foot #redbot {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 1.4rem;
  text-transform: uppercase;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: transparent;
  text-underline-offset: 6px;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration-color 0.3s ease-in-out;
}
#foot #redbot:hover {
  text-underline-offset: 3px;
  text-decoration-color: inherit;
}
#foot #redbot span {
  display: inline-block;
  width: 40px;
  height: 23px;
  text-indent: 50px;
  white-space: nowrap;
  overflow: hidden;
  background: url(../media/logo-redbot.svg) no-repeat center;
  background-size: contain;
}
@media screen and (min-width: 709px) {
  #foot ul {
    max-width: none;
  }
  #foot ul > :last-child {
    margin-left: auto;
  }
}

.text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.sec-text ol {
  counter-reset: count;
}
.sec-text ol.hex {
  display: grid;
  gap: 40px;
}
.sec-text ol.hex li {
  counter-increment: count;
  list-style-type: none;
  position: relative;
  padding-left: 80px;
}
.sec-text ol.hex li:before {
  content: counter(count, decimal-leading-zero);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 70px;
  width: 60px;
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Bitter", serif;
  font-size: 3rem;
  font-weight: 700;
  color: #FFFFFF;
  background: url(../media/hex-solid-yellow.svg) no-repeat center;
  background-size: contain;
}
@media screen and (min-width: 920px) {
  .sec-text ol.hex.col-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sec-text ol.hex.col-2 li:first-child {
    grid-column: span 2;
    padding-right: calc(50% + 20px);
  }
}

.cover {
  aspect-ratio: 210 / 297;
  transform: rotate(5deg);
}
.cover:after {
  content: "";
  position: absolute;
  top: -15px;
  left: -15px;
  right: -15px;
  bottom: -15px;
  background: #FFFFFF;
  transition: background 0.3s ease-in-out;
}
.cover img {
  z-index: 1;
  position: relative;
  box-shadow: 5px 10px 30px rgba(0, 0, 0, 0.5);
}

@keyframes scaleDown {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
body.portal {
  color: #FFFFFF;
}
body.portal #main {
  display: flex;
  flex-direction: column;
}
body.portal #foot {
  padding-block: 40px;
  color: #FFFFFF;
}
body.portal #redbot span {
  filter: brightness(0) invert(1);
}
body.portal {
  /*#logo {
      width: 140px;
      background-image: url(../media/logo-socdr-vert-white.svg);
  }*/
}
body.portal section header {
  text-align: center;
}
body.portal section.sec-panel {
  /*position: relative;
  &:before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: calc(100vw - 40px);
      height: calc(100% + 40px);
      backdrop-filter: blur(15px);
  }*/
}
body.portal section.sec-panel .panel {
  border: 2px solid #FFFFFF;
  transition: border 0.3s ease-in-out;
}
body.portal section.sec-panel .panel:hover {
  border-color: #DEA127;
}
body.portal section:not(.sec-hero) {
  width: calc(100% - 40px);
  max-width: 1280px;
  margin: auto;
  backdrop-filter: blur(15px);
  padding-inline: 20px;
  padding: 40px 20px 20px 20px;
}

.sec-portal {
  display: flex;
  flex-grow: 1;
  /*padding: 0 $pad-hlf $pad-hlf $pad-hlf;
  >div {
      display: flex;
      flex-grow: 1;
      padding: $pad-hlf;
      backdrop-filter: blur(20px);
  }*/
}
.sec-portal iframe {
  width: 100%;
}

.sec-hero.portal:before, .sec-hero[class*=titled]:before {
  display: none;
}
.sec-hero.portal > .bg, .sec-hero[class*=titled] > .bg {
  z-index: -1;
}
.sec-hero.portal > div {
  display: flex;
  height: 120px;
  margin-left: 0 !important;
  padding: 0 !important;
}
.sec-hero.portal > div > div {
  display: flex;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 579px) {
  .sec-hero.portal h1 {
    transform: translateX(40px);
  }
}
.sec-hero.portal .kicker {
  font-size: 1.4rem;
}
.sec-hero[class*=titled] {
  border-top: 120px solid transparent;
}
.sec-hero[class*=titled] > .bg {
  position: absolute;
  height: 240px;
}
.sec-hero[class*=titled] > .bg:before, .sec-hero[class*=titled] > .bg:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 50%;
  height: 120px;
  background: url(../media/image-mask-people.svg) no-repeat;
  background-size: auto 120px;
  background-position: right bottom;
}
.sec-hero[class*=titled] > .bg:before {
  background-position: left bottom;
  left: 0;
}
.sec-hero[class*=titled] > .bg:after {
  background-position: right bottom;
  right: 0;
}
@media screen and (max-width: 480px) {
  .sec-hero[class*=titled] > .bg {
    height: 120px;
  }
  .sec-hero[class*=titled] > .bg:before, .sec-hero[class*=titled] > .bg:after {
    display: none;
  }
}
@media screen and (max-width: 1280px) {
  .sec-hero[class*=titled] > .bg:after {
    background-position: right -120px bottom;
    right: 0;
  }
}
.sec-hero[class*=titled] > div > div {
  max-width: 900px;
  margin: auto;
  text-align: center;
}
.sec-hero:not([class*=titled]) {
  padding: 0;
  display: flex;
  gap: 0;
  flex-direction: row;
}
.sec-hero:not([class*=titled]):before {
  z-index: 1;
  content: "";
  pointer-events: none;
  position: absolute;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translateX(-50%);
  background-image: linear-gradient(to bottom, #000000, transparent 160px);
}
.sec-hero:not([class*=titled]) > div {
  z-index: 2;
  position: relative;
  max-width: none;
  margin: 0 0 0 -100%;
  padding-top: 180px;
  padding-bottom: 80px;
  padding-inline: clamp(20px, 5vw, 40px);
  text-align: center;
}
.sec-hero:not([class*=titled]) > div div {
  max-width: 1280px;
  margin: auto;
  text-align: left;
  color: #FFFFFF;
}
.sec-hero:not([class*=titled]) figure {
  width: 100%;
  max-width: none;
  /*&.ratio-min {
      &:before {
          aspect-ratio: 11/9;
          max-height: 620px;
      }
  }
  &.ratio-mid {
      &:before {
          aspect-ratio: 16/9;
          max-height: 620px;
      }
  }
  iframe {
      width: auto;
      height: auto;
      min-width: 100vw;
      min-height: 100vh;
      aspect-ratio: 16 / 9; // default, set via class
      background: $black;
  }*/
}
.sec-hero:not([class*=titled]) h1 strong {
  color: #DEA127;
}
.sec-hero:not([class*=titled]) .kicker {
  background: #FFFFFF;
}
.sec-hero {
  /*figcaption {
      z-index: 2;
      pointer-events: none;
      span {
          padding: 0 0 $pad-hlf 0 !important;
      }
      >* {
        pointer-events: auto;
      }
  }
  .video {    
      figcaption {  
          left: 50%;
          transform: translateX(-50%);
          max-width: 1280px;
      }
      .but.pause {
          &:before {
              display: none;
          }
      }
  }*/
}
.sec-hero.gallery .carousel {
  z-index: auto;
  margin: 0;
  padding: 0;
  gap: 0;
}
.sec-hero.gallery .ctrl {
  z-index: 3;
  width: 100%;
  margin-top: -34px;
  transform: translateY(-40px);
}
.sec-hero.gallery .ctrl button {
  color: #FFFFFF;
}
.sec-hero.gallery .ctrl button:before, .sec-hero.gallery .ctrl button:after {
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 1280px) {
  .sec-hero.gallery .ctrl {
    padding-left: clamp(20px, 5vw, 40px);
  }
}
.sec-hero.gallery .content {
  background: #000000;
}
.sec-hero.gallery .slide,
.sec-hero.gallery picture {
  width: 100%;
  max-width: none;
  height: 100%;
}
.sec-hero.gallery .slide:not([hidden]) {
  transition: opacity 1.2s ease-in-out;
  /*picture {
      transform: scale(1.1);
      animation: scaleDown 6.2s ease-out forwards;
  }*/
}
.sec-hero.gallery .slide[hidden] {
  transition: visibility 0s 1.2s, opacity 1.2s ease-in-out;
  /*picture {
      transform: scale(1);
  }*/
}
.sec-hero.gallery picture img {
  opacity: 0.5;
}
.sec-hero.gallery h1 {
  font-family: "Lato", sans-serif;
  line-height: 1.3;
}
.sec-hero.masked {
  position: relative;
  overflow: hidden;
}
.sec-hero.masked.gallery:after {
  content: "";
  pointer-events: none;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 220px;
  width: 50vw;
  min-width: 280px;
  background: #FFFFFF;
}
.sec-hero.masked.gallery + section {
  z-index: 2;
  position: relative;
  margin-top: -220px;
}
.sec-hero.masked.gallery .carousel {
  overflow: hidden;
  margin-top: -80px;
}
.sec-hero.masked.gallery .carousel:before, .sec-hero.masked.gallery .carousel:after {
  z-index: 1;
  content: "";
  pointer-events: none;
  position: absolute;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background: no-repeat right bottom;
  background-size: 1440px auto;
}
@media screen and (max-width: 1199px) {
  .sec-hero.masked.gallery .carousel:before, .sec-hero.masked.gallery .carousel:after {
    left: 45%;
    transform: scaleX(-1);
  }
}
.sec-hero.masked.gallery .carousel:after {
  background-image: url(../media/image-mask-home2.svg);
}
.sec-hero.masked.gallery .carousel:before {
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(5px);
  -webkit-mask-image: url(https://redbot.uk/socdr/www/image-mask-home-tint2.svg);
          mask-image: url(https://redbot.uk/socdr/www/image-mask-home-tint2.svg);
  -webkit-mask-size: 1440px auto;
          mask-size: 1440px auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: right bottom;
          mask-position: right bottom;
}
.sec-hero.masked.gallery .content:before {
  height: calc(100dvh + 220px);
  min-height: 770px;
  max-height: 900px;
}
.sec-hero.masked.gallery .ctrl {
  transform: translateY(-240px);
}
.sec-hero.masked.gallery .max > div > * {
  max-width: 580px;
}
.sec-hero.report {
  position: relative;
}
.sec-hero.report:after {
  z-index: 1;
  content: "";
  pointer-events: none;
  position: absolute;
  left: 50%;
  bottom: 59px;
  width: 100%;
  height: 180px;
  transform: translateX(-50%);
  background: url(../media/image-mask-report.svg) 40% 100% no-repeat;
  background-size: auto 100%;
}
.sec-hero.report .actions {
  height: 60px;
  margin-top: auto;
  transform: translateY(10px);
}
.sec-hero.report > div {
  border-bottom: 60px solid #000000;
  padding-bottom: 0;
}
.sec-hero.report > div > div {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 100%;
}
@media screen and (max-width: 819px) {
  .sec-hero.report:after {
    background-position-x: -240px;
  }
  .sec-hero.report .cover {
    position: unset;
    margin: 20px auto 80px auto;
    width: calc(100% - 60px);
    max-width: 250px;
  }
  .sec-hero.report .quote {
    margin-bottom: 120px;
  }
}
@media screen and (min-width: 820px) {
  .sec-hero.report .cover {
    position: absolute;
    width: 350px;
    bottom: 20px;
    right: 10px;
  }
  .sec-hero.report .quote {
    max-width: calc(100% - 410px);
    margin-bottom: 180px;
  }
}

.sec-chapter > div {
  position: relative;
}
.sec-chapter > div:before, .sec-chapter > div:after {
  z-index: 2;
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  height: 100%;
  width: clamp(20px, 5vw, 40px);
}
.sec-chapter > div:before {
  right: 100%;
  background-image: linear-gradient(to right, #000000, transparent);
}
.sec-chapter > div:after {
  left: 100%;
  background-image: linear-gradient(to left, #000000, transparent);
}
.sec-chapter > div > div {
  margin: 0 calc(0px - clamp(20px, 5vw, 40px));
  padding-left: clamp(20px, 5vw, 40px);
  overflow-x: auto;
  overflow-y: clip;
  margin-top: -20px;
  padding-top: 20px;
}
.sec-chapter ol {
  display: flex;
  gap: 40px;
  padding-bottom: 20px;
}
.sec-chapter li {
  list-style-type: none;
}
.sec-chapter li:last-child {
  padding-right: clamp(20px, 5vw, 40px);
}
.sec-chapter figure,
.sec-chapter .but.down span:after {
  width: 255px;
}
.sec-chapter figure {
  position: relative;
}
.sec-chapter figure:not(:hover) picture {
  filter: grayscale(1);
}
.sec-chapter figure picture {
  position: absolute;
  bottom: 70px;
  left: 0;
  width: 100%;
  transition: 0.3s ease-in-out;
}
.sec-chapter figure picture:after {
  content: attr(data-label);
  position: absolute;
  top: 2.5px;
  left: 2.5px;
  margin: 0;
  transform: rotate(90deg) translateY(-100%);
  transform-origin: left top;
  font-size: 1.4rem;
  background: #FFFFFF;
}
.sec-chapter figcaption {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.sec-chapter figcaption:before {
  z-index: 1;
  pointer-events: none;
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 210 / 297;
  border: 2.5px solid #FFFFFF;
}
.sec-chapter h3 {
  order: -1;
  margin: 0;
}
.sec-chapter .actions .but.down {
  pointer-events: none;
}
.sec-chapter .actions .but.down span {
  pointer-events: auto;
}
.sec-chapter .but.down:before {
  filter: brightness(0) invert(1);
}
.sec-chapter .but.down span {
  display: flex;
}
.sec-chapter .but.down span:before, .sec-chapter .but.down span:after {
  position: absolute;
  left: 0;
}
.sec-chapter .but.down span:before {
  bottom: 0;
}
.sec-chapter .but.down span:after {
  z-index: 1;
  position: absolute;
  left: 0;
  bottom: calc(100% + 20px);
  aspect-ratio: 210 / 297;
}
.sec-chapter .but.down:hover {
  color: #FFFFFF;
}

.sec-accordion dl,
.sec-accordion dt {
  position: relative;
}
.sec-accordion dl:after,
.sec-accordion dt:after {
  z-index: 1;
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 2.5px;
  background: #FFFFFF;
  border-radius: 1.25px;
}
.sec-accordion dl:after {
  bottom: 0;
}
.sec-accordion dt .but {
  width: 100%;
  min-height: 80px;
  padding-block: 10px;
}
.sec-accordion dt:after {
  top: 0;
}
.sec-accordion dt ~ dt {
  margin-top: -1.25px;
}
.sec-accordion dd > div {
  padding-block: 20px 40px;
}
.sec-accordion .but.down {
  text-transform: none;
  font-family: "Bitter", serif;
  font-size: 3rem;
  font-size: clamp(2rem, calc(3vw + 1.6rem), 3rem);
  font-weight: 450;
}
.sec-accordion .but.down:before, .sec-accordion .but.down:after {
  transition: 0.3s ease-in-out, transform 0s;
}
.sec-accordion .but.down[aria-expanded=true]:before, .sec-accordion .but.down[aria-expanded=true]:after {
  transform: rotate(180deg) translateY(50%);
}
.sec-accordion.bg-yellow .but.down {
  color: #000000;
}
.sec-accordion.bg-yellow .but.down:before, .sec-accordion.bg-yellow .but.down:after {
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 639px) {
  .sec-accordion dd > div:has(ul[class*=col-]) {
    padding-bottom: 20px;
  }
  .sec-accordion ul[class*=col-] {
    display: flex;
    overflow-x: auto;
    overflow-y: clip;
    padding-bottom: 20px;
  }
  .sec-accordion ul[class*=col-] li {
    min-width: 70vw;
  }
}
@media screen and (min-width: 640px) {
  .sec-accordion dd > div {
    padding-inline: 20px;
  }
}

ul[class*=col-] {
  display: grid;
  gap: 20px;
}
ul[class*=col-] > li {
  list-style-type: none;
}
ul[class*=col-] h4 {
  font-family: "Bitter", serif;
}
@media screen and (min-width: 640px) {
  ul.col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 640px) and (max-width: 939px) {
  ul.col-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 940px) {
  ul.col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.carousel {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.carousel .ctrl,
.carousel nav {
  display: flex;
  align-items: center;
  gap: 10px;
}
.carousel .ctrl {
  order: 1;
}
.carousel .pause {
  display: flex;
  font-size: 1.4rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: transparent;
  text-underline-offset: 6px;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration-color 0.3s ease-in-out;
}
.carousel .pause:hover {
  text-underline-offset: 3px;
  text-decoration-color: inherit;
}
.carousel nav button {
  position: relative;
  height: 34px;
  width: 30px;
  overflow: clip;
  white-space: nowrap;
  text-indent: 100vw;
}
.carousel nav button:before, .carousel nav button:after {
  content: "";
  background: no-repeat;
  background-size: contain;
  transition: 0.3s ease-in-out;
}
.carousel nav button:before {
  content: "";
  background-image: url(../media/hex-flex-border-yellow.svg);
  transition: 0.3s ease-in-out;
}
.carousel nav button:after {
  background-image: url(../media/hex-solid-yellow.svg);
  opacity: 0;
}
.carousel nav button:hover:after, .carousel nav button[aria-selected=true]:after {
  opacity: 1;
}
.carousel .content {
  position: relative;
}
.carousel .slide {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
}
.carousel .slide[hidden] {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s 0.3s, opacity 0.3s ease-in-out;
}
.carousel .slide:not([hidden]) {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out;
}

.sec-association.col-1 > div > div {
  min-height: 230px;
  padding: 60px 20px 30px 20px;
}
.sec-association.col-1 figcaption {
  left: 50%;
  transform: translateX(-50%);
}
.sec-association.col-1 .content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  height: 100%;
}
.sec-association.col-1 .slide {
  max-width: 204px;
  max-height: 140px;
}
.sec-association.col-1 picture {
  height: 100%;
}
.sec-association.col-2 .content {
  aspect-ratio: 21/9;
}
.sec-association.col-2 .slide {
  max-width: 400px;
  margin-top: 30px;
}
.sec-association.col-2 picture {
  height: 140px;
}
.sec-association > div {
  display: grid;
  gap: 20px;
}
.sec-association > div > div {
  position: relative;
  border: 2.5px solid #DEA127;
}
.sec-association .ctrl {
  justify-content: center;
  padding: 20px;
}
.sec-association nav {
  justify-content: center;
}
.sec-association figcaption {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  margin: -2px 0 0 -2px;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 2em;
  padding: 0.333em 0.666em;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  text-transform: uppercase;
  line-height: 1;
  color: #000000;
  background: #DEA127;
}
.sec-association .slide {
  width: calc(100% - 40px);
}
.sec-association picture {
  background: transparent;
}
.sec-association picture img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
@media screen and (min-width: 940px) {
  .sec-association.col-2 > div {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 1270px) {
  .sec-association.col-1 .slide:last-of-type {
    max-width: 306px;
  }
}

.sec-textmedia > div {
  position: relative;
  display: flex;
  -moz-column-gap: clamp(20px, 5vw, 40px);
       column-gap: clamp(20px, 5vw, 40px);
}
.sec-textmedia > div:before {
  margin-left: 0;
}
.sec-textmedia > div:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 80px);
  height: 100%;
  transform: translate(-50%, -50%);
}
.sec-textmedia .text {
  z-index: 1;
  width: calc((100% - clamp(20px, 5vw, 40px)) / 2);
  padding-block: 30px;
}
.sec-textmedia .img,
.sec-textmedia .video,
.sec-textmedia > div:before {
  width: calc((100% - clamp(20px, 5vw, 40px)) / 2);
  margin-bottom: auto;
}
.sec-textmedia .video:after {
  content: "";
  z-index: 21;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sec-textmedia .img {
  z-index: 0;
  overflow: visible !important;
}
.sec-textmedia .img:before {
  margin-left: 0 !important;
  background: url(../media/image-mask-yellow.svg) right bottom no-repeat;
  background-size: auto 160px;
}
.sec-textmedia.reorder .text {
  order: -1;
}
.sec-textmedia .img {
  display: flex;
  flex-direction: column;
}
.sec-textmedia .img:before {
  margin-top: auto;
}
@media only screen and (min-width: 980px) {
  .sec-textmedia .img {
    min-height: calc(100% - 30px);
  }
  .sec-textmedia.bg-grey picture, .sec-textmedia.bg-darkgrey picture, .sec-textmedia.bg-black picture, .sec-textmedia.bg-yellow picture {
    transform: translateY(-30px);
    height: calc(100% + 30px) !important;
  }
}
.sec-textmedia.bg-white .img:before {
  filter: brightness(0) invert(1);
}
.sec-textmedia[class*=bg-] {
  background-color: transparent;
}
.sec-textmedia.bg-grey > div:after {
  background: #000000;
  filter: brightness(0) invert(0.85);
}
.sec-textmedia.bg-grey .img:before {
  filter: brightness(0) invert(0.85);
}
.sec-textmedia.bg-darkgrey {
  color: #FFFFFF;
}
.sec-textmedia.bg-darkgrey > div:after {
  background: #000000;
  filter: brightness(0) invert(0.51);
}
.sec-textmedia.bg-darkgrey .img:before {
  filter: brightness(0) invert(0.51);
}
.sec-textmedia.bg-black > div:after {
  background: #000000;
}
.sec-textmedia.bg-black .img:before {
  filter: brightness(0);
}
.sec-textmedia.bg-yellow {
  background-color: transparent;
}
.sec-textmedia.bg-yellow > div:after {
  background: #DEA127;
}
.sec-textmedia.bg-yellow .but:before, .sec-textmedia.bg-yellow .but:after {
  filter: brightness(0) invert(1);
}
@media only screen and (max-width: 979px) {
  .sec-textmedia > div[class*=ratio-]:before {
    display: none;
  }
  .sec-textmedia .text:only-child {
    flex-grow: 1;
  }
  .sec-textmedia .text .img,
  .sec-textmedia .text .video {
    width: 100%;
    max-width: 620px;
    min-height: 300px;
    margin-block: 20px 40px;
    background-position: right bottom 60px;
  }
  .sec-textmedia .text .img + h2,
  .sec-textmedia .text .img + h3,
  .sec-textmedia .text .video + h2,
  .sec-textmedia .text .video + h3 {
    order: -1;
  }
  .sec-textmedia .text .img + .kicker,
  .sec-textmedia .text .video + .kicker {
    order: -2;
  }
  .sec-textmedia .text .img + .kicker + h2,
  .sec-textmedia .text .img + .kicker + h3,
  .sec-textmedia .text .video + .kicker + h2,
  .sec-textmedia .text .video + .kicker + h3 {
    order: -1;
  }
  .sec-textmedia {
    /*&.reorder {
      .text {
          .img,
          .video {
              transform: translateX(10px);
          }
      }
    }
    &:not(.reorder) {
      .text {
          .img,
          .video {
              transform: translateX(-10px);
          }
      }
    }*/
  }
}
@media only screen and (min-width: 980px) {
  .sec-textmedia > div[class*=ratio-] {
    position: relative;
  }
  .sec-textmedia > div[class*=ratio-]:before {
    content: "";
    pointer-events: none;
  }
  .sec-textmedia > div[class*=ratio-] .img,
  .sec-textmedia > div[class*=ratio-] .video {
    position: absolute;
    top: 0;
  }
  .sec-textmedia.reorder .text .img,
  .sec-textmedia.reorder .text .video {
    right: 0;
  }
  .sec-textmedia:not(.reorder) .text .img,
  .sec-textmedia:not(.reorder) .text .video {
    left: 0;
  }
}
@media only screen and (min-width: 1440px) {
  .sec-textmedia {
    /*.img {
        width: calc((100% - clamp($pad-hlf, 5vw, $pad)) / 2 + $pad-hlf);          
    }
    .video {
        width: calc((100% - clamp($pad-hlf, 5vw, $pad)) / 2 + $pad);
    }
    &:not(.reorder) {
        .img {
            margin-left: -$pad-hlf;
            transform: translateX(-$pad-hlf);
        }
        .video {
            margin-left: -$pad;
        }
    }
    &.reorder {
        .img {
            margin-right: -$pad-hlf;
            transform: translateX($pad-hlf);
        }
        .video {
            margin-right: -$pad;
        }
    }*/
  }
}

.sec-people #list-status {
  display: block !important;
  margin-top: 20px;
  text-align: center;
}
.sec-people #list-status:empty:before {
  content: attr(data-empty);
}
.sec-people > header {
  justify-content: center;
}
.sec-people > div {
  display: grid;
  gap: 40px;
  max-width: 920px;
}
.sec-people search {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.sec-people search .field {
  max-width: 280px;
}
.sec-people .role {
  min-height: 38px;
  margin-top: -10px;
  line-height: 1.1;
  font-size: 1.4rem;
  font-weight: 700;
  text-transform: uppercase;
}
.sec-people .role:last-child {
  margin-bottom: 70px;
}
.sec-people .person {
  max-width: 280px;
  display: flex;
  background: #DEA127;
}
.sec-people .person[hidden] {
  order: 1;
  visibility: hidden !important;
  display: flex !important;
}
.sec-people .person:before {
  aspect-ratio: 4/5;
}
.sec-people .person:after {
  content: attr(data-group);
  position: absolute;
  top: 0;
  right: 0;
  transform: rotate(90deg) translateX(100%);
  transform-origin: top right;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 2em;
  padding: 0.333em 0.666em;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  text-transform: uppercase;
  line-height: 1;
  color: #000000;
  background: #DEA127;
  font-size: 1.4rem;
  padding: 10px;
}
.sec-people .person picture {
  filter: grayscale(1);
  transition: 0.3s ease-in-out;
}
.sec-people .person picture img {
  opacity: 0.9;
}
.sec-people .person picture + figcaption {
  color: #FFFFFF;
}
.sec-people .person picture + figcaption:before, .sec-people .person picture + figcaption:after {
  z-index: -1;
  content: "";
  transition: 0.3s ease-in-out;
}
.sec-people .person picture + figcaption:before {
  background: linear-gradient(transparent, #000000);
}
.sec-people .person figcaption {
  position: unset;
  position: relative;
  width: 100%;
  padding: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  row-gap: 20px;
  margin-top: auto;
  height: auto;
  transform: translateY(70px);
  transition: 0.3s ease-in-out;
}
.sec-people .person figcaption > * {
  margin-bottom: 0;
}
.sec-people .person figcaption h3 {
  font-size: 3.5rem;
  line-height: 1.1;
}
.sec-people .person.dialog:hover picture {
  transform: scale(1);
}
.sec-people .person.dialog:hover picture + figcaption {
  transform: translateY(0);
  color: #000000;
}
.sec-people .person.dialog:hover picture + figcaption:before {
  transform: translateY(70px);
}
.sec-people .person.dialog:hover picture + figcaption:after {
  background: #DEA127;
}
.sec-people .but.open {
  margin: 0;
  padding-left: 45px;
}
.sec-people .but.open:before, .sec-people .but.open:after,
.sec-people .but.open span:before {
  width: 35px;
  height: 40px;
}
.sec-people .but.open:before, .sec-people .but.open:after {
  filter: brightness(0) invert(1);
}
.sec-people dialog > header {
  color: #FFFFFF;
  text-align: center;
}
.sec-people dialog > div {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 700px;
  margin-inline: auto;
  padding-top: 20px;
  padding-bottom: 40px;
  padding-inline: 40px;
  padding-inline: clamp(20px, 5vw, 40px);
  color: #000000;
  background: #DEA127;
}
.sec-people dialog > div picture {
  position: relative;
  width: 100%;
  max-width: 290px;
  margin: auto;
}
.sec-people dialog .nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.sec-people dialog .nav > :not(.close) {
  display: none;
}
.sec-people dialog .nav .close {
  margin-left: auto;
}
.sec-people dialog .info {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px 0;
  border-block: 2px solid #FFFFFF;
}
.sec-people dialog .info div {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.sec-people dialog .info ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}
.sec-people dialog .info li {
  list-style-type: none;
  display: flex;
}
.sec-people dialog .info h4 {
  font-family: "Bitter", serif;
}
.sec-people dialog .info h4 span {
  display: block;
}
@media only screen and (max-width: 629px) {
  .sec-people dialog .info div {
    align-items: center;
  }
  .sec-people dialog .info h4,
  .sec-people dialog .info p {
    text-align: center;
  }
}
@media only screen and (min-width: 630px) {
  .sec-people dialog .info {
    flex-direction: row;
  }
  .sec-people dialog .info picture {
    order: 1;
  }
  .sec-people dialog .info li:nth-child(2):nth-last-child(3) {
    width: calc(100% - 50px);
  }
}
.sec-people dialog .social:before, .sec-people dialog .social:after,
.sec-people dialog .social span:after {
  filter: brightness(0);
}
.sec-people dialog .social:before,
.sec-people dialog .social span:before {
  opacity: 1;
}
.sec-people dialog .social:after,
.sec-people dialog .social span:after {
  opacity: 0;
}
.sec-people dialog .social:hover:before,
.sec-people dialog .social:hover span:before {
  opacity: 0;
}
.sec-people dialog .social:hover:after,
.sec-people dialog .social:hover span:after {
  opacity: 1;
}
.sec-people dialog .but.solid {
  margin-block: auto;
}
.sec-people dialog .nav span {
  font-size: 1.8rem;
  font-weight: 700;
}
.sec-people dialog .nav .but {
  width: 44px;
  padding: 0;
  overflow: clip;
  white-space: nowrap;
  text-indent: 100vw;
}
.sec-people dialog nav {
  display: flex;
  gap: 10px;
}
.sec-people dialog nav .but {
  filter: brightness(0) invert(0);
}
.sec-people dialog .close {
  margin-left: 50px;
  filter: brightness(0) invert(0);
}
.sec-people:not(.filtering) .person,
.sec-people:not(.filtering) #list-status {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out;
}
.sec-people.filtering .person,
.sec-people.filtering #list-status {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s 0.3s, opacity 0.3s ease-in-out;
}
@media only screen and (max-width: 579px) {
  .sec-people .person {
    margin-inline: auto;
  }
}
@media only screen and (min-width: 360px) and (max-width: 579px) {
  .sec-people .person:nth-of-type(odd) {
    transform: translateX(-20px);
  }
  .sec-people .person:nth-of-type(even) {
    transform: translateX(20px);
  }
}
@media only screen and (min-width: 580px) and (max-width: 879px) {
  .sec-people > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sec-people .person:nth-of-type(even) {
    transform: translateY(20px);
  }
}
@media only screen and (min-width: 880px) {
  .sec-people > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sec-people .person:nth-of-type(3n+2) {
    transform: translateY(20px);
  }
  .sec-people .person:nth-of-type(3n+3) {
    transform: translateY(40px);
  }
}

ul.downloads li {
  display: flex;
  align-items: center;
  min-height: 50px;
}
ul.downloads li .but {
  min-height: auto;
}

.sec-panel > div {
  display: grid;
  gap: 40px;
}
.sec-panel .panel {
  overflow: hidden;
  position: relative;
  display: flex;
  color: #FFFFFF;
}
.sec-panel .panel:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 50%;
  width: 100%;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
}
.sec-panel .panel:before {
  aspect-ratio: 3/1;
  min-height: 300px;
}
.sec-panel .panel figcaption {
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  padding: 20px 200px 20px 20px;
  padding-right: 30%;
  transition: 0.3s ease-in-out;
}
.sec-panel .panel .kicker {
  margin-top: 20px;
  background: #FFFFFF;
}
.sec-panel .panel .actions {
  margin-top: auto;
}
.sec-panel .panel .down:hover {
  color: #FFFFFF;
}
.sec-panel .panel .down:before {
  filter: brightness(0) invert(1);
}
.sec-panel .panel .next span:after {
  z-index: 2;
  position: absolute;
  bottom: -20px;
  left: -20px;
  width: 830px;
  min-height: 300px;
  aspect-ratio: 3/1;
}
.sec-panel .panel:hover .cover:after {
  background: #DEA127;
}
.sec-panel .panel:hover {
  /*    color: $black;
      figcaption {
          background: $yellow;
      }
      h2,
      .but {
          color $black;
          transition: none; // ??
      }
  */
}
.sec-panel .bg {
  position: absolute;
}
.sec-panel .bg img {
  opacity: 0.8;
}
.sec-panel .cover {
  z-index: 2;
  pointer-events: none;
  position: absolute;
  top: -50px;
  left: 76%;
  width: 200px;
}
@media only screen and (max-width: 469px) {
  .sec-panel .panel::before {
    aspect-ratio: 1/1;
  }
  .sec-panel .panel figcaption {
    align-items: center;
    padding-right: 20px;
    text-align: center;
  }
  .sec-panel .cover {
    display: none;
  }
  .sec-panel .actions {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .sec-panel .actions.pipe:before {
    display: none;
  }
}
@media only screen and (min-width: 1009px) {
  .sec-panel > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sec-panel .panel:last-of-type:nth-child(odd) {
    transform: translateX(50%) translateX(20px);
  }
}/*# sourceMappingURL=rb-front.css.map */