:root {
    --color-black: #000000;
    --color-black-rgb: 0, 0, 0;
    --color-filter-black: brightness(0);

    --color-body-black: #141b13;
    --color-body-black-rgb: 20, 27, 19;

    --color-white: #ffffff;
    --color-white-rgb: 255, 255, 255;
    --color-filter-white: brightness(0) invert(1);

    --color-rich-green: #202b1f;
    --color-rich-green-rgb: 32, 43, 31;

    --color-bright-emerald: #2ee59a;
    --color-bright-emerald-rgb: 46, 229, 154;

    --color-sand-gray: #efefed;
    --color-sand-gray-rgb: 239, 239, 237;

    --color-gray-green: #637b69;
    --color-gray-green-rgb: 99, 123, 105;

    --color-body: var(--color-white);
    --color-body-rgb: var(--color-white-rgb);
    --color-body-couple: var(--color-body-black);
    --color-body-couple-rgb: var(--color-body-black-rgb);
    --color-theme: var(--color-bright-emerald);
    --color-theme-rgb: var(--color-bright-emerald-rgb);
    --color-theme-couple: var(--color-body-black);
    --color-theme-couple-rgb: var(--color-body-black-rgb);

    --color-active: var(--color-bright-emerald);
    --color-active-rgb: var(--color-bright-emerald-rgb);

    --rgb: var(--color-body-rgb);
    --rgb-couple: var(--color-body-couple-rgb);

    --font-en: "Plus Jakarta Sans", sans-serif;
    --font-th: "Kanit", sans-serif;
    --font-body: "Plus Jakarta Sans", "Kanit", sans-serif;
    --font-heading: var(--font-body);
    --font-weight-regular: normal;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --font-weight-body: var(--font-weight-regular);

    --font-size-title: 8.8rem;
    --font-size-h1: 6.4rem;
    --font-size-h2: 4rem;
    --font-size-h3: 3.2rem;
    --font-size-h4: 2rem;
    --font-size-h5: 1.7rem;
    --font-size-tagline: 1.4rem;
    --font-size-body: 1.4rem;
    --font-size-body2: 1.2rem;
    --font-size-button: 1.2rem;

    --line-height-title: 1.1;
    --line-height-h1: 1.15;
    --line-height-h2: 1.25;
    --line-height-h3: 1.3;
    --line-height-h4: 1.45;
    --line-height-h5: 1.6;
    --line-height-tagline: 1.6;
    --line-height-body: 1.75;
    --line-height-body2: 1.85;
    --line-height-button: 1.6;

    --icon-size-4xs: 1rem;
    --icon-size-3xs: 1.2rem;
    --icon-size-2xs: 1.4rem;
    --icon-size-xs: 1.6rem;
    --icon-size-sm: 2rem;
    --icon-size-2sm: 2.4rem;
    --icon-size-md: 2.6rem;
    --icon-size-lg: 3rem;
    --icon-size-xl: 3.2rem;
    --icon-size-2xl: 3.6rem;
    --icon-size-3xl: 4rem;
    --icon-size-4xl: 4.8rem;

    --spacing-8xl: 16rem;
    --spacing-7xl: 14rem;
    --spacing-6xl: 12rem;
    --spacing-5xl: 10rem;
    --spacing-4xl: 8rem;
    --spacing-3xl: 7.2rem;
    --spacing-2xl: 6.4rem;
    --spacing-xl: 6rem;
    --spacing-4lg: 5.6rem;
    --spacing-3lg: 5rem;
    --spacing-2lg: 4.8rem;
    --spacing-lg: 4rem;
    --spacing-2md: 3.6rem;
    --spacing-md: 3rem;
    --spacing-2sm: 2.4rem;
    --spacing-sm: 2rem;
    --spacing-xs: 1.6rem;
    --spacing-2xs: 1.2rem;
    --spacing-3xs: 1rem;
    --spacing-4xs: 0.8rem;
    --spacing-5xs: 0.6rem;
    --spacing-6xs: 0.4rem;
    --spacing-7xs: 0.2rem;
    --container-max-width-xl: 188rem;
    --spacing-container: var(--spacing-4xl);
    --spacing-container-sm: var(--spacing-sm);
    --gap-section: var(--spacing-4xl);

    --hamburger-size: 2.6rem;
    --hamburger-line: 0.1rem;
    --hamburger-gap: 0.8rem;
    --hamburger-background: var(--color-white);
    --logo-height: 3.46rem;
    --header-height: 8.3rem;
    --footer-height: 0rem;
    --navi-height: 0;

    --border-width: 1px;
    --border-style: solid;
    --border-color: var(--color-theme);
    --border: var(--border-width) var(--border-style) var(--border-color);
    --border-light: var(--border-width) var(--border-style) rgba(var(--color-white-rgb), 0.2);

    --input-height: 5rem;
    --input-spacing-x: var(--spacing-md);
    --input-spacing-y: 0.3em;
    --input-border: var(--border-width) var(--border-style) var(--color-lime-light);

    --button-height: 4.9rem;
    --button-spacing-x: var(--spacing-md);
    --button-spacing-y: var(--spacing-3xs);

    --radius: 1rem;
    --radius-x2: 2rem;
    --opacity-overlay: 0.7;
    --opacity: 0.5;
    --opacity-light: 0.15;
    --duration: 0.3s;
    --duration-x2: 0.5s;
    --duration-x3: 1s;
    --duration-x4: 1.5s;
    --timing-function: ease;

    --glass-border: 0.05rem solid rgba(46, 229, 154, 0.2);
    --glass-bg: rgba(32, 43, 31, 0.5);
    --glass-shadow: 0 2px 6px 0 rgba(46, 229, 154, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1), inset 0 0 2px 1px rgba(255, 255, 255, 0.2);
    --glass-bg-green: rgba(46, 229, 154, 0.2);
}

html[lang="TH"]:root {
    --font-body: "Kanit", "Plus Jakarta Sans", sans-serif;

    --font-size-h1: 6.2rem;
    --font-size-h2: 4rem;
    --font-size-h3: 3.2rem;
    --font-size-h4: 2rem;
    --font-size-h5: 1.7rem;
    --font-size-tagline: 1.5rem;
    --font-size-body: 1.5rem;
    --font-size-body2: 1.3rem;
    --font-size-button: 1.3rem;

    --line-height-h1: 1.25;
    --line-height-h2: 1.25;
    --line-height-h3: 1.3;
    --line-height-h4: 1.45;
    --line-height-h5: 1.6;
    --line-height-tagline: 1.6;
    --line-height-body: 1.7;
    --line-height-body2: 1.85;
    --line-height-button: 1.85;
}

/* SITE ==================== */
/* GENERAL */
.no-scroll {
    height: 100% !important;
    overflow: hidden !important;
}
.c-black {
    color: var(--color-black) !important;
    --rgb: var(--color-black-rgb);
    --rgb-couple: var(--color-white-rgb);
    --filter: var(--filter-black);
}
.c-white {
    color: var(--color-white) !important;
    --rgb: var(--color-white-rgb);
    --rgb-couple: var(--color-black-rgb);
    --filter: var(--filter-white);
}
.c-theme {
    color: var(--color-theme) !important;
    --rgb: var(--color-theme-rgb);
    --rgb-couple: var(--color-theme-couple-rgb);
}
.c-bright-emerald {
    color: var(--color-bright-emerald) !important;
    --rgb: var(--color-bright-emerald-rgb);
    --rgb-couple: var(--color-bright-emerald-rgb);
}
.c-gray-green {
    color: var(--color-gray-green) !important;
    --rgb: var(--color-gray-green-rgb);
    --rgb-couple: var(--color-gray-green-rgb);
}
.c-sand-gray {
    color: var(--color-sand-gray) !important;
    --rgb: var(--color-sand-gray-rgb);
    --rgb-couple: var(--color-sand-gray-rgb);
}

.bg-black {
    background-color: var(--color-black) !important;
}
.bg-white {
    background-color: var(--color-white) !important;
}
.bg-theme {
    background-color: var(--color-theme) !important;
}

.filter-black {
    -webkit-filter: var(--filter-black) !important;
    filter: var(--filter-black) !important;
}
.filter-white {
    -webkit-filter: var(--filter-white) !important;
    filter: var(--filter-white) !important;
}
.filter-theme {
    -webkit-filter: var(--filter-theme) !important;
    filter: var(--filter-theme) !important;
}

.a-left {
    text-align: left !important;
}
.a-right {
    text-align: right !important;
}
.a-center {
    text-align: center !important;
}

.inline-block {
    display: inline-block !important;
}
.capitalize {
    text-transform: capitalize !important;
}
.uppercase {
    text-transform: uppercase !important;
}
.nowrap {
    white-space: nowrap !important;
}
.hidden {
    display: none !important;
}
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.overflow-hidden {
    overflow: hidden !important;
}

.media-wrapper {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

*:is(.object, .object-fit, .object-auto, .object-contain, .object-fill-height, .object-fill-width) {
    text-decoration: none !important;
    box-shadow: none !important;
    background-image: none !important;
    display: block;
    overflow: hidden;
    position: relative;
    height: 100%;
}
.object-auto {
    height: auto;
}

.object > *:is(img, video, iframe) {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: auto;
}

.object-fit > *:is(img, video, iframe) {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.object-auto > *:is(img, video, iframe) {
    display: block;
    margin: 0 auto;
    width: auto;
    height: auto;
}

.object-contain > *:is(img, video, iframe) {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

.object-fill-height > *:is(img, video, iframe) {
    display: block;
    margin: 0 auto;
    width: auto;
    height: 100%;
}

.object-fill-width > *:is(img, video, iframe) {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: auto;
}

.aspect-ratio-1 {
    aspect-ratio: 1 / 1;
}

.aspect-ratio-4-3 {
    aspect-ratio: 4 / 3;
}

.aspect-ratio-3-2 {
    aspect-ratio: 3 / 2;
}

.aspect-ratio-16-9 {
    aspect-ratio: 16 / 9;
}

.aspect-ratio-1-2 {
    aspect-ratio: 1 / 2;
}

.aspect-ratio-2-3 {
    aspect-ratio: 2 / 3;
}

.aspect-ratio-3-4 {
    aspect-ratio: 3 / 4;
}

.social {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-3xs);
    line-height: 1;
}
.social a {
    display: block;
    text-decoration: none;
    background: none;
    box-shadow: none;
}

html.no-touchevents .social a:hover .ic::before {
    color: var(--color-theme);
}

.social .glass-effect {
    border-radius: 50%;
    min-width: 4rem;
    min-height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

html.no-touchevents .social .glass-effect:hover {
    --glass-border: 0.357px solid rgba(46, 229, 154, 0.5);
    --glass-shadow: 0 1.429px 5.714px 0 rgba(46, 229, 154, 0.35);
}
.social .ic {
    display: block;
    padding: 1px;
    margin: -1px;
    font-size: var(--icon-size-xs);
    padding: var(--spacing-2xs);
    border-radius: 50%;
    position: relative;
    z-index: 5;
}

ul.social li > a > .ic::before {
    color: var(--color-white);
}

.padding-top-0 {
    padding-top: 0 !important;
}

.padding-bottom-0 {
    padding-bottom: 0 !important;
}

.padding-x-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.padding-y-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.padding-0 {
    padding: 0 !important;
}

.margin-top-0 {
    margin-top: 0 !important;
}

.margin-bottom-0 {
    margin-bottom: 0 !important;
}

.margin-x-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.margin-y-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.margin-0 {
    margin: 0 !important;
}

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

::-webkit-scrollbar {
    width: 0;
    overflow: hidden;
}

::-moz-selection {
    background: var(--color-theme);
    color: var(--color-white);
}
::selection {
    background: var(--color-theme);
    color: var(--color-white);
}
.bg-theme ::-moz-selection {
    background: var(--color-white);
    color: var(--color-theme);
}
.bg-theme ::selection {
    background: var(--color-white);
    color: var(--color-theme);
}

article,
aside,
figcaption,
figure,
picture,
footer,
header,
hgroup,
main,
nav,
section,
dl,
dd {
    display: block;
    margin: 0;
}
html {
    font-family: sans-serif;
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@view-transition {
    navigation: auto;
}
body {
    margin: 0;
    position: relative;
    min-height: 100svh;
    overflow-x: hidden;
    background: var(--color-body-black);
    color: var(--color-body);
    -webkit-animation-name: pageAnimation;
    animation-name: pageAnimation;
    -webkit-animation-duration: var(--duration-x3);
    animation-duration: var(--duration-x3);
    -webkit-animation-timing-function: var(--timing-function);
    animation-timing-function: var(--timing-function);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    will-change: opacity;
}
@-webkit-keyframes pageAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes pageAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin-block-start: 0;
    margin-block-end: 0;
}
p {
    margin: 0;
}
small {
    font-size: 88.8888888889%;
}
address {
    font-style: normal;
}
ul,
ol {
    list-style: none;
}
ul,
ol,
li {
    margin: 0;
    padding: 0;
}
a {
    color: inherit;
}
a,
a:hover,
a:focus {
    outline: 0;
    text-decoration: none;
    box-shadow: none;
}
a[href^="tel"] {
    white-space: nowrap;
}
a[href^="mailto"] {
    word-break: break-word;
}
a,
button,
[role="button"] {
    cursor: pointer;
}
button,
input,
textarea,
select {
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: 0;
    border: 0;
    background: none;
    padding: 0;
    margin: 0;
    min-width: 0;
    font: inherit;
    line-height: normal;
    text-transform: inherit;
    text-align: inherit;
    letter-spacing: inherit;
    text-indent: inherit;
    color: inherit;
}
fieldset {
    border: 0 !important;
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
img {
    border: 0;
    outline: 0;
    height: auto;
    width: auto;
    max-width: 100%;
    vertical-align: middle;
}
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
th,
td {
    padding: 0;
    font-weight: inherit;
}
hr {
    margin: 0;
    border: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--border-color);
}
iframe {
    border: 0;
}
[tabindex="-1"]:focus {
    outline: 0 !important;
}
script {
    margin: 0 !important;
}

html.resizing * {
    transition: none !important;
}

/* TEXT ==================== */
body {
    font-family: var(--font-body);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
strong {
    font-weight: var(--font-weight-bold);
}

.font-body {
    font-family: var(--font-body) !important;
}
.font-heading {
    font-family: var(--font-heading) !important;
}

.style-italic {
    font-style: italic !important;
}
.font-heading.style-italic {
    padding: 0.16em;
    margin: -0.16em;
}

.weight-light {
    font-weight: var(--font-weight-light) !important;
}
.weight-regular {
    font-weight: var(--font-weight-regular) !important;
}
.weight-medium {
    font-weight: var(--font-weight-medium) !important;
}
.weight-semibold {
    font-weight: var(--font-weight-semibold) !important;
}
.weight-bold {
    font-weight: var(--font-weight-bold) !important;
}
.weight-black {
    font-weight: var(--font-weight-black) !important;
}

.size-icon-4xs {
    font-size: var(--icon-size-4xs) !important;
}
.size-icon-3xs {
    font-size: var(--icon-size-3xs) !important;
}
.size-icon-2xs {
    font-size: var(--icon-size-2xs) !important;
}
.size-icon-xs {
    font-size: var(--icon-size-xs) !important;
}
.size-icon-sm {
    font-size: var(--icon-size-sm) !important;
}
.size-icon-2sm {
    font-size: var(--icon-size-2sm) !important;
}
.size-icon-md {
    font-size: var(--icon-size-md) !important;
}
.size-icon-lg {
    font-size: var(--icon-size-lg) !important;
}
.size-icon-xl {
    font-size: var(--icon-size-xl) !important;
}
.size-icon-2xl {
    font-size: var(--icon-size-2xl) !important;
}
.size-icon-3xl {
    font-size: var(--icon-size-3xl) !important;
}
.size-icon-4xl {
    font-size: var(--icon-size-4xl) !important;
}

.size-title {
    font-size: var(--font-size-title) !important;
    line-height: var(--line-height-title);
    font-family: var(--font-en);
    letter-spacing: -0.088rem;
}
.size-h1 {
    font-size: var(--font-size-h1) !important;
    line-height: var(--line-height-h1);
    letter-spacing: -0.128rem;
    font-weight: var(--font-weight-regular);
}
.size-h2 {
    font-size: var(--font-size-h2) !important;
    line-height: var(--line-height-h2);
    font-weight: var(--font-weight-regular);
}
.size-h3 {
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-h3);
    font-weight: var(--font-weight-regular);
}
.size-h4 {
    font-size: var(--font-size-h4) !important;
    line-height: var(--line-height-h4);
    font-weight: var(--font-weight-medium);
}
.size-h5 {
    font-size: var(--font-size-h5) !important;
    line-height: var(--line-height-h5);
    font-weight: var(--font-weight-semibold);
}
.size-tagline {
    font-size: var(--font-size-tagline) !important;
    line-height: var(--line-height-tagline) !important;
    font-weight: var(--font-weight-bold);
}
.size-body {
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-body) !important;
    font-weight: var(--font-weight-regular);
}
.size-body2 {
    font-size: var(--font-size-body2) !important;
    line-height: var(--line-height-body2) !important;
    font-weight: var(--font-weight-regular);
}
.size-button {
    font-size: var(--font-size-button) !important;
    line-height: var(--line-height-button) !important;
    font-weight: var(--font-weight-semibold);
}
html[lang="TH"] {
    #header .submenu-list {
        font-family: var(--font-th);
    }
    .size-title {
        font-family: var(--font-th);
    }
    .size-h1 {
        font-weight: var(--font-weight-light);
    }
    .size-h2 {
        font-weight: var(--font-weight-light);
    }
    .size-h3 {
        font-weight: var(--font-weight-light);
    }
    .size-h4 {
        font-weight: var(--font-weight-regular);
    }
    .size-h5 {
        font-weight: var(--font-weight-regular);
    }
    .size-tagline {
        font-weight: var(--font-weight-medium);
    }
    .size-body {
        font-weight: var(--font-weight-light);
    }
    .size-body2 {
        font-weight: var(--font-weight-light);
    }
    .size-button {
        font-weight: var(--font-weight-regular);
    }
}

/* TRANSITION ====================*/
img,
a,
button,
[role="button"],
input,
textarea,
select,
.select2-selection__placeholder,
.select2-results__option,
.label.anim,
.button,
.ctrl,
.explore,
.container,
.object,
.object-fit,
.bg-img,
.tab-content,
.tabdata-content,
.ic:before,
*[class*="swiper-button-"] {
    transition: var(--duration) var(--timing-function);
}

/* CTAs ====================*/
html.no-touchevents a:hover {
    color: var(--color-active);
}

.link-overlay {
    font-size: 0;
    opacity: 0;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute !important;
    z-index: 10 !important;
    top: 0;
    left: 0;
    pointer-events: auto;
    margin: 0 !important;
}

.link-block {
    display: block;
    position: relative;
    z-index: 1;
}

*:is(.button, .wp-element-button, .wp-block-button__link) {
    --button-border: var(--glass-border);
    --button-hover-border: 0.357px solid rgba(46, 229, 154, 0.5);
    --button-bg: var(--glass-bg-green);
    --button-hover-bg: rgba(46, 229, 154, 0.5);
    --button-color: var(--color-white);
    --button-hover-color: var(--color-white);
    --button-box-shadow: 0 1.429px 4.286px 0 rgba(46, 229, 154, 0.35);
    --button-box-shadow-hover: 0 1.429px 5.714px 0 rgba(46, 229, 154, 0.35);
    text-decoration: none !important;
    box-shadow: none !important;
    margin: 0;
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-3xs);
    vertical-align: top;
    white-space: normal;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    min-width: 15rem;
    width: fit-content;
    max-width: 100%;
    height: var(--button-height);
    min-height: 0;
    max-height: none;
    padding: var(--spacing-sm) var(--spacing-2sm) !important;
    opacity: 1 !important;
    color: var(--button-color) !important;
    border: var(--glass-border) !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 10rem !important;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-button);
    line-height: var(--line-height-button);
    text-align: center;
    transition: var(--duration) var(--timing-function);
    text-transform: capitalize;
    cursor: pointer;
}

*:is(.button, .wp-element-button, .wp-block-button__link) > span {
    position: relative;
    z-index: 5;
}

*:is(.button, .wp-element-button, .wp-block-button__link):not(.secondary).glass-effect::after {
    background: var(--glass-bg-green);
}

.button.on-bg-light {
    --glass-border: 0.357px solid #2ee59a;
    --glass-bg-green: linear-gradient(0deg, rgba(157, 246, 209, 0.2) 0%, rgba(255, 255, 255, 0.2) 115.7%);
    --glass-shadow: 0 1.429px 4.286px 0 rgba(46, 229, 154, 0.35);
    --button-color: #0fd483;
    --button-hover-color: #0fd483;
    background: var(--glass-bg-green) !important;
}

html.no-touchevents .button.on-bg-light:hover {
    --glass-border: 0.357px solid #0ccc7d;
    --glass-bg-green: linear-gradient(335deg, rgba(46, 229, 154, 0.2) 14.2%, rgba(255, 255, 255, 0.2) 84.26%);
}

html.no-touchevents *:is(.button, .wp-element-button, .wp-block-button__link):hover {
    color: var(--button-hover-color) !important;
    --glass-bg-green: rgba(46, 229, 154, 0.5);
    --glass-border: 0.357px solid rgba(46, 229, 154, 0.5);
    --glass-shadow: 0 1.429px 5.714px 0 rgba(46, 229, 154, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1), inset 0 0 4px 2px rgba(255, 255, 255, 0.2);
}

*:is(.button, .wp-element-button, .wp-block-button__link).secondary {
    background: transparent !important;
    --glass-bg: transparent;
    --glass-shadow: 0 2px 6px 0 rgba(46, 229, 154, 0.35);
}

html.no-touchevents *:is(.button, .wp-element-button, .wp-block-button__link).secondary:hover {
    color: var(--color-bright-emerald) !important;
    --glass-border: 0.357px solid rgba(46, 229, 154, 0.5);
    --glass-shadow: 0 1.429px 5.714px 0 rgba(46, 229, 154, 0.35);
}

.underline-hover {
    --hover-rgb: var(--color-black-rgb);
    --rgb: var(--color-black-rgb);
    display: inline-block;
    position: relative;
}

.underline-hover::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0.1rem;
    background-color: rgba(var(--rgb), 1);
    transition: var(--duration) var(--timing-function);
}

html.no-touchevents .underline-hover:hover {
    color: rgba(var(--hover-rgb), 1);
}
html.no-touchevents .underline-hover:hover::before {
    width: 100%;
}

.underline {
    --rgb: var(--color-white-rgb);
    text-decoration: underline;
    text-decoration-color: rgba(var(--rgb), 1);
    text-decoration-thickness: 0.1rem;
    text-underline-offset: 0.1rem;
    transition: text-decoration-color var(--duration) var(--timing-function);
}

/* GENERAL ====================*/
.ic,
.ic-name {
    display: inline-block;
}
.ic > img {
    display: inline-block;
    vertical-align: top;
    width: auto;
    height: 1em;
}
*[class*="ic-"] + *[class*="ic-"] {
    margin-left: var(--spacing-2xs);
}
.ic:before {
    display: inline-block;
}
.ic-youtube:before,
.ic-envelope:before {
    transform: scale(1.25);
    display: block;
    margin: 0 0.2em;
}
.brand {
    text-decoration: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    display: inline-block;
    vertical-align: top;
    line-height: 1;
}
.brand .logo {
    display: inline-block;
    vertical-align: top;
    height: var(--logo-height);
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

.lang ul {
    display: inline-flex;
    vertical-align: top;
    align-items: baseline;
}
.lang ul > li:not(:last-child, :empty):after {
    content: "|";
    margin: 0 0.5em;
}
.lang ul > li > a.active {
    color: var(--color-active);
}

html.no-touchevents .lang ul > li > a:not(.active):hover {
    opacity: var(--opacity);
}

/*CONTENT====================*/
.entry-content {
    --gap-row: var(--spacing-lg);
    --gap-column: var(--spacing-lg);
    --gap-content: var(--spacing-lg);
    width: 100%;
}
.entry-content :is(h1, h2, h3, h4, h5, h6) {
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-semibold);
    font-size: inherit;
    line-height: inherit;
    letter-spacing: normal;
}

.entry-content .has-small-font-size {
    font-size: 1.3rem !important;
    line-height: 1.6;
}
.entry-content :is(h6, .has-normal-font-size, .has-regular-font-size) {
    font-size: 1.4rem !important;
    line-height: 1.6;
    font-weight: var(--font-weight-bold);
}
.entry-content :is(h5, .has-medium-font-size) {
    font-size: 1.7rem !important;
    line-height: 1.6;
    font-weight: var(--font-weight-semibold);
}
.entry-content :is(h4, .has-large-font-size, .has-larger-font-size) {
    font-size: 2rem !important;
    line-height: 1.45;
    font-weight: var(--font-weight-medium);
}
.entry-content :is(h3, .has-x-large-font-size) {
    font-size: 2.4rem !important;
    line-height: 1.6;
    font-weight: var(--font-weight-medium);
}
.entry-content :is(h2, .has-xx-large-font-size) {
    font-size: 2.8rem !important;
    line-height: 1.4;
    font-weight: var(--font-weight-regular);
}
.entry-content :is(h1, .has-huge-font-size) {
    font-size: 3.2rem !important;
    line-height: 1.3;
    font-weight: var(--font-weight-regular);
}
.entry-content a {
    text-decoration: underline;
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.6;
}

html[lang="TH"] {
    .entry-content .has-small-font-size {
        font-size: 1.3rem !important;
        line-height: 1.6;
    }
    .entry-content :is(h6, .has-normal-font-size, .has-regular-font-size) {
        font-size: 1.5rem !important;
        line-height: 1.6;
        font-weight: var(--font-weight-medium);
    }
    .entry-content :is(h5, .has-medium-font-size) {
        font-size: 1.7rem !important;
        line-height: 1.6;
        font-weight: var(--font-weight-regular);
    }
    .entry-content :is(h4, .has-large-font-size, .has-larger-font-size) {
        font-size: 2rem !important;
        line-height: 1.45;
        font-weight: var(--font-weight-regular);
    }
    .entry-content :is(h3, .has-x-large-font-size) {
        font-size: 2.4rem !important;
        line-height: 1.6;
        font-weight: var(--font-weight-regular);
    }
    .entry-content :is(h2, .has-xx-large-font-size) {
        font-size: 2.6rem !important;
        line-height: 1.4;
        font-weight: var(--font-weight-light);
    }
    .entry-content :is(h1, .has-huge-font-size) {
        font-size: 3.2rem !important;
        line-height: 1.3;
        font-weight: var(--font-weight-light);
    }
    .entry-content a {
        font-size: 1.3rem;
        line-height: 1.85;
    }

    .entry-content p {
        font-weight: var(--font-weight-light);
    }
}
.entry-content p {
    margin: 0;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: normal;
    color: inherit;
}
.entry-content ul {
    margin: 0;
    padding: 0;
    list-style-type: disc;
    padding-left: 1.05em;
}
.entry-content ol {
    margin: 0;
    padding: 0;
    list-style-type: decimal;
    list-style-position: inside;
}

.entry-content > :is(h1, h2, h3, h4, h5, h6):not(:first-child) + * {
    margin-top: calc(var(--gap-content) / 4);
}

.entry-content > p:not(:first-child) + *:is(ol, ul) {
    margin-top: 0;
}

.entry-content strong {
    font-weight: var(--font-weight-regular);
    color: var(--color-theme);
}

.entry-content .is-layout-flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: unset;
    grid-gap: var(--gap-row);
}

.entry-content :is(.wp-block-image, .wp-block-video) :is(img, video) {
    margin: 0;
    height: auto;
    max-height: none;
    max-width: 100%;
    overflow: hidden;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.entry-content :is(.wp-block-image, .wp-block-video).size-medium :is(img, video) {
    max-width: min(60rem, 100%);
    max-height: min(40rem, calc(100vh - var(--header-height)));
}

.entry-content :is(.wp-block-image, .wp-block-video).size-full {
    width: calc(100vw - 2 * var(--spacing-container-sm));
    margin-left: calc(50% - 50vw + var(--spacing-container-sm));
    margin-right: calc(50% - 50vw + var(--spacing-container-sm));
}

.entry-content :is(.wp-block-image, .wp-block-video).size-full :is(img, video) {
    width: 100%;
}

.entry-content .wp-block-embed .wp-block-embed__wrapper {
    position: relative;
}
.entry-content .wp-block-embed .wp-block-embed__wrapper:before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 56.25%;
}
.entry-content .wp-block-embed .wp-block-embed__wrapper > * {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
}

.entry-content [class*="wp-block"] figcaption {
    font-style: normal;
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body);
    color: var(--color-body-black);
}

.entry-content > *,
.entry-content :is([class*="wp-block-"], figcaption) {
    margin: 0;
}
.entry-content > *:not(:first-child),
*:is(.wp-block-group, .wp-block-column, .wp-block-quote) > *:not(:first-child) {
    margin-top: var(--gap-content);
}
[class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column) + *:not(:first-child),
* + [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column):not(:first-child) {
    margin-top: var(--gap-row);
}
.entry-content li:not(:first-child),
.entry-content br + *:not(:first-child),
.entry-content [class*="wp-block-"] br + *:not(:first-child),
.entry-content [class*="wp-block-"] figcaption:not(:first-child) {
    margin-top: var(--gap-content-xs);
}

.entry-content .wp-block-columns {
    grid-gap: var(--gap-row) var(--gap-column);
}
.entry-content .wp-block-columns > * {
    margin: 0;
}

.entry-content [class*="wp-block"].aligncenter {
    margin-left: auto;
    margin-right: auto;
}

/* HAMBURGER ====================*/
.hamburger {
    position: relative;
    display: block;
    width: auto;
    height: auto;
    line-height: 1;
}
.hamburger .bars {
    display: block;
    width: var(--hamburger-size);
    height: var(--hamburger-size);
    position: relative;
    transform: rotate(0deg);
    transition: var(--duration) var(--timing-function);
    cursor: pointer;
}
.hamburger .bars > .bar {
    display: block;
    position: absolute;
    width: 100%;
    height: var(--hamburger-line);
    background: rgba(var(--rgb), 1);
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: var(--duration) var(--timing-function);
}
.hamburger .bars > .bar:nth-child(1) {
    top: calc((var(--hamburger-size) / 4) - (var(--hamburger-line) / 2));
}
.hamburger .bars > .bar:is(:nth-child(2), :nth-child(3)) {
    top: calc((var(--hamburger-size) / 2) - (var(--hamburger-line) / 2));
}
.hamburger .bars > .bar:nth-child(4) {
    left: auto;
    right: 0;
    width: calc(var(--hamburger-size) - 1rem);
    top: calc((var(--hamburger-size) / 4) * 3 - (var(--hamburger-line) / 2));
}
.active > .hamburger .bars > .bar:is(:nth-child(1), :nth-child(4)) {
    top: calc((var(--hamburger-size) / 2) - (var(--hamburger-line) / 2));
    left: 50%;
    width: 0%;
}
.active > .hamburger .bars > .bar:nth-child(2) {
    transform: rotate(45deg);
}
.active > .hamburger .bars > .bar:nth-child(3) {
    transform: rotate(-45deg);
}

/* FORM  ====================*/
*:is(input, textarea, select) {
    background: none;
    border-radius: 10rem;
    border: 0.5px solid rgba(46, 229, 154, 0.4);
    font-family: var(--font-body);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-body2);
    line-height: var(--line-height-body2);
    text-transform: inherit;
    text-align: left;
    letter-spacing: inherit;
    text-indent: inherit;
    color: var(--color-white);
    display: block;
    width: 100%;
    height: var(--input-height);
    padding: var(--input-spacing-y) var(--input-spacing-x);
    padding-top: var(--spacing-3xs);
}

textarea {
    --height: calc(var(--input-height) * 2);
    resize: none;
    display: block;
    overflow: auto;
    width: 100% !important;
    min-width: 100%;
    max-width: 100%;
    min-height: var(--height);
}

.checkbox {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-5xs);
}

.checkbox input[type="checkbox"] {
    --input-height: 20px;
    box-shadow: unset;
    border: none;
    background: none;
    padding: inherit;
    margin: unset;
    min-width: unset;
    font: inherit;
    line-height: normal;
    text-align: center;
    width: unset;
    font: inherit;
    color: currentColor;
    width: 1em;
    height: 1em;
    border: 0.05em solid currentColor;
    border-radius: 0.15em;
    display: grid;
    place-content: center;
}

input[type="checkbox"]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    transform-origin: center;
    box-shadow: inset 1em 1em var(--color-black);
    clip-path: polygon(16% 48%, 10% 60%, 48% 90%, 92% 20%, 80% 10%, 45% 70%);
}

input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.input-file {
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-3xs);
    z-index: 0;
}

.input-file .file-label .subttl {
    font-size: var(--font-size-description);
    line-height: var(--line-height-description);
    font-weight: var(--font-weight-regular);
}

.input-file .file-upload-wrapper {
    display: flex;
    grid-gap: var(--spacing-4xs);
    align-items: center;
}

.input-file .file-upload-button {
    padding: var(--spacing-xs) var(--spacing-xs);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-regular);
}

.input-file .file-upload-placeholder {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 1;
}

.input-file .file-upload-placeholder .header {
    display: flex;
    grid-gap: var(--spacing-5xs);
    font-size: var(--font-size-description);
    line-height: var(--line-height-description);
    align-items: center;
}

.input-file .file-upload-placeholder .header .cancel-upload {
    margin-left: auto;
    width: var(--spacing-sm);
    aspect-ratio: 1;
    font-size: var(--font-size-description);
    line-height: 1;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
}

.input-file .file-upload-placeholder .file-progress {
    width: 100%;
    border-radius: 0;
    height: 0.2rem;
    margin-top: var(--spacing-5xs);
    background-color: var(--color-white);
}

.input-file .file-upload-placeholder .file-progress {
    -webkit-appearance: none;
    appearance: none;
    border: none;
    mask-image: radial-gradient(white, white);
    -webkit-mask-image: radial-gradient(white, white);
}

.input-file .file-upload-placeholder .file-progress::-webkit-progress-bar {
    background-color: var(--color-white) !important;
}

.input-file .file-upload-placeholder .file-progress::-webkit-progress-value {
    background-color: var(--color-theme);
}

.input-file .custom-file-upload.filled .file-upload-placeholder .file-description {
    display: none;
}

/* SELECT */
.select {
    position: relative;
}
.select select {
    line-height: normal;
    padding-right: var(--input-height);
    text-overflow: "";
    cursor: pointer;
}
.select:after {
    font-family: "iconfont";
    content: "\e90c";
    font-size: var(--icon-size-xs);
    font-weight: normal;
    line-height: 1;
    color: inherit;
    vertical-align: top;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-right: var(--input-spacing-x);
    width: var(--input-height);
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}
.select2-parent:after {
    display: none !important;
}
.select2-rendered__match {
    text-decoration: underline;
}
.select2-close-mask {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: auto;
    opacity: 0;
    z-index: 98;
    background-color: #fff;
    filter: alpha(opacity=0);
}
.select2-hidden-accessible {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}
.select2-container {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
}
.select2-dropdown {
    --color-active: var(--color-black);
    box-sizing: border-box;
    display: block;
    width: 100%;
    position: absolute;
    z-index: 1051;
    left: -100000px;
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body) !important;
    color: var(--color-middark) !important;
    background: var(--color-white) !important;
    border: var(--input-border) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    transition: none;
}
.select2-container--open .select2-dropdown {
    left: 0;
}
.select2-container--open .select2-dropdown--below {
    margin: -1px 0 0;
}
.select2-container--open .select2-dropdown--above {
    /*top*/
    margin: 0;
}
.select2-results {
    display: block;
}
.select2-results__options {
    list-style: none;
    margin: 0;
    padding: var(--spacing-sm) var(--spacing-2sm);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    text-align: left;
}
.select2-results__option {
    padding: 0;
}
.select2-results__option:not(:last-child) {
    margin-bottom: var(--spacing-xs);
}
.select2-results__option[aria-selected] {
    cursor: pointer;
}
.select2-results__option:not([id]) {
    margin: 0;
}
.select2-search--dropdown {
    display: block;
    padding: var(--spacing-sm);
}
.select2-search--dropdown .select2-search__field {
    padding: 7px 15px 8px;
    width: 100%;
    box-sizing: border-box;
}
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
}
.select2-search--dropdown.select2-search--hide {
    display: none;
}
.select2-container--default .select2-selection--single {
    outline: 0;
    padding: 0;
    display: block;
    width: 100%;
    height: var(--input-height);
    color: inherit;
    background: none;
    border: 0;
    border-bottom: var(--input-border);
    border-radius: 0;
    transition: none;
    overflow: hidden;
    cursor: pointer;
    font-weight: var(--font-weight-regular);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    display: block;
    padding: var(--input-spacing-y) var(--input-spacing-x);
    padding-right: var(--input-height);
    height: 100%;
    line-height: calc(var(--input-height) - var(--input-spacing-y) * 2);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: inherit;
}
.select2-container--default .select2-selection--single .select2-selection__rendered[title] {
    background-color: transparent;
}
.select2-container--default .select2-selection--single .select2-selection__clear {
    position: relative;
    cursor: pointer;
    float: right;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--color-theme);
    opacity: 1;
}
.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container--default .select2-selection--single .select2-selection__clear {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 1;
    display: block;
    width: calc(var(--input-height) / 2);
    height: 100%;
    font-size: 0;
    text-align: center;
    color: inherit;
    cursor: pointer;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: 0;
    margin: 0;
    position: static;
    top: auto;
    left: auto;
    display: block;
    width: 100%;
    height: 100%;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b:before,
.select2-container--default .select2-selection--single .select2-selection__clear:before {
    font-family: "iconfont";
    font-size: var(--icon-size-xs);
    font-weight: normal;
    line-height: 1;
    vertical-align: top;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-right: var(--input-spacing-x);
    text-align: center;
    width: 100%;
    height: 100%;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: "\e90c";
}
.select2-container--default .select2-selection--single .select2-selection__clear:before {
    content: "\e900";
}
.select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: #eee;
    cursor: default;
}
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none;
}
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
    display: none;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border: 0;
}
/* .select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
} */
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--border-color);
}
.select2-container--default .select2-search--inline {
    float: left;
}
.select2-container--default .select2-search--inline .select2-search__field {
    -webkit-appearance: textfield;
    box-sizing: border-box;
    box-shadow: none;
    background: none;
    border: none;
    padding: 0;
    outline: 0;
    font-size: 100%;
    margin-top: 5px;
}
.select2-container--default .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
}
.select2-container--default .select2-results > .select2-results__options {
    max-height: 30vh;
    overflow-y: auto;
}
.select2-container--default .select2-results__option span {
    display: inline;
    font-weight: inherit;
    transition: var(--duration) var(--timing-function);
}
.select2-container--default .select2-results__option[role="group"] {
    padding: 0;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: none;
    color: inherit;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] span {
    color: var(--color-active);
}
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
    font-weight: inherit;
    text-decoration: none;
    background: none;
    color: inherit;
}
.select2-container--default .select2-results__option[aria-selected="true"] span {
    box-shadow: var(--cta-shadow);
}
.select2-container--default .select2-results__option[aria-disabled="true"] {
    background: none !important;
    color: inherit !important;
    opacity: var(--opacity-light) !important;
    pointer-events: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
.select2-container--default .select2-results__group {
    display: block;
    padding: 0;
    cursor: default;
}

/* CHECKBOX & RADIO */
.choice {
    position: relative;
    display: flex;
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    line-height: inherit;
    letter-spacing: normal;
    text-transform: none;
}
.choice > span {
    position: relative;
    display: inline-block;
    -webkit-touch-callout: none;
}
.choice > input {
    position: absolute;
    z-index: -1000;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    background: none;
}
.choice input + span {
    display: inline-block;
    vertical-align: baseline;
    text-align: left;
    padding-left: 3rem;
    line-height: inherit;
    min-width: 1em;
    min-height: 1em;
    height: auto;
    cursor: pointer;
}
.choice input + span:before,
.choice input + span:after {
    --rgb: var(--color-sand-gray);
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 0;
    color: rgba(var(--rgb), 1);
    line-height: 1;
    margin: 0;
    position: absolute;
    left: 0;
    top: 0.25em;
}
.choice input + span:before {
    background: none;
    border: 1px solid var(--color-white);
    transition: border-color var(--duration) var(--timing-function);
}
.choice input + span:after {
    top: 0.6rem;
    left: 0.35rem;
    transform-origin: center center;
    transform: scale(0.65);
    opacity: 0;
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 1px;
    transition: var(--duration) var(--timing-function);
}
.choice input:checked + span:after {
    opacity: 1;
    transform: scale(1);
    background-color: var(--color-theme);
}
.choice input:checked + span:before {
    border-color: var(--color-theme);
}
.choice input[type="radio"] + span:before,
.choice input[type="radio"] + span:after {
    border-radius: 50%;
}
.choice-container {
    display: grid;
    grid-template-columns: 100%;
    grid-gap: var(--spacing-xs);
}
.label:not(.anim) + *[class*="choice"] {
    margin-top: var(--spacing-sm);
}

.fields {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--spacing-2xs) var(--spacing-3xs);
}
.field {
    position: relative;
    width: 100%;
}
.field.focusin {
    z-index: 2;
}

.label {
    padding: 0;
    border: 0;
    border-radius: 0;
    position: relative;
    display: block;
    font-family: var(--font-body);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-body2);
    line-height: var(--line-height-body2);
    text-transform: none;
    color: var(--color-white);
    opacity: 1;
}
.c-white .label {
    color: inherit;
}
.label:not(.anim):not(:last-child) {
    margin-bottom: var(--spacing-2xs);
}
.label a {
    box-shadow: var(--cta-shadow);
}
.label.anim {
    height: auto;
    width: 100%;
    max-width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    position: absolute;
    z-index: 1;
    left: 0;
    top: calc(var(--input-height) / 2);
    transform: translateY(-50%);
    padding: 0 var(--input-spacing-x);
    pointer-events: none;
}
.label.anim:not(.fixed) {
    transition-property: opacity, visibility;
}
.input.filled .label.anim:not(.fixed) {
    opacity: 0;
    visibility: hidden;
}
.input:has(*:-internal-autofill-selected) .label.anim:not(.fixed) {
    opacity: 0;
    visibility: hidden;
}

.input.filled .label.anim.fixed {
    top: 20%;
    padding: 0 var(--input-spacing-x);
    transform: translateY(-50%);
    font-size: calc(var(--font-size-body2) * 0.75);
    line-height: var(--line-height-body2);
    opacity: var(--opacity);
}
.input:has(*:-internal-autofill-selected) .label.anim.fixed {
    top: 0;
    padding: 0;
    transform: translateY(-50%);
    font-size: var(--font-size-body-sub);
    opacity: var(--opacity);
}

.input {
    position: relative;
    text-align: left;
}

.input .entry-title {
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
}
.input .entry-title:not(:last-child) {
    margin-bottom: var(--spacing-2sm);
}

.input.with-cta .cta {
    margin: 0;
    position: absolute;
    z-index: 3;
    right: 0;
    top: calc(var(--input-height) / 2);
    transform: translateY(-50%);
}
.input input:-internal-autofill-selected,
.input textarea:-internal-autofill-selected,
.input select:-internal-autofill-selected {
    color: inherit;
}
.input input:disabled,
.input textarea:disabled,
.input select:disabled,
.select2-container--default.select2-container--disabled .select2-selection--single {
    cursor: default;
    opacity: 0.1;
}
.input input[type="checkbox"]:disabled,
.input input[type="radio"]:disabled {
    background-color: transparent;
}
.input :-ms-input-placeholder {
    font-size: var(--font-size-body) !important;
    font-weight: var(--font-weight-regular) !important;
    font-style: normal !important;
    text-transform: none !important;
    color: rgba(var(--color-body-black-rgb), 0.5) !important;
    opacity: 1 !important;
}
.input ::-webkit-input-placeholder {
    font-size: var(--font-size-body) !important;
    font-weight: var(--font-weight-regular) !important;
    font-style: normal !important;
    text-transform: none !important;
    color: rgba(var(--color-body-black-rgb), 0.5) !important;
    opacity: 1 !important;
}
.input ::-moz-placeholder {
    font-size: var(--font-size-body) !important;
    font-weight: var(--font-weight-regular) !important;
    font-style: normal !important;
    text-transform: none !important;
    color: rgba(var(--color-body-black-rgb), 0.5) !important;
    opacity: 1 !important;
}
.input ::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}
.input ::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 0;
}
input::-webkit-contacts-auto-fill-button {
    display: none !important;
    visibility: hidden;
    pointer-events: none;
}
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    box-shadow: 0 0 0px 1000px #fff inset;
    -webkit-transition: 5000s ease 0s;
    transition: 5000s ease 0s;
}
input[type="number"] {
    -moz-appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* FORM:UPLOAD FILE ====================*/

/* PLUGIN:POPUP ====================*/

/* PLUGIN:SLIDER ====================*/
.swiper {
    width: 100%;
}
.swiper-wrapper {
    will-change: transform;
}
.swiper-slide {
    width: 100% !important;
}

*[class*="swiper-button-"] {
    z-index: 10;
    outline: none;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    color: inherit;
    background: none;
    border-radius: 0;
    overflow: visible;
    line-height: 1;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
}
.swiper-button-next {
    right: 0;
}
.swiper-button-prev {
    left: 0;
}
*[class*="swiper-button-"]:after {
    position: relative;
    font-family: "iconfont";
    font-weight: normal;
    font-size: var(--icon-size-sm);
    color: var(--color-theme);
    opacity: 1;
    transition: var(--duration) var(--timing-function);
}
.swiper-button-prev:after {
    content: "\e90d";
}
.swiper-button-next:after {
    content: "\e90e";
}
.swiper-button-disabled {
    opacity: var(--opacity-light) !important;
    pointer-events: auto !important;
}
.swiper-button-lock {
    display: none !important;
}

.swiper-pagination {
    --rgb: var(--color-white-rgb);
    line-height: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: var(--spacing-6xs);
    pointer-events: none;
}
.swiper-horizontal > .swiper-pagination-bullets {
    bottom: var(--spacing-3xs);
    left: 50%;
    width: fit-content;
    transform: translateX(-50%);
}

.swiper-pagination.a-center {
    justify-content: center;
}
.swiper-pagination-bullet {
    outline: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    font-size: 0;
    display: block;
    width: 0.5rem;
    height: 0.2rem;
    border-radius: 0;
    background: rgba(var(--rgb), 0.5);
    overflow: hidden;
    position: relative;
    transition: var(--duration) var(--timing-function);
    pointer-events: auto;
}
.swiper-pagination-bullet-active {
    width: 1.6rem;
    background: rgba(var(--rgb), 1);
}
.static-pagination .swiper-pagination {
    position: static;
    margin: var(--spacing-2sm) 0;
}
.static-pagination .swiper-pagination-bullet {
    border: var(--border);
}
.static-pagination .swiper-pagination-bullet-active {
    background: rgba(var(--color-theme-rgb), 1);
}
.swiper-pagination[data-style="bar"] {
    grid-gap: 0;
}
.swiper-pagination[data-style="bar"] .swiper-pagination-bullet {
    border-radius: 0;
    height: 2px;
    width: 70px;
    max-width: 12.3076923077vw;
    margin: 0 !important;
}
.swiper-pagination[data-style="bar"] .swiper-pagination-bullet:first-child {
    margin-left: 0 !important;
}
.swiper-pagination[data-style="bar"] .swiper-pagination-bullet:last-child {
    margin-right: 0 !important;
}
.swiper-horizontal > .swiper-pagination[data-style="bar"] {
    bottom: var(--spacing-2md);
}

.swiper-fade .swiper-slide {
    opacity: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
.swiper-fade .swiper-slide-active {
    opacity: 1 !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}

.swiper.default.fade .swiper-slide,
.swiper.auto.fade .swiper-slide {
    width: 100% !important;
    height: auto !important;
}
.swiper.default.fade .swiper-slide > *,
.swiper.auto.fade .swiper-slide > * {
    height: 100%;
}

.swiper.fix *[class*="swiper-button-"] {
    top: 0;
    transform: none;
}

.swiper-button-prev.spacing-x {
    left: var(--spacing-container);
}
.swiper-button-next.spacing-x {
    right: var(--spacing-container);
}

/*PLUGIN:MARQUEE====================*/
*[data-js="liMarquee"] .mWrap .mMove,
*[data-js="liMarquee"] .mWrap .mItem {
    width: auto !important;
}
*[data-js="liMarquee"] .mWrap .mItem {
    float: left !important;
}
*[data-js="liMarquee"] .cloneContent {
    padding: 0 !important;
}

/* FUNCTION:TAB ====================*/
.tab,
.tabdata {
    position: relative;
}
.tab-content,
.tabdata-content {
    margin: 0 !important;
    position: relative;
    height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition-property: opacity;
    transition-duration: 1s;
}
.tab-content.active,
.tabdata-content.active {
    height: auto;
    opacity: 1;
    overflow: visible;
    pointer-events: auto;
}

/* FUNCTION:ACCORDION ====================*/
.accordion {
    --border-color: rgba(var(--color-gray-green-rgb), 0.3);
    border-bottom: var(--border-width) var(--border-style) var(--border-color);
}
.accordion > .entry-panel {
    display: none;
    padding-bottom: var(--spacing-lg);
}
.accordion > .entry-panel *[block-width] {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.accordion > .entry-title {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
    color: inherit;
    position: relative;
    display: flex;
    align-items: center;
    gap: 0;
    padding: var(--spacing-2sm) 0;
    transition: var(--duration) var(--timing-function);
    cursor: pointer;
}
.accordion.active > .entry-title {
    color: inherit;
}
.accordion > .entry-title .plus-minus {
    width: 2rem;
    aspect-ratio: 1;
    position: relative;
    margin-left: auto;
}
.accordion > .entry-title .plus-minus:before,
.accordion > .entry-title .plus-minus:after {
    content: "";
    display: block;
    position: absolute;
    background-color: var(--color-gray-green);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: var(--duration) var(--timing-function);
}

.accordion > .entry-title .plus-minus:before {
    width: 100%;
    height: 0.1rem;
}
.accordion > .entry-title .plus-minus:after {
    width: 0.1rem;
    height: 100%;
}

.accordion.active > .entry-title .plus-minus:before {
    background-color: var(--color-bright-emerald);
}
.accordion.active > .entry-title .plus-minus:after {
    height: 0;
}

.accordion:first-child .entry-title {
    padding-top: 0;
}
.accordion:last-child:not(.active) .entry-title {
    padding-bottom: 0;
}
.accordion:last-child {
    border-bottom: none;
}

/* FUNCTION:VIDEO ==================== */

/* FUNCTION:CLIPBOARD ==================== */
#clipboard {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    width: 100px;
    max-width: 100%;
    margin: 0 auto;
    padding: var(--spacing-xs);
    font-family: var(--font-body);
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-body-sub);
    line-height: normal;
    letter-spacing: normal;
    text-transform: uppercase;
    background-color: var(--color-theme);
    color: var(--color-white);
    border-radius: 50%;
    overflow: hidden;
    position: fixed;
    z-index: 999999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* FUNCTION:COPY TO CLIPBOARD ==================== */
@-webkit-keyframes copy-slide-up {
    0% {
        -webkit-transform: translate(-50%, 0) scale(0.8);
        transform: translate(-50%, 0) scale(0.8);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(-50%, -120%) scale(1);
        transform: translate(-50%, -120%) scale(1);
        opacity: 1;
    }
}
@keyframes copy-slide-up {
    0% {
        -webkit-transform: translate(-50%, 0) scale(0.8);
        transform: translate(-50%, 0) scale(0.8);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(-50%, -120%) scale(1);
        transform: translate(-50%, -120%) scale(1);
        opacity: 1;
    }
}

#copy_tooltip {
    display: block;
    position: absolute;
    background: var(--color-theme);
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    top: 0;
    width: 12rem;
    left: 50%;
    margin: auto;
    opacity: 0;
    pointer-events: none;
    line-height: var(--line-height-tagline);
    font-size: var(--font-size-tagline);
    font-family: var(--font-heading);
}

#copy_tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -8px;
    width: 0;
    height: 0;
    border-top: 8px solid var(--color-theme);
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
}

#copy_tooltip.active {
    -webkit-animation: copy-slide-up 0.15s cubic-bezier(0.51, 0.92, 0.265, 1.55) both;
    animation: copy-slide-up 0.15s cubic-bezier(0.51, 0.92, 0.265, 1.55) both;
}

#copy_tooltip.inactive {
    -webkit-animation: copy-slide-up 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse both;
    animation: copy-slide-up 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse both;
}

/* PAGE ==================== */
#page {
    display: grid;
    grid-template-rows: 1fr auto;
    min-height: 100svh;
}

/* FILTER ==================== */

/*MODULES==================== */

/* ANIMATE ==================== */
.animate {
    -webkit-animation-duration: var(--duration);
    animation-duration: var(--duration);
    -webkit-animation-timing-function: var(--timing-function);
    animation-timing-function: var(--timing-function);
    /* will-change: opacity, transform; */
}
.animated {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
}

@-webkit-keyframes matrixZoomOut {
    from {
        opacity: 0;
        transform: scale(1.05);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
@keyframes matrixZoomOut {
    from {
        opacity: 0;
        transform: scale(1.05);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
.matrixZoomOut {
    transform-origin: center center;
    -webkit-animation-name: matrixZoomOut;
    animation-name: matrixZoomOut;
    animation-duration: 1s;
}

@keyframes fadeEntry {
    0% {
        opacity: 0;
        transform: translateY(10rem);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.fadeEntry {
    -webkit-animation-name: fadeEntry;
    animation-name: fadeEntry;
    animation-duration: 1.5s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes fadeEntryFromRight {
    0% {
        opacity: 0;
        transform: translateX(10rem);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.fadeEntryFromRight {
    -webkit-animation-name: fadeEntryFromRight;
    animation-name: fadeEntryFromRight;
    animation-duration: 1.5s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes entry {
    0% {
        transform: translateY(10rem);
    }
    100% {
        transform: translateY(0);
    }
}

.entry {
    -webkit-animation-name: entry;
    animation-name: entry;
    animation-duration: 1.5s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes entryFromRight {
    0% {
        transform: translateX(10rem);
    }
    100% {
        transform: translateX(0);
    }
}

.entryFromRight {
    -webkit-animation-name: entryFromRight;
    animation-name: entryFromRight;
    animation-duration: 1.5s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes scaleYFadeIn {
    0% {
        opacity: 0;
        transform: scaleY(0);
    }
    100% {
        opacity: 1;
        transform: scaleY(1);
    }
}

.fadeToTop {
    -webkit-animation-name: scaleYFadeIn;
    animation-name: scaleYFadeIn;
    animation-duration: var(--duration-x3);
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    transform-origin: bottom center;
}

.fadeToBottom {
    -webkit-animation-name: scaleYFadeIn;
    animation-name: scaleYFadeIn;
    animation-duration: var(--duration-x3);
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    transform-origin: top center;
}

.lenis {
    height: auto;
}
.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}
.lenis.lenis-stopped {
    overflow: hidden;
}
.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

/* BUNDLE ==================== */
img,
iframe,
.button,
#header,
#footer,
.mfp-close,
.select2-selection--single,
.select2-results__option,
.choice > span,
.accordion > .entry-title,
.sc-billboard {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

html.touchevents a {
    -webkit-user-select: auto;
    -moz-user-select: auto;
    -ms-user-select: auto;
    user-select: auto;
}

.hamburger,
.plaimanas,
.social a,
.object,
.object-fit,
.qty-btn,
.sc-link,
.mfp-close .modal-dismiss {
    text-decoration: none !important;
    box-shadow: none !important;
}

/* CHECK ==================== */
#page-message {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--spacing-md);
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 999999;
    top: 0;
    left: 0;
    background: var(--color-white);
    color: var(--color-black);
    will-change: opacity;
    opacity: 0;
    pointer-events: none;
}
@media (max-width: 991px) and (orientation: landscape) {
    html.is-device #page-message {
        opacity: 1;
        pointer-events: auto;
        transition: opacity var(--duration) var(--timing-function);
    }
}

/* HEADER ==================== */
#header {
    font-family: var(--font-en);
}

.header-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--spacing-container);
    height: var(--header-height);
}

.submenu .link-overlay {
    pointer-events: none;
}

.submenu.active .link-overlay {
    pointer-events: auto;
}

.submenu-item {
    position: relative;
    padding: var(--spacing-2sm) 0;
    border-bottom: 0.1rem solid rgba(var(--color-white-rgb), 0.3);
}

li:first-child .submenu-item {
    padding-top: 0;
}

li:last-child .submenu-item {
    padding-bottom: 0;
    border-bottom: none;
}

html.no-touchevents .submenu-list:hover .submenu-item:not(:hover) .ic:before {
    color: var(--color-white);
}

html.no-touchevents .submenu-list:hover .submenu-item:hover .item-ttl h3 {
    color: var(--color-bright-emerald);
}

.submenu-item .item-ttl {
    display: flex;
    align-items: center;
    gap: var(--spacing-4xs);
}
.submenu-item .item-ttl .ic {
    color: var(--color-bright-emerald);
}

.submenu-item .item-ttl > h3 {
    transition: color var(--duration) var(--timing-function);
}

.header-actions li > a > .ic::before {
    color: rgb(var(--color-white-rgb), 0.6);
}

/* FOOTER ==================== */
#footer {
    position: relative;
}

.footer-nav {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--spacing-3xs);
    padding: var(--spacing-2sm) var(--spacing-container);
    font-size: var(--font-size-body2);
    line-height: var(--line-height-body2);
    z-index: 5;
    position: relative;
}

.footer-nav .footer-socials {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.footer-links ul {
    display: flex;
    gap: var(--spacing-md);
    margin-left: auto;
}

/* MAIN ====================*/
#main {
    --sticky-top: calc(var(--header-height) + var(--spacing-container));
    position: relative;
    width: 100%;
    overflow: clip;
}

section {
    position: relative;
    width: 100vw;
    z-index: 5;
}

section.header-offset {
    padding-top: var(--header-height);
}

.sc-inner {
    z-index: 5;
    position: relative;
    width: 100%;
    padding-top: var(--gap-section);
    padding-bottom: var(--gap-section);
}
.sc-inner.pc-t-header {
    padding-top: var(--header-height);
}
.sc-inner.pc-t-0 {
    padding-top: 0;
}
.sc-inner.pc-t-25 {
    padding-top: calc(var(--gap-section) / 4);
}
.sc-inner.pc-t-50 {
    padding-top: calc(var(--gap-section) / 2);
}
.sc-inner.pc-t-75 {
    padding-top: calc(var(--gap-section) * 3 / 4);
}
.sc-inner.pc-t-100 {
    padding-top: var(--gap-section);
}
.sc-inner.pc-t-125 {
    padding-top: calc(var(--gap-section) * 1.25);
}
.sc-inner.pc-t-150 {
    padding-top: calc(var(--gap-section) * 1.5);
}
.sc-inner.pc-t-175 {
    padding-top: calc(var(--gap-section) * 1.75);
}
.sc-inner.pc-t-200 {
    padding-top: calc(var(--gap-section) * 2);
}
.sc-inner.pc-b-header {
    padding-bottom: var(--header-height);
}
.sc-inner.pc-b-0 {
    padding-bottom: 0;
}
.sc-inner.pc-b-25 {
    padding-bottom: calc(var(--gap-section) / 4);
}
.sc-inner.pc-b-50 {
    padding-bottom: calc(var(--gap-section) / 2);
}
.sc-inner.pc-b-75 {
    padding-bottom: calc(var(--gap-section) * 3 / 4);
}
.sc-inner.pc-b-100 {
    padding-bottom: var(--gap-section);
}
.sc-inner.pc-b-125 {
    padding-bottom: calc(var(--gap-section) * 1.25);
}
.sc-inner.pc-b-150 {
    padding-bottom: calc(var(--gap-section) * 1.5);
}
.sc-inner.pc-b-175 {
    padding-bottom: calc(var(--gap-section) * 1.75);
}
.sc-inner.pc-b-200 {
    padding-bottom: calc(var(--gap-section) * 2);
}

.container {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--spacing-container);
    padding-right: var(--spacing-container);
}
.container.spacing-sm {
    padding-left: var(--spacing-container-sm);
    padding-right: var(--spacing-container-sm);
}
.wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}
[class*="block-content-"] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    max-width: 80rem;
}
.block-content-start {
    align-items: flex-start;
    text-align: start;
}
.block-content-center {
    align-items: center;
    text-align: center;
    text-wrap: balance;
}
.block-content-end {
    align-items: flex-end;
    text-align: end;
}

.block-ttl > * {
    transition: var(--duration) var(--timing-function);
}

.block-desc > * {
    transition: var(--duration) var(--timing-function);
}

.block-buttons {
    display: flex;
    gap: var(--spacing-3xs);
}

.h-svh {
    height: 100svh;
}
.h-lvh {
    height: 100lvh;
}
.h-vh {
    height: 100vh;
}

.sc-billboard {
    position: relative;
    width: 100%;
    /* -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; */
}

.sc-billboard.full-screen {
    height: 100svh;
}

[class*="gradient-overlay-"]::before {
    content: "";
    position: absolute;
    width: 100%;
    height: var(--gradient-height, 30%);
    left: 0;
    background: linear-gradient(
        var(--gradient-direction, 0deg),
        rgba(0, 0, 0, var(--gradient-opacity, 0.6)) 0%,
        rgba(0, 0, 0, 0) 100%
    );
    z-index: 10;
}

.gradient-overlay-top::before {
    top: 0;
    --gradient-direction: 180deg;
}

.gradient-overlay-bottom::before {
    bottom: 0;
    --gradient-direction: 0deg;
}

.overlay::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(var(--color-black-rgb), var(--overlay-opacity, 0.3));
    z-index: 1;
}

.sc-billboard .object-fit,
.sc-billboard .sc-inner,
.sc-billboard *:is(.swiper, .swiper-wrapper, .swiper-slide) {
    height: 100%;
    width: 100%;
}

.card {
    --text-align: left;
    width: 100%;
    display: block;
    position: relative;
    color: rgba(var(--rgb), 1);
    text-align: var(--text-align);
    white-space: normal;
}

.card.glass-card {
    --shadow-offset: var(--spacing-5xs);
    border-radius: 0.8rem;
    background-color: transparent;
    --glass-bg: transparent;
    --glass-border: 0.05rem solid rgba(var(--color-white-rgb), 0.2);
    --glass-shadow: 0 1.429px 4.286px 0 rgba(var(--color-white-rgb), 0.35);
    margin-bottom: var(--shadow-offset);
    height: calc(100% - var(--shadow-offset));
}

.card.glass-card > * {
    position: relative;
    z-index: 5;
}

.card.glass-card.glass-effect {
    --glass-border: 0.05rem solid rgba(46, 229, 154, 0.2);
    --glass-bg: rgba(32, 43, 31, 0.5);
    --glass-shadow: 0 1.429px 4.286px 0 rgba(46, 229, 154, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1), inset 0 0 2px 1px rgba(255, 255, 255, 0.2);
    --glass-bg-green: rgba(46, 229, 154, 0.3);
}

.card-container {
    --gap-x: 0rem;
    --gap-y: 0rem;
    --column: 1;
    --minmax: 0rem;
    position: relative;
}

.card-container[data-card-layout="grid"] {
    display: grid;
    grid-gap: var(--gap-y) var(--gap-x);
    grid-template-columns: repeat(var(--column), calc((100% - (var(--gap-x) * (var(--column) - 1))) / var(--column)));
    grid-auto-flow: dense;
}

.card-container[data-card-layout="grid-minmax"] {
    display: grid;
    grid-gap: var(--gap-y) var(--gap-x);
    grid-template-columns: repeat(auto-fill, minmax(var(--minmax), 1fr));
    grid-auto-flow: dense;
}

.card-container[data-card-layout="flex"] {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--gap-y) var(--gap-x);
}
.card-container[data-card-layout="flex"] > .card {
    width: calc((100% - (var(--gap-x) * (var(--column) - 1))) / var(--column));
}

.card-container[data-card-layout="slider"] {
    margin-left: calc((var(--gap-x) * -1) / 2);
    margin-right: calc((var(--gap-x) * -1) / 2);
}
.card-container[data-card-layout="slider"] .swiper-slide {
    width: calc(100% / var(--column)) !important;
    padding-left: calc(var(--gap-x) / 2);
    padding-right: calc(var(--gap-x) / 2);
}

.card .card-image {
    position: relative;
}

.card .card-content {
    position: relative;
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-sm);
}

.sc-header {
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: var(--spacing-md);
}
.sc-header.justify-center {
    justify-content: center;
    text-align: center;
}
.sc-header.justify-between {
    justify-content: space-between;
}
.sc-ttl {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
    text-align: center;
}
.marquee {
    display: inline-flex !important;
}

/* Popup */
.popup {
    width: fit-content;
    position: relative;
    z-index: 90;
    --top-offset: var(--spacing-2xs);
}

.popup-content {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: calc(100% + var(--top-offset));
    width: fit-content;
    box-shadow: 0px 0px 10px 0px rgba(var(--color-black-rgb), 0.25);
    transition: var(--duration) var(--timing-function);
}

.popup-content.active {
    opacity: 1;
    visibility: visible;
}

.popup-content-inner {
    padding: var(--spacing-2sm) var(--spacing-xs);
    background-color: var(--color-white);
}

.popup[data-popup-pc-location="start"] .popup-content {
    left: 0;
}

.popup[data-popup-pc-location="center"] .popup-content {
    left: 50%;
    transform: translateX(-50%);
}

.popup[data-popup-pc-location="end"] .popup-content {
    right: 0;
}

/* Map */
.map-wrapper {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.map-wrapper .map {
    width: 100%;
    aspect-ratio: 5;
}

.map-wrapper .pin {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 3.6rem;
    aspect-ratio: 1;
}

/* COMPONENT */
/* DEFAULT ====================*/
/* FANCY BOX */
.fancybox__slide {
    padding-left: var(--spacing-container);
    padding-right: var(--spacing-container);
    padding-bottom: Var(--spacing-sm);
}

.has-html5video .f-html,
.has-youtube .f-html,
.has-vimeo .f-html {
    width: fit-content;
    height: fit-content;
    max-width: unset;
}

/* LIQUID GLASS EFFECT */
.glass-effect {
    position: relative;
}
.glass-effect::before,
.glass-effect::after {
    content: "";
    position: absolute;
    inset: 0;
    transition: var(--duration) var(--timing-function);
}
.glass-effect::before {
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    filter: url(#glass-2);
    -webkit-filter: url(#glass-2);
    overflow: hidden;
    isolation: isolate;
    border-radius: inherit;
    z-index: 1;
}

.is-safari .swiper .glass-effect::before {
    filter: none;
    -webkit-filter: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.glass-effect::after {
    border-radius: inherit;
    background: var(--glass-bg);
    box-shadow: var(--glass-shadow);
    border: var(--glass-border);
    z-index: 2;
    transition: var(--duration) var(--timing-function);
}

/* SECTION SEPARATOR */
.separator {
    width: 100%;
    border-top: 0.1rem solid rgba(var(--color-white-rgb), 0.3);
    margin-top: -0.1rem;
    position: relative;
    z-index: 10;
    background-color: transparent;
}

.section-separator {
    width: calc(100% - var(--spacing-container) * 2);
    border-top: 0.1rem solid rgba(var(--color-white-rgb), 0.3);
    margin-top: -0.1rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
    background-color: transparent;
}

/* SECTION ====================*/
/* CONTACT CTA */
[data-section="contact-cta"] [class*="block-content-"] {
    gap: var(--spacing-md);
    margin-left: auto;
    margin-right: auto;
}

/* ELEMENT ====================*/
.bg-decoration {
    position: absolute;
    z-index: 1;
    width: var(--pc-width);
    aspect-ratio: var(--pc-aspect-ratio);
    top: var(--pc-top, auto);
    left: var(--pc-left, auto);
    right: var(--pc-right, auto);
    bottom: var(--pc-bottom, auto);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: var(--pc-image);
}

/* LIGHT SEPARATOR */
.light-separator {
    width: 2.1rem;
    aspect-ratio: 0.1489361702;
    height: fit-content;
    flex-shrink: 0;
}

.light-separator.fadeToBottom svg {
    transform: rotate(180deg);
}

.light-separator svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* HOMEPAGE POPUP */
.homepage-popup {
    position: fixed;
    inset: 0;
    z-index: 400;
    background-color: rgba(var(--color-black-rgb), 0.85);
}
.homepage-popup .popup-inner {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.homepage-popup .content {
    --glass-border: 0.05rem solid rgba(var(--color-white-rgb), 0.2);
    --glass-bg: transparent;
    --glass-shadow: 0 1px 2px 0 rgba(255, 255, 255, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1), inset 0 0 4px 2px rgba(255, 255, 255, 0.2);
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-4xs) var(--spacing-xs) var(--spacing-2sm);
    width: fit-content;
    height: fit-content;
    border-radius: 1rem;
}

.homepage-popup .content .media {
    width: 50.6944444444vw;
    aspect-ratio: 1.5;
    position: relative;
    z-index: 5;
}
.homepage-popup .content .button {
    position: relative;
    z-index: 5;
}

/* PAGE */
/* PAGE: INDEX */
/* MAIN HERO */
[data-section="main-hero"]:after {
    content: "";
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    height: 15rem;
    display: block;
    background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0) 100%);
}

[data-section="main-hero"] .cover {
    right: 0;
    left: auto;
}

[data-section="main-hero"] .cover *:is(img, video) {
    object-position: right;
}

.value.card-container {
    --column: 4;
    --gap-x: var(--spacing-lg);
    margin-top: var(--spacing-4xl);
}

.value.card-container .swiper {
    overflow: visible;
    transition: opacity var(--duration) var(--timing-function);
}

.value.card-container .swiper-slide {
    height: auto;
}

[data-card="value"] {
    padding: var(--spacing-2sm) var(--spacing-md) var(--spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2md);
}

[data-card="value"].card.glass-card {
    --glass-bg: transparent;
}

[data-card="value"] .card-content {
    gap: var(--spacing-4xs);
}

/* WHO WE ARE */
[data-section="who-we-are"] .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-2xl);
}

[data-section="who-we-are"] .media {
    width: 62.5vw;
    aspect-ratio: 1.5;
}

[data-section="who-we-are"] .content-grid {
    display: flex;
    gap: var(--spacing-2xl);
    margin-top: var(--spacing-4xl);
}

[data-section="who-we-are"] .item {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: var(--spacing-2sm);
    text-align: center;
}

[data-section="who-we-are"] .item-logo-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6.4rem;
}

[data-section="who-we-are"] .item-logo img {
    object-fit: contain;
}

[data-section="who-we-are"] .content-grid .light-separator {
    align-self: center;
}

/* ABOUT CTA */
[data-section="about-cta"] .content {
    display: flex;
    gap: var(--spacing-4xl);
}

[data-section="about-cta"] .content .sticky-content {
    width: 50%;
    position: sticky;
    top: var(--header-height);
    flex-shrink: 0;
    aspect-ratio: 0.7901234568;
    height: fit-content;
    flex-shrink: 0;
}

[data-section="about-cta"] .content .static-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-4xl);
    flex-grow: 1;
}

[data-section="about-cta"] .static-content .media {
    aspect-ratio: 1.75;
    position: relative;
}

[data-section="about-cta"] .static-content .cta {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

[data-section="about-cta"] .cta .cta-icon-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-lg);
}

[data-section="about-cta"] .cta-icon-grid .item {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xs);
}

[data-section="about-cta"] .cta-icon-grid .item .ic {
    color: var(--color-bright-emerald);
}

/* TAB TEMPLATE */
[data-section="tab-template"][data-template-theme="light"] {
    --rgb: var(--color-rich-green-rgb);
    --bg-color: #eaf1ef;
}

[data-section="tab-template"][data-template-theme="dark"] {
    --rgb: var(var(--color-white-rgb));
    --bg-color: var(--color-rich-green);
}

[data-section="tab-template"] .tab-container {
    color: rgba(var(--rgb), 1);
    border-radius: 1.2rem;
    overflow: hidden;
    background-color: var(--bg-color);
    transition: var(--duration) var(--timing-function);
}

[data-section="tab-template"] .tab-container > .cover {
    opacity: 0;
    transition: opacity var(--duration) var(--timing-function);
}

[data-section="tab-template"][data-template-theme="dark"] .cover {
    opacity: 1;
}

[data-section="tab-template"] .container .sc-inner {
    padding-left: var(--spacing-xl);
    padding-right: var(--spacing-xl);
    min-height: 80rem;
}

[data-section="tab-template"] .tab-links {
    display: flex;
    gap: var(--spacing-2sm);
    margin-bottom: var(--spacing-2xl);
}

[data-section="tab-template"] .tab-links .swiper {
    overflow: visible;
}

[data-section="tab-template"] .tab-links .swiper-slide {
    --gap: var(--spacing-4lg);
    width: auto !important;
    padding-left: calc(var(--gap) / 2);
    padding-right: calc(var(--gap) / 2);
}

[data-section="tab-template"] .tab-links .tab-link:not(.active) {
    opacity: 0.4;
}

[data-section="tab-template"] .tab-links .tab-link:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0.1rem;
    background-color: rgba(var(--rgb), 1);
    transform: scaleX(0);
    transform-origin: center;
    transition: var(--duration) var(--timing-function);
}

[data-section="tab-template"] .tab-links .tab-link.active:before {
    transform: scaleX(1);
}

html.no-touchevents [data-section="tab-template"] .tab-links .tab-link:hover {
    color: rgba(var(--rgb), 1);
}

/* Template 1 */
[data-section="tab-template"] [data-template="1"] .content {
    display: flex;
    justify-content: space-between;
}

/* Template 1 : Nav */
[data-section="tab-template"] [data-template="1"] .content .content-nav {
    width: 42%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 19rem;
    justify-content: space-between;
}

[data-section="tab-template"] [data-template="1"] .thumbs .swiper-wrapper {
    transform: none !important;
    flex-direction: column;
    gap: var(--spacing-2xs);
}

[data-section="tab-template"] [data-template="1"] .thumbs .swiper-slide {
    height: fit-content;
    cursor: pointer;
}

[data-section="tab-template"] [data-template="1"] .slide-ttl {
    position: relative;
    padding-left: 1.5rem;
    gap: var(--spacing-5xs);
    opacity: 0.6;
    filter: blur(2px);
    transition: var(--duration) var(--timing-function);
    user-select: none;
}

[data-section="tab-template"] [data-template="1"] .swiper-slide {
    margin: 0 !important;
}

[data-section="tab-template"] [data-template="1"] .slide-ttl > h3 {
    font-size: var(--font-size-h4);
    line-height: 1;
    font-weight: var(--font-weight-medium);
    transition: font-size var(--duration) var(--timing-function);
    margin: 0 !important;
}

[data-section="tab-template"] [data-template="1"] .slide-ttl > span {
    position: absolute;
    left: 0;
    top: 0.07em;
    font-size: var(--font-size-tagline);
    line-height: 1;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.28px;
    width: 0.8rem;
    transition: var(--duration) var(--timing-function);
}

[data-template="1"] .swiper-slide-thumb-active .slide-ttl {
    opacity: 1;
    filter: blur(0);
}

[data-template="1"] .swiper-slide-thumb-active .slide-ttl > h3,
[data-template="1"] .accordion.active .entry-title > h3 {
    font-size: var(--font-size-h3);
}

[data-template="1"] .swiper-slide-thumb-active .slide-ttl > span,
[data-template="1"] .accordion.active .entry-title > span {
    color: var(--color-bright-emerald);
}

/* Template 1 : Body */
[data-section="tab-template"] [data-template="1"] .content .content-body {
    width: 30%;
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
}

[data-section="tab-template"] [data-template="1"] .content-body .swiper {
    overflow: visible;
}

[data-section="tab-template"] [data-template="1"] .content-body .swiper-slide {
    height: auto;
}

[data-section="tab-template"] [data-template="1"] .slide-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

[data-section="tab-template"] [data-template="1"] .slide-subttl {
    margin-bottom: var(--spacing-sm);
}

[data-section="tab-template"] [data-template="1"] .slide-desc {
    margin-bottom: var(--spacing-md);
}

[data-section="tab-template"] [data-template="1"] .decoration {
    position: absolute;
    /* top: calc(var(--gap-section) * 1.25 + 2.9 + 6.4rem); */
    /* top: 0; */
    bottom: calc((var(--gap-section) * -1.25) - 0.1rem);
    left: 50%;
    transform: translateX(-50%);
    /* width: 25.4861111111vw; */
    height: 42.9166647946vw;
    max-height: 60rem;
    aspect-ratio: 0.5938511327;
}

/* Template 2 */
[data-section="tab-template"] [data-template="2"] .tab-ttl {
    width: 81%;
    margin-bottom: var(--spacing-6xl);
}

[data-section="tab-template"] [data-template="2"] .tab-text {
    display: flex;
    gap: var(--spacing-md);
    justify-content: space-between;
    align-items: flex-end;
}

[data-section="tab-template"] [data-template="2"] .tab-text .tab-desc {
    max-width: 76rem;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    text-wrap: balance;
}

/* MAP */
[data-section="map"] {
    z-index: 10;
}
[data-section="map"] [class*="block-content-"] {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--spacing-lg);
}

[data-section="map"] .central-map {
    aspect-ratio: 2.1333333333;
    position: relative;
}

[data-section="map"] .central-map .cover {
    z-index: 2;
}

.central-map .map-item {
    position: absolute;
    z-index: 5;
    top: var(--pc-top);
    left: var(--pc-left);
}

.central-map .map-item .item-pin {
    width: 8.6111111111vw;
    height: 7.5694444444vw;
    position: relative;
    overflow: visible;
    z-index: 10;
}

.central-map .map-item .item-pin > svg {
    height: 100%;
    width: auto;
    overflow: visible;
    cursor: pointer;
}

.central-map .map-item .item-label {
    position: absolute;
    top: 25.6296296296%;
    left: 62.9032258065%;
    cursor: pointer;
}

.central-map .map-item .item-label .label-desc {
    margin-top: calc(var(--spacing-6xs) * -1);
}

html.no-touchevents .map-item:hover .item-label {
    color: var(--color-bright-emerald);
    transition: color var(--duration) var(--timing-function);
}

.map-item #beacon-5 {
    transform-origin: center 70%;
    transition: transform var(--duration) var(--timing-function);
}

.map-item #beacon-3,
.map-item #beacon-2,
.map-item #beacon-1 {
    transform-origin: center;
    transition: transform var(--duration) var(--timing-function);
}

html.no-touchevents .map-item:hover #beacon-5 {
    transform: scaleX(1.1) scale(1.3);
}

html.no-touchevents .map-item:hover #beacon-3,
html.no-touchevents .map-item:hover #beacon-2,
html.no-touchevents .map-item:hover #beacon-1 {
    transform: scaleX(1.1);
}

.map-item .item-popup-slide {
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--duration) var(--timing-function);
    padding: var(--spacing-4xs);
    background-color: var(--color-white);
    border-radius: 0.5rem;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.25);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 25rem;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-5xs);
    z-index: 0;
}

.map-item.active .item-popup-slide,
.map-item.active .item-popup-overlay {
    opacity: 1;
    pointer-events: auto;
    z-index: 20;
}

.map-item.active {
    z-index: 20;
}

.map-item .item-popup-slide .popup-close {
    position: absolute;
    top: var(--spacing-sm);
    right: var(--spacing-xs);
    cursor: pointer;
    width: fit-content;
    height: fit-content;
    z-index: 10;
}

.map-item .item-popup-slide .slides {
    aspect-ratio: 1.5466666667;
}

.map-item:not(.active) .item-popup-slide .swiper-slide {
    pointer-events: none !important;
}

.map-item .item-popup-slide .slide-content {
    position: relative;
    height: 100%;
}

.map-item .item-popup-slide .slide-content .logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 15rem;
    height: 4rem;
    z-index: 10;
}

.map-item .item-popup-slide .slide-content .logo img {
    object-fit: contain;
}

.map-item .item-popup-slide .slide-text {
    text-align: center;
    padding: 0 var(--spacing-sm);
}

.map-item .item-popup-slide [class*="swiper-button-"]:after {
    color: var(--color-rich-green);
}

/* HIGHLIGHT */
[data-section="highlight"] {
    --swiper-offset-top: var(--spacing-lg);
}
[data-section="highlight"] [class*="block-content-"] {
    margin-bottom: var(--swiper-offset-top);
}

[data-section="highlight"] .block-content-start {
    align-items: flex-start;
    text-align: start;
}

[data-section="highlight"] [class*="block-content-"] {
    max-width: 94rem;
    gap: var(--spacing-sm);
}

[data-section="highlight"] .card-container {
    --column: 4;
    --gap-x: var(--spacing-lg);
}

[data-section="highlight"] .card-container .swiper {
    overflow: visible;
}

.marquee-slider.swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

[data-section="highlight"] .card-container .swiper-slide {
    height: auto;
}

[data-card="highlight"],
[data-card="news"] {
    height: 100%;
    padding: var(--spacing-lg) var(--spacing-md);
    overflow: hidden;
}

[data-card="highlight"] .card-subttl,
[data-card="news"] .card-subttl {
    margin-bottom: var(--spacing-xs);
}

[data-card="highlight"] > *:not(:last-child),
[data-card="news"] .card-inner > *:not(:last-child) {
    margin-bottom: var(--spacing-sm);
}

[data-card="highlight"] .card-media,
[data-card="news"] .card-media {
    width: 37.8787878788%;
    aspect-ratio: 1;
    min-width: 10rem;
    margin-left: auto;
    margin-right: auto;
}

[data-card="highlight"] .card-img-hover-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    transition: opacity var(--duration) var(--timing-function);
    margin-bottom: 0;
}

[data-card="highlight"] .card-img-hover-bg:before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(var(--color-rich-green-rgb), 0.5);
    z-index: 1;
}

html.no-touchevents [data-card="highlight"]:hover .card-img-hover-bg {
    opacity: 1;
}

html.no-touchevents [data-card="highlight"]:hover *:is(.card-subttl) > * {
    color: var(--color-sand-gray) !important;
}

.swiper-nav {
    position: relative;
    display: flex;
    gap: var(--spacing-3xs);
}

.swiper-nav.offset-top {
    position: absolute;
    bottom: calc(100% + var(--swiper-offset-top));
    right: var(--spacing-container);
}

.swiper-nav [class*="swiper-button-"] {
    position: absolute;
    transform: none;
    inset: 0;
}

.swiper-nav .button {
    min-width: 8rem;
}

/* STAT */
[data-section="stats"] .cover:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 53.93%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 1;
}

[data-section="stats"] .sc-ttl {
    margin-bottom: 22rem;
}

[data-section="stats"] .container {
    z-index: 5;
}

[data-section="stats"] .stats-container {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-2lg);
}
[data-section="stats"] .stats-container .stat-item {
    max-width: 32rem;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-5xs);
}

[data-section="stats"] .stats-container .stat-item .stat {
    display: flex;
    gap: var(--spacing-4xs);
    align-items: flex-end;
}

[data-section="stats"] .stats-container .stat-item .stat .number {
    font-size: var(--font-size-h1);
    line-height: 1;
}

[data-section="stats"] .stats-container .stat-item .stat .unit {
    font-size: var(--font-size-h3);
    line-height: 1;
}

/* CERTIFICATE */
[data-section="certificate"] [class*="block-content-"] {
    margin-left: auto;
    margin-right: auto;
    max-width: 84rem;
    margin-bottom: var(--spacing-3lg);
}

[data-section="certificate"] .swiper {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

[data-section="certificate"] .swiper-slide {
    --gap: var(--spacing-4lg);
    width: auto !important;
    padding-left: calc(var(--gap) / 2);
    padding-right: calc(var(--gap) / 2);
    height: auto;
}

[data-section="certificate"] .lgoo-marquee {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    align-items: center;
    margin-top: var(--spacing-sm);
}

[data-section="certificate"] .lgoo-marquee .marquee {
    --gap: var(--spacing-4lg);
    padding: 0 calc(var(--gap) / 2);
    gap: var(--gap);
    height: 6.5rem;
    align-items: center;
}

[data-section="certificate"] .certificate-logo {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

[data-section="certificate"] .certificate-logo img {
    width: auto;
    height: auto;
    max-width: 15.5rem;
    max-height: 6.5rem;
    object-fit: contain;
    object-position: center;
}

[data-section="certificate"] .light-separator {
    margin-left: auto;
    margin-right: auto;
}

/* FEATURED NEWS */
[data-section="featured-news"] {
    --swiper-offset-top: var(--spacing-2lg);
}
[data-section="featured-news"] [class*="block-content-"] {
    margin-bottom: var(--swiper-offset-top);
}

[data-section="featured-news"] .card-container {
    --column: 3.5;
    --gap-x: var(--spacing-lg);
}

[data-section="featured-news"] .card-container .swiper {
    overflow: visible;
}

[data-section="featured-news"] .card-container .swiper-slide {
    height: auto;
}

[data-section="featured-news"] .sc-button {
    margin-top: var(--spacing-lg);
}

[data-card="news"] {
    height: 100%;
    overflow: hidden;
}

[data-card="news"] .card-hover-bg {
    background: linear-gradient(156deg, rgba(46, 229, 154, 0.8) 15.54%, rgba(26, 127, 85, 0.8) 100%);
    position: absolute;
    inset: 0;
    margin-bottom: 0;
    opacity: 0;
    transition: opacity var(--duration) var(--timing-function);
}

html.no-touchevents [data-card="news"]:hover .card-hover-bg {
    opacity: 1;
}

[data-card="news"] .card-media {
    width: 100%;
    aspect-ratio: 1.6666666667;
}

html.no-touchevents [data-card="news"]:hover .card-media *:is(img, video) {
    transform: scale(1.1);
}

[data-card="news"] .card-desc > * {
    line-clamp: 2;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

[data-card="news"] [class*="card-"] > * {
    transition: color var(--duration) var(--timing-function);
}

html.no-touchevents [data-card="news"]:hover *:is(.card-subttl, .card-desc) > * {
    color: var(--color-sand-gray) !important;
}

html.no-touchevents [data-card="news"]:hover *:is(.card-button) > * {
    color: var(--color-white) !important;
}

[data-section="featured-news"] .swiper-nav.offset-top {
    right: 0;
}

/* PAGE: ABOUT */
/* TEXT FANCYBOX */
[data-section="text-fancybox"] .fancybox-content {
    display: flex;
    gap: var(--spacing-4xl);
    margin-top: var(--spacing-3xl);
    align-items: center;
}

[data-section="text-fancybox"] .fancybox-content .text-content {
    flex-grow: 1;
    padding-bottom: var(--spacing-md);
    border-bottom: 0.1rem solid rgba(var(--color-white-rgb), 0.3);
}

[data-section="text-fancybox"] .fancybox-content .text-content .text-ttl {
    margin-bottom: var(--spacing-2sm);
}

[data-section="text-fancybox"] .fancybox-content .media {
    width: 50%;
    flex-shrink: 0;
    aspect-ratio: 1.5023474178;
    position: relative;
    overflow: hidden;
}

[data-section="text-fancybox"] .fancybox-content .media::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 5.3333333333;
    opacity: 0.7;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 100%);
    z-index: 1;
}
[data-section="text-fancybox"] .fancybox-content .media .button {
    position: absolute;
    right: var(--spacing-sm);
    bottom: var(--spacing-sm);
}

/* CENTER MEDIA */
[data-section="center-media"] .media {
    width: 62.5vw;
    aspect-ratio: 1.5;
    position: relative;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
}

/* LIST CTA */
[data-section="list-cta"] .list-item {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-lg);
    padding: var(--spacing-lg) 0;
    border-bottom: 0.1rem solid rgba(var(--color-white-rgb), 0.3);
}

[data-section="list-cta"] .list-item *:is(.item-media, .item-button) {
    flex-shrink: 0;
}

[data-section="list-cta"] .list-item .item-media {
    width: 20.8333333333vw;
    aspect-ratio: 1;
}

[data-section="list-cta"] .list-item .item-text {
    flex-grow: 1;
    max-width: 52rem;
}

[data-section="list-cta"] .list-item .item-text .logo {
    margin-bottom: var(--spacing-md);
}

[data-section="list-cta"] .list-item .item-text .logo img {
    position: static;
    width: auto;
    height: auto;
    max-width: 28.8rem;
    object-fit: contain;
    object-position: left center;
}

[data-section="list-cta"] .list-item:nth-child(1) .logo img {
    max-height: 3.2rem;
}

[data-section="list-cta"] .list-item:nth-child(2) .logo img {
    max-height: 7.2rem;
}
[data-section="list-cta"] .list-item:nth-child(3) .logo img {
    max-height: 4.8rem;
}

/* PARALLAX DUAL BLOCK */
[data-section="parallax-dual-block"] .dual-block {
    --gap: var(--spacing-4xl);
    display: flex;
    justify-content: space-between;
    gap: var(--gap);
}

[data-section="parallax-dual-block"] .dual-block .block {
    width: calc(50% - var(--gap) / 2);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-8xl);
}

[data-section="parallax-dual-block"] .dual-block .block .media {
    width: 100%;
    aspect-ratio: 2 / 3;
    position: relative;
    overflow: hidden;
}

[data-section="parallax-dual-block"] .dual-block .block:first-child .media {
    margin-top: var(--spacing-8xl);
}

[data-section="parallax-dual-block"] .dual-block .block:last-child {
    flex-direction: column-reverse;
    justify-content: flex-end;
}

/* BANNER MEDIA */
[data-section="banner-media"] .sc-inner {
    min-height: 61.8rem;
    aspect-ratio: 2.3300970874;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: var(--spacing-container);
    padding-right: var(--spacing-container);
}

[data-section="banner-media"] .cover::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(var(--color-black-rgb), 0.5);
    z-index: 1;
}

[data-section="banner-media"] [class*="block-content-"] {
    max-width: 94rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
}

/* PAGE: TEMPLATE */
/* TEMPLATE LANDING */
[data-section="template-landing"] .text-content {
    display: flex;
    gap: var(--spacing-4xl);
    align-items: flex-end;
}

[data-section="template-landing"] [class*="block-content-"] {
    width: 56.875%;
    flex-shrink: 0;
}

[data-section="template-landing"] .desc {
    flex-grow: 1;
}

[data-section="template-landing"] .value.card-container {
    margin-top: var(--spacing-5xl);
}

[data-card="template"] {
    overflow: hidden;
    padding: var(--spacing-2sm) var(--spacing-md) var(--spacing-lg);
}

[data-card="template"] .card-header {
    margin-bottom: var(--spacing-4lg);
}

[data-card="template"] .card-icon {
    margin-bottom: var(--spacing-xs);
}

[data-card="template"] .card-icon > img {
    width: 4.8rem !important;
    height: 4.8rem !important;
}

[data-card="template"] .card-desc {
    margin-bottom: var(--spacing-sm);
}

[data-card="template"] .card-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(156deg, rgba(46, 229, 154, 0.8) 15.54%, rgba(26, 127, 85, 0.8) 100%);
    z-index: 1;
    opacity: 0;
    transition: opacity var(--duration) var(--timing-function);
}

html.no-touchevents [data-card="template"]:hover .card-bg {
    opacity: 1;
}

/* DUAL CONTENT MEDIA */
[data-section="dual-content-media"] .content-wrapper {
    display: flex;
    justify-content: space-around;
    gap: var(--spacing-5xl);
    align-items: center;
}

[data-section="dual-content-media"] .content {
    /* max-width: 54.4rem; */
    width: 42.5vw;
}

[data-section="dual-content-media"] .media {
    width: 49.9305555556vw;
    flex-shrink: 0;
    aspect-ratio: 1.11806638;
    margin-right: calc(-1 * var(--spacing-container));
}

.light-icon-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2md);
    margin-top: var(--spacing-lg);
}

.light-icon-list .light-separator {
    width: 1.25rem;
}

.light-icon-list .item {
    display: flex;
    gap: var(--spacing-md);
}

.light-icon-list .item-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-6xs);
}

/* PAGE: TEMPLATE SINGLE */
/* TEMPLATE SINGLE LANDING */
[data-section="template-single-landing"] [class*="block-content-"] {
    max-width: unset;
}

[data-section="template-single-landing"] .block-ttl {
    max-width: 72.8rem;
}

[data-section="template-single-landing"] .block-cta {
    margin-top: var(--spacing-lg);
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: var(--spacing-md);
}

[data-section="template-single-landing"] .block-cta .block-desc {
    width: 46.875%;
    max-width: 60rem;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

/* MEDIA EXPANDED */
[data-section="media-expanded"] .media {
    width: 100%;
    aspect-ratio: 1.7948717949;
    position: relative;
    overflow: hidden;
    border-radius: 1.2rem;
    z-index: 10;
}

/* OTHER TEMPLATE */
[data-section="other-template"] .card-container.value {
    margin-top: var(--spacing-lg);
}

[data-card="template"].other-template .card-icon {
    margin-bottom: 0;
}

[data-card="template"].other-template .card-icon .ic::before {
    color: var(--color-bright-emerald);
}

[data-card="template"].other-template .card-header {
    margin-bottom: var(--spacing-2md);
}

[data-card="template"].other-template .card-desc {
    margin-bottom: 0;
}

[data-card="template"].other-template .card-link {
    color: var(--color-bright-emerald);
    font-size: var(--font-size-button);
    line-height: var(--line-height-button);
    font-weight: var(--font-weight-semibold);
}

html.no-touchevents [data-card="template"].other-template:hover .card-link {
    color: var(--color-white);
}

html.no-touchevents [data-card="template"].other-template:hover .card-icon .ic::before {
    color: var(--color-white);
}

/* PAGE: NEWS */
/* NEWS GRID */
[data-section="news-grid"] .tab-links {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--spacing-2lg);
}

[data-section="news-grid"] .tab-links [class*="block-content-"] {
    max-width: unset;
    flex-shrink: 0;
}

[data-section="news-grid"] .tab-links .links-container {
    --gap: var(--spacing-3xs);
    margin-left: calc(var(--gap) / -2);
    margin-right: calc(var(--gap) / -2);
}

[data-section="news-grid"] .tab-links .swiper {
    width: auto;
    margin-left: 0;
    margin-right: 0;
    height: fit-content;
    overflow: visible;
}

[data-section="news-grid"] .tab-links .swiper-slide {
    width: auto !important;
    padding-left: calc(var(--gap) / 2);
    padding-right: calc(var(--gap) / 2);
}

[data-section="news-grid"] .tab-links .button {
    min-width: unset;
}

[data-section="news-grid"] .tab-links .links-container .tab > .button.active {
    --glass-bg: rgba(46, 229, 154, 0.2);
    color: var(--color-white) !important;
    --glass-border: 0.05rem solid rgba(46, 229, 154, 0.2) !important;
    --glass-shadow: 0 1.429px 4.286px 0 rgba(46, 229, 154, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1), inset 0 0 2px 1px rgba(255, 255, 255, 0.2) !important;
}

[data-section="news-grid"] .tab-contents {
    margin-top: var(--spacing-3xl);
}

[data-section="news-grid"] .tab-content .card-container {
    --column: 6;
    --gap-x: var(--spacing-lg);
    --gap-y: var(--spacing-lg);
}

[data-section="news-grid"] [data-card="news"] {
    grid-column: span 2;
}

[data-section="news-grid"] .tab-content .card-container.first-page > *:is(:nth-child(-n + 2)) {
    grid-column: span 3;
}

/* WP PAGENAVI */
.wp-pagenavi {
    display: flex;
    gap: var(--spacing-3xs);
    margin-top: var(--spacing-lg);
}

.wp-pagenavi > * {
    text-decoration: none !important;
    box-shadow: none !important;
    margin: 0;
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-3xs);
    vertical-align: top;
    white-space: normal;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    height: var(--button-height);
    min-height: 0;
    max-height: none;
    padding: var(--spacing-5xs) var(--spacing-md) !important;
    opacity: 1 !important;
    color: var(--button-color) !important;
    border: var(--glass-border) !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 10rem !important;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-button);
    line-height: var(--line-height-button);
    text-align: center;
    transition: var(--duration) var(--timing-function);
    text-transform: capitalize;
    cursor: pointer;
}

.wp-pagenavi *:is(.page, .current) {
    width: var(--button-height);
    padding: 0 !important;
}

.wp-pagenavi > * > span {
    position: relative;
    z-index: 5;
}

.wp-pagenavi > *::before,
.wp-pagenavi > *::after {
    content: "";
    position: absolute;
    inset: 0;
    transition: var(--duration) var(--timing-function);
}
.wp-pagenavi > *::before {
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    filter: url(#glass-2);
    -webkit-filter: url(#glass-2);
    overflow: hidden;
    isolation: isolate;
    border-radius: inherit;
    z-index: 1;
}

.wp-pagenavi > *::after {
    border-radius: inherit;
    background: var(--glass-bg);
    box-shadow: var(--glass-shadow);
    border: var(--glass-border);
    z-index: 2;
    transition: var(--duration) var(--timing-function);
}

.wp-pagenavi .nextpostslink {
    margin-left: auto;
    min-width: 15rem;
}

.wp-pagenavi *:is(.nextpostslink, .current)::after {
    background: var(--glass-bg-green);
}

html.no-touchevents .wp-pagenavi *:is(.previouspostslink, .page):hover {
    color: var(--color-bright-emerald) !important;
    --glass-border: 0.357px solid rgba(46, 229, 154, 0.5);
    --glass-shadow: 0 1.429px 5.714px 0 rgba(46, 229, 154, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1), inset 0 0 4px 2px rgba(255, 255, 255, 0.2);
}

/* PAGE: NEWS SINGLE */
/* NEWS SINGLE */
[data-section="news-single"]:after {
    content: "";
    position: absolute;
    left: var(--spacing-container);
    z-index: 1;
    bottom: 0;
    width: calc(100% - 2 * var(--spacing-container));
    height: 1px;
    background: rgba(var(--color-white-rgb), 0.3);
}
[data-section="news-single"] [class*="block-content-"] {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--spacing-lg);
}

[data-section="news-single"] .main-media {
    overflow: hidden;
    border-radius: 1.2rem;
    margin-bottom: var(--spacing-lg);
    aspect-ratio: 1.7948717949;
}

[data-section="news-single"] .entry-content {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
}

.share {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
    margin-top: var(--spacing-lg);
}

/* PAGE: CONTACT */
/* CONTACT DETAILS */
[data-section="contact-detail"] [class*="block-content-"] {
    max-width: 72.8rem;
}

[data-section="contact-detail"] .contact-detail {
    flex-shrink: 0;
    display: flex;
    gap: var(--spacing-4xl);
    margin-top: var(--spacing-3xl);
    position: relative;
}

[data-section="contact-detail"] .detail-list {
    width: 43.75%;
}

[data-section="contact-detail"] .detail-item {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-4xs);
    padding: var(--spacing-md) 0;
    border-bottom: 0.1rem solid rgba(var(--color-white-rgb), 0.3);
}

[data-section="contact-detail"] .detail-item:first-child {
    padding-top: 0;
}

[data-section="contact-detail"] .detail-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

[data-section="contact-detail"] .map {
    flex-grow: 1;
    aspect-ratio: 1.5;
    position: relative;
    overflow: hidden;
    height: 100%;
    position: sticky;
    top: var(--header-height);
}

[data-section="contact-detail"] .map iframe {
    width: 100%;
    height: 100%;
}

/* CONTACT FORM */
[data-section="contact-form"] [class*="block-content-"] {
    max-width: unset;
}

[data-section="contact-form"] .contact-form {
    display: flex;
    gap: var(--spacing-5xl);
}

[data-section="contact-form"] [class*="block-content-"] {
    max-width: 54.4rem;
    flex-shrink: 0;
}

[data-section="contact-form"] .fields {
    --gap-y: var(--spacing-2xs);
    --gap-x: var(--spacing-3xs);
    grid-gap: var(--gap-y) var(--gap-x);
}

[data-section="contact-form"] .field {
    width: calc(50% - var(--gap-x) / 2);
}

[data-section="contact-form"] form {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

[data-section="contact-form"] .checkbox-group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

input[type="checkbox"] + span {
    font-size: 1rem;
    line-height: 1.65;
}

/* PAGE: TERMS */
/* TERMS */
[data-section="terms"] .entry-content {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: var(--spacing-4xl);
}

/* PAGE: NOT FOUND */
.not-found-page #header .header-menu,
.not-found-page #header .header-actions,
.not-found-page #header .header-menu-ctrl {
    display: none;
}

.not-found-page #footer .bg-decoration {
    display: none;
}
