@charset "UTF-8";
@font-face {
  font-family: "Tw Cen MT Pro";
  src: url("/fonts/TwCenMTPro/TwCenMTPro-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Tw Cen MT Pro";
  src: url("/fonts/TwCenMTPro/TwCenMTPro-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Tw Cen MT Pro";
  src: url("/fonts/TwCenMTPro/TwCenMTPro-Semibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Tw Cen MT Pro";
  src: url("/fonts/TwCenMTPro/TwCenMTPro-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Tisa Sans Pro";
  src: url("/fonts/TisaSansPro/TisaSansPro-ExtraLight.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Tisa Sans Pro";
  src: url("/fonts/TisaSansPro/TisaSansPro-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Tisa Sans Pro";
  src: url("/fonts/TisaSansPro/TisaSansPro-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Tisa Sans Pro";
  src: url("/fonts/TisaSansPro/TisaSansPro-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Tisa Sans Pro";
  src: url("/fonts/TisaSansPro/TisaSansPro-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Tisa Sans Pro";
  src: url("/fonts/TisaSansPro/TisaSansPro-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Tisa Sans Pro";
  src: url("/fonts/TisaSansPro/TisaSansPro-ExtraBoldItalic.woff2") format("woff2");
  font-weight: 800;
  font-style: italic;
}
body.boilerplate {
  background: #ffffff;
  color: #000000;
}
body.boilerplate .boilerplateHero {
  position: relative;
  width: 100%;
  background: #f7f7f7;
  margin-bottom: 1em;
}
body.boilerplate .boilerplateHero .textarea.full .block {
  max-width: none !important;
}
body.boilerplate .boilerplateHero .textarea .container {
  padding: 1em;
}
body.boilerplate .boilerplateHero .textarea .container .block {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}
@media (max-width: 748px) {
  body.boilerplate .boilerplateHero .textarea .container .block .logo {
    width: 3em;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  body.boilerplate .boilerplateHero .textarea .container .block .logo {
    width: 3em;
  }
}
@media (min-width: 961px) {
  body.boilerplate .boilerplateHero .textarea .container .block .logo {
    width: 3em;
  }
}
@media (max-width: 748px) {
  body.boilerplate .boilerplateHero .textarea .container .block p, body.boilerplate .boilerplateHero .textarea .container .block ol, body.boilerplate .boilerplateHero .textarea .container .block ul, body.boilerplate .boilerplateHero .textarea .container .block table {
    font-size: 1.1em;
    line-height: 1.5;
    font-weight: 600;
  }
}
@media (min-width: 749px) {
  body.boilerplate .boilerplateHero .textarea .container .block p, body.boilerplate .boilerplateHero .textarea .container .block ol, body.boilerplate .boilerplateHero .textarea .container .block ul, body.boilerplate .boilerplateHero .textarea .container .block table {
    font-size: 1.3em;
    line-height: 1.4;
  }
}
body.boilerplate .boilerplateOverview {
  padding-bottom: 4em;
}
body.boilerplate .boilerplateOverview .boilerplateIndex {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}
body.boilerplate .boilerplateOverview .boilerplateIndex ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.9em;
}
body.boilerplate .boilerplateOverview .boilerplateIndex ul li {
  display: flex;
  margin-bottom: 5px;
  line-height: 1.2;
}
body.boilerplate .boilerplateOverview .boilerplateIndex ul li a {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding: 0.5em 1em 0.7em;
  background: rgba(0, 0, 0, 0.04);
  color: #000;
  text-decoration: none;
  border-radius: 5px;
}
@media (hover: hover) and (pointer: fine) {
  body.boilerplate .boilerplateOverview .boilerplateIndex ul li a:hover {
    background: rgba(0, 0, 0, 0.08);
  }
}
body.boilerplate .boilerplateOverview .boilerplateIndex ul li a:after {
  padding: 3px 8px 5px;
  font-size: 0.7em;
  line-height: 1;
  border-radius: 5px;
  margin-left: 10px;
  font-weight: 700;
}
body.boilerplate .boilerplateOverview .boilerplateIndex ul li strong {
  display: block;
  align-items: center;
  margin: 2em 0 1em;
  width: 100%;
  font-weight: 700;
}
body.boilerplate .boilerplateOverview .boilerplateIndex ul li.spacer {
  height: 0.5em;
}
body.boilerplate .boilerplateOverview .boilerplateIndex ul li.new a:after {
  background: rgb(0, 0, 0);
  color: #fff;
  content: "Nieuw";
}
body.boilerplate .boilerplateOverview .boilerplateIndex ul li.mod a:after {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  content: "Aangepast";
}
body.boilerplate .colorCollection {
  display: none;
  flex-wrap: wrap;
  width: 100%;
}
body.boilerplate .colorCollection li {
  margin: 0 1em 1em 0;
}
body.boilerplate .colorCollection.is-ready {
  display: flex;
}
body.boilerplate .colorCollection .colorCard {
  border-radius: 0.1em;
  background: #ffffff;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
  font-size: 0.7em;
  line-height: 1.4;
  text-align: center;
  padding: 0.25em;
  margin: 0 1em 1em 0;
  overflow: hidden;
}
@media (max-width: 748px) {
  body.boilerplate .colorCollection .colorCard {
    width: 29%;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  body.boilerplate .colorCollection .colorCard {
    width: 23%;
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  body.boilerplate .colorCollection .colorCard {
    width: 23%;
  }
}
@media (min-width: 1101px) {
  body.boilerplate .colorCollection .colorCard {
    width: 15.5%;
  }
}
body.boilerplate .colorCollection .colorCard:hover {
  background: #000000;
  color: #ffffff;
  cursor: copy;
}
body.boilerplate .colorCollection .colorCard:active {
  cursor: progress;
}
body.boilerplate .colorCollection .colorCard .color {
  border: 1px solid rgba(0, 0, 0, 0.1);
  aspect-ratio: 1;
}
@supports not (aspect-ratio: auto) {
  body.boilerplate .colorCollection .colorCard .color {
    padding-top: 100%;
  }
}
body.boilerplate .colorCollection .colorCard .description {
  padding: 0.5em 0.5em 1em;
}
body.boilerplate .colorCollection .colorCard .description .colorName {
  font-weight: 600;
}
body.boilerplate .iconCollection {
  display: flex;
  flex-wrap: wrap;
}
body.boilerplate .iconCollection [class^=icon-],
body.boilerplate .iconCollection [class*=" icon-"] {
  border-radius: 0.1em;
  background: rgba(0, 0, 0, 0.05);
  width: 2.4em;
  height: 2.4em;
  padding: 0.3em;
  margin: 0 0.5em 0.5em 0;
}
body.boilerplate .iconCollection [class^=icon-]:hover,
body.boilerplate .iconCollection [class*=" icon-"]:hover {
  background: black;
  fill: #ffffff;
  stroke: #ffffff;
  cursor: copy;
}
body.boilerplate .iconCollection [class^=icon-]:active,
body.boilerplate .iconCollection [class*=" icon-"]:active {
  cursor: progress;
}
body.boilerplate #buttonCollection .button:hover {
  cursor: copy;
}
body.boilerplate #buttonCollection .button:active {
  cursor: progress;
}
body.boilerplate #spacerCollection [class^=spacer]:after {
  display: block !important;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary, address {
  display: block;
  font-style: normal;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden], template {
  display: none;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bolder;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  display: inline-block;
  font-size: 0.8em;
}

sub, sup {
  font-size: 0.7em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
  padding: 0;
}

button, select {
  text-transform: none;
}

button, html input[type=button], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], html input[disabled] {
  cursor: default;
  pointer-events: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
  outline-offset: -2px;
}

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  outline: none;
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  outline: none;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__slider {
  position: relative;
}

.splide__spinner {
  -webkit-animation: splide-loading 1s infinite linear;
          animation: splide-loading 1s infinite linear;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@-webkit-keyframes splide-loading {
  0% {
    -webkit-transform: rotateZ(0);
            transform: rotateZ(0);
  }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

@keyframes splide-loading {
  0% {
    -webkit-transform: rotateZ(0);
            transform: rotateZ(0);
  }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}
.splide--draggable > .splide__slider > .splide__track,
.splide--draggable > .splide__track {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.splide--fade > .splide__slider > .splide__track > .splide__list,
.splide--fade > .splide__track > .splide__list {
  display: block;
}

.splide--fade > .splide__slider > .splide__track > .splide__list > .splide__slide,
.splide--fade > .splide__track > .splide__list > .splide__slide {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  z-index: 0;
}

.splide--fade > .splide__slider > .splide__track > .splide__list > .splide__slide.is-active,
.splide--fade > .splide__track > .splide__list > .splide__slide.is-active {
  opacity: 1;
  position: relative;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide--ttb.is-active > .splide__slider > .splide__track > .splide__list,
.splide--ttb.is-active > .splide__track > .splide__list {
  display: block;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 0.5em;
  margin: 3px;
  padding: 0;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  width: 0.5em;
  opacity: 0.7;
}

.splide__pagination__page.is-active {
  background: #fff;
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus {
  outline: none;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide--nav > .splide__slider > .splide__track > .splide__list > .splide__slide,
.splide--nav > .splide__track > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide--nav > .splide__slider > .splide__track > .splide__list > .splide__slide.is-active,
.splide--nav > .splide__track > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide--nav > .splide__slider > .splide__track > .splide__list > .splide__slide:focus,
.splide--nav > .splide__track > .splide__list > .splide__slide:focus {
  outline: none;
}

.splide--rtl > .splide__slider > .splide__track > .splide__arrows .splide__arrow--prev,
.splide--rtl > .splide__track > .splide__arrows .splide__arrow--prev,
.splide--rtl > .splide__arrows .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide--rtl > .splide__slider > .splide__track > .splide__arrows .splide__arrow--prev svg,
.splide--rtl > .splide__track > .splide__arrows .splide__arrow--prev svg,
.splide--rtl > .splide__arrows .splide__arrow--prev svg {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.splide--rtl > .splide__slider > .splide__track > .splide__arrows .splide__arrow--next,
.splide--rtl > .splide__track > .splide__arrows .splide__arrow--next,
.splide--rtl > .splide__arrows .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide--rtl > .splide__slider > .splide__track > .splide__arrows .splide__arrow--next svg,
.splide--rtl > .splide__track > .splide__arrows .splide__arrow--next svg,
.splide--rtl > .splide__arrows .splide__arrow--next svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.splide--ttb > .splide__slider > .splide__track > .splide__arrows .splide__arrow,
.splide--ttb > .splide__track > .splide__arrows .splide__arrow,
.splide--ttb > .splide__arrows .splide__arrow {
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

.splide--ttb > .splide__slider > .splide__track > .splide__arrows .splide__arrow--prev,
.splide--ttb > .splide__track > .splide__arrows .splide__arrow--prev,
.splide--ttb > .splide__arrows .splide__arrow--prev {
  top: 1em;
}

.splide--ttb > .splide__slider > .splide__track > .splide__arrows .splide__arrow--prev svg,
.splide--ttb > .splide__track > .splide__arrows .splide__arrow--prev svg,
.splide--ttb > .splide__arrows .splide__arrow--prev svg {
  -webkit-transform: rotateZ(-90deg);
          transform: rotateZ(-90deg);
}

.splide--ttb > .splide__slider > .splide__track > .splide__arrows .splide__arrow--next,
.splide--ttb > .splide__track > .splide__arrows .splide__arrow--next,
.splide--ttb > .splide__arrows .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide--ttb > .splide__slider > .splide__track > .splide__arrows .splide__arrow--next svg,
.splide--ttb > .splide__track > .splide__arrows .splide__arrow--next svg,
.splide--ttb > .splide__arrows .splide__arrow--next svg {
  -webkit-transform: rotateZ(90deg);
          transform: rotateZ(90deg);
}

.splide--ttb > .splide__pagination,
.splide--ttb > .splide__slider > .splide__pagination {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

.splide.splide__slideshow .splide__slide.is-active {
  opacity: 1 !important;
}
.splide.splide__slideshow .splide__slide.is-active figure {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.splide.splide__slideshow .splide__slide figure {
  height: 100%;
  overflow: hidden;
  transition: -webkit-transform 9s ease-out;
  transition: transform 9s ease-out;
  transition: transform 9s ease-out, -webkit-transform 9s ease-out;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.splide.splide__slideshow .splide__slide figure .media {
  position: relative;
  width: auto;
  height: 100%;
}
.splide.splide__slideshow .splide__slide figure .media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.splide.splide__carousel {
  width: 100%;
  height: 100%;
}
.splide.splide__carousel .splide__track {
  overflow: visible;
  height: 100%;
}
.splide.splide__carousel .splide__track .splide__list {
  height: 100%;
  cursor: -webkit-grab;
  cursor: grab;
}
.splide.splide__carousel .splide__track .splide__list .splide__slide {
  height: 100%;
}
@media (min-width: 961px) {
  .splide.splide__carousel .splide__track .splide__list .splide__slide {
    max-width: 160rem;
  }
}
.splide.splide__carousel .splide__track .splide__list .splide__slide figure {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.splide.splide__carousel .splide__track .splide__list .splide__slide figure .media {
  height: 100%;
}
@media (max-width: 960px) {
  .splide.splide__carousel .splide__track .splide__list .splide__slide figure .media img {
    width: auto;
    height: 100%;
  }
}
@media (min-width: 961px) {
  .splide.splide__carousel .splide__track .splide__list .splide__slide figure .media img {
    width: auto;
    height: 100%;
  }
}
.splide.splide__carousel .splide__track .splide__list .splide__slide figure .caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  max-width: none;
  text-align: center;
  color: #ffffff;
  padding-top: 3em;
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
  padding-left: 5vw;
  padding-right: 5vw;
}
@media (max-width: 748px) {
  .splide.splide__carousel .splide__track .splide__list .splide__slide figure .caption {
    padding-bottom: 0.7em;
  }
}
.splide.splide__carousel .splide__arrows {
  position: absolute;
  z-index: 10;
  width: 100%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
.splide.splide__carousel .splide__arrows .block {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 2.5vw;
}
.splide.splide__carousel .splide__arrows .block .button {
  pointer-events: auto;
}
@media (max-width: 748px) {
  .splide.splide__carousel .splide__arrows .block .button {
    font-size: 0.6em !important;
  }
}
.splide.splide__carousel .splide__pagination {
  display: flex;
  justify-content: center;
  list-style: none;
  position: absolute;
  width: 100%;
  top: 100%;
  padding: 0.5em 0;
  margin: auto;
}
.splide.splide__carousel .splide__pagination .splide__pagination__page {
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
}
@media (min-width: 749px) {
  .splide.splide__carousel .splide__pagination .splide__pagination__page {
    border-radius: 0.5em;
    margin: 0 0.25em;
    width: 1.5em;
  }
}
.splide.splide__carousel .splide__pagination .splide__pagination__page.is-active {
  background: #000000;
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
@media (min-width: 749px) {
  .splide.splide__carousel .splide__pagination .splide__pagination__page.is-active {
    width: 4em;
  }
}

@-webkit-keyframes plyr-progress {
  to {
    background-position: var(--plyr-progress-loading-size, 25px) 0;
  }
}

@keyframes plyr-progress {
  to {
    background-position: var(--plyr-progress-loading-size, 25px) 0;
  }
}
@-webkit-keyframes plyr-popup {
  0% {
    opacity: 0.5;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes plyr-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes plyr-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.plyr {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  align-items: center;
  direction: ltr;
  display: flex;
  flex-direction: column;
  font-family: var(--plyr-font-family, inherit);
  font-variant-numeric: tabular-nums;
  font-weight: var(--plyr-font-weight-regular, 400);
  line-height: var(--plyr-line-height, 1.7);
  max-width: 100%;
  min-width: 200px;
  position: relative;
  text-shadow: none;
  transition: box-shadow 0.3s ease;
  z-index: 0;
}
.plyr video,
.plyr audio,
.plyr iframe {
  display: block;
  height: 100%;
  width: 100%;
}
.plyr button {
  font: inherit;
  line-height: inherit;
  width: auto;
}
.plyr:focus {
  outline: 0;
}

.plyr--full-ui {
  box-sizing: border-box;
}
.plyr--full-ui *,
.plyr--full-ui *::after,
.plyr--full-ui *::before {
  box-sizing: inherit;
}

.plyr--full-ui a,
.plyr--full-ui button,
.plyr--full-ui input,
.plyr--full-ui label {
  touch-action: manipulation;
}

.plyr__badge {
  background: var(--plyr-badge-background, hsl(216deg, 15%, 34%));
  border-radius: var(--plyr-badge-border-radius, 2px);
  color: var(--plyr-badge-text-color, #fff);
  font-size: var(--plyr-font-size-badge, 9px);
  line-height: 1;
  padding: 3px 4px;
}

.plyr--full-ui ::-webkit-media-text-track-container {
  display: none;
}

.plyr__captions {
  -webkit-animation: plyr-fade-in 0.3s ease;
          animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  display: none;
  font-size: var(--plyr-font-size-small, 13px);
  left: 0;
  padding: var(--plyr-control-spacing, 10px);
  position: absolute;
  text-align: center;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  width: 100%;
}
.plyr__captions span:empty {
  display: none;
}
@media (min-width: 480px) {
  .plyr__captions {
    font-size: var(--plyr-font-size-base, 15px);
    padding: calc(var(--plyr-control-spacing, 10px) * 2);
  }
}
@media (min-width: 768px) {
  .plyr__captions {
    font-size: var(--plyr-font-size-large, 18px);
  }
}

.plyr--captions-active .plyr__captions {
  display: block;
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
  -webkit-transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4));
          transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4));
}

.plyr__caption {
  background: var(--plyr-captions-background, rgba(0, 0, 0, 0.8));
  border-radius: 2px;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  color: var(--plyr-captions-text-color, #fff);
  line-height: 185%;
  padding: 0.2em 0.5em;
  white-space: pre-wrap;
}
.plyr__caption div {
  display: inline;
}

.plyr__control {
  background: transparent;
  border: 0;
  border-radius: var(--plyr-control-radius, 3px);
  color: inherit;
  cursor: pointer;
  flex-shrink: 0;
  overflow: visible;
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
  position: relative;
  transition: all 0.3s ease;
}
.plyr__control svg {
  display: block;
  fill: currentColor;
  height: var(--plyr-control-icon-size, 18px);
  pointer-events: none;
  width: var(--plyr-control-icon-size, 18px);
}
.plyr__control:focus {
  outline: 0;
}
.plyr__control.plyr__tab-focus {
  outline-color: var(--plyr-tab-focus-color, var(--plyr-color-main, #1A1A1A));
  outline-offset: 2px;
  outline-style: dotted;
  outline-width: 3px;
}

a.plyr__control {
  text-decoration: none;
}
a.plyr__control::after, a.plyr__control::before {
  display: none;
}

.plyr__control:not(.plyr__control--pressed) .icon--pressed,
.plyr__control.plyr__control--pressed .icon--not-pressed,
.plyr__control:not(.plyr__control--pressed) .label--pressed,
.plyr__control.plyr__control--pressed .label--not-pressed {
  display: none;
}

.plyr--full-ui ::-webkit-media-controls {
  display: none;
}

.plyr__controls {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  text-align: center;
}
.plyr__controls .plyr__progress__container {
  flex: 1;
  min-width: 0;
}
.plyr__controls .plyr__controls__item {
  margin-left: calc(var(--plyr-control-spacing, 10px) / 4);
}
.plyr__controls .plyr__controls__item:first-child {
  margin-left: 0;
  margin-right: auto;
}
.plyr__controls .plyr__controls__item.plyr__progress__container {
  padding-left: calc(var(--plyr-control-spacing, 10px) / 4);
}
.plyr__controls .plyr__controls__item.plyr__time {
  padding: 0 calc(var(--plyr-control-spacing, 10px) / 2);
}
.plyr__controls .plyr__controls__item.plyr__progress__container:first-child, .plyr__controls .plyr__controls__item.plyr__time:first-child, .plyr__controls .plyr__controls__item.plyr__time + .plyr__time {
  padding-left: 0;
}
.plyr__controls:empty {
  display: none;
}

.plyr [data-plyr=captions],
.plyr [data-plyr=pip],
.plyr [data-plyr=airplay],
.plyr [data-plyr=fullscreen] {
  display: none;
}

.plyr--captions-enabled [data-plyr=captions],
.plyr--pip-supported [data-plyr=pip],
.plyr--airplay-supported [data-plyr=airplay],
.plyr--fullscreen-enabled [data-plyr=fullscreen] {
  display: inline-block;
}

.plyr__menu {
  display: flex;
  position: relative;
}
.plyr__menu .plyr__control svg {
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.plyr__menu .plyr__control[aria-expanded=true] svg {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
  display: none;
}
.plyr__menu__container {
  -webkit-animation: plyr-popup 0.2s ease;
          animation: plyr-popup 0.2s ease;
  background: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));
  border-radius: 4px;
  bottom: 100%;
  box-shadow: var(--plyr-menu-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
  color: var(--plyr-menu-color, hsl(216deg, 15%, 34%));
  font-size: var(--plyr-font-size-base, 15px);
  margin-bottom: 10px;
  position: absolute;
  right: -3px;
  text-align: left;
  white-space: nowrap;
  z-index: 3;
}
.plyr__menu__container > div {
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.plyr__menu__container::after {
  border: var(--plyr-menu-arrow-size, 4px) solid transparent;
  border-top-color: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));
  content: "";
  height: 0;
  position: absolute;
  right: calc(((var(--plyr-control-icon-size, 18px) / 2) + calc(var(--plyr-control-spacing, 10px) * 0.7)) - (var(--plyr-menu-arrow-size, 4px) / 2));
  top: 100%;
  width: 0;
}
.plyr__menu__container [role=menu] {
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
}
.plyr__menu__container [role=menuitem],
.plyr__menu__container [role=menuitemradio] {
  margin-top: 2px;
}
.plyr__menu__container [role=menuitem]:first-child,
.plyr__menu__container [role=menuitemradio]:first-child {
  margin-top: 0;
}
.plyr__menu__container .plyr__control {
  align-items: center;
  color: var(--plyr-menu-color, hsl(216deg, 15%, 34%));
  display: flex;
  font-size: var(--plyr-font-size-menu, var(--plyr-font-size-small, 13px));
  padding-bottom: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 1.5);
  padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5);
  padding-right: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5);
  padding-top: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 1.5);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  width: 100%;
}
.plyr__menu__container .plyr__control > span {
  align-items: inherit;
  display: flex;
  width: 100%;
}
.plyr__menu__container .plyr__control::after {
  border: var(--plyr-menu-item-arrow-size, 4px) solid transparent;
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.plyr__menu__container .plyr__control--forward {
  padding-right: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4);
}
.plyr__menu__container .plyr__control--forward::after {
  border-left-color: var(--plyr-menu-arrow-color, hsl(216deg, 15%, 52%));
  right: calc((calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5) - var(--plyr-menu-item-arrow-size, 4px));
}
.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after, .plyr__menu__container .plyr__control--forward:hover::after {
  border-left-color: currentColor;
}
.plyr__menu__container .plyr__control--back {
  font-weight: var(--plyr-font-weight-regular, 400);
  margin: calc(var(--plyr-control-spacing, 10px) * 0.7);
  margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);
  padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4);
  position: relative;
  width: calc(100% - (calc(var(--plyr-control-spacing, 10px) * 0.7) * 2));
}
.plyr__menu__container .plyr__control--back::after {
  border-right-color: var(--plyr-menu-arrow-color, hsl(216deg, 15%, 52%));
  left: calc((calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5) - var(--plyr-menu-item-arrow-size, 4px));
}
.plyr__menu__container .plyr__control--back::before {
  background: var(--plyr-menu-back-border-color, hsl(216deg, 15%, 88%));
  box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);
  content: "";
  height: 1px;
  left: 0;
  margin-top: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
}
.plyr__menu__container .plyr__control--back.plyr__tab-focus::after, .plyr__menu__container .plyr__control--back:hover::after {
  border-right-color: currentColor;
}
.plyr__menu__container .plyr__control[role=menuitemradio] {
  padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7);
}
.plyr__menu__container .plyr__control[role=menuitemradio]::before, .plyr__menu__container .plyr__control[role=menuitemradio]::after {
  border-radius: 100%;
}
.plyr__menu__container .plyr__control[role=menuitemradio]::before {
  background: rgba(0, 0, 0, 0.1);
  content: "";
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: var(--plyr-control-spacing, 10px);
  transition: all 0.3s ease;
  width: 16px;
}
.plyr__menu__container .plyr__control[role=menuitemradio]::after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(0);
          transform: translateY(-50%) scale(0);
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  width: 6px;
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: var(--plyr-control-toggle-checked-background, var(--plyr-color-main, #1A1A1A));
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
  opacity: 1;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
}
.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
  background: rgba(35, 40, 47, 0.1);
}
.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: calc((calc(var(--plyr-control-spacing, 10px) * 0.7) - 2) * -1);
  overflow: hidden;
  padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 3.5);
  pointer-events: none;
}

.plyr--full-ui input[type=range] {
  -webkit-appearance: none; /* stylelint-disable-line */
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-thumb-height, 13px) * 2);
  color: var(--plyr-range-fill-background, var(--plyr-color-main, #1A1A1A));
  display: block;
  height: calc((var(--plyr-range-thumb-active-shadow-width, 3px) * 2) + var(--plyr-range-thumb-height, 13px));
  margin: 0;
  min-width: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}
.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
          user-select: none;
  background-image: linear-gradient(to right, currentColor var(--value, 0%), transparent var(--value, 0%));
}
.plyr--full-ui input[type=range]::-webkit-slider-thumb {
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
  height: var(--plyr-range-thumb-height, 13px);
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: var(--plyr-range-thumb-height, 13px);
  -webkit-appearance: none; /* stylelint-disable-line */
  margin-top: calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px)) / 2 * -1);
}
.plyr--full-ui input[type=range]::-moz-range-track {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -moz-user-select: none;
       user-select: none;
}
.plyr--full-ui input[type=range]::-moz-range-thumb {
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
  height: var(--plyr-range-thumb-height, 13px);
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: var(--plyr-range-thumb-height, 13px);
}
.plyr--full-ui input[type=range]::-moz-range-progress {
  background: currentColor;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
}
.plyr--full-ui input[type=range]::-ms-track {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
  color: transparent;
}
.plyr--full-ui input[type=range]::-ms-fill-upper {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
}
.plyr--full-ui input[type=range]::-ms-fill-lower {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
  background: currentColor;
}
.plyr--full-ui input[type=range]::-ms-thumb {
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
  height: var(--plyr-range-thumb-height, 13px);
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: var(--plyr-range-thumb-height, 13px);
  margin-top: 0;
}
.plyr--full-ui input[type=range]::-ms-tooltip {
  display: none;
}
.plyr--full-ui input[type=range]:focus {
  outline: 0;
}
.plyr--full-ui input[type=range]::-moz-focus-outer {
  border: 0;
}
.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
  outline-color: var(--plyr-tab-focus-color, var(--plyr-color-main, #1A1A1A));
  outline-offset: 2px;
  outline-style: dotted;
  outline-width: 3px;
}
.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
  outline-color: var(--plyr-tab-focus-color, var(--plyr-color-main, #1A1A1A));
  outline-offset: 2px;
  outline-style: dotted;
  outline-width: 3px;
}
.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
  outline-color: var(--plyr-tab-focus-color, var(--plyr-color-main, #1A1A1A));
  outline-offset: 2px;
  outline-style: dotted;
  outline-width: 3px;
}

.plyr__poster {
  background-color: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
}

.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster {
  display: none;
}

.plyr__time {
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
}

.plyr__time + .plyr__time::before {
  content: "⁄";
  margin-right: var(--plyr-control-spacing, 10px);
}
@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}

.plyr__tooltip {
  background: var(--plyr-tooltip-background, rgba(255, 255, 255, 0.9));
  border-radius: var(--plyr-tooltip-radius, 3px);
  bottom: 100%;
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
  color: var(--plyr-tooltip-color, hsl(216deg, 15%, 34%));
  font-size: var(--plyr-font-size-small, 13px);
  font-weight: var(--plyr-font-weight-regular, 400);
  left: 50%;
  line-height: 1.3;
  margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);
  opacity: 0;
  padding: calc(var(--plyr-control-spacing, 10px) / 2) calc(calc(var(--plyr-control-spacing, 10px) / 2) * 1.5);
  pointer-events: none;
  position: absolute;
  -webkit-transform: translate(-50%, 10px) scale(0.8);
          transform: translate(-50%, 10px) scale(0.8);
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  transition: opacity 0.2s 0.1s ease, -webkit-transform 0.2s 0.1s ease;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease, -webkit-transform 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2;
}
.plyr__tooltip::before {
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, rgba(255, 255, 255, 0.9));
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control:hover .plyr__tooltip,
.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,
.plyr__tooltip--visible {
  opacity: 1;
  -webkit-transform: translate(-50%, 0) scale(1);
          transform: translate(-50%, 0) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  -webkit-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%;
}
.plyr__controls > .plyr__control:first-child .plyr__tooltip::before,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
  left: calc((var(--plyr-control-icon-size, 18px) / 2) + calc(var(--plyr-control-spacing, 10px) * 0.7));
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  -webkit-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 100% 100%;
          transform-origin: 100% 100%;
}
.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
  left: auto;
  right: calc((var(--plyr-control-icon-size, 18px) / 2) + calc(var(--plyr-control-spacing, 10px) * 0.7));
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip,
.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible,
.plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible,
.plyr__controls > .plyr__control:last-child:hover .plyr__tooltip,
.plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip,
.plyr__controls > .plyr__control:last-child .plyr__tooltip--visible {
  -webkit-transform: translate(0, 0) scale(1);
          transform: translate(0, 0) scale(1);
}

.plyr__progress {
  left: calc(var(--plyr-range-thumb-height, 13px) * 0.5);
  margin-right: var(--plyr-range-thumb-height, 13px);
  position: relative;
}
.plyr__progress input[type=range], .plyr__progress__buffer {
  margin-left: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
  margin-right: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
  width: calc(100% + var(--plyr-range-thumb-height, 13px));
}
.plyr__progress input[type=range] {
  position: relative;
  z-index: 2;
}
.plyr__progress .plyr__tooltip {
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
  left: 0;
}

.plyr__progress__buffer {
  -webkit-appearance: none; /* stylelint-disable-line */
  background: transparent;
  border: 0;
  border-radius: 100px;
  height: var(--plyr-range-track-height, 5px);
  left: 0;
  margin-top: calc((var(--plyr-range-track-height, 5px) / 2) * -1);
  padding: 0;
  position: absolute;
  top: 50%;
}
.plyr__progress__buffer::-webkit-progress-bar {
  background: transparent;
}
.plyr__progress__buffer::-webkit-progress-value {
  background: currentColor;
  border-radius: 100px;
  min-width: var(--plyr-range-track-height, 5px);
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
}
.plyr__progress__buffer::-moz-progress-bar {
  background: currentColor;
  border-radius: 100px;
  min-width: var(--plyr-range-track-height, 5px);
  -moz-transition: width 0.2s ease;
  transition: width 0.2s ease;
}
.plyr__progress__buffer::-ms-fill {
  border-radius: 100px;
  -ms-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr--loading .plyr__progress__buffer {
  -webkit-animation: plyr-progress 1s linear infinite;
          animation: plyr-progress 1s linear infinite;
  background-image: linear-gradient(-45deg, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 25%, transparent 25%, transparent 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 75%, transparent 75%, transparent);
  background-repeat: repeat-x;
  background-size: var(--plyr-progress-loading-size, 25px) var(--plyr-progress-loading-size, 25px);
  color: transparent;
}

.plyr--video.plyr--loading .plyr__progress__buffer {
  background-color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25));
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
  background-color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6));
}

.plyr__volume {
  align-items: center;
  display: flex;
  max-width: 110px;
  min-width: 80px;
  position: relative;
  width: 20%;
}
.plyr__volume input[type=range] {
  margin-left: calc(var(--plyr-control-spacing, 10px) / 2);
  margin-right: calc(var(--plyr-control-spacing, 10px) / 2);
  position: relative;
  z-index: 2;
}

.plyr--is-ios .plyr__volume {
  min-width: 0;
  width: auto;
}

.plyr--audio {
  display: block;
}

.plyr--audio .plyr__controls {
  background: var(--plyr-audio-controls-background, #fff);
  border-radius: inherit;
  color: var(--plyr-audio-control-color, hsl(216deg, 15%, 34%));
  padding: var(--plyr-control-spacing, 10px);
}

.plyr--audio .plyr__control.plyr__tab-focus, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
  background: var(--plyr-audio-control-background-hover, var(--plyr-color-main, #1A1A1A));
  color: var(--plyr-audio-control-color-hover, #fff);
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
  background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)));
}
.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
  background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)));
}
.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
  background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)));
}
.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1));
}
.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1));
}
.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1));
}

.plyr--audio .plyr__progress__buffer {
  color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6));
}

.plyr--video {
  background: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));
  overflow: hidden;
}
.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr__video-wrapper {
  background: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));
  height: 100%;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.plyr__video-embed,
.plyr__video-wrapper--fixed-ratio {
  aspect-ratio: 16/9;
}
@supports not (aspect-ratio: 16/9) {
  .plyr__video-embed,
.plyr__video-wrapper--fixed-ratio {
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
  }
}

.plyr__video-embed iframe,
.plyr__video-wrapper--fixed-ratio video {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
  padding-bottom: 240%;
  position: relative;
  -webkit-transform: translateY(-38.28125%);
          transform: translateY(-38.28125%);
}

.plyr--video .plyr__controls {
  background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75)));
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: var(--plyr-video-control-color, #fff);
  left: 0;
  padding: calc(var(--plyr-control-spacing, 10px) / 2);
  padding-top: calc(var(--plyr-control-spacing, 10px) * 2);
  position: absolute;
  right: 0;
  transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  z-index: 3;
}
@media (min-width: 480px) {
  .plyr--video .plyr__controls {
    padding: var(--plyr-control-spacing, 10px);
    padding-top: calc(var(--plyr-control-spacing, 10px) * 3.5);
  }
}

.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {
  background: var(--plyr-video-control-background-hover, var(--plyr-color-main, #1A1A1A));
  color: var(--plyr-video-control-color-hover, #fff);
}

.plyr__control--overlaid {
  background: var(--plyr-video-control-background-hover, var(--plyr-color-main, #1A1A1A));
  border: 0;
  border-radius: 100%;
  color: var(--plyr-video-control-color, #fff);
  display: none;
  left: 50%;
  opacity: 0.9;
  padding: calc(var(--plyr-control-spacing, 10px) * 1.5);
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  transition: 0.3s;
  z-index: 2;
}
.plyr__control--overlaid svg {
  left: 2px;
  position: relative;
}
.plyr__control--overlaid:hover, .plyr__control--overlaid:focus {
  opacity: 1;
}

.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden;
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block;
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
  background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)));
}
.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
  background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)));
}
.plyr--full-ui.plyr--video input[type=range]::-ms-track {
  background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)));
}
.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));
}
.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));
}
.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));
}

.plyr--video .plyr__progress__buffer {
  color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25));
}

.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}
.plyr:-webkit-full-screen video {
  height: 100%;
}
.plyr:fullscreen video {
  height: 100%;
}
.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr:-webkit-full-screen.plyr--hide-controls {
  cursor: none;
}
.plyr:fullscreen.plyr--hide-controls {
  cursor: none;
}
@media (min-width: 1024px) {
  .plyr:-webkit-full-screen .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
  .plyr:fullscreen .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}

/* stylelint-disable-next-line */
.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}
.plyr:-webkit-full-screen video {
  height: 100%;
}
.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr:-webkit-full-screen.plyr--hide-controls {
  cursor: none;
}
@media (min-width: 1024px) {
  .plyr:-webkit-full-screen .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}

/* stylelint-disable-next-line */
.plyr:-moz-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}
.plyr:-moz-full-screen video {
  height: 100%;
}
.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr:-moz-full-screen.plyr--hide-controls {
  cursor: none;
}
@media (min-width: 1024px) {
  .plyr:-moz-full-screen .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}

/* stylelint-disable-next-line */
.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}
.plyr:-ms-fullscreen video {
  height: 100%;
}
.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr:-ms-fullscreen.plyr--hide-controls {
  cursor: none;
}
@media (min-width: 1024px) {
  .plyr:-ms-fullscreen .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}

.plyr--fullscreen-fallback {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
  bottom: 0;
  display: block;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000000;
}
.plyr--fullscreen-fallback video {
  height: 100%;
}
.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr--fullscreen-fallback.plyr--hide-controls {
  cursor: none;
}
@media (min-width: 1024px) {
  .plyr--fullscreen-fallback .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}

.plyr__ads {
  border-radius: inherit;
  bottom: 0;
  cursor: pointer;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.plyr__ads > div,
.plyr__ads > div iframe {
  height: 100%;
  position: absolute;
  width: 100%;
}
.plyr__ads::after {
  background: hsl(216deg, 15%, 16%);
  border-radius: 2px;
  bottom: var(--plyr-control-spacing, 10px);
  color: #fff;
  content: attr(data-badge-text);
  font-size: 11px;
  padding: 2px 6px;
  pointer-events: none;
  position: absolute;
  right: var(--plyr-control-spacing, 10px);
  z-index: 3;
}
.plyr__ads:empty::after {
  display: none;
}

.plyr__cues {
  background: currentColor;
  display: block;
  height: var(--plyr-range-track-height, 5px);
  left: 0;
  margin: -var(--plyr-range-track-height, 5px)/2 0 0;
  opacity: 0.8;
  position: absolute;
  top: 50%;
  width: 3px;
  z-index: 3;
}

.plyr__preview-thumb {
  background-color: var(--plyr-tooltip-background, rgba(255, 255, 255, 0.9));
  border-radius: 3px;
  bottom: 100%;
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
  margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);
  opacity: 0;
  padding: var(--plyr-tooltip-radius, 3px);
  pointer-events: none;
  position: absolute;
  -webkit-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  transition: opacity 0.2s 0.1s ease, -webkit-transform 0.2s 0.1s ease;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease, -webkit-transform 0.2s 0.1s ease;
  z-index: 2;
}
.plyr__preview-thumb--is-shown {
  opacity: 1;
  -webkit-transform: translate(0, 0) scale(1);
          transform: translate(0, 0) scale(1);
}
.plyr__preview-thumb::before {
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, rgba(255, 255, 255, 0.9));
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  z-index: 2;
}
.plyr__preview-thumb__image-container {
  background: hsl(216deg, 15%, 79%);
  border-radius: calc(var(--plyr-tooltip-radius, 3px) - 1px);
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.plyr__preview-thumb__image-container img {
  height: 100%;
  left: 0;
  max-height: none;
  max-width: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.plyr__preview-thumb__time-container {
  bottom: 6px;
  left: 0;
  position: absolute;
  right: 0;
  white-space: nowrap;
  z-index: 3;
}
.plyr__preview-thumb__time-container span {
  background-color: rgba(0, 0, 0, 0.55);
  border-radius: calc(var(--plyr-tooltip-radius, 3px) - 1px);
  color: #fff;
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
  padding: 3px 6px;
}

.plyr__preview-scrubbing {
  bottom: 0;
  -webkit-filter: blur(1px);
          filter: blur(1px);
  height: 100%;
  left: 0;
  margin: auto;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
  z-index: 1;
}
.plyr__preview-scrubbing--is-shown {
  opacity: 1;
}
.plyr__preview-scrubbing img {
  height: 100%;
  left: 0;
  max-height: none;
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 0;
  width: 100%;
}

.plyr--no-transition {
  transition: none !important;
}

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  border: 0 !important;
  height: 1px !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.plyr [hidden] {
  display: none !important;
}

.plyr__poster {
  background-size: cover !important;
}

.plyr__control--overlaid {
  padding: 1.1em;
  border-radius: 0.1em;
}
.plyr__control--overlaid svg {
  height: 1.2em;
  width: 1.2em;
}

.splitting .word,
.splitting .char {
  display: inline-block;
}

.splitting .char {
  position: relative;
}

.splitting .char::before,
.splitting .char::after {
  content: attr(data-char);
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  transition: inherit;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.splitting {
  --word-center: calc((var(--word-total) - 1) / 2);
  --char-center: calc((var(--char-total) - 1) / 2);
  --line-center: calc((var(--line-total) - 1) / 2);
}

.splitting .word {
  --word-percent: calc(var(--word-index) / var(--word-total));
  --line-percent: calc(var(--line-index) / var(--line-total));
}

.splitting .char {
  --char-percent: calc(var(--char-index) / var(--char-total));
  --char-offset: calc(var(--char-index) - var(--char-center));
  --distance: calc(
  (var(--char-offset) * var(--char-offset)) / var(--char-center)
  );
  --distance-sine: calc(var(--char-offset) / var(--char-center));
  --distance-percent: calc((var(--distance) / var(--char-center)));
}

[data-scroll-fx] {
  --inview: 0;
  --delay: 0;
}

[data-scroll-delay="0.1"] {
  --delay: 0.1s;
}

[data-scroll-delay="0.2"] {
  --delay: 0.2s;
}

[data-scroll-delay="0.3"] {
  --delay: 0.3s;
}

[data-scroll-delay="0.4"] {
  --delay: 0.4s;
}

[data-scroll-delay="0.5"] {
  --delay: 0.5s;
}

[data-scroll-delay="0.6"] {
  --delay: 0.6s;
}

[data-scroll-delay="0.7"] {
  --delay: 0.7s;
}

[data-scroll-delay="0.8"] {
  --delay: 0.8s;
}

[data-scroll-delay="0.9"] {
  --delay: 0.9s;
}

[data-scroll-delay="1"] {
  --delay: 1s;
}

[data-scroll-delay="1.1"] {
  --delay: 1.1s;
}

[data-scroll-delay="1.2"] {
  --delay: 1.2s;
}

[data-scroll-delay="1.3"] {
  --delay: 1.3s;
}

[data-scroll-delay="1.4"] {
  --delay: 1.4s;
}

[data-scroll-delay="1.5"] {
  --delay: 1.5s;
}

[data-scroll-delay="1.6"] {
  --delay: 1.6s;
}

[data-scroll-delay="1.7"] {
  --delay: 1.7s;
}

[data-scroll-delay="1.8"] {
  --delay: 1.8s;
}

[data-scroll-delay="1.9"] {
  --delay: 1.9s;
}

[data-scroll-delay="2"] {
  --delay: 2s;
}

[data-scroll-delay="2.1"] {
  --delay: 2.1s;
}

[data-scroll-delay="2.2"] {
  --delay: 2.2s;
}

[data-scroll-delay="2.3"] {
  --delay: 2.3s;
}

[data-scroll-delay="2.4"] {
  --delay: 2.4s;
}

[data-scroll-delay="2.5"] {
  --delay: 2.5s;
}

[data-scroll-delay="2.6"] {
  --delay: 2.6s;
}

[data-scroll-delay="2.7"] {
  --delay: 2.7s;
}

[data-scroll-delay="2.8"] {
  --delay: 2.8s;
}

[data-scroll-delay="2.9"] {
  --delay: 2.9s;
}

[data-scroll-delay="3"] {
  --delay: 3s;
}

[data-scroll-delay="3.1"] {
  --delay: 3.1s;
}

[data-scroll-delay="3.2"] {
  --delay: 3.2s;
}

[data-scroll-delay="3.3"] {
  --delay: 3.3s;
}

[data-scroll-delay="3.4"] {
  --delay: 3.4s;
}

[data-scroll-delay="3.5"] {
  --delay: 3.5s;
}

[data-scroll-delay="3.6"] {
  --delay: 3.6s;
}

[data-scroll-delay="3.7"] {
  --delay: 3.7s;
}

[data-scroll-delay="3.8"] {
  --delay: 3.8s;
}

[data-scroll-delay="3.9"] {
  --delay: 3.9s;
}

[data-scroll-delay="4"] {
  --delay: 4s;
}

[data-scroll-delay="4.1"] {
  --delay: 4.1s;
}

[data-scroll-delay="4.2"] {
  --delay: 4.2s;
}

[data-scroll-delay="4.3"] {
  --delay: 4.3s;
}

[data-scroll-delay="4.4"] {
  --delay: 4.4s;
}

[data-scroll-delay="4.5"] {
  --delay: 4.5s;
}

[data-scroll-delay="4.6"] {
  --delay: 4.6s;
}

[data-scroll-delay="4.7"] {
  --delay: 4.7s;
}

[data-scroll-delay="4.8"] {
  --delay: 4.8s;
}

[data-scroll-delay="4.9"] {
  --delay: 4.9s;
}

[data-scroll-delay="5"] {
  --delay: 5s;
}

[data-scroll-fx=fadeInHalf] {
  transition: opacity 1.5s linear;
  transition-delay: var(--delay);
  opacity: calc(var(--inview) + 0.2);
}

[data-scroll-fx=fadeIn] {
  transition: opacity 2s ease-in-out;
  transition-delay: var(--delay);
  opacity: var(--inview) !important;
}

[data-scroll-fx=slideInFromLeft] {
  opacity: var(--inview) !important;
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  -webkit-transform: translateX(calc(-10% + 10% * var(--inview)));
          transform: translateX(calc(-10% + 10% * var(--inview)));
}

[data-scroll-fx=slideInFromTop] {
  opacity: var(--inview) !important;
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  -webkit-transform: translateY(calc(-6vh + 6vh * var(--inview)));
          transform: translateY(calc(-6vh + 6vh * var(--inview)));
}

[data-scroll-fx=slideInFromBottom] {
  opacity: var(--inview) !important;
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  -webkit-transform: translateY(calc(6vh - 6vh * var(--inview)));
          transform: translateY(calc(6vh - 6vh * var(--inview)));
}

[data-scroll-fx=slideInFromRight] {
  opacity: var(--inview) !important;
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  -webkit-transform: translateX(calc(10% - 10% * var(--inview)));
          transform: translateX(calc(10% - 10% * var(--inview)));
}

[data-scroll-fx=curtainReveal] {
  transition: -webkit-clip-path 1s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: clip-path 1s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: clip-path 1s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-clip-path 1s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  -webkit-clip-path: inset(0 calc(100% - 100% * var(--inview)) 0 0);
          clip-path: inset(0 calc(100% - 100% * var(--inview)) 0 0);
  will-change: clip-path;
}
[data-scroll-fx=curtainReveal] img {
  transition: -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  transition: transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay), -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) var(--delay);
  -webkit-transform: scale(calc(0.9 + var(--inview) / 10));
          transform: scale(calc(0.9 + var(--inview) / 10));
}

[data-scroll-fx=typeBlurFromBottom] {
  opacity: var(--inview) !important;
}
[data-scroll-fx=typeBlurFromBottom] .word {
  display: inline-block;
  opacity: var(--inview);
  -webkit-transform: scale(calc(0 + 1 * var(--inview))) translateY(calc(30vh - 30vh * var(--inview)));
          transform: scale(calc(0 + 1 * var(--inview))) translateY(calc(30vh - 30vh * var(--inview)));
  -webkit-filter: blur(calc(10rem - 10rem * var(--inview)));
          filter: blur(calc(10rem - 10rem * var(--inview)));
  transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-filter 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 2s cubic-bezier(0.19, 1, 0.22, 1), filter 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 2s cubic-bezier(0.19, 1, 0.22, 1), filter 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-filter 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: calc(var(--delay) + var(--word-index) * 0.15s);
  will-change: filter;
}

[data-scroll-fx=typeCharSlideInFromBottom] {
  opacity: var(--inview) !important;
}
[data-scroll-fx=typeCharSlideInFromBottom] .char {
  display: inline-block;
  opacity: var(--inview);
  -webkit-transform: translateY(calc(100% - 100% * var(--inview)));
          transform: translateY(calc(100% - 100% * var(--inview)));
  transition: opacity 1.2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1.2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-filter 1.2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1.2s cubic-bezier(0.19, 1, 0.22, 1), opacity 1.2s cubic-bezier(0.19, 1, 0.22, 1), filter 1.2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1.2s cubic-bezier(0.19, 1, 0.22, 1), opacity 1.2s cubic-bezier(0.19, 1, 0.22, 1), filter 1.2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1.2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-filter 1.2s cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: calc(var(--delay) + var(--char-index) * 0.015s);
}

[data-scroll-fx=typeWordSlideInFromBottom] {
  opacity: var(--inview) !important;
}
[data-scroll-fx=typeWordSlideInFromBottom] .word {
  display: inline-block;
  opacity: var(--inview);
  -webkit-transform: translateY(calc(100% - 100% * var(--inview)));
          transform: translateY(calc(100% - 100% * var(--inview)));
  transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-filter 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 2s cubic-bezier(0.19, 1, 0.22, 1), filter 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 2s cubic-bezier(0.19, 1, 0.22, 1), filter 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-filter 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: calc(var(--delay) + var(--word-index) * 0.02s);
}

[data-scroll-fx=type3dFromBottom] {
  opacity: var(--inview) !important;
  -webkit-perspective: 600px;
          perspective: 600px;
}
[data-scroll-fx=type3dFromBottom] .word {
  display: inline-block;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  transition: opacity 0.5s linear, -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s linear;
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s linear, -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: var(--inview);
  transition-delay: calc(var(--delay) + var(--word-index) * 0.025s);
  -webkit-transform: rotateX(calc(-80deg + 80deg * var(--inview))) translateY(calc(100% - 100% * var(--inview)));
          transform: rotateX(calc(-80deg + 80deg * var(--inview))) translateY(calc(100% - 100% * var(--inview)));
}

[data-scroll-parallax] {
  --percentage: 0;
}

[data-scroll-parallax="1"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 0.1%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 0.1%)) !important;
}

img[data-scroll-parallax="1"], video[data-scroll-parallax="1"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.1%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.1%)) !important;
}

[data-scroll-parallax="2"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 0.2%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 0.2%)) !important;
}

img[data-scroll-parallax="2"], video[data-scroll-parallax="2"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.2%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.2%)) !important;
}

[data-scroll-parallax="3"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 0.3%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 0.3%)) !important;
}

img[data-scroll-parallax="3"], video[data-scroll-parallax="3"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.3%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.3%)) !important;
}

[data-scroll-parallax="4"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 0.4%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 0.4%)) !important;
}

img[data-scroll-parallax="4"], video[data-scroll-parallax="4"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.4%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.4%)) !important;
}

[data-scroll-parallax="5"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 0.5%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 0.5%)) !important;
}

img[data-scroll-parallax="5"], video[data-scroll-parallax="5"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.5%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.5%)) !important;
}

[data-scroll-parallax="6"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 0.6%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 0.6%)) !important;
}

img[data-scroll-parallax="6"], video[data-scroll-parallax="6"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.6%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.6%)) !important;
}

[data-scroll-parallax="7"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 0.7%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 0.7%)) !important;
}

img[data-scroll-parallax="7"], video[data-scroll-parallax="7"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.7%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.7%)) !important;
}

[data-scroll-parallax="8"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 0.8%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 0.8%)) !important;
}

img[data-scroll-parallax="8"], video[data-scroll-parallax="8"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.8%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.8%)) !important;
}

[data-scroll-parallax="9"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 0.9%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 0.9%)) !important;
}

img[data-scroll-parallax="9"], video[data-scroll-parallax="9"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.9%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 0.9%)) !important;
}

[data-scroll-parallax="10"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * 1%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * 1%)) !important;
}

img[data-scroll-parallax="10"], video[data-scroll-parallax="10"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 1%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * 1%)) !important;
}

[data-scroll-parallax="-1"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.05%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.05%)) !important;
}

img[data-scroll-parallax="-1"], video[data-scroll-parallax="-1"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.05%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.05%)) !important;
}

[data-scroll-parallax="-2"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.1%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.1%)) !important;
}

img[data-scroll-parallax="-2"], video[data-scroll-parallax="-2"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.1%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.1%)) !important;
}

[data-scroll-parallax="-3"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.15%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.15%)) !important;
}

img[data-scroll-parallax="-3"], video[data-scroll-parallax="-3"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.15%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.15%)) !important;
}

[data-scroll-parallax="-4"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.2%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.2%)) !important;
}

img[data-scroll-parallax="-4"], video[data-scroll-parallax="-4"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.2%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.2%)) !important;
}

[data-scroll-parallax="-5"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.25%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.25%)) !important;
}

img[data-scroll-parallax="-5"], video[data-scroll-parallax="-5"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.25%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.25%)) !important;
}

[data-scroll-parallax="-6"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.3%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.3%)) !important;
}

img[data-scroll-parallax="-6"], video[data-scroll-parallax="-6"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.3%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.3%)) !important;
}

[data-scroll-parallax="-7"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.35%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.35%)) !important;
}

img[data-scroll-parallax="-7"], video[data-scroll-parallax="-7"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.35%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.35%)) !important;
}

[data-scroll-parallax="-8"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.4%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.4%)) !important;
}

img[data-scroll-parallax="-8"], video[data-scroll-parallax="-8"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.4%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.4%)) !important;
}

[data-scroll-parallax="-9"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.45%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.45%)) !important;
}

img[data-scroll-parallax="-9"], video[data-scroll-parallax="-9"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.45%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.45%)) !important;
}

[data-scroll-parallax="-10"] {
  -webkit-transform: translateY(calc((var(--percentage) - 50) * -0.5%)) !important;
          transform: translateY(calc((var(--percentage) - 50) * -0.5%)) !important;
}

img[data-scroll-parallax="-10"], video[data-scroll-parallax="-10"] {
  -webkit-transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.5%)) !important;
          transform: scale(1.1) translateY(calc((var(--percentage) - 50) * -0.5%)) !important;
}

.cc_root {
  position: fixed;
  z-index: 10000;
  font-family: inherit !important;
  font-size: 13px !important;
}

.cc_root > div {
  justify-content: flex-end;
}

.cc_text {
  line-height: 1.4 !important;
  max-width: 60ch;
  opacity: 0.75;
  text-align: left !important;
}
.cc_text br {
  display: none;
}

.cc_text > svg {
  display: none !important;
}

.cc_button_settings {
  text-decoration: underline;
  font-weight: normal !important;
  opacity: 0.75;
}

@media (min-width: 600px) {
  .cc_root {
    bottom: 1em;
    right: 1em;
  }
  .cc_text {
    padding-left: 10px !important;
  }
}
@media (max-width: 600px) {
  .cc_root {
    bottom: 0;
    right: 0;
  }
  .cc_root > div {
    align-items: flex-start !important;
  }
  .cc_text {
    margin: 10px 15px 15px 15px !important;
  }
  .cc_buttons {
    display: flex !important;
    row-gap: 5px !important;
  }
  .cc_buttons .cc_button_settings {
    order: 2 !important;
  }
  .cc_buttons .cc_button_allowall {
    order: 1 !important;
  }
}
[class^=icon-]:not([class^=icon--]),
[class*=" icon-"]:not([class^=icon--]) {
  position: relative;
  display: inline-flex;
  width: 1.7em;
  height: 1.7em;
  stroke-width: 2 !important;
  stroke: currentColor;
  fill: currentColor;
}

figure {
  position: relative;
}
figure .media {
  position: relative;
  overflow: hidden;
}
figure .media .autoplayVideo {
  position: relative;
  width: 100%;
  padding-bottom: calc(var(--videoHeight) / var(--videoWidth) * 100%);
  overflow: hidden;
}
figure .media .autoplayVideo .poster {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
figure .media .autoplayVideo .poster img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
figure .media .autoplayVideo iframe {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
figure .media noscript {
  display: block;
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
figure video,
figure iframe {
  width: 100%;
}
@media (max-width: 960px) {
  figure.half:nth-child(odd) figcaption.caption {
    padding-left: 1em;
  }
  figure.half:nth-child(even) figcaption.caption {
    padding-right: 1em;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  figure.full figcaption.caption, figure.wide figcaption.caption {
    margin-left: 10vw;
    margin-right: 10vw;
  }
}
@media (min-width: 961px) {
  figure.full figcaption.caption, figure.wide figcaption.caption {
    margin-left: auto;
    margin-right: auto;
    max-width: 55ch;
  }
}
figure figcaption.caption {
  margin: auto;
  line-height: 1;
  padding: 0.75em 0 1em;
}
[data-theme=dark] figure figcaption.caption {
  color: rgba(255, 255, 255, 0.5);
}
figure figcaption.caption span {
  font-size: 0.7em;
}
@media (max-width: 748px) {
  figure figcaption.caption {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
figure figcaption.copyright {
  position: absolute;
  top: 0;
  left: 0;
  color: #ffffff;
  line-height: 1.3;
  opacity: 0.7;
  padding: 0.5rem 1em;
  text-shadow: 0 0.1rem 0 rgba(0, 0, 0, 0.2);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: rotate(-90deg) translateX(-100%);
          transform: rotate(-90deg) translateX(-100%);
  font-size: 0.45em;
}

.metaData {
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1.4;
  border-bottom: 0.075em solid #e6e6e6;
  padding-bottom: 1em;
  margin-bottom: 1.5em;
  transition: border 0.15s ease-in-out 0s;
}
[data-theme=dark] .metaData {
  border-color: #333333;
}
@media (min-width: 749px) {
  .metaData {
    margin-top: -0.5em;
  }
}
.metaData .author,
.metaData .modified {
  display: flex;
  align-items: center;
}
.metaData .author .profile,
.metaData .modified .profile {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 2.3em;
  height: 2.3em;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 0.75em;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.05);
  background: #1A1A1A;
  color: #ffffff;
}
[data-theme=dark] .metaData .author .profile,
[data-theme=dark] .metaData .modified .profile {
  background: rgba(255, 255, 255, 0.05);
}
.metaData .author .profile .initials,
.metaData .modified .profile .initials {
  font-size: 1.1em;
  line-height: 0.9;
  text-transform: uppercase;
  font-weight: 500;
}
.metaData .author .text .name,
.metaData .modified .text .name {
  display: block;
  font-size: 0.8em;
  text-underline-offset: 0.3em;
  margin-bottom: 0.2em;
  font-weight: 400;
}
@media (hover: hover) and (pointer: fine) {
  .metaData .author .text .name[data-popup-id]:hover,
.metaData .modified .text .name[data-popup-id]:hover {
    text-decoration: underline;
  }
}
.metaData .author .text .date,
.metaData .modified .text .date {
  font-size: 0.6em;
  opacity: 0.5;
}
@media (max-width: 748px) {
  .metaData .author .text .date,
.metaData .modified .text .date {
    font-size: 0.6em;
  }
}
.metaData .author .text .date.onlyMobile,
.metaData .modified .text .date.onlyMobile {
  display: none;
}
@media (max-width: 748px) {
  .metaData .author .text .date.onlyMobile,
.metaData .modified .text .date.onlyMobile {
    display: block;
  }
}
.metaData .modified {
  margin-left: 1em;
}
@media (max-width: 748px) {
  .metaData .modified {
    display: none;
  }
}

.filterBlock {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 0.075em solid #e6e6e6;
  transition: border 0.15s ease-in-out 0s;
}
@media (max-width: 748px) {
  .filterBlock {
    justify-content: space-between;
    padding-bottom: 0.4em;
    margin-bottom: 1em;
  }
}
@media (min-width: 749px) {
  .filterBlock {
    margin-bottom: 2em;
    padding-bottom: 1em;
  }
}
[data-theme=dark] .filterBlock {
  border-color: #333333;
}
@media (min-width: 749px) {
  .filterBlock {
    margin-bottom: 1em;
  }
}
@media (max-width: 748px) {
  .filterBlock .contactSearch {
    font-size: 18px;
    width: 100%;
    margin-bottom: 0.5em;
  }
}
@media (min-width: 749px) {
  .filterBlock .contactSearch {
    font-size: 1.2rem;
  }
}
.filterBlock .contactSearch input {
  border-color: #e6e6e6 !important;
}
[data-theme=dark] .filterBlock .contactSearch input {
  border-color: #333333 !important;
}
@media (min-width: 749px) {
  .filterBlock .contactSearch input {
    min-width: 12em;
  }
}
.filterBlock .sorting,
.filterBlock .viewing {
  display: flex;
  align-items: center;
}
@media (min-width: 749px) {
  .filterBlock .sorting,
.filterBlock .viewing {
    margin-left: auto;
  }
}
.filterBlock .sorting .button,
.filterBlock .viewing .button {
  color: rgba(0, 0, 0, 0.35);
}
@media (max-width: 748px) {
  .filterBlock .sorting .button.textual:not(:last-child),
.filterBlock .viewing .button.textual:not(:last-child) {
    margin-right: 1.5em;
  }
}
@media (min-width: 749px) {
  .filterBlock .sorting .button.textual,
.filterBlock .viewing .button.textual {
    margin: 0 1em;
  }
}
.filterBlock .sorting .button:hover,
.filterBlock .viewing .button:hover {
  opacity: 1;
}
.filterBlock .sorting .divider,
.filterBlock .viewing .divider {
  margin: 0 0.3em;
  opacity: 0.1;
}
@media (min-width: 749px) and (max-width: 960px) {
  .filterBlock .sorting .divider,
.filterBlock .viewing .divider {
    display: none;
  }
}

.headingBar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 0.7em;
}
.headingBar h1, .headingBar .h1, .headingBar h2, .headingBar .h2, .headingBar h3, .headingBar .h3, .headingBar h4, .headingBar .h4, .headingBar h5, .headingBar .h5 {
  margin-bottom: 0;
  margin-right: 1em;
}
.headingBar .alignRight {
  margin-left: auto;
}

.pagination ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}
.pagination ul li:first-child {
  margin-right: 1.5em;
}
@media (max-width: 748px) {
  .pagination ul li:first-child {
    margin-right: auto;
  }
}
.pagination ul li:last-child {
  margin-left: 1.5em;
}
@media (max-width: 748px) {
  .pagination ul li:last-child {
    margin-left: auto;
  }
}
.pagination ul li a:not(.button) {
  display: block;
  padding: 0.5em;
  text-underline-offset: 0.3em;
}
@media (hover: hover) and (pointer: fine) {
  .pagination ul li a:not(.button):hover {
    text-decoration: underline;
  }
}
.pagination ul li a:not(.button) span {
  opacity: 0.5;
}
.pagination ul li a:not(.button).is-active {
  font-weight: 500;
}
.pagination ul li a:not(.button).is-active span {
  opacity: 1;
}
@media (max-width: 748px) {
  .pagination ul li .button span {
    display: none;
  }
}

.breadcrumb {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 !important;
  margin-bottom: 0.5em !important;
}
.breadcrumb li {
  display: flex;
  align-items: center;
  line-height: 1;
  margin-bottom: 0.5em;
  padding-left: 0 !important;
  color: #4d4d4d;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
}
@media (max-width: 748px) {
  .breadcrumb li {
    font-size: 0.65em;
  }
}
@media (min-width: 749px) {
  .breadcrumb li {
    font-size: 0.7em;
  }
}
[data-theme=dark] .breadcrumb li {
  color: gray;
}
.breadcrumb li:last-child a {
  text-decoration: none !important;
  opacity: 0.9;
}
.breadcrumb li:last-child svg.icon-chevron-right {
  display: none;
}
.breadcrumb li a {
  color: currentColor;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: all 0.15s ease-in-out 0s;
}
@media (hover: hover) and (pointer: fine) {
  .breadcrumb li a:hover {
    color: #000000 !important;
  }
  [data-theme=dark] .breadcrumb li a:hover {
    color: #ffffff !important;
  }
}
.breadcrumb li svg.icon-chevron-right {
  width: 0.8em;
  height: 0.8em;
  margin: 0.1em 0.3em 0 0.3em;
  opacity: 0.7;
}

.notificationBar {
  position: relative;
  background: #fff3cd;
  border: 1px solid rgba(0, 0, 0, 0.2);
  color: #000000;
  padding: 0.3em 0;
  margin-right: auto;
  margin-left: auto;
  width: auto;
}
.notificationBar.wide {
  width: 100%;
}
.notificationBar.float {
  position: absolute;
  left: 50%;
  z-index: 10;
  border-radius: 0.1em;
  -webkit-transform: translate(-50%, 0.3em);
          transform: translate(-50%, 0.3em);
}
@media (max-width: 748px) {
  .notificationBar.float {
    width: 90%;
  }
  .notificationBar.float .container .message {
    white-space: normal !important;
  }
}
.notificationBar .container {
  overflow: auto;
}
.notificationBar .container .message {
  font-size: 0.7em;
  line-height: 1.2;
  width: 100%;
  white-space: nowrap;
  text-align: center;
}
.notificationBar .container .message:after {
  display: inline-block;
  height: 100%;
  width: 5vw;
  content: "";
}
.notificationBar .container .message a {
  text-decoration: underline;
}
.notificationBar .container .message svg {
  display: inline-block;
  vertical-align: middle;
  width: 1.4em;
  height: 1.4em;
  margin-right: 0.2em;
}

[data-tooltip-top],
[data-tooltip-right],
[data-tooltip-bottom],
[data-tooltip-left] {
  position: relative;
  display: inline-block;
  border-bottom: 2px dashed #000000;
  cursor: help;
}
[data-theme=dark] [data-tooltip-top],
[data-theme=dark] [data-tooltip-right],
[data-theme=dark] [data-tooltip-bottom],
[data-theme=dark] [data-tooltip-left] {
  border-color: inherit;
}
[data-tooltip-top]:before, [data-tooltip-top]:after,
[data-tooltip-right]:before,
[data-tooltip-right]:after,
[data-tooltip-bottom]:before,
[data-tooltip-bottom]:after,
[data-tooltip-left]:before,
[data-tooltip-left]:after {
  position: absolute;
  z-index: 10;
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
[data-tooltip-top]:before,
[data-tooltip-right]:before,
[data-tooltip-bottom]:before,
[data-tooltip-left]:before {
  background: rgba(0, 0, 0, 0.8);
  color: #ffffff;
  font-size: 1.1rem;
  line-height: 1.2;
  text-align: center;
  border-radius: 0.1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 0.8rem 1rem 1rem;
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.2);
  width: 100%;
  min-width: 20em;
  max-width: 50em;
}
[data-theme=dark] [data-tooltip-top]:before,
[data-theme=dark] [data-tooltip-right]:before,
[data-theme=dark] [data-tooltip-bottom]:before,
[data-theme=dark] [data-tooltip-left]:before {
  background: #ffffff;
  color: #000000;
}
[data-tooltip-top]:after,
[data-tooltip-right]:after,
[data-tooltip-bottom]:after,
[data-tooltip-left]:after {
  width: 0;
  height: 0;
  border-style: solid;
  content: "";
}
[data-tooltip-top]:hover:before, [data-tooltip-top]:hover:after, [data-tooltip-top]:focus:before, [data-tooltip-top]:focus:after,
[data-tooltip-right]:hover:before,
[data-tooltip-right]:hover:after,
[data-tooltip-right]:focus:before,
[data-tooltip-right]:focus:after,
[data-tooltip-bottom]:hover:before,
[data-tooltip-bottom]:hover:after,
[data-tooltip-bottom]:focus:before,
[data-tooltip-bottom]:focus:after,
[data-tooltip-left]:hover:before,
[data-tooltip-left]:hover:after,
[data-tooltip-left]:focus:before,
[data-tooltip-left]:focus:after {
  z-index: 11;
  visibility: visible;
  opacity: 1;
}

[data-tooltip-top]:before {
  bottom: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  content: attr(data-tooltip-top);
}
[data-tooltip-top]:after {
  bottom: 100%;
  left: 50%;
  border-width: 0.5rem 0.5rem 0 0.5rem;
  border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
  -webkit-transform: translate(-50%, 0.5rem);
          transform: translate(-50%, 0.5rem);
}
[data-theme=dark] [data-tooltip-top]:after {
  border-color: #ffffff transparent transparent transparent;
}

[data-tooltip-bottom]:before {
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, 1rem);
          transform: translate(-50%, 1rem);
  content: attr(data-tooltip-bottom);
}
[data-tooltip-bottom]:after {
  top: 100%;
  left: 50%;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent;
  -webkit-transform: translate(-50%, 0.5rem);
          transform: translate(-50%, 0.5rem);
}

[data-tooltip-left]:before {
  top: 50%;
  right: 100%;
  -webkit-transform: translate(-1rem, -50%);
          transform: translate(-1rem, -50%);
  content: attr(data-tooltip-left);
}
[data-tooltip-left]:after {
  top: 50%;
  right: 100%;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-color: transparent transparent transparent rgba(0, 0, 0, 0.8);
  -webkit-transform: translate(-0.5rem, -50%);
          transform: translate(-0.5rem, -50%);
}

[data-tooltip-right]:before {
  top: 50%;
  left: 100%;
  -webkit-transform: translate(1rem, -50%);
          transform: translate(1rem, -50%);
  content: attr(data-tooltip-right);
}
[data-tooltip-right]:after {
  top: 50%;
  left: 100%;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-color: transparent rgba(0, 0, 0, 0.8) transparent transparent;
  -webkit-transform: translate(0.5rem, -50%);
          transform: translate(0.5rem, -50%);
}

.floaterBlock {
  position: fixed;
  z-index: 70;
  right: 0.5em;
  bottom: 0.5em;
}
.floaterBlock .contactButton .dropdown .dropdownMenu {
  padding: 1.5em;
  color: #ffffff;
  font-size: 0.7em;
}
.floaterBlock .contactButton .dropdown .dropdownMenu p {
  margin-bottom: 1em;
}

.dropdowns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.dropdowns .dropdown {
  margin: 0 0.5em 0.5em 0;
}

.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown:focus-within.top .dropdownMenu {
  bottom: 100%;
}
.dropdown:focus-within.left .dropdownMenu {
  left: 0;
}
.dropdown:focus-within.right .dropdownMenu {
  right: 0;
}
.dropdown:focus-within .dropdownMenu {
  display: block;
}
.dropdown > .button:focus {
  pointer-events: none !important;
}
.dropdown .dropdownMenu {
  display: none;
  position: absolute;
  z-index: 1;
  background: #ffffff;
  min-width: 100%;
  padding: 0.3em;
  margin-top: 0.4em;
  align-items: flex-start;
  border-radius: 0.1em;
  box-shadow: 0 0.1em 1em rgba(0, 0, 0, 0.15);
}
[data-theme=dark] .dropdown .dropdownMenu {
  background: #333333;
}
.dropdown .dropdownMenu:focus {
  outline-width: 0 !important;
  outline: none !important;
}
.dropdown .dropdownMenu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.dropdown .dropdownMenu ul li.divider {
  position: relative;
  border-top: 0.075em solid #e6e6e6;
  margin: 0.3em 0;
}
[data-theme=dark] .dropdown .dropdownMenu ul li.divider {
  border-color: rgba(255, 255, 255, 0.2);
}
.dropdown .dropdownMenu ul li .button {
  width: 100%;
}

.socialChannels ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
.socialChannels ul li {
  margin: 0 1em 1em 0;
}
.socialChannels ul li a {
  display: block;
  line-height: 1;
}

.socialShare ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
.socialShare ul li {
  margin: 0 0.35em 0.5em 0;
}
@media (max-width: 748px) {
  .socialShare ul li .button span {
    display: none;
  }
  .socialShare ul li .button svg {
    margin: 0;
    width: 1.6em;
    height: 1.6em;
  }
}
.socialShare ul li .js-copylink:active {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}

.button {
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  vertical-align: bottom;
  flex: 0 0 auto;
  margin: 0;
  border: none;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background: transparent;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
  line-height: 1.1 !important;
  max-width: 100%;
  text-align: left;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  font-weight: 400;
  transition: all 0.15s ease-in-out 0s;
}
.button:active {
  transition: all 0;
}
.button[disabled] {
  opacity: 0.2 !important;
  pointer-events: none;
  cursor: not-allowed !important;
}
.button [data-secondary] {
  display: none;
}
.button input {
  margin-top: -0.1em !important;
}
.button input + span {
  margin: 0 !important;
  margin-right: auto !important;
  padding-right: 0.5em !important;
  white-space: nowrap;
}
.button.primary, .button.pill {
  border-radius: 0.1em;
  padding: 0.8em 0.9em;
  align-items: flex-start;
}
.button.primary span, .button.pill span {
  margin: 0 0.3em 0.1em;
}
.button.primary span ~ svg, .button.pill span ~ svg {
  margin-right: 0 !important;
}
.button.primary svg, .button.pill svg {
  width: 1.3em;
  height: 1.3em;
  margin: -0.2em 0.3em;
  transition: all 0.15s ease-in-out 0s;
}
.button.primary svg[class$=-right], .button.primary svg[class$=-left], .button.primary svg[class$=-up], .button.primary svg[class$=-down], .button.pill svg[class$=-right], .button.pill svg[class$=-left], .button.pill svg[class$=-up], .button.pill svg[class$=-down] {
  width: 1.1em;
  height: 1.1em;
  margin: 0 0.3em 0.05em;
}
.button.primary svg:first-child, .button.pill svg:first-child {
  margin-left: 0 !important;
}
.button.primary.logoutButton, .button.pill.logoutButton {
  opacity: 0.5;
}
.button.primary.logoutButton svg, .button.pill.logoutButton svg {
  opacity: 0.5 !important;
}
.button.primary.tiny, .button.pill.tiny {
  padding: 0.4em 0.4em 0.3em;
  font-size: 0.6em !important;
  border: 0.14em solid transparent;
}
.button.primary.mini, .button.pill.mini {
  padding: 0.6em 0.6em 0.5em;
  font-size: 0.65em !important;
  border: 0.14em solid transparent;
}
.button.primary.mini svg, .button.pill.mini svg {
  stroke-width: 3 !important;
}
.button.primary.small, .button.pill.small {
  font-size: 0.7em !important;
  border: 0.1em solid transparent;
}
.button.primary.medium, .button.pill.medium {
  font-size: 0.9em !important;
  border: 0.09em solid transparent;
}
.button.primary.large, .button.pill.large {
  font-size: 1.1em !important;
  border: 0.09em solid transparent;
}
.button.pill {
  border-radius: 5em;
  padding: 0.7em 1em;
}
.button.textual {
  align-items: flex-start;
  justify-content: flex-start;
  border: none;
}
.button.textual span {
  text-underline-offset: 0.3em;
}
.button.textual span ~ svg {
  margin-left: 0.25em !important;
  margin-right: 0 !important;
  margin-top: -0.05em;
}
.button.textual svg {
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.25em;
  flex-shrink: 0;
  transition: all 0.15s ease-in-out 0s;
}
.button.textual svg[class$=-right], .button.textual svg[class$=-left], .button.textual svg[class$=-up], .button.textual svg[class$=-down] {
  width: 1.1em;
  height: 1.1em;
}
.button.textual svg ~ span {
  margin-left: 0;
}
.button.textual.userButton {
  align-items: center;
  margin-right: 0.5em;
}
.button.textual.userButton .profile {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 2.3em;
  height: 2.3em;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 0.75em;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.05);
  background: #1A1A1A;
  color: #ffffff;
}
[data-theme=dark] .button.textual.userButton .profile {
  background: rgba(255, 255, 255, 0.05);
}
.button.textual.userButton .profile .initials {
  font-size: 1.1em;
  line-height: 0.9;
  text-transform: uppercase;
  font-weight: 500;
}
.button.textual.userButton span {
  margin-right: 0.25em;
}
.button.textual.userButton svg {
  opacity: 0.25;
  width: 1em;
  height: 1em;
  -webkit-transform: translateY(0) !important;
          transform: translateY(0) !important;
}
.button.textual.mini {
  font-size: 1.3rem !important;
}
.button.textual.mini svg {
  stroke-width: 3 !important;
}
.button.textual.small {
  font-size: 0.7em !important;
}
.button.textual.small svg {
  stroke-width: 2.5 !important;
}
.button.textual.medium {
  font-size: 0.9em !important;
}
.button.textual.large {
  font-size: 1.2em !important;
}
.button.round, .button.square {
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border-width: 0.1em;
}
.button.round svg, .button.square svg {
  transition: all 0.15s ease-in-out 0s;
}
.button.round.mini, .button.square.mini {
  width: 1em;
  height: 1em;
  border: 0.09em solid transparent;
}
.button.round.mini svg, .button.square.mini svg {
  stroke-width: 4 !important;
}
.button.round.small, .button.square.small {
  width: 1.5em;
  height: 1.5em;
  border: 0.1em solid transparent;
}
.button.round.small svg, .button.square.small svg {
  stroke-width: 3 !important;
}
.button.round.medium, .button.square.medium {
  width: 2em;
  height: 2em;
  border: 0.1em solid transparent;
}
.button.round.medium svg, .button.square.medium svg {
  stroke-width: 3 !important;
}
.button.round.large, .button.square.large {
  width: 3em;
  height: 3em;
  border: 0.1em solid transparent;
}
.button.round.large svg, .button.square.large svg {
  stroke-width: 3 !important;
}
.button.round svg, .button.square svg {
  width: 60%;
  height: 60%;
}
.button.square {
  border-radius: 0.1em;
}
@media (hover: hover) and (pointer: fine) {
  .button:hover {
    opacity: 1;
  }
  .button:hover:not(.dropdownItem, .textual, .round, .square) {
    -webkit-transform: translateY(-0.04em);
            transform: translateY(-0.04em);
    box-shadow: 0 0.15em 0.5em rgba(0, 0, 0, 0.2);
  }
  .button:hover.dropdownItem {
    background: rgba(0, 0, 0, 0.05);
  }
  [data-theme=dark] .button:hover.dropdownItem {
    background: rgba(255, 255, 255, 0.05);
  }
  .button:hover.textual span {
    text-decoration: underline;
    opacity: 1 !important;
  }
  .button:hover svg {
    opacity: 1 !important;
  }
  .button:hover svg[class$=-right] {
    -webkit-transform: translateX(0.15em);
            transform: translateX(0.15em);
  }
  .button:hover svg[class$=-left] {
    -webkit-transform: translateX(-0.15em);
            transform: translateX(-0.15em);
  }
  .button:hover svg[class$=-up] {
    -webkit-transform: translateY(-0.15em);
            transform: translateY(-0.15em);
  }
  .button:hover svg[class$=-down] {
    -webkit-transform: translateY(0.15em);
            transform: translateY(0.15em);
  }
}
.button:active {
  -webkit-transform: translateY(0.04em);
          transform: translateY(0.04em);
}
.button.solid.contrast, .button.solid.contrastLight {
  background: rgba(0, 0, 0, 0.9);
  color: #ffffff;
}
@media (hover: hover) and (pointer: fine) {
  .button.solid.contrast:hover, .button.solid.contrastLight:hover {
    background: black;
  }
}
.button.solid.contrast:active, .button.solid.contrastLight:active {
  background: rgba(0, 0, 0, 0.8);
}
[data-theme=dark] .button.solid.contrast, [data-theme=dark] .button.solid.contrastLight {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
@media (hover: hover) and (pointer: fine) {
  [data-theme=dark] .button.solid.contrast:hover, [data-theme=dark] .button.solid.contrastLight:hover {
    background: rgba(255, 255, 255, 0.2);
  }
}
[data-theme=dark] .button.solid.contrast:active, [data-theme=dark] .button.solid.contrastLight:active {
  background: rgba(255, 255, 255, 0.3);
}
.button.solid.contrastLight {
  background: rgba(0, 0, 0, 0.2);
}
.button.solid.contrastTransparent {
  background: transparent;
  color: rgba(0, 0, 0, 0.3);
}
@media (hover: hover) and (pointer: fine) {
  .button.solid.contrastTransparent:hover {
    background: rgba(0, 0, 0, 0.05);
  }
}
.button.solid.contrastTransparent:active {
  background: rgba(0, 0, 0, 0.1);
}
.button.solid.contrastTransparent.is-active {
  background: rgba(0, 0, 0, 0.025);
  color: #1A1A1A;
}
[data-theme=dark] .button.solid.contrastTransparent {
  color: rgba(255, 255, 255, 0.3);
}
@media (hover: hover) and (pointer: fine) {
  [data-theme=dark] .button.solid.contrastTransparent:hover {
    background: rgba(255, 255, 255, 0.025);
  }
}
[data-theme=dark] .button.solid.contrastTransparent:active {
  background: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .button.solid.contrastTransparent.is-active {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}
.button.solid.blackAlpha {
  background: rgba(0, 0, 0, 0.6);
  color: #ffffff;
}
@media (hover: hover) and (pointer: fine) {
  .button.solid.blackAlpha:hover {
    background: rgba(0, 0, 0, 0.7);
  }
}
.button.solid.blackAlpha:active {
  background: rgba(0, 0, 0, 0.9);
}
.button.solid.black {
  background: #1A1A1A;
  color: #ffffff;
}
.button.solid.black:active {
  background: #000000;
}
.button.solid.white {
  background: #ffffff;
  color: #000000;
}
.button.solid.white:active {
  background: rgba(255, 255, 255, 0.9);
}
.button.ghost {
  box-shadow: 0 0 0 rgba(0, 0, 0, 0) !important;
}
.button.ghost.contrast {
  background: none;
  color: #000000;
  border-color: rgba(0, 0, 0, 0.9);
}
@media (hover: hover) and (pointer: fine) {
  .button.ghost.contrast:hover {
    background: rgba(0, 0, 0, 0.025);
  }
}
.button.ghost.contrast:active {
  background: rgba(0, 0, 0, 0.05);
}
[data-theme=dark] .button.ghost.contrast {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.2);
}
@media (hover: hover) and (pointer: fine) {
  [data-theme=dark] .button.ghost.contrast:hover {
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.025);
  }
}
[data-theme=dark] .button.ghost.contrast:active {
  background: rgba(255, 255, 255, 0.1);
}
.button.ghost.black {
  background: none;
  border-color: #1A1A1A;
  color: #ffffff;
}
.button.ghost.black:active {
  border-color: #000000;
}
.button.ghost.white {
  background: none;
  border-color: #ffffff;
  color: #000000;
}
.button.ghost.white:active {
  border-color: #ffffff;
}
.button.textual.contrast {
  color: inherit;
}
.button.textual.contrastTransparent {
  color: inherit;
  opacity: 0.4;
}
.button.textual.contrastTransparent.is-active {
  opacity: 1;
}

.errorMessage {
  background: #fff3cd;
  font-size: 0.7em;
  padding: 0.3em 0.5em;
  border: 0.1em solid rgba(0, 0, 0, 0.1);
  margin-bottom: 0.5em;
}

.form .singleLineForm {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0 0.5em;
}
@supports not (aspect-ratio: 1/1) {
  .form .singleLineForm label {
    margin-right: 0.5em;
  }
}
.form .singleLineForm label {
  flex-grow: 1;
}
.form .singleLineForm label input {
  width: 100%;
  border-radius: 0.1em;
}
.form .singleLineForm label input:not(:-moz-placeholder-shown) + .postIcon .button {
  opacity: 1 !important;
}
.form .singleLineForm label input:not(:placeholder-shown) + .postIcon .button {
  opacity: 1 !important;
}
.form .row {
  position: relative;
  display: flex;
  margin-bottom: 1.7em;
  gap: 0 1em;
}
@supports not (aspect-ratio: 1/1) {
  .form .row label {
    margin-right: 1em;
  }
}
@media (max-width: 748px) {
  .form .row {
    flex-wrap: wrap;
    margin-bottom: 2em;
  }
}
.form .row.has-nomargin {
  margin-bottom: 0;
}
.form .row .radiobutton input:required ~ .label.note,
.form .row .checkbox input:required ~ .label.note,
.form .row .lightswitch input:required ~ .label.note {
  left: 0;
  opacity: 1;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.form .row .label {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
  font-size: 0.6em;
  padding: 0.3rem 1.3rem 0.4rem;
  border-radius: 0.1em;
  opacity: 0;
  pointer-events: none;
  font-weight: 500;
  transition: all 0.15s ease-in-out 0s;
}
.form .row .label.text {
  z-index: 2;
  background: #000000;
  color: #ffffff;
}
[data-theme=dark] .form .row .label.text {
  background: #4d4d4d;
}
.form .row .label.note {
  z-index: 1;
  background: #e6e6e6;
  color: gray;
}
[data-theme=dark] .form .row .label.note {
  background: #333333;
}
.form .row.inline {
  flex-direction: row;
  flex-wrap: wrap;
}
.form .row.stacked {
  display: inline-flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.form .row label {
  font-size: 0.85em;
  line-height: 1.2;
}
.form .row label.size-15 {
  width: calc(15% - 1em);
}
.form .row label.size-20 {
  width: calc(20% - 1em);
}
.form .row label.size-25 {
  width: calc(25% - 1em);
}
.form .row label.size-30 {
  width: calc(30% - 1em);
}
.form .row label.size-35 {
  width: calc(35% - 1em);
}
.form .row label.size-40 {
  width: calc(40% - 1em);
}
.form .row label.size-45 {
  width: calc(45% - 1em);
}
.form .row label.size-50 {
  width: calc(50% - 1em);
}
.form .row label.size-75 {
  width: calc(75% - 1em);
}
.form .row label.size-100 {
  width: 100%;
}
@media (max-width: 748px) {
  .form .row label[class*=size] {
    width: 100% !important;
  }
}
.form .row label.day {
  width: 8ch;
  padding-top: 0.25em;
}
.form .description {
  margin-bottom: 1.6em;
}
.form .description p {
  font-size: 0.8em;
}

.formfield {
  display: flex;
  align-items: center;
  position: relative;
  font-size: 0.9em;
}
@media (max-width: 748px) {
  .formfield + .formfield {
    margin-top: 2em;
  }
}
.formfield input,
.formfield textarea {
  position: relative;
  z-index: 3;
  width: 100%;
  border: 0.1em solid #e6e6e6;
  padding: 0.7em 0.8em 0.75em;
  border-radius: 0.1em;
  background: #ffffff;
  transition: all 0.15s ease-in-out 0s;
}
[data-theme=dark] .formfield input,
[data-theme=dark] .formfield textarea {
  background: rgba(255, 255, 255, 0.05);
  border-color: #333333;
}
.formfield input.round,
.formfield textarea.round {
  border-radius: 2em !important;
}
.formfield input[type=search],
.formfield textarea[type=search] {
  -webkit-appearance: none;
}
.formfield input[disabled],
.formfield textarea[disabled] {
  opacity: 0.5;
  cursor: not-allowed !important;
}
.formfield input::-webkit-input-placeholder, .formfield textarea::-webkit-input-placeholder {
  color: #999999;
}
.formfield input::-moz-placeholder, .formfield textarea::-moz-placeholder {
  color: #999999;
}
.formfield input::placeholder,
.formfield textarea::placeholder {
  color: #999999;
}
[data-theme=dark] .formfield input::-webkit-input-placeholder, [data-theme=dark] .formfield textarea::-webkit-input-placeholder {
  color: gray;
}
[data-theme=dark] .formfield input::-moz-placeholder, [data-theme=dark] .formfield textarea::-moz-placeholder {
  color: gray;
}
[data-theme=dark] .formfield input::placeholder,
[data-theme=dark] .formfield textarea::placeholder {
  color: gray;
}
.formfield input:required,
.formfield textarea:required {
  border-top-left-radius: 0;
}
.formfield input:required ~ .label.note,
.formfield textarea:required ~ .label.note {
  opacity: 1;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.formfield input:not(:-moz-placeholder-shown), .formfield textarea:not(:-moz-placeholder-shown) {
  border-top-left-radius: 0;
  border-top-color: #1A1A1A;
}
.formfield input:not(:placeholder-shown),
.formfield textarea:not(:placeholder-shown) {
  border-top-left-radius: 0;
  border-top-color: #1A1A1A;
}
.formfield input:not(:-moz-placeholder-shown) ~ .label.text, .formfield textarea:not(:-moz-placeholder-shown) ~ .label.text {
  opacity: 1;
  transform: translateY(-100%);
}
.formfield input:not(:placeholder-shown) ~ .label.text,
.formfield textarea:not(:placeholder-shown) ~ .label.text {
  opacity: 1;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.formfield input:not(:-moz-placeholder-shown) ~ .label.note, .formfield textarea:not(:-moz-placeholder-shown) ~ .label.note {
  opacity: 0;
  transform: translateY(0);
}
.formfield input:not(:placeholder-shown) ~ .label.note,
.formfield textarea:not(:placeholder-shown) ~ .label.note {
  opacity: 0;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.formfield .preIcon {
  position: absolute;
  z-index: 10;
  display: flex;
  align-items: center;
  margin-left: 0.75em;
}
[data-theme=dark] .formfield .preIcon {
  color: #b3b3b3;
}
.formfield .preIcon svg {
  width: 1.2em;
  height: 1.2em;
  margin-top: -0.1em;
}
.formfield .preIcon + input {
  padding-left: 2.5em;
}
@media (max-width: 748px) {
  .formfield .preIcon + input {
    padding-left: 2.2em;
  }
}
.formfield .postIcon {
  position: absolute;
  right: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  height: 100%;
  margin-right: 0.75em;
}
.formfield .postIcon .button {
  opacity: 0;
}
.formfield .label {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.selectfield {
  display: block;
  position: relative;
}
.selectfield select {
  position: relative;
  z-index: 1;
  width: 100%;
  border: 0.1em solid #000000;
  padding: 0.6em 0.8em 0.8em;
  border-radius: 0.1em;
  background: #fafafa;
  -webkit-appearance: none;
  -moz-appearance: none;
  transition: border-color 0.15s ease-in-out 0s;
}
.selectfield select:focus {
  outline: none;
}
.selectfield select[disabled] {
  opacity: 0.3;
  cursor: not-allowed !important;
}
.selectfield select:required {
  border-top-left-radius: 0;
}
.selectfield select:required ~ .label.note {
  opacity: 1;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.selectfield:after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 1em;
  top: 50%;
  width: 1.3em;
  height: 1.3em;
  pointer-events: none;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
  transition: all 0.15s ease-in-out 0s;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 11L16 22L27 11' stroke='%23666666' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% 100%;
}
.selectfield .label {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

label.radiobutton {
  display: inline-flex;
  padding: 0.25em 0;
  border-radius: 0.1em;
}
label.radiobutton input[type=radio] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 0;
  flex-shrink: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--form-background);
  margin: 0;
  width: 1.2em;
  height: 1.2em;
  border: 0.1em solid #000000;
  border-radius: 50%;
}
label.radiobutton input[type=radio]:not([disabled]) {
  cursor: pointer;
}
label.radiobutton input[type=radio]::before {
  content: "";
  width: 63%;
  height: 63%;
  border-radius: 50%;
  -webkit-transform: scale(0);
          transform: scale(0);
  box-shadow: inset 1em 1em #000000;
  background-color: CanvasText;
  transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms transform ease-in-out;
  transition: 120ms transform ease-in-out, 120ms -webkit-transform ease-in-out;
}
label.radiobutton input[type=radio]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}
label.radiobutton input[type=radio][disabled] {
  opacity: 0.3;
  cursor: not-allowed !important;
}
label.radiobutton input[type=radio][disabled] + .text {
  opacity: 0.4;
  cursor: not-allowed !important;
}
label.radiobutton .text {
  padding-left: 0.5em;
  cursor: pointer;
}

label.checkbox {
  display: inline-flex;
  padding: 0.25em 0;
}
label.checkbox input[type=checkbox] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 0;
  flex-shrink: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--form-background);
  margin: 0;
  width: 1.25em;
  height: 1.25em;
  border: 0.1em solid #000000;
  border-radius: 0.1em;
  font-size: 0.8em;
  margin-top: 0.1em;
  transition: all 0.15s ease-in-out 0s;
}
[data-theme=dark] label.checkbox input[type=checkbox] {
  border: 0.1em solid gray;
}
label.checkbox input[type=checkbox]:not([disabled]) {
  cursor: pointer;
}
label.checkbox input[type=checkbox]::before {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
          transform: scale(0);
  transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms transform ease-in-out;
  transition: 120ms transform ease-in-out, 120ms -webkit-transform ease-in-out;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M27 9L14 23L7 16' stroke='%23ffffff' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E%0A");
}
[data-theme=dark] label.checkbox input[type=checkbox]::before {
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M27 9L14 23L7 16' stroke='%23000000' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E%0A");
}
label.checkbox input[type=checkbox]:checked {
  background: black;
}
[data-theme=dark] label.checkbox input[type=checkbox]:checked {
  background: #cccccc;
}
label.checkbox input[type=checkbox]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}
label.checkbox input[type=checkbox][disabled] {
  opacity: 0.3;
  cursor: not-allowed !important;
}
label.checkbox input[type=checkbox][disabled] + .text {
  opacity: 0.4;
  cursor: not-allowed !important;
}
label.checkbox .text {
  padding-left: 0.5em;
  cursor: pointer;
}
[data-theme=dark] label.checkbox .text {
  color: #e6e6e6;
}

.lightswitch {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}
.lightswitch input[type=checkbox] {
  position: absolute;
  border-radius: 2em;
  width: 3.3em;
  height: 2em;
  border: 0;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.lightswitch input[type=checkbox]:checked ~ .switch {
  background: black;
}
.lightswitch input[type=checkbox]:checked ~ .switch:before {
  left: 1.5em;
}
.lightswitch .switch {
  position: relative;
  background: #cccccc;
  border-radius: 2em;
  width: 3.3em;
  height: 2em;
  transition: all 0.15s ease-in-out 0s;
}
.lightswitch .switch:before {
  display: block;
  background: #ffffff;
  border-radius: 50%;
  width: 1.55em;
  height: 1.55em;
  position: absolute;
  top: 0.2em;
  left: 0.2em;
  transition: left 0.25s;
  content: "";
}
.lightswitch .text {
  padding-left: 0.5em;
  cursor: pointer;
}

.fileupload {
  border: 0.1em solid #000000;
  padding: 1em;
  border-radius: 0.1em;
  background: #fafafa;
}
.fileupload input {
  font-size: 0.8em;
}

:focus {
  outline: none;
}

.container {
  position: relative;
  margin: auto;
  max-width: 160rem;
  padding-left: 5vw;
  padding-right: 5vw;
}
@media (min-width: 749px) and (max-width: 960px) {
  .container {
    padding-left: 10vw;
    padding-right: 10vw;
  }
}

.cols {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 5vw;
}
.cols .gapFallback.gapFallback {
  margin-bottom: 0;
  opacity: 0;
  pointer-events: none;
}
@supports not (aspect-ratio: 1/1) {
  .cols {
    justify-content: space-between;
  }
  .cols .gapFallback {
    margin-bottom: 5vw;
    margin-right: "inherit";
  }
}
@media (max-width: 748px) {
  .cols {
    flex-direction: column;
  }
}
.cols .size-25 {
  width: calc(25% - 3.75vw);
}
@media (max-width: 748px) {
  .cols .size-25 {
    width: 100%;
  }
}
.cols .size-33 {
  width: calc(33.34% - 3.35vw);
}
@media (max-width: 748px) {
  .cols .size-33 {
    width: 100%;
  }
}
.cols .size-50 {
  width: calc(50% - 2.5vw);
}
@media (max-width: 748px) {
  .cols .size-50 {
    width: 100%;
  }
}

@-webkit-keyframes arrowBounce {
  0% {
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%);
  }
  50% {
    -webkit-transform: translateY(25%);
            transform: translateY(25%);
  }
  100% {
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%);
  }
}

@keyframes arrowBounce {
  0% {
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%);
  }
  50% {
    -webkit-transform: translateY(25%);
            transform: translateY(25%);
  }
  100% {
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%);
  }
}
html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  transition: background 0.15s ease-in-out 0s;
  background-color: #F6F6F6;
  color: #1A1A1A;
}
[data-theme=dark] body {
  background-color: #1A1A1A;
  color: #ffffff;
}
body *[id] {
  scroll-margin-top: 50px;
}
body main {
  min-height: 80vh;
  transition: all 0.15s ease-in-out 0s;
}

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

strong, b {
  font-weight: 500;
}

a, button {
  display: inline-block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  color: inherit;
  text-decoration: none;
  outline: none;
}

img,
video {
  display: block;
  width: 100%;
  height: auto;
}

iframe {
  border: none;
}

hr {
  border: none;
  border-top: 0.075em solid #e6e6e6;
  margin: 1em 0;
}
[data-theme=dark] hr {
  border-color: #333333;
}

p {
  margin: 0 0 1em 0;
}

table {
  width: 100%;
  margin: 0;
  margin-bottom: 1em;
  vertical-align: top;
  text-align: left;
  border-color: #e6e6e6;
}
table > * > * > * {
  padding: 0.5em 1em;
  border-bottom: 0.1em solid #f2f2f2;
}
table > tbody {
  vertical-align: inherit;
}
table > tbody tr:nth-of-type(odd) > * {
  background: #fafafa;
}
table > thead {
  vertical-align: bottom;
}
table > :not(:first-child) {
  border-top: 0.1em solid #000000;
}

html body {
  font-family: "Tisa Sans Pro", sans-serif;
  line-height: 1.5;
  min-height: 1vw;
  letter-spacing: -0.01em;
  font-size: clamp(1.4rem, 1.5vw, 2rem);
}
@supports not (font-size: clamp(1.4rem, 1.5vw, 2rem)) {
  html body {
    font-size: min(max(1.4rem, 1.5vw), 2rem);
  }
}
@media (max-width: 748px) {
  html body {
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  html body {
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
@media (min-width: 961px) {
  html body {
    font-weight: 300;
  }
}

h1, .h1 {
  margin: 0;
  margin-left: -0.05em;
  margin-bottom: 0.5em;
  line-height: 0.9;
  font-family: "Tw Cen MT Pro", sans-serif;
  letter-spacing: -0.02em;
  inline-size: calc(100% - 5vw);
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 600;
}
@media (max-width: 748px) {
  h1, .h1 {
    font-size: 2.5em;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  h1, .h1 {
    font-size: 3em;
  }
}
@media (min-width: 961px) {
  h1, .h1 {
    font-size: 3.5em;
  }
}
h1.small, .h1.small {
  margin-bottom: 0.6em;
}
@media (max-width: 748px) {
  h1.small, .h1.small {
    font-size: 2em;
  }
}
@media (min-width: 749px) {
  h1.small, .h1.small {
    font-size: 2.5em;
  }
}
h1.medium, .h1.medium {
  margin-bottom: 0.5em;
}
@media (max-width: 748px) {
  h1.medium, .h1.medium {
    font-size: 2.2em;
  }
}
@media (min-width: 749px) {
  h1.medium, .h1.medium {
    font-size: 2.5em;
  }
}
@media (max-width: 748px) {
  h1.large, .h1.large {
    font-size: 2.8em;
  }
}
@media (min-width: 749px) {
  h1.large, .h1.large {
    font-size: 3.5em;
  }
}

h2, .h2 {
  margin: 0;
  margin-bottom: 0.6em;
  line-height: 1.1;
  font-family: "Tw Cen MT Pro", sans-serif;
  letter-spacing: -0.02em;
  font-size: 1.9em;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h3, .h3 {
  margin: 0;
  margin-bottom: 0.3em;
  line-height: 1.1;
  font-size: 1.5em;
  font-family: "Tw Cen MT Pro", sans-serif;
  letter-spacing: -0.02em;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h4, .h4 {
  margin: 0;
  margin-bottom: 0.3em;
  line-height: 1.1;
  font-size: 1.3em;
  font-family: "Tw Cen MT Pro", sans-serif;
  letter-spacing: -0.02em;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h5, .h5, h6, .h6 {
  margin: 0;
  margin-bottom: 0.3em;
  line-height: 1.1;
  font-size: 1.1em;
  font-family: "Tw Cen MT Pro", sans-serif;
  letter-spacing: -0.02em;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.textFormatting .is-large {
  color: #1a1a1a !important;
  font-size: 1.2em !important;
  line-height: 1.3;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
[data-theme=dark] .textFormatting .is-large {
  color: white !important;
}
.is-centered .textFormatting {
  text-align: center;
}
.is-centered .textFormatting ol:not(.breadcrumb) {
  margin-left: auto;
  margin-right: auto;
  list-style-position: inside;
}
.is-centered .textFormatting ul {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.is-centered .textFormatting table {
  width: auto;
  margin-left: auto;
  margin-right: auto;
}
.textFormatting ul:not([class]) li {
  list-style: square;
}
.textFormatting ol {
  padding-left: 1.3em;
}
.textFormatting ol li {
  padding-left: 0.2em;
  padding-bottom: 0.3em;
  line-height: 1.4;
}
.textFormatting ul.noBullets, .textFormatting ol.noBullets {
  margin: 0;
  padding: 0;
  list-style: none;
}
.textFormatting ul li, .textFormatting ol li {
  margin-bottom: 0.2em;
}
.textFormatting p, .textFormatting ol:not([class]), .textFormatting ul:not([class]), .textFormatting table {
  margin: 0;
  color: rgba(0, 0, 0, 0.8);
}
[data-theme=dark] .textFormatting p, [data-theme=dark] .textFormatting ol:not([class]), [data-theme=dark] .textFormatting ul:not([class]), [data-theme=dark] .textFormatting table {
  color: rgba(255, 255, 255, 0.7);
}
.textFormatting p:not(:last-child), .textFormatting ol:not([class]):not(:last-child), .textFormatting ul:not([class]):not(:last-child), .textFormatting table:not(:last-child) {
  margin-bottom: 1em;
}
.textFormatting p a:not(.button.solid, .button.pill, .button.round), .textFormatting span a:not(.button.solid, .button.pill, .button.round), .textFormatting ol a:not(.button.solid, .button.pill, .button.round), .textFormatting ul a:not(.button.solid, .button.pill, .button.round), .textFormatting table a:not(.button.solid, .button.pill, .button.round) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.3em;
  text-decoration-thickness: 0.075em;
}
@media (hover: hover) and (pointer: fine) {
  .textFormatting p a:not(.button.solid, .button.pill, .button.round):hover, .textFormatting span a:not(.button.solid, .button.pill, .button.round):hover, .textFormatting ol a:not(.button.solid, .button.pill, .button.round):hover, .textFormatting ul a:not(.button.solid, .button.pill, .button.round):hover, .textFormatting table a:not(.button.solid, .button.pill, .button.round):hover {
    color: black;
  }
  [data-theme=dark] .textFormatting p a:not(.button.solid, .button.pill, .button.round):hover, [data-theme=dark] .textFormatting span a:not(.button.solid, .button.pill, .button.round):hover, [data-theme=dark] .textFormatting ol a:not(.button.solid, .button.pill, .button.round):hover, [data-theme=dark] .textFormatting ul a:not(.button.solid, .button.pill, .button.round):hover, [data-theme=dark] .textFormatting table a:not(.button.solid, .button.pill, .button.round):hover {
    color: white;
  }
}
.textFormatting em {
  font-style: normal;
  background: #fff3cd;
}
[data-theme=dark] .textFormatting em {
  background: rgba(255, 243, 205, 0.25);
  color: #ffffff;
}
.textFormatting h2:not(:first-child), .textFormatting h3:not(:first-child), .textFormatting h4:not(:first-child), .textFormatting h5:not(:first-child) {
  margin-top: 1.5em;
}
.textFormatting h2 a, .textFormatting h3 a, .textFormatting h4 a, .textFormatting h5 a {
  text-decoration: underline;
}
@media (max-width: 748px) {
  .textFormatting table {
    display: block;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    min-width: 100%;
    margin: 0 auto;
    overflow-x: auto;
  }
}

.textLeft {
  text-align: left;
}

.textRight {
  text-align: right;
}

.textCenter {
  text-align: center;
}

.flowInline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.flowInline > * {
  margin: 0 0.5em 0.5em 0;
}
.flowInline > .button.textual {
  margin: 1em 1.5em 1.5em 0;
}
.flowInline > .button.primary + .button.textual {
  margin-left: 1.2em;
}
.flowInline.is-centered {
  justify-content: center;
}
.flowInline.is-centered > * {
  margin: 0 0.25em 0.5em;
}

.spacerTiny {
  width: 100%;
  height: 0.5em;
  margin: 0;
}

.spacerMini {
  height: 0.8em;
}

.spacerSmall {
  height: 1em;
}

.spacerMedium {
  height: 2em;
}

.spacerLarge {
  height: 3em;
}

.spacerXlarge {
  height: 4em;
}

.boilerplate [class^=spacer] {
  position: relative;
}
.boilerplate [class^=spacer]:after {
  position: absolute;
  left: 2rem;
  top: 50%;
  display: none;
  color: #ffffff;
  line-height: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "spacer";
}
.boilerplate .spacerTiny:after {
  font-size: 0.9rem;
  content: "spacerTiny";
}
.boilerplate .spacerMini:after {
  font-size: 1.1rem;
  content: "spacerMini";
}
.boilerplate .spacerSmall:after {
  font-size: 1.3rem;
  content: "spacerSmall";
}
.boilerplate .spacerMedium:after {
  font-size: 1.5rem;
  content: "spacerMedium";
}
.boilerplate .spacerLarge:after {
  font-size: 2rem;
  content: "spacerLarge";
}
.boilerplate .spacerXlarge:after {
  font-size: 2.4rem;
  content: "spacerXlarge";
}

header.header {
  position: fixed;
  width: 100%;
  z-index: 90;
  top: 0;
  left: 0;
  transition: all 0.2s ease-in-out;
  pointer-events: none;
}
[data-scroll-direction=initial] header.header {
  opacity: 1;
}
[data-scroll-direction=initial] header.header .container > * {
  pointer-events: auto;
}
[data-scroll-direction=up] header.header {
  opacity: 1;
}
[data-scroll-direction=up] header.header .container > * {
  pointer-events: auto;
}
[data-scroll-direction=down] header.header {
  opacity: 0;
}
[data-scroll-direction=down] header.header .container > * {
  pointer-events: none;
}
@media (max-width: 748px) {
  header.header:before {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    display: none;
    width: 100%;
    height: 200%;
    content: "";
    background-image: linear-gradient(white 50%, rgba(255, 255, 255, 0));
  }
  [data-theme=dark] header.header:before {
    background-image: linear-gradient(#262626 50%, rgba(38, 38, 38, 0));
  }
}
header.header .container {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: none;
}
@media (max-width: 748px) {
  header.header .container {
    padding-right: 0.5em;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  header.header .container {
    padding: 0 1em 0 1em;
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  header.header .container {
    padding: 1em 1em 0 1em;
  }
}
@media (min-width: 1101px) {
  header.header .container {
    padding: 1em 1em 0 1em;
  }
}
header.header .container > * {
  pointer-events: auto;
}
header.header .container .brand {
  position: relative;
  margin-right: auto;
  flex: 0 0 auto;
}
@media (max-width: 748px) {
  header.header .container .brand {
    width: 3em;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  header.header .container .brand {
    width: 3em;
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  header.header .container .brand {
    width: 3em;
  }
}
@media (min-width: 1101px) {
  header.header .container .brand {
    width: 3.5em;
  }
}
header.header .container .brand .logo {
  position: relative;
  display: block;
  transition: all 0.15s ease-in-out 0s;
}
header.header .container .brand .logo img {
  display: block;
}
header.header .container .headerNav {
  position: relative;
  display: flex;
  align-items: center;
  background: #F6F6F6;
  padding: 0 0.25em;
  border-radius: 2em;
}
[data-theme=dark] header.header .container .headerNav {
  background: #1A1A1A;
}
[data-navigation] header.header .container .headerNav {
  background: transparent;
}
@media (max-width: 960px) {
  header.header .container .headerNav {
    margin-top: 0.5em;
  }
}
header.header .container .headerNav > .divider {
  position: relative;
  border-right: 0.075em solid #e6e6e6;
  height: 1.2em;
  margin: 0 0.5em;
}
[data-theme=dark] header.header .container .headerNav > .divider {
  border-color: rgba(255, 255, 255, 0.2);
}
@media (max-width: 748px) {
  header.header .container .headerNav > .button {
    font-size: 1.1em;
  }
}
header.header .container .headerNav .dropdown > .button {
  flex-shrink: 1;
  max-width: 10em;
}
header.header .container .headerNav .dropdown > .button span {
  padding: 0.2em 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 748px) {
  header.header .container .headerNav .dropdown > .button svg {
    display: none;
  }
}
@media (max-width: 748px) {
  header.header .container .headerNav .dropdown .dropdownMenu {
    font-size: 1.2em;
  }
}
header.header .container .headerNav .dropdown .dropdownMenu .button {
  white-space: nowrap;
}
header.header .container .headerNav .dropdown .dropdownMenu .button .themeSwitcher {
  display: inline-block;
  position: relative;
  height: 1.3em;
  width: 2.5em;
  font-size: 1em;
  margin-top: -0.2em;
  margin-left: 1em;
}
header.header .container .headerNav .dropdown .dropdownMenu .button .themeSwitcher input {
  display: none;
}
header.header .container .headerNav .dropdown .dropdownMenu .button .themeSwitcher input:checked + .slider {
  background-color: #66bb6a;
}
header.header .container .headerNav .dropdown .dropdownMenu .button .themeSwitcher input:checked + .slider:before {
  -webkit-transform: translateX(1.2em);
          transform: translateX(1.2em);
}
header.header .container .headerNav .dropdown .dropdownMenu .button .themeSwitcher .slider {
  background-color: #cccccc;
  bottom: 0;
  cursor: pointer;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: 0.4s;
}
header.header .container .headerNav .dropdown .dropdownMenu .button .themeSwitcher .slider:before {
  background-color: #ffffff;
  position: absolute;
  transition: 0.4s;
  width: 0.9em;
  height: 0.9em;
  left: 0.2em;
  bottom: 0.2em;
  content: "";
}
header.header .container .headerNav .dropdown .dropdownMenu .button .themeSwitcher .slider.round {
  border-radius: 1em;
}
header.header .container .headerNav .dropdown .dropdownMenu .button .themeSwitcher .slider.round:before {
  border-radius: 50%;
}

html[data-navigation] {
  overflow: hidden;
}
html[data-navigation] body {
  overflow-y: hidden;
}
html[data-navigation] body .navigationBlock {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
html[data-navigation] body header.header {
  opacity: 1 !important;
}
@media (max-width: 748px) {
  html[data-navigation] body header.header:before {
    display: block;
  }
}
html[data-navigation] body header.header .container > * {
  pointer-events: auto !important;
}
html[data-navigation] body main {
  pointer-events: none;
}
@media (min-width: 749px) {
  html[data-navigation] body main {
    opacity: 0.25;
    -webkit-filter: blur(0.075em);
            filter: blur(0.075em);
  }
}

.navigationBlock {
  position: fixed;
  top: 0;
  left: 100%;
  z-index: 80;
  min-height: -webkit-fill-available;
  height: 100vh;
  background: #ffffff;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-transform: translateX(10%);
          transform: translateX(10%);
  box-shadow: -0.7em 0 1em rgba(0, 0, 0, 0.05);
  transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}
@media (max-width: 748px) {
  .navigationBlock {
    display: flex;
    justify-content: center;
    width: 100%;
  }
}
[data-theme=dark] .navigationBlock {
  background: #262626;
  box-shadow: -0.7em 0 1em rgba(0, 0, 0, 0.2);
}
.navigationBlock .wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (max-width: 748px) {
  .navigationBlock .wrapper {
    display: block;
    padding-top: 5.6em;
    padding-left: 10vw;
    padding-right: 10vw;
  }
}
@media (min-width: 749px) {
  .navigationBlock .wrapper {
    padding-top: 5.4em;
    padding-left: 10vw;
    padding-right: 10vw;
  }
}
.navigationBlock .wrapper nav.navBlock {
  margin-bottom: 1.5em;
}
.navigationBlock .wrapper nav.navBlock ul {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1.2;
}
@media (min-width: 749px) {
  .navigationBlock .wrapper nav.navBlock ul {
    white-space: nowrap;
  }
}
.navigationBlock .wrapper nav.navBlock ul li {
  display: block;
}
.navigationBlock .wrapper nav.navBlock ul li.mainSection {
  margin-bottom: 0.5em;
  line-height: 1.1;
  font-family: "Tw Cen MT Pro", sans-serif;
  letter-spacing: -0.02em;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (max-width: 748px) {
  .navigationBlock .wrapper nav.navBlock ul li.mainSection {
    font-size: 1.6em;
  }
}
@media (min-width: 749px) {
  .navigationBlock .wrapper nav.navBlock ul li.mainSection {
    font-size: 1.2em;
  }
}
@media (max-width: 748px) {
  .navigationBlock .wrapper nav.navBlock ul li.mainSection.small {
    font-size: 1.4em;
  }
}
@media (min-width: 749px) {
  .navigationBlock .wrapper nav.navBlock ul li.mainSection.small {
    font-size: 1em;
  }
}
.navigationBlock .wrapper nav.navBlock ul li.mainSection a {
  display: inline-flex;
  color: inherit;
  text-underline-offset: 0.2em;
  transition: all 0.15s ease-in-out 0s;
}
@media (hover: hover) and (pointer: fine) {
  .navigationBlock .wrapper nav.navBlock ul li.mainSection a:hover:not(.header) {
    text-decoration: underline;
  }
}
.navigationBlock .wrapper nav.navBlock ul li.mainSection a.is-active {
  text-decoration: underline;
}
.navigationBlock .wrapper nav.navBlock ul li.subSection + .mainSection {
  margin-top: 0.8em;
}
@media (max-width: 748px) {
  .navigationBlock .wrapper nav.navBlock ul li.subSection {
    font-size: 1em;
  }
}
@media (min-width: 749px) {
  .navigationBlock .wrapper nav.navBlock ul li.subSection {
    font-size: 0.8em;
  }
}
.navigationBlock .wrapper nav.navBlock ul li.subSection a {
  display: inline-flex;
  position: relative;
  color: inherit;
  opacity: 0.7;
  text-underline-offset: 0.2em;
  transition: all 0.15s ease-in-out 0s;
}
@media (max-width: 748px) {
  .navigationBlock .wrapper nav.navBlock ul li.subSection a {
    padding: 0.3em 0;
  }
}
@media (min-width: 749px) {
  .navigationBlock .wrapper nav.navBlock ul li.subSection a {
    padding: 0.3em 0;
  }
}
.navigationBlock .wrapper nav.navBlock ul li.subSection a:not(.external) {
  padding-left: 1em;
}
.navigationBlock .wrapper nav.navBlock ul li.subSection a.external {
  font-size: 0.85em;
}
.navigationBlock .wrapper nav.navBlock ul li.subSection a.is-active {
  text-decoration: underline;
  opacity: 1;
  font-weight: 400;
}
@media (hover: hover) and (pointer: fine) {
  .navigationBlock .wrapper nav.navBlock ul li.subSection a:hover:not(.header) {
    text-decoration: underline;
    opacity: 1;
  }
  .navigationBlock .wrapper nav.navBlock ul li.subSection a:hover svg {
    opacity: 1;
  }
}
.navigationBlock .wrapper nav.navBlock ul li.subSection a svg:not(.icon-external) {
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.7em;
  height: 0.7em;
}
.navigationBlock .wrapper nav.navBlock ul li.subSection a svg.icon-external {
  width: 1em;
  height: 1em;
  margin-left: 0.4em;
  opacity: 0.5;
}

footer.footer {
  position: relative;
  padding-top: 4em;
  margin-top: auto;
}
footer.footer .container .block {
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2em;
  padding-top: 1em;
  border-top: 0.075em solid #e6e6e6;
  transition: border-color 0.15s ease-in-out 0s;
}
[data-theme=dark] footer.footer .container .block {
  border-color: #333333;
}
footer.footer .container .block .copyright {
  font-size: 0.65em;
  opacity: 0.5;
}
footer.footer .container .block [data-scroll-to="#top"] {
  margin-left: auto;
}

.textBlock.is-large + .textBlock {
  margin-top: -2em;
}
.textBlock + .buttonBlock,
.textBlock + .accordionBlock,
.textBlock + .googleMapsBlock {
  margin-top: -1em;
}
.textBlock.full .block {
  max-width: none !important;
}
.textBlock .block {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}
.textBlock .block.is-collapsible {
  position: relative;
  margin-bottom: 5em;
}
.textBlock .block.is-collapsible .collapseTrigger {
  display: none;
}
.textBlock .block.is-collapsible .collapseTrigger:checked ~ .collapseButton span, .textBlock .block.is-collapsible .collapseTrigger:checked ~ .collapseButton svg {
  display: none;
}
.textBlock .block.is-collapsible .collapseTrigger:checked ~ .collapseButton span[data-secondary], .textBlock .block.is-collapsible .collapseTrigger:checked ~ .collapseButton svg[data-secondary] {
  display: inline-flex;
}
.textBlock .block.is-collapsible .collapseTrigger:checked ~ .textArea {
  height: auto !important;
  -webkit-mask-image: none;
}
.textBlock .block.is-collapsible .collapseButton {
  position: absolute;
  z-index: 1;
  top: calc(100% + 0.5em);
}
.textBlock .block.is-collapsible .textArea {
  position: relative;
  padding-bottom: 1em;
  overflow: hidden;
  height: calc(var(--rows, 5) * 1em * 1.5);
  -webkit-mask-image: linear-gradient(#000000 25%, transparent);
}

.buttonBlock + .buttonBlock {
  margin-top: -3em;
}
.buttonBlock .block {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}

.quoteBlock .block {
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  background: #ffffff;
  transition: background 0.15s ease-in-out 0s;
}
@media (max-width: 748px) {
  .quoteBlock .block {
    margin: 0 -5vw;
    padding: 10vw 5vw;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .quoteBlock .block {
    margin: 0 -5vw;
    padding: 5vw;
  }
}
@media (min-width: 961px) {
  .quoteBlock .block {
    max-width: calc(55ch + 4em);
    padding: 2em;
  }
}
[data-theme=dark] .quoteBlock .block {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}
.quoteBlock .block div {
  line-height: 1.1;
  font-family: "Tw Cen MT Pro", sans-serif;
  letter-spacing: -0.02em;
  font-size: 1.8em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 500;
}
.quoteBlock .block footer {
  font-size: 0.7em;
  margin-top: 1em;
}
[data-theme=dark] .quoteBlock .block footer {
  color: rgba(255, 255, 255, 0.6);
}
.quoteBlock .block footer:before {
  display: inline-block;
  margin-right: 0.5em;
  content: "⎯";
}

.carouselBlock {
  width: 100%;
  overflow: hidden;
}
@media (max-width: 960px) {
  .carouselBlock {
    height: 60vh;
  }
}
@media (min-width: 961px) {
  .carouselBlock {
    height: 90vh;
  }
}

@media (max-width: 748px) {
  .bannerBlock {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .bannerBlock {
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
}
.bannerBlock .banner {
  position: relative;
  display: flex;
  overflow: hidden;
  margin: auto;
  background: #f2f2f2;
}
@media (max-width: 748px) {
  .bannerBlock .banner {
    flex-direction: column;
  }
}
@media (min-width: 749px) {
  .bannerBlock .banner {
    align-items: stretch;
  }
}
.bannerBlock .banner .text {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
@media (max-width: 748px) {
  .bannerBlock .banner .text {
    width: 100%;
    padding: 5vw;
    order: 2;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .bannerBlock .banner .text {
    width: 50%;
    padding: 5vw;
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  .bannerBlock .banner .text {
    width: 50%;
    padding: 5vw;
  }
}
@media (min-width: 1101px) {
  .bannerBlock .banner .text {
    width: 50%;
    padding: 2em;
  }
}
.bannerBlock .banner .text .h2 {
  margin-top: 0;
  margin-bottom: 0.5em;
}
@media (max-width: 748px) {
  .bannerBlock .banner .text .h2 {
    font-size: 1.6em;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .bannerBlock .banner .text .h2 {
    font-size: 1.2em;
  }
}
@media (min-width: 961px) {
  .bannerBlock .banner .text .h2 {
    font-size: 1.8em;
  }
}
.bannerBlock .banner .text p {
  line-height: 1.5;
  font-size: 0.9em;
}
.bannerBlock .banner .visual {
  overflow: hidden;
}
@media (max-width: 748px) {
  .bannerBlock .banner .visual {
    width: 100%;
    height: 75vw;
    order: 1;
  }
}
@media (min-width: 749px) {
  .bannerBlock .banner .visual {
    position: absolute;
    right: 0;
    z-index: 1;
    height: 100%;
    width: 50%;
  }
}
.bannerBlock .banner .visual .splide,
.bannerBlock .banner .visual .splide__track,
.bannerBlock .banner .visual .splide__list,
.bannerBlock .banner .visual .splide__slide,
.bannerBlock .banner .visual figure {
  height: 100%;
  width: 100%;
}
.bannerBlock .banner .visual figure img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bannerBlock .banner .visual figure figcaption {
  display: none;
}
.bannerBlock .banner .visual .splide__arrows {
  display: none;
}

@media (max-width: 748px) {
  .accordionBlock .container {
    padding: 0;
  }
}
.accordionBlock .container .block {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}
.accordionBlock .container .block details {
  display: block;
  background: #ffffff;
  border-radius: 0.2em;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.025);
  transition: all 0.15s ease-in-out 0s;
}
[data-theme=dark] .accordionBlock .container .block details {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}
.accordionBlock .container .block details:not(:last-child) {
  margin-bottom: 0.5em;
}
.accordionBlock .container .block details summary.title {
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  vertical-align: bottom;
  flex: 0 0 auto;
  margin: 0;
  border: none;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background: transparent;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
  position: relative;
  display: block;
  width: 100%;
  line-height: 1.2;
  padding: 1em 1em 1em 2.75em;
  cursor: pointer;
  font-weight: 400;
}
.accordionBlock .container .block details summary.title::-webkit-details-marker {
  display: none;
}
.accordionBlock .container .block details summary.title .button {
  position: absolute;
  left: 0.75em;
  width: 1.15em;
  height: 1.15em;
}
.accordionBlock .container .block details summary.title .button svg {
  width: 75%;
  height: 75%;
  transition: all 0.15s ease-in-out 0s;
}
.accordionBlock .container .block details summary.title .button svg.icon-min {
  position: absolute;
  top: 10%;
  left: 10%;
  opacity: 0;
}
.accordionBlock .container .block details div.description {
  padding: 0 2.75em 1.5em 2.75em;
  opacity: 0.9;
}
@media (max-width: 748px) {
  .accordionBlock .container .block details div.description {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
.accordionBlock .container .block details div.description .textBlock {
  font-size: 0.9em;
}
.accordionBlock .container .block details div.description .textBlock:not(:last-child) {
  margin-bottom: 1.5em;
}
.accordionBlock .container .block details div.description .textBlock p {
  font-size: 0.95em;
}
.accordionBlock .container .block details div.description figure:not(:last-child) {
  margin-bottom: 1em;
}
@media (max-width: 748px) {
  .accordionBlock .container .block details div.description figure {
    margin-left: -5vw;
    margin-right: -5vw;
  }
}
.accordionBlock .container .block details div.description figure figcaption.caption {
  padding-left: 0;
  padding-right: 0;
  margin: 0;
}
@media (max-width: 748px) {
  .accordionBlock .container .block details div.description figure figcaption.caption {
    padding-left: 5vw;
    padding-right: 1.5em;
  }
}
.accordionBlock .container .block details div.description .flowInline:not(:last-child) {
  margin-bottom: 1.5em;
}
.accordionBlock .container .block details[open] summary.title .button svg.icon-plus {
  opacity: 0;
}
.accordionBlock .container .block details[open] summary.title .button svg.icon-min {
  opacity: 1;
}

.mediaBlock .container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  max-width: none !important;
}
@media (max-width: 960px) {
  .mediaBlock .container {
    padding: 0;
    justify-content: space-between;
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  .mediaBlock .container {
    gap: 0 5vw;
  }
  .mediaBlock .container .fallback.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .mediaBlock .container {
      justify-content: space-between;
    }
    .mediaBlock .container .fallback {
      margin-bottom: "inherit";
      margin-right: 5vw;
    }
  }
}
@media (min-width: 1101px) {
  .mediaBlock .container {
    gap: 0 2em;
  }
  .mediaBlock .container .fallback.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .mediaBlock .container {
      justify-content: space-between;
    }
    .mediaBlock .container .fallback {
      margin-bottom: "inherit";
      margin-right: 2em;
    }
  }
}
.mediaBlock .container figure .media {
  position: relative;
}
.mediaBlock .container figure .media:not(.is-transparent) img, .mediaBlock .container figure .media:not(.is-transparent) video {
  width: 100%;
}
@media (max-width: 748px) {
  .mediaBlock .container figure.has-margin:not(:last-child) {
    margin-bottom: 0;
  }
}
@media (max-width: 748px) {
  .mediaBlock .container figure.half {
    width: 100%;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .mediaBlock .container figure.half {
    width: calc(50% - 2.5vw);
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  .mediaBlock .container figure.half {
    width: calc(50% - 2.5vw);
  }
}
@media (min-width: 1101px) {
  .mediaBlock .container figure.half {
    width: calc(50% - 1em);
    max-width: calc(50rem - 1em);
  }
}
.mediaBlock .container figure.full {
  width: 100%;
}
.mediaBlock .container figure.full .media {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1101px) {
  .mediaBlock .container figure.full .media {
    max-width: calc(160rem - 60rem);
  }
}
@media (max-width: 748px) {
  .mediaBlock .container figure.wide {
    width: 100%;
  }
}
@media (min-width: 749px) {
  .mediaBlock .container figure.wide {
    width: calc(100% + 10vw);
    margin-left: -5vw;
    margin-right: -5vw;
  }
}

.doubleBlock .container {
  display: flex;
}
@media (max-width: 748px) {
  .doubleBlock .container {
    flex-direction: column;
    padding: 0;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .doubleBlock .container {
    padding: 0;
  }
}
.doubleBlock .block {
  display: flex;
  align-items: center;
  padding: 0;
}
@media (max-width: 748px) {
  .doubleBlock .block {
    width: 100%;
  }
}
@media (min-width: 749px) {
  .doubleBlock .block {
    width: 50%;
  }
}
@media (max-width: 748px) {
  .doubleBlock .block.is-text {
    order: 2;
  }
}
@media (max-width: 748px) {
  .doubleBlock .block.is-media {
    order: 1;
  }
}
@media (max-width: 748px) {
  .doubleBlock .block .text {
    padding: 10vw 5vw;
  }
}
@media (min-width: 749px) {
  .doubleBlock .block .text {
    padding: 10vw;
  }
}
.doubleBlock .block figure {
  width: 100%;
  height: 100%;
}
.doubleBlock .block figure .media {
  width: 100%;
  height: 100%;
}
@media (max-width: 748px) {
  .doubleBlock .block figure .media {
    height: 60vh;
  }
}
.doubleBlock .block figure .media img,
.doubleBlock .block figure .media video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.doubleBlock .block figure .caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  max-width: none;
  text-align: center;
  color: #ffffff;
  padding-top: 5rem;
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
  padding-left: 5vw;
  padding-right: 5vw;
}
@media (max-width: 748px) {
  .doubleBlock .block figure .caption {
    padding-bottom: 0.7rem;
    text-align: left;
  }
}

.logosBlock .container .logos {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
@media (max-width: 748px) {
  .logosBlock .container .logos .logo {
    max-width: 33.333333%;
    padding: 0 0.5em;
    margin: 1.5em 0;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .logosBlock .container .logos .logo {
    max-width: 20%;
    padding: 0 1em;
    margin: 1.5em 0;
  }
}
@media (min-width: 961px) {
  .logosBlock .container .logos .logo {
    max-width: 20%;
    padding: 0 2em;
    margin: 1.5em 0;
  }
}
.logosBlock .container .logos .logo a {
  display: block;
}
.logosBlock .container .logos .logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 748px) {
  .logosBlock .container .logos .logo img {
    max-height: 2.3em;
  }
}
@media (min-width: 749px) {
  .logosBlock .container .logos .logo img {
    max-height: 2.8em;
  }
}

.formBlock .block {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}

.googleMapsBlock .container .map {
  height: 70vh;
  max-height: 70rem;
  width: 100%;
  background: #e6e6e6;
}
.googleMapsBlock .container .map *:focus {
  outline: 0;
}
.googleMapsBlock .container .map .gm-style-iw {
  max-width: 23rem !important;
  max-height: none !important;
  min-width: 0;
  background-color: #ffffff;
  border-radius: 0.1em;
  padding: 0 !important;
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 1.4;
  box-shadow: 0 1rem 5rem rgba(0, 0, 0, 0.4);
}
.googleMapsBlock .container .map .gm-style-iw > div {
  width: 100%;
  overflow: auto !important;
}
.googleMapsBlock .container .map .gm-style-iw .infoWindow {
  padding: 2rem;
  width: 100%;
}
.googleMapsBlock .container .map .gm-style-iw .infoWindow h3 {
  padding-right: 2rem;
}
.googleMapsBlock .container .map .gm-style-iw .infoWindow p {
  margin-bottom: 1rem;
}
.googleMapsBlock .container .map .gm-style-iw .infoWindow .buttons {
  margin-top: 2rem;
}
.googleMapsBlock .container .map .gm-style-iw .infoWindow .buttons .button {
  width: 100%;
}
.googleMapsBlock .container .map .gm-style-iw .infoWindow .buttons .button:last-child {
  margin-bottom: 0;
}
.googleMapsBlock .container .map .gm-style-iw .infoWindow .buttons .button span {
  font-size: 1.5rem;
}
.googleMapsBlock .container .map .gm-style-iw button.gm-ui-hover-effect {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  top: 0.75rem !important;
  right: 0.75rem !important;
  padding: 0 !important;
  width: 2.7rem !important;
  height: 2.7rem !important;
  border-radius: 50%;
  background: #cccccc !important;
  transition: all 0.15s ease-in-out 0s;
}
.googleMapsBlock .container .map .gm-style-iw button.gm-ui-hover-effect img {
  width: 60% !important;
  height: 60% !important;
}

.hero {
  position: relative;
  width: 100%;
}
@media (max-width: 748px) {
  .hero {
    margin-bottom: 1em;
  }
}
@media (min-width: 749px) {
  .hero {
    margin-bottom: 2em;
  }
}
.hero .visual {
  position: relative;
  width: 100%;
  height: 100%;
}
.hero .visual .splide,
.hero .visual .splide__track,
.hero .visual .splide__slide {
  height: 100%;
  width: 100%;
}
.hero .visual figure {
  height: 100%;
}
.hero .visual figure .media {
  height: 100%;
}
.hero .visual figure .media video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero .visual figure .media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero .visual figure .media .autoplayVideo {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.hero .visual figure .media .autoplayVideo iframe {
  width: 100vw;
  height: calc(var(--videoHeight) / var(--videoWidth) * 100vw);
  min-height: 100vh;
  min-width: calc(var(--videoWidth) / var(--videoHeight) * 100vh);
  position: absolute;
  z-index: 100;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.hero .visual:after {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 75%;
  content: "";
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
}
[data-theme=dark] .hero .visual:after {
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
}
.hero .textarea.full .block {
  max-width: none !important;
}
.hero .textarea .container {
  padding-top: 5em;
}
.hero .textarea .container .block {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}
.hero.medium {
  background: #1A1A1A;
  overflow: hidden;
}
@media (max-width: 748px) {
  .hero.medium {
    height: 60vh;
    min-height: 25rem;
    max-height: 70rem;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .hero.medium {
    height: 35rem;
  }
}
@media (min-width: 961px) {
  .hero.medium {
    height: 60vh;
    min-height: 40rem;
    max-height: 90rem;
  }
}
.hero.medium .textarea {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}
.hero.medium .textarea .container {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  height: 100%;
  width: 100%;
  justify-content: flex-end;
}
.hero.medium .textarea .container .block {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 55ch;
}
@media (max-width: 748px) {
  .hero.medium .textarea .container .block {
    padding-bottom: 10vw;
  }
}
@media (min-width: 749px) {
  .hero.medium .textarea .container .block {
    padding-bottom: 2.5em;
  }
}
.hero.medium .textarea .container .block * {
  color: #ffffff;
  text-shadow: 0 1em 2em black;
}
.hero.medium .textarea .container .block h1 {
  margin-bottom: 0;
}
.hero.medium .textarea .container .block p {
  color: #ffffff;
  font-weight: 600;
}

.contentBlocks .has-margin:not(:last-child) {
  margin-bottom: 3em;
}
.contentBlocks .has-margin.quoteBlock {
  margin-top: 5em;
  margin-bottom: 5em;
}
.contentBlocks .backgroundBlock {
  padding-top: 4em;
  padding-bottom: 4em;
}
.contentBlocks .backgroundBlock.gray {
  background-color: rgba(0, 0, 0, 0.04);
}
.contentBlocks .backgroundBlock.black {
  color: #ffffff;
  background-color: #000000;
}

.cards {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
@media (max-width: 748px) {
  .cards {
    flex-direction: column;
  }
}
@media (min-width: 749px) and (max-width: 1100px) {
  .cards {
    gap: 1.25vw 1.25vw;
  }
  .cards .card.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .cards {
      justify-content: space-between;
    }
    .cards .card {
      margin-bottom: 1.25vw;
      margin-right: 1.25vw;
    }
  }
  .cards .profileCard.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .cards {
      justify-content: space-between;
    }
    .cards .profileCard {
      margin-bottom: 1.25vw;
      margin-right: 1.25vw;
    }
  }
}
@media (min-width: 1101px) {
  .cards {
    gap: 1em 1em;
  }
  .cards .card.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .cards {
      justify-content: space-between;
    }
    .cards .card {
      margin-bottom: 1em;
      margin-right: 1em;
    }
  }
  .cards .profileCard.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .cards {
      justify-content: space-between;
    }
    .cards .profileCard {
      margin-bottom: 1em;
      margin-right: 1em;
    }
  }
}
.cards.is-narrow {
  padding: 0;
  max-width: 55ch;
}

.cardsHeader .text {
  border-top: 0.075em solid #e6e6e6;
  padding-top: 2em;
  margin-bottom: 1.5em;
  transition: border 0.15s ease-in-out 0s;
}
[data-theme=dark] .cardsHeader .text {
  border-color: #333333;
}

.card {
  position: relative;
  border-radius: 0.1em;
  background: #262626;
  overflow: hidden;
}
[data-theme=dark] .card {
  background-color: #262626;
  color: #ffffff;
}
@media (max-width: 748px) {
  .card.mini {
    display: flex;
    align-items: center;
    width: 100%;
    box-shadow: none;
    margin-bottom: 5vw;
    min-height: 5.5em;
  }
  .card.mini .visual {
    width: 35% !important;
    align-self: stretch;
    aspect-ratio: none;
  }
  .card.mini .visual img {
    opacity: 1 !important;
  }
  .card.mini .textarea {
    position: relative;
    width: 65% !important;
    padding-left: 5vw;
    background-image: none !important;
  }
  .card.mini .textarea .description {
    display: none;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .card.mini {
    width: calc(100% / 3 - 0.84vw);
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  .card.mini {
    width: calc(25% - 0.95vw);
  }
}
@media (min-width: 1101px) {
  .card.mini {
    width: calc(25% - 0.76em);
  }
}
@media (max-width: 748px) {
  .card.small {
    display: flex;
    align-items: center;
    width: 100%;
    box-shadow: none;
    margin-bottom: 5vw;
    min-height: 5.5em;
  }
  .card.small .visual {
    width: 35% !important;
    align-self: stretch;
    aspect-ratio: none;
  }
  .card.small .visual img {
    opacity: 1 !important;
  }
  .card.small .textarea {
    position: relative;
    width: 65% !important;
    padding-left: 5vw;
    background-image: none !important;
  }
  .card.small .textarea .description {
    display: none;
  }
}
@media (max-width: 748px) {
  .card.small {
    width: 100%;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .card.small {
    width: calc(50% - 0.625vw);
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  .card.small {
    width: calc(33.333333% - 0.85vw);
  }
}
@media (min-width: 1101px) {
  .card.small {
    width: calc(33.333333% - 0.68em);
  }
}
@media (max-width: 748px) {
  .card.medium {
    width: 100%;
    margin-bottom: 5vw;
  }
}
@media (min-width: 749px) and (max-width: 1100px) {
  .card.medium {
    width: calc(50% - 0.625vw);
  }
}
@media (min-width: 1101px) {
  .card.medium {
    width: calc(50% - 0.5em);
  }
}
.card.large {
  width: 100%;
}
.card.large .visual {
  width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .card:hover .visual img {
    opacity: 1;
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  .card:hover .visual svg.icon-arrow-right {
    -webkit-transform: translateX(0.3em);
            transform: translateX(0.3em);
  }
}
.card .visual {
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 4/3;
}
@supports not (aspect-ratio: auto) {
  .card .visual {
    padding-top: 75%;
  }
  .card .visual img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.card .visual img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
}
.card .textarea {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  display: flex;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  padding: 8%;
  background-image: linear-gradient(rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.7));
}
.card .textarea .text {
  margin-right: auto;
  color: #ffffff;
}
.card .textarea .text .preTitle {
  font-size: 0.7em;
  line-height: 1;
  opacity: 0.8;
  margin-bottom: 0.3em;
}
@media (max-width: 748px) {
  .card .textarea .text .preTitle {
    font-size: 0.6em;
  }
}
.card .textarea .text .title {
  display: block;
  font-size: 1.1em;
  line-height: 1.1;
  margin-bottom: 0.3em;
  max-width: 21ch;
  font-weight: 500;
}
@media (max-width: 748px) {
  .card .textarea .text .title {
    font-size: 1em;
  }
}
.card .textarea .text .description {
  font-size: 0.7em;
  line-height: 1.4;
  opacity: 0.7;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
}
@media (max-width: 748px) {
  .card .textarea .text .description {
    display: none;
  }
}

.profileCard {
  position: relative;
  overflow: hidden;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
}
@media (max-width: 748px) {
  .profileCard {
    display: flex;
    align-items: center;
    width: 100%;
  }
  .profileCard .visual {
    width: 35% !important;
    align-self: stretch;
    aspect-ratio: none;
  }
  .profileCard .textarea {
    width: 65% !important;
    padding-left: 5vw;
  }
}
@media (max-width: 748px) {
  .profileCard {
    width: 100%;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .profileCard {
    width: calc(100% / 3 - 0.84vw);
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  .profileCard {
    width: calc(25% - 0.95vw);
  }
}
@media (min-width: 1101px) {
  .profileCard {
    width: calc(25% - 0.76em);
  }
}
.profileCard .image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
}
@supports not (aspect-ratio: auto) {
  .profileCard .image {
    padding-top: 133%;
  }
  .profileCard .image img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.profileCard .image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  transition: -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
}
.profileCard .textarea {
  position: relative;
  display: flex;
  width: 100%;
  padding: 1em;
}
.profileCard .textarea .text {
  margin-right: auto;
}
.profileCard .textarea .text .title {
  display: block;
  line-height: 1.2;
  margin-bottom: 0.2em;
  font-weight: 700;
}
.profileCard .textarea .text .position {
  font-size: 0.8em;
  line-height: 1;
  margin-bottom: 1.5em;
  opacity: 0.5;
}
.profileCard .textarea .text .buttons .button {
  width: 100%;
  margin-bottom: 0.75em;
}

.brands {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
@media (max-width: 748px) {
  .brands {
    flex-direction: column;
  }
}
@media (min-width: 749px) and (max-width: 1100px) {
  .brands {
    gap: 1.25vw 1.25vw;
  }
  .brands .card.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .brands {
      justify-content: space-between;
    }
    .brands .card {
      margin-bottom: 1.25vw;
      margin-right: 1.25vw;
    }
  }
  .brands .profileCard.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .brands {
      justify-content: space-between;
    }
    .brands .profileCard {
      margin-bottom: 1.25vw;
      margin-right: 1.25vw;
    }
  }
}
@media (min-width: 1101px) {
  .brands {
    gap: 1em 1em;
  }
  .brands .card.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .brands {
      justify-content: space-between;
    }
    .brands .card {
      margin-bottom: 1em;
      margin-right: 1em;
    }
  }
  .brands .profileCard.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .brands {
      justify-content: space-between;
    }
    .brands .profileCard {
      margin-bottom: 1em;
      margin-right: 1em;
    }
  }
}
.brands .brand {
  position: relative;
  border-radius: 0.1em;
  background: #ffffff;
  padding: 1em;
  transition: all 0.15s ease-in-out 0s;
}
@media (max-width: 748px) {
  .brands .brand {
    display: flex;
    align-items: center;
    width: 100%;
    box-shadow: none;
    margin-bottom: 5vw;
    min-height: 5.5em;
  }
  .brands .brand .visual {
    width: 35% !important;
    align-self: stretch;
    aspect-ratio: none;
  }
  .brands .brand .textarea {
    position: relative;
    width: 65% !important;
    padding-left: 5vw;
  }
  .brands .brand .textarea .description {
    display: none;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .brands .brand {
    width: calc(100% / 3 - 0.84vw);
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  .brands .brand {
    width: calc(25% - 0.95vw);
  }
}
@media (min-width: 1101px) {
  .brands .brand {
    width: calc(25% - 0.76em);
  }
}
@media (hover: hover) and (pointer: fine) {
  .brands .brand:hover {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
}
.brands .brand .visual {
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 2/1;
  margin-bottom: 1em;
}
@supports not (aspect-ratio: auto) {
  .brands .brand .visual {
    padding-top: 75%;
  }
  .brands .brand .visual img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.brands .brand .visual img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
  -o-object-position: center center;
     object-position: center center;
}
.brands .brand .textarea {
  display: flex;
  align-items: flex-end;
  margin-top: auto;
}
.brands .brand .textarea .text {
  margin-right: auto;
  color: #000000;
}
.brands .brand .textarea .text .title {
  display: block;
  font-size: 1em;
  line-height: 1.1;
  font-weight: 500;
}

html[data-popup] {
  overflow: hidden;
}
html[data-popup] body {
  overflow-y: hidden;
}
html[data-popup] body main {
  pointer-events: none;
}

[data-popup-id] {
  cursor: pointer;
}

.popup {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: 100%;
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}
@media (max-width: 960px) {
  .popup {
    padding: 1em;
  }
}
@media (min-width: 961px) {
  .popup {
    padding: 2em;
  }
}
.popup.is-active {
  pointer-events: auto;
  opacity: 1;
}
.popup.is-active .window {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}
.popup .popupBackground {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: 0.4;
}
[data-theme=dark] .popup .popupBackground {
  opacity: 0.6;
}
.popup .window {
  position: relative;
  width: auto;
  min-width: 10em;
  max-width: 35em;
  margin: auto;
  opacity: 0;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  border-radius: 0.1em;
  box-shadow: 0 0 5em rgba(0, 0, 0, 0.4);
  transition: all 0 0.50s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  background: #ffffff;
  color: #1A1A1A;
}
[data-theme=dark] .popup .window {
  background: #1a1a1a;
  color: #ffffff;
}
@media (max-width: 748px) {
  .popup .window {
    padding: 2.5em 5vw 5vw;
  }
}
@media (min-width: 749px) {
  .popup .window {
    padding: 2.5em;
  }
}
.popup .window .closeButton {
  position: absolute;
  z-index: 10;
  top: 0.3em;
  right: 0.3em;
  margin: 0;
}

.popup .window.contactPopup {
  display: flex;
  align-items: flex-start;
}
@media (max-width: 748px) {
  .popup .window.contactPopup {
    padding: 1em;
    flex-direction: column;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .popup .window.contactPopup {
    padding: 1em;
  }
}
@media (min-width: 961px) {
  .popup .window.contactPopup {
    padding: 1.5em;
  }
}
.popup .window.contactPopup .image {
  position: relative;
  border-radius: 0.1em;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.1);
}
[data-theme=dark] .popup .window.contactPopup .image {
  background: rgba(255, 255, 255, 0.05);
}
@media (max-width: 748px) {
  .popup .window.contactPopup .image {
    border-radius: 50%;
    width: 50%;
    margin: auto;
    margin-bottom: 1em;
  }
}
@media (min-width: 749px) {
  .popup .window.contactPopup .image {
    width: 35%;
  }
}
.popup .window.contactPopup .image .label {
  position: absolute;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background: #1A1A1A;
  color: #ffffff;
  padding: 0.3em 0.5em 0.3em 0.5em;
}
@media (max-width: 748px) {
  .popup .window.contactPopup .image .label {
    top: 0;
    width: 100%;
  }
}
@media (min-width: 749px) {
  .popup .window.contactPopup .image .label {
    top: 0.3em;
    border-radius: 2em 0 0 2em;
  }
}
.popup .window.contactPopup .image .label .emoticon {
  font-size: 0.6em;
  margin: 0 0.4em -0.1em -0.4em;
}
.popup .window.contactPopup .image .label .date {
  font-size: 0.5em;
  font-weight: 500;
}
.popup .window.contactPopup .image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.popup .window.contactPopup .image img[src$=".svg"] {
  opacity: 0.6;
}
[data-theme=dark] .popup .window.contactPopup .image img[src$=".svg"] {
  opacity: 0.1;
}
.popup .window.contactPopup .image .missingImage {
  position: relative;
  width: 100%;
  height: 100%;
  background: #e6e6e6;
}
.popup .window.contactPopup .image .missingImage img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0.2;
  width: 70%;
}
.popup .window.contactPopup .text {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  line-height: 1.2;
}
@media (min-width: 749px) and (max-width: 960px) {
  .popup .window.contactPopup .text {
    width: 65%;
    padding-left: 1em;
  }
}
@media (min-width: 961px) {
  .popup .window.contactPopup .text {
    width: 65%;
    padding-left: 1.5em;
  }
}
.popup .window.contactPopup .text .name {
  font-weight: 500;
}
@media (max-width: 748px) {
  .popup .window.contactPopup .text .name {
    font-size: 1.3em;
    margin-bottom: 0.2em;
  }
}
@media (min-width: 749px) {
  .popup .window.contactPopup .text .name {
    font-size: 1.5em;
  }
}
.popup .window.contactPopup .text .role {
  opacity: 0.7;
}
@media (max-width: 748px) {
  .popup .window.contactPopup .text .role {
    font-size: 0.8em;
    margin-bottom: 1em;
  }
}
@media (min-width: 749px) {
  .popup .window.contactPopup .text .role {
    font-size: 0.9em;
    margin-bottom: 0.5em;
  }
}
.popup .window.contactPopup .text .contactDetails {
  display: flex;
  width: 100%;
  margin-bottom: 1em;
  padding: 1em 0;
  border-top: 0.075em solid #e6e6e6;
  border-bottom: 0.075em solid #e6e6e6;
}
[data-theme=dark] .popup .window.contactPopup .text .contactDetails {
  border-color: #4d4d4d;
}
@media (max-width: 748px) {
  .popup .window.contactPopup .text .contactDetails {
    flex-direction: column;
    font-size: 0.75em;
  }
}
@media (min-width: 749px) {
  .popup .window.contactPopup .text .contactDetails {
    flex-wrap: wrap;
    font-size: 0.7em;
  }
}
@media (max-width: 748px) {
  .popup .window.contactPopup .text .contactDetails .button:not(:last-child) {
    margin-bottom: 1em;
  }
  .popup .window.contactPopup .text .contactDetails .button svg {
    margin-right: 0.5em;
  }
}
@media (min-width: 749px) {
  .popup .window.contactPopup .text .contactDetails .button:not(:last-child) {
    margin-right: 1.25em;
  }
  .popup .window.contactPopup .text .contactDetails .button.linkedin span {
    display: none;
  }
  .popup .window.contactPopup .text .contactDetails .button.linkedin svg {
    margin: 0;
  }
  .popup .window.contactPopup .text .contactDetails .button span {
    opacity: 0.8;
  }
}
.popup .window.contactPopup .text .flowInline {
  flex-wrap: nowrap;
  align-items: flex-start;
}
@media (max-width: 748px) {
  .popup .window.contactPopup .text .flowInline {
    display: block;
  }
  .popup .window.contactPopup .text .flowInline > * {
    margin: 0;
  }
}
@media (min-width: 749px) {
  .popup .window.contactPopup .text .flowInline > * {
    padding-right: 1.9em;
  }
}
.popup .window.contactPopup .text .location,
.popup .window.contactPopup .text .availability,
.popup .window.contactPopup .text .about,
.popup .window.contactPopup .text .birthday {
  line-height: 1.3;
}
@media (max-width: 748px) {
  .popup .window.contactPopup .text .location,
.popup .window.contactPopup .text .availability,
.popup .window.contactPopup .text .about,
.popup .window.contactPopup .text .birthday {
    font-size: 0.75em;
    margin-bottom: 1em;
  }
}
@media (min-width: 749px) {
  .popup .window.contactPopup .text .location,
.popup .window.contactPopup .text .availability,
.popup .window.contactPopup .text .about,
.popup .window.contactPopup .text .birthday {
    font-size: 0.7em;
    margin-bottom: 1em;
  }
}
.popup .window.contactPopup .text .location strong,
.popup .window.contactPopup .text .availability strong,
.popup .window.contactPopup .text .about strong,
.popup .window.contactPopup .text .birthday strong {
  display: inline-block;
  font-size: 0.9em;
  margin-bottom: 0.2em;
}
.popup .window.contactPopup .text .location p,
.popup .window.contactPopup .text .availability p,
.popup .window.contactPopup .text .about p,
.popup .window.contactPopup .text .birthday p {
  margin: 0;
}
.popup .window.contactPopup .text .editButton {
  margin-top: 1em;
}

.contactBlock .filterBlock {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}

.contacts {
  display: none;
  flex-wrap: wrap;
  width: 100%;
}
.contacts.is-active {
  display: flex;
}
.contacts.is-active .contact {
  display: flex;
}
.contacts.is-searching {
  display: flex;
}
.contacts.is-searching + .departments {
  display: none;
}
.contacts.is-searching .headerAlphabetical {
  display: none;
}
.contacts.is-searching[data-view=list] .contact {
  display: flex;
}
.contacts.is-searching[data-view=list] .contact .contactCard .text {
  padding-left: 0.5em !important;
}
.contacts .headerAlphabetical {
  position: relative;
  z-index: 2;
  pointer-events: none;
  margin-left: 0.5em;
  font-weight: 400;
}
@media (max-width: 748px) {
  .contacts .headerAlphabetical {
    margin-bottom: -1.5em;
  }
}
@media (min-width: 749px) {
  .contacts .headerAlphabetical {
    margin-bottom: -1.55em;
  }
}
.contacts .headerAlphabetical:not(:first-child) {
  border-top: 0.075em solid #e6e6e6;
  margin-top: 1em;
  padding-top: 1em;
}
[data-theme=dark] .contacts .headerAlphabetical:not(:first-child) {
  border-color: #333333;
}
.contacts .headerAlphabetical span {
  font-size: 0.75em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.3);
}
[data-theme=dark] .contacts .headerAlphabetical span {
  color: rgba(255, 255, 255, 0.3);
}
.contacts .headerDepartments {
  width: 100%;
  margin-bottom: 0.5em;
}
.contacts .headerDepartments:not(:first-child) {
  padding-top: 1.5em;
}
.contacts .headerDepartments h3 {
  margin-bottom: 0.3em;
}
.contacts .headerDepartments p {
  font-size: 0.75em;
  line-height: 1.2;
}
.contacts[data-view=list] .headerDepartments {
  border-top: 0;
  margin-bottom: 1em !important;
}
.contacts[data-view=list] .headerDepartments:not(:first-child) {
  margin-top: 1em !important;
}
.contacts[data-view=list] .headerDepartments ~ .contact .contactCard {
  border-left: 0.075em solid #e6e6e6;
}
[data-theme=dark] .contacts[data-view=list] .headerDepartments ~ .contact .contactCard {
  border-color: #333333;
}
.contacts[data-view=list] .headerDepartments ~ .contact .contactCard .text {
  padding-left: 1em !important;
}
.contacts[data-view=list] {
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}
.contacts[data-view=card] {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}
@media (max-width: 748px) {
  .contacts[data-view=card] {
    flex-direction: column;
    gap: 5vw;
  }
  .contacts[data-view=card] .contact.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .contacts[data-view=card] {
      justify-content: space-between;
    }
    .contacts[data-view=card] .contact {
      margin-bottom: 5vw;
      margin-right: 5vw;
    }
  }
}
@media (min-width: 749px) and (max-width: 1100px) {
  .contacts[data-view=card] {
    gap: 1.25vw 1.25vw;
  }
  .contacts[data-view=card] .contact.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .contacts[data-view=card] {
      justify-content: space-between;
    }
    .contacts[data-view=card] .contact {
      margin-bottom: 1.25vw;
      margin-right: 1.25vw;
    }
  }
}
@media (min-width: 1101px) {
  .contacts[data-view=card] {
    gap: 1em 1em;
  }
  .contacts[data-view=card] .contact.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    .contacts[data-view=card] {
      justify-content: space-between;
    }
    .contacts[data-view=card] .contact {
      margin-bottom: 1em;
      margin-right: 1em;
    }
  }
}
.contacts[data-view=card] .headerAlphabetical {
  display: none;
}

.contact {
  position: relative;
  display: flex;
  overflow: hidden;
}
.contact.is-hidden {
  display: none !important;
}
@media (min-width: 749px) {
  .contact.is-framed {
    overflow: visible;
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.5);
  }
  .contact.is-framed .contactCard .text {
    padding: 1.5em !important;
  }
  .contact.is-framed .contactCard .contactDetails {
    display: none !important;
  }
  .contact.is-framed .contactCard .role {
    display: none;
  }
}
.contact .contactDetails .button {
  transition: none !important;
}
.contact .contactDetails .button span {
  transition: none !important;
}
.contact .contactDetails .button svg {
  transition: none !important;
}
[data-view=list] .contact {
  width: 100%;
}
[data-view=list] .contact .contactCard {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
[data-view=list] .contact .contactCard:hover {
  background: #ffffff;
}
[data-theme=dark] [data-view=list] .contact .contactCard:hover {
  background: rgba(255, 255, 255, 0.05);
}
[data-view=list] .contact .contactCard:hover .name {
  text-decoration: underline;
}
[data-view=list] .contact .contactCard:hover .contactDetails {
  opacity: 1 !important;
}
[data-view=list] .contact .contactCard .frame {
  display: none;
}
[data-view=list] .contact .contactCard .image {
  display: none;
}
[data-view=list] .contact .contactCard .text {
  position: relative;
  display: flex;
  line-height: 1.1;
  width: 100%;
  padding: 0.3em 0.75em 0.5em 2em;
}
@media (max-width: 748px) {
  [data-view=list] .contact .contactCard .text {
    flex-direction: column;
    justify-content: flex-start;
  }
}
@media (min-width: 749px) {
  [data-view=list] .contact .contactCard .text {
    justify-content: flex-end;
    align-items: baseline;
  }
}
[data-view=list] .contact .contactCard .text .clickArea {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
[data-view=list] .contact .contactCard .text .name {
  position: relative;
  z-index: 1;
  pointer-events: none;
  text-underline-offset: 0.3em;
  font-weight: 400;
}
@media (max-width: 748px) {
  [data-view=list] .contact .contactCard .text .name {
    margin-bottom: 0.3em;
    font-size: 0.9em;
  }
}
@media (min-width: 749px) {
  [data-view=list] .contact .contactCard .text .name {
    width: 40%;
    font-size: 0.8em;
  }
}
[data-view=list] .contact .contactCard .text .role {
  position: relative;
  z-index: 1;
  pointer-events: none;
  font-size: 0.6em;
}
@media (min-width: 749px) {
  [data-view=list] .contact .contactCard .text .role {
    margin-left: auto;
    width: 40%;
  }
}
[data-theme=dark] [data-view=list] .contact .contactCard .text .role {
  opacity: 0.7;
}
[data-view=list] .contact .contactCard .text .contactDetails {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-left: 0.5em;
  font-size: 0.8em;
  -webkit-transform: translateY(0.25em);
          transform: translateY(0.25em);
  opacity: 0;
  width: 5em;
}
@media (max-width: 748px) {
  [data-view=list] .contact .contactCard .text .contactDetails {
    display: none;
  }
}
[data-view=list] .contact .contactCard .text .contactDetails .button {
  margin: 0;
  margin-left: 0.5em;
  opacity: 0.5;
}
[data-view=list] .contact .contactCard .text .contactDetails .button span {
  display: none;
}
[data-view=list] .contact .contactCard .text .contactDetails .button svg {
  margin: 0;
}
@media (hover: hover) and (pointer: fine) {
  [data-view=list] .contact .contactCard .text .contactDetails .button:hover {
    opacity: 1;
  }
}
@media (max-width: 748px) {
  [data-view=card] .contact {
    width: 100%;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  [data-view=card] .contact {
    width: calc(33.333333% - 0.85vw);
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  [data-view=card] .contact {
    width: calc(33.333333% - 0.85vw);
  }
}
@media (min-width: 1101px) {
  [data-view=card] .contact {
    width: calc(33.333333% - 0.68em);
  }
}
[data-view=card] .contact .contactCard {
  display: flex;
  width: 100%;
  height: 100%;
  border-radius: 0.1em;
}
@media (max-width: 748px) {
  [data-view=card] .contact .contactCard {
    background: #ffffff;
  }
  [data-theme=dark] [data-view=card] .contact .contactCard {
    background: rgba(255, 255, 255, 0.05);
  }
}
@media (min-width: 749px) {
  [data-view=card] .contact .contactCard {
    flex-direction: column;
    background: #262626;
    color: #ffffff;
  }
}
[data-view=card] .contact .contactCard .frame {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  box-shadow: inset 0 0 0 1em rgba(255, 255, 255, 0.95);
}
@media (max-width: 748px) {
  [data-view=card] .contact .contactCard .frame {
    display: none;
  }
}
[data-view=card] .contact .contactCard .frame img {
  width: 100%;
  height: 100%;
}
[data-view=card] .contact .contactCard .image {
  position: relative;
}
[data-view=card] .contact .contactCard .image:hover svg.icon-info {
  opacity: 1;
}
@media (max-width: 748px) {
  [data-view=card] .contact .contactCard .image {
    width: 35% !important;
    background: #262626;
  }
}
@media (min-width: 749px) {
  [data-view=card] .contact .contactCard .image {
    aspect-ratio: 1/1;
  }
  [data-view=card] .contact .contactCard .image:after {
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 75%;
    content: "";
    background-image: linear-gradient(to top, hsl(0deg, 0%, 15%) 0%, hsla(0deg, 0%, 15%, 0.738) 19%, hsla(0deg, 0%, 15%, 0.541) 34%, hsla(0deg, 0%, 15%, 0.382) 47%, hsla(0deg, 0%, 15%, 0.278) 56.5%, hsla(0deg, 0%, 15%, 0.194) 65%, hsla(0deg, 0%, 15%, 0.126) 73%, hsla(0deg, 0%, 15%, 0.075) 80.2%, hsla(0deg, 0%, 15%, 0.042) 86.1%, hsla(0deg, 0%, 15%, 0.021) 91%, hsla(0deg, 0%, 15%, 0.008) 95.2%, hsla(0deg, 0%, 15%, 0.002) 98.2%, hsla(0deg, 0%, 15%, 0) 100%);
  }
}
[data-view=card] .contact .contactCard .image svg.icon-info {
  position: absolute;
  top: 0.3em;
  left: 0.3em;
  width: 1em;
  height: 1em;
  opacity: 0;
  transition: all 0.15s ease-in-out 0s;
}
[data-view=card] .contact .contactCard .image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
}
[data-view=card] .contact .contactCard .image img[src$=".svg"] {
  opacity: 0.1;
}
[data-view=card] .contact .contactCard .image .label {
  position: absolute;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background: #1A1A1A;
  color: #ffffff;
  padding: 0.3em 0.5em 0.3em 0.5em;
}
@media (max-width: 748px) {
  [data-view=card] .contact .contactCard .image .label {
    top: 0;
    width: 100%;
  }
}
@media (min-width: 749px) {
  [data-view=card] .contact .contactCard .image .label {
    top: 0.3em;
    border-radius: 2em 0 0 2em;
  }
}
[data-view=card] .contact .contactCard .image .label .emoticon {
  font-size: 0.6em;
  margin: 0 0.4em -0.1em -0.4em;
}
[data-view=card] .contact .contactCard .image .label .date {
  font-size: 0.5em;
  font-weight: 500;
}
[data-view=card] .contact .contactCard .text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  line-height: 1.1;
}
@media (max-width: 748px) {
  [data-view=card] .contact .contactCard .text {
    padding: 1em;
    width: 65% !important;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  [data-view=card] .contact .contactCard .text {
    font-size: 0.9em;
  }
}
@media (min-width: 749px) {
  [data-view=card] .contact .contactCard .text {
    margin-top: -20%;
    padding: 1em;
  }
}
[data-view=card] .contact .contactCard .text .clickArea {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
[data-view=card] .contact .contactCard .text .name {
  position: relative;
  z-index: 3;
  pointer-events: none;
  text-underline-offset: 0.3em;
  margin-bottom: 0.2em;
  font-weight: 500;
}
@media (max-width: 748px) {
  [data-view=card] .contact .contactCard .text .name {
    font-size: 1em;
  }
}
@media (min-width: 749px) {
  [data-view=card] .contact .contactCard .text .name {
    font-size: 0.8em;
  }
}
@media (hover: hover) and (pointer: fine) {
  [data-view=card] .contact .contactCard .text .name:hover {
    text-decoration: underline;
  }
}
[data-view=card] .contact .contactCard .text .role {
  position: relative;
  z-index: 3;
  pointer-events: none;
  opacity: 0.7;
  font-size: 0.6em;
  margin-bottom: 0.5em;
  font-weight: 400;
}
[data-view=card] .contact .contactCard .text .celebration {
  position: relative;
  z-index: 3;
  pointer-events: none;
  font-size: 0.6em;
  margin-bottom: 0.5em;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 400;
}
[data-view=card] .contact .contactCard .text .celebration .emoticon {
  font-size: 0.9em;
  margin-left: 0.2em;
}
[data-view=card] .contact .contactCard .text .contactDetails {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  margin-top: auto;
}
@media (max-width: 748px) {
  [data-view=card] .contact .contactCard .text .contactDetails {
    font-size: 0.75em;
  }
}
@media (min-width: 749px) {
  [data-view=card] .contact .contactCard .text .contactDetails {
    font-size: 0.65em;
  }
}
[data-view=card] .contact .contactCard .text .contactDetails .button {
  pointer-events: auto;
  font-weight: 300;
}
[data-view=card] .contact .contactCard .text .contactDetails .button:first-child {
  margin-right: auto;
}
[data-view=card] .contact .contactCard .text .contactDetails .button:not(:first-child) {
  margin-left: 0.5em;
}
@media (max-width: 748px) {
  [data-view=card] .contact .contactCard .text .contactDetails .button {
    margin-top: 0.5em;
  }
}
@media (min-width: 749px) {
  [data-view=card] .contact .contactCard .text .contactDetails .button {
    margin-top: 0.25em;
  }
}
[data-view=card] .contact .contactCard .text .contactDetails .button span {
  opacity: 0.8;
}
[data-view=card] .contact .contactCard .text .contactDetails .button svg {
  opacity: 0.4;
  margin-right: 0;
  font-size: 1.2em;
}
[data-view=card] .contact .contactCard .text .contactDetails .button svg:not(.icon-phone) + span {
  display: none;
}
[data-view=card] .contact .contactCard .text .contactDetails .button svg.icon-phone {
  display: none;
}

.searchResultsBlock .block {
  margin-left: auto;
  margin-right: auto;
  max-width: 55ch;
}
[data-theme=dark] .searchResultsBlock strong {
  color: white !important;
}

.searchform input {
  border-color: #e6e6e6 !important;
}
[data-theme=dark] .searchform input {
  border-color: #333333 !important;
}
@media (max-width: 748px) {
  .searchform .button {
    display: none;
  }
}

.searchResults {
  margin-bottom: 4em;
}
.searchResults .searchResult {
  display: block;
  font-size: 0.9em;
  margin-bottom: 2em;
}
@media (hover: hover) and (pointer: fine) {
  .searchResults .searchResult:hover h3 {
    text-decoration: underline;
  }
}
.searchResults .searchResult h3 {
  margin-bottom: 0.3em;
}
.searchResults .searchResult p {
  margin-bottom: 0.5em;
  line-height: 1.4;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
}
.searchResults .searchResult .siteStructure {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 !important;
}
.searchResults .searchResult .siteStructure li {
  display: flex;
  align-items: center;
  font-size: 0.9em;
  line-height: 1;
  margin-bottom: 0.5em;
  color: gray;
}
.searchResults .searchResult .siteStructure li:last-child svg.icon-chevron-right {
  display: none;
}
.searchResults .searchResult .siteStructure li svg.icon-chevron-right {
  width: 0.8em;
  height: 0.8em;
  margin: 0.1em 0.5em 0 0.3em;
}

.bookShelf {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 4em;
  background-image: url("/img/bookshelf-wood-patern.png");
  background-size: contain;
  background-size: 100% 20em;
}
.bookShelf .object {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0 1em;
  height: 15em;
  width: 10em;
  margin-bottom: 5em;
}
.bookShelf .object.is-book:hover .image {
  -webkit-transform: scale(1.025);
          transform: scale(1.025);
}
.bookShelf .object.is-book .image {
  width: 100%;
  box-shadow: 0 0.1em 1em rgba(0, 0, 0, 0.3);
}
.bookShelf .object.is-item .image {
  width: 65%;
  height: 65%;
  -webkit-filter: drop-shadow(0 0.5em 1em rgba(0, 0, 0, 0.5));
          filter: drop-shadow(0 0.5em 1em rgba(0, 0, 0, 0.5));
}
.bookShelf .object .image {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  transition: all 0.15s ease-in-out 0s;
}
.bookShelf .object .image a {
  z-index: 100;
}
.bookShelf .object .image a img {
  position: relative;
  margin-left: 0 !important;
}
.bookShelf .object .image a .coverFallback {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #1a1a1a;
  background-image: radial-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  border: 1px solid rgba(255, 255, 255, 0.05);
  color: #ffffff;
  line-height: 1.2;
  padding: 1em;
  width: 100%;
  height: 14em;
}
.bookShelf .object .image a .coverFallback .coverTitle {
  opacity: 0.7;
  margin-bottom: 0.5em;
  font-weight: 500;
}
.bookShelf .object .image a .coverFallback .coverExtension {
  opacity: 0.3;
  font-size: 0.8em;
}
.bookShelf .object .text {
  position: absolute;
  z-index: 3;
  top: 100%;
  width: 100%;
  text-align: center;
  padding-top: 1.2em;
  line-height: 1.3;
}
.bookShelf .object .text .title {
  display: block;
  font-size: 0.65em;
  color: rgba(0, 0, 0, 0.7);
  font-weight: 500;
}
[data-theme=dark] .bookShelf .object .text .title {
  color: rgba(255, 255, 255, 0.7);
}
.bookShelf .object .text .title:hover {
  text-decoration: underline;
}
.bookShelf .object .text .archive {
  display: block;
  font-size: 0.55em;
  color: rgba(0, 0, 0, 0.5);
  margin-top: 0.3em;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
[data-theme=dark] .bookShelf .object .text .archive {
  color: rgba(255, 255, 255, 0.7);
}
.bookShelf .shelf {
  position: absolute;
  top: 100%;
  z-index: 1;
  box-shadow: 0 1em 1.5em -0.5em rgba(0, 0, 0, 0.5);
  margin-top: -0.2em;
}
.bookShelf .shelf .top {
  opacity: 0.5;
  width: 100%;
  height: 0.5em;
}
.bookShelf .shelf .front {
  height: 1.2em;
}

.offline {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100vh;
  background: #1A1A1A;
  color: #ffffff;
  padding: 5vw;
}
.offline .logo {
  max-width: 8rem;
  margin: auto;
}
.offline p {
  text-align: center;
  max-width: 50ch;
  margin-top: 1em;
  opacity: 0.6;
  font-size: 0.7em;
  line-height: 1.3;
}

.login {
  position: relative;
  width: 100%;
  height: 100vh;
}
@media (min-width: 961px) {
  .login {
    display: flex;
  }
}
.login .logo {
  position: absolute;
  z-index: 10;
  max-width: 8rem;
  margin: auto;
}
@media (max-width: 748px) {
  .login .logo {
    padding: 0 1em 0 1em;
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  .login .logo {
    padding: 0 1em 0 1em;
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  .login .logo {
    padding: 1em 1em 0 1em;
  }
}
@media (min-width: 1101px) {
  .login .logo {
    padding: 1em 1em 0 1em;
  }
}
.login .visual {
  height: 100%;
}
@media (min-width: 961px) {
  .login .visual {
    width: 50%;
  }
}
.login .visual figure,
.login .visual .media {
  height: 100%;
  width: 100%;
}
.login .visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.login .window {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5vw;
  margin: auto;
}
@media (max-width: 960px) {
  .login .window {
    position: absolute;
    top: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
  }
}
@media (min-width: 961px) {
  .login .window {
    width: 50%;
  }
}
.login .window .block {
  background: #F6F6F6;
  color: #1A1A1A;
}
@media (max-width: 960px) {
  .login .window .block {
    border-radius: 0.1em;
    padding: 3.75vw 6.25vw 5vw;
    width: 95vw;
    max-width: 20em;
  }
}
@media (min-width: 961px) {
  .login .window .block {
    width: 45vw;
    max-width: 17em;
  }
}
.login .window .block p {
  font-size: 0.8em;
  max-width: 35ch;
}
.login .window .block h2 {
  margin-bottom: 0.2em;
}
.login .window .block label {
  margin: 0 0 -0.1em;
  font-size: 0.8em;
}
.login .window .block .tools {
  display: flex;
  align-items: center;
  width: 100%;
  margin-top: 1.3em;
  font-size: 0.8em;
  justify-content: space-between;
}
.login .window .block .tools .button {
  font-size: 0.7em;
}
.login .window .block .submitButton {
  margin-top: 0.5em;
  width: 100%;
}

.toolButton {
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  vertical-align: bottom;
  flex: 0 0 auto;
  margin: 0;
  border: none;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background: transparent;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  opacity: 0.5;
  font-size: 0.75em;
  line-height: 1;
  color: #000000;
  font-weight: 500;
  border-radius: 0.3rem;
  transition: all 0.15s ease-in-out 0s;
}
.toolButton:hover {
  opacity: 1;
}
.toolButton:hover span {
  display: block;
}
.toolButton svg {
  width: 2rem;
  height: 2rem;
}
.toolButton span {
  display: none;
  color: #000000;
  padding: 0 0.5rem;
}

.editPageLink {
  position: fixed;
  left: 0.5rem;
  bottom: 0.5rem;
  z-index: 130;
  background: #ffffff;
  color: #E5422B;
}

.devtoolsMenu {
  position: fixed;
  z-index: 120;
  bottom: 3.25rem;
  left: 0.5rem;
  display: flex;
  flex-direction: column;
  opacity: 0;
}
.devtoolsMenu:hover {
  opacity: 1;
}
.devtoolsMenu * {
  outline: 0 !important;
}

[data-wireframe] *:not(.devtoolsMenu, .devtoolsMenu *, .currentMQ, *.gridLine) {
  outline: solid 1px blue !important;
}
[data-wireframe]:before, [data-wireframe]:after {
  position: fixed;
  z-index: 120;
  left: 0;
  top: 0;
  display: block;
  pointer-events: none;
  content: "";
}
[data-wireframe]:before {
  height: 100vh;
  width: 50%;
  border-right: 2px dashed darkred;
}
[data-wireframe]:after {
  height: 50vh;
  width: 100%;
  border-bottom: 2px dashed darkred;
}
[data-wireframe] figure:after {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  height: 50%;
  width: 100%;
  border-bottom: 1px solid yellow;
  pointer-events: none;
  content: "";
}

[data-gridview] .gridView {
  display: block;
  position: fixed;
  z-index: 121;
  top: 0;
  height: 100vh;
  width: 100%;
  pointer-events: none;
}
@media (min-width: 749px) {
  [data-gridview] .gridView {
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
[data-gridview] .gridView .currentMQ {
  position: absolute;
  z-index: 1;
  background: #000000;
  color: #ffffff;
  bottom: 0.5rem;
  left: 3em;
  padding: 0.4em 1em 0.5em;
  opacity: 100;
}
@media (max-width: 748px) {
  [data-gridview] .gridView .currentMQ:before {
    content: "Mini";
  }
}
@media (max-width: 340px) {
  [data-gridview] .gridView .currentMQ:before {
    content: "Tiny";
  }
}
@media (min-width: 749px) and (max-width: 960px) {
  [data-gridview] .gridView .currentMQ:before {
    content: "Small";
  }
}
@media (min-width: 961px) and (max-width: 1100px) {
  [data-gridview] .gridView .currentMQ:before {
    content: "Medium";
  }
}
@media (min-width: 1101px) {
  [data-gridview] .gridView .currentMQ:before {
    content: "Large";
  }
}
[data-gridview] .gridView .container {
  display: flex;
  height: 100%;
}
@media (max-width: 748px) {
  [data-gridview] .gridView .container {
    outline: 1px solid red;
    margin: 0 5vw;
  }
}
@media (min-width: 749px) and (max-width: 1100px) {
  [data-gridview] .gridView .container {
    gap: 0 5vw;
  }
  [data-gridview] .gridView .container .gridLine.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    [data-gridview] .gridView .container {
      justify-content: space-between;
    }
    [data-gridview] .gridView .container .gridLine {
      margin-bottom: 0;
      margin-right: 5vw;
    }
  }
}
@media (min-width: 1101px) {
  [data-gridview] .gridView .container {
    gap: 0 4em;
  }
  [data-gridview] .gridView .container .gridLine.gapFallback {
    margin-bottom: 0;
    opacity: 0;
    pointer-events: none;
  }
  @supports not (aspect-ratio: 1/1) {
    [data-gridview] .gridView .container {
      justify-content: space-between;
    }
    [data-gridview] .gridView .container .gridLine {
      margin-bottom: 0;
      margin-right: 4em;
    }
  }
}
[data-gridview] .gridView .container .gridLine {
  height: 100%;
  flex-grow: 1;
  outline: 1px solid red;
}
[data-gridview] .gridView .container .gridLine:last-child {
  margin-right: 0;
}
@media (max-width: 748px) {
  [data-gridview] .gridView .container .gridLine {
    outline: none;
  }
}

div[id^=ck] {
  display: none !important;
}
