/* #region - reset */

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

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

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

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

/* #endregion */
/* #region - global */

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

.is-ie * {
    min-height: .1rem;
}

:root {
    /* colors */
    --c-dove-gray: #707070;
    --c-ecstasy: #F5740E;
    --c-black: #000000;
    --c-silver-chalice: #A6A6A6;
    --c-iron: #D8D9DA;
    --c-seashell: #F1F1F1;
    --c-white: #FFFFFF;
    /* gap */
    --gap: 4rem;
    --n-gap: calc(var(--gap) * -1);
    /* font-size */
    --fs-xxl: 9.6rem;
    --fs-xl: 7.2rem;
    --fs-l: 6rem;
    --fs-h1: 4.8rem;
    --fs-h1-s: 4.2rem;
    --fs-h2: 3.6rem;
    --fs-h3: 2.8rem;
    --fs-h4: 2.4rem;
    --fs-h5: 2.1rem;
    --fs-h6: 1.8rem;
    --fs-body: 1.8rem;
    --fs-s: 1.6rem;
    --fs-xs: 1.4rem;
    --fs-xxs: 1.2rem;
    /* line-height */
    --lh-s: calc(1em + .5rem);
    --lh-m: calc(1em + 1rem);
    --lh-l: calc(1em + 1.25rem);
    --lh-xl: calc(1em + 2.5rem);
    /* width */
    --w-max: 168rem;
    --w-max-m: 144rem;
    --w-max-s: 128rem;
    --w-max-xs: 114rem;
    --w-max-xxs: 96rem;
    /* easing */
    --e-hover: cubic-bezier(0.4, 0, 0.2, 1);
    --e-block: cubic-bezier(0, 0, 0.2, 1);
    /* header */
    --hd-height: 10rem;
    --hd-logo: calc(var(--hd-height) - 5rem);
}

html {
    font-size: 62.5%;
}

body {
    font-family: 'D-DIN', sans-serif;
    font-size: var(--fs-body);
    font-weight: 400;
    line-height: var(--lh-m);
    color: var(--c-dove-gray);
    background-color: var(--c-white);
    height: 100vh;
    display: flex;
    flex-direction: column;
}

html.is-fs-l {
    font-size: 75%;
}

/* for ie10 and above */
@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {

    body {
        visibility: hidden;
        overflow-x: hidden;
    }

    .js-cssvars-loaded {
        visibility: visible;
    }

}

* {
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
}

*:focus {
    z-index: 1;
}

a {
    color: var(--c-ecstasy);
    text-decoration: none;
    transition: color .3s var(--e-hover);
    transition-property: color, background, border;
}

a:hover {
    color: var(--c-ecstasy);
}

input,
textarea,
select,
button {
    font-family: inherit;
    font-size: var(--fs-body);
    background-color: transparent;
    border: .1rem solid;
    border-radius: 0;
    padding: 1rem;
    -webkit-appearance: none;
}

::placeholder {
    color: var(--c-black);
    opacity: .6;
}

strong {
    font-weight: bolder;
}

iframe {
    display: block;
}

svg {
    display: block;
}

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

hr {
    border: 0;
    border-bottom: .1rem solid var(--c-black);
    margin: 0;
}

.page__header {
    font-size: var(--fs-body);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center;
    color: var(--c-dove-gray);
    background-color: var(--c-white);
    box-shadow: 0 .1rem 1rem 0 rgba(0, 0, 0, .2);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--hd-height);
    padding: 0;
    z-index: 99;
    transform: translate3d(0, 0, 0);
    transition: all .3s ease;
    transition-property: background-color, height;
}

.header--is-transparent .page__header {
    opacity: 0;
}

.header--is-transparent.is-scrolled-top .page__header {
    color: var(--c-white);
    background-color: transparent;
    box-shadow: none;
}

.page__main {
    padding-top: var(--hd-height);
    overflow: hidden;
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1 0 auto;
}

.header--is-transparent .page__main {
    padding-top: 0;
}

.page__footer {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
}

.page-home .page__footer {
    margin-top: var(--n-gap);
}

.page__svg {
    display: none;
}

[class*='__container'] {
    max-width: var(--w-max);
    width: 100%;
    padding: var(--gap) calc(var(--gap) * 2);
    margin: auto;
}

[class*='__wrapper'] {
    padding: var(--gap) 0;
}

[class*='__row'] {
    padding: var(--gap) 0;
    margin: var(--n-gap);
    display: flex;
    flex-wrap: wrap;
}

[class*='__row']:not(:first-child) {
    margin-top: calc(var(--n-gap) * 2);
}

[class*='__container']>*:not([class*='__row']):not(:last-child),
[class*='__wrapper']>*:not([class*='__row']):not(:last-child) {
    margin-bottom: var(--gap);
}

[class*='__container']>[class*='__wrapper']:not(:last-child) {
    margin-bottom: 0;
}

[class*='__col'] {
    margin: var(--gap);
    flex: 1 1 32rem;
}

[class*='__background'] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

[class*='__background'] picture,
.is-ie [class*='__background'] picture {
    /* min-height: calc(100% + 20vh); */
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}

[class*='__background']+[class*='__container'] {
    position: relative;
}

.is-ie .object-fit-polyfill {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

img[data-object-fit],
video[data-object-fit] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    font-family: 'object-fit: cover';
}

img[data-object-fit='contain'],
video[data-object-fit='contain'] {
    object-fit: contain;
    font-family: 'object-fit: contain';
}

.image-background {
    width: 100%;
    margin: 0;
    display: flex;
    flex: 1 0 auto;
}

.is-ie .image-background {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.image-background picture,
.is-ie .image-background picture {
    /* min-height: calc(100% + 20vh); */
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}

.has-no-image:before {
    content: '\f1c5';
    font-family: 'Font Awesome 5 Pro';
    font-size: var(--fs-l);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--c-seashell);
    background-color: var(--c-iron);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video {
    background-color: var(--c-black);
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* default, set inline style if dynamic */
}

.video[class*='__background'] {
    position: absolute;
    padding: 0;
}

.video__player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .8;
    transition: opacity .3s var(--e-hover);
}

.video--is-playing .video__player {
    opacity: 1;
}

.video__button {
    font-size: var(--fs-h2);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    color: var(--c-white);
    background: var(--c-ecstasy);
    border: 0;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(var(--fs-h2) + 6rem);
    height: calc(var(--fs-h2) + 6rem);
    margin: calc((var(--fs-h2) + 6rem) / -2);
    overflow: hidden;
    z-index: 1;
    display: inline-block;
    opacity: 1;
    transition: all .3s var(--e-hover);
    transition-property: opacity, transform;
    cursor: pointer;
}

.video__button:hover {
    transform: scale(1.1);
}

.video--is-playing .video__button {
    opacity: 0;
}

.video--is-playing:hover .video__button {
    opacity: 1;
}

.video--is-playing .video__button i:before {
    content: '\f04c';
}

.video-background {
    position: static;
    width: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    flex: 1 0 auto;
}

.is-ie .video-background {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-background .video__button {
    position: relative;
    top: auto;
    left: auto;
    margin: auto;
}

[data-aspect-ratio] {
    transition: height .3s var(--e-block);
}

.is-ie [data-aspect-ratio] {
    transition: none;
}

[data-item-href] {
    cursor: pointer;
}

.button {
    font-size: var(--fs-body);
    font-weight: 400;
    line-height: var(--lh-s);
    text-align: center;
    color: var(--c-white);
    background-color: var(--c-ecstasy);
    border: 0;
    border-radius: .5rem;
    position: relative;
    padding: calc(var(--gap) * .2) calc(var(--gap) * .5);
    margin: 0;
    display: table;
    overflow: hidden;
}

.is-ie .button {
    line-height: 1.25;
}

.button:hover {
    color: var(--c-white);
    background-color: var(--c-dove-gray);
}

.button>span {
    position: relative;
    pointer-events: none;
}

.button i {
    color: inherit;
}

/**/

.select {
    position: relative;
}

.select:after {
    content: '\f078';
    font-family: 'Font Awesome 5 Pro';
    font-size: var(--fs-xs);
    font-weight: 300;
    line-height: 1;
    position: absolute;
    top: 0;
    right: 1rem;
    height: 100%;
    padding: 1rem 0;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.select>select {
    font-size: var(--fs-xs);
    background-color: var(--c-white);
    border: .1rem solid var(--c-black);
    border-radius: 0;
    width: 100%;
    padding: 1rem 3rem 1rem 1rem;
}

.is-ie .select>select::-ms-expand {
    opacity: 0;
}

[data-select-list] {
    position: relative;
    margin: 0;
    display: table;
}

[data-select-list] li {
    display: none;
}

/**/

.social__list {
    font-weight: 300;
    margin: 0 -1rem;
    display: flex;
}

.social__list>* {
    margin: 0 1rem;
}

/**/

.no-transition * {
    transition-duration: 0s !important;
}

.v-hidden,
.visually-hidden {
    position: absolute;
    width: .1rem;
    height: .1rem;
    overflow: hidden;
    clip: rect(.1rem, .1rem, .1rem, .1rem);
    clip-path: inset(50%);
}

.is-fullheight {
    min-height: calc(100vh - var(--hd-height));
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
}

.is-fullwidth {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
}

.page--is-resizing>* {
    opacity: 0;
    transition: all .3s var(--e-block);
    transition-property: opacity, transform;
}

/**/

.is-overflow-left,
.is-overflow-right {
    position: relative;
}

/* #endregion */
/* #region - header */

.header__desktop,
.header__mobile {
    position: relative;
    max-width: none;
    width: 100%;
    height: 100%;
    padding: 0 var(--gap);
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header__logo {
    margin-right: var(--gap);
    flex: 0 0 auto;
}

.header__logo-link {
    height: var(--hd-logo);
    display: block;
}

.header__logo-image--primary,
.header__logo-image--secondary {
    height: 100%;
}

.header__logo-image--secondary {
    display: none;
}

.header--is-transparent.is-scrolled-top .header__logo-image--primary {
    display: none;
}

.header--is-transparent.is-scrolled-top .header__logo-image--secondary {
    display: block;
}

/* desktop nav */

.header__desktop {
    display: flex;
}

.header__desktop .header__group {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 0 auto;
}

.header__desktop .nav__list {
    color: var(--c-dove-gray);
    margin: 0 -.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header--is-transparent.is-scrolled-top .header__desktop .nav__list {
    color: var(--c-white);
}

.header__desktop .nav__item {
    position: relative;
}

.header__desktop .nav__list>.nav__item {
    border: .1rem solid transparent;
    border-bottom: 0;
    margin: 0 .5rem;
}

.header__desktop .nav__list>.nav__item--has-children:hover {
    z-index: 1;
}

.header__desktop .nav__link {
    text-transform: uppercase;
    color: inherit;
    position: relative;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header__desktop .nav__item--has-children>.nav__link {
    padding-right: 3.5rem;
}

.header__desktop .nav__item--is-current>.nav__link,
.header__desktop .nav__item--child-is-current>.nav__link {
    color: var(--c-ecstasy);
}

.header__desktop .nav__link:hover,
.header__desktop .nav__link[aria-expanded='true'],
.header__desktop .nav__item--has-children:hover>.nav__link {
    color: var(--c-ecstasy);
}

.header--is-transparent.is-scrolled-top .header__desktop .nav__link:hover,
.header--is-transparent.is-scrolled-top .header__desktop .nav__link[aria-expanded='true'],
.header--is-transparent.is-scrolled-top .header__desktop .nav__item--has-children:hover>.nav__link {
    color: var(--c-ecstasy);
}

.header__desktop .nav__item--has-children>.nav__link:after,
.header__desktop .nav__item--has-children>.nav__link>.nav__expand:after {
    content: '\f107';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    letter-spacing: 0;
    position: relative;
    top: .1rem;
    margin: 0 -2rem 0 1rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    cursor: pointer;
}

.header__desktop .nav__item--has-children>.nav__link:after {
    display: none;
}

.header__desktop .nav__item--has-children>.nav__link>.nav__expand {
    width: 0;
}

.header__desktop .nav__sublist {
    font-size: var(--fs-s);
    text-align: left;
    white-space: nowrap;
    color: var(--c-dove-gray);
    background-color: var(--c-white);
    box-shadow: 0 0 0 .1rem var(--c-iron);
    border: 0;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 100%;
    padding: .5rem 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.header__desktop .nav__item:hover>.nav__sublist,
.header__desktop .nav__link[aria-expanded='true']~.nav__sublist {
    opacity: 1;
    visibility: visible;
    transition: all .3s ease;
    pointer-events: all;
}

.header__desktop .nav__sublist .nav__sublist {
    top: -.5rem;
    left: 100%;
    min-width: 100%;
    z-index: -1;
}

.header__desktop .nav__sublist .nav__link {
    padding: 1.25rem 3.5rem 1.25rem 1.5rem;
}

.header__desktop .nav__sublist .nav__link:hover,
.header__desktop .nav__sublist .nav__link[aria-expanded='true'],
.header__desktop .nav__sublist .nav__item--has-children:hover>.nav__link {
    color: var(--c-ecstasy);
    background-color: var(--c-seashell);
}

.header__desktop .nav__sublist .nav__item--has-children>.nav__link:after,
.header__desktop .nav__sublist .nav__item--has-children>.nav__link>.nav__expand:after {
    content: '\f105';
}

/**/

.header__desktop .social {
    margin-left: 1.5rem;
}

/* mobile nav */

.nav--is-active>* {
    pointer-events: none;
}

.header__mobile {
    display: none;
}

.header__toggle {
    color: inherit;
    position: relative;
    width: 3rem;
    height: 2rem;
    margin-left: auto;
    z-index: 2;
    display: block;
    transform: rotate(0deg);
    transition: rotate .5s ease-in-out;
    cursor: pointer;
}

.nav--is-active .header__toggle:after {
    opacity: 0;
    visibility: hidden;
}

.nav--is-active .header__toggle {
    pointer-events: all;
}

.header__toggle span {
    background-color: var(--c-dove-gray);
    border-radius: .3rem;
    position: absolute;
    left: 0;
    width: 100%;
    height: .3rem;
    display: block;
    opacity: 1;
    transform: rotate(0deg);
    transition: .3s var(--e-hover);
    pointer-events: none;
}

.header--is-transparent.is-scrolled-top .header__toggle span {
    background-color: var(--c-white);
}

.header--is-transparent.is-scrolled-top.nav--is-active .header__toggle span {
    background-color: var(--c-dove-gray);
}

.header__toggle span:nth-child(1) {
    top: 0;
}

.header__toggle span:nth-child(2),
.header__toggle span:nth-child(3) {
    top: .9rem;
}

.header__toggle span:nth-child(4) {
    top: 1.8rem;
}

.nav--is-active .header__toggle span {
    background-color: var(--c-dove-gray);
}

.nav--is-active .header__toggle span:nth-child(1),
.nav--is-active .header__toggle span:nth-child(4) {
    top: .9rem;
    left: 50%;
    width: 0;
}

.nav--is-active .header__toggle span:nth-child(2) {
    transform: rotate(45deg);
}

.nav--is-active .header__toggle span:nth-child(3) {
    transform: rotate(-45deg);
}

.header__toggle:hover span {
    background-color: var(--c-ecstasy);
}

.header--is-transparent.is-scrolled-top .header__toggle:hover span {
    background-color: var(--c-ecstasy);
}

.header__drawer {
    font-size: var(--fs-h5);
    text-align: center;
    color: var(--c-dove-gray);
    background-color: var(--c-white);
    position: fixed;
    top: 0;
    right: 0;
    max-width: 42rem;
    width: 100%;
    height: 100vh;
    z-index: 1;
    transform: translateX(100%);
    transition: transform .5s ease;
    will-change: transform;
    pointer-events: none;
}

.nav--is-active .header__drawer {
    transform: translateX(0);
    pointer-events: all;
}

.header__drawer:before {
    content: '';
    background-color: var(--c-black);
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: -100vw;
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}

.nav--is-active .header__drawer:before {
    opacity: .5;
}

.header__drawer-scroll {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: calc(var(--hd-height) + var(--gap)) var(--gap);
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex: none;
    transition: padding .3s ease;
}

.header__drawer-scroll:before {
    content: '';
    background-color: var(--c-white);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--hd-height);
    z-index: 1;
    opacity: .9;
    transition: height .3s ease;
}

.is-ie .header__drawer-scroll:before {
    left: calc(100% - 40rem - 1.8rem);
    width: 40rem;
    transform: translateX(100%);
    transition: transform .5s ease;
}

.is-ie.nav--is-active .header__drawer-scroll:before {
    transform: translateX(0);
}

.header__mobile .header__nav {
    width: 100%;
    margin-bottom: var(--gap);
}

.header__mobile .nav__list {
    position: relative;
    margin: 0;
    align-items: flex-start;
    flex-direction: column;
}

.header__mobile .nav__item,
.header__mobile .nav__list>.nav__item {
    border: 0;
    width: 100%;
    padding: 0 0 1rem;
    margin: 0 0 1rem;
}

.header__mobile .nav__item {
    pointer-events: none;
}

.header__mobile .nav__item:last-child {
    border: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

.header__mobile .nav__item--has-children {
    pointer-events: all;
}

.header__mobile .nav__control {
    color: var(--c-dove-gray);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: none;
    cursor: default;
}

.header__mobile .nav__list>.nav__item>.nav__control {
    font-size: var(--fs-h3);
}

.header__mobile .nav__item.open>.nav__control {
    color: var(--c-ecstasy);
}

.header__mobile .nav__control:hover {
    color: inherit;
}

.header__mobile .nav__expand,
.header__mobile .nav__control:after {
    position: absolute;
    right: 0;
}

.header__mobile .nav__control:after,
.header__mobile .nav__expand:after {
    content: '\f107';
    font-weight: 300;
    color: var(--c-ecstasy);
    display: none;
}

.header__mobile .nav__item.open>.nav__control:after,
.header__mobile .nav__control[aria-expanded='true']>.nav__expand:after {
    content: '\f106';
    color: var(--c-ecstasy);
}

.header__mobile .nav__item--has-children>.nav__control:after,
.header__mobile .nav__item--has-children>.nav__control>.nav__expand:after {
    display: block;
}

.header__mobile .nav__item--has-children>.nav__control:after {
    display: none;
}

.header__mobile .nav__list>.nav__item>.nav__control:after,
.header__mobile .nav__list>.nav__item>.nav__control>.nav__expand:after {
    font-size: calc(var(--fs-h1) * .7);
}

.header__mobile .nav__link {
    text-transform: uppercase;
    color: inherit;
    position: relative;
    padding-right: 0;
    margin-right: 0;
    display: inline;
    transition: color .3s var(--e-hover);
    pointer-events: all;
}

.header__mobile .nav__item--has-children>.nav__control>.nav__link {
    padding-right: 0;
}

.header__mobile .nav__link:hover {
    color: var(--c-ecstasy);
}

.header__mobile .nav__inner {
    padding: 1.5rem 0 0 0;
}

.header__mobile .nav__list>.nav__item>.nav__content>.nav__inner {
    padding: 1.5rem 0 1rem 0;
}

.header__mobile .nav__sublist {
    padding: .5rem 0;
    margin: 0;
    pointer-events: all;
}

.header__mobile .nav__sublist .nav__sublist {
    margin-bottom: 0;
}

/**/

.header__mobile .header__group {
    position: relative;
    display: flex;
    align-items: center;
    pointer-events: all;
}

/* #endregion */
/* #region - footer */

.footer__background {
    position: absolute;
}

.footer__background span {
    background-image: url('../images/mascot.svg');
    background-size: contain;
    position: absolute;
    bottom: var(--gap);
    right: -8rem;
    width: calc(16rem + 3vw);
    opacity: .25;
}

.footer__background span:after {
    content: '';
    padding-bottom: 120.65%;
    display: block;
}

.footer__row {
    justify-content: space-between;
}

.footer__col {
    /* width: calc(25% - calc(var(--gap) * 2)); */
    flex: 0 0 auto;
}

.footer__col h2 {
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: calc(var(--gap) * .5);
}

.footer__col a {
    color: inherit;
}

.footer__col a:hover {
    color: var(--c-ecstasy);
}

.footer__nav .nav__list {
    margin: -.5rem 0;
}

.footer__nav .nav__item {
    margin: .5rem 0;
}

.footer__nav a {
    font-weight: 700;
    text-transform: uppercase;
}

.footer__cd p {
    line-height: var(--lh-s);
    margin-bottom: calc(var(--gap) * .3);
}

.footer__cd .social__list {
    margin: calc(var(--gap) * .3 + .5rem) -.75rem 0;
}

.footer__cd .social__list>* {
    margin: 0 .75rem;
}

.footer__logo {
    max-width: calc(18rem + 4vw);
    margin-bottom: calc(var(--gap) * .5);
}

/* #endregion */
/* #region - accordion, tab, swiper, swiper-lb */

/* accordion */

.accordion__list {
    width: 100%;
    margin: calc(var(--n-gap) * .5) 0;
}

.accordion__item {
    border-bottom: .1rem solid var(--c-iron);
}

.accordion__item:last-child {
    border: 0;
    padding-bottom: 0;
}

.accordion__control {
    font-size: var(--fs-h4);
    font-weight: 700;
    line-height: var(--lh-s);
    color: var(--c-dove-gray);
    position: relative;
    padding: calc(var(--gap) * .5) 0;
    display: flex;
    justify-content: space-between;
    transition: color .3s var(--e-hover);
    cursor: pointer;
}

.accordion__item.open>.accordion__control {
    color: var(--c-ecstasy);
}

.accordion__control:hover {
    color: var(--c-ecstasy);
}

.accordion__title,
.accordion__link {
    margin-right: var(--gap);
}

.accordion__link {
    color: inherit;
    transition: none;
}

.accordion__expand {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.accordion__control:after,
.accordion__expand:after {
    content: '\f067';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
    color: var(--c-ecstasy);
}

.accordion__control:after {
    display: none;
}

.accordion__item.open>.accordion__control:after,
.accordion__control[aria-expanded='true']>.accordion__expand:after {
    content: '\f068';
    color: inherit;
}

.accordion__content {
    max-height: 0;
    overflow: hidden;
}

.accordion__inner {
    padding: var(--gap) 0;
    padding-top: calc(var(--gap) * .5);
}

.accordion__inner>*:last-child {
    margin-bottom: 0;
}

/* tab */

.tab__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .3s;
    pointer-events: none;
}

.tab__content.active {
    position: relative;
    opacity: 1;
    pointer-events: all;
}

.tab__inner>*:last-child {
    margin-bottom: 0;
}

/* swiper */

.swiper {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex: 1 0 auto;
}

.swiper-container {
    max-width: 100%;
    width: 100%;
}

.swiper-slide {
    background-size: cover;
    background-position: center;
    height: auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.swiper-lazy {
    opacity: 0;
    transition: opacity .3s var(--e-hover);
}

.swiper-lazy-loaded {
    opacity: 1;
}

.swiper-lazy-preloader {
    border: .2rem solid var(--c-ecstasy);
    border-top: .2rem solid var(--c-iron);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    width: var(--fs-h2);
    height: var(--fs-h2);
    z-index: 2;
    transform: translate(-50%, -50%);
    transform-origin: 50%;
    animation: spin 2s linear infinite;
}

.swiper-navigation {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.swiper-navigation .swiper-button-prev,
.swiper-navigation .swiper-button-next {
    font-size: var(--fs-h3);
    font-weight: 300;
    line-height: 0;
    color: var(--c-white);
    background: transparent;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: calc(var(--fs-h3) + 1rem);
    height: calc(var(--fs-h3) + 1rem);
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    transition: all .4s var(--e-hover);
    transition-property: background, color, opacity;
    pointer-events: all;
}

.swiper-container-rtl~.swiper-navigation .swiper-button-prev,
.swiper-container-rtl~.swiper-navigation .swiper-button-next {
    transform: scaleX(-1);
}

.swiper-navigation .swiper-button-prev:hover,
.swiper-navigation .swiper-button-next:hover {
    color: var(--c-ecstasy);
}

.swiper-navigation .swiper-button-prev:before,
.swiper-navigation .swiper-button-next:before {
    content: '\f054';
    font-family: 'Font Awesome 5 Pro';
    margin: 0;
    transition: transform .4s ease;
}

.swiper-navigation .swiper-button-prev:before {
    content: '\f053';
}

.swiper-navigation .swiper-button-prev:after,
.swiper-navigation .swiper-button-next:after {
    display: none;
}

.swiper-navigation .swiper-button-prev.swiper-button-disabled,
.swiper-navigation .swiper-button-next.swiper-button-disabled {
    opacity: .25;
    pointer-events: none;
}

.swiper-navigation .swiper-button-lock.swiper-button-disabled {
    opacity: 0;
    transition: none;
} 

.swiper-pagination {
    position: relative;
    width: 100%;
    padding: 0 var(--gap);
    margin-top: var(--gap);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-pagination-lock {
    opacity: 0;
} 

.swiper-pagination .swiper-pagination-bullet {
    background-color: var(--c-iron);
    border: 0;
    border-radius: 50%;
    width: calc(var(--gap) * .3);
    height: calc(var(--gap) * .3);
    margin: 0 .5rem;
    opacity: 1;
    transition: color .3s var(--e-hover);
    transition-property: color, background, border;
}

.swiper-pagination .swiper-pagination-bullet-active {
    background-color: var(--c-ecstasy);
}

/* swiper in lightbox */

.lb--is-active {
    overflow: hidden;
}

.lb__link>.lb__item {
    display: none;
}

.lb__link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.lb {
    background-color: var(--c-seashell);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99;
    display: none;
    flex-direction: column;
}

.lb--is-opened {
    display: flex;
}

.lb__close,
.lb .swiper-navigation .swiper-button-prev, 
.lb .swiper-navigation .swiper-button-next {
    font-size: var(--fs-h3);
    font-weight: 300;
    line-height: 0;
    color: var(--c-dove-gray);
    background-color: var(--c-white);
    border-radius: 50%;
    position: relative;
    top: auto;
    left: auto;
    width: calc(var(--gap) * 1.5);
    height: calc(var(--gap) * 1.5);
    margin: calc(var(--gap) * .5);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    transition: all .4s var(--e-hover);
    transition-property: background, color, opacity;
    cursor: pointer;
}

.lb__close:hover,
.lb .swiper-navigation .swiper-button-prev:hover, 
.lb .swiper-navigation .swiper-button-next:hover {
    color: var(--c-ecstasy);
}

.lb__close {
    position: absolute;
    top: 0;
    right: 0;
}

.lb__close:before,
.lb .swiper-navigation .swiper-button-prev:before, 
.lb .swiper-navigation .swiper-button-next:before {
    font-family: 'Font Awesome 5 Pro';
    margin: 0;
    transition: transform .4s ease;
}

.lb__close:before {
    content: '\f00d';
}

.lb .swiper-navigation .swiper-button-prev:before {
    content: '\f053';
}

.lb .swiper-navigation .swiper-button-next:before {
    content: '\f054';
}

.lb .swiper-navigation .swiper-button-lock {
    opacity: 0;
    transition: none;
} 

.lb__swiper .swiper-slide {
    padding: var(--gap);
    align-items: center;
    justify-content: center;
}

.lb__item-image,
.lb__item-video,
.lb__item-media iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0;
    margin: auto;
}

.lb__item-image {
    max-width: calc(100vw - var(--gap) * 2);
    width: 100%;
    max-height: calc(100vh - var(--gap) * 2);
    height: 100%;
}

.lb__item-image picture {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

.lb__item-image img {
    max-width: 100%;
    width: auto;
    max-height: 100%;
    height: auto;
    padding: 0;
    margin: auto;
}

.lb__item-video {
    max-width: calc(16 / 9 * (100vh - var(--gap) * 2));
    width: calc(100vw - var(--gap) * 2);
    max-height: calc(100vh - var(--gap) * 2);
    height: calc(9 / 16 * (100vw - var(--gap) * 2));
}

.lb__item-media iframe {    
    max-width: calc(100vw - var(--gap) * 2);
    width: 100%;
    max-height: calc(100vh - var(--gap) * 2);
    height: 100%;
}

/* archive our products */

.a-op__lb {
    background-color: rgba(0, 0, 0, .8);
}

.a-op__lb .lb__close,
.a-op__lb .swiper-navigation .swiper-button-prev, 
.a-op__lb .swiper-navigation .swiper-button-next {
    color: var(--c-white);
    background-color: transparent;
    border-radius: 0;
    width: calc(var(--gap) * 1.5);
    height: calc(var(--gap) * 1.5);
    margin: calc(var(--gap) * .5);
}

.a-op__lb .lb__item {
    background-color: var(--c-white);
    border: 0;
    border-radius: 1rem;
    position: relative;
    max-width: var(--w-max-xxs);
    width: 100%;
    margin: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .3s var(--e-hover);
}

.a-op__lb .lb__item-text {
    line-height: var(--lh-s);
    padding: calc(var(--gap) * .4) calc(var(--gap) * .5);
}

.a-op__lb .lb__item-title {
    font-size: var(--fs-h5);
    font-weight: 700;
    line-height: var(--lh-s);
    color: var(--c-black);
    margin-bottom: calc(var(--gap) * .1);
}

.a-op__lb .lb__item-description {
    margin-bottom: calc(var(--gap) * .1);
}

.a-op__lb .lb__item-media {
    position: relative;
    overflow: hidden;
    order: -1;
}

.a-op__lb .lb__item-background {
    background-color: var(--c-black);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.a-op__lb .lb__item-background svg {
    width: 100%;
    height: 100%;
}

.a-op__lb .lb__item-image {
    position: relative;
    max-width: none;
    width: auto;
    max-height: none;
    height: auto;
}

.a-op__lb .lb__item-image:after {
    content: '';
    padding-top: 62.5%;
    display: block;
}

.a-op__lb .lb__item-image img {
    max-width: none;
    width: 100%;
    max-height: none;
    height: 100%;
}

/* #endregion */
/* #region - post-formatted */

.post-formatted {
    width: 100%;
    margin: auto;
    display: flex;
    flex-direction: column;
}

.post-formatted:after {
    content: '';
    margin-bottom: calc(var(--n-gap) + 1rem);
    display: block;
}

.post-formatted br {
    content: '';
    margin-bottom: calc(var(--gap) - 1rem);
    display: table;
}

.post-formatted br+br {
    margin-bottom: 0;
}

.post-formatted h1,
.post-formatted h2,
.post-formatted h3,
.post-formatted h4,
.post-formatted h5,
.post-formatted h6 {
    font-weight: 700;
    line-height: var(--lh-s);
    color: var(--c-dove-gray);
    margin-bottom: calc(var(--gap) - 1rem);
}

.post-formatted h1 {
    font-size: var(--fs-h1);
}

.post-formatted h2 {
    font-size: var(--fs-h2);
}

.post-formatted h3 {
    font-size: var(--fs-h3);
}

.post-formatted h4 {
    font-size: var(--fs-h4);
}

.post-formatted h5 {
    font-size: var(--fs-h5);
}

.post-formatted h6 {
    font-size: var(--fs-h6);
}

.post-formatted p,
.post-formatted ul,
.post-formatted ol {
    margin-bottom: calc(var(--gap) - 1rem);
}

.post-formatted ul,
.post-formatted ol {
    padding-left: var(--gap);
}

.post-formatted ul {
    list-style-type: disc;
}

.post-formatted ol {
    list-style-type: decimal;
}

.post-formatted ul>li,
.post-formatted ol>li {
    margin-bottom: 0;
}

.post-formatted ul:after,
.post-formatted ol:after {
    content: '';
    margin-bottom: 0;
}

.post-formatted hr,
.post-formatted blockquote,
.post-formatted pre,
.post-formatted figure,
.post-formatted img,
.post-formatted iframe {
    margin: var(--gap) 0;
}

.post-formatted blockquote {
    border-left: .3rem solid var(--c-ecstasy);
    position: relative;
    padding-left: calc(var(--gap) - 1rem);
}

.post-formatted blockquote>cite {
    font-weight: 700;
}

.post-formatted blockquote>*:last-child {
    margin-bottom: 0;
}

.post-formatted pre {
    white-space: pre-wrap;
    background-color: var(--c-seashell);
    position: relative;
    padding: calc(var(--gap) - 1rem);
}

.post-formatted pre.wp-block-verse {
    font-family: inherit;
}

.post-formatted figure {
    max-width: 100%;
    width: auto;
    position: relative;
}

.post-formatted figure>* {
    padding: 0;
    margin: 0;
}

.post-formatted figure>figcaption {
    font-size: var(--fs-xs);
    margin: 1rem 0 calc(var(--fs-xs) * -.5);
}

.post-formatted iframe {
    display: block;
}

/**/

.post-formatted .wp-block-pullquote {
    text-align: inherit;
    padding: 0;
}

.post-formatted .wp-block-pullquote p {
    font-size: inherit;
    line-height: inherit;
}

.post-formatted .blocks-gallery-grid {
    margin-bottom: -1em;
}

.is-ie .post-formatted .wp-block-image img {
    width: 100%;
}

/* #endregion */
/* #region - page, single */

.s-post {
    background-color: var(--c-seashell);
    padding: calc(var(--gap) * 2) 0;
    flex: 1 0 auto;
}

.s-post__container {
    background-color: var(--c-white);
    border: .1rem solid var(--c-iron);
    border-radius: 1rem;
    max-width: calc(var(--w-max-s) - var(--gap) * 4);
    width: calc(100% - var(--gap) * 4);
    display: block;
}

.s-post__row {
    margin: 0;
    display: block;
}

.s-post__back {
    font-size: var(--fs-h5);
    font-weight: 700;
    color: var(--c-dove-gray);
    margin-bottom: var(--gap);
    display: table;
    cursor: pointer;
}

.s-post__back i {
    margin-right: 1rem;
}

.s-post__header {
    margin: calc(var(--n-gap) * .1) calc(var(--n-gap) * .5) calc(var(--gap) + var(--n-gap) * .1);
}

.s-post__header>* {
    margin: calc(var(--gap) * .1) calc(var(--gap) * .5);
}

.s-post .s-post__meta {
    list-style-type: none;
    font-size: var(--fs-xs);
    font-weight: 500;
    text-transform: uppercase;
    color: var(--c-silver-chalice);
    padding: 0;
    margin: calc(var(--gap) * .1) calc(var(--gap) * .5 - .5rem);
    display: flex;
    flex-wrap: wrap;
}

.s-post .s-post__meta>* {
    margin: 0 .5rem;
}

.s-post__meta-terms {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.s-post__meta-terms .separator {
    margin-right: .5rem;
}

.s-post__image {
    position: relative;
    margin: 0 0 var(--gap);
}

.s-post__container .s-post__image {
    margin-top: 0;
}

.s-post__image:after {
    content: '';
    padding-top: 56.25%;
    display: block;
}

.s-post__image img {
    margin: 0;
}

/* event */

.s-post__schedule {
    font-weight: 700;
    margin-bottom: calc(var(--gap) - 1rem);
}

.s-post__schedule>*:not(:last-child) {
    margin-bottom: calc(var(--gap) * .1);
}

.s-post__schedule i {
    text-align: center;
    min-width: var(--fs-body);
    margin-right: 1rem;
}

/* #endregion */
/* #region - template */

/* wysiwyg */

.wysiwyg>* {
    margin-bottom: calc(var(--gap) - 1rem);
}

.wysiwyg hr,
.wysiwyg img,
.wysiwyg .table-overflow,
.wysiwyg .b-df__list {
    margin: var(--gap) 0;
}

.wysiwyg .button {
    margin-top: var(--gap);
}

.wysiwyg ul,
.wysiwyg ol {
    padding-left: calc(var(--gap) - 1rem);
}

.wysiwyg ul {
    list-style-type: disc;
}

.wysiwyg ol {
    list-style-type: decimal;
}

.wysiwyg blockquote {
    border-left: .3rem solid var(--c-ecstasy);
    position: relative;
    padding-left: calc(var(--gap) - 1rem);
    margin: var(--gap) auto;
}

.wysiwyg blockquote>*:last-child {
    margin-bottom: 0;
}

.wysiwyg img {
    position: relative;
    overflow: hidden;
}

.wysiwyg hr {
    border-color: var(--c-iron);
}

.wysiwyg .table-overflow {
    max-width: calc(100vw - var(--gap) * 2);
    overflow-x: auto;
}

.wysiwyg table {
    text-align: left;
}

.wysiwyg table thead {
    font-size: var(--fs-h5);
    font-weight: 700;
    color: var(--c-dove-gray);
    background-color: var(--c-seashell);
}

.wysiwyg table th,
.wysiwyg table td {
    border: .1rem solid var(--c-iron);
    padding: calc(var(--gap) * .3) calc(var(--gap) * .5);
}

.wysiwyg>*:last-child,
.wysiwyg>*:last-child>*:last-child {
    margin-bottom: 0;
}

/* search */

.s-form {
    margin: calc(var(--n-gap) * .1);
    display: flex;
    flex-wrap: wrap;
}

.s-form>* {
    margin: calc(var(--gap) * .1);
    flex: 1 1 16rem;
}

.search {
    position: relative;
}

.search>input[type='search'] {
    font-size: var(--fs-xs);
    border: .1rem solid var(--c-black);
    background-color: var(--c-white);
    padding: 1rem 3rem 1rem 1rem;
    width: 100%;
}

.search>input[type='submit'] {
    font-family: 'Font Awesome 5 Pro';
    font-size: var(--fs-xs);
    font-weight: 300;
    background: none;
    border: 0;
    margin: auto;
    position: absolute;
    top: 0;
    right: 1rem;
    height: 100%;
    padding: 1rem 0;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.is-ie .search>input {
    height: 100%;
}

/* #endregion */
/* #region - home */

/* hero */

.h-hb {
    color: var(--c-white);
    background-color: var(--c-dove-gray);
    min-height: calc(9 / 24 * 100vw);
    margin: 0 0 auto;
    display: flex;
    flex-direction: column;
}

.h-hb .swiper-slide {
    position: relative;
}

.h-hb__container {
    text-align: center;
    position: relative;
    max-width: var(--w-max-xxs);
    z-index: 1;
}

.h-hb__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.h-hb__image--darken:before {
    content: '';
    background-color: var(--c-black);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: .4;
}

.h-hb__text {
    padding: var(--gap) 0;
}

.h-hb__text h2,
.h-hb__title {
    font-size: var(--fs-h1);
    font-weight: 700;
    line-height: var(--lh-s);
    color: var(--c-white);
}

.h-hb__button {
    margin: auto;
}

.h-hb .swiper-pagination {
    position: absolute;
    bottom: 0;
    padding: var(--gap);
    margin: 0;
}

/**/

.h-fp {
    padding: calc(var(--gap) * 2) 0;
}

.h-fp__title {
    font-size: var(--fs-h2);
    line-height: var(--lh-s);
    text-transform: uppercase;
    color: var(--c-ecstasy);
    text-align: center;
    margin-bottom: var(--gap);
    padding: 0 var(--gap);
}

.h-fp__title b {
    font-weight: 700;
    color: var(--c-dove-gray);
}

.h-fp__swiper {
    max-width: 70vw;
    width: 56rem;
    margin: auto;
}

.h-fp .swiper-background {
    background-image: url('../images/tray.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom center;
    position: absolute;
    bottom: calc(var(--gap) + var(--gap) * .3);
    left: 0;
    width: 100%;
    height: 100%;
}

.h-fp .swiper-container {
    overflow: visible;
}

.h-fp__label {
    font-size: var(--fs-xl);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    text-align: center;
    word-break: break-word;
    color: var(--c-ecstasy);
    margin: auto auto -15%;
    opacity: 0;
    transition: opacity .8s var(--e-hover);
}

.h-fp .swiper-slide-active .h-fp__label {
    opacity: 1;
}

.h-fp .h-fp__item {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    pointer-events: none;
}

.h-fp .swiper-slide-active .h-fp__item {
    pointer-events: all;
}

.h-fp__image {
    position: relative;
    max-width: 60%;
    width: 100%;
    margin: auto auto 0;
}

.h-fp__image:after {
    content: '';
    padding-bottom: 100%;
    display: block;
}

/**/

.h-os {
    background-color: var(--c-seashell);
    position: relative;
    margin-bottom: var(--gap);
    overflow: visible;
}

.h-os__background {
    left: 50%;
    max-width: var(--w-max);
    z-index: 1;
    overflow: visible;
    transform: translateX(-50%);
}

.h-os__background span {
    background-size: contain;
    position: absolute;
}

.h-os__background span:after {
    content: '';
    display: block;
}

.h-os__background span:nth-child(1) {
    background-image: url('../images/h-os-upper-left.png');
    top: 0;
    left: -18rem;
    width: 33rem;
}

.h-os__background span:nth-child(1):after {
    padding-bottom: 59.09%;
}

.h-os__background span:nth-child(2) {
    background-image: url('../images/h-os-lower-left.png');
    bottom: -4rem;
    left: -12rem;
    width: 17rem;
}

.h-os__background span:nth-child(2):after {
    padding-bottom: 100%;
}

.h-os__background span:nth-child(3) {
    background-image: url('../images/h-os-lower-right.png');
    bottom: -2rem;
    right: -18rem;
    width: 33.4rem;
}

.h-os__background span:nth-child(3):after {
    padding-bottom: 27.54%;
}

.h-os__col>* {
    position: relative;
    z-index: 2;
}

.h-os__text {
    flex: 1 1 48rem;
}

.h-os__title {
    font-size: var(--fs-h2);
    line-height: var(--lh-s);
    text-transform: uppercase;
    color: var(--c-ecstasy);
    text-align: center;
    margin-bottom: var(--gap);
}

.h-os__title b {
    font-weight: 700;
    color: var(--c-dove-gray);
}

.h-os__media {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1 1 48rem;
}

.h-os__media:before {
    content: '';
    background-color: var(--c-white);
    position: absolute;
    top: calc(var(--n-gap) * 2);
    left: 50%;
    width: 100vw;
    height: calc(100% + var(--gap) * 4);
}

.h-os__placeholder {
    margin: auto;
    flex: 1 0 auto;
}

.h-os__image {
    position: relative;
}

.h-os__image:after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

/* #endregion */
/* #region - about us */

.au {
    background-color: var(--c-seashell);
    padding: calc(var(--gap) * 2) 0;
    flex: 1 0 auto;
}

.au__container {
    background-color: var(--c-white);
    border: .1rem solid var(--c-iron);
    border-radius: 1rem;
    max-width: calc(var(--w-max-s) - var(--gap) * 4);
    width: calc(100% - var(--gap) * 4);
}

.au__row:not(:first-child) {
    margin-top: calc(var(--n-gap) * 2 - 1.5rem);
}

.is-image-text [class*='__text'] {
    order: 1;
}

.is-column {
    flex-direction: column;
}

.is-column [class*='__col'] {
    width: calc(100% - calc(var(--gap) * 2));
    flex: 1 0 auto;
}

.is-column.is-text-image [class*='__text'],
.is-column.is-image-text [class*='__media'] {
    margin-bottom: 0;
}

.au h2 {
    font-size: var(--fs-h4);
    font-weight: 700;
}

.au .button {
    margin: calc(var(--gap) - .5rem) 0 .5rem;
}

.au-ti {
    align-items: center;
}

.au-ic__image {
    position: relative;
}

.au-ic__image:after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

.au-gc__grid {
    margin: calc(var(--gap) * .5);
    display: flex;
    flex-wrap: wrap;
}

.au-gc__item {
    width: calc(33.33% - var(--gap));
    margin: calc(var(--gap) * .5);
    display: flex;
    flex-direction: column;
}

.au-gc__media {
    margin-bottom: calc(var(--gap) * .9);
    order: -1;
}

.au-gc__image {
    position: relative;
}

.au-gc__image:after {
    content: '';
    padding-bottom: 140%;
    display: block;
}

/* #endregion */
/* #region - archive */

.archive {
    background-color: var(--c-seashell);
    flex: 1 0 auto;
}

.archive__container {
    max-width: var(--w-max-s);
}

.archive__header {
    margin: calc(var(--n-gap) * .25) calc(var(--n-gap) * .5) calc(var(--gap) + var(--n-gap) * .25);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
}

.archive__header>* {
    margin: calc(var(--gap) * .25) calc(var(--gap) * .5);
}

.archive__title {
    font-size: var(--fs-h2);
    font-weight: 700;
    line-height: var(--lh-s);
    letter-spacing: 0;
    color: var(--c-dove-gray);
}

.archive__form {
    width: 40rem;
}

.archive__result {
    font-size: var(--fs-h3);
    font-weight: 500;
    color: var(--c-silver-chalice);
}

.archive__articles {
    margin: calc(var(--n-gap) + var(--gap) * .5) calc(var(--n-gap) * .5) calc(var(--n-gap) * .5);
    display: flex;
    flex-direction: column;
}

.archive__article {
    position: relative;
    padding: calc(var(--gap) * .5) 0;
    margin-bottom: -.1rem;
    display: flex;
    flex-wrap: wrap;
}

.archive__article:before {
    content: '';
    background-color: var(--c-white);
    box-shadow: 0 1rem 2rem 0rem rgba(0, 0, 0, .1);
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + var(--gap) * .5);
    height: 100%;
    z-index: 1;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity .3s var(--e-hover);
}

[data-item-href].archive__article:hover:before {
    opacity: 1;
}

.archive__article:after {
    content: '';
    border-top: .1rem solid var(--c-iron);
    border-bottom: .1rem solid var(--c-iron);
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(100% - var(--gap));
    height: 100%;
    transform: translate(-50%, 0);
}

.archive__article>* {
    margin: calc(var(--gap) * .25) calc(var(--gap) * .5);
    z-index: 1;
}

.archive__article-text {
    flex: 3 1 24rem;
}

.archive__article-title {
    font-size: var(--fs-h3);
    font-weight: 700;
    line-height: var(--lh-s);
    color: var(--c-dove-gray);
    margin-bottom: calc(var(--gap) * .3);
}

.archive__article-link {
    color: inherit;
}

.archive__article-link:hover {
    color: var(--c-ecstasy);
}

[data-item-href]:hover .archive__article-link {
    color: var(--c-ecstasy);
}

.archive__article-excerpt[data-truncate] {
    max-height: calc(var(--lh-m) * 3 + .1rem);
    overflow: hidden;
}

.archive__article-media {
    flex: 1 1 12rem;
    order: -1;
}

.archive__article-image {
    position: relative;
    min-height: 12rem;
    overflow: hidden;
}

.archive__article-image:after {
    content: '';
    padding-top: 62.5%;
    display: block;
}

.archive__article-image img {
    transition: transform .3s var(--e-hover);
}

[data-item-href]:hover .archive__article-image img {
    transform: scale(1.1);
}

.archive__empty {
    margin: calc(var(--gap) * .25) calc(var(--gap) * .5);
}

.archive__footer {
    margin-top: var(--n-gap);
}

/**/

[data-ajax-container].is-loading {
    pointer-events: none;
}

[data-ajax-main] {
    position: relative;
}

[data-ajax-container].is-loading [data-ajax-main] {
    max-height: 50vh;
    overflow: hidden;
}

[data-ajax-container].is-loading [data-ajax-main]>div {
    opacity: 0;
}

[data-ajax-main]:before {
    content: '';
    border: .2rem solid var(--c-ecstasy);
    border-top: .2rem solid var(--c-iron);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    width: var(--fs-h2);
    height: var(--fs-h2);
    margin: calc(var(--fs-h2) / -2);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: spin 2s linear infinite;
    opacity: 0;
    transition: opacity .1s ease;
    pointer-events: none;
}

[data-ajax-container].is-loading [data-ajax-main]:before {
    opacity: 1;
}

[data-ajax-main]>* {
    transition: opacity .2s ease;
}

[data-ajax-container].is-loading [data-ajax-main]>* {
    opacity: 0 !important;
}

[data-ajax-footer] {
    display: flex;
    justify-content: center;
    transition: opacity .2s ease;
}

[data-ajax-container].is-loading [data-ajax-footer] {
    opacity: 0;
    pointer-events: none;
}

[data-ajax-footer] .wp-pagenavi {
    font-size: var(--fs-s);
    color: var(--c-silver-chalice);
    text-align: center;
    margin-top: var(--gap);
    display: flex;
    flex-wrap: wrap;
}

[data-ajax-footer] .wp-pagenavi>* {
    color: var(--c-dove-gray);
    background: var(--c-white);
    border: .1rem solid var(--c-iron);
    padding: .4rem 1rem .25rem;
    margin: 0 -.1rem -.1rem -.1rem;
}

[data-ajax-footer] .wp-pagenavi>*:first-child {
    border-radius: .4rem 0 0 .4rem;
}

[data-ajax-footer] .wp-pagenavi>*:last-child {
    border-radius: 0 .4rem .4rem 0;
}

[data-ajax-footer] .wp-pagenavi a:hover {
    color: var(--c-ecstasy);
}

[data-ajax-footer] .wp-pagenavi .current {
    color: var(--c-white);
    background-color: var(--c-ecstasy);
}

[data-ajax-footer] .wp-pagenavi .disabled {
    color: var(--c-iron);
    pointer-events: none;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* #endregion */
/* #region - archive - product */

.a-op {
    background-color: var(--c-seashell);
    flex: 1 0 auto;
}

.a-op__sb {
    flex: 1 1 24rem;
}

.a-op__title {
    font-size: var(--fs-h4);
    line-height: var(--lh-s);
    text-transform: uppercase;
    margin-bottom: var(--gap);
}

.a-op__category .nav__list,
.a-op__category .nav__sublist {
    margin: calc(var(--n-gap) * .2) 0;
}

.a-op__category .nav__control {
    font-size: var(--fs-body);
    font-weight: 400;
    color: inherit;
    padding: calc(var(--gap) * .2) 0;
    cursor: default;
}

.a-op__category .nav__item.open>.nav__control {
    color: inherit;
}

.a-op__category .nav__item--is-current {
    color: var(--c-ecstasy);
}

.a-op__category .nav__control:hover {
    color: inherit;
}

.a-op__category .nav__control:after,
.a-op__category .nav__expand:after {
    font-weight: 300;
    color: var(--c-ecstasy);
}

.a-op__category .nav__item.open>.nav__control:after,
.a-op__category .nav__control[aria-expanded='true']>.nav__expand:after {
    color: var(--c-ecstasy);
}

.a-op__category .nav__link {
    color: inherit;
    transition: color .3s var(--e-hover);
}

.a-op__category .nav__link:hover {
    color: var(--c-ecstasy);
}

.a-op__category .nav__inner {
    padding: 0 0 calc(var(--gap) * .2 + .5rem) calc(var(--gap) * .5);
}

.a-op__mc {
    flex: 6 1 64rem;
}

.a-op__items {
    margin: calc(var(--n-gap) * .5);
    display: flex;
    flex-wrap: wrap;
}

.a-op__item {
    background-color: var(--c-white);
    border: .1rem solid var(--c-iron);
    border-radius: 1rem;
    position: relative;
    width: calc(50% - var(--gap) - .01rem);
    margin: calc(var(--gap) * .5);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .3s var(--e-hover);
}

.a-op__item:hover {
    transform: scale(.95);
}

.a-op__empty {
    margin: calc(var(--gap) * .5);
}

.a-op__item-text {
    line-height: var(--lh-s);
    padding: calc(var(--gap) * .4) calc(var(--gap) * .5);
}

.a-op__item-title {
    font-size: var(--fs-h5);
    font-weight: 700;
    line-height: var(--lh-s);
    color: var(--c-black);
    margin-bottom: calc(var(--gap) * .1);
}

.a-op__item-description {
    margin-bottom: calc(var(--gap) * .1);
}

.a-op__item-link {
    text-decoration: none;
    color: inherit;
}

.a-op__item-link:hover {
    color: inherit;
}

.a-op__item-media {
    position: relative;
    overflow: hidden;
    order: -1;
}

.a-op__item-background {
    background-color: var(--c-black);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.a-op__item-background svg {
    width: 100%;
    height: 100%;
}

.a-op__item-image {
    position: relative;
}

.a-op__item-image:after {
    content: '';
    padding-top: 62.5%;
    display: block;
}

.a-op__item-image img {
    transition: transform .3s var(--e-hover);
}

/* #endregion */
/* #region - archive - location */

/* hero */

.a-loc-hb {
    color: var(--c-white);
    background-color: var(--c-dove-gray);
    min-height: calc(10 / 32 * 100vw);
    margin: 0 0 auto;
    display: flex;
    flex-direction: column;
}

.header--is-transparent .a-loc-hb {
    min-height: 70vh;
}

.a-loc-hb .swiper-slide {
    position: relative;
}

.a-loc-hb__container {
    text-align: center;
    position: relative;
    max-width: var(--w-max-xxs);
    z-index: 1;
}

.a-loc-hb__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.a-loc-hb__image--darken:before {
    content: '';
    background-color: var(--c-black);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: .4;
}

.a-loc-hb__text {
    padding: var(--gap) 0;
}

.a-loc-hb__text h2,
.a-loc-hb__title {
    font-size: var(--fs-h1);
    font-weight: 700;
    line-height: var(--lh-s);
    color: var(--c-white);
}

.a-loc-hb__button {
    margin: auto;
}

.a-loc-hb .swiper-pagination {
    position: absolute;
    bottom: 0;
    padding: var(--gap);
    margin: 0;
}

/**/

.a-loc {
    background-color: var(--c-seashell);
    flex: 1 0 auto;
}

.a-loc__sb {
    flex: 1 1 24rem;
}

.a-loc__title {
    font-size: var(--fs-h4);
    line-height: var(--lh-s);
    text-transform: uppercase;
    margin-bottom: var(--gap);
}

.a-loc__category .nav__list,
.a-loc__category .nav__sublist {
    margin: calc(var(--n-gap) * .2) 0;
}

.a-loc__category .nav__control {
    font-size: var(--fs-body);
    font-weight: 400;
    color: inherit;
    padding: calc(var(--gap) * .2) 0;
    cursor: default;
}

.a-loc__category .nav__item.open>.nav__control {
    color: inherit;
}

.a-loc__category .nav__item--is-current {
    color: var(--c-ecstasy);
}

.a-loc__category .nav__control:hover {
    color: inherit;
}

.a-loc__category .nav__control:after,
.a-loc__category .nav__expand:after {
    font-weight: 300;
    color: var(--c-ecstasy);
}

.a-loc__category .nav__item.open>.nav__control:after,
.a-loc__category .nav__control[aria-expanded='true']>.nav__expand:after {
    color: var(--c-ecstasy);
}

.a-loc__category .nav__link {
    color: inherit;
    transition: color .3s var(--e-hover);
}

.a-loc__category .nav__link:hover {
    color: var(--c-ecstasy);
}

.a-loc__category .nav__inner {
    padding: 0 0 calc(var(--gap) * .2 + .5rem) calc(var(--gap) * .5);
}

.a-loc__mc {
    flex: 6 1 64rem;
}

.a-loc__items {
    margin: calc(var(--n-gap) * .5);
    display: flex;
    flex-wrap: wrap;
}

.a-loc__item {
    background-color: var(--c-white);
    border: .1rem solid var(--c-iron);
    border-radius: 1rem;
    position: relative;
    width: calc(33.33% - var(--gap) - .01rem);
    margin: calc(var(--gap) * .5);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .3s var(--e-hover);
}

.a-loc__empty {
    margin: calc(var(--gap) * .5);
}

.a-loc__item-text {
    line-height: var(--lh-s);
    padding: calc(var(--gap) * .6);
}

.a-loc__item-text span {
    color: var(--c-black);
}

.a-loc__item-title {
    font-size: var(--fs-h5);
    font-weight: 700;
    line-height: var(--lh-s);
    color: var(--c-black);
    margin-bottom: calc(var(--gap) * .1);
}

.a-loc__item-address {
    margin-bottom: calc(var(--gap) * .5);
}

.a-loc__item-telephone {
    margin-bottom: calc(var(--gap) * .5);
}

/* #endregion */
/* #region - archive - product */

.a-ln {
    background-color: var(--c-seashell);
    flex: 1 0 auto;
}

.a-ln__container {
    max-width: var(--w-max-s);
}

.a-ln__articles {
    margin: calc(var(--n-gap) * .5) 0;
    display: flex;
    flex-direction: column;
}

.a-ln__article {
    background-color: var(--c-white);
    border: .1rem solid var(--c-iron);
    border-radius: 1rem;
    position: relative;
    margin: calc(var(--gap) * .5) 0;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
}

.a-ln__empty {
    margin: calc(var(--gap) * .5);
}

.a-ln__article-text {
    padding: calc(var(--gap) * .8);
    flex: 3 1 24rem;
}

.a-ln__article-title {
    font-size: var(--fs-h5);
    font-weight: 700;
    line-height: var(--lh-s);
    color: var(--c-black);
    margin-bottom: calc(var(--gap) * .3);
}

.a-ln__article-excerpt {
    margin-bottom: calc(var(--gap) * .5);
}

.a-ln__article-excerpt[data-truncate] {
    max-height: calc(var(--lh-m) * 3 + .1rem);
    overflow: hidden;
}

.a-ln__article-link {
    text-decoration: none;
    color: inherit;
}

.a-ln__article-link:hover {
    color: inherit;
}

.a-ln__article-button i {
    margin-left: 1rem;
}

.a-ln__article-media {
    flex: 1 1 16rem;
    order: -1;
}

.a-ln__article-image {
    position: relative;
    min-height: 12rem;
    height: 100%;
    overflow: hidden;
}

.a-ln__article-image:after {
    content: '';
    padding-top: 62.5%;
    display: block;
}

.a-ln__article-image img {
    transition: transform .3s var(--e-hover);
}

/* #endregion */
/* #region - archive - career */

.a-cr-hb {
    font-size: var(--fs-h5);
    color: var(--c-white);
    background-color: var(--c-dove-gray);
    position: relative;
    min-height: calc(10 / 32 * 100vw);
    margin: 0 0 auto;
    display: flex;
    flex-direction: column;
}

.header--is-transparent .a-cr-hb {
    min-height: 70vh;
}

.a-cr-hb__container {
    text-align: center;
    position: relative;
    max-width: var(--w-max-xxs);
    z-index: 1;
}

.a-cr-hb__background-image {
    object-position: bottom center;
}

.a-cr-hb__text {
    padding: var(--gap) 0;
}

.a-cr-hb__text h2,
.a-cr-hb__title {
    font-size: var(--fs-l);
    font-weight: 700;
    line-height: var(--lh-s);
}

.a-cr {
    background-color: var(--c-ecstasy);
    background-color: rgba(245, 116, 14, .25);
    flex: 1 0 auto;
}

.a-cr h3 {
    font-size: var(--fs-h5);
}

.a-cr__container {
    max-width: var(--w-max-s);
}

.a-cr .accordion__list {
    margin: var(--n-gap) 0;
}

.a-cr .accordion__item {
    background-color: var(--c-white);
    border: .1rem solid var(--c-iron);
    border-radius: 1rem;
    margin: var(--gap) 0;
    overflow: hidden;
}

.a-cr .accordion__control {
    padding: var(--gap);
}

.a-cr .accordion__text {
    font-size: var(--fs-body);
    font-weight: 400;
    line-height: var(--lh-s);
    color: var(--c-silver-chalice);
    width: 100%;
    margin: -.1rem calc(var(--n-gap) * .5);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.a-cr .accordion__text>* {
    margin: .1rem calc(var(--gap) * .5);
}

.a-cr .accordion__title {
    font-size: var(--fs-h5);
    font-weight: 700;
    color: var(--c-black);
    margin-bottom: .3rem;
    flex: 4 1 24rem;
}

.a-cr .accordion__location {
    flex: 2 1 24rem;
}

.a-cr .accordion__datetime {
    flex: 1 1 24rem;
}

.a-cr .accordion__inner {
    position: relative;
    padding: calc(var(--gap) * 2);
}

.a-cr .accordion__inner:before {
    content: '';
    border-top: .1rem solid var(--c-ecstasy);
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(100% - var(--gap) * 2);
    transform: translateX(-50%);
}

.a-cr .accordion__inner:after {
    display: none;
}

.a-cr .accordion__cta {
    margin: calc(var(--gap) - 1rem) auto 0;
    align-self: center;
}

.a-cr .accordion__cta-background {
    background-image: url('../images/mascot-cta.svg');
    position: relative;
    margin-bottom: -6.2%;
}

.a-cr .accordion__cta-background:after {
    content: '';
    padding-bottom: 35%;
    display: block;
}

.a-cr .accordion__cta-content {
    line-height: var(--lh-s);
    text-align: center;
    word-break: break-word;
    background-color: var(--c-seashell);
    border-radius: 1rem;
    padding: calc(var(--gap) - .5rem) var(--gap) var(--gap);
}

.a-cr .accordion__cta-content span {
    margin-bottom: calc(var(--gap) * .3);
    display: block;
}

.a-cr .accordion__cta-content a {
    font-size: var(--fs-h4);
}

/* #endregion */
/* #region - form */

.form__main {
    padding: 0;
    margin: 0;
    flex-direction: column;
}

.form__main>div {
    width: 100%;
    margin-bottom: 2rem;
}

.form__main input,
.form__main textarea,
.form__main select {
    font-family: inherit;
    font-size: var(--fs-body);
    font-weight: 400;
    line-height: normal;
    color: var(--c-dove-gray);
    background-color: transparent;
    border: 0;
    border-bottom: .1rem solid var(--c-dove-gray);
    border-radius: 0;
    width: 100%;
    padding: 1rem 0;
    display: block;
    resize: none;
}

.form__main textarea {
    border: 0;
    border-bottom: .1rem solid var(--c-dove-gray);
    padding: 1rem 0;
    overflow: auto;
}

.form__main .form__select {
    position: relative;
    display: block;
}

.form__main .form__select:after {
    content: '\f078';
    font-family: 'Font Awesome 5 Pro';
    font-size: var(--fs-xs);
    font-weight: 700;
    position: absolute;
    top: 0;
    right: 0;
    padding: 1rem 0;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.form__main select {
    padding-right: 3rem;
}

.is-ie .form__main input,
.is-ie .form__main select {
    padding: 1rem .2rem;
}

.form__main input,
.form__main textarea,
.is-ie .form__main input,
.is-ie .form__main textarea {
    padding: 0 0 1rem;
}

.is-ie .form__main select {
    padding: .9rem 0;
}

.is-ie .form__main select::-ms-expand {
    opacity: 0;
}

.form__main input:focus,
.form__main textarea:focus,
.form__main select:focus {
    border-color: var(--c-dove-gray);
}

.form__main ::-webkit-input-placeholder {
    color: var(--c-silver-chalice);
}

.form__main ::-moz-placeholder {
    color: var(--c-silver-chalice);
}

.form__main :-ms-input-placeholder {
    color: var(--c-silver-chalice);
}

.form__main :-moz-placeholder {
    color: var(--c-silver-chalice);
}

.form__main label>span:first-child {
    font-size: var(--fs-xs);
    font-weight: 300;
    line-height: var(--lh-s);
    color: var(--c-dove-gray);
    margin-bottom: .5rem;
    display: block;
    transition: transform .3s var(--e-block);
}

.form__main label>span.is-required:after {
    content: '*';
    color: var(--c-ecstasy);
    margin-left: .5rem;
}

/**/

.form__footer {
    width: 100%;
    margin: 0 0 0 auto;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.form__footer .form__submit {
    position: relative;
}

.form__footer input[type='submit'] {
    text-indent: -99rem;
    background-color: transparent;
    border: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    cursor: pointer;
}

.form__footer .form__button {
    font-size: var(--fs-body);
    font-weight: 400;
    line-height: var(--lh-s);
    text-align: center;
    color: var(--c-white);
    background-color: var(--c-ecstasy);
    border: 0;
    border-radius: .5rem;
    position: relative;
    padding: calc(var(--gap) * .2) calc(var(--gap) * .5);
    margin: 0;
    overflow: hidden;
    display: block;
}

.is-ie .form__footer .form__button {
    line-height: 1.25;
}

.form__footer input[type='submit']:hover~.form__button {
    color: var(--c-white);
    background-color: var(--c-dove-gray);
}

/**/

.form form .ajax-loader {
    font-size: 2rem;
    background: none;
    position: absolute;
    top: 50%;
    left: calc(100% + 1rem);
    width: 2rem;
    height: 2rem;
    margin: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 1 0 auto;
    transform: translate(0, -50%);
}

.form form .ajax-loader:before {
    content: '\f110';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    line-height: 1;
    color: inherit;
    background: none;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    transform-origin: center center;
    animation: loading 1.2s linear infinite;
}

.form form input.wpcf7-not-valid,
.form form textarea.wpcf7-not-valid,
.form form select.wpcf7-not-valid {
    border-color: var(--c-ecstasy);
}

.form form .wpcf7-not-valid-tip {
    font-size: var(--fs-xs);
    font-weight: 400;
    line-height: var(--lh-s);
    color: var(--c-ecstasy);
    margin: .5rem 0 0;
    display: block;
}

.form form .wpcf7-response-output {
    font-size: var(--fs-xs);
    font-weight: 400;
    line-height: var(--lh-s);
    border: 0;
    padding: 0;
    margin: 1rem 0 0;
    display: table;
}

.form form.sent .wpcf7-response-output {
    color: inherit;
}

.form form.invalid .wpcf7-response-output {
    color: var(--c-ecstasy);
}

@keyframes loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* recaptcha */

.form__recaptcha {
    font-size: var(--fs-xs);
    line-height: var(--lh-s);
    max-width: 36rem;
    margin: calc(var(--gap) * .5) 0 0;
}

.form__recaptcha a {
    text-decoration: underline;
}

.grecaptcha-badge {
    opacity: 0 !important;
}

/* #endregion */
/* #region - error */

.error-404 {
    font-size: var(--fs-h3);
    text-align: center;
    background-color: var(--c-seashell);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 0 auto;
}

/* #endregion */
/* #region - animate gsap */

.ns {    
    background-color: var(--c-seashell);
}

.ns__header {
    background-color: var(--c-dove-gray);
    position: relative;
    padding-top: var(--gap);
    margin-bottom: calc(var(--n-gap) - 1rem);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.ns__header-logo {
    max-width: 30rem;
    min-width: 20rem;
    width: 30vw;
    margin: auto 0 var(--gap);
}

.ns__header-illustration {
    position: relative;
    max-width: 120rem;
    width: 100%;
    margin: auto 0 0;
}

.ns__header-illustration:after {
    content: '';
    background-color: var(--c-seashell);
    position: absolute;
    top: 90%;
    left: 50%;
    right: 50%;
    margin: 0 -50vw;
    width: 100vw;
    height: calc(10% + .1rem);
}

.ns__header-image-2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    filter: drop-shadow(0 5px 6px rgba(0, 0, 0, .2));
}

.ns__text {
    text-align: center;
    max-width: 120rem;
    width: 100%;
    margin: auto;
    z-index: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.ns__text>*:not(:last-child) {
    margin-bottom: calc(var(--gap) * .3);
}

.ns__title {
    font-size: var(--fs-h2);
    line-height: var(--lh-s);
    color: var(--c-ecstasy);
}

.ns__links {
    margin-top: calc(var(--gap) * .3);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.ns__link {
    color: inherit;
    background: #FFF;
    border-radius: 5rem;
    box-shadow: 0 0 1rem 0 rgb(0 0 0 / 20%);
    max-width: 28rem;
    width: calc(16rem + 10vw);
    padding: 2rem 3rem;
    margin: 1rem;
    display: flex;
    align-items: center;
    transition: transform .3s ease;
}

.ns__link:hover {
    transform: scale(1.1);
}

.is-ie .ns__link img {
    width: 100%;
}

.ns__sns-links {
    margin-top: calc(var(--gap) * .3);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.ns__sns-link {
    color: inherit;
    background: #FFF;
    border-radius: 5rem;
    box-shadow: 0 0 1rem 0 rgb(0 0 0 / 20%);
    min-width: 18rem;
    padding: .5rem;
    margin: 1rem;
    display: flex;
    align-items: center;
    transition: transform .3s ease;
}

.ns__sns-link:hover {
    transform: scale(1.1);
}

.ns__sns-link img {
    max-width: 4rem;
    width: 100%;
}

.ns__sns-link span {
    padding: 0 1.5rem 0 1rem;
    margin: auto;
    display: block;
}

/* #endregion */
/* #region - animate gsap */

.text-wrapper {
    position: relative;
    overflow: hidden;
    display: inline-flex;
}

.not-initial .text-wrapper {
    overflow: visible;
}

.word {
    display: inline-block;
}

.splitting>strong+.text-wrapper,
.splitting>.text-wrapper+span[style] {
    margin-left: 1.25rem;
}

/* #endregion */