/* #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 - fonts */

/* DIN Next LT Pro */

@font-face {
    font-family: 'DIN Next LT Pro';
    src:
        url('../fonts/DINNextLTPro/DINNextLTPro-Light.woff2') format('woff2'),
        url('../fonts/DINNextLTPro/DINNextLTPro-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Next LT Pro';
    src:
        url('../fonts/DINNextLTPro/DINNextLTPro-Regular.woff2') format('woff2'),
        url('../fonts/DINNextLTPro/DINNextLTPro-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Next LT Pro';
    src:
        url('../fonts/DINNextLTPro/DINNextLTPro-Medium.woff2') format('woff2'),
        url('../fonts/DINNextLTPro/DINNextLTPro-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Next LT Pro';
    src:
        url('../fonts/DINNextLTPro/DINNextLTPro-Bold.woff2') format('woff2'),
        url('../fonts/DINNextLTPro/DINNextLTPro-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neo Sans Arabic';
    src: url('../fonts/NeoSansArabic/NeoSansArabic-Bold.woff2') format('woff2'),
        url('../fonts/NeoSansArabic/NeoSansArabic-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neo Sans Arabic';
    src: url('../fonts/NeoSansArabic/NeoSansArabic.woff2') format('woff2'),
        url('../fonts/NeoSansArabic/NeoSansArabic.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neo Sans Arabic';
    src: url('../fonts/NeoSansArabic/NeoSansArabic-Light.woff2') format('woff2'),
        url('../fonts/NeoSansArabic/NeoSansArabic-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}


/* #endregion */

/* #region - global */

*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    /* colors */
    --c-black: #000000;
    --c-thunder: #191719;
    --c-dove-gray: #707070;
    --c-silver: #BFBFBF;
    --c-concrete: #F2F2F2;
    --c-alabaster: #FBFBFB;
    --c-white: #FFFFFF;
    --c-claret: #8A1538;
    --c-bright-red: #B50000;
    --c-bizarre: #EFDFDF;
    --c-swans-down: #DFEFEA;
    /* theme colors */
    --c-accent: #003087;
    --c-light: #EEF0F5;
    /* width */
    --w-max-xl: 120rem;
    --w-max-l: 100rem;
    --w-max-m: 90rem;
    --w-max-s: 80rem;
    --w-max-xs: 70rem;
    --w-max-xxs: 60rem;
    /* font-size: 1.250 scale */
    --fs-xl: 4.768rem;
    --fs-l: 3.815rem;
    --fs-h1: 3.052rem;
    --fs-h2: 2.441rem;
    --fs-h3: 1.953rem;
    --fs-h4: 1.563rem;
    --fs-h5: 1.25rem;
    --fs-body: 1rem;
    --fs-s: .8rem;
    --fs-xs: .64rem;
    /* line-height */
    --lh-reset: 1;
    --lh-s: 1.25;
    --lh-m: 1.5;
    --lh-l: 1.75;
    /* easing */
    --e-out-cubic: cubic-bezier(.22, .61, .36, 1);
    --e-fast-out-slow-in: cubic-bezier(.4, 0, .2, 1);
    /* header */
    --hd-bar: 3rem;
    --hd-drawer: 18rem;
    --hd-drawer-rtl: -18rem;
    --hd-expanded: calc(var(--hd-bar) + var(--hd-drawer));
    --hd-bar-m: 4rem;
    /* plyr */
    --plyr-color-main: var(--c-accent);
    --plyr-font-size-large: 1.2rem;
    --plyr-font-size-base: 1rem;
}

@media screen and (max-width: 60em) {

    :root {
        /* font-size: 1.200 scale */
        --fs-xl: 3.583rem;
        --fs-l: 2.986rem;
        --fs-h1: 2.488rem;
        --fs-h2: 2.074rem;
        --fs-h3: 1.728rem;
        --fs-h4: 1.44rem;
        --fs-h5: 1.2rem;
        --fs-s: .833rem;
        --fs-xs: .694rem;
    }

}

@media screen and (max-width: 40em) {

    :root {
        /* font-size: 1.125 scale */
        --fs-xl: 2.281rem;
        --fs-l: 2.027rem;
        --fs-h1: 1.802rem;
        --fs-h2: 1.602rem;
        --fs-h3: 1.424rem;
        --fs-h4: 1.266rem;
        --fs-h5: 1.125rem;
        --fs-s: .889rem;
        --fs-xs: .79rem;
    }

}

body {
    font-family: 'DIN Next LT Pro', sans-serif;
    font-size: var(--fs-body);
    font-weight: 300;
    line-height: var(--lh-m);
    color: var(--c-black);
    background-color: var(--c-white);
    height: 100vh;
    display: flex;
    flex-direction: column;
}

html[data-fs='xs'] {
    font-size: 80%;
}

html[data-fs='s'] {
    font-size: 90%;
}

html[data-fs='l'] {
    font-size: 110%;
}

html[data-fs='xl'] {
    font-size: 125%;
}

/* all */

* {
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
}

*:focus {
    z-index: 1;
}

/**/

strong {
    font-weight: 700;
}

em {
    font-style: italic;
}

sup {
    font-size: small;
    vertical-align: super;
}

sub {
    font-size: small;
    vertical-align: sub;
}

/* links */

a {
    font-weight: 500;
    color: inherit;
    text-decoration: underline;
    transition: all .3s var(--e-fast-out-slow-in);
    transition-property: color, background, border, opacity;
}

a[role='button'] {
    font-weight: 400;
    text-decoration: none;
}

a,
span {
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

a:hover {
    text-decoration: underline;
}

[data-item-href] {
    cursor: pointer;
}

/* media */

figure {
    position: relative;
}

img,
video,
iframe,
svg {
    display: block;
}

img,
video {
    max-width: 100%;
    width: auto;
    height: auto;
}

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';
}

.video {
    background-color: var(--c-black);
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
}

.video>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

[class*='__background'] {
    background-color: var(--c-black);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: hidden;
    pointer-events: none;
}

[class*='__background']~* {
    position: relative;
}

[class*='__background'] picture {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100.1%;
    height: 100.1%;
    transform: translate(-50%, -50%);
}

[class*='__background'] video {
    object-fit: cover;
}

/* no image */

.has-no-image::before {
    content: '\f1c5';
    font-family: 'Font Awesome 6 Pro';
    font-size: 3rem;
    font-weight: 100;
    color: rgba(0, 0, 0, .15);
    background-color: var(--c-light);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.has-no-image:after {
    content: '';
    min-width: 15rem;
    padding-bottom: 42.85%;
    display: block;
}

/* modifiers */

.is-resizing * {
    transition: none !important;
}

.is-fullwidth {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
}

.is-fullheight {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
}

.is-overflow-left,
.is-overflow-right {
    position: relative;
}

.v-hidden,
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
}

.is-npb [class*='__container'] {
    padding-bottom: 0;
}

/* container */

[class*='__container'] {
    max-width: var(--w-max-l);
    width: 100%;
    padding: 6rem 4rem;
    margin: auto;
}

[class*='__row'] {
    display: flex;
    flex-wrap: wrap;
    gap: 6rem 4rem;
}

[class*='__col'] {
    flex: 1 1 30rem;
}

@media screen and (max-width: 90em) {

    [class*='__container'] {
        padding: 4rem 3rem;
    }

    [class*='__row'] {
        gap: 4rem 3rem;
    }

}

@media screen and (max-width: 40em) {

    [class*='__container'] {
        padding: 3rem 2rem;
    }

    [class*='__row'] {
        gap: 3rem 2rem;
    }

}

/* container width */

.is-cw-xl [class*='__container'] {
    max-width: var(--w-max-xl);
}

.is-cw-l [class*='__container'] {
    max-width: var(--w-max-l);
}

.is-cw-m [class*='__container'] {
    max-width: var(--w-max-m);
}

.is-cw-s [class*='__container'] {
    max-width: var(--w-max-s);
}

.is-cw-xs [class*='__container'] {
    max-width: var(--w-max-xs);
}

.is-cw-xxs [class*='__container'] {
    max-width: var(--w-max-xxs);
}

/* #endregion */

/* #region - buttons */

.button,
.button-download,
.button-link {
    font-weight: 400;
    line-height: var(--lh-s);
    text-decoration: none;
}

.button,
.button-download {
    text-align: center;
    color: var(--c-white);
    background-color: var(--c-accent);
    position: relative;
    padding: .75rem 1.5rem;
    cursor: pointer;
}

.button-link,
.button-download {
    display: flex;
    align-items: center;
}

.button-link:hover,
.button-download:hover {
    text-decoration: none;
}

.button-link:hover>span,
.button-download:hover>span {
    text-decoration: underline;
}

.button-link {
    color: inherit;
}

.button-link i {
    font-size: 2rem;
    margin-left: .75rem;
}

.button-download i {
    margin-left: .5rem;
}

/* #endregion */

/* #region - input, select, file */

input,
textarea,
select,
button {
    font-family: inherit;
    font-size: inherit;
    line-height: var(--lh-m);
    color: inherit;
    background-color: transparent;
    border: 1px solid var(--c-black);
    border-radius: 0;
    padding: .5rem;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
}

::placeholder {
    color: rgba(0, 0, 0, .3);
}

:-ms-input-placeholder {
    color: rgba(0, 0, 0, .3);
}

:-moz-focusring {
    outline: 2px dotted;
}

.is-ios input[type='date'],
.is-ios input::-webkit-date-and-time-value {
    text-align: left;
    height: calc(var(--lh-m) * 1em + 1em + 2px);
}

input[type='checkbox'] {
    width: 1em;
    height: 1em;
    padding: 0;
}

input[type='checkbox']:checked {
    background-color: var(--c-black);
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cpath fill='rgb(255, 255, 255)' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 70%;
    border-color: var(--c-black);
}

/* select */

.select {
    position: relative;
}

.select::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 400;
    font-size: 1em;
    line-height: 1;
    position: absolute;
    top: 0;
    right: .5rem;
    height: 100%;
    padding: .5rem 0;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.select>select {
    background-color: transparent;
    border: 1px solid var(--c-black);
    width: 100%;
    padding: .5rem 1.75rem .5rem .5rem;
}

/* file */

.file {
    position: relative;
    cursor: pointer;
}

.file .file__upload {
    background-color: var(--c-white);
    position: absolute;
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    display: flex;
}

.file .file__name {
    color: rgba(0, 0, 0, .3);
    padding: 0 .5rem;
    max-height: calc(var(--lh-m) * 1.25em);
    overflow: hidden;
    margin: auto;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    flex: 1 1 auto;
}

.file.has-file .file__name {
    color: inherit;
}

.file .file__button {
    font-weight: 400;
    text-align: center;
    color: var(--c-white);
    background-color: var(--c-black);
    padding: .5rem 1rem;
    margin: -1px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 1 10rem;
    transition: background .3s var(--e-fast-out-slow-in);
}

.file .file__button:hover {
    text-decoration: underline;
    background-color: var(--c-black);
}

/* #endregion */

/* #region - wysiwyg */

.wysiwyg {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.wysiwyg::after {
    content: '';
    margin-bottom: -1.5rem;
    display: block;
}

.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
    font-weight: 500;
    line-height: var(--lh-s);
    margin-bottom: 1.5rem;
}

.wysiwyg h1 {
    font-size: var(--fs-h2);
}

.wysiwyg h2 {
    font-size: var(--fs-h3);
}

.wysiwyg h3 {
    font-size: var(--fs-h4);
}

.wysiwyg h4 {
    font-size: var(--fs-h5);
}

.wysiwyg h5 {
    font-size: var(--fs-body);
}

.wysiwyg h6 {
    font-size: var(--fs-body);
}

.wysiwyg p,
.wysiwyg ul,
.wysiwyg ol {
    margin-bottom: 1.5rem;
}

.wysiwyg ul,
.wysiwyg ol {
    padding-left: 1.5rem;
}

.wysiwyg ul {
    list-style-type: disc;
}

.wysiwyg ol {
    list-style-type: decimal;
}

.wysiwyg li>ul,
.wysiwyg li>ol {
    margin: 0;
    /* .5rem 0 */
}

.wysiwyg li:last-child>ul,
.wysiwyg li:last-child>ol {
    margin-bottom: 0;
}

.wysiwyg ul>li,
.wysiwyg ol>li {
    position: relative;
    margin-bottom: 0;
    /* .5rem */
}

.wysiwyg ul>li:last-child,
.wysiwyg ol>li:last-child {
    margin-bottom: 0;
}

.wysiwyg li::marker {
    color: inherit;
}

.wysiwyg ul[class*='columns'] {
    width: 100%;
    column-gap: 3rem;
}

.wysiwyg ul[class*='columns-2'] {
    column-count: 2;
}

.wysiwyg ul[class*='columns']>* {
    break-inside: avoid-column;
}

.wysiwyg .button,
.wysiwyg .button-download {
    margin: .25rem 0 1.5rem;
}

.wysiwyg .button-link {
    text-decoration: none;
    margin-bottom: 1.5rem;
}

.wysiwyg figure {
    margin-top: .5rem;
    margin-bottom: 2rem;
}

.wysiwyg figcaption {
    font-size: var(--fs-s);
    color: var(--c-dove-gray);
    margin: 1rem 0 0;
}

.wysiwyg hr {
    border-bottom: 1px solid var(--c-black);
    width: 100%;
    margin-top: .25rem;
    margin-bottom: 2rem;
}

.wysiwyg blockquote {
    border-left: 4px solid;
    border-color: var(--c-accent);
    padding-left: 1em;
    margin-top: .5rem;
    margin-bottom: 2rem;
}

.wysiwyg blockquote>*:last-child {
    margin-bottom: 0;
}

.wysiwyg blockquote cite {
    font-size: var(--fs-body);
    font-style: italic;
    text-transform: none;
}

.wysiwyg .wp-block-pullquote blockquote {
    border: 0;
    padding: 0;
    margin: 0;
}

.wysiwyg .wp-block-pullquote p {
    font-size: var(--fs-h3);
    list-style: var(--lh-s);
}

.wysiwyg pre {
    white-space: pre-wrap;
    margin-bottom: 1.5rem;
}

.wysiwyg .table-overflow {
    max-width: calc(100vw - 3em);
    width: 100%;
    margin-top: .5rem;
    margin-bottom: 2rem;
    overflow-x: auto;
}

.wysiwyg table {
    background-color: var(--c-white);
    width: 100%;
}

.wysiwyg thead {
    font-weight: 500;
    text-align: left;
    background-color: var(--c-light);
    border-bottom: 0;
}

.wysiwyg tfoot {
    font-weight: 500;
    text-align: left;
    background-color: transparent;
    border-top: 0;
}

.wysiwyg tbody tr {
    border-bottom: 1px solid var(--c-concrete);
}

.wysiwyg th {
    text-align: inherit;
}

.wysiwyg th,
.wysiwyg td {
    border: 0;
    padding: .75rem 1rem;
}

.wysiwyg table ul,
.wysiwyg table ol,
.wysiwyg table li {
    margin: 0;
}

.wysiwyg .wp-block-table {
    width: 100%;
}

.wysiwyg .wp-block-table>.table-overflow {
    margin: 0;
}

.wysiwyg .wp-block-video,
.wysiwyg .wp-block-embed {
    width: 100%;
}

.wysiwyg .wp-block-embed.video iframe {
    width: 100%;
    height: 100%;
}

/**/

.wysiwyg .note {
    font-weight: 400;
    background-color: var(--c-concrete);
    position: relative;
    padding: 2rem 2rem 2rem 4rem;
    margin-bottom: 1.5rem;
}

.wysiwyg .note::before {
    content: '\f05a';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 400;
    position: absolute;
    top: 2rem;
    left: 2rem;
    transform: scale(1.5);
}

.wysiwyg .note>*:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 40em) {

    .wysiwyg [class*='column'] {
        column-count: 1;
    }

}

/* #endregion */

/* #region - bootstrap modal */

.modal--is-open {
    overflow: hidden;
}

.modal--is-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
}

.modal {
    background-color: rgba(0, 0, 0, .5);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    display: none;
}

.modal.fade {
    transition: opacity .15s ease;
}

.modal.fade:not(.show) {
    opacity: 0;
}

.modal__dialog {
    padding: 3rem 4.5rem;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.modal__content {
    color: var(--c-black);
    background-color: var(--c-white);
    border-radius: 10px;
    position: relative;
    max-width: var(--w-max-xs);
    width: 100%;
    overflow: hidden;
    transform: translateY(-5rem);
    transition: transform .3s ease-out;
}

.modal.show .modal__content {
    transform: translateY(0);
}

.modal__close {
    font-size: var(--fs-h5);
    color: inherit;
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 1em;
    height: 1em;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal__close:hover {
    text-decoration: none;
}

.modal__body {
    max-height: 80vh;
    padding: 3rem;
    overflow: auto;
    justify-content: flex-start;
}

.modal__body {
    scrollbar-color: var(--c-silver) var(--c-white);
    scrollbar-width: thin;
}

.modal__body::-webkit-scrollbar-track {
    background-color: transparent;
}

.modal__body::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.modal__body::-webkit-scrollbar-thumb {
    background-color: var(--c-accent);
    box-shadow: inset 0 0 0 4px var(--c-white);
}

.modal__body.wysiwyg::after {
    display: none;
}

.modal__body.wysiwyg>*:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 90em) {

    .modal__dialog {
        padding-left: 3rem;
        padding-right: 3rem;
    }

}

@media screen and (max-width: 40em) {

    .modal__dialog {
        padding: 2rem 1.5rem;
    }

    .modal__body {
        padding-left: 2rem;
        padding-right: 2rem;
    }

}

/* #endregion */

/* #region - bootstrap tab */

.tab__list {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    overflow-x: auto;
    display: flex;
}

.tab__list.is-scroll::after {
    content: '';
    background: rgb(230, 230, 230);
    background: linear-gradient(90deg, rgba(230, 230, 230, 0) 0%, rgba(255, 255, 255, 1) 100%);
    position: absolute;
    top: 0;
    right: 0;
    width: 20%;
    min-height: calc(var(--fs-h5) * var(--lh-s) + 1.5rem);
    height: 100%;
    visibility: visible;
    opacity: 1;
    transition: all .3s ease;
    transition-property: opacity, visibility;
}

.tab__list.is-scroll-end::after {
    visibility: hidden;
    opacity: 0;
}

.tab__link {
    font-size: var(--fs-h5);
    font-weight: 500;
    line-height: var(--lh-s);
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
    color: var(--c-black);
    background-color: var(--c-concrete);
    outline-offset: -1px;
    position: relative;
    padding: .75rem 2rem;
    margin-right: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.tab__list.fit-container .tab__link {
    flex: 1 0 auto;
}

.tab__link:not(:last-child) {
    border-right: 1px solid rgba(0, 0, 0, .1);
}

.tab__link:hover {
    text-decoration: underline;
}

.tab__link.active {
    color: var(--c-white);
    background-color: var(--c-accent);
}

.tab__contents {
    background-color: var(--c-white);
    border: 1px solid var(--c-silver);
}

.tab__content {
    display: none;
}

.tab__content.active {
    display: block;
}

.tab__content.fade {
    transition: opacity .15s ease;
}

.tab__content.fade:not(.show) {
    opacity: 0;
}

.tab__wrapper {
    padding: 3rem;
}

@media screen and (max-width: 40em) {

    .tab__wrapper {
        padding: 2rem;
    }

}

/* #endregion */

/* #region - bootstrap collapse (accordion) */

.collapse:not(.show) {
    display: none;
}

.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: height .35s ease;
}

/**/

.accordion__items {
    display: flex;
    flex-direction: column;
}

.accordion__item {
    background-color: var(--c-white);
    position: relative;
    display: flex;
    flex-direction: column;
}

.accordion__item:not(:last-child) {
    margin-bottom: 3px;
}

.accordion__link {
    font-size: var(--fs-h5);
    font-weight: 500;
    line-height: var(--lh-s);
    color: var(--c-black);
    background-color: var(--c-concrete);
    position: relative;
    padding: 1rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 1.5rem;
}

.accordion__link:hover {
    text-decoration: underline;
}

.accordion__link i {
    overflow: hidden;
}

.accordion__link[aria-expanded='true'] {
    color: var(--c-white);
    background-color: var(--c-accent);
}

.accordion__link[aria-expanded='true'] i::before {
    content: '\f106';
}

.accordion__wrapper {
    padding: 3rem;
    flex: 1 1 auto;
}

@media screen and (max-width: 40em) {

    .accordion__wrapper {
        padding: 2rem;
    }

}

/* expand & collapse with min height */

a.expand {
    font-weight: 400;
    color: var(--c-accent);
    position: absolute;
    bottom: .5rem;
    left: 50%;
    padding: .5rem 1rem;
    z-index: 2;
    display: flex;
    align-items: center;
    flex-direction: column;
    transform: translateX(-50%);
}

a.expand:hover {
    text-decoration: none;
}

a.expand i {
    font-size: 1.25em;
}

a.expand+.collapse {
    overflow: hidden;
}

a.expand+.collapse:not(.show) {
    max-height: 15rem;
    display: block;
}

a.expand+.collapsing {
    min-height: 15rem;
}

a.expand+.collapse::before,
a.expand+.collapsing::before {
    content: '';
    background: rgb(255, 255, 255);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 1) 80%);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: opacity .3s var(--e-fast-out-slow-in);
}

a.expand[aria-expanded='true']+.collapse::before,
a.expand[aria-expanded='true']+.collapsing::before {
    opacity: 0;
    pointer-events: none;
}

a.expand[aria-expanded='true']+.collapse,
a.expand[aria-expanded='true']+.collapsing {
    padding-bottom: 5rem;
}

/* #endregion */

/* #region - bootstrap popover */

.popover {
    color: var(--c-black);
    background-color: var(--c-white);
    border: 1px solid var(--c-silver);
    border-radius: 5px;
    max-width: 20rem;
    padding: .5rem 1rem;
    z-index: 5;
}

.popover.fade {
    transition: opacity .15s ease;
}

.popover.fade:not(.show) {
    opacity: 0;
}

.popover .arrow {
    position: absolute;
    width: 1rem;
    height: .5rem;
    margin: 0 .3rem;
    display: block;
}

.popover .arrow::before,
.popover .arrow::after {
    content: '';
    border-style: solid;
    border-color: transparent;
    position: absolute;
    display: block;
}

.bs-popover-top,
.bs-popover-auto[x-placement^='top'] {
    margin-bottom: .5rem;
}

.bs-popover-top>.arrow,
.bs-popover-auto[x-placement^='top']>.arrow {
    bottom: calc(-.5rem - 1px);
}

.bs-popover-top>.arrow::before,
.bs-popover-auto[x-placement^='top']>.arrow::before {
    border-width: .5rem .5rem 0;
    border-top-color: var(--c-silver);
    bottom: 0;
}

.bs-popover-top>.arrow::after,
.bs-popover-auto[x-placement^='top']>.arrow::after {
    border-width: .5rem .5rem 0;
    border-top-color: var(--c-white);
    bottom: 1px;
}

.bs-popover-right,
.bs-popover-auto[x-placement^='right'] {
    margin-left: .5rem;
}

.bs-popover-right>.arrow,
.bs-popover-auto[x-placement^='right']>.arrow {
    left: calc(-.5rem - 1px);
    width: .5rem;
    height: 1rem;
    margin: .3rem 0;
}

.bs-popover-right>.arrow::before,
.bs-popover-auto[x-placement^='right']>.arrow::before {
    border-width: .5rem .5rem .5rem 0;
    border-right-color: var(--c-silver);
    left: 0;
}

.bs-popover-right>.arrow::after,
.bs-popover-auto[x-placement^='right']>.arrow::after {
    border-width: .5rem .5rem .5rem 0;
    border-right-color: var(--c-white);
    left: 1px;
}

.bs-popover-bottom,
.bs-popover-auto[x-placement^='bottom'] {
    margin-top: .5rem;
}

.bs-popover-bottom>.arrow,
.bs-popover-auto[x-placement^='bottom']>.arrow {
    top: calc(-.5rem - 1px);
}

.bs-popover-bottom>.arrow::before,
.bs-popover-auto[x-placement^='bottom']>.arrow::before {
    border-width: 0 .5rem .5rem .5rem;
    border-bottom-color: var(--c-silver);
    top: 0;
}

.bs-popover-bottom>.arrow::after,
.bs-popover-auto[x-placement^='bottom']>.arrow::after {
    border-width: 0 .5rem .5rem .5rem;
    border-bottom-color: var(--c-white);
    top: 1px;
}

.bs-popover-bottom .popover-header::before,
.bs-popover-auto[x-placement^='bottom'] .popover-header::before {
    content: '';
    border-bottom: 1px solid var(--c-white);
    position: absolute;
    top: 0;
    left: 50%;
    width: 1rem;
    margin-left: -.5rem;
    display: block;
}

.bs-popover-left,
.bs-popover-auto[x-placement^='left'] {
    margin-right: .5rem;
}

.bs-popover-left>.arrow,
.bs-popover-auto[x-placement^='left']>.arrow {
    right: calc(-.5rem - 1px);
    width: .5rem;
    height: 1rem;
    margin: .3rem 0;
}

.bs-popover-left>.arrow::before,
.bs-popover-auto[x-placement^='left']>.arrow::before {
    border-width: .5rem 0 .5rem .5rem;
    border-left-color: var(--c-silver);
    right: 0;
}

.bs-popover-left>.arrow::after,
.bs-popover-auto[x-placement^='left']>.arrow::after {
    border-width: .5rem 0 .5rem .5rem;
    border-left-color: var(--c-white);
    right: 1px;
}

.popover-header {
    font-size: var(--fs-h5);
    font-weight: 500;
    line-height: var(--lh-s);
    margin-bottom: 1rem;
}

.popover-header:empty {
    display: none;
}

.popover-header a {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
    transition: none;
}

.popover-header a:hover {
    text-decoration: underline;
}

.popover-body>*:not(:last-child) {
    margin-bottom: 1rem;
}

/* #endregion */

/* #region - bootstrap tooltip */

.tooltip {
    z-index: 100;
}

.tooltip.fade {
    transition: opacity .15s ease;
}

.tooltip.fade:not(.show) {
    opacity: 0;
}

.tooltip-inner {
    font-size: var(--fs-s);
    font-weight: 400;
    text-align: center;
    max-width: 15rem;
    padding: .25rem .75rem;
    color: var(--c-white);
    background-color: var(--c-black);
    border-radius: 5px;
}

.tooltip .arrow {
    position: absolute;
    width: .8rem;
    height: .4rem;
    display: block;
}

.tooltip .arrow::before {
    content: '';
    border-style: solid;
    border-color: transparent;
    position: absolute;
}

.bs-tooltip-top,
.bs-tooltip-auto[x-placement^='top'] {
    padding: .4rem 0;
}

.bs-tooltip-top .arrow,
.bs-tooltip-auto[x-placement^='top'] .arrow {
    bottom: 0;
}

.bs-tooltip-top .arrow::before,
.bs-tooltip-auto[x-placement^='top'] .arrow::before {
    border-width: .4rem .4rem 0;
    border-top-color: var(--c-black);
    top: 0;
}

.bs-tooltip-right,
.bs-tooltip-auto[x-placement^='right'] {
    padding: 0 .4rem;
}

.bs-tooltip-right .arrow,
.bs-tooltip-auto[x-placement^='right'] .arrow {
    left: 0;
    width: .4rem;
    height: .8rem;
}

.bs-tooltip-right .arrow::before,
.bs-tooltip-auto[x-placement^='right'] .arrow::before {
    border-width: .4rem .4rem .4rem 0;
    border-right-color: var(--c-black);
    right: 0;
}

.bs-tooltip-bottom,
.bs-tooltip-auto[x-placement^='bottom'] {
    padding: .4rem 0;
}

.bs-tooltip-bottom .arrow,
.bs-tooltip-auto[x-placement^='bottom'] .arrow {
    top: 0;
}

.bs-tooltip-bottom .arrow::before,
.bs-tooltip-auto[x-placement^='bottom'] .arrow::before {
    border-width: 0 .4rem .4rem;
    border-bottom-color: var(--c-black);
    bottom: 0;
}

.bs-tooltip-left,
.bs-tooltip-auto[x-placement^='left'] {
    padding: 0 .4rem;
}

.bs-tooltip-left .arrow,
.bs-tooltip-auto[x-placement^='left'] .arrow {
    right: 0;
    width: .4rem;
    height: .8rem;
}

.bs-tooltip-left .arrow::before,
.bs-tooltip-auto[x-placement^='left'] .arrow::before {
    border-width: .4rem 0 .4rem .4rem;
    border-left-color: var(--c-black);
    left: 0;
}

/* #endregion */

/* #region - plyr (video) */

.plyr [class*='__container'] {
    max-width: none;
    width: auto;
    padding: 0;
}

.plyr>.plyr__control {
    transform: translate(-50%, -50%) scale(1.5);
}

@media screen and (max-width: 60em) {

    .plyr>.plyr__control {
        transform: translate(-50%, -50%);
    }

}

/**/

.video video {
    object-fit: cover;
}

.plyr__poster {
    background-size: cover;
}

/**/

.video__control {
    display: flex;
}

.video__control i {
    margin-right: .5rem;
}

.video__control .pause {
    display: none;
}

.video__control.is-playing .play {
    display: none;
}

.video__control.is-playing .pause {
    display: block;
}

/* #endregion */

/* #region - 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-fast-out-slow-in);
}

.swiper-lazy-loaded {
    opacity: 1;
}

.swiper-lazy-preloader {
    border: none;
    border-radius: 0;
    position: absolute;
    width: auto;
    height: auto;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: none;
}

.swiper-lazy-preloader::before {
    content: '\e1d4';
    font-family: 'Font Awesome 6 Pro';
    font-size: var(--fs-h2);
    font-weight: 300;
    line-height: 1;
    color: var(--c-accent);
    width: 1em;
    height: 1em;
    margin: -.5em;
    animation: loading 1.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-h4);
    font-weight: 300;
    line-height: 0;
    color: var(--c-black);
    background: transparent;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: 1em;
    height: 1em;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    transition: all .3s var(--e-fast-out-slow-in);
    transition-property: background, color, opacity;
    cursor: pointer;
    pointer-events: all;
}

.swiper-navigation .swiper-button-prev:hover,
.swiper-navigation .swiper-button-next:hover {
    color: var(--c-black);
}

.swiper-navigation .swiper-button-prev::before,
.swiper-navigation .swiper-button-next::before {
    content: '\f0a9';
    font-family: 'Font Awesome 6 Pro';
}

.swiper-navigation .swiper-button-prev::before {
    content: '\f0a8';
}

.swiper-container-rtl~.swiper-navigation .swiper-button-prev::before,
.swiper-container-rtl~.swiper-navigation .swiper-button-next::before {
    transform: scaleX(-1);
}

.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-pagination {
    position: relative;
    width: 100%;
    padding: 0 3rem;
    margin-top: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-pagination .swiper-pagination-bullet {
    background-color: var(--c-silver);
    border: 0;
    border-radius: 50%;
    width: .5rem;
    height: .5rem;
    margin: 0 .5rem;
    opacity: 1;
    transition: all .3s var(--e-fast-out-slow-in);
    transition-property: background, opacity;
}

.swiper-pagination .swiper-pagination-bullet-active {
    background-color: var(--c-black);
    border-radius: 10px;
    opacity: 1;
}

.swiper-button-lock,
.swiper-pagination-lock {
    display: none;
}

/* #endregion */

/* #region - photoswiper */

.page__main .pswp {
    position: absolute;
    z-index: 100;
}

.pswp__container {
    max-width: none;
    width: auto;
    padding: 0;
}

/* #endregion */

/* #region - fullcalendar */

.b-cal {
    background-color: var(--c-alabaster);
}

.fc {
    font-size: inherit;
    font-weight: 500;
    line-height: var(--lh-s);
    display: flex;
    gap: 3rem;
}

.fc .fc-toolbar.fc-header-toolbar {
    margin: 0;
    display: flex;
    gap: 2rem;
}

.fc .fc-toolbar-chunk {
    margin: 0;
    flex: 1 1 15rem;
}

.fc .fc-toolbar-chunk:nth-child(3) {
    text-align: right;
}

.fc .fc-toolbar-title {
    font-size: var(--fs-h4);
    font-weight: 500;
    text-align: center;
}

.fc .fc-button {
    font-size: var(--fs-body);
    font-weight: 400;
    text-transform: capitalize;
    border-radius: 0;
    padding: .25rem .75rem;
    transition: .3s var(--e-fast-out-slow-in);
    -webkit-appearance: none;
}

.fc .fc-button:hover {
    text-decoration: underline;
}

.fc .fc-button:focus {
    outline: auto;
}

.fc .fc-button-active:focus {
    outline-color: var(--c-accent);
}

.fc .fc-button:disabled {
    opacity: .5;
    pointer-events: none;
}

.fc .fc-button-primary,
.fc .fc-button-primary:hover {
    color: var(--c-accent);
    background-color: transparent;
    border-color: var(--c-accent);
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
    color: var(--c-white);
    background-color: var(--c-accent);
    border-color: var(--c-accent);
}

.fc .fc-button-primary:not(:disabled):active {
    color: var(--c-accent);
    background-color: transparent;
    border-color: var(--c-accent);
}

.fc .fc-button-primary:focus,
.fc .fc-button-primary:not(:disabled).fc-button-active:focus,
.fc .fc-button-primary:not(:disabled):active:focus {
    box-shadow: none;
}

.fc .fc-button-primary:disabled {
    color: var(--c-silver);
    background-color: transparent;
    border-color: var(--c-silver);
    opacity: 1;
}

.fc .fc-today-button:disabled {
    color: var(--c-white);
    background-color: var(--c-accent);
    border-color: var(--c-accent);
    pointer-events: all;
}

.fc .fc-button .fc-icon {
    font-size: var(--fs-body);
    font-weight: 400;
    display: block;
}

.fc .fc-view-harness {
    min-height: 50vh;
}

.fc table {
    font-size: var(--fs-body);
}

.fc .fc-list,
.fc .fc-scrollgrid,
.fc td,
.fc th {
    border-color: var(--c-silver);
}

.fc-liquid-hack td,
.fc-liquid-hack th {
    position: static;
}

.fc .fc-col-header-cell-cushion {
    color: var(--c-black);
    text-decoration: none;
    padding: .5rem;
}

.fc .fc-daygrid-body {
    color: var(--c-black);
}

.fc .fc-day-other {
    color: var(--c-silver);
    background-color: var(--c-concrete);
}

.fc .fc-daygrid-day-frame {
    padding: 0;
}

.fc .fc-daygrid-day.fc-day-today {
    background-color: var(--c-light);
    position: relative;
}

.fc .fc-dayGridWeek-view .fc-daygrid-day,
.fc .fc-dayGridDay-view .fc-daygrid-day {
    padding: .25rem 0;
}

.fc .fc-dayGridMonth-view .fc-day-other.fc-day-today {
    color: var(--c-silver);
}

.fc .fc-daygrid-day-top {
    flex-direction: row;
}

.fc .fc-day-other .fc-daygrid-day-top {
    opacity: 1;
}

.fc .fc-daygrid-day-number {
    text-decoration: none;
    color: inherit;
    width: 2em;
    height: 2em;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: none;
}

.fc .fc-daygrid-day-events {
    margin: 0;
}

.fc .fc-daygrid-event {
    font-size: var(--fs-s);
    line-height: var(--lh-s);
    color: var(--c-white);
    background-color: var(--c-accent);
    border: 0;
    border-radius: 0;
    padding: .25rem .5rem;
    overflow: hidden;
    transition-duration: 0s;
}

.fc .fc-dayGridWeek-view .fc-daygrid-event,
.fc .fc-dayGridDay-view .fc-daygrid-event {
    font-size: var(--fs-body);

}

.fc .fc-daygrid-event:not(.fc-event-start) {
    padding-left: .5rem;
}

.fc-direction-ltr .fc-daygrid-event.fc-event-start,
.fc-direction-rtl .fc-daygrid-event.fc-event-end {
    margin-left: .25rem;
}

.fc-direction-ltr .fc-daygrid-event.fc-event-end,
.fc-direction-rtl .fc-daygrid-event.fc-event-start {
    margin-right: .25rem;
}

.fc .fc-event-main-frame {
    display: flex;
    align-items: center;
}

.fc .fc-daygrid-event-dot {
    display: none;
}

.fc .fc-event-title {
    font-weight: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0;
    overflow: hidden;
}

.fc .fc-event-time {
    font-weight: inherit;
    min-width: 3em;
    padding: 0;
}

.fc-direction-ltr .fc-daygrid-event .fc-event-time,
.fc-direction-rtl .fc-daygrid-event .fc-event-time {
    margin: 0;
}

.fc .fc-dayGridDay-view .fc-event-time {
    min-width: 6.5em;
}

.fc .fc-daygrid-day-bottom {
    font-size: inherit;
    padding: 0 0 .25rem;
}

.fc .fc-list-table {
    font-weight: 400;
}

.fc .fc-list-day-cushion {
    font-weight: 500;
    background-color: var(--c-concrete);
}

.fc .fc-list-day-cushion,
.fc .fc-list-table td {
    padding: .5rem 1rem;
}

.fc .fc-list-day-text,
.fc .fc-list-day-side-text {
    color: inherit;
    text-decoration: none;
}

.fc .fc-list-event-dot {
    border-color: var(--c-accent);
}

.fc .fc-list-event:hover td {
    background-color: inherit;
}

@media screen and (max-width: 60em) {

    .fc .fc-toolbar.fc-header-toolbar {
        justify-content: center;
        flex-wrap: wrap;
        gap: 1rem;
    }

    .fc .fc-toolbar-chunk {
        flex: 0 0 auto;
    }

    .fc .fc-toolbar-chunk:nth-child(2) {
        flex: 1 0 100%;
        order: -1;
    }

}

/**/

.fc-popover {
    color: var(--c-white);
    background-color: var(--c-accent);
    border: 0;
    border-radius: 0;
    padding: 1.5rem;
}

.fc-popover .popover-body i {
    text-align: center;
    min-width: 1em;
    margin-right: .75rem;
}

.fc-popover .popover-body li:not(:last-child) {
    margin-bottom: .1rem;
}

@media screen and (max-width: 40em) {

    .fc-popover {
        max-width: 15rem;
    }

}

/* #endregion */

/* #region - form */

.form form {
    display: flex;
    flex-direction: column;
}

.form__header {
    margin-bottom: 3rem;
    order: -1;
}

.form__main {
    font-weight: 400;
    margin-bottom: 3rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.form__main>div {
    width: 100%;
}

.form__main>.is-half {
    min-width: calc(50% - 1.5rem);
    flex: 1 1 15rem;
}

.form__main input,
.form__main textarea,
.form__main select {
    background-color: var(--c-white);
    border-color: var(--c-silver);
    border-radius: 0;
    width: 100%;
    display: block;
    resize: none;
}

.form__main input[type='checkbox'] {
    width: 1em;
    height: 1em;
    padding: 0;
    margin: .25rem .5rem .25rem 0;
    flex: 0 0 auto;
}

.form__main input[type='checkbox']:checked {
    background-color: var(--c-black);
    border-color: var(--c-black);
}

.form__main input:focus,
.form__main textarea:focus,
.form__main select:focus {
    border-color: var(--c-black);
}

.form__main .wpcf7-list-item {
    margin: 0;
    display: block;
}

.form__main .wpcf7-list-item label {
    display: flex;
}

.form__main ::placeholder {
    color: rgba(0, 0, 0, .3);
}

.form__main :-ms-input-placeholder {
    color: rgba(0, 0, 0, .3);
}

.form__main label>span:first-child {
    font-weight: 400;
    margin-bottom: .75rem;
    display: block;
}

.form__main label>span.is-required::after {
    content: '*';
    margin-left: .25rem;
}

.form__footer {
    width: auto;
    display: flex;
    align-items: center;
}

.form__footer .form__submit {
    position: relative;
    display: flex;
}

.form__footer input[type='submit'] {
    text-indent: -99em;
    border: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    cursor: pointer;
}

.form__footer .form__button {
    background-color: var(--c-black);
    padding: .75rem 1.5rem;
    transition: all .3s var(--e-fast-out-slow-in);
    transition-property: color, background, border, opacity;
}

.form__footer input[type='submit']:hover~.form__button {
    text-decoration: underline;
    color: var(--c-white);
    background-color: var(--c-black);
}

/* loader */

.form .wpcf7-spinner {
    background: none;
    border-radius: 0;
    position: absolute;
    top: 50%;
    /* left: calc((var(--fs-h5) + 1em) * -1); */
    right: calc(var(--fs-h5) * -1);
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    order: 0;
    opacity: 1;
}

.form .wpcf7-spinner::before {
    content: '\e1d4';
    font-family: 'Font Awesome 6 Pro';
    font-size: var(--fs-h5);
    font-weight: 300;
    line-height: 1;
    color: var(--c-accent);
    background: none;
    border-radius: 0;
    position: absolute;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    transform-origin: center;
    animation: loading 1.2s linear infinite;
}

@keyframes loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* validation */

.form .is-invalid input,
.form .is-invalid textarea,
.form .is-invalid select {
    border-color: var(--c-bright-red);
}

.form .wpcf7-not-valid-tip {
    font-size: var(--fs-s);
    color: var(--c-bright-red);
    margin-top: .5rem;
    display: block;
}

.form form .wpcf7-response-output {
    font-weight: 400;
    background-color: var(--c-concrete);
    border: 0;
    border-radius: 5px;
    position: relative;
    padding: 1.5rem;
    margin: 0 0 1.5rem;
    display: block;
    order: -1;
}

.form form.sent .wpcf7-response-output {
    background-color: var(--c-swans-down);
}

.form form.invalid .wpcf7-response-output {
    background-color: var(--c-bizarre);
}

.form form .wpcf7-response-output p {
    font-size: var(--fs-h5);
    font-weight: 500;
    line-height: var(--lh-s);
    display: flex;
    align-items: center;
}

.form form .wpcf7-response-output p::before {
    font-family: 'Font Awesome 6 Pro';
    font-size: 1.25em;
    font-weight: 400;
    text-align: center;
    width: 1em;
    margin-right: .75rem;
}

.form form.sent .wpcf7-response-output p::before {
    content: '\f058';
}

.form form.invalid .wpcf7-response-output p::before {
    content: '\f06a';
}

.form form .wpcf7-response-output ul {
    list-style-type: disc;
    padding-left: 1.25rem;
    margin-top: 1rem;
}

.form form .wpcf7-response-output ul>li:not(:last-child) {
    margin-bottom: 0;
}

@media screen and (max-width: 40em) {

    .form__header,
    .form__main {
        margin-bottom: 2rem;
    }

}

/* #endregion */

/* #region - search */

.search__field::-webkit-search-decoration,
.search__field::-webkit-search-cancel-button,
.search__field::-webkit-search-results-button,
.search__field::-webkit-search-results-decoration {
    -webkit-appearance: none;
}

.search__form {
    position: relative;
}

.search__wrapper {
    position: relative;
    width: 100%;
}

.search__field {
    background-color: var(--c-white);
    border: 1px solid var(--c-silver);
    border-radius: 0;
    width: 100%;
    padding: .5rem 2rem .5rem .5rem;
    transition: all .3s var(--e-fast-out-slow-in);
    transition-property: color, background, border;
    /* outline: none; */
}

.search__button,
.search__close {
    font-family: 'Font Awesome 6 Pro';
    font-weight: 400;
    text-align: center;
    color: inherit;
    background: none;
    border: 0;
    position: absolute;
    top: 50%;
    right: 0;
    width: 2rem;
    padding: .5rem;
    z-index: 2;
    transform: translateY(-50%);
    transition: all .3s var(--e-fast-out-slow-in);
    transition-property: color, opacity;
    cursor: pointer;
}

.search__button:hover {
    color: inherit;
}

/* #endregion */

/* #region - header */

.page__header {
    position: fixed;
    top: 0;
    left: 0;
    width: auto;
    height: 100vh;
    padding: 0;
    z-index: 99;
}

.header__groups {
    color: var(--c-white);
    background-color: var(--c-thunder);
    width: var(--hd-bar);
    height: 100%;
    padding: .5rem;
    display: flex;
    flex-direction: column;
}

.header__groups::before {
    content: '';
    background-color: var(--c-thunder);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.header__group:nth-child(2) {
    margin-top: auto;
}

.header__hr {
    border: 0;
    border-bottom: 1px solid var(--c-silver);
    margin: .5rem 0;
    z-index: 1;
}

.header__item {
    display: flex;
    justify-content: center;
}

.header__item>a {
    color: var(--c-silver);
    text-decoration: none;
    width: 2rem;
    height: 2rem;
    padding: .25rem;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header__item>a:hover {
    text-decoration: none;
    color: var(--c-white);
}

.header__toggle {
    font-size: 1.5em;
}

.header__toggle[aria-expanded='true'] i::before {
    content: '\f00d';
}

.header__drawer {
    color: var(--c-black);
    background-color: var(--c-white);
    position: absolute;
    top: 0;
    left: var(--hd-bar);
    width: var(--hd-drawer);
    max-width: calc(100vw - var(--hd-bar));
    height: 100%;
    visibility: hidden;
}

.header__scroll {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    flex: none;
}

.header__logo {
    max-width: 100%;
    padding:1.2rem 1.8rem;
}

.header__logo img {
    max-width: 10rem;
    margin: auto;
}

.header__nav {
    font-size: .96em;
    font-weight: 500;
    line-height: var(--lh-s);
    width: 100%;
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
}

.nav__list {
    margin-bottom: 3rem;
}

.nav__list:nth-child(2) {
    margin-top: auto;
}

.nav__list:nth-child(2):before {
    content: '';
    border-top: 1px solid var(--c-concrete);
    position: relative;
    top: -1.45rem;
    max-width: calc(100% - 6rem);
    width: 100%;
    margin: auto;
    display: block;
}

.nav__list:nth-child(3) {
    margin-bottom: 0;
}

/* tertiary nav */

.nav--has-dm .nav__list:nth-child(3) .nav__sublist .nav__item {
    width: var(--hd-drawer);
}

.nav--has-dm .nav__list:nth-child(3) .nav__item.has-button {
    display: none;
}

.nav--has-dm .nav__list:nth-child(3) .nav__item.has-image {
    display: none;
}

.nav--has-dm .nav__list:nth-child(3) .nav__sublist {
    background-color: transparent;
    top: auto;
    bottom: 0;
    width: auto;
    padding: 0;
    display: flex;
}

.nav--has-dm .nav__list:nth-child(3) .nav__sublist .has-image~.nav__item:last-child {
    margin-bottom: 0;
}

.nav--has-dm .nav__list:nth-child(3) .nav__sublist .nav__link {
    text-align: center;
    background-color: rgba(0, 0, 0, .6);
    box-shadow: 0 1px 0 1px rgba(213, 213, 213, .4);
    padding: .65rem 3rem;
    justify-content: center;
}

.nav--has-dm .nav__list:nth-child(3) .nav__sublist .nav__link:hover {
    background-color: var(--c-accent);
}

.nav__list:nth-child(3)>.nav__item>.nav__link {
    text-decoration: none;
    color: var(--c-white);
    background-color: var(--c-accent);
}

.nav--has-dm.nav--is-active .nav__list:nth-child(3) .nav__sublist {
    opacity: 1;
    visibility: visible;
    transform: translate(0);
    pointer-events: all;
}

/* dropdown menu */

.nav__item {
    position: relative;
}

.nav__item.has-button {
    display: none;
}

.nav__link {
    color: inherit;
    text-decoration: none;
    padding: .65rem 3rem;
    display: flex;
    justify-content: space-between;
}

.nav__item:hover>.nav__link,
.nav__link:hover,
.nav__link[class*='is-current'] {
    text-decoration: none;
    color: var(--c-white);
    background-color: var(--c-accent);
}

.nav__link:hover span:not(.nav__expand) {
    text-decoration: underline;
}

.nav__expand::after {
    content: '\f105';
    /* f107 */
    font-family: 'Font Awesome 6 Pro';
    font-size: .8em;
    margin-left: .5rem;
}

.nav__sublist {
    color: var(--c-white);
    background-color: var(--c-accent);
    position: absolute;
    top: 0;
    left: 100%;
    width: 100%;
    padding: .5rem;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-1rem);
    pointer-events: none;
}
.nav__item:nth-child(5)>.nav__sublist {
    top:-186px;

}
.nav__item:nth-child(2)>.nav__sublist {
    top:-50px;

}
.nav__item:nth-child(3)>.nav__sublist {
    top:-80px;

}
.nav__item:nth-child(6)>.nav__sublist {
    top:-190px;
}
.nav__item:nth-child(4)>.nav__sublist {
    top:-130px;
}
.nav__item .nav__sublist li .nav__sublist {
    top: initial;
    bottom: 0;
}
.nav__item:hover>.nav__sublist,
.nav__link:hover~.nav__sublist,
.nav__link[aria-expanded='true']~.nav__sublist {
    opacity: 1;
    visibility: visible;
    transform: translate(0);
    transition: all .4s var(--e-fast-out-slow-in);
    transition-property: opacity, visibility, transform;
    pointer-events: all;
}

.nav__sublist .nav__sublist {
    top: -.5rem;
    left: calc(100% + .5rem);
}

.nav__sublist::before {
    content: '';
    position: absolute;
    top: 0;
    left: -.5rem;
    width: .5rem;
    height: 100%;
}

.nav__sublist .nav__sublist .nav__item.has-image {
    display: none;
}

.nav__sublist .has-image~.nav__item:last-child {
    margin-bottom: 0;
    /* .25rem */
}

.nav__sublist .nav__image {
    position: relative;
    margin-bottom: .5rem;
}

.nav__sublist .nav__image::after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

.nav__sublist .nav__link {
    padding: .25rem .5rem;
}

/**/

.nav--has-dm .nav__sublist .nav__sublist {
    left: 100%;
    max-height: calc((var(--lh-s) * 6em) + (.5rem * 6) + (.5rem * 2));
    overflow: auto;
    scrollbar-color: var(--c-light) var(--c-accent);
    scrollbar-width: thin;
}

.nav--has-dm .nav__sublist::-webkit-scrollbar-track {
    background-color: transparent;
}

.nav--has-dm .nav__sublist::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.nav--has-dm .nav__sublist::-webkit-scrollbar-thumb {
    background-color: var(--c-light);
    box-shadow: inset 0 0 0 4px var(--c-accent);
}

/* nav overlap (default) */

.nav--is-active {
    overflow-y: visible;
    /* hidden; */
}

.nav--is-active .page__main,
.nav--is-active .page__footer {
    padding-left: var(--hd-bar);
}

.page__header::after {
    content: '';
    background-color: rgba(0, 0, 0, .1);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: all .3s var(--e-out-cubic);
    transition-property: opacity, visibility;
}

.nav--is-active .page__header::after {
    opacity: 1;
    visibility: visible;
}

/* nav moves content */

.nav--has-mc {
    overflow-x: hidden;
}

.nav--has-mc .page__main,
.nav--has-mc .page__footer {
    transition: transform .3s var(--e-out-cubic);
}

.nav--has-mc.nav--is-active .page__main,
.nav--has-mc.nav--is-active .page__footer {
    transform: translateX(var(--hd-drawer));
}

/* nav resizes content */

.nav--has-rc.nav--is-active {
    overflow-y: visible;
}

.nav--has-rc .page__header::after {
    display: none;
}

.nav--has-rc .page__main,
.nav--has-rc .page__footer {
    transition: padding .3s var(--e-out-cubic);
}

.nav--has-rc.nav--is-active .page__main,
.nav--has-rc.nav--is-active .page__footer {
    padding-left: var(--hd-expanded);
}

/* sliding menu */

.nav--has-sm .header__drawer {
    overflow: hidden;
}

.nav--has-sm .header__scroll {
    overflow-y: auto;
}

.nav--has-sm.nav--is-active-submenu .header__scroll {
    overflow: hidden;
}

.nav--has-sm .nav__item.has-button {
    display: block;
}

.nav--has-sm .nav__item.has-image {
    display: none;
}

.nav--has-sm .nav__sublist {
    color: var(--c-black);
    background-color: var(--c-white);
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    padding: 3rem 0;
    z-index: 1;
    overflow: hidden;
    opacity: 1;
    visibility: hidden;
    transform: translateX(100%);
    pointer-events: all;
}

.nav--has-sm .nav__link~.nav__sublist {
    transition: all .3s var(--e-out-cubic);
    transition-property: visibility, transform;
}

.nav--has-sm .nav__item:hover>.nav__link[aria-expanded='false']~.nav__sublist {
    visibility: hidden;
    transform: translateX(100%);
}

.nav--has-sm .nav__item:hover>.nav__sublist,
.nav--has-sm .nav__link:hover~.nav__sublist,
.nav--has-sm .nav__link[aria-expanded='true']~.nav__sublist {
    visibility: visible;
    transform: translate(0);
}

.nav--has-sm .nav__link[aria-expanded='true']~.nav__sublist {
    overflow-y: auto;
}

.nav--has-sm .nav__sublist .nav__link {
    padding: .75rem 3rem;
}

.nav--has-sm .nav__back {
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--c-silver);
}

/**/

.nav--has-sm .nav__sublist .nav__link.has-children .nav__expand::after {
    display: none;
}

.nav--has-sm .nav__sublist .nav__sublist {
    display: none;
}

/**/

.header__fs-increase {
    font-size: 1.125em;
    font-weight: 500;
}

.header__fs-decrease {
    font-weight: 500;
}

/* #endregion */

/* #region - main */

.page__main {
    background-color: var(--c-alabaster);
    padding-left: var(--hd-bar);
    overflow: hidden;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    flex: 1 0 auto;
}

.page__main>* {
    position: relative;
}

/* #endregion */

/* #region - footer */

.page__footer {
    position: relative;
    padding-left: var(--hd-bar);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
}

.footer__newsletter {
    background-color: var(--c-concrete);
}

.footer__newsletter .footer__container {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.footer__newsletter .form form {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem 3rem;
}

.footer__newsletter .form__header {
    font-weight: 500;
    margin: 0;
    flex: 1 1 30rem;
}

.footer__newsletter .form__main {
    max-width: clamp(30rem, 50%, 100%);
    margin: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    flex: 1 1 20rem;
}

.footer__newsletter .form__field label>span:first-child {
    display: none;
}

.footer__newsletter .form__field input,
.footer__newsletter .form__submit {
    height: 2.6125rem;
}

.footer__newsletter .form__submit {
    position: relative;
    width: auto;
    display: flex;
}

.footer__newsletter input[type='submit'] {
    text-indent: -99em;
    background: none;
    border: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    cursor: pointer;
}

.footer__newsletter .form__button {
    line-height: var(--lh-m);
    background-color: var(--c-black);
    padding: .5rem 1.5rem;
}

.footer__newsletter input[type='submit']:hover~.form__button {
    text-decoration: underline;
    color: var(--c-white);
    background-color: var(--c-black);
}

.footer__newsletter form .wpcf7-response-output {
    width: 100%;
    margin: 1.5rem 0 0;
    order: 0;
}

.footer__primary {
    line-height: var(--lh-s);
    color: var(--c-white);
    background-color: var(--c-black);
    position: relative;
}

.footer__background::after {
    content: '';
    background-color: var(--c-black);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .75;
    mix-blend-mode: multiply;
}

.footer__container {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.footer__row {
    row-gap: 3rem;
}

.footer__col {
    flex: 1 1 10rem;
}

.footer__logo-image {
    max-width: 12rem;
    width: 100%;
}

.footer__text {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

.footer__text>*:not(:last-child) {
    margin-bottom: .75rem;
}

.footer__text h2 {
    font-weight: 500;
}

.footer__text li:not(:last-child) {
    margin-bottom: .25rem;
}

.footer__text a {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
}

.footer__text a:hover {
    text-decoration: underline;
}

.footer__text p+a {
    text-decoration: underline;
}

.footer__cc {
    flex-basis: 100%;
}

/* scroll */

.scroll-top {
    color: var(--c-white);
    background-color: var(--c-accent);
    width: 3em;
    height: 3em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.scroll-top:hover {
    text-decoration: none;
}

.page__header .scroll-top {
    box-shadow: 0 1px 0 1px rgba(213, 213, 213, .4);
    height: 100%;
}

.nav--has-sm .page__header .scroll-top {
    display: none;
}

.page__footer .scroll-top {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin: 0 -1.5em;
}

.nav--has-dm.nav--is-active .page__footer .scroll-top {
    display: none;
}

@media screen and (max-width: 60em) {

    .page__footer .scroll-top {
        left: auto;
        right: 3rem;
        margin: 0;
    }

}

@media screen and (max-width: 40em) {

    .page__footer .scroll-top {
        display: none;
    }

}

/* #endregion */

/* #region - home */

.h-hb {
    color: var(--c-white);
    background-color: var(--c-black);
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.h-hb__container {
    margin-bottom: 5vh;
}

.h-hb__background::after {
    content: '';
    background-color: #53565A;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .2;
    mix-blend-mode: multiply;
}

.h-hb__background-video .video__control {
    color: var(--c-white);
    position: absolute;
    top: auto;
    right: 1.5rem;
    bottom: 1.5rem;
    left: auto;
    width: auto;
    height: auto;
    z-index: 1;
    pointer-events: all;
}

.h-hb__drawing {
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.h-hb__drawing svg .has-fill {
    opacity: 0;
    transition: opacity .5s var(--e-out-cubic);
}

.h-hb__drawing.has-animated svg .has-fill {
    opacity: 1;
}

.h-hb__logo {
    padding-top: 3rem;
    padding-bottom: 3rem;
    margin-top: 0;
}

.nav--is-active .h-hb__logo {
    visibility: hidden;
}

.h-hb__logo-image {
    max-width: calc(100vw - var(--hd-bar));
    width: calc(var(--hd-drawer) - 6rem);
    z-index: 1;
}

.h-hb__text h1 {
    font-size: var(--fs-l);
    font-weight: 400;
    line-height: var(--lh-s);
}

.h-hb__text a {
    color: inherit;
}

.h-hb__text .button-link {
    font-size: var(--fs-h5);
}

@media screen and (max-width: 40em) {

    .h-hb__logo-image {
        margin-left: auto;
        display: none;
    }

}

/**/

.h-wm__container {
    max-width: var(--w-max-s);
}

.h-wm__text h2 {
    font-size: var(--fs-h2);
}

/**/

.h-au {
    min-height: 30rem;
    display: flex;
}

.h-au__container {
    padding-bottom: 0;
    margin-bottom: 0;
}

.h-au__text {
    background-color: var(--c-light);
    background-color: rgba(255, 255, 255, .85);
    max-width: 30rem;
    padding: 3rem;
    margin-left: auto;
}

.h-au__text h2 {
    font-size: var(--fs-h4);
}

@media screen and (max-width: 40em) {

    .h-au__text {
        padding: 2rem;
    }

}

/**/

.h-ol {
    background-color: var(--c-concrete);
}

.h-ol__container {
    max-width: var(--w-max-m);
}

.h-ol__header {
    margin-bottom: 3rem;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem 3rem;
}

.h-ol__title {
    font-size: var(--fs-h3);
    font-weight: 500;
    line-height: var(--lh-s);
    flex: 1 0 auto;
}

.h-ol__link {
    font-size: var(--fs-h5);
    font-weight: 700;
    color: var(--c-accent);
}

.h-ol__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: 3rem 1.5rem;
}

.h-ol__item {
    background-color: var(--c-white);
}

.h-ol__item-image::after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

.h-ol__item-text {
    line-height: var(--lh-s);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

.h-ol__item-meta {
    font-weight: 400;
}

.h-ol__item-title {
    font-size: var(--fs-h5);
    font-weight: 700;
    margin-top: .5rem;
}

.h-ol__item-link {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
}

.h-ol__item-link:hover {
    color: var(--c-accent);
}

.h-ol__item-excerpt {
    max-height: calc(var(--lh-s) * 2em);
    margin-top: .5rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/**/

.h-ol-m {
    display: none;
}

.h-ol__swiper .swiper-container {
    overflow: visible;
}

.h-ol-m .swiper-navigation {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    display: flex;
    gap: .5rem;
    transform: none;
}

.h-ol-m .swiper-navigation .swiper-button-prev,
.h-ol-m .swiper-navigation .swiper-button-next {
    font-size: 2rem;
    color: var(--c-accent);
}

@media screen and (max-width: 40em) {

    .h-ol {
        display: none;
    }

    .h-ol-m {
        display: block;
    }

}

/**/

.h-ue {
    color: var(--c-white);
}

.h-ue__container {
    max-width: var(--w-max-m);
}

.h-ue__background {
    background-color: var(--c-accent);
}

.h-ue__background::after {
    content: '';
    background-color: #53565A;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .4;
    mix-blend-mode: multiply;
}

.h-ue__background-image {
    opacity: .1;
}

.h-ue__header {
    margin-bottom: 3rem;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem 3rem;
}

.h-ue__title {
    font-size: var(--fs-h3);
    font-weight: 500;
    line-height: var(--lh-s);
    flex: 1 0 auto;
}

.h-ue__link {
    font-size: var(--fs-h5);
    font-weight: 700;
    color: inherit;
}

.h-ue__item {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 3rem;
}

.h-ue__item-media {
    flex: 1 1 15rem;
}

.h-ue__item-image {
    border: 5px solid var(--c-white);
    height: 100%;
}

.h-ue__item-image::after {
    content: '';
    padding-bottom: 62.5%;
    display: block;
}

.h-ue__item-text {
    line-height: var(--lh-s);
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    flex: 3 1 15rem;
}

.h-ue__item-title {
    font-size: var(--fs-h3);
    font-weight: 700;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    width: 100%;
    padding-bottom: 1.5rem;
    margin-top: .5rem;
    margin-bottom: 1rem;
}

.h-ue__item-link {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
}

.h-ue__item-excerpt {
    line-height: var(--lh-m);
    max-height: calc(var(--lh-m) * 3em);
    margin-top: .5rem;
    margin-bottom: auto;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.h-ue__item-button {
    color: inherit;
    background-color: transparent;
    border: .1rem solid;
    padding: .5rem 1.5rem;
    margin-top: 1.5rem;
}

/* #endregion */

/* #region - b: archive posts */

.b-ap {
    background-color: var(--c-concrete);
}

/* header */

.b-ap__header {
    margin-bottom: 3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem 3rem;
}

.b-ap__header h2 {
    font-size: var(--fs-h3);
    font-weight: 500;
    line-height: var(--lh-s);
    flex: 1 0 20rem;
}

.b-ap__filter {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.b-ap__filter.is-fw {
    width: 100%;
}

.b-ap__filter .select {
    color: var(--c-white);
    background-color: var(--c-black);
}

.b-ap__filter select option {
    color: var(--c-black);
}

.b-ap__filter .filter__list {
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.b-ap__filter .filter__button {
    font-weight: 400;
    color: var(--c-dove-gray);
    background-color: var(--c-concrete);
    padding: .563rem 1.5rem;
    display: flex;
    align-items: center;
}

.b-ap__filter .filter__button.is-active {
    color: var(--c-white);
    background-color: var(--c-accent);
}

/* body */

.b-ap__items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
    gap: 3rem 1.5rem;
    transition: opacity .3s var(--e-fast-out-slow-in);
}

.b-ap__item {
    background-color: var(--c-white);
    display: flex;
    flex-direction: column;
}

.b-ap__item-image::after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

.b-ap__item-text {
    line-height: var(--lh-s);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    flex: 1 0 auto;
}

.b-ap__item-text>* {
    margin-bottom: .5rem;
}

.b-ap__item-text>*:last-child {
    margin-bottom: 0;
}

.b-ap__item-meta {
    font-weight: 400;
    color: var(--c-dove-gray);
}

.b-ap__item-title {
    font-size: var(--fs-h5);
    font-weight: 700;
}

.b-ap__item-link {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
}

.b-ap__item-excerpt {
    max-height: calc(var(--lh-s) * 2em);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.b-ap__item-button {
    background-color: var(--c-black);
    padding: .5rem 1rem;
    margin-top: auto;
}

.b-ap__item-button i {
    margin-left: .5rem;
}

/* pue newsletter */

.b-pn .b-ap__item-meta {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.b-pn .b-ap__item-download {
    color: inherit;
}

/* success story */

.b-ss .b-ap__item {
    background-color: transparent;
}

.b-ss .b-ap__item-text {
    padding: 1.25rem;
    padding-bottom: 0;
}

.b-ss .b-ap__item-title {
    font-weight: 400;
}

.b-ss .b-ap__item-bio {
    font-weight: 400;
    color: var(--c-dove-gray);
    margin-bottom: 1rem;
}

/* press releases */

.b-pr .b-ap__item {
    background-color: transparent;
}

.b-pr .b-ap__item-text {
    padding: 1.25rem;
    padding-bottom: 0;
}

.b-pr .b-ap__item-title {
    font-weight: 400;
    margin-bottom: 1rem;
}

/* media gallery */

.b-mg .b-ap__item {
    background-color: transparent;
}

.b-mg .b-ap__item-text {
    padding: 0;
    padding-top: 1.25rem;
}

.b-mg .b-ap__item-gallery {
    font-weight: 400;
    color: var(--c-dove-gray);
}

/* footer */

.b-ap__link {
    background-color: var(--c-black);
}

.b-ap__footer {
    font-weight: 400;
    position: relative;
    display: grid;
    place-items: center;
    gap: 2rem;
}

.b-ap__footer .wp-pagenavi {
    position: relative;
    display: flex;
    align-items: center;
    transition: opacity .3s var(--e-fast-out-slow-in);
}

.b-ap__footer .wp-pagenavi>* {
    width: 2em;
    height: 2em;
    padding: .5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.b-ap__footer .wp-pagenavi a {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
}

.b-ap__footer .wp-pagenavi a:hover {
    text-decoration: underline;
    color: var(--c-black);
}

.b-ap__footer .wp-pagenavi .previouspostslink,
.b-ap__footer .wp-pagenavi .nextpostslink {
    display: none;
}

.b-ap__footer .wp-pagenavi .label {
    width: auto;
}

.b-ap__footer .wp-pagenavi .page {
    color: var(--c-silver);
}

.b-ap__footer .wp-pagenavi .current {
    color: var(--c-black);
}

.b-ap__footer .wp-pagenavi .disabled {
    color: var(--c-silver);
    opacity: .5;
}

.b-ap__separator {
    border-top: 1px solid var(--c-silver);
    width: 100%;
    margin-top: 3rem;
}

.b-ap__separator.is-hidden {
    display: none;
}

.b-ap__loader {
    color: var(--c-dove-gray);
    display: none;
}

.b-ap__loader i {
    width: auto;
    height: auto;
    margin-right: .5rem;
    animation: loading 1.2s linear infinite;
}

.b-ap__container.is-loading {
    pointer-events: none;
}

.b-ap__container.is-loading .b-ap__items,
.b-ap__container.is-loading .b-ap__footer>*:not(.b-ap__loader) {
    opacity: .5;
}

.b-ap__container.is-loading .b-ap__separator {
    display: block;
}

.b-ap__container.is-loading .b-ap__loader {
    display: block;
}

/* mobile */

.b-ap__body-m {
    display: none;
}

.b-ap__swiper .swiper-container {
    overflow: visible;
}

.b-ap__body-m .swiper-navigation {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    margin: -1.5rem 0 1.5rem;
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    transform: none;
}

.b-ap__body-m .swiper-navigation .swiper-button-prev,
.b-ap__body-m .swiper-navigation .swiper-button-next {
    font-size: 2rem;
    color: var(--c-accent);
}

@media screen and (max-width: 40em) {

    .b-ap.has-mobile .b-ap__body,
    .b-ap.has-mobile .b-ap__footer {
        display: none;
    }

    .b-ap__body-m {
        display: block;
    }

}

/* media */

.p-md,
.p-md .b-pr,
.p-md .b-mg,
.p-md .b-dl {
    background-color: var(--c-white);
}

.p-md .b-ap__header h2 {
    margin-bottom: 1.5rem;
}

/* archive */

.p-ap .b-ap {
    background-color: var(--c-alabaster);
}

/* #endregion */

/* #region - b: breadcrumbs */

.b-bc {
    background-color: var(--c-concrete);
}

.b-bc__container {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.b-bc__items {
    font-weight: 500;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.b-bc__items>li {
    display: flex;
}

.b-bc__items>li:not(:last-child)::after {
    content: '\f105';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 300;
    margin: 0 1rem;
}

.b-bc__items>li:last-child {
    color: var(--c-accent);
}

.b-bc__items a {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
}

.b-bc__items a:hover {
    text-decoration: underline;
}

/* #endregion */

/* #region - b: calendar */

.b-cal__header {
    margin-bottom: 3rem;
}

/* #endregion */

/* #region - b: cards */

.b-cd__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: 3rem;
}

.b-cd__item {
    background-color: var(--c-light);
    padding: 3rem;
    justify-content: flex-start;
}

.b-cd__item h2 {
    color: var(--c-accent);
}

@media screen and (max-width: 40em) {

    .b-cd__item {
        padding: 2rem;
    }

}

/* #endregion */

/* #region - b: carousel */
/* #endregion */

/* #region - b: downloads */

.b-dl__header {
    margin-bottom: 3rem;
}

.b-dl .accordion__items {
    display: none;
}

.b-dl__items {
    font-weight: 400;
    line-height: var(--lh-s);
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(6rem, 0fr));
    gap: 2rem;
}

.b-dl__items:not(:last-child) {
    margin-bottom: 3rem;
}

.b-dl__title {
    font-size: var(--fs-body);
    font-weight: 700;
    line-height: var(--lh-s);
    margin-bottom: 1.5rem;
}

.b-dl__link {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
}

.b-dl__link img,
.b-dl__link svg {
    max-width: 4rem;
    margin-bottom: .25rem;
}

.b-dl__link i {
    font-size: 4rem;
    color: #E2574C;
    margin-bottom: .75rem;
}

@media screen and (max-width: 40em) {

    .b-dl .tab__list,
    .b-dl .tab__contents {
        display: none;
    }

    .b-dl .accordion__items {
        display: flex;
    }

}

/* #endregion */

/* #region - b: form + image */

.b-fi__image {
    height: 100%;
}

.b-fi__image::after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

@media screen and (max-width: 70em) {

    .b-fi__image {
        min-width: auto !important;
        margin: auto !important;
    }

}

/* #endregion */

/* #region - b: form + text */

.b-ft__row {
    align-items: flex-start;
    column-gap: 8rem;
}

.b-ft__form {
    position: relative;
}

.b-ft__form .form__footer .form__button,
.b-ft__form .form__footer input[type='submit']:hover~.form__button {
    background-color: var(--c-claret);
}

.b-ft__deco svg {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 4rem;
    min-width: 3rem;
    width: 8vw;
    z-index: -1;
    fill: var(--c-accent);
}

/* #endregion */

/* #region - b: form */

.b-fc__media {
    margin-bottom: -10%;
}

.b-fc__image {
    max-height: 50vh;
}

.b-fc__image::after {
    content: '';
    padding-bottom: 46.85%;
    display: block;
}

.b-fc__form {
    background-color: var(--c-white);
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .05);
    position: relative;
    max-width: min(var(--w-max-xs), 90%);
    padding: 4rem;
    margin: auto;
    z-index: 1;
}

@media screen and (max-width: 90em) {

    .b-fc__form {
        padding: 3rem;
    }

}

@media screen and (max-width: 40em) {

    .b-fc__form {
        padding: 2rem;
    }

}

/* #endregion */

/* #region - b: grid cards */

.b-gc__header {
    margin-bottom: 3rem;
}

.b-gc__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: 3rem 1.5rem;
}

.b-gc__item-media {
    margin-bottom: .75rem;
}

.b-gc__item-image::after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

.b-gc__item-text {
    line-height: var(--lh-s);
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

.b-gc__item-text p {
    margin-bottom: 1.5rem;
}

/* #endregion */

/* #region - b: hero */

.b-hb {
    color: var(--c-white);
    background-color: var(--c-black);
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.b-hb__container {
    margin-bottom: 5vh;
}

.b-hb__background::after {
    content: '';
    background-color: #53565A;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .8;
    mix-blend-mode: multiply;
}

.b-hb__header {
    position: relative;
    margin-bottom: 3rem;
}

.b-hb__header::after {
    content: '';
    border-right: 1px solid;
    position: absolute;
    top: calc(100% + .25rem);
    left: 1.5rem;
    height: 2rem;
}

.b-hb__header h1 {
    font-size: var(--fs-l);
    font-weight: 400;
    line-height: var(--lh-s);
}

.b-hb__links {
    font-size: var(--fs-h5);
    font-weight: 500;
    line-height: var(--lh-s);
    max-width: 40rem;
    display: list-item;
    column-count: 1;
    column-width: 10rem;
    column-gap: 3rem;
}

.b-hb__links.is-multiple {
    column-count: 2;
}

.b-hb__links li {
    margin-bottom: .75rem;
}

.b-hb__links a {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
}

.b-hb__links a:hover {
    text-decoration: underline;
}

/**/

.b-hb.is-small {
    min-height: auto;
}

.b-hb.is-small .b-hb__container {
    margin-bottom: auto;
}

.b-hb.is-small .b-hb__text {
    margin-top: 3rem;
}

.b-hb.is-small .b-hb__text h1 {
    font-size: var(--fs-l);
    font-weight: 400;
    line-height: var(--lh-s);
}

@media screen and (max-width: 40em) {

    .b-hb__container {
        margin-bottom: 0;
    }

    .b-hb__links {
        font-size: var(--fs-body);
    }

}

/* #endregion */

/* #region - b: image + cta */

.b-ic {
    min-height: 30rem;
    display: flex;
}

.b-ic__container {
    padding-bottom: 0;
    margin-bottom: 0;
}

.b-ic__text {
    background-color: var(--c-light);
    max-width: 30rem;
    padding: 3rem;
    margin-left: auto;
}

.b-ic__text h2 {
    font-size: var(--fs-h4);
    color: var(--c-accent);
}

@media screen and (max-width: 40em) {

    .b-ic__text {
        padding: 2rem;
    }

}

/* #endregion */

/* #region - b: image */

.b-img.is-fullwidth .b-img__container {
    max-width: none;
    padding: 0;
}

.b-img.is-fullwidth img {
    width: 100%;
}

.b-img__image.is-cover {
    max-height: 50vh;
}

.b-img__image.is-cover::after {
    content: '';
    padding-bottom: 46.85%;
    display: block;
}

/* #endregion */

/* #region - b: list text */

.b-lt {
    background-color: var(--c-concrete);
}

.b-lt__header {
    margin-bottom: 3rem;
}

.b-lt__text.is-grid {
    margin-bottom: -3rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    gap: 1.5rem 3rem;
}

.b-lt__text h3 {
    font-size: var(--fs-h5);
    font-weight: 700;
}

@media screen and (max-width: 40em) {

    .b-lt__text.is-grid {
        grid-template-columns: 1fr;
    }

}

/* #endregion */

/* #region - b: media gallery */
/* #endregion */

/* #region - b: members */

.b-mb__header {
    margin-bottom: 3rem;
}

.b-mb__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25%, 1fr));
}

.b-mb__item {
    position: relative;
    overflow: hidden;
}

.b-mb__item::after {
    content: '';
    background-color: var(--c-black);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(var(--lh-s) * 2em + 2.5rem);
    opacity: .6;
    transition: all .3s var(--e-fast-out-slow-in);
    transition-property: height, opacity;
}

.b-mb__item:hover::after,
.b-mb__item.is-focus::after {
    height: 100%;
    opacity: .8;
}

.b-mb__item-image::after {
    content: '';
    padding-bottom: 125%;
    display: block;
}

.b-mb__item-text {
    line-height: var(--lh-s);
    color: var(--c-white);
    width: 100%;
    padding: 1rem;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex-direction: column;
    transform: translateY(2rem);
    transition: transform .3s var(--e-fast-out-slow-in);
}

.b-mb__item:hover .b-mb__item-text,
.b-mb__item.is-focus .b-mb__item-text {
    transform: translateY(0);
}

.b-mb__item.is-focus .b-mb__item-text {
    transition-duration: 0s;
}

.b-mb__item-title {
    font-weight: 700;
    max-height: calc(var(--lh-s) * 2em);
    margin-bottom: 1rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.b-mb__item-link {
    font-weight: 500;
    text-decoration: none;
    color: inherit;
}

.b-mb .b-mb__modal-media {
    width: 100%;
    margin-bottom: 1.5rem;
    gap: 3rem;
    display: flex;
    align-items: center;
}

.b-mb .b-mb__modal-image {
    background-color: var(--c-light);
    border-radius: 50%;
    position: relative;
    max-width: 15rem;
    margin: 0;
    overflow: hidden;
    flex: 0 1 15rem;
}

.b-mb .b-mb__modal-image:after {
    content: '';
    padding-bottom: 100%;
    display: block;
}

.b-mb .b-mb__modal-nw {
    flex: 2 1 25rem;
}

.b-mb .b-mb__modal-name {
    font-size: var(--fs-h4);
    font-weight: 700;
    line-height: var(--lh-s);
    color: inherit;
    margin-bottom: .25rem;
}

.b-mb .b-mb__modal-position {
    font-size: var(--fs-h5);
    line-height: var(--lh-m);
    margin-bottom: 0;
}

@media screen and (max-width: 60em) {

    .b-mb__items {
        grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    }

}

@media screen and (max-width: 40em) {

    .b-mb .b-mb__modal-media {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        flex-direction: column;
    }

    .b-mb .b-mb__modal-media>* {
        width: 100%;
        flex: 0 0 auto;
    }

}

/* #endregion */

/* #region - b: message slider */

.b-ms.has-slider .b-ms__container {
    padding-top: 0;
    padding-bottom: 0;
}

.b-ms__swiper {
    max-width: var(--w-max-xxs);
    /* clip-path: polygon(0% 0%, 100vw 0%, 100vw 100%, 0% 100%); */
}

.b-ms__swiper .swiper-container {
    overflow: visible;
}

.b-ms__swiper .swiper-slide {
    height: 100%;
}

.b-ms__swiper .b-ms__item {
    background-color: var(--c-concrete);
    border-bottom: 5px solid var(--c-silver);
    position: relative;
    height: 100%;
    padding: 4rem;
    transition: all .3s ease;
    transition-property: background, border;
}

.b-ms__swiper .swiper-slide-active .b-ms__item {
    background-color: var(--c-light);
    border-color: var(--c-accent);
    transition: none;
}

.b-ms__swiper .b-ms__item::after {
    content: '';
    background-color: var(--c-black);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .2;
    pointer-events: none;
    transition: opacity .3s ease;
}

.b-ms__swiper .swiper-slide-active .b-ms__item::after {
    opacity: 0;
}

.b-ms__swiper .swiper-navigation {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    margin: 1.5rem 0 0 auto;
    display: flex;
    gap: .5rem;
    transform: none;
}

.b-ms__item-header {
    margin-bottom: 3rem;
}

.b-ms__item-body {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2rem 3rem;
}

.b-ms__item-media {
    flex: 0 1 10rem;
}

.b-ms__item-image {
    border-radius: 50%;
    overflow: hidden;
}

.b-ms__item-image::after {
    content: '';
    padding-bottom: 100%;
    display: block;
}

.b-ms__item-text {
    flex: 3 1 30rem;
}

@media screen and (max-width: 90em) {

    .b-ms__swiper .b-ms__item {
        padding: 3rem;
    }

}

@media screen and (max-width: 40em) {

    .b-ms__swiper .b-ms__item {
        padding: 2rem;
    }

    .b-ms__item-header {
        margin-bottom: 2rem;
    }

}

/* #endregion */

/* #region - b: partners (support) */

.b-sp {
    background-color: var(--c-white);
}

.b-sp__header {
    margin-bottom: 3rem;
}

.b-sp__items {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 3rem 6rem;
}

.b-sp__item {
    position: relative;
}

.b-sp__item-image img {
    max-height: 8rem;
}

.b-sp__item-link {
    text-indent: -9999px;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
}

@media screen and (max-width: 40em) {

    .b-sp__items {
        gap: 2rem;
    }

    .b-sp__item-image img {
        max-height: 5rem;
    }

}

/* #endregion */

/* #region - b: pdf */

.b-pdf__header {
    margin-bottom: 3rem;
}

.b-pdf__viewer {
    position: relative;
}

.b-pdf__viewer::after {
    content: '';
    padding-bottom: 65%;
    display: block;
}

.b-pdf__viewer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* #endregion */

/* #region - b: press releases */
/* #endregion */

/* #region - b: pue newsletter */
/* #endregion */

/* #region - b: social (sns) */

.b-sns__list {
    display: flex;
    gap: 1rem;
}

.b-sns__item {
    margin: 0;
}

/* #endregion */

/* #region - b: success stories */
/* #endregion */

/* #region - b: tabs (tabs + accrodion) */

.b-ta__wrapper {
    position: relative;
}

.b-ta__text {
    margin-bottom: 3rem;
}

.b-ta .accordion__items {
    display: none;
}

@media screen and (max-width: 40em) {

    .b-ta .tab__list,
    .b-ta .tab__contents {
        display: none;
    }

    .b-ta .accordion__items {
        display: flex;
    }

}

/* #endregion */

/* #region - b: testimonial slider */

.b-tms__is-swiper {
    margin-bottom: -10%;
}

.b-tms__image {
    max-height: 50vh;
}

.b-tms__image::after {
    content: '';
    padding-bottom: 46.85%;
    display: block;
}

.b-tms__ts-swiper {
    background-color: var(--c-white);
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .05);
    max-width: min(var(--w-max-xs), 90%);
    margin: auto;
    z-index: 1;
}

.b-tms__ts-swiper .swiper-pagination {
    margin: 0 0 1.5rem;
}

.b-tms__text {
    padding: 3rem;
}

.b-tms.has-smaller-gap .b-tms__text {
    padding-bottom: 1.5rem;
}

.b-tms__deco svg {
    position: absolute;
    top: 2rem;
    right: 2rem;
    max-width: 5rem;
    min-width: 4rem;
    width: 8vw;
    height: auto;
    z-index: -1;
    fill: var(--c-light);
}

@media screen and (max-width: 40em) {

    .b-tms__text {
        padding: 2rem;
    }

}

/* #endregion */

/* #region - b: text + card */

.b-tc__text {
    flex: 3 1 30rem;
}

.b-tc__card,
.b-tc__quote {
    align-self: flex-start;
    flex: 1 1 20rem;
}

.b-tc__card {
    background-color: var(--c-light);
    position: relative;
    padding: 3rem;
}

.b-tc__card ol {
    counter-reset: list;
    list-style-type: none;
    padding-left: 2.25rem;
}

.b-tc__card ol>li {
    counter-increment: list;
    margin-bottom: .5rem;
}

.b-tc__card ol>li::before {
    content: counter(list);
    font-weight: 500;
    color: var(--c-white);
    background-color: var(--c-accent);
    border-radius: 50%;
    position: absolute;
    left: -2.25rem;
    width: 1.5em;
    height: 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.b-tc__quote {
    font-size: var(--fs-h5);
    font-weight: 700;
    background-color: var(--c-light);
    position: relative;
    padding: 3rem;
}

.b-tc.has-bird .b-tc__quote figure {
    margin-left: auto;
    margin-right: auto;
    transform: scale(1.2);
    transform-origin: bottom left;
}

.b-tc__deco svg {
    position: absolute;
    max-width: 4rem;
    min-width: 3rem;
    width: 8vw;
    height: auto;
    z-index: 1;
    fill: var(--c-accent);
}

.b-tc__deco svg:nth-child(1) {
    bottom: 0;
    right: 0;
    transform: translate(-50%, 50%);
}

.b-tc__deco svg:nth-child(2) {
    top: 0;
    left: 0;
    transform: translate(50%, -50%) scale(-1);
}

.b-tc-oo figure {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
}

.b-tc-oo h3 {
    font-weight: 700;
}

.b-tc-oo a {
    font-weight: inherit;
    text-decoration: none;
    color: inherit;
}

.b-tc-oo a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 70em) {

    .b-tc__card {
        flex-basis: 100%;
    }

}

@media screen and (max-width: 40em) {

    .b-tc__card {
        padding: 2rem;
    }

}

/* #endregion */

/* #region - b: text + carousel */

.b-tcs__carousel {
    width: 0;
}

.b-tcs__swiper {
    max-width: 100%;
    height: 100%;
    clip-path: polygon(0% 0%, 100vw 0%, 100vw 100%, 0% 100%);
}

.b-tcs__swiper .swiper-container {
    overflow: visible;
}

.b-tcs__swiper .swiper-slide * {
    height: 100%;
}

.b-tcs__image::after {
    content: '';
    padding-bottom: 100%;
    display: block;
}

.b-tcs.is-vertical .b-tcs__col {
    width: 100%;
}

.b-tcs.is-vertical .b-tcs__swiper {
    clip-path: none;
}

/* #endregion */

/* #region - b: text + image */

.b-ti__row {
    flex-wrap: nowrap;
}

/* colored bg - whole section, is overflow */

.is-bg-accent {
    color: var(--c-white);
    background-color: var(--c-accent);
}

.is-bg-light {
    background-color: var(--c-light);
}

.is-bg-gray {
    background-color: var(--c-concrete);
}

.b-ti[class*='is-bg-'].has-overflow .b-ti__container {
    padding-top: 0;
    padding-bottom: 0;
}

/* colored bg - only row, not overflow */

.b-ti:not(.has-overflow) {
    background: none;
}

.b-ti.is-bg-accent:not(.has-overflow) .b-ti__row {
    color: var(--c-white);
    background-color: var(--c-accent);
}

.b-ti.is-bg-light:not(.has-overflow) .b-ti__row {
    background-color: var(--c-light);
}

.b-ti.is-bg-gray:not(.has-overflow) .b-ti__row {
    background-color: var(--c-concrete);
}

/* colored bg */

.b-ti[class*='is-bg-'] .b-ti__row {
    gap: 0;
}

.b-ti[class*='is-bg-'] .b-ti__text {
    padding: 4rem;
}

/* position */

.b-ti.is-image-text .b-ti__media {
    order: -1;
}

/* cover */

.b-ti__image.is-cover {
    height: 100%;
}

.b-ti__image.is-cover::after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

/* larger text width */

.b-ti.is-ltw .b-ti__text {
    flex: 3 1 30rem;
}

.b-ti.is-ltw .b-ti__media {
    flex: 1 1 20rem;
}

/**/

@media screen and (max-width: 90em) {

    .b-ti[class*='is-bg-'] .b-ti__text {
        padding: 4rem 3rem;
    }

}

@media screen and (max-width: 70em) {

    .b-ti__row {
        flex-wrap: wrap;
    }

    .b-ti[class*='is-bg-'].has-overflow .b-ti__container {
        padding: 0;
    }

    .b-ti[class*='is-bg-'] .b-ti__text {
        flex-basis: 100%;
    }

    .b-ti.has-overflow .b-ti__image {
        min-width: auto !important;
        margin: auto !important;
    }

    .b-ti.is-ltw .b-ti__text {
        flex-basis: 100%;
    }

}

@media screen and (max-width: 40em) {

    .b-ti[class*='is-bg-'] .b-ti__text {
        padding: 3rem 2rem;
    }

}

/* #endregion */

/* #region - b: text slider + image slider */

.b-tsis__col {
    width: 0;
}

.b-tsis__ts {
    z-index: 3;
}

.b-tsis__ts-swiper {
    max-width: 100%;
}

.b-tsis__ts-swiper .swiper-navigation {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    margin: 1.5rem 0 1.5rem auto;
    display: flex;
    gap: .5rem;
    transform: none;
}

.b-tsis__is-swiper {
    height: 100%;
    clip-path: polygon(0% 0%, 100vw 0%, 100vw 100%, 0% 100%);
}

.b-tsis__is-swiper .swiper-container {
    overflow: visible;
}

.b-tsis__is-swiper .swiper-slide * {
    height: 100%;
}

.b-tsis__image::after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

@media screen and (max-width: 70em) {

    .b-tsis__is {
        flex-basis: 100%;
    }

}

/* #endregion */

/* #region - b: text slider + image */

.b-tsi {
    background-color: var(--c-concrete);
}

.b-tsi__container {
    padding-top: 0;
    padding-bottom: 0;
}

.b-tsi__row {
    gap: 0;
}

.b-tsi__ts {
    width: 0;
    flex: 3 1 30rem;
}

.b-tsi__swiper {
    padding: 4rem;
    padding-left: 0;
}

.b-tsi__swiper .swiper-navigation {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    margin: 1.5rem 0 0 auto;
    display: flex;
    gap: .5rem;
    transform: none;
}

.b-tsi__swiper.has-custom-nav .swiper-navigation {
    width: 100%;
    margin-top: 3rem;
}

.b-tsi__swiper.has-custom-nav .swiper-navigation .swiper-button-prev,
.b-tsi__swiper.has-custom-nav .swiper-navigation .swiper-button-next {
    max-width: 50%;
    width: auto;
}

.b-tsi__swiper.has-custom-nav .swiper-navigation .swiper-button-next {
    flex-direction: row-reverse;
}

.b-tsi__swiper.has-custom-nav .swiper-navigation span {
    font-size: var(--fs-body);
    font-weight: 500;
    line-height: var(--lh-s);
    max-height: calc(var(--lh-s) * 2em);
    margin: 0 .5rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.b-tsi__swiper.has-custom-nav [class*='swiper-button']:hover span {
    text-decoration: underline;
}

.b-tsi__swiper.has-custom-nav .swiper-button-disabled {
    visibility: hidden;
}

.b-tsi__media {
    flex: 1 1 20rem;
}

.b-tsi__image {
    height: 100%;
}

.b-tsi__image::after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

@media screen and (max-width: 70em) {

    .b-tsi__ts {
        flex-basis: 100%;
    }

    .b-tsi__swiper {
        padding-right: 0;
    }

    .b-tsi__image {
        margin-left: -3rem;
    }

}

@media screen and (max-width: 40em) {

    .b-tsi__swiper {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .b-tsi__image {
        margin-left: -2rem;
    }

}

/* #endregion */

/* #region - b: text + text */

.b-tt__text {
    justify-content: flex-start;
}

.b-tt-s1 .b-tt__container {
    padding-top: 0;
    padding-bottom: 0;
}

.b-tt-s1 .b-tt__row {
    row-gap: 0;
}

.b-tt-s1 .b-tt__text {
    position: relative;
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.b-tt-s1 .b-tt__text:nth-child(1) {
    padding-right: 4rem;
}

.b-tt-s1 .b-tt__text:nth-child(1)::before {
    content: '';
    background-color: var(--c-light);
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
}

.b-tt-s1 .b-tt__text>* {
    position: relative;
}

@media screen and (max-width: 90em) {

    .b-tt-s1 .b-tt__text:nth-child(1) {
        padding-right: 3rem;
    }

}

@media screen and (max-width: 70em) {

    .b-tt-s1 .b-tt__text {
        margin-top: 0;
        margin-bottom: 0;
        flex-basis: 100%;
    }

    .b-tt-s1 .b-tt__text:nth-child(1) {
        padding-right: 0;
    }

    .b-tt-s1 .b-tt__text:nth-child(1)::before {
        right: -3rem;
    }

}

@media screen and (max-width: 40em) {

    .b-tt-s1 .b-tt__text {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

}

/* #endregion */

/* #region - b: text */

.b-txt__text figure {
    margin-left: auto;
    margin-right: auto;
}

/* #endregion */

/* #region - b: video */

.video.has-text .video__text {
    color: var(--c-white);
    background-color: rgba(0, 0, 0, .5);
    text-align: center;
    padding: 1.5rem;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    visibility: hidden;
    pointer-events: none;
}

.video.has-text .video__text>* {
    pointer-events: all;
}

.video.has-text .video__text h2 {
    font-size: var(--fs-h2);
}

.video.has-text .video__text p {
    max-width: 30rem;
    max-height: calc(var(--lh-l) * 2em);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.video.has-text .video__text button {
    background-color: var(--c-accent);
    border: 0;
    border-radius: 100%;
    position: relative;
    top: auto;
    left: auto;
    width: 3em;
    height: 3em;
    margin: 1.5rem 0;
    display: block;
    transform: scale(1.5);
    transition-property: color, background, opacity;
}

.video.has-text .video__text button span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
}

/**/

.video.has-text .plyr--paused .plyr__control--overlaid {
    visibility: hidden;
}

.video.has-text .plyr--paused+.video__text,
.video.has-text:not(.video--is-playing) .video__player+.video__text {
    visibility: visible;
}

@media screen and (max-width: 60em) {

    .video.has-text .video__text button {
        margin-top: 0;
        transform: none;
    }

}

@media screen and (max-width: 40em) {

    .video.has-text .plyr--paused .plyr__control--overlaid {
        visibility: visible;
    }

    .video.has-text .plyr--paused+.video__text,
    .video.has-text:not(.video--is-playing) .video__player+.video__text {
        visibility: hidden;
    }

}

/* #endregion */

/* #region - b: post */

.b-post__content {
    flex: 3 1 30rem;
}

.b-post__meta {
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.5rem;
}

.b-post__bio {
    width: 100%;
}

.b-post__bio strong {
    font-weight: 500;
}

.b-post .b-post__terms {
    list-style: none;
    padding: 0;
    margin: 0;
}

.b-post__terms {
    display: flex;
    flex-wrap: wrap;
}

.b-post__terms li {
    margin-right: .5rem;
}

.b-post__event {
    margin-bottom: 1.5rem;
}

.b-post__image {
    background-color: var(--c-light);
    position: relative;
    width: 100%;
}

.b-post__image::after {
    content: '';
    padding-bottom: 56.25%;
    display: block;
}

.b-post__gallery {
    width: 100%;
    margin-top: .5rem;
    margin-bottom: 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
    gap: .5rem;
}

.b-post .b-post__gallery-image {
    position: relative;
    margin: 0;
}

.b-post__gallery-image::after {
    content: '';
    padding-bottom: 62.5%;
    display: block;
}

.b-post__share {
    color: var(--c-dove-gray);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.b-post__share h3 {
    font-size: var(--fs-body);
    font-weight: 700;
    margin: 0;
}

.b-post__share ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1rem;
}

.b-post__share button {
    border: 0;
    padding: 0;
    cursor: pointer;
}

.b-post__quote {
    font-size: var(--fs-h5);
    font-weight: 700;
    background-color: var(--c-light);
    position: relative;
    padding: 3rem;
    align-self: flex-start;
    flex: 1 1 20rem;
}

.b-post__deco svg {
    position: absolute;
    max-width: 4rem;
    min-width: 3rem;
    width: 8vw;
    height: auto;
    z-index: 1;
    fill: var(--c-accent);
}

.b-post__deco svg:nth-child(1) {
    bottom: 0;
    right: 0;
    transform: translate(-50%, 50%);
}

.b-post__deco svg:nth-child(2) {
    top: 0;
    left: 0;
    transform: translate(50%, -50%) scale(-1);
}

/* #endregion */

/* #region - b: popup message */

.b-pm .modal__content {
    border-radius: 0;
    max-width: 50rem;
}

.b-pm .modal__body {
    padding: 0;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
}

.b-pm .modal__close {
    color: var(--c-white);
    background-color: var(--c-black);
    top: 0;
    right: 0;
    width: 1.5em;
    height: 1.5em;
}

.b-pm__text {
    padding: 3rem;
    flex: 1 1 20rem;
}

.b-pm__text .button {
    margin-top: 1.5rem;
}

.b-pm__media {
    position: relative;
    flex: 1 1 15rem;
    order: -1;
}

.b-pm__image {
    border-radius: 50% 0% 0 50%;
    height: 100%;
    overflow: hidden;
}

.b-pm__image::after {
    content: '';
    padding-bottom: 62.5%;
    display: block;
}

.b-pm__logo {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    max-width: 40%;
    min-width: 6rem;
}

@media screen and (max-width: 50em) {

    .b-pm__image {
        border-radius: 0;
    }

}

@media screen and (max-width: 40em) {

    .b-pm__text {
        padding: 2rem;
    }

    .b-pm__text .button {
        margin-top: .5rem;
    }

}

/* #endregion */

/* #region - 404 error */

.p-404 {
    background-color: var(--c-alabaster);
    min-height: 40vh;
    justify-content: center;
}

.error-404 {
    font-size: var(--fs-h5);
    line-height: var(--lh-s);
    text-align: center;
}

.error-404 i {
    font-size: 3em;
    margin-bottom: 1.5rem;
}

/* #endregion */

/* #region - mobile menu mod */

.page__header-m {
    display: none;
}
@media only screen and (max-width: 1500px) {
    .header__logo img{
            max-width: 8rem;
    }
    .header__nav{
        font-size: .9em;
    }
    .nav__list{
       margin-bottom: 1rem;
    }
    .nav__link, .nav--has-dm .nav__list:nth-child(3) .nav__sublist .nav__link{
            padding: 0.5rem 3rem;
    }
}
@media only screen and (max-width: 1300px) {
    .header__nav {
        font-size: .8em;
    }
    .nav__link, .nav--has-dm .nav__list:nth-child(3) .nav__sublist .nav__link{
            padding: 0.4rem 3rem;
    }
    .header__logo {
        padding: 1rem 1.8rem;
    }
}

@media screen and (max-width: 40em) {

    .nav--has-sm.nav--is-active {
        overflow: hidden;
    }

    .page__header-m {
        background-color: var(--c-white);
        box-shadow: 0 1px 10px 0 rgba(0, 0, 0, .1);
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: var(--hd-bar-m);
        padding: .5rem 2rem;
        z-index: 98;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .page__header-m .header__logo {
        height: 100%;
        padding: 0;
    }

    .page__header-m .header__logo img {
        height: 100%;
    }

    /**/

    .page__header {
        display: none;
    }

    .nav--is-active .page__header {
        display: block;
    }

    .header__drawer {
        width: calc(100vw - var(--hd-bar));
    }

    /**/

    .page__main,
    .page__footer,
    .nav--is-active .page__main,
    .nav--is-active .page__footer {
        padding-left: 0;
    }

    .page__main {
        padding-top: var(--hd-bar-m);
    }

    .h-hb,
    .b-hb {
        min-height: calc(60vh - var(--hd-bar-m));
    }

    .nav__list:nth-child(2) {
        margin-bottom: 0;
    }

    .nav__list:nth-child(2):before {
        display: none;
    }

    .nav__list:nth-child(2) .nav__link {
        background-color: var(--c-light);
        margin-bottom: 1px;
    }

    .nav__list:nth-child(2) .nav__link:hover {
        background-color: var(--c-accent);
    }

}

/* #endregion */
