:root {
    --font-body: "Poppins", sans-serif;
    --black: #000000;
    --white: #ffffff;
    --dark: #231F20;
    --light: #F2F2F2;
    --red: #AF232D;
    --red2: #B1000A;
    --red-lgt: #F0C9C1;
    --green: #13B3AE;
    --green-lgt: #D0F0C0;
    --blue: #1F6EE4;
    --blue-lgt: #C1E9F0;
    --pink: #CD1D8C;
    --pink-lgt: #E1C1F0;
    --yellow: #FBAE3C;
    --yellow-stk: #FFD269;
    --yellow-lgt: #FFDD8C;
    --gray-light: #D9D9D9;
    --gray: #F5F5F5;
    --size-hero-int: clamp(2.25rem, 7.64vw + 1px, 6.875rem);
    --tb-pad: 80px 0;
    --lr-pad: 48px 0;
    --ease-in-quad: cubic-bezier(.55, .085, .68, .53);
    --ease-in-cubic: cubic-bezier(.55, .055, .675, .19);
    --ease-in-quart: cubic-bezier(.895, .03, .685, .22);
    --ease-in-quint: cubic-bezier(.755, .05, .855, .06);
    --ease-in-expo: cubic-bezier(.95, .05, .795, .035);
    --ease-in-circ: cubic-bezier(.6, .04, .98, .335);
    --ease-out-quad: cubic-bezier(.25, .46, .45, .94);
    --ease-out-cubic: cubic-bezier(.215, .61, .355, 1);
    --ease-out-quart: cubic-bezier(.165, .84, .44, 1);
    --ease-out-quint: cubic-bezier(.23, 1, .32, 1);
    --ease-out-expo: cubic-bezier(.19, 1, .22, 1);
    --ease-out-circ: cubic-bezier(.075, .82, .165, 1);
    --ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);
    --ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);
    --ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);
    --ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);
    --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
    --ease-in-out-circ: cubic-bezier(.785, .135, .15, .86);
    --easePunchy: cubic-bezier(.36, .59, .22, 1)
}

.lh-g {
    line-height: 1.2
}

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

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

body {
    line-height: 1
}

ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

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

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

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box
}

html, body {
    height: 100%
}

ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.container-w {
    display: grid;
    gap: 20px
}

@media (max-width: 991px) {
    .container-w {
        gap: 10px
    }
}

@media (min-width: 992px) {
    .container-w {
        grid-template-columns: repeat(12, 1fr);
        grid-auto-rows: auto
    }

    .container-w .col-12 {
        grid-column: span 12
    }

    .container-w .col-11 {
        grid-column: span 11
    }

    .container-w .col-10 {
        grid-column: span 10
    }

    .container-w .col-9 {
        grid-column: span 9
    }

    .container-w .col-8 {
        grid-column: span 8
    }

    .container-w .col-7 {
        grid-column: span 7
    }

    .container-w .col-6 {
        grid-column: span 6
    }

    .container-w .col-5 {
        grid-column: span 5
    }

    .container-w .col-4 {
        grid-column: span 4
    }

    .container-w .col-3 {
        grid-column: span 3
    }

    .container-w .col-2 {
        grid-column: span 2
    }

    .container-w .col-1 {
        grid-column: span 1
    }
}

@media (max-width: 991px) {
    .container-w {
        grid-template-columns: repeat(12, 1fr);
        grid-auto-rows: auto
    }

    .container-w .col-12, .container-w .col-11, .container-w .col-10, .container-w .col-9, .container-w .col-8, .container-w .col-7, .container-w .col-6, .container-w .col-5, .container-w .col-4, .container-w .col-3, .container-w .col-2, .container-w .col-1 {
        grid-column: span 12
    }
}

.pad-com {
    padding: 0 50px
}

@media (max-width: 991px) {
    .pad-com {
        padding: 0 20px
    }
}

.mar-com {
    margin: 60px 0
}

.pad-com-lr {
    padding-left: 50px;
    padding-right: 50px
}

@media (max-width: 991px) {
    .pad-com-lr {
        padding-left: 20px;
        padding-right: 20px
    }
}

[data-animation=head].in-view .elm span {
    transform: translateY(0)
}

[data-animation=head] .elm {
    display: flex;
    overflow: hidden;
    position: relative;
    margin-bottom: 5px
}

[data-animation=head] .elm:nth-child(1) span {
    transition: transform 1.5s var(--ease-out-expo)
}

[data-animation=head] .elm:nth-child(2) {
    margin-top: -.5rem
}

[data-animation=head] .elm:nth-child(2) span {
    transition: transform 1.5s .2s var(--ease-out-expo)
}

[data-animation=head] .elm:nth-child(3) {
    margin-top: -.5rem
}

[data-animation=head] .elm:nth-child(3) span {
    transition: transform 1.5s .4s var(--ease-out-expo)
}

[data-animation=head] .elm:last-child {
    margin-bottom: 0
}

[data-animation=head] .elm span {
    transform: translateY(100%);
    transition-delay: 1s;
    padding-bottom: 6px
}

[data-animation=opacity-up] {
    transition: all 1.5s var(--ease-out-expo);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10%)
}

[data-animation=opacity-up].in-view {
    opacity: 1;
    transform: translateY(0);
    visibility: visible
}

[data-animation=snap-up] {
    transition: transform 1.5s var(--ease-out-expo);
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%)
}

[data-animation=snap-up].in-view {
    opacity: 1;
    transform: translateY(0);
    visibility: visible
}

[data-animation=title] span {
    transition: transform 1.5s var(--ease-out-expo);
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    display: inline-block
}

[data-animation=title].in-view span {
    opacity: 1;
    transform: translateY(0);
    visibility: visible
}

[data-animation=opacity] {
    transition: all 1.5s var(--ease-out-expo);
    opacity: 0;
    visibility: hidden
}

[data-animation=opacity].in-view {
    opacity: 1;
    visibility: visible
}

[data-animation=ctalink] {
    display: inline-block;
    position: relative;
    white-space: nowrap;
    overflow: hidden
}

[data-animation=ctalink] span {
    display: inline-block
}

[data-animation=slide-right] {
    transition: all 1.5s var(--ease-out-expo);
    opacity: 1;
    transform: translate(-100%)
}

[data-animation=slide-right].in-view {
    opacity: 1;
    transform: translate(0)
}

[data-animation=grapes-up].in-view .logo-w img {
    opacity: 1;
    visibility: visible;
    transition: opacity .8s .1s var(--ease-out-expo)
}

[data-animation=grapes-up].in-view .logo-max .text-w .image-container img {
    transform: translateY(0);
    transition: transform 1s .05s var(--ease-out-expo)
}

[data-animation=grapes-up].in-view .logo-max .text-w .ww span {
    transform: translateY(0);
    transition: transform 1s .1s var(--ease-out-expo)
}

[data-animation=grapes-up] .logo-w {
    overflow: hidden
}

[data-animation=grapes-up] .logo-w img {
    opacity: 0;
    visibility: hidden
}

[data-animation=grapes-up] .logo-max .text-w .image-container {
    overflow: hidden
}

[data-animation=grapes-up] .logo-max .text-w .image-container img {
    transform: translateY(100%)
}

[data-animation=grapes-up] .logo-max .text-w .ww {
    display: flex;
    overflow: hidden;
    justify-content: flex-end
}

[data-animation=grapes-up] .logo-max .text-w .ww span {
    transform: translateY(100%)
}

.test-height {
    width: 100%;
    background: gray;
    height: 200vh
}

.lr-pad {
    padding-left: 80px;
    padding-right: 80px
}

@media only screen and (max-width: 1200px) {
    .lr-pad {
        padding-left: 48px;
        padding-right: 48px
    }
}

@media only screen and (max-width: 991px) {
    .lr-pad {
        padding-left: 16px;
        padding-right: 16px
    }
}

.l-pad {
    padding-left: 80px
}

@media only screen and (max-width: 1200px) {
    .l-pad {
        padding-left: 48px
    }
}

@media only screen and (max-width: 991px) {
    .l-pad {
        padding-left: 16px
    }
}

.r-pad {
    padding-right: 80px
}

@media only screen and (max-width: 1200px) {
    .r-pad {
        padding-right: 48px
    }
}

@media only screen and (max-width: 991px) {
    .r-pad {
        padding-right: 16px
    }
}

.tb-pad {
    padding-top: 80px;
    padding-bottom: 80px
}

.tb-pad.double_pad {
    padding-top: 160px;
    padding-bottom: 160px
}

@media only screen and (max-width: 991px) {
    .tb-pad.double_pad {
        padding-top: 80px;
        padding-bottom: 80px
    }
}

.tb-pad.double_pad_b {
    padding-bottom: 160px
}

@media only screen and (max-width: 991px) {
    .tb-pad.double_pad_b {
        padding-bottom: 80px
    }
}

.tb-pad.double_pad_t {
    padding-top: 160px
}

@media only screen and (max-width: 991px) {
    .tb-pad.double_pad_t {
        padding-top: 80px
    }
}

@media only screen and (max-width: 991px) {
    .tb-pad {
        padding-top: 48px;
        padding-bottom: 48px
    }
}

.t-pad {
    padding-top: 60px
}

@media only screen and (max-width: 991px) {
    .t-pad {
        padding-top: 48px
    }
}

.b-pad {
    padding-bottom: 60px
}

@media only screen and (max-width: 991px) {
    .b-pad {
        padding-bottom: 48px
    }
}

.tb-mar {
    margin-top: 60px;
    margin-bottom: 60px
}

@media only screen and (max-width: 991px) {
    .tb-mar {
        margin-top: 48px;
        margin-bottom: 48px
    }
}

.t-mar {
    margin-top: 60px
}

@media only screen and (max-width: 991px) {
    .t-mar {
        margin-top: 48px
    }
}

.b-mar {
    margin-bottom: 60px
}

@media only screen and (max-width: 991px) {
    .b-mar {
        margin-bottom: 48px
    }
}

.common-cta {
    text-decoration: none;
    border: 2px solid var(--black);
    border-radius: 40px;
    background: transparent;
    padding: 16px 32px;
    font-size: 1.5rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
    color: var(--black);
    display: block;
    width: max-content;
    position: relative;
    overflow: hidden;
    transition: color .4s cubic-bezier(.8, 1, 1, .8)
}

.common-cta span {
    position: relative;
    z-index: 2
}

.common-cta:after {
    content: "";
    background: var(--black);
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    clip-path: circle(0% at 50% 100%);
    transition: clip-path .5s cubic-bezier(.5, 1, .5, 1);
    line-height: 1.2
}

.common-cta:hover {
    color: var(--white)
}

.common-cta:hover:after {
    clip-path: circle(150% at 50% 100%)
}

@media only screen and (max-width: 1200px) {
    .common-cta {
        font-size: 1.25rem
    }
}

@media only screen and (max-width: 991px) {
    .common-cta {
        font-size: 1rem
    }
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    height: 100dvh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    background: #000000f2
}

.modal .modal-cont {
    padding: 60px;
    width: 100%;
    height: 100%
}

.modal .modal-cont iframe, .modal .modal-cont video, .modal .modal-cont img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.modal .close-btn {
    position: absolute;
    top: 24px;
    right: 48px;
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: 50%
}

.line {
    transform: translateY(100%);
    will-change: transform
}

.line.line-resized {
    transform: translateY(0)
}

.sm-head p {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--green);
    line-height: 1;
    text-transform: uppercase
}

.swiper-pagination {
    position: relative !important;
    left: 0% !important;
    bottom: auto !important;
    top: auto !important;
    width: 100% !important;
    display: flex;
    justify-content: flex-end;
    padding-right: 24px;
    margin-top: 24px
}

.swiper-pagination-bullet {
    height: 10px !important;
    width: 48px !important;
    border-radius: 10px !important
}

@media only screen and (max-width: 991px) {
    .swiper-pagination-bullet {
        height: 4px !important;
        width: 16px !important
    }
}

.swiper-pagination-bullet-active {
    background: var(--green) !important
}

.swiper-button-disabled {
    filter: grayscale(1);
    cursor: not-allowed;
    opacity: .2
}

.media-fluid {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.cta {
    display: flex;
    align-items: center;
    width: max-content;
    color: var(--white);
    border: 1px solid var(--white);
    border-radius: 999px;
    padding: 8px 8px 8px 16px;
    text-decoration: none;
    gap: 40px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    overflow: hidden;
    position: relative;
    text-transform: uppercase
}

.cta:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--white);
    left: 0;
    top: 0;
    clip-path: circle(0% at calc(100% - 27px) 50%);
    transition: clip-path .4s var(--ease-out-cubic)
}

.cta .maskside {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    z-index: 2
}

.cta .maskside span {
    transition: transform .5s var(--easePunchy)
}

.cta .maskside .btm {
    position: absolute;
    transform: translateY(100%)
}

@media (hover: hover) and (pointer: fine) {
    .cta:hover {
        color: var(--black)
    }

    .cta:hover:before {
        clip-path: circle(150% at 100% 50%)
    }

    .cta:hover .maskside span.top {
        transform: translateY(-120%)
    }

    .cta:hover .maskside span.btm {
        transform: translateY(0)
    }

    .cta:hover .icon {
        background: #dadada
    }
}

.cta .icon {
    display: flex;
    height: 38px;
    width: 38px;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: 50%;
    position: relative;
    z-index: 2;
    transition: background .5s var(--easePunchy)
}

.subtitle {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.subtitle p {
    font-size: 1rem;
    font-weight: 400
}

.subtitle p.title {
    font-size: clamp(2rem, 3.88vw + .1rem, 3.5rem);
    font-weight: 600;
    color: #b1000a;
    overflow: hidden
}

.yt-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    visibility: hidden
}

.yt-modal .modalbx {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #00000080
}

.yt-modal .modalbx .modal-video {
    width: 90%;
    max-height: 90vh;
    aspect-ratio: 16/9
}

.yt-modal .modalbx .modal-video iframe, .yt-modal .modalbx .modal-video video, .yt-modal .modalbx .modal-video img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

header {
    position: sticky;
    top: 0;
    z-index: 999;
    transition: transform .4s cubic-bezier(.7, 0, .2, 1), background-color .4s cubic-bezier(.7, 0, .2, 1)
}

header.bg_white {
    background: var(--white)
}

header.bg_white .navbox .logobox .logo_w {
    display: none
}

header.bg_white .navbox .logobox .logo_b {
    display: block
}

header.bg_white .navbox .right .linkbox a {
    color: var(--red)
}

header.cont_head .navbox .logobox .logo_w {
    display: none
}

@media only screen and (max-width: 991px) {
    header.cont_head .navbox .logobox .logo_w {
        display: block
    }
}

header.cont_head .navbox .logobox .logo_b {
    display: block;
    width: 100%
}

@media only screen and (max-width: 991px) {
    header.cont_head .navbox .logobox .logo_b {
        display: none
    }
}

header.white.hidden {
    transform: translateY(-150%)
}

header.white .navbox .logobox .logo_w {
    display: none
}

header.white .navbox .logobox .logo_b {
    display: block
}

header.white .navbox .right .linkbox a {
    color: var(--red)
}

header .navbox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 16px;
    padding-bottom: 16px;
    position: relative
}

header .navbox:before {
    content: "";
    width: 60%;
    height: calc(50% + 8px);
    clip-path: polygon(0 0, 100% 0, 0 100%);
    background: #af232d;
    position: absolute;
    left: 0;
    top: 0
}

@media only screen and (max-width: 991px) {
    header .navbox:before {
        width: 90%
    }
}

header .navbox .right {
    position: relative;
    z-index: 2
}

@media only screen and (max-width: 991px) {
    header .navbox .right {
        display: none
    }
}

header .navbox .right .linkbox a {
    opacity: 1;
    transform: none;
    font-size: 1.5rem
}

header .navbox .right .linkbox a .mask {
    height: 1.5rem
}

header .navbox .logobox {
    display: flex;
    position: relative;
    z-index: 2
}

header .navbox .logobox a {
    display: flex;
    transform: translateY(0);
    transition: transform .2s cubic-bezier(.075, .82, .165, 1)
}

@media only screen and (max-width: 991px) {
    header .navbox .logobox a {
        transform: translateY(0)
    }

    header .navbox .logobox a img {
        width: 80px
    }
}

header .navbox .logobox a .logo_w {
    display: block
}

@media only screen and (max-width: 991px) {
    header .navbox .logobox a .logo_w {
        object-position: left;
        width: 100% !important
    }
}

header .navbox .logobox a .logo_b {
    display: none
}

@media only screen and (max-width: 991px) {
    header .navbox .logobox a .logo_b {
        object-position: left;
        width: 100% !important
    }
}

header .navbox .hamburger-box {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 2
}

header .navbox .hamburger-box .hamburger {
    display: flex;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    position: relative;
    height: 50px;
    width: 54px;
    background: #ffffff40;
    -webkit-backdrop-filter: blur(60px);
    backdrop-filter: blur(60px);
    border-radius: 8px
}

@media only screen and (max-width: 991px) {
    header .navbox .hamburger-box .hamburger {
        height: 40px;
        width: 44px
    }
}

header .navbox .hamburger-box .hamburger span {
    width: 40px;
    height: 4px;
    background: var(--white);
    display: block;
    transition: all .3s ease-in-out;
    position: absolute;
    border-radius: 10px;
    left: 8px
}

@media only screen and (max-width: 991px) {
    header .navbox .hamburger-box .hamburger span {
        width: 30px;
        height: 2px
    }
}

header .navbox .hamburger-box .hamburger span:nth-child(1) {
    top: 13px
}

@media only screen and (max-width: 991px) {
    header .navbox .hamburger-box .hamburger span:nth-child(1) {
        top: 9px
    }
}

header .navbox .hamburger-box .hamburger span:nth-child(2) {
    top: 23px
}

@media only screen and (max-width: 991px) {
    header .navbox .hamburger-box .hamburger span:nth-child(2) {
        top: 19px
    }
}

header .navbox .hamburger-box .hamburger span:nth-child(3) {
    top: 33px
}

@media only screen and (max-width: 991px) {
    header .navbox .hamburger-box .hamburger span:nth-child(3) {
        top: 29px
    }
}

header .navbox .hamburger-box .hamburger.isopen {
    background: var(--white)
}

header .navbox .hamburger-box .hamburger.isopen span {
    background: var(--black);
    width: 40px
}

@media only screen and (max-width: 991px) {
    header .navbox .hamburger-box .hamburger.isopen span {
        width: 30px
    }
}

header .navbox .hamburger-box .hamburger.isopen span:nth-child(1) {
    top: calc(50% - 2px);
    transform: rotate(45deg)
}

header .navbox .hamburger-box .hamburger.isopen span:nth-child(2) {
    opacity: 0
}

header .navbox .hamburger-box .hamburger.isopen span:nth-child(3) {
    top: calc(50% - 2px);
    transform: rotate(-45deg)
}

header .navbox .navigations {
    position: absolute;
    left: 0;
    top: 0;
    background: var(--white);
    width: max-content;
    z-index: 1;
    clip-path: circle(0% at 0% 0%);
    width: 100%;
    height: 100vh;
    overflow: hidden
}

@media only screen and (max-width: 991px) {
    header .navbox .navigations {
        left: 0;
        clip-path: circle(0% at 100% 0%)
    }
}

header .navbox .navigations ul {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 60px 24px;
    width: 50%
}

@media only screen and (max-width: 991px) {
    header .navbox .navigations ul {
        width: 100%;
        padding-top: 140px
    }
}

header .navbox .navigations ul.other {
    background: var(--white);
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    transform: translate(100%);
    transition: transform .3s var(--easePunchy)
}

header .navbox .navigations ul.other#productslist {
    gap: 24px
}

header .navbox .navigations ul.other .linkbox a {
    transform: translateY(0);
    opacity: 1;
    color: var(--black)
}

header .navbox .navigations ul.other .linkbox a:hover {
    color: var(--red)
}

@media only screen and (max-width: 991px) {
    header .navbox .navigations ul {
        gap: 16px
    }
}

header .navbox .navigations .navgrid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 0px;
    width: 100%;
    height: 100%
}

header .navbox .navigations .navgrid.shown .linkside {
    grid-column: span 8
}

header .navbox .navigations .navgrid.shown .nav-img {
    grid-column: span 4
}

header .navbox .navigations .navgrid .linkside {
    grid-column: span 6;
    display: flex;
    background: var(--red2);
    position: relative
}

@media only screen and (max-width: 991px) {
    header .navbox .navigations .navgrid .linkside {
        grid-column: span 12
    }
}

header .navbox .navigations .navgrid .nav-img {
    grid-column: span 6
}

@media only screen and (max-width: 991px) {
    header .navbox .navigations .navgrid .nav-img {
        display: none
    }
}

header .navbox .navigations .navgrid .nav-img .imagebox {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: scale(1)
}

header .linkbox {
    overflow: hidden
}

header .linkbox .back-btn {
    display: flex;
    gap: 4px;
    align-items: center;
    cursor: pointer
}

header .linkbox .back-btn svg {
    transform: rotate(180deg)
}

header .linkbox.btn-li {
    margin-top: 24px
}

header .linkbox a {
    text-decoration: none;
    display: inline-block;
    transform: translateY(100%);
    opacity: 0;
    font-size: 2.125rem;
    font-weight: 400;
    font-family: var(--font-body);
    color: var(--yellow);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px
}

@media only screen and (max-width: 991px) {
    header .linkbox a {
        font-size: 1.5rem
    }
}

header .linkbox a .icon {
    display: flex;
    transition: all .3s ease-out
}

header .linkbox a .icon svg {
    position: relative;
    top: 4px
}

@media only screen and (max-width: 991px) {
    header .linkbox a .icon svg {
        top: 0
    }
}

header .linkbox a .icon svg path {
    stroke: var(--yellow)
}

header .linkbox a:hover .icon {
    display: flex;
    transform: translate(2px)
}

header .linkbox a:hover .icon svg path {
    stroke: var(--white)
}

header .linkbox a.btn {
    padding: 12px 16px;
    border: 1px solid var(--yellow);
    font-size: .875rem;
    text-transform: uppercase;
    display: inline-block;
    transform: translateY(0)
}

header .linkbox a .mask {
    position: relative;
    opacity: 1;
    top: 0;
    left: 0;
    visibility: visible;
    height: 2.75rem;
    overflow: hidden;
    display: block
}

@media only screen and (max-width: 991px) {
    header .linkbox a .mask {
        height: 2rem
    }
}

header .linkbox a .mask .link-container {
    transition: transform .4s ease
}

header .linkbox a .mask .link-container .titlem {
    display: block;
    transition: transform .4s ease;
    white-space: nowrap
}

header .linkbox a .mask .link-container .titlem.link-title1 {
    transform-origin: right center
}

header .linkbox a .mask .link-container .titlem.link-title2 {
    transform-origin: left center;
    transform: rotate(20deg)
}

@media (hover: hover) and (pointer: fine) {
    header .linkbox a:hover:hover {
        color: var(--white)
    }

    header .linkbox a:hover:hover .link-container {
        transform: translateY(-50%)
    }

    header .linkbox a:hover:hover .link-container .titlem.link-title1 {
        transform: rotate(20deg)
    }

    header .linkbox a:hover:hover .link-container .titlem.link-title2 {
        transform: rotate(0)
    }
}

footer {
    background: var(--red)
}

@media only screen and (max-width: 991px) {
    footer {
        padding: 60px 0 0
    }
}

footer .top-sec {
    background: var(--white);
    border-radius: 40px;
    display: flex;
    justify-content: space-between;
    padding: 100px
}

@media only screen and (max-width: 991px) {
    footer .top-sec {
        flex-direction: column;
        padding: 48px 16px;
        align-items: center;
        text-align: center
    }
}

footer .top-sec .left p {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4
}

@media only screen and (max-width: 991px) {
    footer .top-sec .left p {
        font-size: 1.5rem
    }
}

footer .top-sec .left p span {
    color: var(--red)
}

@media only screen and (max-width: 991px) {
    footer .top-sec .left p.btm {
        padding: 0 16px;
        font-size: 1.5rem;
        margin: 32px auto
    }
}

footer .top-sec .right a {
    width: 140px;
    aspect-ratio: 1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue-lgt);
    color: var(--green);
    text-decoration: none;
    text-transform: uppercase;
    font-size: .875rem;
    font-weight: 700;
    text-align: center
}

footer .bot-sec {
    margin-top: 160px
}

@media only screen and (max-width: 991px) {
    footer .bot-sec {
        margin-top: 40px
    }
}

footer .bot-sec .det-box {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 24px;
    width: 100%
}

@media only screen and (max-width: 991px) {
    footer .bot-sec .det-box {
        gap: 40px 0
    }
}

footer .bot-sec .det-box p {
    color: var(--white)
}

footer .bot-sec .det-box p.title {
    color: var(--white);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 24px
}

@media only screen and (max-width: 991px) {
    footer .bot-sec .det-box p.title {
        font-size: 1.25rem
    }
}

@media only screen and (max-width: 991px) {
    footer .bot-sec .det-box p {
        font-size: 1rem
    }
}

footer .bot-sec .det-box .left-det {
    grid-column: span 4
}

@media only screen and (max-width: 991px) {
    footer .bot-sec .det-box .left-det {
        grid-column: span 12
    }
}

footer .bot-sec .det-box .left-det p {
    font-size: 1.5rem;
    line-height: 1.4;
    font-weight: 400
}

footer .bot-sec .det-box .left-det p.title {
    font-weight: 700;
    font-size: 1.5rem
}

@media only screen and (max-width: 991px) {
    footer .bot-sec .det-box .left-det p {
        font-size: 1rem
    }
}

footer .bot-sec .det-box .right-det {
    grid-column: 10/span 3
}

@media only screen and (max-width: 1200px) {
    footer .bot-sec .det-box .right-det {
        grid-column: 9/span 4
    }
}

@media only screen and (max-width: 991px) {
    footer .bot-sec .det-box .right-det {
        grid-column: span 12
    }
}

footer .bot-sec .det-box .right-det a {
    text-decoration: none
}

footer .bot-sec .det-box .right-det a:nth-last-child(1) {
    display: block;
    margin-top: 16px
}

footer .bot-sec .det-box .right-det a .flex {
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--white);
    font-size: 1.5rem;
    font-weight: 400
}

@media only screen and (max-width: 991px) {
    footer .bot-sec .det-box .right-det a .flex {
        font-size: 1rem
    }
}

footer .foot-navs {
    margin-top: 40px;
    border-top: 1px solid var(--white)
}

footer .foot-navs ul {
    list-style-type: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px
}

@media only screen and (max-width: 991px) {
    footer .foot-navs ul {
        gap: 8px 16px
    }
}

footer .foot-navs ul .linkbox {
    overflow: hidden
}

footer .foot-navs ul .linkbox.btn-li {
    margin-top: 24px
}

footer .foot-navs ul .linkbox a {
    text-decoration: none;
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    font-family: var(--font-syne);
    color: var(--white)
}

footer .foot-navs ul .linkbox a.btn {
    padding: 12px 16px;
    border: 1px solid var(--black);
    font-size: .875rem;
    text-transform: uppercase;
    display: inline-block;
    transform: translateY(0)
}

footer .foot-navs ul .linkbox a .mask {
    height: 1.25rem;
    overflow: hidden;
    display: block
}

footer .foot-navs ul .linkbox a .mask .link-container {
    transition: transform .4s ease
}

footer .foot-navs ul .linkbox a .mask .link-container .titlem {
    display: block;
    transition: transform .4s ease;
    white-space: nowrap
}

footer .foot-navs ul .linkbox a .mask .link-container .titlem.link-title1 {
    transform-origin: right center
}

footer .foot-navs ul .linkbox a .mask .link-container .titlem.link-title2 {
    transform-origin: left center;
    transform: rotate(20deg)
}

footer .foot-navs ul .linkbox a:hover .link-container {
    transform: translateY(-50%)
}

footer .foot-navs ul .linkbox a:hover .link-container .titlem.link-title1 {
    transform: rotate(20deg)
}

footer .foot-navs ul .linkbox a:hover .link-container .titlem.link-title2 {
    transform: rotate(0)
}

.privacy .pr_title p {
    margin-top: 0;
    margin-bottom: 16px;
    font-size: clamp(2rem, 4.44vw + .1rem, 4rem);
    font-weight: 700
}

.privacy .content h1, .privacy .content h2, .privacy .content h3, .privacy .content h4, .privacy .content h5, .privacy .content h6 {
    margin-bottom: 15px;
    font-weight: 700;
    color: var(--black)
}

.privacy .content h1 {
    font-size: 3rem;
    font-weight: 700
}

@media only screen and (max-width: 991px) {
    .privacy .content h1 {
        font-size: 2rem
    }
}

.privacy .content h2 {
    font-size: 2.5rem
}

@media only screen and (max-width: 991px) {
    .privacy .content h2 {
        font-size: 1.5rem
    }
}

.privacy .content h3 {
    font-size: 1.75rem
}

.privacy .content h4 {
    font-size: 1.25rem
}

@media only screen and (max-width: 991px) {
    .privacy .content h4 {
        font-size: 1.125rem
    }
}

.privacy .content h5, .privacy .content h6 {
    font-size: 1rem
}

.privacy .content p {
    margin-bottom: 10px;
    line-height: 1.6;
    color: var(--black);
    font-size: 1rem;
    font-weight: 300
}

.privacy .content a {
    color: #1aa3ee;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 300
}

.privacy .content a:hover {
    text-decoration: underline
}

.privacy .content ul, .privacy .content ol {
    margin-bottom: 20px;
    padding-left: 40px;
    list-style-type: inherit
}

.privacy .content ul li, .privacy .content ol li {
    margin-bottom: 10px
}

.privacy .content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 20px;
    border-radius: 8px
}

.privacy .content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px
}

.privacy .content table th, .privacy .content table td {
    padding: 10px 15px;
    border: 1px solid #ddd;
    text-align: left
}

.privacy .content th {
    background-color: #f1f1f1
}

.privacy .content blockquote {
    margin: 20px 0;
    padding: 15px 20px;
    background-color: #f1f1f1;
    border-left: 4px solid #0077cc;
    font-style: italic;
    color: #555
}

.privacy .content pre {
    background-color: #272822;
    color: #f8f8f2;
    padding: 15px;
    border-radius: 5px;
    overflow-x: auto
}

.privacy .content code {
    font-family: Courier New, monospace
}

.privacy .content hr {
    border: none;
    height: 1px;
    background-color: #ddd;
    margin: 30px 0
}

.privacy .content .imagebox {
    display: flex;
    gap: 0 16px;
    flex-wrap: wrap
}

.privacy .content .imagebox img {
    flex: 1;
    min-width: 33.33%;
    max-width: 100%;
    border-radius: 16px
}

@media only screen and (max-width: 767px) {
    .privacy .content .imagebox img {
        min-width: 100%
    }
}

.hero {
    margin-top: -120px;
    position: relative
}

.hero .playbtn {
    position: absolute;
    right: 48px;
    bottom: 24px;
    cursor: pointer
}

.hero .item {
    padding-top: 52.0833333333%;
    position: relative;
    overflow: hidden
}

@media only screen and (max-width: 991px) {
    .hero .item {
        padding-top: 100%
    }
}

.hero .item[data-url] {
    cursor: url(/img/playbtn.svg) 62 62, auto
}

.hero .nav {
    position: absolute;
    top: 50%;
    height: 40px;
    width: 40px;
    cursor: pointer;
    z-index: 3;
    transform: translateY(-50%);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%
}

.hero .nav.hero-prev {
    left: 16px
}

.hero .nav.hero-next {
    right: 16px
}

.hero .nav.hero-next svg {
    transform: rotate(180deg)
}

.hero .nav.swiper-button-disabled {
    display: none
}

.products {
    position: relative;
    overflow: hidden;
    min-height: 100vh
}

.products .blob-container {
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0
}

.products .blob-container.yellow svg path {
    fill: #fbae3c;
    stroke: #ffd269
}

.products .blob-container.pink svg path {
    fill: #ef94a5;
    stroke: #f5bac5
}

.products .blob-container svg {
    height: 50vh;
    width: 100%;
    display: block;
    overflow: visible
}

@media only screen and (max-width: 991px) {
    .products .blob-container svg {
        height: 30vh;
        transform: translateY(50%)
    }
}

.products .blob-container svg.desktop {
    display: block
}

@media only screen and (max-width: 991px) {
    .products .blob-container svg.desktop {
        display: none
    }
}

.products .blob-container svg.mobile {
    display: none
}

@media only screen and (max-width: 991px) {
    .products .blob-container svg.mobile {
        display: block
    }
}

.products .blob-container svg path {
    transform: translateY(100px)
}

.products .prodmain {
    min-height: 100vh;
    width: 100%
}

.products .prodmain .product-slide {
    position: absolute;
    text-align: center;
    min-height: 100vh;
    height: 100%;
    width: 100%;
    clip-path: circle(0% at 0 0);
    top: 0;
    left: 0
}

@media only screen and (max-width: 991px) {
    .products .prodmain .product-slide {
        padding: 40px 24px
    }
}

.products .prodmain .product-slide.active {
    clip-path: circle(150% at 0 0)
}

.products .prodmain .product-slide.yellow {
    background: var(--yellow-lgt)
}

.products .prodmain .product-slide.yellow p {
    color: #b1000a
}

.products .prodmain .product-slide.yellow .blob-container svg path {
    fill: #fbae3c;
    stroke: #ffd269
}

.products .prodmain .product-slide.pink {
    background: #fbe4e9
}

.products .prodmain .product-slide.pink p {
    color: #270b00
}

.products .prodmain .product-slide.pink .blob-container svg path {
    fill: #ef94a5;
    stroke: #f5bac5
}

.products .prodmain .product-slide.green {
    background: #ede6c5
}

.products .prodmain .product-slide.green p {
    color: #4f7129
}

.products .prodmain .product-slide.green .blob-container svg path {
    fill: #648d36;
    stroke: #cee5b2
}

.products .prodmain .product-slide.purple {
    background: #b6bbbe
}

.products .prodmain .product-slide.purple p {
    color: #4b4664
}

.products .prodmain .product-slide.purple .blob-container svg path {
    fill: #4b4664;
    stroke: #5f5788
}

.products .prodmain .product-slide.brown {
    background: #f5cb85
}

.products .prodmain .product-slide.brown p {
    color: #270b00
}

.products .prodmain .product-slide.brown .blob-container svg path {
    fill: #543b2e;
    stroke: #755b4e
}

.products .prodmain .product-slide.lime {
    background: #d3d97c
}

.products .prodmain .product-slide.lime p {
    color: #2f924b
}

.products .prodmain .product-slide.lime .blob-container svg path {
    fill: #2f924b;
    stroke: #b0d08c
}

.products .prodmain .product-slide.yp {
    background: #fee001
}

.products .prodmain .product-slide.yp p {
    color: #623593
}

.products .prodmain .product-slide.yp .blob-container svg path {
    fill: #5f5788;
    stroke: #a6a0c4
}

.products .prodmain .product-slide.lbrown {
    background: #fef0b9
}

.products .prodmain .product-slide.lbrown p {
    color: #a73922
}

.products .prodmain .product-slide.lbrown .blob-container svg path {
    fill: #a73922;
    stroke: #812818
}

.products .prodmain .product-slide.yred {
    background: #f6c630
}

.products .prodmain .product-slide.yred p {
    color: #b1000a
}

.products .prodmain .product-slide.yred .blob-container svg path {
    fill: #bc242d;
    stroke: #a92028
}

.products .prodmain .product-slide .topbox {
    padding-top: 24px
}

.products .prodmain .product-slide .topbox p {
    font-size: 1.4rem;
    font-weight: 300;
    max-width: 650px;
    margin: 0 auto;
    overflow: hidden
}

@media only screen and (max-width: 991px) {
    .products .prodmain .product-slide .topbox p {
        font-size: 1rem
    }
}

.products .prodmain .product-slide .topbox p.title {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 4px
}

@media only screen and (max-width: 991px) {
    .products .prodmain .product-slide .topbox p.title {
        font-size: 1.2rem
    }
}

.products .prodmain .product-slide .topbox p span {
    display: inline-block;
    opacity: 0;
    transform: translateY(40px)
}

.products .prodmain .product-slide .prod-title p {
    font-size: clamp(3rem, 9.72vw + .1rem, 8.75rem);
    font-weight: 600;
    line-height: 1;
    margin: 24px auto 0;
    white-space: nowrap;
    text-transform: uppercase
}

@media only screen and (max-width: 991px) {
    .products .prodmain .product-slide .prod-title p {
        white-space: inherit;
        font-size: 2.5rem
    }
}

.products .prodmain .product-slide .prod-title p span {
    display: inline-block;
    opacity: 0;
    transform: translateY(40px)
}

.products .prodmain .product-slide .imagebox {
    width: 33%;
    position: absolute;
    overflow: hidden;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2
}

@media only screen and (max-width: 1200px) {
    .products .prodmain .product-slide .imagebox {
        width: 40%;
        top: 65%
    }
}

@media only screen and (max-width: 991px) {
    .products .prodmain .product-slide .imagebox {
        width: 70%;
        top: 50%
    }
}

.products .prodmain .product-slide .imagebox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(.8);
    opacity: 0;
    display: block
}

.products .product-cirlce {
    transform: rotate(205deg);
    position: absolute;
    bottom: -5.5vw;
    right: -8vw;
    z-index: 2
}

@media only screen and (max-width: 1200px) {
    .products .product-cirlce {
        bottom: -3vw;
        right: -8vw
    }
}

@media only screen and (max-width: 991px) {
    .products .product-cirlce {
        right: 15vw;
        bottom: -30vw;
        transform: rotate(270deg)
    }
}

.products .product-cirlce .circle {
    border-radius: 50%;
    width: 25vw;
    height: 25vw
}

@media only screen and (max-width: 991px) {
    .products .product-cirlce .circle {
        width: 70vw;
        height: 70vw
    }
}

.products .product-cirlce .circle .circlepath {
    width: 100%;
    height: 100%;
    opacity: 0
}

.products .product-cirlce .circle .prd-item {
    width: 8vw;
    height: 8vw;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer
}

@media only screen and (max-width: 991px) {
    .products .product-cirlce .circle .prd-item {
        height: 20vw;
        width: 20vw
    }
}

.products .product-cirlce .circle .prd-item img {
    width: 60%;
    height: 60%;
    object-fit: contain;
    display: block;
    transform: rotate(-205deg)
}

@media only screen and (max-width: 991px) {
    .products .product-cirlce .circle .prd-item img {
        transform: rotate(-270deg)
    }
}

.products .product-cirlce .circle .prd-item.active {
    border: 4px solid #fff
}

.midbanner img {
    width: 100%;
    object-fit: contain;
    display: block
}

.int-hero {
    margin-top: -120px;
    position: relative;
    padding-top: 45.1388888889%
}

@media only screen and (max-width: 991px) {
    .int-hero {
        padding-top: 100%
    }
}

.int-hero img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block
}

.prodsec .prodbx:nth-child(2n) .prod_gr .left {
    order: 2
}

.prodsec .prodbx:nth-child(2n) .prod_gr .rgt {
    order: 1
}

.prodsec .prodbx .prod_gr .left {
    position: relative
}

.prodsec .prodbx .prod_gr .left .imagebox {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.prodsec .prodbx .prod_gr .left .imagebox img {
    width: 60%;
    height: 60%;
    object-fit: contain;
    position: absolute;
    top: 20%;
    left: 20%;
    transition: opacity .2s ease-out
}

.prodsec .prodbx .prod_gr .left .imagebox img.bottom {
    opacity: 0
}

.prodsec .prodbx .prod_gr .left .imagebox img.top, .prodsec .prodbx .prod_gr .left .imagebox:hover img.bottom {
    opacity: 1
}

.prodsec .prodbx .prod_gr .left .imagebox:hover img.top {
    opacity: 0
}

.prodsec .prodbx .prod_gr .left .textbox {
    position: relative;
    height: 100%
}

.prodsec .prodbx .prod_gr .left .textbox .text {
    font-weight: 400;
    letter-spacing: 1.2px;
    font-size: 10px;
    fill: #fff
}

.prodsec .prodbx .prod_gr .left .textbox #rotatingText {
    animation-name: rotate-circle;
    animation-duration: 10s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    width: 100%;
    height: 100%
}

@keyframes rotate-circle {
    to {
        transform: rotate(-1turn)
    }
}

.prodsec .prodbx .prod_gr .rgt .content {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prodsec .prodbx .prod_gr .rgt .content p {
    color: #fff;
    line-height: 1.4;
    font-size: 1rem;
    font-weight: 400;
    overflow: hidden
}

.prodsec .prodbx .prod_gr .rgt .content p.title {
    font-size: clamp(4rem, 6.94vw + .1rem, 6.25rem);
    font-weight: 600;
    display: flex;
    overflow: hidden;
    position: relative
}

.prodsec .prodbx .prod_gr .rgt .content .linkbox {
    margin-top: 16px
}

.cr_box .journey-swiper {
    margin-top: 32px
}

.cr_box .journey-swiper .jr-card {
    position: relative;
    overflow: hidden;
    cursor: pointer
}

.cr_box .journey-swiper .jr-card .journeycard {
    padding-top: 144.9275362319%;
    position: relative
}

.cr_box .journey-swiper .jr-card .btn-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0006;
    display: flex;
    align-items: center;
    justify-content: center
}

.cr_box .journey-swiper .jr-card .btn-layer .icon {
    height: 110px;
    width: 110px;
    border-radius: 50%
}

.cr_box .journey-swiper .jr-card .btn-layer .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

@media only screen and (max-width: 991px) {
    html {
        scroll-padding: 100px
    }
}

body {
    padding: 0;
    font-size: 16px;
    line-height: auto;
    font-family: var(--font-body);
    font-weight: 400;
    color: var(--black);
    background-color: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    min-width: 300px;
    width: 100%;
    max-width: 2048px;
    margin: 0 auto;
    line-height: 1.3
}

body.scrollBlock {
    overflow: hidden;
    height: 100svh !important
}

.noDisplay {
    display: none
}

.desktopOnly {
    display: block
}

@media only screen and (max-width: 991px) {
    .desktopOnly {
        display: none
    }
}

.mobileOnly {
    display: none
}

@media only screen and (max-width: 991px) {
    .mobileOnly {
        display: block
    }
}

main {
    min-height: 100vh;
    background-color: var(--white)
}

@media only screen and (max-width: 991px) {
    main {
        min-height: unset
    }
}

.container {
    width: 100%
}

.hero-red {
    background: var(--red);
    margin-top: -132px
}

.cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background: var(--white);
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    mix-blend-mode: difference
}

@media only screen and (max-width: 991px) {
    .cursor {
        display: none
    }
}

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

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

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

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

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

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

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

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

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

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

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide, .swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

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

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

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

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

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

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

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

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

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

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

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

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

.swiper-navigation-disabled .swiper-button-prev, .swiper-navigation-disabled .swiper-button-next {
    display: none !important
}

.swiper-button-prev svg, .swiper-button-next svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-prev svg, .swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg)
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-lock {
    display: none
}

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

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

.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

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

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

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

.swiper-pagination-disabled>.swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

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

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

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

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

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

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

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

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

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

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

.swiper-pagination-bullet:only-child {
    display: none !important
}

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

.swiper-vertical>.swiper-pagination-bullets, .swiper-pagination-vertical.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

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

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

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

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

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

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

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

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

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

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

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

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

.swiper-pagination-lock {
    display: none
}