@charset "UTF-8";@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-container-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform,-webkit-transform;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide,.swiper-wrapper {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.swiper-container-multirow>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-container-multirow-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-container-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-container-pointer-events {
    touch-action: pan-y
}

.swiper-container-pointer-events.swiper-container-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform,-webkit-transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: height,-webkit-transform;
    transition-property: transform,height;
    transition-property: transform,height,-webkit-transform
}

.swiper-container-3d {
    -webkit-perspective: 1200px;
    perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg,rgba(0,0,0,.5),transparent)
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg,rgba(0,0,0,.5),transparent)
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg,rgba(0,0,0,.5),transparent)
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg,rgba(0,0,0,.5),transparent)
}

.swiper-container-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-container-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper {
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory
}

.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper {
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 27px;
    width: calc(var(--swiper-navigation-size)/44*27);
    height: 44px;
    height: var(--swiper-navigation-size);
    margin-top: -22px;
    margin-top: calc(var(--swiper-navigation-size)*-1/2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-theme-color);
    color: var(--swiper-navigation-color,var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next:after,.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: 44px;
    font-size: var(--swiper-navigation-size);
    text-transform: none!important;
    letter-spacing: 0;
    text-transform: none;
    -webkit-font-feature-settings: normal,;
    font-feature-settings: normal,;
    font-variant: normal;
    line-height: 1
}

.swiper-button-prev,.swiper-container-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,.swiper-container-rtl .swiper-button-prev {
    right: 10px;
    left: auto
}

.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white {
    --swiper-navigation-color: #fff
}

.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black {
    --swiper-navigation-color: #000
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: opacity .3s;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transform: scale(.33);
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    -webkit-transform: scale(.66);
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    -webkit-transform: scale(.33);
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    -webkit-transform: scale(.66);
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    -webkit-transform: scale(.33);
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    background: #000;
    opacity: .2
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--swiper-theme-color);
    background: var(--swiper-pagination-color,var(--swiper-theme-color))
}

.swiper-container-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    -webkit-transform: translate3d(0,-50%,0);
    transform: translate3d(0,-50%,0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: top .2s,-webkit-transform .2s;
    transition: transform .2s,top .2s;
    transition: transform .2s,top .2s,-webkit-transform .2s
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: left .2s,-webkit-transform .2s;
    transition: transform .2s,left .2s;
    transition: transform .2s,left .2s,-webkit-transform .2s
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: right .2s,-webkit-transform .2s;
    transition: transform .2s,right .2s;
    transition: transform .2s,right .2s,-webkit-transform .2s
}

.swiper-pagination-progressbar {
    background: rgba(0,0,0,.25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-theme-color);
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-white {
    --swiper-pagination-color: #fff
}

.swiper-pagination-black {
    --swiper-pagination-color: #000
}

.swiper-pagination-lock {
    display: none
}

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

:after,:before {
    text-decoration: inherit;
    vertical-align: inherit
}

html {
    cursor: default;
    line-height: 1.5;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%;
    word-break: break-word
}

body {
    margin: 0
}

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

dl dl,dl ol,dl ul,ol dl,ol ol,ol ul,ul dl,ul ol,ul ul {
    margin: 0
}

hr {
    color: inherit;
    height: 0;
    overflow: visible
}

main {
    display: block
}

nav ol,nav ul {
    list-style: none;
    padding: 0
}

nav li:before {
    content: "\200B"
}

pre {
    font-family: monospace,monospace;
    font-size: 1em;
    overflow: auto;
    -ms-overflow-style: scrollbar
}

a {
    background-color: transparent
}

abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,strong {
    font-weight: bolder
}

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

small {
    font-size: 80%
}

audio,canvas,iframe,img,svg,video {
    vertical-align: middle
}

audio,video {
    display: inline-block
}

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

iframe,img {
    border-style: none
}

svg:not([fill]) {
    fill: currentColor
}

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

table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0
}

button,input,select {
    margin: 0
}

button {
    text-transform: none
}

[type=button],[type=reset],[type=submit],button {
    -webkit-appearance: button
}

fieldset {
    border: 1px solid #a0a0a0;
    padding: .35em .75em .625em
}

input {
    overflow: visible
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

select {
    text-transform: none
}

textarea {
    margin: 0;
    overflow: auto;
    resize: vertical
}

[type=checkbox],[type=radio] {
    padding: 0
}

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

::-webkit-inner-spin-button,::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

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

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

:-moz-focusring {
    outline: 1px dotted ButtonText
}

:-moz-ui-invalid {
    box-shadow: none
}

details,dialog {
    display: block
}

dialog {
    background-color: #fff;
    border: solid;
    color: #000;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content
}

dialog:not([open]) {
    display: none
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

[tabindex],a,area,button,input,label,select,summary,textarea {
    -ms-touch-action: manipulation
}

[hidden] {
    display: none
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled=true],[disabled] {
    cursor: not-allowed
}

[aria-hidden=false][hidden] {
    display: inline;
    display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0,0,0,0);
    position: absolute
}

button,input,select,textarea {
    background-color: transparent;
    border: 1px solid WindowFrame;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    padding: .25em .375em
}

select {
    -moz-appearance: none;
    -webkit-appearance: none;
    background: no-repeat 100%/1em;
    border-radius: 0;
    padding-right: 1em
}

select:not([multiple]):not([size]) {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E")
}

[type=color],[type=range] {
    border-width: 0;
    padding: 0
}

::-ms-expand {
    display: none
}

:-ms-input-placeholder {
    color: rgba(0,0,0,.54)
}

@font-face {
    font-family: RandMono;
    src: url(/site/templates/assets/dist/fonts/Rand-Mono-Regular.woff2?4812c360) format("woff2"),url(/site/templates/assets/dist/fonts/Rand-Mono-Regular.woff?876977cb) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: RandMono;
    src: url(/site/templates/assets/dist/fonts/Rand-Mono-Regular.woff2?4812c360) format("woff2"),url(/site/templates/assets/dist/fonts/Rand-Mono-Regular.woff?876977cb) format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: RandMono;
    src: url(/site/templates/assets/dist/fonts/Rand-Mono-Italic.woff2?78496608) format("woff2"),url(/site/templates/assets/dist/fonts/Rand-Mono-Italic.woff?f44b3a93) format("woff");
    font-weight: 400;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: RandMono;
    src: url(/site/templates/assets/dist/fonts/Rand-Mono-Italic.woff2?78496608) format("woff2"),url(/site/templates/assets/dist/fonts/Rand-Mono-Italic.woff?f44b3a93) format("woff");
    font-weight: 700;
    font-style: italic;
    font-display: swap
}

.FormBuilder .alert {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-decoration: none;
    text-align: inherit;
    display: block;
    width: 100%;
    padding: .2em .25em .1em;
    line-height: 1;
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    transition: border-color .25s,background-color .25s,color .25s;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .FormBuilder .alert {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .FormBuilder .alert {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .FormBuilder .alert {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .FormBuilder .alert {
        font-size:15px
    }
}

.FormBuilder .alert:focus {
    outline: 0
}

.FormBuilder .alert::-moz-focus-outer {
    border: 0
}

.FormBuilder .alert::-webkit-input-placeholder {
    line-height: 1
}

.FormBuilder .alert:-ms-input-placeholder {
    line-height: 1
}

.FormBuilder .alert::placeholder {
    line-height: 1
}

.FormBuilder .alert+.alert {
    margin-top: .75em
}

.FormBuilder .alert-error,.FormBuilder .alert-success {
    --color-text: var(--color-error);
    --color-border: var(--color-error);
    color: var(--color-error)
}

.FormBuilder .alert-success {
    --color-error: var(--color-highlight)
}

.FormBuilderErrors {
    margin-bottom: 3.75em
}

.FormBuilder.InputfieldForm {
    counter-reset: fieldset
}

.FormBuilder.InputfieldForm input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range]),.FormBuilder.InputfieldForm select:not([multiple]),.FormBuilder.InputfieldForm textarea {
    max-width: 100%;
    width: 100%
}

.FormBuilder.InputfieldForm input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range]),.FormBuilder.InputfieldForm select,.FormBuilder.InputfieldForm textarea {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-decoration: none;
    text-align: inherit;
    display: block;
    width: 100%;
    padding: .2em .25em .1em;
    line-height: 1;
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    transition: border-color .25s,background-color .25s,color .25s
}

.FormBuilder.InputfieldForm input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range]):focus,.FormBuilder.InputfieldForm select:focus,.FormBuilder.InputfieldForm textarea:focus {
    outline: 0
}

.FormBuilder.InputfieldForm input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range])::-moz-focus-outer,.FormBuilder.InputfieldForm select::-moz-focus-outer,.FormBuilder.InputfieldForm textarea::-moz-focus-outer {
    border: 0
}

.FormBuilder.InputfieldForm input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range])::-webkit-input-placeholder,.FormBuilder.InputfieldForm select::-webkit-input-placeholder,.FormBuilder.InputfieldForm textarea::-webkit-input-placeholder {
    line-height: 1
}

.FormBuilder.InputfieldForm input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range]):-ms-input-placeholder,.FormBuilder.InputfieldForm select:-ms-input-placeholder,.FormBuilder.InputfieldForm textarea:-ms-input-placeholder {
    line-height: 1
}

.FormBuilder.InputfieldForm input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range])::placeholder,.FormBuilder.InputfieldForm select::placeholder,.FormBuilder.InputfieldForm textarea::placeholder {
    line-height: 1
}

.FormBuilder.InputfieldForm select {
    cursor: pointer
}

.FormBuilder.InputfieldForm textarea {
    height: auto
}

.FormBuilder.InputfieldForm .InputfieldContent .InputfieldSelect {
    position: relative
}

.FormBuilder.InputfieldForm .InputfieldContent .InputfieldSelect:after {
    content: "\2193";
    position: absolute;
    top: 50%;
    right: 0;
    padding: 0 .5em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.FormBuilder.InputfieldForm .InputfieldContent .InputfieldSelect select {
    padding-right: 1.5em
}

.FormBuilder.InputfieldForm select:not([multiple]):not([size])::-ms-expand {
    display: none
}

.FormBuilder.InputfieldForm input[type=file] {
    line-height: 1
}

.FormBuilder.InputfieldForm .InputfieldSubmit {
    margin-top: 0!important
}

.FormBuilder.InputfieldForm .InputfieldSubmit:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.FormBuilder.InputfieldForm .InputfieldSubmit .InputfieldContent {
    display: flex
}

.FormBuilder.InputfieldForm .InputfieldSubmit:not(.InputfieldSubmitPrev):not(.InputfieldSubmitNext) button {
    display: inline-block;
    padding: .3em .25em .225em;
    line-height: .75;
    color: var(--color-text);
    background-color: var(--color-bg);
    border-color: var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    transition: opacity .25s,border-color .25s,background-color .25s,color .25s;
    text-transform: uppercase;
    background-color: var(--color-text);
    border: 1px solid var(--color-text);
    color: var(--color-bg)
}

.FormBuilder.InputfieldForm .InputfieldSubmitNext .InputfieldContent:after,.FormBuilder.InputfieldForm .InputfieldSubmitNext .InputfieldContent:before,.FormBuilder.InputfieldForm .InputfieldSubmitPrev .InputfieldContent:after,.FormBuilder.InputfieldForm .InputfieldSubmitPrev .InputfieldContent:before {
    display: inline-block;
    width: 2.7rem;
    -webkit-transform: scale(1.25);
    transform: scale(1.25)
}

.FormBuilder.InputfieldForm .InputfieldSubmitNext .InputfieldContent:before,.FormBuilder.InputfieldForm .InputfieldSubmitPrev .InputfieldContent:before {
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%
}

.FormBuilder.InputfieldForm .InputfieldSubmitNext .InputfieldContent:after,.FormBuilder.InputfieldForm .InputfieldSubmitPrev .InputfieldContent:after {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    text-align: right
}

.FormBuilder.InputfieldForm .InputfieldSubmitNext button,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button {
    text-transform: uppercase;
    background-image: linear-gradient(var(--color-text),var(--color-text));
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.FormBuilder.InputfieldForm .InputfieldSubmitNext button::selection,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button::selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

.FormBuilder.InputfieldForm .InputfieldSubmitNext button::-moz-selection,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button::-moz-selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

@media (hover: hover) {
    .FormBuilder.InputfieldForm .InputfieldSubmitNext button:hover,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.FormBuilder.InputfieldForm .InputfieldSubmitNext button *,.FormBuilder.InputfieldForm .InputfieldSubmitNext button:after,.FormBuilder.InputfieldForm .InputfieldSubmitNext button :after,.FormBuilder.InputfieldForm .InputfieldSubmitNext button:before,.FormBuilder.InputfieldForm .InputfieldSubmitNext button :before,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button *,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button:after,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button :after,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button:before,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button :before {
    text-shadow: none
}

.FormBuilder.InputfieldForm .InputfieldSubmitNext button:visited,.FormBuilder.InputfieldForm .InputfieldSubmitPrev button:visited {
    color: var(--color-text)
}

.FormBuilder.InputfieldForm .InputfieldSubmitPrev .InputfieldContent {
    justify-content: flex-start
}

.FormBuilder.InputfieldForm .InputfieldSubmitPrev .InputfieldContent:before {
    content: "\2190"
}

.FormBuilder.InputfieldForm .InputfieldSubmitNext .InputfieldContent:after {
    content: "\2192"
}

.FormBuilder.InputfieldForm .InputfieldSubmitPrev,.FormBuilder.InputfieldForm .InputfieldSubmitPrev+.InputfieldSubmit {
    display: inline-block;
    width: 50%
}

.FormBuilder.InputfieldForm .InputfieldSubmitPrev+.InputfieldSubmit .InputfieldContent {
    display: flex;
    justify-content: flex-end
}

.FormBuilder.InputfieldForm .Inputfield .InputfieldHeader {
    display: block;
    font-weight: 600;
    padding-bottom: .25em
}

.FormBuilder.InputfieldForm .Inputfield {
    margin-bottom: var(--form-spacing)
}

.FormBuilder.InputfieldForm .Inputfield_referral_source,.FormBuilder.InputfieldForm .InputfieldFormBuilderFile+.Inputfield,.FormBuilder.InputfieldForm .InputfieldMarkupCKEditor+.Inputfield,.FormBuilder.InputfieldForm .InputfieldPage+.Inputfield,.FormBuilder.InputfieldForm .InputfieldTextarea+.Inputfield {
    margin-top: calc(var(--form-spacing)*2)
}

.FormBuilder.InputfieldForm .InputfieldCheckbox.InputfieldStateRequired .InputfieldHeader {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.FormBuilder.InputfieldForm .InputfieldCheckbox.InputfieldStateRequired .InputfieldContent label span:last-child:after {
    color: var(--color-highlight);
    content: "*";
    padding-left: .25em
}

.FormBuilder.InputfieldForm .description,.FormBuilder.InputfieldForm .input-error,.FormBuilder.InputfieldForm .notes {
    margin-bottom: 1em;
    margin-top: 0
}

.FormBuilder.InputfieldForm .description+.notes {
    margin-top: -1em
}

.FormBuilder.InputfieldForm .description,.FormBuilder.InputfieldForm .notes {
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .FormBuilder.InputfieldForm .description,.FormBuilder.InputfieldForm .notes {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .FormBuilder.InputfieldForm .description,.FormBuilder.InputfieldForm .notes {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .FormBuilder.InputfieldForm .description,.FormBuilder.InputfieldForm .notes {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .FormBuilder.InputfieldForm .description,.FormBuilder.InputfieldForm .notes {
        font-size:15px
    }
}

.FormBuilder.InputfieldForm .input-error {
    color: var(--color-error);
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em;
    margin-top: -.5em
}

@media screen and (min-width: 1920px) {
    .FormBuilder.InputfieldForm .input-error {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .FormBuilder.InputfieldForm .input-error {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .FormBuilder.InputfieldForm .input-error {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .FormBuilder.InputfieldForm .input-error {
        font-size:15px
    }
}

.FormBuilder.InputfieldForm fieldset.InputfieldFieldset[class*=Inputfield_page_] {
    counter-increment: fieldset;
    margin-bottom: 0
}

.FormBuilder.InputfieldForm fieldset.InputfieldFieldset[class*=Inputfield_page_]:not(:last-child) {
    margin-bottom: 3.75em
}

.FormBuilder.InputfieldForm fieldset.InputfieldFieldset[class*=Inputfield_page_] legend {
    display: flex;
    align-items: baseline;
    margin-bottom: 1.25em;
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em;
    text-transform: uppercase
}

@media screen and (min-width: 1920px) {
    .FormBuilder.InputfieldForm fieldset.InputfieldFieldset[class*=Inputfield_page_] legend {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .FormBuilder.InputfieldForm fieldset.InputfieldFieldset[class*=Inputfield_page_] legend {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .FormBuilder.InputfieldForm fieldset.InputfieldFieldset[class*=Inputfield_page_] legend {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .FormBuilder.InputfieldForm fieldset.InputfieldFieldset[class*=Inputfield_page_] legend {
        font-size:30px
    }
}

.FormBuilder.InputfieldForm fieldset.InputfieldFieldset[class*=Inputfield_page_] legend:before {
    content: counter(fieldset) " \2014   ";
    white-space: nowrap;
    padding-right: .75em
}

.FormBuilder.InputfieldForm fieldset.InputfieldFieldset[class*=Inputfield_page_] .Inputfields {
    display: grid;
    grid-gap: 14px;
    grid-gap: var(--grid-gutter)
}

.FormBuilder.InputfieldForm fieldset.InputfieldFieldset:not([class*=Inputfield_page_]) {
    margin-bottom: 0
}

.FormBuilder.InputfieldForm fieldset.InputfieldFieldset:not([class*=Inputfield_page_]) legend {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

@media print,screen and (min-width: 30.0625em) {
    .FormBuilder.InputfieldForm fieldset.InputfieldFieldset:not([class*=Inputfield_page_]) .Inputfields {
        display:grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 14px;
        grid-gap: var(--grid-gutter)
    }

    .FormBuilder.InputfieldForm fieldset.InputfieldFieldset:not([class*=Inputfield_page_]) .Inputfield:not(.InputfieldColumnWidth) {
        grid-column-end: span 2
    }
}

.FormBuilder.InputfieldForm fieldset.InputfieldFieldset:not([class*=Inputfield_page_]) .Inputfield {
    width: 100%!important;
    margin-top: 0!important
}

.FormBuilder.InputfieldForm .InputfieldFormBuilderFileList li+li {
    margin-top: .5em
}

.FormBuilder.InputfieldForm input[type=checkbox],.FormBuilder.InputfieldForm input[type=radio] {
    accent-color: var(--color-highlight)
}

.FormBuilder.InputfieldForm input[type=file] {
    width: 100%;
    padding: 0;
    border: none;
    cursor: pointer
}

.FormBuilder.InputfieldForm input[type=file]::-webkit-file-upload-button {
    display: inline-block;
    padding: .3em .25em .225em;
    line-height: .75;
    color: var(--color-text);
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    -webkit-transition: opacity .25s,border-color .25s,background-color .25s,color .25s;
    transition: opacity .25s,border-color .25s,background-color .25s,color .25s;
    text-transform: uppercase;
    margin-right: 1em
}

.FormBuilder.InputfieldForm .InputfieldFormBuilderPageBreak {
    padding-bottom: 1.875em;
    margin-bottom: 0
}

.FormBuilder.InputfieldForm .Inputfield .InputfieldContent input,.FormBuilder.InputfieldForm .InputfieldCheckbox .InputfieldContent input,.FormBuilder.InputfieldForm .InputfieldCheckboxes .InputfieldContent input {
    margin-right: .3em
}

.FormBuilder.InputfieldForm .InputfieldCheckbox .InputfieldContent input,.FormBuilder.InputfieldForm .InputfieldCheckboxes .InputfieldContent input,.FormBuilder.InputfieldForm .InputfieldRadios .InputfieldContent input {
    margin-right: .5em;
    -webkit-transform: scale(1.3) translateY(-.1em);
    transform: scale(1.3) translateY(-.1em)
}

.FormBuilder.InputfieldForm .InputfieldCheckboxes label,.FormBuilder.InputfieldForm .InputfieldCheckbox label {
    display: flex;
    align-items: baseline
}

.FormBuilder.InputfieldForm .InputfieldStateRequired:not(.InputfieldStateRequiredIf)>.InputfieldHeader:first-child:after {
    color: var(--color-highlight);
    content: "*";
    padding-left: .25em
}

.FormBuilder.InputfieldForm #wrap_Inputfield- {
    display: none
}

.FormBuilder.InputfieldForm .InputfieldColumnWidth>.InputfieldHeaderHidden:before {
    display: block;
    content: "\A0"
}

.FormBuilder.InputfieldForm .InputfieldHidden {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.FormBuilder.InputfieldForm legend {
    padding: 0;
    display: table
}

.FormBuilder.InputfieldForm fieldset {
    border: 0;
    padding: .01em 0 0;
    margin: 0;
    min-width: 0
}

.FormBuilder.InputfieldForm body:not(:-moz-handler-blocked) fieldset {
    display: table-cell
}

.input-group,.input-wrapper {
    clear: both;
    margin-top: var(--form-spacing)
}

.input-group:first-child,.input-wrapper:first-child {
    margin-top: 0
}

.input-wrapper--text input {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-decoration: none;
    text-align: inherit;
    display: block;
    width: 100%;
    padding: .2em .25em .1em;
    line-height: 1;
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    transition: border-color .25s,background-color .25s,color .25s
}

.input-wrapper--text input:focus {
    outline: 0
}

.input-wrapper--text input::-moz-focus-outer {
    border: 0
}

.input-wrapper--text input::-webkit-input-placeholder {
    line-height: 1
}

.input-wrapper--text input:-ms-input-placeholder {
    line-height: 1
}

.input-wrapper--text input::placeholder {
    line-height: 1
}

.input-wrapper--checkbox input {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.input-wrapper--checkbox label .checkbox {
    float: left;
    display: inline-block;
    position: relative;
    width: 2.5em;
    height: 2.5em;
    margin-bottom: .25em;
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    background-color: var(--color-bg);
    width: 1.25em;
    height: 1.25em;
    margin-right: .75em
}

.input-wrapper--checkbox label .checkbox .icon {
    width: 75%;
    height: 75%
}

.input-wrapper--checkbox label .checkbox .icon,.input-wrapper--checkbox label .checkbox:empty:after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    opacity: 0
}

.input-wrapper--checkbox label .checkbox:empty:after {
    content: "\2713";
    display: inline-block;
    font-size: 2em;
    font-size: 1em
}

@media (hover: hover) {
    .input-wrapper--checkbox label:hover .checkbox .icon,.input-wrapper--checkbox label:hover .checkbox:after {
        opacity:.4
    }
}

.input-wrapper--checkbox input:checked+label .checkbox .icon,.input-wrapper--checkbox input:checked+label .checkbox:after {
    opacity: 1
}

.input-wrapper--checkboxes p {
    margin-top: calc(var(--form-spacing)*2)
}

.input-wrapper--checkboxes label .checkbox {
    width: 1.25em;
    height: 1.25em;
    margin-right: .75em
}

.input-wrapper--checkboxes label .checkbox:empty:after {
    font-size: 1em
}

.input-wrapper--buttons {
    display: flex;
    justify-content: flex-end;
    margin-top: 1.5em
}

.input-wrapper--buttons button[type=submit] {
    display: inline-block;
    padding: .3em .25em .225em;
    line-height: .75;
    color: var(--color-text);
    background-color: var(--color-bg);
    border-color: var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    transition: opacity .25s,border-color .25s,background-color .25s,color .25s;
    text-transform: uppercase;
    background-color: var(--color-text);
    border: 1px solid var(--color-text);
    color: var(--color-bg)
}

.input-group--expanding+.input-wrapper--buttons {
    margin-top: 0;
    transition: margin .25s
}

[data-form-expanded-value=true] .input-group--expanding+.input-wrapper--buttons,[data-newsletter-form-expanded-value=true] .input-group--expanding+.input-wrapper--buttons {
    margin-top: 1.5em
}

.input-wrapper--trap {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.button {
    display: inline-block;
    padding: .3em .25em .225em;
    line-height: .75;
    color: var(--color-text);
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    transition: opacity .25s,border-color .25s,background-color .25s,color .25s;
    text-transform: uppercase
}

.button--highlight {
    background-color: var(--color-text);
    border-color: var(--color-text);
    color: var(--color-bg)
}

body>svg {
    display: none
}

.icon {
    display: inline-block;
    vertical-align: middle;
    width: 1.25em;
    height: 1.25em;
    color: inherit;
    fill: none;
    stroke: currentColor;
    stroke-width: 1px;
    stroke-width: var(--icon-stroke)
}

.icon g[stroke-width] {
    stroke-width: 1px;
    stroke-width: var(--icon-stroke)
}

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,progress,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video,xmp {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary {
    display: block
}

body,html {
    height: 100%
}

ul {
    list-style: none
}

ol {
    list-style: decimal inside none
}

li {
    display: list-item
}

img {
    -ms-interpolation-mode: bicubic
}

blockquote,q {
    quotes: none
}

blockquote:after,blockquote:before,q:after,q:before {
    content: "";
    content: none
}

table {
    border-spacing: 0
}

caption,td,th {
    vertical-align: top;
    text-align: left
}

em,i {
    font-style: italic
}

b,strong {
    font-weight: 700
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

::selection {
    background-color: #e6e6e6
}

.capitals,.numbers {
    font-size: .94em
}

.pull-double {
    margin-left: -.45em
}

.push-double {
    margin-right: .45em
}

.pull-single {
    margin-left: -.25em
}

.push-single {
    margin-right: .25em
}

:root {
    --global-padding: 14px;
    --page-padding: 10px;
    --grid-gutter: 14px;
    --grid-border: 1px;
    --border-width: 1px;
    --icon-stroke: 1px;
    --display: block;
    --vh-offset: 0px;
    --viewport-height: calc(100vh - var(--vh-offset));
    --scrollbar-width: 0px;
    --viewport-width: calc(100vw - var(--scrollbar-width));
    --page-padding-top-safe: max(var(--page-padding),0);
    --page-padding-top-safe: max(var(--page-padding),env(safe-area-inset-top));
    --page-padding-bottom-safe: max(var(--page-padding),0);
    --page-padding-bottom-safe: max(var(--page-padding),env(safe-area-inset-bottom));
    --page-padding-left-safe: max(var(--page-padding),0);
    --page-padding-left-safe: max(var(--page-padding),env(safe-area-inset-left));
    --page-padding-right-safe: max(var(--page-padding),0);
    --page-padding-right-safe: max(var(--page-padding),env(safe-area-inset-right));
    --header-height: 7.5em;
    --content-top-padding: calc(min(50vh, var(--header-height) * 1.4));
    --container-width: calc(100vw - var(--page-padding)*2);
    --container-column: calc(var(--container-width)/12 - var(--grid-gutter)*11/12);
    --grid-gutter-half: calc(var(--grid-gutter)/2);
    --indent-column: calc(var(--container-width)/6);
    --burger-button-size: 1.5em;
    --burger-button-offset: calc(var(--burger-button-size)*1.85);
    --header-image-height: 80vh
}

@media print,screen and (min-width: 30.0625em) {
    :root {
        --global-padding:18px
    }
}

@media print,screen and (min-width: 48.0625em) {
    :root {
        --global-padding:24px
    }
}

@media print,screen and (min-width: 30.0625em) {
    :root {
        --page-padding:14px
    }
}

@media print,screen and (min-width: 48.0625em) {
    :root {
        --page-padding:18px
    }
}

@media print,screen and (min-width: 64.0625em) {
    :root {
        --page-padding:22px
    }
}

@media print,screen and (min-width: 30.0625em) {
    :root {
        --grid-gutter:18px
    }
}

@media print,screen and (min-width: 48.0625em) {
    :root {
        --grid-gutter:24px
    }
}

@media print,screen and (min-width: 64.0625em) {
    :root {
        --grid-gutter:30px
    }
}

@media print,screen and (min-width: 48.0625em) {
    :root {
        --indent-column:calc(var(--container-width)/12);
        --content-top-padding: calc(min(50vh, var(--header-height) * 1.8))
    }
}

body {
    --content-spacing: 240px;
    --item-spacing: 110px;
    --class-spacing: 90px;
    --logo-max-width: 92px;
    --map-marker-size-large: 14px;
    --map-marker-size: 11px;
    --form-spacing: var(--page-padding);
    --color-red: #ff3b00;
    --color-blue: #0546a5;
    --color-yellow: #ffea3d;
    --color-bg: #fff;
    --color-text: #000;
    --color-text-light: #b4b4b4;
    --color-border: var(--color-text);
    --color-highlight: #ff3b00;
    --color-error: #ff3b00;
    --color-active-bg: #ff3b00;
    --color-active-border: var(--color-active-bg);
    --color-active-text: var(--color-bg);
    --color-logo: #ff3b00;
    --color-logo-transparent: rgba(255,59,0,0)
}

@media (min-width: 414px) {
    body {
        --content-spacing:calc(14.60823vw + 179.52191px)
    }
}

@media (min-width: 1920px) {
    body {
        --content-spacing:460px
    }
}

@media (min-width: 414px) {
    body {
        --item-spacing:calc(5.31208vw + 88.00797px)
    }
}

@media (min-width: 1920px) {
    body {
        --item-spacing:190px
    }
}

@media (min-width: 414px) {
    body {
        --class-spacing:calc(5.31208vw + 68.00797px)
    }
}

@media (min-width: 1920px) {
    body {
        --class-spacing:170px
    }
}

@media (min-width: 414px) {
    body {
        --logo-max-width:calc(4.86815vw + 71.84584px)
    }
}

@media (min-width: 1400px) {
    body {
        --logo-max-width:140px
    }
}

@media (min-width: 414px) {
    body {
        --map-marker-size-large:calc(0.89059vw + 10.31298px)
    }
}

@media (min-width: 1200px) {
    body {
        --map-marker-size-large:21px
    }
}

.is-visible {
    display: block!important;
    display: var(--display,block)!important
}

.is-hidden {
    display: none!important
}

body {
    background-color: var(--color-bg);
    color: var(--color-text);
    transition: background-color .25s;
    font-size: calc(18.04px + .46667vw);
    line-height: calc(22.76px + .53333vw);
    letter-spacing: -.01em;
    font-weight: 400
}

@media screen and (min-width: 1920px) {
    body {
        line-height:33px
    }
}

@media screen and (max-width: 420px) {
    body {
        line-height:25px
    }
}

@media screen and (min-width: 1920px) {
    body {
        font-size:27px
    }
}

@media screen and (max-width: 420px) {
    body {
        font-size:20px
    }
}

body:before {
    display: none;
    content: "production";
    position: fixed;
    left: 50%;
    bottom: .75em;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-radius: 999vw;
    padding: .35em .75em .4em;
    font-size: .7rem;
    letter-spacing: .06em;
    line-height: .7rem;
    text-transform: uppercase;
    background-color: var(--color-bg);
    color: var(--color-text);
    z-index: 999999
}

body.is-logged-in[data-env=staging]:before {
    display: inline-block;
    content: attr(data-env);
    background-color: green;
    color: #fff
}

button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-decoration: none;
    text-align: inherit;
    cursor: pointer;
    -webkit-user-select: text;
    -ms-user-select: text;
    user-select: text;
    transition: color .25s
}

[data-whatinput=mouse] button {
    outline: 0
}

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

[data-whatinput=mouse] button,[data-whatinput=touch] button,[data-whatintent=mouse] button {
    outline: none
}

html {
    font-family: RandMono,Courier New,Courier,monospace;
    letter-spacing: 0;
    line-height: 1.25;
    font-weight: 400;
    font-size: 16px;
    overflow-y: scroll;
    min-height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%
}

img {
    max-width: 100%;
    height: auto;
    font-style: italic;
    vertical-align: middle
}

::-webkit-input-placeholder {
    line-height: normal;
    opacity: 1
}

:-ms-input-placeholder {
    line-height: normal;
    opacity: 1
}

::placeholder {
    line-height: normal;
    opacity: 1
}

a {
    color: inherit;
    text-decoration: none
}

@media (hover: hover) {
    a:hover {
        text-decoration:none
    }
}

[data-whatinput=mouse] a:focus {
    outline: none
}

nav li:before {
    position: absolute
}

table {
    width: 100%
}

video {
    max-width: 100%;
    height: auto
}

.accordion {
    transition: opacity .25s
}

.js .accordion[data-cloak] .accordion__content {
    max-height: 0
}

.js .accordion[data-cloak] .icon {
    opacity: 0
}

.accordion__toggle {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em;
    margin-bottom: 1.2em
}

@media screen and (min-width: 1920px) {
    .accordion__toggle {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .accordion__toggle {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .accordion__toggle {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .accordion__toggle {
        font-size:30px
    }
}

.accordion__toggle:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.accordion__button {
    display: flex
}

.accordion__button .icon {
    flex: 0 0 1em;
    order: -1;
    position: relative;
    top: .075em;
    width: 1em;
    height: 1em;
    margin-right: .85em;
    transition: opacity .25s,-webkit-transform .5s;
    transition: transform .5s,opacity .25s;
    transition: transform .5s,opacity .25s,-webkit-transform .5s
}

.accordion__button[aria-expanded=true] span span {
    background-image: linear-gradient(var(--color-text),var(--color-text));
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.accordion__button[aria-expanded=true] span span::selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

.accordion__button[aria-expanded=true] span span::-moz-selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

@media (hover: hover) {
    .accordion__button[aria-expanded=true] span span:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.accordion__button[aria-expanded=true] span span *,.accordion__button[aria-expanded=true] span span:after,.accordion__button[aria-expanded=true] span span :after,.accordion__button[aria-expanded=true] span span:before,.accordion__button[aria-expanded=true] span span :before {
    text-shadow: none
}

.accordion__button[aria-expanded=true] span span:visited {
    color: var(--color-text)
}

.accordion__button[aria-expanded=true] .icon {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.accordion__content-inner {
    transition: opacity .5s;
    opacity: 0;
    padding-bottom: 5em
}

[aria-hidden=false] .accordion__content-inner {
    opacity: 1;
    transition: opacity .5s .25s
}

.accordion__content-inner>.rich-text img {
    width: 100%
}

.accordion__content-inner>.rich-text:first-child:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.accordion__content:last-child .accordion__content-inner {
    padding-bottom: 0
}

@media print,screen and (min-width: 48.0625em) {
    .accordion__content-inner>.rich-text {
        padding-right:16.6666666667%
    }

    .accordion__content-inner>.rich-text img {
        width: 75%
    }
}

@media screen and (min-width: 80em) {
    .accordion--multi-col {
        display:grid;
        grid-template-columns: repeat(12,1fr);
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter)
    }

    .accordion--multi-col .accordion__toggle {
        grid-column: 1/span 3;
        font-size: calc(18.04px + .46667vw);
        line-height: calc(22.76px + .53333vw);
        letter-spacing: -.01em
    }

    @media screen and (min-width: 1920px) {
        .accordion--multi-col .accordion__toggle {
            line-height:33px
        }
    }

    @media screen and (max-width: 420px) {
        .accordion--multi-col .accordion__toggle {
            line-height:25px
        }
    }

    @media screen and (min-width: 1920px) {
        .accordion--multi-col .accordion__toggle {
            font-size:27px
        }
    }

    @media screen and (max-width: 420px) {
        .accordion--multi-col .accordion__toggle {
            font-size:20px
        }
    }

    .accordion--multi-col .accordion__toggle .accordion__button[aria-expanded=true] .icon {
        -webkit-transform: none;
        transform: none
    }

    .accordion--multi-col .accordion__content {
        grid-column: 4/span 9;
        grid-row: 1/span 2
    }

    .accordion--multi-col .accordion__content:nth-last-child(n+2),.accordion--multi-col .accordion__content:nth-last-child(n+2)~.accordion__content {
        grid-row: 1/span 6
    }

    .accordion--multi-col .accordion__content:nth-last-child(n+4),.accordion--multi-col .accordion__content:nth-last-child(n+4)~.accordion__content {
        grid-row: 1/span 12
    }

    .accordion--multi-col .accordion__content:nth-last-child(n+6),.accordion--multi-col .accordion__content:nth-last-child(n+6)~.accordion__content {
        grid-row: 1/span 18
    }

    .accordion--multi-col .accordion__content:nth-last-child(n+8),.accordion--multi-col .accordion__content:nth-last-child(n+8)~.accordion__content {
        grid-row: 1/span 24
    }

    .accordion--multi-col .accordion__content-inner>.rich-text {
        padding-right: 22.2222222222%
    }

    .accordion--multi-col .accordion__content-inner>.rich-text img {
        width: calc(85.71429% - 4.66667px);
        width: calc(85.71429% - var(--grid-gutter)/3)
    }
}

@media screen and (min-width: 100em) {
    .accordion--multi-col .accordion__toggle {
        font-size:calc(25.8px + 1vw);
        line-height: calc(30.8px + 1vw);
        letter-spacing: -.01em
    }

    @media screen and (min-width: 1920px) {
        .accordion--multi-col .accordion__toggle {
            line-height:50px
        }
    }

    @media screen and (max-width: 420px) {
        .accordion--multi-col .accordion__toggle {
            line-height:35px
        }
    }

    @media screen and (min-width: 1920px) {
        .accordion--multi-col .accordion__toggle {
            font-size:45px
        }
    }

    @media screen and (max-width: 420px) {
        .accordion--multi-col .accordion__toggle {
            font-size:30px
        }
    }
}

.animation g[stroke]:not([stroke=none]),.animation path[stroke]:not([stroke=none]) {
    stroke: currentColor
}

.animation__svg+.animation__placeholder {
    display: none
}

.animation__svg:empty+.animation__placeholder {
    display: block
}

.assistive-links a {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 50%;
    max-width: 80%;
    padding: .75em;
    -webkit-transform: translate(-50%,-110%);
    transform: translate(-50%,-110%);
    transition: opacity .25s,-webkit-transform .25s;
    transition: transform .25s,opacity .25s;
    transition: transform .25s,opacity .25s,-webkit-transform .25s;
    border-bottom-right-radius: .25em;
    border-bottom-left-radius: .25em;
    background-color: #fff;
    color: #ff3b00;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.075);
    text-decoration: underline;
    outline: none;
    opacity: 0
}

.assistive-links a:focus {
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
    opacity: 1
}

.blocks {
    --block-spacing: calc(var(--content-spacing)/3);
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-row-gap: var(--block-spacing)
}

.block {
    grid-column: span 2
}

@media print,screen and (min-width: 48.0625em) {
    .block[data-width=half] {
        grid-column:span 1
    }
}

.block[data-block=empty] {
    display: none
}

@media print,screen and (min-width: 48.0625em) {
    .block[data-block=empty] {
        display:block
    }
}

.block[data-block=spacer] {
    height: 1px
}

.text-block {
    display: grid;
    grid-template-columns: 3fr 3fr 3fr 3fr;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter)
}

.text-block__content,.text-block__headline {
    grid-column: span 4
}

.text-block__content:before,.text-block__headline:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.text-block__headline {
    text-transform: uppercase;
    padding-bottom: 3em
}

[data-text-style~=large] .text-block__content {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    [data-text-style~=large] .text-block__content {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    [data-text-style~=large] .text-block__content {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    [data-text-style~=large] .text-block__content {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    [data-text-style~=large] .text-block__content {
        font-size:30px
    }
}

[data-text-style~=highlight] .text-block__content {
    color: var(--color-highlight)
}

.block[data-toggle] .text-block__headline {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

@media print,screen and (min-width: 48.0625em) {
    .text-block__headline {
        grid-column:span 1
    }

    .text-block__content {
        grid-column: 2/span 3
    }

    .block[data-width=half] .text-block__content,.block[data-width=half] .text-block__headline {
        grid-column: span 4
    }
}

@media screen and (min-width: 80em) {
    .text-block__headline {
        padding-right:2em
    }
}

.block[data-block=image][data-display=slideshow-narrow],.block[data-block=image][data-display=slideshow] {
    margin-left: -10px;
    margin-left: calc(var(--page-padding)*-1);
    margin-right: -10px;
    margin-right: calc(var(--page-padding)*-1);
    width: calc(100% + 20px);
    width: calc(100% + var(--page-padding)*2)
}

.block[data-block=image] figcaption {
    padding-top: .5em;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .block[data-block=image] figcaption {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .block[data-block=image] figcaption {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .block[data-block=image] figcaption {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .block[data-block=image] figcaption {
        font-size:15px
    }
}

@media print,screen and (min-width: 48.0625em) {
    .block[data-block=image][data-display=stack] {
        padding-left:calc(25% + 3.5px);
        padding-left: calc(25% + var(--grid-gutter)/4)
    }
}

.block[data-block=image][data-display=stack] figure+figure {
    margin-top: 1.25em
}

.block[data-block=animation] {
    pointer-events: none
}

.block[data-block=animation] .animation {
    width: 75vw
}

@media print,screen and (min-width: 48.0625em) {
    .block[data-block=animation] .animation {
        width:25vw;
        margin: 0 auto
    }
}

.block[data-block=news]>h2 {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em;
    text-transform: uppercase;
    margin-bottom: .85em
}

@media screen and (min-width: 1920px) {
    .block[data-block=news]>h2 {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .block[data-block=news]>h2 {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .block[data-block=news]>h2 {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .block[data-block=news]>h2 {
        font-size:30px
    }
}

.calendar>div:empty {
    padding-bottom: 80%
}

.vc-container {
    font-family: inherit!important;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em;
    border-width: 0!important;
    width: 100%!important;
    max-width: 414px!important
}

@media screen and (min-width: 1920px) {
    .vc-container {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .vc-container {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .vc-container {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .vc-container {
        font-size:15px
    }
}

.vc-arrows-container,.vc-header {
    padding: 0 0 1.4em!important
}

.vc-title {
    text-transform: uppercase;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .vc-title {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .vc-title {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .vc-title {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .vc-title {
        font-size:15px
    }
}

.vc-weeks {
    padding: 0!important;
    --weeks-offset: 3%;
    margin-left: calc(var(--weeks-offset)*-1);
    margin-right: calc(var(--weeks-offset)*-1)
}

.vc-weekday {
    text-transform: uppercase;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .vc-weekday {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .vc-weekday {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .vc-weekday {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .vc-weekday {
        font-size:15px
    }
}

.vc-day {
    padding-top: 10%!important;
    padding-bottom: 10%!important
}

.vc-day-content.white {
    color: #fff!important
}

.vc-day-content.black {
    color: #000!important
}

.vc-day-content.is-disabled,.vc-day-content:first-child {
    pointer-events: none
}

.vc-highlight[style*=border-width] {
    border-width: 1.5px!important
}

.vc-nav-popover-container {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    border-radius: 0!important
}

.vc-nav-item {
    border-width: 1px!important;
    border-radius: var(--rounded)!important
}

.vc-pane-container {
    --gray-100: #fafafa;
    --gray-200: #fafafa;
    --gray-300: #f0f0f0;
    --gray-400: #c8c8c8;
    --gray-500: #000;
    --gray-600: #000;
    --gray-700: #000;
    --gray-800: #000;
    --gray-900: #000;
    --black-100: #fafafa;
    --black-200: #fafafa;
    --black-300: #f0f0f0;
    --black-400: #c8c8c8;
    --black-500: #000;
    --black-600: #000;
    --black-700: #000;
    --black-800: #000;
    --black-900: #000;
    --red-100: #fff5f5;
    --red-200: #fed7d7;
    --red-300: #feb2b2;
    --red-400: #fc8181;
    --red-500: #f56565;
    --red-600: #ff3b00;
    --red-700: #c53030;
    --red-800: #9b2c2c;
    --red-900: #742a2a;
    --orange-100: #fffaf0;
    --orange-200: #feebc8;
    --orange-300: #fbd38d;
    --orange-400: #f6ad55;
    --orange-500: #ed8936;
    --orange-600: #dd6b20;
    --orange-700: #c05621;
    --orange-800: #9c4221;
    --orange-900: #7b341e;
    --yellow-100: ivory;
    --yellow-200: #fefcbf;
    --yellow-300: #faf089;
    --yellow-400: #f6e05e;
    --yellow-500: #ecc94b;
    --yellow-600: #ffea3d;
    --yellow-700: #b7791f;
    --yellow-800: #975a16;
    --yellow-900: #744210;
    --green-100: #f0fff4;
    --green-200: #c6f6d5;
    --green-300: #9ae6b4;
    --green-400: #68d391;
    --green-500: #48bb78;
    --green-600: #38a169;
    --green-700: #2f855a;
    --green-800: #276749;
    --green-900: #22543d;
    --teal-100: #e6fffa;
    --teal-200: #b2f5ea;
    --teal-300: #81e6d9;
    --teal-400: #4fd1c5;
    --teal-500: #38b2ac;
    --teal-600: #319795;
    --teal-700: #2c7a7b;
    --teal-800: #285e61;
    --teal-900: #234e52;
    --blue-100: #ebf8ff;
    --blue-200: #bee3f8;
    --blue-300: #90cdf4;
    --blue-400: #63b3ed;
    --blue-500: #4299e1;
    --blue-600: #0546a5;
    --blue-700: #2b6cb0;
    --blue-800: #2c5282;
    --blue-900: #2a4365;
    --indigo-100: #ebf4ff;
    --indigo-200: #c3dafe;
    --indigo-300: #a3bffa;
    --indigo-400: #7f9cf5;
    --indigo-500: #667eea;
    --indigo-600: #5a67d8;
    --indigo-700: #4c51bf;
    --indigo-800: #434190;
    --indigo-900: #3c366b;
    --purple-100: #faf5ff;
    --purple-200: #e9d8fd;
    --purple-300: #d6bcfa;
    --purple-400: #b794f4;
    --purple-500: #9f7aea;
    --purple-600: #805ad5;
    --purple-700: #6b46c1;
    --purple-800: #553c9a;
    --purple-900: #44337a;
    --pink-100: #fff5f7;
    --pink-200: #fed7e2;
    --pink-300: #fbb6ce;
    --pink-400: #f687b3;
    --pink-500: #ed64a6;
    --pink-600: #d53f8c;
    --pink-700: #b83280;
    --pink-800: #97266d;
    --pink-900: #702459
}

.class-banner {
    text-transform: uppercase;
    --color-text: var(--color-highlight);
    color: var(--color-text);
    position: relative
}

.class-banner:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.class-banner a {
    position: relative
}

.class-banner>a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.class-banner__dot {
    display: inline-block;
    width: .7em;
    height: .7em;
    border-radius: 50%;
    background-color: currentColor;
    animation: dot-blink 1s infinite alternate-reverse
}

@-webkit-keyframes dot-blink {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes dot-blink {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.class-banner__label {
    margin-top: .2em;
    margin-bottom: 1.25em
}

.class-banner__label:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.class-banner__label .icon {
    width: .8em;
    -webkit-transform: translateY(-.075em);
    transform: translateY(-.075em)
}

.class-banner__title {
    margin-bottom: 1.0625em
}

.class-banner__title:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.class-banner__cta {
    position: relative
}

.class-banner__cta:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.class-banner__cta a {
    display: inline-block;
    padding: .3em .25em .225em;
    line-height: .75;
    color: var(--color-text);
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    transition: opacity .25s,border-color .25s,background-color .25s,color .25s;
    text-transform: uppercase;
    --color-border: var(--color-text)
}

@media (hover: hover) {
    .class-banner__cta a:hover {
        background-color:var(--color-text);
        border-color: var(--color-text);
        color: var(--color-bg)
    }
}

.class-banner--current .class-banner__cta a {
    background-color: var(--color-text);
    border-color: var(--color-text);
    color: var(--color-bg)
}

.class-dates {
    text-transform: uppercase;
    display: flex;
    flex-direction: column
}

.class-dates:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.class-dates__claim {
    order: 1;
    margin-bottom: 1.25em
}

.class-dates__date {
    order: 2
}

.class-dates__date span {
    display: block
}

.coordinates {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    position: relative
}

.coordinates:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.coordinates p,.coordinates ul {
    transition: opacity .25s
}

.coordinates ul {
    display: flex
}

.coordinates ul:before {
    order: 1;
    content: "\A0"
}

.coordinates li span {
    display: block
}

.coordinates li+li {
    order: 2
}

.coordinates p {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    text-transform: uppercase
}

.coordinates__inner {
    display: inline-block
}

@media (hover: hover) {
    .coordinates__inner:hover ul {
        opacity:0;
        pointer-events: none
    }
}

@media (hover: hover) {
    .coordinates__inner:hover p {
        opacity:1;
        pointer-events: auto
    }
}

.countdown {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

@media screen and (min-width: 1920px) {
    .countdown {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .countdown {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .countdown {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .countdown {
        font-size:30px
    }
}

.countdown:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.js .countdown {
    opacity: 0
}

.js .countdown[data-countdown-setup-value=true] {
    opacity: 1;
    transition: opacity .25s
}

.countdown li {
    display: flex
}

.countdown li span:first-child {
    order: 1
}

.countdown li span:first-child:before {
    display: inline-block;
    content: "\A0"
}

.document-viewer {
    --page-aspect-ratio: 0.70707;
    position: relative;
    display: flex
}

.document-viewer [hidden] {
    display: none!important
}

.document-viewer__title {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.document-viewer__wrapper {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 2em;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter)
}

.document-viewer__wrapper .document-viewer__canvas,.document-viewer__wrapper .document-viewer__error,.document-viewer__wrapper .document-viewer__loader {
    grid-row: 1;
    grid-column: 1
}

.document-viewer__wrapper .document-viewer__nav {
    grid-row: 1;
    grid-column: 2
}

@media screen and (min-width: 80em) {
    .document-viewer__wrapper {
        display:grid;
        grid-template-columns: 3fr 7fr 2fr;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter)
    }

    .document-viewer__wrapper .document-viewer__canvas,.document-viewer__wrapper .document-viewer__error,.document-viewer__wrapper .document-viewer__loader {
        grid-column: 2;
        padding-right: 1em
    }

    .document-viewer__wrapper .document-viewer__nav {
        grid-column: 3
    }
}

.document-viewer__canvas {
    position: relative;
    display: grid
}

.document-viewer__prerender,.document-viewer__viewport {
    grid-row: 1;
    grid-column: 1;
    display: flex;
    justify-content: flex-end;
    --page-num: 1
}

[data-document-position=end] .document-viewer__prerender,[data-document-position=end] .document-viewer__viewport {
    justify-content: flex-start
}

.document-viewer__prerender div,.document-viewer__viewport div {
    --max-height: calc(var(--viewport-height) - var(--page-padding-top-safe) - var(--page-padding-bottom-safe) - var(--overlay-header-height)*2);
    --max-width: calc(var(--max-height)*var(--page-aspect-ratio)/var(--page-num));
    position: relative;
    flex: 0 0 calc(100%/var(--page-num));
    max-width: var(--max-width)
}

.document-viewer__prerender div:after,.document-viewer__viewport div:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,transparent,transparent 90%,rgba(0,0,0,.1))
}

.document-viewer__prerender div:first-child:after,.document-viewer__viewport div:first-child:after {
    border-right: 1px solid rgba(0,0,0,.07)
}

.document-viewer__prerender div:nth-child(2):after,.document-viewer__viewport div:nth-child(2):after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.document-viewer__prerender div:only-child:after,.document-viewer__viewport div:only-child:after {
    display: none
}

.document-viewer__prerender canvas,.document-viewer__viewport canvas {
    display: block;
    width: 100%;
    height: auto;
    background-color: #fff;
    box-shadow: var(--shadow-slides);
    box-shadow: 0 .1em .2em .05em hsla(0,0%,50.2%,.3)
}

.document-viewer__viewport:empty {
    padding-bottom: calc(var(--page-aspect-ratio)*100%)
}

.document-viewer__prerender {
    opacity: 0;
    pointer-events: none
}

.document-viewer__nav {
    display: grid
}

.document-viewer__actions {
    display: grid;
    align-items: center;
    align-self: start;
    grid-row-gap: 1.2em
}

.document-viewer__actions a,.document-viewer__actions button {
    display: inline-flex
}

.document-viewer__actions a[disabled],.document-viewer__actions button[disabled] {
    color: var(--color-text-light)
}

.document-viewer__actions .icon {
    width: 1.2em;
    height: 1.2em
}

.document-viewer__pager {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.document-viewer__pager>* {
    margin: 0 .25em
}

.document-viewer__pager span {
    display: inline-block;
    white-space: nowrap
}

.document-viewer__pager input {
    width: 1.3em;
    min-width: 1em!important;
    padding: 0;
    border-radius: 0;
    border: 1px solid transparent;
    border-bottom-color: currentcolor;
    color: inherit;
    text-align: center;
    line-height: inherit;
    transition: background-color .25s,border-color .25s
}

.document-viewer__pager input:focus {
    outline: none
}

.document-viewer__pager button {
    margin-left: auto
}

.event-preview {
    transition: .5s
}

.js .event-preview[data-cloak] .event-preview__content {
    max-height: 0;
    overflow: hidden
}

.js .event-preview[data-cloak] .icon {
    opacity: 0
}

.event-preview[data-toggle-highlighted-value=true] {
    -webkit-animation: highlight-event 1s ease-in-out 1s;
    animation: highlight-event 1s ease-in-out 1s
}

.event-preview[data-status=past] {
    --color-text: var(--color-text-light);
    color: var(--color-text)
}

.event-preview[data-status=past] .item-section--dot {
    opacity: .5
}

@-webkit-keyframes highlight-event {
    0% {
        background-color: transparent
    }

    20% {
        background-color: #e6e6e6
    }

    to {
        background-color: transparent
    }
}

@keyframes highlight-event {
    0% {
        background-color: transparent
    }

    20% {
        background-color: #e6e6e6
    }

    to {
        background-color: transparent
    }
}

.event-preview__content,.event-preview__data {
    display: grid;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-template-columns: 1fr
}

.event-preview__data {
    position: relative;
    cursor: pointer
}

.event-preview__data .event-preview__dates {
    order: -3
}

.event-preview__header {
    display: flex;
    flex-direction: column
}

.event-preview__header .event-preview__type {
    order: -2
}

.event-preview__header .event-preview__section {
    order: -1
}

.event-preview__type {
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .event-preview__type {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__type {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .event-preview__type {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__type {
        font-size:15px
    }
}

.event-preview__title {
    text-transform: uppercase
}

.event-preview[data-section] .event-preview__title {
    padding-left: 1.1em
}

.event-preview__dates {
    display: flex;
    flex-direction: column;
    margin-bottom: .8em
}

.event-preview__dates span:nth-child(2) {
    order: -1;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .event-preview__dates span:nth-child(2) {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__dates span:nth-child(2) {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .event-preview__dates span:nth-child(2) {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__dates span:nth-child(2) {
        font-size:15px
    }
}

.event-preview__section {
    height: 0
}

.event-preview__location {
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em;
    margin-top: .8em
}

@media screen and (min-width: 1920px) {
    .event-preview__location {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__location {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .event-preview__location {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__location {
        font-size:15px
    }
}

.event-preview__export {
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em;
    margin-bottom: 1.25em
}

@media screen and (min-width: 1920px) {
    .event-preview__export {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__export {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .event-preview__export {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__export {
        font-size:15px
    }
}

.event-preview__export span {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.event-preview__export li:before {
    content: "+";
    display: inline-block;
    margin-right: .65em
}

.event-preview__export li+li {
    margin-top: .15em
}

.event-preview__export a {
    background-image: linear-gradient(var(--color-text),var(--color-text));
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.event-preview__export a::selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

.event-preview__export a::-moz-selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

@media (hover: hover) {
    .event-preview__export a:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.event-preview__export a *,.event-preview__export a:after,.event-preview__export a :after,.event-preview__export a:before,.event-preview__export a :before {
    text-shadow: none
}

.event-preview__export a:visited {
    color: var(--color-text)
}

.event-preview__content__inner {
    display: grid;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-template-columns: 1fr;
    padding-top: 1.25em;
    padding-bottom: 1.25em
}

.event-preview__export {
    order: -2
}

.event-preview__text {
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .event-preview__text {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__text {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .event-preview__text {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__text {
        font-size:15px
    }
}

.event-preview__image {
    order: -1;
    padding-bottom: 1em
}

.event-preview__image .ratio-container {
    padding-bottom: 66.6666666667%!important
}

.event-preview__image figcaption {
    padding-top: .5em;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .event-preview__image figcaption {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__image figcaption {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .event-preview__image figcaption {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .event-preview__image figcaption {
        font-size:15px
    }
}

.event-preview__toggle {
    display: flex;
    justify-content: flex-end
}

.event-preview__toggle span {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.event-preview__toggle .icon {
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s,-webkit-transform .5s
}

.event-preview__data[aria-expanded=true] .event-preview__toggle .icon {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

@media screen and (max-width: 48.06125em) {
    .event-preview__toggle {
        position:absolute;
        top: 0;
        right: 0
    }
}

@media print,screen and (min-width: 48.0625em) {
    .event-preview__content__inner,.event-preview__data {
        display:grid;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter);
        grid-template-columns: repeat(9,1fr)
    }

    .event-preview__dates {
        grid-column: span 3
    }

    .event-preview__header {
        grid-column: span 5
    }

    .event-preview__location {
        grid-column: 4/span 5
    }

    .event-preview__toggle {
        grid-row: 1;
        grid-column: 9/span 1;
        align-self: flex-start;
        padding-right: 10px;
        padding-right: var(--page-padding)
    }

    .event-preview__title {
        padding-left: 0!important
    }

    .event-preview__section {
        -webkit-transform: translateX(-1.1em);
        transform: translateX(-1.1em)
    }

    .event-preview__location {
        margin-top: 0
    }

    .event-preview__location>p:first-child {
        position: absolute!important;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip: rect(0,0,0,0);
        white-space: nowrap;
        border: 0
    }

    .event-preview__dates {
        padding-right: .55em
    }

    .event-preview__dates span:nth-child(2):empty:before {
        content: "\A0";
        display: inline-block
    }

    .event-preview__image {
        order: 0;
        grid-column: span 3
    }

    .event-preview__text {
        order: 1;
        grid-column: span 5
    }

    .event-preview__export {
        order: 2;
        grid-column: 4/span 5;
        margin-top: 1.25em
    }
}

@media screen and (min-width: 80em) {
    .event-preview__header {
        grid-column:span 3
    }

    .event-preview__location {
        grid-column: span 2
    }

    .event-preview__text {
        grid-column: span 4
    }

    .event-preview__export {
        grid-column: span 2;
        margin-top: 0
    }
}

@media screen and (min-width: 100em) {
    .event-preview__text {
        grid-column:span 5;
        padding-right: 1.5em
    }

    .event-preview__export {
        grid-column: span 1
    }
}

.event-table .event-preview:before {
    content: "";
    display: block;
    border-bottom: 1px solid;
    -webkit-transform: scaleY(1.5);
    transform: scaleY(1.5);
    margin-bottom: 1em
}

.event-table .event-preview+.event-preview:before {
    margin-top: 2em
}

.event-table__header {
    display: grid;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-template-columns: 1fr 1fr 1fr;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em;
    text-transform: uppercase;
    padding-bottom: .15em
}

@media screen and (min-width: 1920px) {
    .event-table__header {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .event-table__header {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .event-table__header {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .event-table__header {
        font-size:15px
    }
}

.event-table__header>:nth-child(3) {
    display: none
}

.event-preview+.event-table__section {
    margin-top: 5em;
    margin-bottom: 1.25em
}

.event-table__section[data-section=current] span {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

@media screen and (max-width: 48.06125em) {
    .event-table__header {
        display:none
    }
}

@media screen and (min-width: 80em) {
    .event-table__header>:nth-child(3) {
        display:block
    }
}

.footer {
    --footer-navigation-height: 10em;
    position: relative;
    padding-bottom: var(--footer-navigation-height);
    display: grid;
    grid-template-columns: repeat(12,1fr);
    grid-gap: 14px;
    grid-gap: var(--grid-gutter)
}

.footer__weather {
    grid-column: 1/span 12;
    margin-bottom: var(--content-spacing);
    display: none
}

.template-home .footer__weather {
    display: block
}

.footer__institution {
    grid-column: 1/span 12;
    margin-bottom: 12vw;
    display: none
}

.template-contact .footer__institution,.template-home .footer__institution {
    display: block
}

.footer__newsletter,.footer__social {
    grid-column: 1/span 12
}

.footer__social {
    margin-top: 2em;
    margin-bottom: 20vh
}

.footer__social ul {
    display: flex
}

.footer__social a span {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.footer__social a .icon {
    width: 2em;
    height: 2em
}

.footer--large-form .footer__social a .icon {
    width: 2.5em;
    height: 2.5em
}

.footer__social li {
    margin-right: 1em
}

.footer__logo {
    grid-column: 1/span 6;
    pointer-events: none
}

.footer__logo .logo {
    width: 66.6666666667%;
    max-width: 230px
}

.footer__logo a {
    pointer-events: auto
}

.footer__coordinates {
    grid-column: 7/span 6
}

.footer__sponsor {
    grid-column: 1/span 12;
    margin-top: 2.5em;
    display: flex;
    justify-content: space-between;
    align-items: flex-start
}

.footer__sponsor svg {
    height: auto
}

.footer__sponsor svg:first-child {
    flex: 0 0 31%
}

.footer__sponsor svg:nth-child(2) {
    flex: 0 0 57%
}

.footer__sponsor g,.footer__sponsor path {
    fill: currentColor
}

.footer__sponsor [fill="#fff"] {
    fill: var(--color-bg)
}

.footer__top-link {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.footer__navigation {
    position: absolute;
    bottom: 0;
    left: 100%;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    white-space: nowrap;
    text-transform: uppercase
}

@media print,screen and (min-width: 48.0625em) {
    .footer__newsletter,.footer__social {
        grid-column:7/span 6
    }

    .template-home .footer__newsletter,.template-home .footer__social {
        grid-column: 1/span 6
    }

    .template-home .footer__newsletter .newsletter-form,.template-home .footer__social .newsletter-form {
        width: calc(100% + 21px);
        width: calc(100% + var(--grid-gutter)*1.5)
    }

    .footer__social {
        margin-bottom: 0;
        -webkit-transform: translateY(calc(100% + 14px));
        transform: translateY(calc(100% + 14px));
        -webkit-transform: translateY(calc(100% + var(--grid-gutter)));
        transform: translateY(calc(100% + var(--grid-gutter)))
    }

    .template-home .footer__social {
        margin-bottom: 20vh;
        -webkit-transform: none;
        transform: none
    }

    .footer__institution {
        margin-bottom: 0
    }

    .footer__logo {
        grid-column: 1/span 3
    }

    .footer__coordinates {
        grid-column: 4/span 3
    }

    .footer__sponsor {
        grid-column: 7/span 6;
        margin-top: 0;
        padding-left: 33.3333333333%
    }
}

@media screen and (min-width: 80em) {
    .footer__newsletter,.footer__social {
        grid-column:9/span 4
    }
}

.footer .footer__sponsor,.footer .footer__weather {
    display: none
}

.page-role-imprint .footer .footer__sponsor,.template-contact .footer .footer__sponsor,.template-home .footer .footer__sponsor {
    display: flex
}

.template-workshop-application .footer .footer__newsletter {
    display: none
}

.item-section-list {
    display: flex;
    flex-wrap: wrap;
    max-width: 8em
}

.item-section-list .item-section {
    margin-right: .4em;
    margin-top: .4em
}

.item-section-list .item-section:last-child {
    margin-right: 0
}

.item-section {
    display: inline-block;
    padding: .2em .35em .05em;
    --color-border: transparent;
    line-height: .75;
    color: var(--color-text);
    background-color: var(--color-bg);
    text-transform: uppercase;
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .item-section {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .item-section {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .item-section {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .item-section {
        font-size:15px
    }
}

.item-section:empty:before {
    content: "\A0"
}

.item-section[data-section=school] {
    --color-bg: #ff3b00;
    --color-text: #fff
}

.item-section[data-section=museum] {
    --color-bg: #0546a5;
    --color-text: #fff
}

.item-section[data-section=lab] {
    --color-bg: #000;
    --color-text: #fff
}

.item-section[data-section=network] {
    --color-bg: #ffea3d;
    --color-text: #000
}

.item-section--active[data-section=network] {
    --color-bg: #fff;
    --color-text: #000;
    --color-border: #000
}

.item-section--dot {
    width: .95em;
    height: .95em;
    border-radius: 50%;
    text-indent: 100vw;
    overflow: hidden
}

.lazyload,.lazyloading {
    opacity: 0
}

.lazyloaded {
    opacity: 1;
    transition: opacity .25s
}

.lazylqiploaded {
    opacity: 0;
    transition: opacity .25s 125ms
}

.lazyloadprogressive {
    opacity: 1;
    transition: none
}

.logo-skd {
    --logo-width: 320px;
    --logo-real-width: calc(var(--logo-width) - var(--page-padding)*2);
    position: relative;
    display: block;
    width: var(--logo-real-width);
    max-width: 630px;
    height: auto;
    margin: auto;
    color: var(--color-logo);
    text-align: center;
    will-change: transform;
    pointer-events: none
}

@media (min-width: 320px) {
    .logo-skd {
        --logo-width:100vw
    }
}

@media (min-width: 414px) {
    .logo-skd {
        --logo-width:calc(14.34263vw + 354.62151px)
    }
}

@media (min-width: 1920px) {
    .logo-skd {
        --logo-width:630px
    }
}

.logo-skd__dot {
    display: block;
    width: 100%;
    margin: auto;
    border-radius: 100%;
	background-image: radial-gradient(#4FC3F7 30%, rgba(79,195,247,0) 70%);
   
    transition: -webkit-transform .5s ease-in-out;
    transition: transform .5s ease-in-out;
    transition: transform .5s ease-in-out,-webkit-transform .5s ease-in-out;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    will-change: transform;
    -webkit-filter: blur(25px);
    filter: blur(25px);
    pointer-events: auto
}

.logo-skd__dot:before {
    display: block;
    content: "";
    padding-bottom: 100%
}

.logo-skd__label {
    display: block;
    margin: 0 auto;
    width: 25%;
    -webkit-transform: translateY(-75%);
    transform: translateY(-75%);
    transition: opacity .5s;
    pointer-events: none
}

.logo-skd__label svg {
    width: 100%;
    height: auto
}

.logo-skd__label [fill] {
    fill: #000000;
}
.logo-skd__label path { 
fill: #74ACDF; 
}

.logo-skd__text {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

@media (hover: hover) {
    .logo-skd:hover .logo-skd__dot {
        -webkit-transform:scale3d(1.5,1.5,1);
        transform: scale3d(1.5,1.5,1)
    }
}

.logo-skd--small .logo-skd__label {
    opacity: 0
}

@media (hover: hover) {
    .logo-skd--small:hover .logo-skd__label {
        opacity:1
    }
}

.logo__text {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.logo__text em {
    font-style: normal
}

.logo__image svg {
    width: 100%;
    max-width: 100%;
    height: auto;
    overflow: visible
}

.logo__image path[fill] {
    fill: currentColor
}

.logo__image #arrow {
    -webkit-animation: logo-arrow 10s infinite;
    animation: logo-arrow 10s infinite;
    transform-box: fill-box;
    -webkit-transform-origin: center;
    transform-origin: center
}

@-webkit-keyframes logo-arrow {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    10% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    20% {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    30% {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    40% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    60% {
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    70% {
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    80% {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    90% {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    to {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }
}

@keyframes logo-arrow {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    10% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    20% {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    30% {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    40% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    60% {
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    70% {
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    80% {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }

    90% {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
        -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
        animation-timing-function: cubic-bezier(.16,1,.3,1)
    }

    to {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear
    }
}

.map {
    position: relative;
    z-index: 20;
    background: rgba(0,0,0,.03)
}

.map__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.map__controls {
    position: absolute;
    left: 0;
    bottom: 0;
    max-width: 100%;
    margin-bottom: 25px;
    padding: 0 0 max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
    padding: 0 0 var(--page-padding-bottom-safe) var(--page-padding-left-safe);
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.map-marker {
    --map-marker-color: var(--color-highlight);
    cursor: pointer
}

.map-marker:after,.map-marker:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: var(--map-marker-size);
    height: var(--map-marker-size);
    border-radius: 50%
}

.map-marker:before {
    background-color: var(--map-marker-color);
    -webkit-transform: translate(-50%,-50%) scaleX(1);
    transform: translate(-50%,-50%) scaleX(1);
    transition: -webkit-transform .25s;
    transition: transform .25s;
    transition: transform .25s,-webkit-transform .25s
}

.map-marker:after {
    width: calc(var(--map-marker-size)*1.5);
    height: calc(var(--map-marker-size)*1.5)
}

@media (hover: hover) {
    .map-marker:hover:before {
        -webkit-transform:translate(-50%,-50%) scale3d(1.25,1.25,1);
        transform: translate(-50%,-50%) scale3d(1.25,1.25,1)
    }
}

.map-marker[data-section=network] {
    --map-marker-color: #fff
}

.map-marker[data-section=school] {
    --map-marker-color: #ff3b00
}

.map-marker[data-section=museum] {
    --map-marker-color: #0546a5
}

.map-marker[data-section=lab] {
    --map-marker-color: #000
}

#map-marker-origin {
    cursor: default;
    pointer-events: none
}

#map-marker-center {
    --map-marker-size: var(--map-marker-size-large)
}

.map-infobox-content {
    width: 300px;
    max-width: 90vw;
    --color-border: var(--color-text);
    font-family: RandMono,Courier New,Courier,monospace;
    letter-spacing: 0;
    line-height: 1.25;
    font-weight: 400;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em;
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    padding: .3em .35em .25em;
    -webkit-transform: translate(10px,10px);
    transform: translate(10px,10px);
    background-color: #fff;
    color: var(--color-text);
    cursor: default
}

@media screen and (min-width: 1920px) {
    .map-infobox-content {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .map-infobox-content {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .map-infobox-content {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .map-infobox-content {
        font-size:15px
    }
}

.map-infobox-content[data-section=network] {
    --color-text: #000
}

.map-infobox-content[data-section=school] {
    --color-text: #ff3b00
}

.map-infobox-content[data-section=museum] {
    --color-text: #0546a5
}

.map-infobox-content[data-section=lab] {
    --color-text: #000
}

.map-infobox-content [data-title] {
    text-transform: uppercase
}

.map-infobox-content [data-title] a {
    background-image: linear-gradient(var(--color-text),var(--color-text));
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.map-infobox-content [data-title] a::selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

.map-infobox-content [data-title] a::-moz-selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

@media (hover: hover) {
    .map-infobox-content [data-title] a:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.map-infobox-content [data-title] a *,.map-infobox-content [data-title] a:after,.map-infobox-content [data-title] a :after,.map-infobox-content [data-title] a:before,.map-infobox-content [data-title] a :before {
    text-shadow: none
}

.map-infobox-content [data-title] a:visited {
    color: var(--color-text)
}

.map-infobox-content [data-contact],.map-infobox-content [data-content],.map-infobox-content [data-title] {
    padding-right: 2em
}

.map-infobox-content [data-coordinates] {
    margin-top: 1.25em
}

.map-infobox-content [data-close] {
    --burger-button-width: var(--burger-button-size);
    --burger-button-height: calc(var(--burger-button-size)*0.85);
    display: inline-block;
    position: relative;
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    width: 1.5em;
    width: var(--burger-button-size);
    height: 1.5em;
    height: var(--burger-button-size);
    position: absolute;
    top: 0;
    right: 0;
    margin: .2em;
    cursor: pointer;
    -webkit-transform: scale(.8);
    transform: scale(.8)
}

.map-infobox-content [data-close] span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    border-top: 1px solid var(--color-text);
    -webkit-transform: translate(-50%,-50%) scaleY(1.5);
    transform: translate(-50%,-50%) scaleY(1.5)
}

.map-infobox-content [data-close] span:first-child {
    -webkit-transform: translate(-50%,-50%) rotate(-45deg) scaleY(1.5);
    transform: translate(-50%,-50%) rotate(-45deg) scaleY(1.5)
}

.map-infobox-content [data-close] span:nth-child(2) {
    -webkit-transform: translate(-50%,-50%) rotate(45deg) scaleY(1.5);
    transform: translate(-50%,-50%) rotate(45deg) scaleY(1.5)
}

.navigation-bar {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.navigation-bar ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.navigation-bar li {
    display: block;
    background: var(--color-bg)
}

.navigation-bar li+li {
    margin-top: .3em
}

.navigation-bar a,.navigation-bar span {
    display: inline-block;
    padding: .3em .25em .225em;
    line-height: .75;
    color: var(--color-text);
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    box-shadow: inset 0 0 0 .5px var(--color-border);
    transition: opacity .25s,border-color .25s,background-color .25s,color .25s;
    text-transform: uppercase
}

.navigation-bar [data-current] a,.navigation-bar [data-current] span {
    --color-text: var(--color-active-text);
    --color-bg: var(--color-active-bg);
    --color-border: var(--color-active-border)
}

.navigation-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: max(10px,env(safe-area-inset-top));
    padding-top: max(var(--page-padding),env(safe-area-inset-top));
    padding-left: max(10px,env(safe-area-inset-left));
    padding-left: max(var(--page-padding),env(safe-area-inset-left));
    padding-right: max(10px,env(safe-area-inset-right));
    padding-right: max(var(--page-padding),env(safe-area-inset-right));
    display: grid;
    grid-gap: 14px;
    grid-gap: var(--grid-gutter);
    grid-template-columns: repeat(12,1fr);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background-color: var(--color-bg);
    z-index: 50
}

.js .navigation-overlay {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear .5s,opacity .5s
}

.navigation-overlay[aria-hidden=false] {
    visibility: visible;
    opacity: 1;
    transition: visibility 0s linear 0s,opacity .5s
}

.navigation-overlay a,.navigation-overlay button {
    pointer-events: auto
}

.navigation-overlay nav:first-of-type {
    grid-row: 1;
    grid-column: 1/span 6;
    pointer-events: auto
}

.navigation-overlay nav:nth-of-type(2) {
    grid-row: 1;
    grid-column: 9/span 4;
    margin-top: 2.775em;
    margin-top: var(--burger-button-offset);
    text-transform: uppercase
}

.navigation-overlay nav:nth-of-type(3) {
    position: absolute;
    bottom: 0;
    left: 100%;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    white-space: nowrap;
    padding-left: max(10px,env(safe-area-inset-bottom));
    padding-left: var(--page-padding-bottom-safe);
    padding-bottom: max(10px,env(safe-area-inset-right));
    padding-bottom: var(--page-padding-right-safe);
    text-transform: uppercase
}

.navigation-overlay .class-banner {
    grid-column: 1/span 12
}

.navigation-overlay .navigation-toggle {
    grid-row: 1;
    grid-column: 9/span 4;
    justify-self: start
}

@media print,screen and (min-width: 48.0625em) {
    .navigation-overlay {
        pointer-events:none;
        background-color: transparent
    }

    .navigation-overlay nav:first-of-type {
        visibility: hidden
    }

    .navigation-overlay nav:nth-of-type(2) {
        grid-column: 10/span 3
    }

    .navigation-overlay .class-banner,.navigation-overlay nav:nth-of-type(3) {
        visibility: hidden
    }

    .navigation-overlay .navigation-toggle {
        grid-column: 10
    }
}

.navigation-toggle {
    --burger-button-width: var(--burger-button-size);
    --burger-button-height: calc(var(--burger-button-size)*0.85);
    position: relative;
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    width: var(--burger-button-width);
    height: var(--burger-button-height)
}

.navigation-toggle:focus {
    border-color: green
}

.navigation-toggle span[data-navigation-target] {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.navigation-toggle span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    border-top: 1px solid var(--color-text);
    -webkit-transform: translate(-50%,-50%) scaleY(1.5);
    transform: translate(-50%,-50%) scaleY(1.5);
    transition: border-color .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);
    transition: transform .3s cubic-bezier(.645,.045,.355,1),border-color .3s cubic-bezier(.645,.045,.355,1);
    transition: transform .3s cubic-bezier(.645,.045,.355,1),border-color .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1)
}

.navigation-toggle span:first-child {
    top: 1px
}

.navigation-toggle span:nth-child(4) {
    top: calc(100% - 1px)
}

.navigation-toggle span:first-child,.navigation-toggle span:nth-child(4) {
    transition-delay: .2s,0s
}

.navigation-toggle span:nth-child(2),.navigation-toggle span:nth-child(3) {
    transition-delay: 0s,0s
}

.navigation-toggle span:nth-child(3) {
    border-color: transparent
}

.is-main-navigation-visible .navigation-toggle span:first-child {
    border-color: transparent;
    -webkit-transform: translate(-50%,calc(var(--burger-button-height)/2)) scaleY(1.5);
    transform: translate(-50%,calc(var(--burger-button-height)/2)) scaleY(1.5)
}

.is-main-navigation-visible .navigation-toggle span:nth-child(4) {
    border-color: transparent;
    -webkit-transform: translate(-50%,calc(var(--burger-button-height)/-2)) scaleY(1.5);
    transform: translate(-50%,calc(var(--burger-button-height)/-2)) scaleY(1.5)
}

.is-main-navigation-visible .navigation-toggle span:first-child,.is-main-navigation-visible .navigation-toggle span:nth-child(4) {
    transition-delay: 0s,0s
}

.is-main-navigation-visible .navigation-toggle span:nth-child(2),.is-main-navigation-visible .navigation-toggle span:nth-child(3) {
    transition-delay: .2s,0s
}

.is-main-navigation-visible .navigation-toggle span:nth-child(2) {
    -webkit-transform: translate(-50%,-50%) rotate(-45deg) scaleY(1.5);
    transform: translate(-50%,-50%) rotate(-45deg) scaleY(1.5)
}

.is-main-navigation-visible .navigation-toggle span:nth-child(3) {
    -webkit-transform: translate(-50%,-50%) rotate(45deg) scaleY(1.5);
    transform: translate(-50%,-50%) rotate(45deg) scaleY(1.5);
    border-color: var(--color-text)
}

.news-preview {
    --display: flex;
    display: flex;
    flex-direction: column
}

.news-preview,.news-preview a {
    position: relative
}

.news-preview>a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.news-preview__section {
    order: -2;
    margin-bottom: .75em
}

.news-preview__header {
    display: flex;
    flex-direction: column
}

.news-preview__header .news-preview__date {
    order: -1
}

.news-preview__title {
    text-transform: uppercase;
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em;
    margin-bottom: .4em
}

@media screen and (min-width: 1920px) {
    .news-preview__title {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .news-preview__title {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .news-preview__title {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .news-preview__title {
        font-size:30px
    }
}

.news-preview__image {
    order: -1;
    padding-bottom: .75em
}

.news-preview__image .ratio-container {
    padding-bottom: 66.6666666667%!important
}

.newsletter-form__heading {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.newsletter-form__cta {
    text-transform: uppercase;
    padding-bottom: 1em
}

.newsletter-form__form .input-wrapper--text label {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.js .newsletter-form__details {
    max-height: 0;
    overflow: hidden;
    transition: max-height 1s
}

[data-newsletter-form-expanded-value=true] .newsletter-form__details {
    max-height: 600px
}

@media print,screen and (min-width: 48.0625em) {
    .newsletter-form--large .newsletter-form__cta {
        font-size:calc(25.8px + 1vw);
        line-height: calc(30.8px + 1vw);
        letter-spacing: -.01em
    }

    @media screen and (min-width: 1920px) {
        .newsletter-form--large .newsletter-form__cta {
            line-height:50px
        }
    }

    @media screen and (max-width: 420px) {
        .newsletter-form--large .newsletter-form__cta {
            line-height:35px
        }
    }

    @media screen and (min-width: 1920px) {
        .newsletter-form--large .newsletter-form__cta {
            font-size:45px
        }
    }

    @media screen and (max-width: 420px) {
        .newsletter-form--large .newsletter-form__cta {
            font-size:30px
        }
    }

    .newsletter-form--large .newsletter-form__form button {
        font-size: calc(20.8px + 1vw);
        line-height: calc(30.8px + 1vw);
        letter-spacing: -.01em
    }

    @media screen and (min-width: 1920px) {
        .newsletter-form--large .newsletter-form__form button {
            line-height:50px
        }
    }

    @media screen and (max-width: 420px) {
        .newsletter-form--large .newsletter-form__form button {
            line-height:35px
        }
    }

    @media screen and (min-width: 1920px) {
        .newsletter-form--large .newsletter-form__form button {
            font-size:45px
        }
    }

    @media screen and (max-width: 420px) {
        .newsletter-form--large .newsletter-form__form button {
            font-size:30px
        }
    }

    .newsletter-form--large .newsletter-form__form input {
        padding: .6em .75em .5em
    }
}

.partner-grid section+section {
    margin-top: calc(var(--content-spacing)/4.5)
}

.partner-grid h3 {
    margin-bottom: 1em;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em;
    text-transform: uppercase
}

@media screen and (min-width: 1920px) {
    .partner-grid h3 {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .partner-grid h3 {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .partner-grid h3 {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .partner-grid h3 {
        font-size:15px
    }
}

.logo-grid {
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.logo-grid>* {
    flex: 0 0 5em;
    max-width: 100%;
    margin-bottom: 1.25rem;
    margin-right: 14px;
    margin-right: var(--grid-gutter)
}

.logo-grid .ratio-container {
    --aspect-ratio: 1.5
}

.logo-grid .ratio-container img {
    -o-object-fit: contain;
    object-fit: contain
}

.logo-grid figure {
    -webkit-filter: brightness(90%) contrast(140%) grayscale(100%);
    filter: brightness(90%) contrast(140%) grayscale(100%);
    transition: -webkit-filter .25s;
    transition: filter .25s;
    transition: filter .25s,-webkit-filter .25s
}

@media (hover: hover) {
    .logo-grid figure:hover {
        -webkit-filter:grayscale(0);
        filter: grayscale(0)
    }
}

.logo-grid figcaption {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.person-grid {
    display: grid;
    grid-row-gap: 2.5em;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-template-columns: repeat(12,1fr)
}

.person-grid>* {
    grid-column: span 12;
    align-self: flex-start
}

@media print,screen and (min-width: 48.0625em) {
    .person-grid>* {
        grid-column:span 6
    }
}

@media print,screen and (min-width: 48.0625em) {
    .person-grid[data-size=full]>* {
        grid-column:span 5
    }

    .person-grid[data-size=full]>:nth-child(2n+2) {
        grid-column: 7/span 5
    }
}

@media screen and (min-width: 80em) {
    .person-grid[data-size=full]>*,.person-grid[data-size=full]>:nth-child(2n+2) {
        grid-column:span 3
    }

    .person-grid[data-size=full]>:nth-child(3n+2) {
        grid-column: 5/span 3
    }

    .person-grid[data-size=full]>:nth-child(3n+3) {
        grid-column: 9/span 3
    }
}

@media print,screen and (min-width: 48.0625em) {
    .person-grid[data-size=accordion]>* {
        grid-column:span 5
    }

    .person-grid[data-size=accordion]>:nth-child(2n+2) {
        grid-column: 7/span 5
    }
}

@media screen and (min-width: 80em) {
    .person-grid[data-size=accordion] {
        grid-template-columns:repeat(9,1fr)
    }

    .person-grid[data-size=accordion]>*,.person-grid[data-size=accordion]>:nth-child(2n+2) {
        grid-column: span 3
    }

    .person-grid[data-size=accordion]>:nth-child(2n+2) {
        grid-column: 5/span 3
    }
}

.person-preview {
    --person-image-height: 0;
    display: grid;
    grid-gap: 14px;
    grid-gap: var(--grid-gutter);
    grid-template-columns: repeat(6,1fr)
}

.person-preview,.person-preview a {
    position: relative
}

.person-preview>a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.person-preview__name {
    grid-column: span 6;
    text-transform: uppercase
}

.person-preview__name:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.person-preview__text {
    grid-column: span 6;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .person-preview__text {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .person-preview__text {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .person-preview__text {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .person-preview__text {
        font-size:15px
    }
}

.person-preview__image {
    grid-column: 4/span 3;
    order: -1
}

.person-preview__image figure {
    position: relative;
    border-radius: 50%;
    overflow: hidden
}

.person-preview__image figure:before {
    content: "";
    display: block;
    padding-bottom: 100%
}

.person-preview__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 50%
}

.person-preview__image figcaption {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

@media print,screen and (min-width: 48.0625em) {
    .person-preview__image {
        grid-column:3/span 4
    }
}

.person-preview--main .person-preview__name {
    text-transform: inherit;
    font-size: calc(18.04px + .46667vw);
    line-height: calc(22.76px + .53333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .person-preview--main .person-preview__name {
        line-height:33px
    }
}

@media screen and (max-width: 420px) {
    .person-preview--main .person-preview__name {
        line-height:25px
    }
}

@media screen and (min-width: 1920px) {
    .person-preview--main .person-preview__name {
        font-size:27px
    }
}

@media screen and (max-width: 420px) {
    .person-preview--main .person-preview__name {
        font-size:20px
    }
}

@media print,screen and (min-width: 48.0625em) {
    .person-preview--main .person-preview__image {
        margin-bottom:2em;
        grid-column: 1/span 4
    }
}

.popup {
    --padding: .5em .35em .5em;
    display: flex;
    position: relative;
    padding: var(--padding);
    background-color: var(--color-text);
    color: var(--color-bg);
    transition: opacity .25s linear,color .25s,background-color .25s
}

.popup[aria-hidden=true] {
    opacity: 0;
    pointer-events: none
}

.popup:after {
    content: "";
    padding-bottom: 100%
}

.popup--highlight {
	background-image: url("/fotoDaniela.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 300px; /* el popup está vacío, sin altura no se ve la imagen */
    background-color: var(--color-highlight);
    color: var(--color-bg)
}

.popup--highlight .popup__content {
    --color-text: var(--color-bg)
}

.popup__content {
    flex: 0 0 100%
}

.popup__content:before {
     display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.popup__content p:first-child:before {
    content: "";
    display: inline-block;
    float: right;
    width: 1em;
    height: 1em
}

.popup__content a:only-child {
    background-image: linear-gradient(transparent,transparent);
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.popup__content a:only-child::selection {
    text-shadow: .03em 0 transparent,-.03em 0 transparent,.06em 0 transparent,-.06em 0 transparent,-.09em 0 transparent,0 .03em transparent,0 -.03em transparent,0 -.06em transparent,0 -.09em transparent,.03em .03em transparent,-.03em -.03em transparent,.03em -.03em transparent,-.03em .03em transparent;
    background: transparent
}

.popup__content a:only-child::-moz-selection {
    text-shadow: .03em 0 transparent,-.03em 0 transparent,.06em 0 transparent,-.06em 0 transparent,-.09em 0 transparent,0 .03em transparent,0 -.03em transparent,0 -.06em transparent,0 -.09em transparent,.03em .03em transparent,-.03em -.03em transparent,.03em -.03em transparent,-.03em .03em transparent;
    background: transparent
}

@media (hover: hover) {
    .popup__content a:only-child:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.popup__content a:only-child *,.popup__content a:only-child:after,.popup__content a:only-child :after,.popup__content a:only-child:before,.popup__content a:only-child :before {
    text-shadow: none
}

.popup__content a:only-child:visited {
    color: var(--color-text)
}

.popup__close {
    position: absolute;
    top: 0;
    right: 0;
    width: .75em;
    height: .75em;
    margin: var(--padding)
}

.popup__close .icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.page-progress-bar {
    display: none;
    height: 2px;
    background-color: var(--color-text)
}

.project-preview {
    display: flex;
    flex-direction: column
}

.project-preview,.project-preview a {
    position: relative
}

.project-preview>a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.project-preview__header {
    margin-bottom: .4em;
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .project-preview__header {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .project-preview__header {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .project-preview__header {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .project-preview__header {
        font-size:30px
    }
}

.project-preview__header time {
    display: block;
    font-size: calc(18.04px + .46667vw);
    line-height: calc(22.76px + .53333vw);
    letter-spacing: -.01em;
    margin-top: .5em
}

@media screen and (min-width: 1920px) {
    .project-preview__header time {
        line-height:33px
    }
}

@media screen and (max-width: 420px) {
    .project-preview__header time {
        line-height:25px
    }
}

@media screen and (min-width: 1920px) {
    .project-preview__header time {
        font-size:27px
    }
}

@media screen and (max-width: 420px) {
    .project-preview__header time {
        font-size:20px
    }
}

.project-preview__title {
    text-transform: uppercase
}

.project-preview__image {
    order: -1;
    padding-bottom: 1em
}

.project-preview__image .ratio-container {
    padding-bottom: 66.6666666667%!important
}

.ratio-container {
    position: relative;
    max-width: 100%;
    height: 0;
    overflow: hidden;
    padding-bottom: .01%;
    padding-bottom: calc(100%/var(--aspect-ratio, 9999))
}

.ratio-container canvas,.ratio-container iframe,.ratio-container img,.ratio-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ratio-container canvas,.ratio-container img,.ratio-container video {
    -o-object-fit: cover;
    object-fit: cover
}

.js .read-more[data-cloak] .read-more__content-inner {
    max-height: 0;
    overflow: hidden
}

.read-more__toggle {
    margin-top: 1.25em;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer
}

.read-more__toggle:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.read-more__toggle span {
    position: relative;
    top: .02em
}

.read-more__toggle .icon {
    position: relative;
    top: -.1em;
    width: .85em;
    height: .85em;
    margin-left: .85em;
    transition: opacity .25s,-webkit-transform .5s;
    transition: transform .5s,opacity .25s;
    transition: transform .5s,opacity .25s,-webkit-transform .5s
}

[data-read-more-open-value=true] .read-more__toggle .icon {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.read-more__content {
    transition: opacity .5s
}

.js .read-more__content {
    opacity: 0
}

[data-read-more-open-value=true] .read-more__content {
    opacity: 1;
    transition-delay: .25s
}

.read-more__content-inner {
    padding-top: 1.25em
}

.read-more--medium .read-more__content-inner,.read-more--medium .read-more__toggle {
    font-size: calc(18.04px + .46667vw);
    line-height: calc(22.76px + .53333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .read-more--medium .read-more__content-inner,.read-more--medium .read-more__toggle {
        line-height:33px
    }
}

@media screen and (max-width: 420px) {
    .read-more--medium .read-more__content-inner,.read-more--medium .read-more__toggle {
        line-height:25px
    }
}

@media screen and (min-width: 1920px) {
    .read-more--medium .read-more__content-inner,.read-more--medium .read-more__toggle {
        font-size:27px
    }
}

@media screen and (max-width: 420px) {
    .read-more--medium .read-more__content-inner,.read-more--medium .read-more__toggle {
        font-size:20px
    }
}

.rich-text a {
    background-image: linear-gradient(var(--color-text),var(--color-text));
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.rich-text a::selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

.rich-text a::-moz-selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

@media (hover: hover) {
    .rich-text a:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.rich-text a *,.rich-text a:after,.rich-text a :after,.rich-text a:before,.rich-text a :before {
    text-shadow: none
}

.rich-text a:visited {
    color: var(--color-text)
}

.rich-text a[href^="tel:"] {
    background-image: linear-gradient(transparent,transparent);
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.rich-text a[href^="tel:"]::selection {
    text-shadow: .03em 0 transparent,-.03em 0 transparent,.06em 0 transparent,-.06em 0 transparent,-.09em 0 transparent,0 .03em transparent,0 -.03em transparent,0 -.06em transparent,0 -.09em transparent,.03em .03em transparent,-.03em -.03em transparent,.03em -.03em transparent,-.03em .03em transparent;
    background: transparent
}

.rich-text a[href^="tel:"]::-moz-selection {
    text-shadow: .03em 0 transparent,-.03em 0 transparent,.06em 0 transparent,-.06em 0 transparent,-.09em 0 transparent,0 .03em transparent,0 -.03em transparent,0 -.06em transparent,0 -.09em transparent,.03em .03em transparent,-.03em -.03em transparent,.03em -.03em transparent,-.03em .03em transparent;
    background: transparent
}

@media (hover: hover) {
    .rich-text a[href^="tel:"]:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.rich-text a[href^="tel:"] *,.rich-text a[href^="tel:"]:after,.rich-text a[href^="tel:"] :after,.rich-text a[href^="tel:"]:before,.rich-text a[href^="tel:"] :before {
    text-shadow: none
}

.rich-text a[href^="tel:"]:visited {
    color: var(--color-text)
}

.rich-text.rich-text--nolinks a {
    background-image: linear-gradient(transparent,transparent);
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.rich-text.rich-text--nolinks a::selection {
    text-shadow: .03em 0 transparent,-.03em 0 transparent,.06em 0 transparent,-.06em 0 transparent,-.09em 0 transparent,0 .03em transparent,0 -.03em transparent,0 -.06em transparent,0 -.09em transparent,.03em .03em transparent,-.03em -.03em transparent,.03em -.03em transparent,-.03em .03em transparent;
    background: transparent
}

.rich-text.rich-text--nolinks a::-moz-selection {
    text-shadow: .03em 0 transparent,-.03em 0 transparent,.06em 0 transparent,-.06em 0 transparent,-.09em 0 transparent,0 .03em transparent,0 -.03em transparent,0 -.06em transparent,0 -.09em transparent,.03em .03em transparent,-.03em -.03em transparent,.03em -.03em transparent,-.03em .03em transparent;
    background: transparent
}

@media (hover: hover) {
    .rich-text.rich-text--nolinks a:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.rich-text.rich-text--nolinks a *,.rich-text.rich-text--nolinks a:after,.rich-text.rich-text--nolinks a :after,.rich-text.rich-text--nolinks a:before,.rich-text.rich-text--nolinks a :before {
    text-shadow: none
}

.rich-text.rich-text--nolinks a:visited {
    color: var(--color-text)
}

.rich-text sub,.rich-text sup {
    font-size: .8em
}

.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.rich-text h5,.rich-text h6 {
    margin-top: 1.875em;
    margin-bottom: 1.25rem;
    padding-left: calc(16.66667vw - 3.33333px);
    padding-left: var(--indent-column,0)
}

@media print,screen and (min-width: 48.0625em) {
    .rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.rich-text h5,.rich-text h6 {
        padding-right:calc(16.66667vw - 3.33333px);
        padding-right: var(--indent-column,0)
    }
}

.rich-text h1:first-child,.rich-text h2:first-child,.rich-text h3:first-child,.rich-text h4:first-child,.rich-text h5:first-child,.rich-text h6:first-child {
    margin-top: 0
}

.rich-text h1+p img,.rich-text h2+p img,.rich-text h3+p img,.rich-text h4+p img,.rich-text h5+p img,.rich-text h6+p img {
    margin-top: .5em
}

.rich-text address,.rich-text detail,.rich-text figure,.rich-text img,.rich-text ol,.rich-text p,.rich-text table,.rich-text ul {
    margin-bottom: 1.25em
}

.rich-text address:last-child,.rich-text detail:last-child,.rich-text figure:last-child,.rich-text figure img,.rich-text img:last-child,.rich-text ol:last-child,.rich-text p:last-child,.rich-text table:last-child,.rich-text ul:last-child {
    margin-bottom: 0
}

.rich-text ul {
    display: table;
    list-style: none
}

.rich-text ul>li {
    display: table-row
}

.rich-text ul>li:before {
    display: table-cell;
    padding-right: 1.5em;
    content: "\2014"
}

.rich-text ol {
    display: table;
    list-style: none;
    counter-reset: table-ol
}

.rich-text ol>li {
    display: table-row;
    counter-increment: table-ol
}

.rich-text ol>li:before {
    display: table-cell;
    text-align: right;
    padding-right: .4em;
    content: counter(table-ol) ".";
    white-space: nowrap
}

.rich-text dt[data-content-heading] {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.rich-text dd[data-content-heading],.rich-text dt {
    text-transform: uppercase
}

.rich-text dd+dt {
    margin-top: 1.25em
}

.rich-text table {
    border: 1px solid var(--color-border);
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .rich-text table {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .rich-text table {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .rich-text table {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .rich-text table {
        font-size:15px
    }
}

.rich-text td,.rich-text th {
    padding: .5em;
    vertical-align: top;
    border: 1px solid var(--color-border)
}

.rich-text details summary {
    display: inline-block;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap
}

.rich-text details summary::-webkit-details-marker {
    display: none
}

.rich-text details summary>div {
    display: inline-flex;
    justify-content: space-between;
    align-items: baseline
}

.rich-text details summary>div:after {
    content: "\2193";
    display: block;
    transition: -webkit-transform .25s;
    transition: transform .25s;
    transition: transform .25s,-webkit-transform .25s;
    font-size: 1.25em;
    margin-left: .5em
}

.rich-text details summary span {
    background-image: linear-gradient(var(--color-text),var(--color-text));
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.rich-text details summary span::selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

.rich-text details summary span::-moz-selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

@media (hover: hover) {
    .rich-text details summary span:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.rich-text details summary span *,.rich-text details summary span:after,.rich-text details summary span :after,.rich-text details summary span:before,.rich-text details summary span :before {
    text-shadow: none
}

.rich-text details summary span:visited {
    color: var(--color-text)
}

.rich-text details summary+* {
    margin-top: 2.5em
}

.rich-text details[open] summary:after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.rich-text--top-level h2,.rich-text--top-level h3 {
    text-transform: uppercase;
    padding-left: 0
}

.rich-text--top-level h3 {
    margin-bottom: 0
}

.rich-text--details h2,.rich-text--details h3,.rich-text--details h4,.rich-text--details h5 {
    text-transform: uppercase;
    margin-bottom: 0;
    padding-left: 0
}

.scroll-slides {
    display: grid
}

.scroll-slides--highlight {
    color: var(--color-highlight)
}

.scroll-slides__heading {
    font-size: calc(38.8px + 2.66667vw);
    line-height: calc(42.4px + 3vw);
    letter-spacing: -.025em;
    text-transform: uppercase;
    margin-bottom: .25em
}

@media screen and (min-width: 1920px) {
    .scroll-slides__heading {
        line-height:100px
    }
}

@media screen and (max-width: 420px) {
    .scroll-slides__heading {
        line-height:55px
    }
}

@media screen and (min-width: 1920px) {
    .scroll-slides__heading {
        font-size:90px
    }
}

@media screen and (max-width: 420px) {
    .scroll-slides__heading {
        font-size:50px
    }
}

.scroll-slides__content:before,.scroll-slides__heading:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.scroll-slides__nav {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em;
    text-transform: uppercase;
    color: var(--color-text-light)
}

@media screen and (min-width: 1920px) {
    .scroll-slides__nav {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .scroll-slides__nav {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .scroll-slides__nav {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .scroll-slides__nav {
        font-size:30px
    }
}

.scroll-slides__nav:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.scroll-slides__nav .is-active {
    color: var(--color-text)
}

.scroll-slides__content+.scroll-slides__heading {
    margin-top: 1.875em
}

@media screen and (max-width: 48.06125em) {
    .scroll-slides__nav {
        position:absolute!important;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip: rect(0,0,0,0);
        white-space: nowrap;
        border: 0
    }
}

@media print,screen and (min-width: 48.0625em) {
    .scroll-slides {
        display:grid;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter);
        grid-template-columns: repeat(12,1fr)
    }

    .scroll-slides__heading {
        position: absolute!important;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip: rect(0,0,0,0);
        white-space: nowrap;
        border: 0
    }

    .scroll-slides__nav {
        position: -webkit-sticky;
        position: sticky;
        top: calc(min(50vh, 7.5em * 1.4) + max(10px, 0));
        top: calc(min(50vh, 7.5em * 1.4) + max(10px, env(safe-area-inset-top)));
        top: calc(var(--content-top-padding) + var(--page-padding-top-safe));
        grid-column: 1/span 3
    }

    .scroll-slides__content {
        grid-column: 4/span 9;
        min-height: calc(100vh - 7.5em);
        min-height: calc(var(--viewport-height) - var(--header-height));
        padding-bottom: 50vh
    }
}

@media screen and (min-width: 80em) {
    .scroll-slides__nav {
        font-size:calc(38.8px + 2.66667vw);
        line-height: calc(42.4px + 3vw);
        letter-spacing: -.025em
    }

    @media screen and (min-width: 1920px) {
        .scroll-slides__nav {
            line-height:100px
        }
    }

    @media screen and (max-width: 420px) {
        .scroll-slides__nav {
            line-height:55px
        }
    }

    @media screen and (min-width: 1920px) {
        .scroll-slides__nav {
            font-size:90px
        }
    }

    @media screen and (max-width: 420px) {
        .scroll-slides__nav {
            font-size:50px
        }
    }
}

.slideshow {
    --slide-width: calc(var(--container-column)*10 + var(--grid-gutter)*9);
    width: 100%;
    overflow: hidden
}

@media print,screen and (min-width: 48.0625em) {
    .slideshow {
        --slide-width:calc(var(--container-column)*9 + var(--grid-gutter)*8)
    }
}

.slideshow.swiper-container-initialized figcaption {
    opacity: 0;
    transition: opacity .25s
}

.slideshow .swiper-slide-active figcaption {
    opacity: 1
}

.slideshow figcaption {
    padding-top: .5em;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .slideshow figcaption {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .slideshow figcaption {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .slideshow figcaption {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .slideshow figcaption {
        font-size:15px
    }
}

.slideshow__slide {
    width: var(--slide-width)
}

.slideshow__slide .ratio-container {
    padding-bottom: calc(100%/var(--slideshow-ratio))!important
}

.slideshow__slide img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 0 0;
    object-position: 0 0
}

.js .swiper-container {
    transition: opacity .25s;
    opacity: 0
}

.js .swiper-container-initialized {
    opacity: 1
}

.js .swiper-slide {
    transition: opacity .1s
}

.js .swiper-container[data-real-index="0"] .swiper-slide-duplicate-prev,.js .swiper-container[data-real-index="0"] .swiper-slide-prev {
    opacity: 0
}

.js .swiper-container[data-real-index="0"] .swiper-slide-duplicate-next,.js .swiper-container[data-real-index="0"] .swiper-slide-next {
    opacity: 1
}

.slideshow[data-slideshow-orientation=landscape] .ratio-container[data-orientation=portrait] img,.slideshow[data-slideshow-orientation=portrait] .ratio-container[data-orientation=landscape] img {
    -o-object-fit: contain;
    object-fit: contain
}

@media print,screen and (min-width: 48.0625em) {
    .slideshow[data-slideshow-center-value=true] {
        --slide-width:calc(var(--container-column)*6 + var(--grid-gutter)*5)
    }
}

.slideshow__arrow {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 50%;
    width: calc(50% - var(--slide-width)/2);
    z-index: 3;
    outline: none;
    cursor: pointer
}

@media screen and (max-width: 48.06125em) {
    .slideshow__arrow {
        display:none
    }
}

.slideshow__arrow--next {
    left: auto;
    right: 0
}

.text-section {
    display: grid;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-template-columns: 1fr 1fr 1fr 1fr
}

.text-section>div {
    grid-column: 1/span 4
    color: #2f2727;
}

.text-section>div:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.text-section>div:first-child {
    margin-bottom: 3em;
    text-transform: uppercase
}

.text-section>div:first-child:empty {
    display: none
}

@media print,screen and (min-width: 48.0625em) {
    .text-section>div:first-child {
        grid-column:1/span 1
    }

    .text-section>div:nth-child(2) {
        grid-column: 2/span 3
    }
}

.text-section--large>div:nth-child(2) {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .text-section--large>div:nth-child(2) {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .text-section--large>div:nth-child(2) {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .text-section--large>div:nth-child(2) {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .text-section--large>div:nth-child(2) {
        font-size:30px
    }
}

.toggle {
    flex: 0 0 100%;
    transition: opacity .25s
}

.js .toggle[data-cloak] .toggle__content {
    max-height: 0
}

.js .toggle[data-cloak] .icon {
    opacity: 0
}

.toggle__toggle {
    cursor: pointer;
    font-size: calc(38.8px + 2.66667vw);
    line-height: calc(42.4px + 3vw);
    letter-spacing: -.025em
}

@media screen and (min-width: 1920px) {
    .toggle__toggle {
        line-height:100px
    }
}

@media screen and (max-width: 420px) {
    .toggle__toggle {
        line-height:55px
    }
}

@media screen and (min-width: 1920px) {
    .toggle__toggle {
        font-size:90px
    }
}

@media screen and (max-width: 420px) {
    .toggle__toggle {
        font-size:50px
    }
}

.toggle__toggle:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.toggle__toggle .icon {
    position: relative;
    top: -.1em;
    width: .85em;
    height: .85em;
    margin-left: .85em;
    transition: opacity .25s,-webkit-transform .5s;
    transition: transform .5s,opacity .25s;
    transition: transform .5s,opacity .25s,-webkit-transform .5s
}

[data-toggle-open-value=true] .toggle__toggle .icon {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.toggle__content-inner {
    transition: opacity .5s;
    opacity: 0
}

.toggle__content-inner:before {
    display: block;
    content: "";
    font-size: calc(38.8px + 2.66667vw);
    line-height: calc(42.4px + 3vw);
    letter-spacing: -.025em;
    height: 1.25em;
    max-height: 100px
}

@media screen and (min-width: 1920px) {
    .toggle__content-inner:before {
        line-height:100px
    }
}

@media screen and (max-width: 420px) {
    .toggle__content-inner:before {
        line-height:55px
    }
}

@media screen and (min-width: 1920px) {
    .toggle__content-inner:before {
        font-size:90px
    }
}

@media screen and (max-width: 420px) {
    .toggle__content-inner:before {
        font-size:50px
    }
}

[data-toggle-open-value=true] .toggle__content-inner {
    opacity: 1;
    transition-delay: .25s
}

.toggle__title {
    display: inline
}

.weather-summary {
    text-transform: uppercase
}

.workshop-matrix__group {
    display: grid;
    grid-row-gap: 1.2em;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-template-columns: repeat(12,1fr)
}

.workshop-matrix__group>* {
    grid-column: span 12;
    align-self: flex-start
}

@media print,screen and (min-width: 48.0625em) {
    .workshop-matrix__group>* {
        grid-column:span 6
    }
}

.workshop-matrix__group+.workshop-matrix__group {
    margin-top: var(--class-spacing)
}

.workshop-matrix__header {
    text-transform: uppercase
}

.workshop-matrix__header:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.workshop-matrix__details,.workshop-matrix__header p:last-child {
    margin-top: 1.2em
}

.workshop-matrix__grid {
    display: grid;
    grid-gap: 14px;
    grid-gap: var(--grid-gutter);
    grid-template-columns: repeat(12,1fr)
}

.workshop-matrix__grid>* {
    grid-column: span 6
}

@media screen and (min-width: 80em) {
    .workshop-matrix[data-size=accordion] .workshop-matrix__group {
        grid-template-columns:repeat(9,1fr)
    }

    .workshop-matrix[data-size=accordion] .workshop-matrix__top {
        grid-column: span 3
    }

    .workshop-matrix[data-size=accordion] .workshop-matrix__grid {
        grid-column: span 6
    }
}

.workshop-preview {
    display: flex;
    background-color: var(--color-text);
    color: var(--color-bg);
    padding: .5em .4em;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em;
    position: relative
}

@media screen and (min-width: 1920px) {
    .workshop-preview {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .workshop-preview {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .workshop-preview {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .workshop-preview {
        font-size:15px
    }
}

.workshop-preview a {
    position: relative
}

.workshop-preview>a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.workshop-preview:after {
    content: "";
    display: block;
    width: 0;
    padding-bottom: 100%
}

.workshop-preview__inner {
    display: flex;
    flex-direction: column
}

.workshop-preview__people {
    padding-top: 1.25em
}

.workshop-preview__categories {
    margin-top: auto;
    padding-top: 1.25em;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

.workshop-preview__categories span {
    display: block
}

.workshop-preview__title {
    text-transform: uppercase
}

.workshop-preview__title:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.workshop-preview__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity .25s;
    opacity: 0;
    pointer-events: none
}

.workshop-preview__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (hover: hover) {
    [data-whatintent=mouse] .workshop-preview:hover .workshop-preview__image {
        opacity:1
    }
}

@media screen and (min-width: 80em) {
    .workshop-preview {
        font-size:calc(18.04px + .46667vw);
        line-height: calc(22.76px + .53333vw);
        letter-spacing: -.01em
    }

    @media screen and (min-width: 1920px) {
        .workshop-preview {
            line-height:33px
        }
    }

    @media screen and (max-width: 420px) {
        .workshop-preview {
            line-height:25px
        }
    }

    @media screen and (min-width: 1920px) {
        .workshop-preview {
            font-size:27px
        }
    }

    @media screen and (max-width: 420px) {
        .workshop-preview {
            font-size:20px
        }
    }
}

.grid-overlay {
    position: fixed;
    top: max(10px,0);
    top: max(10px,env(safe-area-inset-top));
    top: var(--page-padding-top-safe);
    left: max(10px,0);
    left: max(10px,env(safe-area-inset-left));
    left: var(--page-padding-left-safe);
    right: max(10px,0);
    right: max(10px,env(safe-area-inset-right));
    right: var(--page-padding-right-safe);
    bottom: max(10px,0);
    bottom: max(10px,env(safe-area-inset-bottom));
    bottom: var(--page-padding-bottom-safe);
    pointer-events: none;
    z-index: 0
}

.grid-overlay__line {
    position: absolute;
    opacity: 0;
    transition: border-color .25s cubic-bezier(.645,.045,.355,1),opacity .25s cubic-bezier(.645,.045,.355,1)
}

.grid-overlay__line[data-flow=row] {
    left: 0;
    top: 50%;
    width: 100%;
    border-bottom: 1px solid;
    -webkit-transform: scaleY(1.5);
    transform: scaleY(1.5)
}

.grid-overlay__line[data-flow=column] {
    top: 0;
    left: 50%;
    height: 100%;
    border-right: 1px solid;
    -webkit-transform: scaleX(1.5);
    transform: scaleX(1.5)
}

.grid-overlay__line[data-flow=column]:first-child {
    left: 25%;
    margin-left: -3.5px;
    margin-left: calc(var(--grid-gutter)*-1/4)
}

.grid-overlay__line[data-flow=column]:nth-child(2) {
    left: 50%
}

.grid-overlay__line[data-flow=column]:nth-child(3) {
    left: 75%;
    margin-left: 3.5px;
    margin-left: calc(var(--grid-gutter)*1/4)
}

.page {
    padding-top: max(10px,env(safe-area-inset-top));
    padding-top: var(--page-padding-top-safe)
}

.page__header {
    padding-left: max(10px,env(safe-area-inset-left));
    padding-left: var(--page-padding-left-safe);
    padding-right: max(10px,env(safe-area-inset-right));
    padding-right: var(--page-padding-right-safe);
    z-index: 40
}

.page__header,.page__header .navigation-bar {
    position: relative
}

.page__header .logo,.page__header .navigation-bar {
    grid-row: 1;
    grid-column: 1/span 6;
    pointer-events: auto
}

.page__header .logo {
    max-width: var(--logo-max-width)
}

.page__header .navigation-toggle {
    grid-row: 1;
    grid-column: 9/span 2;
    pointer-events: auto;
    justify-self: start
}

.page__header .breadcrumb {
    grid-row: 1;
    grid-column: 9/span 4;
    margin-top: 2.775em;
    margin-top: var(--burger-button-offset);
    text-transform: uppercase;
    pointer-events: auto;
    transition: opacity .25s .25s
}

.is-leaving .page__header .breadcrumb,.is-main-navigation-visible .page__header .breadcrumb {
    transition: opacity .25s;
    opacity: 0;
    pointer-events: none
}

.page__header .breadcrumb a {
    background-image: linear-gradient(var(--color-text),var(--color-text));
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.page__header .breadcrumb a::selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

.page__header .breadcrumb a::-moz-selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

@media (hover: hover) {
    .page__header .breadcrumb a:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.page__header .breadcrumb a *,.page__header .breadcrumb a:after,.page__header .breadcrumb a :after,.page__header .breadcrumb a:before,.page__header .breadcrumb a :before {
    text-shadow: none
}

.page__header .breadcrumb a:visited {
    color: var(--color-text)
}

.page__header .logo-skd {
    display: none;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate3d(-50%,-70%,0);
    transform: translate3d(-50%,-70%,0);
    pointer-events: auto;
    transition: -webkit-transform .25s ease-in-out;
    transition: transform .25s ease-in-out;
    transition: transform .25s ease-in-out,-webkit-transform .25s ease-in-out
}

.page__header .class-banner {
    display: none
}

.page__header .sub-navigation {
    grid-row: 1;
    grid-column: 9/span 4;
    pointer-events: auto;
    text-transform: uppercase;
    margin-top: 2.775em;
    margin-top: var(--burger-button-offset)
}

.page__header .sub-navigation a,.page__header .sub-navigation li {
    display: flex
}

.page__header .sub-navigation li:not(:only-child) a:not([aria-current=page]) .icon {
    visibility: hidden
}

.page__header .sub-navigation [aria-current=page] span {
    text-decoration: underline
}

.page__header .sub-navigation .icon {
    width: 1em;
    height: 1em;
    margin-right: .25em
}

@media screen and (max-width: 26.25em) {
    .page__header .sub-navigation .icon {
        display:none
    }
}

.page__header .popup {
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .page__header .popup {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .page__header .popup {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .page__header .popup {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .page__header .popup {
        font-size:15px
    }
}

.page__header .popup:not([aria-hidden=true]) {
    pointer-events: auto
}

@media screen and (max-width: 64.06125em) {
    .page__header .popup {
        display:none
    }
}

@media screen and (max-width: 99.99875em) {
    .is-main-navigation-visible .page__header .popup {
        opacity:0;
        pointer-events: none
    }
}

.page__header__inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: max(10px,env(safe-area-inset-top));
    padding-top: var(--page-padding-top-safe);
    padding-left: max(10px,env(safe-area-inset-left));
    padding-left: var(--page-padding-left-safe);
    padding-right: max(10px,env(safe-area-inset-right));
    padding-right: var(--page-padding-right-safe);
    display: grid;
    grid-gap: 14px;
    grid-gap: var(--grid-gutter);
    grid-template-columns: repeat(12,1fr);
    align-items: start;
    pointer-events: none;
    z-index: 40
}

@media screen and (max-width: 48.06125em) {
    .page__header .navigation-bar {
        visibility:hidden
    }

    .template-home .page__header .navigation-bar {
        visibility: visible
    }

    .template-home .page__header .logo {
        opacity: 0;
        pointer-events: none
    }
}

@media print,screen and (min-width: 48.0625em) {
    .page__header .navigation-bar {
        grid-column:4/span 3
    }

    .page__header .logo {
        grid-column: 1/span 3
    }

    .page__header .navigation-toggle {
        grid-column: 10/span 2
    }

    .page__header .sub-navigation {
        grid-column: 7/span 3;
        margin-top: 0
    }

    .page__header .breadcrumb {
        grid-column: 10/span 3
    }

    .template-basic-page--text .page__header .logo-skd,.template-contact .page__header .logo-skd,.template-home .page__header .logo-skd {
        display: block
    }

    .has-header-image .page__header .logo-skd {
        display: none
    }

    .page__header .popup {
        grid-row: 1;
        grid-column: 11/span 2
    }

    .page__header .class-banner {
        grid-row: 1;
        grid-column: 7/span 3
    }

    .template-basic-page .page__header .class-banner,.template-root-event-list .page__header .class-banner,.template-root-news-list .page__header .class-banner,.template-root-school .page__header .class-banner {
        display: block;
        pointer-events: auto
    }

    .template-home .page__header .logo {
        opacity: 0;
        pointer-events: none
    }

    .page__header__inner--banner .sub-navigation {
        display: none
    }
}

@media screen and (min-width: 80em) {
    .page__header .popup {
        font-size:calc(18.04px + .46667vw);
        line-height: calc(22.76px + .53333vw);
        letter-spacing: -.01em
    }

    @media screen and (min-width: 1920px) {
        .page__header .popup {
            line-height:33px
        }
    }

    @media screen and (max-width: 420px) {
        .page__header .popup {
            line-height:25px
        }
    }

    @media screen and (min-width: 1920px) {
        .page__header .popup {
            font-size:27px
        }
    }

    @media screen and (max-width: 420px) {
        .page__header .popup {
            font-size:20px
        }
    }
}

.page__content {
    position: relative;
    outline: none;
    padding: var(--content-top-padding) var(--page-padding-right-safe) var(--content-spacing) var(--page-padding-left-safe);
    z-index: 20
}

.page__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    max-height: 80vh;
    max-height: var(--header-image-height);
    z-index: 10
}

.page__background img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.page__footer {
    position: relative;
    padding-left: max(10px,env(safe-area-inset-left));
    padding-left: var(--page-padding-left-safe);
    padding-right: max(10px,env(safe-area-inset-right));
    padding-right: var(--page-padding-right-safe);
    padding-bottom: max(10px,env(safe-area-inset-bottom));
    padding-bottom: var(--page-padding-bottom-safe);
    z-index: 30
}

.has-header-image .page__content,.has-header-image .page__footer {
    background-color: var(--color-bg)
}

.page-transition-fade {
    transition: opacity .1s ease-in-out;
    opacity: 1
}

html.is-animating .page-transition-fade {
    opacity: 0
}

.basic-page__title {
    text-transform: uppercase;
    margin-bottom: 1.25em
}

.template-basic-page.has-header-image .page {
    padding-top: 0
}

.template-basic-page.has-header-image .page__content {
    padding-top: 0;
    margin-top: 80vh;
    margin-top: var(--header-image-height)
}

.template-basic-page.has-header-image .basic-page__content {
    padding-top: 1.25em
}

.basic-page--text {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter)
}

.basic-page--text .basic-page__inner {
    grid-column: 1/span 12
}

@media print,screen and (min-width: 48.0625em) {
    .basic-page--text .basic-page__inner {
        grid-column:4/span 9
    }
}

@media screen and (min-width: 80em) {
    .basic-page--text .basic-page__inner {
        grid-column:4/span 7
    }
}

.basic-page--blocks .basic-page__header {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter)
}

.basic-page--blocks .basic-page__header .basic-page__title {
    grid-column: 1/span 12
}

@media print,screen and (min-width: 48.0625em) {
    .basic-page--blocks .basic-page__header .basic-page__title {
        grid-column:4/span 9
    }
}

@media screen and (min-width: 80em) {
    .basic-page--blocks .basic-page__header .basic-page__title {
        grid-column:4/span 7
    }
}

.basic-page--hidden-title .basic-page__header {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.template-class {
    --color-bg: #ff3b00;
    --color-text: #fff;
    --color-highlight: #fff;
    --color-active-bg: #fff;
    --color-class-content: var(--color-text)
}

@media print,screen and (min-width: 48.0625em) {
    .template-class .grid-overlay__line[data-flow=column] {
        opacity:1
    }
}

.template-class--past {
    --color-bg: #fff;
    --color-text: #000;
    --color-highlight: #ff3b00;
    --color-active-bg: #ff3b00;
    --color-class-content: #ff3b00
}

@media (hover: hover) {
    .navigation-item[data-template=class]:not([data-current]) a:hover,.navigation-item[data-template=school]:not([data-current]) a:hover {
        --color-bg:#ff3b00;
        --color-text: #fff;
        --color-border: #ff3b00
    }
}

.class {
    color: var(--color-class-content);
    --color-text: var(--color-class-content)
}

.class__title {
    order: -1;
    font-size: calc(38.8px + 2.66667vw);
    line-height: calc(42.4px + 3vw);
    letter-spacing: -.025em;
    text-transform: uppercase;
    grid-column: span 2
}

@media screen and (min-width: 1920px) {
    .class__title {
        line-height:100px
    }
}

@media screen and (max-width: 420px) {
    .class__title {
        line-height:55px
    }
}

@media screen and (min-width: 1920px) {
    .class__title {
        font-size:90px
    }
}

@media screen and (max-width: 420px) {
    .class__title {
        font-size:50px
    }
}

.class__intro:before,.class__title:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.class__facts,.class__info,.class__title {
    margin-bottom: var(--class-spacing)
}

.class__facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter)
}

.class__countdown,.class__dates {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .class__countdown,.class__dates {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .class__countdown,.class__dates {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .class__countdown,.class__dates {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .class__countdown,.class__dates {
        font-size:30px
    }
}

.class__images {
    width: 100vw;
    width: var(--viewport-width);
    margin-left: calc(50% - 50vw);
    margin-left: calc(50% - var(--viewport-width)/2);
    margin-bottom: var(--class-spacing)
}

@media print,screen and (min-width: 48.0625em) {
    .class__info {
        display:grid;
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter)
    }

    .class__facts {
        margin-bottom: 0
    }

    .class__images {
        grid-column: 1/span 12
    }
}

@media print,screen and (min-width: 48.0625em) {
    .template-contact .grid-overlay__line[data-flow=column],.template-contact .grid-overlay__line[data-flow=row] {
        opacity:1
    }
}

.template-contact .page__content {
    padding-left: 0;
    padding-right: 0
}

.contact:after {
    content: "";
    display: block;
    height: 1px;
    margin-top: 50vh
}

.contact__title {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.contact__info {
    margin-bottom: 4.0625em;
    padding-left: max(10px,env(safe-area-inset-left));
    padding-left: var(--page-padding-left-safe);
    padding-right: max(10px,env(safe-area-inset-right));
    padding-right: var(--page-padding-right-safe)
}

.contact__coordinates {
    display: none
}

.contact__logo {
    display: none;
    opacity: 0;
    pointer-events: none;
    padding-bottom: 10px;
    padding-bottom: var(--page-padding)
}

.contact__logo .logo {
    width: 75%;
    max-width: 50vh
}

.contact__map {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    display: flex;
    height: 100vh;
    height: var(--viewport-height)
}

.contact__map .map {
    flex: 0 0 100%
}

@media print,screen and (min-width: 48.0625em) {
    .template-contact .page__content {
        padding-top:0
    }

    .contact__logo {
        align-self: end
    }

    .contact__address,.contact__logo {
        grid-row: 2;
        grid-column: 1
    }

    .contact__coordinates {
        grid-row: 2;
        grid-column: 2;
        align-self: end
    }

    .contact__logo {
        display: block
    }

    .contact__logo .logo {
        width: 82%;
        max-width: none
    }

    .contact__info {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        grid-gap: 14px;
        grid-gap: var(--grid-gutter);
        min-height: calc(100vh - 20px);
        min-height: calc(var(--viewport-height) - var(--page-padding)*2);
        margin-bottom: 10px;
        margin-bottom: var(--page-padding)
    }

    .contact__coordinates {
        min-height: 0;
        min-height: var(--logo-height,0);
        display: block
    }
}

.event-list {
    display: grid;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-template-columns: 1fr
}

.event-list__title {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.event-list__calendar {
    margin-bottom: 2.5em;
    order: -1
}

.event-list__calendar .calendar {
    -webkit-transform: translateY(-.2em);
    transform: translateY(-.2em)
}

@media print,screen and (min-width: 48.0625em) {
    .event-list {
        grid-template-columns:repeat(12,1fr)
    }

    .event-list__calendar {
        grid-column: 7/span 4
    }

    .event-list__list {
        grid-column: span 12
    }
}

@media screen and (min-width: 80em) {
    .event-list__calendar {
        grid-column:1/span 3;
        margin-bottom: 0
    }

    .event-list__calendar .calendar {
        position: -webkit-sticky;
        position: sticky;
        top: calc(min(50vh, 7.5em * 1.4) + max(10px, 0));
        top: calc(min(50vh, 7.5em * 1.4) + max(10px, env(safe-area-inset-top)));
        top: calc(var(--content-top-padding) + var(--page-padding-top-safe))
    }

    .event-list__list {
        grid-column: 4/span 9
    }
}

.template-exhibition-list {
    --color-bg: #0546a5;
    --color-text: #fff;
    --color-active-bg: #fff
}

@media print,screen and (min-width: 48.0625em) {
    .template-exhibition-list .grid-overlay__line[data-flow=column] {
        opacity:1
    }
}

@media (hover: hover) {
    .navigation-item[data-template=exhibition-list]:not([data-current]) a:hover {
        --color-bg:#0546a5;
        --color-text: #fff;
        --color-border: #0546a5
    }
}

.template-exhibition .navigation-item[data-template=exhibition-list] a {
    --color-bg: #0546a5;
    --color-text: #fff;
    --color-border: #0546a5
}

.template-home .grid-overlay__line[data-flow=column]:nth-child(2),.template-home .grid-overlay__line[data-flow=row] {
    opacity: 1
}

.template-home .page__content {
    padding-top: 0
}

.home {
    --header-padding: calc(var(--page-padding)*2);
    --header-margin: calc(var(--page-padding)*3)
}

.home__header__main {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-gap: 14px;
    grid-gap: var(--grid-gutter);
    min-height: calc(100vh - var(--header-padding));
    min-height: calc(var(--viewport-height) - var(--header-padding));
    margin-bottom: var(--header-margin);
    z-index: 21;
    background-image: url("/fondo.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.home__logo {
    grid-row: 2;
    grid-column: 1/span 2;
    align-self: end
}

.home__coordinates {
    grid-row: 2;
    grid-column: 2;
    align-self: end
}

.home__banner {
    grid-row: 1;
    grid-column: 2;
    align-self: end
}

.home__logo {
    padding-bottom: 10px;
    padding-bottom: var(--page-padding)
}

.home__logo .logo {
    width: 75%;
    max-width: 50vh
}

.home__coordinates {
    min-height: 0;
    min-height: var(--logo-height,0);
    pointer-events: none;
    opacity: 0
}

.home__content .block[data-block=image][data-width=full]:first-child {
    margin-top: calc(var(--logo-height)*0.07*-1 + var(--header-padding)*-1 + var(--header-margin)*-1)
}

@media print,screen and (min-width: 48.0625em) {
    .home__logo {
        grid-column:1/span 1
    }

    .home__logo .logo {
        width: 82%;
        max-width: none
    }

    .home__coordinates {
        opacity: 1;
        pointer-events: auto
    }
}

.template-network-list {
    --color-bg: #ffea3d;
    --color-text: #000;
    --color-active-bg: #fff;
    --color-active-border: #000;
    --color-active-text: #000
}

@media print,screen and (min-width: 48.0625em) {
    .template-network-list .grid-overlay__line[data-flow=column] {
        opacity:1
    }
}

.template-network-list .page__content {
    padding-left: 10;
    padding-right: 10
}

.template-network-list--logos {
    --color-bg-body: #ffea3d;
    --color-bg-logos: #fff
}

html[style*="--logos-top:"] .template-network-list--logos .page {
    background: linear-gradient(180deg,var(--color-bg-body),var(--color-bg-body),var(--color-bg-logos) 0,var(--color-bg-logos));
    background: linear-gradient(180deg,var(--color-bg-body),var(--color-bg-body) var(--logos-top,0),var(--color-bg-logos) var(--logos-top,0),var(--color-bg-logos))
}

html[style*="--logos-top:"] .template-network-list--logos .page__footer {
    --color-bg: var(--color-bg-logos)
}

@media (hover: hover) {
    .navigation-item[data-template=network-list]:not([data-current]) a:hover {
        --color-bg:#ffea3d;
        --color-text: #000;
        --color-border: #ffea3d
    }
}

.network-list__title {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.network-list__intro {
    padding-left: max(10px,env(safe-area-inset-left));
    padding-left: var(--page-padding-left-safe);
    padding-right: max(10px,env(safe-area-inset-right));
    padding-right: var(--page-padding-right-safe)
}

.network-list__map {
    background: var(--color-bg);
    margin-top: var(--content-spacing)
}

.network-list__map:after {
    content: "";
    display: block;
    height: 1px;
    margin-top: 50vh
}

.network-list__map-inner {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    display: flex;
    width: 100%;
    height: 100vh;
    height: var(--viewport-height)
}

.network-list__map-inner .map {
    flex: 0 0 100%
}

.network-list__logos {
    margin-top: var(--content-spacing);
    padding-top: 1.25em;
    padding-left: max(10px,env(safe-area-inset-left));
    padding-left: var(--page-padding-left-safe);
    padding-right: max(10px,env(safe-area-inset-right));
    padding-right: var(--page-padding-right-safe)
}

.network-list__map+.network-list__logos {
    margin-top: 0
}

.news-item,.news-item__header {
    display: flex;
    flex-direction: column
}

.news-item__header {
    margin-bottom: 2em
}

.news-item__section {
    order: -2;
    padding-bottom: .75em
}

.news-item__date {
    order: -1
}

.news-item__title {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em;
    text-transform: uppercase
}

@media screen and (min-width: 1920px) {
    .news-item__title {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .news-item__title {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .news-item__title {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .news-item__title {
        font-size:30px
    }
}

.news-item__content {
    order: 1
}

.news-item__images {
    width: 100vw;
    width: var(--viewport-width);
    margin-left: calc(50% - 50vw);
    margin-left: calc(50% - var(--viewport-width)/2);
    margin-bottom: 2.5em
}

@media print,screen and (min-width: 48.0625em) {
    .news-item {
        display:grid;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter);
        grid-template-columns: repeat(12,1fr)
    }

    .news-item__content,.news-item__header {
        grid-column: 4/span 9
    }

    .news-item__images {
        grid-column: 1/span 12;
        margin-bottom: 5em
    }
}

@media screen and (min-width: 80em) {
    .news-item__content {
        grid-column:4/span 7
    }
}

.news-list__title {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.news-list__heading {
    text-transform: uppercase;
    margin-bottom: 2.5em
}

.news-list__intro+.news-list__list {
    margin-top: var(--content-spacing)
}

.news-grid {
    display: grid;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-row-gap: var(--item-spacing);
    grid-template-columns: 1fr
}

.news-grid--single-row>:nth-child(3)~* {
    display: none
}

@media print,screen and (min-width: 48.0625em) {
    .news-list__intro+.news-list__list,.news-list__list {
        margin-top:calc(var(--content-spacing)/3)
    }

    .news-grid {
        grid-template-columns: 1fr 1fr
    }

    .news-grid--single-row>:nth-child(2)~* {
        display: none
    }
}

@media screen and (min-width: 80em) {
    .news-grid {
        grid-template-columns:1fr 1fr 1fr
    }

    .news-grid--single-row>:nth-child(3) {
        display: block!important;
        display: var(--display,block)!important
    }
}

.item-date {
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em;
    text-transform: uppercase
}

@media screen and (min-width: 1920px) {
    .item-date {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .item-date {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .item-date {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .item-date {
        font-size:15px
    }
}

@media print,screen and (min-width: 48.0625em) {
    .template-newsletter-signup .grid-overlay__line[data-flow=column]:nth-child(2),.template-newsletter-signup .grid-overlay__line[data-flow=row] {
        opacity:1
    }
}

.template-newsletter-signup .page__content {
    padding-bottom: 0
}

.newsletter-signup__info {
    margin-bottom: 4.0625em
}

.newsletter-signup__title {
    text-transform: uppercase
}

@media print,screen and (min-width: 48.0625em) {
    .template-newsletter-signup .page__content {
        padding-top:0
    }

    .newsletter-signup {
        --height: calc(var(--viewport-height) - var(--page-padding)*2);
        --half: calc(var(--height)/2 - var(--grid-gutter)/2);
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: var(--half) 1fr;
        grid-gap: 14px;
        grid-gap: var(--grid-gutter)
    }

    .newsletter-signup__info {
        grid-row: 2;
        grid-column: 1;
        margin-bottom: 2.5em
    }
}

@media screen and (min-width: 80em) {
    .newsletter-signup__info {
        padding-right:2em
    }
}

.template-project-list {
    --color-bg: #000;
    --color-text: #fff;
    --color-active-bg: #fff
}

@media print,screen and (min-width: 48.0625em) {
    .template-project-list .grid-overlay__line[data-flow=column] {
        opacity:1
    }
}

@media (hover: hover) {
    .navigation-item[data-template=project-list]:not([data-current]) a:hover {
        --color-bg:#000;
        --color-text: #fff;
        --color-border: #000
    }
}

.project-list__title {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.project-list__info {
    margin-top: var(--content-spacing)
}

.project-list__heading,.project-list__nav {
    text-transform: uppercase;
    margin-bottom: 2.5em
}

.project-list__nav {
    display: flex
}

.project-list__nav>* {
    margin-right: .3em
}

.project-list__nav [aria-current=page] {
    background-image: linear-gradient(var(--color-text),var(--color-text));
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.project-list__nav [aria-current=page]::selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

.project-list__nav [aria-current=page]::-moz-selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

@media (hover: hover) {
    .project-list__nav [aria-current=page]:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.project-list__nav [aria-current=page] *,.project-list__nav [aria-current=page]:after,.project-list__nav [aria-current=page] :after,.project-list__nav [aria-current=page]:before,.project-list__nav [aria-current=page] :before {
    text-shadow: none
}

.project-list__nav [aria-current=page]:visited {
    color: var(--color-text)
}

.project-list__intro+.project-list__list {
    margin-top: var(--content-spacing)
}

.project-grid {
    display: grid;
    grid-column-gap: 14px;
    grid-column-gap: var(--grid-gutter);
    grid-row-gap: var(--item-spacing);
    grid-template-columns: 1fr
}

@media print,screen and (min-width: 48.0625em) {
    .project-list__intro+.project-list__list {
        margin-top:calc(var(--content-spacing)/3)
    }

    .project-grid {
        grid-template-columns: 1fr 1fr
    }
}

.template-project {
    --color-active-bg: #000
}

.template-exhibition .page__content,.template-project .page__content {
    padding-top: 0;
    margin-top: 80vh;
    margin-top: var(--header-image-height,80vh)
}

.project__header,.project__header-clone>div {
    padding-bottom: max(10px,env(safe-area-inset-bottom));
    padding-bottom: var(--page-padding-bottom-safe);
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .project__header,.project__header-clone>div {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .project__header,.project__header-clone>div {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .project__header,.project__header-clone>div {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .project__header,.project__header-clone>div {
        font-size:30px
    }
}

.project__header-clone>div time,.project__header time {
    display: block;
    font-size: calc(18.04px + .46667vw);
    line-height: calc(22.76px + .53333vw);
    letter-spacing: -.01em;
    margin-top: .5em
}

@media screen and (min-width: 1920px) {
    .project__header-clone>div time,.project__header time {
        line-height:33px
    }
}

@media screen and (max-width: 420px) {
    .project__header-clone>div time,.project__header time {
        line-height:25px
    }
}

@media screen and (min-width: 1920px) {
    .project__header-clone>div time,.project__header time {
        font-size:27px
    }
}

@media screen and (max-width: 420px) {
    .project__header-clone>div time,.project__header time {
        font-size:20px
    }
}

@media screen and (max-width: 48.06125em) {
    .project__header,.project__header-clone>div {
        padding-bottom:calc(max(10px, env(safe-area-inset-bottom)) + 1em);
        padding-bottom: calc(var(--page-padding-bottom-safe) + 1em)
    }
}

.project__header {
    margin-bottom: 2.5em
}

.project__header-clone {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    opacity: 0;
    pointer-events: none
}

.project__header-clone>div {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 100vh;
    min-height: var(--viewport-height);
    padding-top: max(10px,env(safe-area-inset-top));
    padding-top: var(--page-padding-top-safe);
    padding-left: max(10px,env(safe-area-inset-left));
    padding-left: var(--page-padding-left-safe);
    padding-right: max(10px,env(safe-area-inset-right));
    padding-right: var(--page-padding-right-safe)
}

.project__meta {
    margin-bottom: 5em;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .project__meta {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .project__meta {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .project__meta {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .project__meta {
        font-size:15px
    }
}

.project__meta:empty {
    margin-bottom: 0
}

.project__header-image {
    position: relative;
    flex-grow: 1
}

.project__header-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: -1
}

.project__title {
    text-transform: uppercase;
    padding-top: .4em
}

.project__image {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.project__images {
    width: 100vw;
    width: var(--viewport-width);
    margin-left: calc(50% - 50vw);
    margin-left: calc(50% - var(--viewport-width)/2);
    margin-top: 2.5em
}

@media print,screen and (min-width: 48.0625em) {
    .project {
        display:grid;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter);
        grid-template-columns: repeat(12,1fr)
    }

    .project__header,.project__header-clone {
        grid-column: 1/span 12;
        display: grid;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter);
        grid-template-columns: repeat(12,1fr)
    }

    .project__header-clone>*,.project__header>* {
        grid-column: 4/span 9
    }

    .project__meta {
        grid-column: 1/span 3;
        margin-bottom: 0
    }

    .project__content {
        grid-column: 4/span 9
    }

    .project__images {
        grid-column: 1/span 12;
        margin-top: 5em
    }
}

@media screen and (min-width: 80em) {
    .project__content {
        grid-column:4/span 7
    }
}

.template-workshop-application {
    --color-bg: #f0f0f0
}

@media print,screen and (min-width: 48.0625em) {
    .template-workshop-application--intro .grid-overlay__line[data-flow=column]:last-child {
        opacity:1
    }
}

.workshop-application__title {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.workshop-application__cta {
    font-size: calc(38.8px + 2.66667vw);
    line-height: calc(42.4px + 3vw);
    letter-spacing: -.025em;
    text-transform: uppercase;
    color: var(--color-highlight)
}

@media screen and (min-width: 1920px) {
    .workshop-application__cta {
        line-height:100px
    }
}

@media screen and (max-width: 420px) {
    .workshop-application__cta {
        line-height:55px
    }
}

@media screen and (min-width: 1920px) {
    .workshop-application__cta {
        font-size:90px
    }
}

@media screen and (max-width: 420px) {
    .workshop-application__cta {
        font-size:50px
    }
}

.workshop-application__cta:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.workshop-application__cta a {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap
}

.workshop-application__cta a span {
    word-spacing: 100vw;
    padding-right: .25em;
    padding-bottom: .25em
}

.workshop-application__cta a .icon {
    flex-shrink: 0;
    width: 1em;
    height: 1em
}

.workshop-application__info {
    margin-bottom: 4.5em
}

.workshop-application__form {
    --color-text: var(--color-highlight);
    --color-border: var(--color-highlight);
    --color-error: #000;
    color: var(--color-text)
}

.workshop-application__form .Inputfield[id*=Inputfield_cart_workshop] .InputfieldHeader {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.workshop-application__form .Inputfield[id*=Inputfield_cart_workshop] .InputfieldContent .rich-text {
    margin-top: .35em
}

@media print,screen and (min-width: 48.0625em) {
    .workshop-application {
        display:grid;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter);
        grid-template-columns: repeat(12,1fr)
    }

    .workshop-application__cta {
        font-size: calc(25.8px + 1vw);
        line-height: calc(30.8px + 1vw);
        letter-spacing: -.01em;
        grid-column: span 3;
        align-self: start;
        position: -webkit-sticky;
        position: sticky;
        top: calc(min(50vh, 7.5em * 1.4) + max(10px, 0));
        top: calc(min(50vh, 7.5em * 1.4) + max(10px, env(safe-area-inset-top)));
        top: calc(var(--content-top-padding) + var(--page-padding-top-safe))
    }

    @media screen and (min-width: 1920px) {
        .workshop-application__cta {
            line-height:50px
        }
    }

    @media screen and (max-width: 420px) {
        .workshop-application__cta {
            line-height:35px
        }
    }

    @media screen and (min-width: 1920px) {
        .workshop-application__cta {
            font-size:45px
        }
    }

    @media screen and (max-width: 420px) {
        .workshop-application__cta {
            font-size:30px
        }
    }

    .workshop-application__info {
        grid-column: span 9;
        margin-bottom: 0
    }

    .workshop-application__form {
        grid-column: span 12;
        position: relative
    }

    .workshop-application__form>.form>.FormBuilder {
        display: grid;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter);
        grid-template-columns: repeat(12,1fr)
    }

    .workshop-application__form>.form>.FormBuilder>.alert,.workshop-application__form>.form>.FormBuilder>.FormBuilderErrors {
        grid-column: 4/span 7
    }

    .workshop-application__form>.form>.FormBuilder>.InputfieldForm {
        grid-column: 1/span 12
    }

    .workshop-application__form .FormBuilder>.Inputfields {
        display: grid;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter);
        grid-template-columns: repeat(12,1fr);
        grid-auto-flow: row dense;
        align-items: baseline
    }

    .workshop-application__form .FormBuilder>.Inputfields>.Inputfield {
        grid-column: 4/span 7
    }

    .workshop-application__form .FormBuilder>.Inputfields>.InputfieldSubmitPrev {
        grid-column: 4/span 3;
        width: 100%
    }

    .workshop-application__form .FormBuilder>.Inputfields>.InputfieldSubmitPrev+.InputfieldSubmit {
        grid-column: 8/span 4
    }

    .form {
        grid-column: 4/span 7
    }
}

@media screen and (min-width: 80em) {
    .workshop-application__cta {
        font-size:calc(38.8px + 2.66667vw);
        line-height: calc(42.4px + 3vw);
        letter-spacing: -.025em
    }

    @media screen and (min-width: 1920px) {
        .workshop-application__cta {
            line-height:100px
        }
    }

    @media screen and (max-width: 420px) {
        .workshop-application__cta {
            line-height:55px
        }
    }

    @media screen and (min-width: 1920px) {
        .workshop-application__cta {
            font-size:90px
        }
    }

    @media screen and (max-width: 420px) {
        .workshop-application__cta {
            font-size:50px
        }
    }

    .workshop-application__form .FormBuilder>.Inputfields>.InputfieldFormBuilderPageBreakNav {
        grid-column: 1/span 3
    }
}

.FormBuilderPagination .InputfieldFormBuilderPageBreak {
    order: -1
}

.FormBuilderPagination .InputfieldFormBuilderPageBreak~.InputfieldFormBuilderPageBreak {
    order: 0
}

.InputfieldFormBuilderPageBreak {
    order: -1
}

.InputfieldFormBuilderPageBreak .InputfieldContent h2 {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em;
    text-transform: uppercase
}

@media screen and (min-width: 1920px) {
    .InputfieldFormBuilderPageBreak .InputfieldContent h2 {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .InputfieldFormBuilderPageBreak .InputfieldContent h2 {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .InputfieldFormBuilderPageBreak .InputfieldContent h2 {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .InputfieldFormBuilderPageBreak .InputfieldContent h2 {
        font-size:30px
    }
}

.InputfieldFormBuilderPageBreak .InputfieldContent h2:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.25em
}

.InputfieldFormBuilderPageBreakNav {
    display: none!important;
    margin-bottom: 0!important
}

.InputfieldFormBuilderPageBreakNav .InputfieldHeader {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.InputfieldFormBuilderPageBreakNav .InputfieldContent {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 2.5em;
    overflow: hidden
}

.InputfieldFormBuilderPageBreakNav .InputfieldContent div {
    flex: 0 0 100%
}

.InputfieldFormBuilderPageBreakNav .InputfieldContent .InputfieldFormBuilderPageBreakNavSelect {
    flex: 1 0 50%
}

.InputfieldFormBuilderPageBreakNav .InputfieldContent .InputfieldFormBuilderPageBreakNavPreview {
    order: -1;
    flex: 0 0 3em
}

.InputfieldFormBuilderPageBreakNav .InputfieldContent .description,.InputfieldFormBuilderPageBreakNav .InputfieldContent input {
    display: none!important
}

.InputfieldFormBuilderPageBreakNav option,.InputfieldFormBuilderPageBreakNav select {
    text-transform: uppercase
}

.InputfieldFormBuilderPageBreakNavPreview {
    padding: .2em 0 .1em
}

.InputfieldFormBuilderPageBreakNavButton button {
    display: flex;
    width: 100%;
    text-transform: uppercase;
    padding: .15em 0
}

.InputfieldFormBuilderPageBreakNavButton button>span:first-child {
    flex: 0 0 2.7rem
}

.InputfieldFormBuilderPageBreakNavButton button[disabled] {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span {
    background-image: linear-gradient(var(--color-text),var(--color-text));
    background-size: 1px .07em;
    background-repeat: repeat-x;
    background-position: 0 100%;
    outline: 1px solid hsla(0,0%,100%,.01);
    color: var(--color-text);
    text-decoration: none
}

.InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span::selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

.InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span::-moz-selection {
    text-shadow: .03em 0 var(--color-bg),-.03em 0 var(--color-bg),.06em 0 var(--color-bg),-.06em 0 var(--color-bg),-.09em 0 var(--color-bg),0 .03em var(--color-bg),0 -.03em var(--color-bg),0 -.06em var(--color-bg),0 -.09em var(--color-bg),.03em .03em var(--color-bg),-.03em -.03em var(--color-bg),.03em -.03em var(--color-bg),-.03em .03em var(--color-bg);
    background: var(--color-bg)
}

@media (hover: hover) {
    .InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span:hover {
        outline:1px solid hsla(0,0%,100%,.02)
    }
}

.InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span *,.InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span:after,.InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span :after,.InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span:before,.InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span :before {
    text-shadow: none
}

.InputfieldFormBuilderPageBreakNavButton button[disabled]>span:nth-child(2) span:visited {
    color: var(--color-text)
}

@media screen and (max-width: 64.06125em) {
    .InputfieldFormBuilderPageBreakNavButton {
        font-size:calc(13.6px + .33333vw);
        line-height: calc(18.6px + .33333vw);
        letter-spacing: -.01em
    }

    @media screen and (min-width: 1920px) {
        .InputfieldFormBuilderPageBreakNavButton {
            line-height:25px
        }
    }

    @media screen and (max-width: 420px) {
        .InputfieldFormBuilderPageBreakNavButton {
            line-height:20px
        }
    }

    @media screen and (min-width: 1920px) {
        .InputfieldFormBuilderPageBreakNavButton {
            font-size:20px
        }
    }

    @media screen and (max-width: 420px) {
        .InputfieldFormBuilderPageBreakNavButton {
            font-size:15px
        }
    }
}

.js .InputfieldFormBuilderPageBreakNavSubmit {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

@media screen and (max-width: 48.06125em) {
    .InputfieldFormBuilderPageBreakNavButton {
        display:none
    }
}

@media print,screen and (min-width: 48.0625em) {
    .InputfieldFormBuilderPageBreakNav {
        height:0
    }

    .InputfieldFormBuilderPageBreakNavPreview,.InputfieldFormBuilderPageBreakNavSelect {
        display: none!important
    }
}

.Inputfield_confirm_newsletter .InputfieldHeader,.InputfieldHeaderHidden {
    position: absolute!important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.workshop {
    --workshop-header-height: 0;
    --workshop-section-gap: 2.5em;
    display: grid
}

.workshop--slideshow-top .workshop__header {
    order: -2
}

.workshop--slideshow-top .workshop__slideshow {
    order: -1;
    margin-top: 0;
    margin-bottom: var(--workshop-section-gap)
}

@media screen and (min-width: 80em) {
    .workshop--slideshow-top .workshop__people,.workshop--slideshow-top .workshop__people .person-preview:first-child {
        margin-top:0
    }
}

.workshop__content,.workshop__header,.workshop__meta,.workshop__nav {
    --color-text: #ff3b00;
    --color-border: #ff3b00;
    color: var(--color-text)
}

.workshop__header {
    padding-bottom: 2.5em
}

.workshop__title {
    font-size: calc(25.8px + 1vw);
    line-height: calc(30.8px + 1vw);
    letter-spacing: -.01em;
    text-transform: uppercase
}

@media screen and (min-width: 1920px) {
    .workshop__title {
        line-height:50px
    }
}

@media screen and (max-width: 420px) {
    .workshop__title {
        line-height:35px
    }
}

@media screen and (min-width: 1920px) {
    .workshop__title {
        font-size:45px
    }
}

@media screen and (max-width: 420px) {
    .workshop__title {
        font-size:30px
    }
}

.workshop__meta {
    margin-bottom: 5em;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .workshop__meta {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .workshop__meta {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .workshop__meta {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .workshop__meta {
        font-size:15px
    }
}

.workshop__meta .button {
    margin-top: 1.25em
}

.workshop__meta:empty {
    margin-bottom: 0
}

.workshop__people {
    margin-top: 3.125em;
    font-size: calc(13.6px + .33333vw);
    line-height: calc(18.6px + .33333vw);
    letter-spacing: -.01em
}

@media screen and (min-width: 1920px) {
    .workshop__people {
        line-height:25px
    }
}

@media screen and (max-width: 420px) {
    .workshop__people {
        line-height:20px
    }
}

@media screen and (min-width: 1920px) {
    .workshop__people {
        font-size:20px
    }
}

@media screen and (max-width: 420px) {
    .workshop__people {
        font-size:15px
    }
}

.workshop__people .person-preview+.person-preview {
    margin-top: 2.5em
}

.workshop__slideshow {
    width: 100vw;
    width: var(--viewport-width);
    margin-left: calc(50% - 50vw);
    margin-left: calc(50% - var(--viewport-width)/2)
}

.workshop__nav,.workshop__slideshow {
    margin-top: var(--workshop-section-gap)
}

.workshop__nav {
    display: flex;
    flex-wrap: wrap
}

.workshop__nav li {
    flex: 0 0 auto;
    margin-bottom: .5em
}

.workshop__nav a {
    display: flex
}

.workshop__nav span span {
    display: block
}

.workshop__nav [data-direction=next] {
    order: 1;
    margin-left: auto
}

.workshop__nav [data-direction=next] .icon {
    margin-left: .75em
}

.workshop__nav [data-direction=prev] {
    margin-right: auto
}

.workshop__nav [data-direction=prev] .icon {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    margin-right: .75em
}

@media print,screen and (min-width: 48.0625em) {
    .workshop {
        --workshop-section-gap:5em;
        grid-column-gap: 14px;
        grid-column-gap: var(--grid-gutter);
        grid-template-columns: repeat(12,1fr)
    }

    .workshop__header {
        grid-column: 4/span 9
    }

    .workshop__meta {
        grid-column: 1/span 3;
        margin-bottom: 0
    }

    .workshop__content,.workshop__people {
        grid-column: 4/span 9
    }

    .workshop__nav,.workshop__slideshow {
        grid-column: 1/span 12
    }

    .workshop__nav {
        font-size: calc(25.8px + 1vw);
        line-height: calc(30.8px + 1vw);
        letter-spacing: -.01em
    }

    @media screen and (min-width: 1920px) {
        .workshop__nav {
            line-height:50px
        }
    }

    @media screen and (max-width: 420px) {
        .workshop__nav {
            line-height:35px
        }
    }

    @media screen and (min-width: 1920px) {
        .workshop__nav {
            font-size:45px
        }
    }

    @media screen and (max-width: 420px) {
        .workshop__nav {
            font-size:30px
        }
    }
}

@media screen and (min-width: 80em) {
    .workshop__header {
        grid-column:4/span 4
    }

    .workshop__content {
        grid-column: 4/span 5
    }

    .workshop__people {
        grid-column: 10/span 3;
        margin-top: calc(var(--workshop-header-height)*-1)
    }

    .workshop__people .person-preview:first-child {
        margin-top: calc(var(--person-image-height)*-0.5)
    }
}

.align-text-center {
    text-align: center
}

.align-text-left {
    text-align: left
}

.align-text-right {
    text-align: right
}

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

.hide {
    display: none
}
