/* #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-black: #000000;
    --c-corvette-60: #D8D9DA;
    --c-seashell: #F1F1F1;
    --c-white: #FFFFFF;
    --c-morrocon-brown: #471E0D;
    --c-morrocon-brown-80: #6C4B3D;
    --c-morrocon-brown-60: #91786E;
    --c-morrocon-brown-40: #B5A59E;
    --c-morrocon-brown-20: #DAD2CF;
    --c-corvette: #F9D39E;
    --c-corvette-80: #FADCB1;
    --c-corvette-60: #FBEACE;
    --c-corvette-40: #FDEDD8;
    --c-corvette-20: #FEF6EC;
    --c-forest-green: #20372E;
    --c-ember-red: #D25333;
    /* 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) - 4rem);
    /**/
    --pattern-size: 522px;
    /**/
    --offset-top: 25rem;
    --offset-top--1: 15rem;
    --offset-top--2: 13rem;
}

@media only screen and (max-width: 1280px) {

    :root {
        /* gap */
        --gap: 3rem;
        /* font-size */
        --fs-xxl: 7.2rem;
        --fs-xl: 6rem;
        --fs-l: 4.8rem;
        --fs-h1: 3.6rem;
        --fs-h1-s: 3.2rem;
        --fs-h2: 2.8rem;
        --fs-h3: 2.4rem;
        --fs-h4: 2.1rem;
        --fs-h5: 1.8rem;
        --fs-h6: 1.6rem;
        --fs-body: 1.6rem;
        --fs-s: 1.4rem;
    }

}

@media only screen and (max-width: 575px) {

    :root {
        /* font-size */
        --fs-xxl: 6rem;
        --fs-xl: 4.8rem;
        --fs-l: 3.6rem;
        --fs-h1: 3.2rem;
        --fs-h1-s: 2.8rem;
        --fs-h2: 2.6rem;
        --fs-h3: 2.2rem;
        --fs-h4: 2rem;
        /* line-height */
        --lh-xl: calc(1em + 2rem);
        /* header */
        --hd-height: 8rem;
        --hd-logo: calc(var(--hd-height) - 4rem);
    }

}

@media only screen and (max-width: 375px) {

    :root {
        --fs-xl: 4.2rem;
    }

}

html {
    font-size: 62.5%;
}

body {
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-body);
    font-weight: 300;
    line-height: var(--lh-m);
    color: var(--c-corvette);
    background-color: var(--c-morrocon-brown);
    height: 100vh;
    overflow-x: clip;
    display: flex;
    flex-direction: column;
}

/* 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: inherit;
    text-decoration: none;
    transition: color .3s var(--e-hover);
    transition-property: color, background, border;
}

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

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

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

::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

::-webkit-scrollbar-track {
    background-color: var(--c-morrocon-brown-80);
}

::-webkit-scrollbar-thumb {
    background-color: var(--c-corvette);
    border-radius: 1rem;
}

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: 1px solid var(--c-black);
    margin: 0;
}

.page__header {
    font-size: var(--fs-s);
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center;
    color: var(--c-corvette-60);
    background-color: rgba(71, 30, 13, .8);
    box-shadow: 0 .1rem 1rem 0 rgba(0, 0, 0, .2);
    backdrop-filter: blur(20px);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    padding: 0;
    z-index: 99;
    transform: translate3d(0, 0, 0);
    transition: all .3s ease;
    transition-property: background-color, height;
}

.page__main {
    background-color: var(--c-morrocon-brown);
    background-image: url(../images/pattern-2.png);
    background-position: center;
    background-size: var(--pattern-size);
    overflow: hidden;
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1 0 auto;
}

/* 
.page__footer {
    background-image: url(../images/pattern-2.png);
    background-position: center;
    background-size: var(--pattern-size);
} 
*/

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

.page__svg {
    display: none;
}

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

@media only screen and (max-width: 575px) {

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

}

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

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

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

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

[class*='__col'] {
    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: '';
    background-image: url(../images/logo.svg);
    background-color: var(--c-morrocon-brown-80);
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: center;
    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-block-start: 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-morrocon-brown);
    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;
}

@media only screen and (max-width: 575px) {

    .video__button {
        width: calc(var(--fs-h2) + 4rem);
        height: calc(var(--fs-h2) + 4rem);
        margin: calc((var(--fs-h2) + 4rem) / -2);
    }

}

.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-corvette);
    background-color: var(--c-morrocon-brown);
    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-ember-red);
}

.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;
    color: var(--c-morrocon-brown);
    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-body);
    color: var(--c-morrocon-brown);
    background-color: var(--c-morrocon-brown-20);
    border: 1px solid var(--c-morrocon-brown);
    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-inline-start: -50vw;
    margin-inline-end: -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: calc(var(--gap) * .5) var(--gap);
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--gap) * .5) var(--gap);
}

.header__logo {
    flex: 0 0 auto;
}

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

.is-scrolled-top .header__desktop .header__logo-link {
    height: calc(var(--hd-logo) * 1.5);
}

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

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

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

/* desktop nav */

.header__desktop {
    display: flex;
}

.is-scrolled-top .header__desktop {
    padding: 0;
    padding-block-start: calc(var(--gap) * .5);
    flex-direction: column;
}

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

.is-scrolled-top .header__desktop .header__group {
    border-top: 1px solid var(--c-corvette-60);
    width: 100%;
    justify-content: center;
}

.is-scrolled-top .header__desktop .header__nav {
    max-width: var(--w-max-xs);
    width: 100%;
}

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

.is-scrolled-top .header__desktop .nav__list {
    width: 100%;
}

.header__desktop .nav__item {
    position: relative;
}

.header__desktop .nav__list > .nav__item {
    border: 1px 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: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

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

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

.header__desktop .nav__item--is-current > .nav__link:where([href*='#']),
.header__desktop .nav__item--child-is-current > .nav__link:where([href*='#']) {
    color: inherit;
}

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

.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;
    background-color: var(--c-morrocon-brown);
    box-shadow: 0 0 0 .1rem var(--c-corvette-60);
    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-ember-red);
    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-inline-start: 2rem;
}

.is-scrolled-top .header__desktop .social {
    display: none;
}

/* mobile nav */

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

.header__mobile {
    display: none;
}

.header__toggle {
    color: inherit;
    position: relative;
    width: 3rem;
    height: 1.9rem;
    margin-inline-start: 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-corvette);
    border-radius: .3rem;
    position: absolute;
    left: 0;
    width: 100%;
    height: .2rem;
    display: block;
    opacity: 1;
    transform: rotate(0deg);
    transition: .3s var(--e-hover);
    pointer-events: none;
}

.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-ember-red);
}

.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-ember-red);
}

.header__drawer {
    font-size: var(--fs-h5);
    text-align: center;
    background-color: var(--c-morrocon-brown);
    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-morrocon-brown);
    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-block-end: 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-block-end: 0;
    margin-block-end: 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);
    font-weight: inherit;
}

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

.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-ember-red);
    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-ember-red);
}

.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-inline-end: 0;
    margin-inline-end: 0;
    display: inline;
    transition: color .3s var(--e-hover);
    pointer-events: all;
}

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

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

.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-block-end: 0;
}

/**/

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

/**/

@media only screen and (max-width: 1280px) {

    .header__desktop {
        display: none;
    }

    .header__mobile {
        display: flex;
    }

}

@media only screen and (max-width: 575px) {

    .header__drawer {
        max-width: 100%;
    }

}

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

.footer__wrapper {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    row-gap: 1rem;
}

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

/* accordion */

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

.accordion__item {
    border-bottom: 1px solid var(--c-corvette-60);
}

.accordion__item:last-child {
    border: 0;
    padding-block-end: 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-ember-red);
}

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

.accordion__title,
.accordion__link {
    margin-inline-end: 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-ember-red);
}

.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-block-start: calc(var(--gap) * .5);
}

.accordion__inner > *:last-child {
    margin-block-end: 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-block-end: 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: 2px solid var(--c-ember-red);
    border-top: 2px solid var(--c-corvette-60);
    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-ember-red);
}

.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-block-start: 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-corvette-60);
    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-ember-red);
}

/* 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-ember-red);
}

.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%;
}

@media only screen and (max-width: 575px) {

    .lb__item-image,
    .lb__item-media iframe {
        max-width: 100vw;
        width: 100%;
        max-height: 100vh;
        height: 100%;
    }

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

}

/* 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-block-end: calc(var(--gap) * .1);
}

.a-op__lb .lb__item-description {
    margin-block-end: 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-block-start: 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-block-end: calc(var(--n-gap) + 1rem);
    display: block;
}

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

.post-formatted br + br {
    margin-block-end: 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-block-end: 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-block-end: calc(var(--gap) - 1rem);
}

.post-formatted ul,
.post-formatted ol {
    padding-inline-start: 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-block-end: 0;
}

.post-formatted ul::after,
.post-formatted ol::after {
    content: '';
    margin-block-end: 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-ember-red);
    position: relative;
    padding-inline-start: calc(var(--gap) - 1rem);
}

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

.post-formatted blockquote > *:last-child {
    margin-block-end: 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-block-end: -1em;
}

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

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

.s-post {
    padding: var(--gap) 0;
    flex: 1 0 auto;
}

.s-post__container {
    max-width: calc(var(--w-max-s) - var(--gap) * 4);
    padding-block-start: 21rem;
    display: block;
}

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

.s-post__header {
    margin-block-end: var(--gap);
}

.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-block-end: 1rem;
    display: flex;
    flex-wrap: wrap;
}

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

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

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

.s-post__container .s-post__image {
    aspect-ratio: 16 / 9;
    margin-block-start: 0;
}

.s-post__image img {
    margin: 0;
}

@media only screen and (max-width: 1280px) {

    .s-post__container {
        padding-block-start: 11rem;
    }

}

@media only screen and (max-width: 575px) {

    .s-post__container {
        padding-block-start: 9rem;
    }

}

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

/* wysiwyg */

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

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

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

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

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

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

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

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

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

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

.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: 1px solid var(--c-corvette-60);
    padding: calc(var(--gap) * .3) calc(var(--gap) * .5);
}

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

/* search */

.s-form {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.s-form > * {
    flex: 1 1 16rem;
}

.search {
    position: relative;
}

.search > input[type='search'] {
    font-size: var(--fs-xs);
    background-color: var(--c-morrocon-brown-20);
    border: 1px solid var(--c-morrocon-brown);
    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;
    color: var(--c-morrocon-brown);
    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 {
    background-color: var(--c-black);
    min-height: calc(9 / 24 * 100vw);
    min-height: 80dvh;
    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,
.h-hb__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-block: 0;
}

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

.h-hb .swiper-pagination .swiper-pagination-bullet {
    pointer-events: all;
}

/**/

.h-tl {
    color: var(--c-morrocon-brown);
    background-color: var(--c-corvette);
}

.h-tl__wrapper {
    padding: 0;
    display: flex;
    justify-content: center;
}

.h-tl__text {
    font-size: var(--fs-h4);
    text-transform: uppercase;
    text-align: center;
}

/**/

.h-sm {
    background-image: url(../images/pattern-2.png);
    background-position: center;
    background-size: var(--pattern-size);
    position: relative;
}

.h-sm__container {
    padding-block: calc(var(--gap) * 2);
}

.h-sm__col {
    max-width: 50%;
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--gap)* .5);
}

@media only screen and (max-width: 1024px) {

    .h-sm__col {
        max-width: 100%;
    }

}

.h-sm__background {
    background-size: cover;
    background-position: center;
}

.h-sm__background::after {
    background-color: var(--c-morrocon-brown);
    background-color: #230A00;
    content: '';
    position: absolute;
    inset: 0;
    opacity: .75;
}

.h-sm__blur {
    backdrop-filter: blur(100px);
    position: absolute;
    inset: 0;
}

/**/

.h-sm__image {
    aspect-ratio: 16 / 9;
    border: 1px solid transparent;
    transition: border .3s var(--e-hover);
}

.h-sm__item,
.h-sm__image {
    height: 100%;
}

.h-sm__thumbs :where(.swiper-slide-thumb-active) .h-sm__image {
    border-color: var(--c-corvette);
}

.h-sm__image img {
    position: relative;
}

.h-sm__thumbs {
    flex: 0 0 auto;
}

.h-sm__thumbs .swiper-slide {
    width: calc(25% - 40px);
}

/**/

.h-sm .menu__list {
    --column-size-minimum: calc(50% - 1rem);
    height: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--column-size-minimum, 10rem), 1fr));
    gap: 1rem;
}

.h-sm .menu__item {
    position: relative;
    display: flex;
}

.h-sm .menu__image {
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover;
    pointer-events: none;
}

.h-sm .menu__overlay {
    background-color: var(--c-morrocon-brown);
    position: absolute;
    inset: 0;
    opacity: .5;
    transition: opacity .3s var(--e-hover);
}

.h-sm .menu__link {
    border: 1px solid;
    text-shadow: 2px 2px 2px var(--c-morrocon-brown);
    text-transform: uppercase;
    text-align: center;
    width: 100%;
    padding: 2rem 1rem;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .3s var(--e-hover);
}

.h-sm .menu__image ~ .menu__link {
    border: 0;
}

.h-sm .menu__item:hover .menu__image ~ * {
    opacity: 0;
}

.h-sm__menu {
    display: none;
}

.glightbox-open {
    height: auto;
}

.g-lb__menu {
    background-color: var(--c-morrocon-brown);
    position: relative;
    display: flex !important;
    flex-direction: column;
    row-gap: var(--gap);
}

.g-lb__background {
    background-size: cover;
    background-position: center;
    position: fixed;
    top: 50%;
    left: 50%;
    max-width: min(var(--w-max), 90vw);
    height: 90vh;
    transform: translate(-50%, -50%);
    opacity: .1;
    pointer-events: none;
}

.g-lb__hr {
    border-bottom: 1px dashed;
}

.g-lb__title,
.g-lb__subtitle {
    font-size: var(--fs-h3);
    font-weight: 600;
    line-height: var(--lh-s);
    text-transform: uppercase;
}

.g-lb__subtitle {
    font-size: var(--fs-h4);
    align-self: start;
}

.g-lb__title > *,
.g-lb__subtitle > * {
    display: block;
}

.g-lb__icons {
    display: flex;
    grid-row: 3;
    grid-column: 1 / 4;
    gap: .5rem;
}

.g-lb__icons svg {
    fill: var(--c-corvette);
    backdrop-filter: blur(10px);
    background-color: rgba(108, 75, 61, 0.4);
    border-radius: 4px;
    aspect-ratio: 1 / 1;
    width: var(--fs-h3);
    height: auto;
}

.g-lb__icons .svg-favorite {
    fill: #FFB300;
}

.gslide-inline {
    background: none;
}

.gslide-inline .ginlined-content {
    padding: var(--gap);
}

.g-lb__content {
    --column-size-minimum: calc(33.33% - var(--gap));
    display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(var(--column-size-minimum, 30rem), 1fr)); */
    grid-template-columns: repeat(auto-fill, minmax(var(--column-size-minimum, 30rem), 1fr));
    gap: var(--gap);
}

.g-lb__item {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
}

.g-lb__label {
    line-height: var(--lh-s);
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    place-content: start;
    row-gap: .5rem;
}

.g-lb__image {
    /* aspect-ratio: 16 / 9; */
    aspect-ratio: 1 / 1;
    position: relative;
}

.g-lb__name-en {
    grid-column: 1 / 4;
}

.g-lb__name-jp {
    font-size: var(--fs-s);
    grid-row: 2;
    grid-column: 1 / 4;
}

.g-lb__price {
    text-align: right;
}

.g-lb__subitems {
    border-left: 1px dashed;
    padding-inline-start: 1.5rem;
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
}

.g-lb__subitem:where(:not(:last-child))::after {
    content: '';
    border-bottom: 1px dashed;
    position: absolute;
    bottom: -1rem;
    width: 100%;
}

.g-lb__note {
    border-top: 1px dashed;
    padding-block-start: var(--gap);
}

/**/

/*
.g-lb__menu-list {
    --w-max: 60rem;
    margin-inline: auto;
}

.g-lb__menu-list .g-lb__content {
    --column-size-minimum: calc(100% - var(--gap));
    row-gap: calc(var(--gap) * .5);
}
*/

.g-lb__menu-list .g-lb__image {
    display: none;
}

.g-lb__menu-list .g-lb__subtitle {
    position: relative;
    overflow: clip;
    align-self: auto;
    flex: 1 0 auto;
}

.g-lb__menu-list .g-lb__subtitle:has(.g-lb__background) {
    aspect-ratio: 32 / 9;
    position: relative;
    max-width: 100%;
    min-height: 20rem;
    padding: var(--gap);
    /* margin-inline: calc(var(--gap) * -1); */
    display: flex;
    flex-direction: column;
    justify-content: end;
}

.g-lb__menu-list .g-lb__subtitle > * {
    isolation: isolate;
}

.g-lb__menu-list :where(.g-lb__subtitle) .g-lb__background {
    position: absolute;
    opacity: .8;
}

@media only screen and (max-width: 1024px) {

    .g-lb__content {
        --column-size-minimum: calc(50% - var(--gap));
    }

}

@media only screen and (max-width: 575px) {

    .g-lb__content {
        --column-size-minimum: calc(100% - var(--gap));
    }

}

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

.au {
    background-color: var(--c-morrocon-brown);
}

.au__container {
    padding: 0;
}

.au__row {
    position: relative;
    gap: 0;
}

.au__row::before {
    content: '';
    background-image: url(../images/pattern-2.png);
    background-position: center;
    background-size: var(--pattern-size);
    position: absolute;
    left: 50%;
    width: 100vw;
    height: 100%;
    transform: translateX(-50%);
}

.au__row:nth-child(even) {
    color: var(--c-morrocon-brown);
}

.au__row:nth-child(even)::before {
    background-image: url(../images/pattern-1.png);
}

.au-ti__media {
    position: relative;
    max-width: 40%;
    aspect-ratio: 1 / 1;
}

.is-safari .au-ti__media {
    aspect-ratio: auto;
}

.au-ti__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: clip;
}

.au-ti__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.au-ti__text {
    padding: calc(var(--gap) * 2);
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}

.au__row:nth-child(1) .au-ti__text {
    padding-block-start: var(--offset-top);
}

.au-ti__text h2 {
    font-size: var(--fs-h3);
    font-weight: 600;
    text-transform: uppercase;
}

.au-ti .au-ti__button {
    margin: 0;
}

@media only screen and (max-width: 1280px) {

    .au__row:nth-child(1) .au-ti__text {
        padding-block-start: 15rem;
    }

}

@media only screen and (max-width: 768px) {

    .au__row {
        flex-direction: column;
    }

    .au-ti [class*='__media'] {
        order: 1;
    }

    .au-ti [class*='__text'] {
        order: 2;
    }

    .au-ti__media {
        max-width: 100%;
    }

    .au-ti__text {
        padding-inline: var(--gap);
    }

    .au__row:nth-child(1) .au-ti__text {
        padding-block-start: calc(var(--gap) * 2);
    }

}

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

.archive {
    position: relative;
    flex: 1 0 auto;
}

.archive__container {
    max-width: var(--w-max-s);
    padding-block-start: 21rem;
}

@media only screen and (max-width: 1280px) {

    .archive__container {
        padding-block-start: 11rem;
    }

}

@media only screen and (max-width: 575px) {

    .archive__container {
        padding-block-start: 9rem;
    }

}

.archive__wrapper {
    display: flex;
    flex-direction: column;
    row-gap: var(--gap);
}

.archive__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem var(--gap);
}

.archive__title {
    font-size: var(--fs-h2);
    font-weight: 600;
    line-height: var(--lh-s);
    letter-spacing: 0;
}

.archive__form {
    width: 40rem;
}

.archive__result {
    font-size: var(--fs-h3);
    font-weight: 600;
}

.archive__articles {
    display: flex;
    flex-direction: column;
}

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

.archive__article:before {
    content: '';
    background-color: var(--c-morrocon-brown);
    box-shadow: 0 1rem 2rem 0rem rgba(0, 0, 0, .1);
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + var(--gap));
    height: 100%;
    z-index: 0;
    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: 1px solid var(--c-morrocon-brown-80);
    border-bottom: 1px solid var(--c-morrocon-brown-80);
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, 0);
}

.archive__article > * {
    z-index: 1;
}

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

.archive__article-title {
    font-size: var(--fs-h4);
    font-weight: 600;
    line-height: var(--lh-s);
    margin-block-end: calc(var(--gap) * .3);
}

.archive__article-link {
    color: inherit;
}

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

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

.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-block-start: 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 {
    text-align: center;
    margin: calc(var(--gap) * .25) calc(var(--gap) * .5);
}

.archive__footer .archive__pagination .wp-pagenavi {
    margin: 0;
}

/**/

[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: 4px solid var(--c-ember-red);
    border-top: 4px solid var(--c-morrocon-brown-80);
    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.8;
    pointer-events: none;
}

[data-ajax-footer] .wp-pagenavi {
    font-size: var(--fs-s);
    color: var(--c-corvette);
    text-align: center;
    margin-block-start: calc(var(--gap) * 1.5);
    display: flex;
    flex-wrap: wrap;
}

[data-ajax-footer] .wp-pagenavi > * {
    color: var(--c-corvette);
    background: var(--c-morrocon-brown);
    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-ember-red);
}

[data-ajax-footer] .wp-pagenavi .current {
    color: var(--c-morrocon-brown);
    background-color: var(--c-ember-red);
}

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

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

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

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

.a-pr {
    position: relative;
    flex: 1 0 auto;
}

.a-pr__background {
    background-size: cover;
    background-position: center;
}

.a-pr__background::after {
    background-color: var(--c-morrocon-brown);
    content: '';
    position: absolute;
    inset: 0;
    opacity: .5;
}

.a-pr__container {
    max-width: var(--w-max-s);
    padding-block-start: var(--offset-top);
}

.a-pr__title {
    font-size: var(--fs-h2);
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    margin-block-end: var(--gap);
}

.a-pr__articles {
    display: flex;
    flex-direction: column;
    row-gap: var(--gap);
}

.a-pr__article {
    background-color: var(--c-morrocon-brown);
    background-image: url(../images/pattern-2.png);
    background-position: center;
    background-size: var(--pattern-size);
    border-radius: 0;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
}

.a-pr__empty {
    text-align: center;
    margin: calc(var(--gap) * .5);
}

.a-pr__article-text {
    padding: calc(var(--gap) * .8);
    display: flex;
    flex-direction: column;
    align-items: start;
    flex: 3 1 24rem;
}

.a-pr__article-title {
    font-size: var(--fs-h4);
    font-weight: 600;
    line-height: var(--lh-s);
    margin-block-end: calc(var(--gap) * .3);
}

.a-pr__article-excerpt {
    margin-block-end: calc(var(--gap) * .5);
}

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

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

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

.a-pr__article-button {
    margin-block-start: auto;
}

.a-pr__article-button i {
    margin-inline-start: 1rem;
}

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

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

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

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

@media only screen and (max-width: 1280px) {

    .a-pr__container {
        padding-block-start: var(--offset-top--1);
    }

}

@media only screen and (max-width: 575px) {

    .a-pr__container {
        padding-block-start: var(--offset-top--2);
    }

}

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

.a-loc {
    position: relative;
    flex: 1 0 auto;
}

.a-loc__container {
    height: 100%;
    padding-block-start: var(--offset-top);
    padding-block-end: calc(var(--gap) * 2);
    display: flex;
    flex-direction: column;
    gap: var(--gap);
}

.a-loc__filter {
    /* 
    width: min(80%, 60rem);
    margin-inline: auto; 
    */
    width: min(100%, max(30%, 30rem));
    margin-inline-end: auto;
    margin-block-end: var(--gap);
}

.a-loc__row:where(.hide) {
    display: none;
}

.a-loc__col {
    max-width: 50%;
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--gap)* .5);
}

.a-loc__col:where(:nth-child(1)) {
    max-width: 30%;
}

.a-loc__col:where(:nth-child(2)) {
    max-width: calc(70% - var(--gap));
}

.a-loc__map {
    aspect-ratio: 16 / 10;
    background-color: var(--c-black);
    position: relative;
    max-width: 100%;
    flex: 1 0 auto;
}

.a-loc__map p,
.a-loc__map iframe {
    width: 100%;
    height: 100%;
}

.a-loc__text {
    max-width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 0 1 auto;
}

.a-loc__text > * {
    margin-block-end: calc(var(--gap) * .3);
}

.a-loc__title {
    font-size: var(--fs-h5);
    font-weight: 500;
    text-transform: uppercase;
}

.a-loc__image {
    aspect-ratio: 16 / 10;
    border: 1px solid transparent;
    transition: border .3s var(--e-hover);
}

.a-loc__item,
.a-loc__image {
    width: 100%;
    height: 100%;
}

.a-loc__thumbs :where(.swiper-slide-thumb-active) .a-loc__image {
    border-color: var(--c-corvette);
}

.a-loc__image img {
    position: relative;
}

.a-loc__thumbs {
    flex: 0 0 auto;
}

.a-loc__thumbs .swiper-slide {
    width: calc(25% - 40px);
}

@media only screen and (max-width: 1280px) {

    .a-loc__container {
        padding-block-start: var(--offset-top--1);
    }

}

@media only screen and (max-width: 1024px) {

    .a-loc__col {
        max-width: 100%;
    }

}

@media only screen and (max-width: 768px) {

    .a-loc__container {
        padding-block-start: var(--offset-top--2);
    }

}

/* #endregion */
/* #region - contact us */

.cu {
    position: relative;
    flex: 1 0 auto;
}

.cu__background {
    background-size: cover;
    background-position: center;
}

.cu__container {
    height: 100%;
    padding-block-start: var(--offset-top);
    padding-block-end: calc(var(--gap) * 2);
    display: flex;
    align-items: center;
}

.cu__row {
    background-color: var(--c-morrocon-brown);
    background-image: url(../images/pattern-2.png);
    background-position: center;
    background-size: var(--pattern-size);
    max-width: 80rem;
    padding: var(--gap);
}

.cu__text {
    display: flex;
    flex-direction: column;
    flex: 1 1 18rem;
}

.cu__text h2 {
    font-size: var(--fs-h3);
    font-weight: 600;
    line-height: var(--lh-s);
}

@media only screen and (max-width: 1280px) {

    .cu__container {
        padding-block-start: var(--offset-top--1);
    }

}

@media only screen and (max-width: 575px) {

    .cu__container {
        padding-block-start: var(--offset-top--2);
    }

}

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

.form__main {
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--gap) * .5);
}

.form__main > div {
    width: 100%;
}

.form__main > .form__half {
    width: calc(50% - var(--gap) * .25);
}

.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-morrocon-brown);
    background-color: var(--c-morrocon-brown-20);
    border: 0;
    border-radius: 0;
    width: 100%;
    padding: 1rem;
    display: block;
    resize: none;
}

.form__main textarea {
    border: 0;
    padding: 1rem;
    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;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.form__main select {
    padding-inline-end: 3rem;
}

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

.form__main ::-webkit-input-placeholder {
    color: var(--c-morrocon-brown-80);
}

.form__main ::-moz-placeholder {
    color: var(--c-morrocon-brown-80);
}

.form__main :-ms-input-placeholder {
    color: var(--c-morrocon-brown-80);
}

.form__main :-moz-placeholder {
    color: var(--c-morrocon-brown-80);
}

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

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

/**/

.form__footer {
    width: 100%;
    margin: calc(var(--gap) * .75) 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-corvette);
    background-color: var(--c-morrocon-brown);
    border: 0;
    border-radius: .5rem;
    position: relative;
    padding: calc(var(--gap) * .2) calc(var(--gap) * .5);
    margin: 0;
    overflow: hidden;
    display: block;
    transition: all .3s var(--e-hover);
}

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

/**/

.form form .wpcf7-spinner {
    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 .wpcf7-spinner::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-ember-red);
}

.form form .wpcf7-not-valid-tip {
    font-size: var(--fs-xs);
    font-weight: 400;
    line-height: var(--lh-s);
    color: var(--c-ember-red);
    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-ember-red);
}

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

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

/* recaptcha */

.form__recaptcha {
    font-size: var(--fs-xxs);
    line-height: var(--lh-s);
    max-width: 36rem;
    margin: auto 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;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 0 auto;
}

.error-404__container {
    padding-block-start: var(--offset-top);
}

@media only screen and (max-width: 1280px) {

    .error-404__container {
        padding-block-start: var(--offset-top--1);
    }

}

@media only screen and (max-width: 575px) {

    .error-404__container {
        padding-block-start: var(--offset-top--2);
    }

}

/* #endregion */