.hero-title {
    font-size: 48px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 90%;
    letter-spacing: 1px
}

@media (min-width:768px) {
    .hero-title {
        font-size: 80px;
        letter-spacing: 1.5px
    }
}

@media (min-width:1024px) {
    .hero-title {
        font-size: 124px;
        letter-spacing: 2px
    }
}

.hero-title {
    font-family: Montserrat,sans-serif
}

@font-face {
    font-family: Random Grotesque Standard;
    src: url(../assets/fonts/RG-StandardBook.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Standard;
    src: url(../assets/fonts/RG-StandardMedium.ttf) format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Standard;
    src: url(../assets/fonts/RG-StandardMediumItalic.ttf) format("truetype");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Standard;
    src: url(../assets/fonts/RG-StandardSemibold.ttf) format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Standard;
    src: url(../assets/fonts/RG-StandardSemiboldItalic.ttf) format("truetype");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Standard;
    src: url(../assets/fonts/RG-StandardBold.ttf) format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Standard;
    src: url(../assets/fonts/RG-StandardBoldItalicqwer.ttf) format("truetype");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Slim;
    src: url(../assets/fonts/RG-SlimBlackItalic.ttf) format("truetype");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Slim;
    src: url(../assets/fonts/RG-SlimBook.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Spacious;
    src: url(../assets/fonts/RG-SpaciousBlackItalic.ttf) format("truetype");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: Random Grotesque Spacious;
    src: url(../assets/fonts/RG-SpaciousBook.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

*, :after, :before {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:;
    --tw-pan-y:;
    --tw-pinch-zoom:;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:;
    --tw-gradient-via-position:;
    --tw-gradient-to-position:;
    --tw-ordinal:;
    --tw-slashed-zero:;
    --tw-numeric-figure:;
    --tw-numeric-spacing:;
    --tw-numeric-fraction:;
    --tw-ring-inset:;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59,130,246,.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:;
    --tw-brightness:;
    --tw-contrast:;
    --tw-grayscale:;
    --tw-hue-rotate:;
    --tw-invert:;
    --tw-saturate:;
    --tw-sepia:;
    --tw-drop-shadow:;
    --tw-backdrop-blur:;
    --tw-backdrop-brightness:;
    --tw-backdrop-contrast:;
    --tw-backdrop-grayscale:;
    --tw-backdrop-hue-rotate:;
    --tw-backdrop-invert:;
    --tw-backdrop-opacity:;
    --tw-backdrop-saturate:;
    --tw-backdrop-sepia:;
    --tw-contain-size:;
    --tw-contain-layout:;
    --tw-contain-paint:;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:;
    --tw-pan-y:;
    --tw-pinch-zoom:;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:;
    --tw-gradient-via-position:;
    --tw-gradient-to-position:;
    --tw-ordinal:;
    --tw-slashed-zero:;
    --tw-numeric-figure:;
    --tw-numeric-spacing:;
    --tw-numeric-fraction:;
    --tw-ring-inset:;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59,130,246,.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:;
    --tw-brightness:;
    --tw-contrast:;
    --tw-grayscale:;
    --tw-hue-rotate:;
    --tw-invert:;
    --tw-saturate:;
    --tw-sepia:;
    --tw-drop-shadow:;
    --tw-backdrop-blur:;
    --tw-backdrop-brightness:;
    --tw-backdrop-contrast:;
    --tw-backdrop-grayscale:;
    --tw-backdrop-hue-rotate:;
    --tw-backdrop-invert:;
    --tw-backdrop-opacity:;
    --tw-backdrop-saturate:;
    --tw-backdrop-sepia:;
    --tw-contain-size:;
    --tw-contain-layout:;
    --tw-contain-paint:;
    --tw-contain-style:
}

/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/ *, :after, :before {
    box-sizing: border-box;
    border: 0 solid
}

:after, :before {
    --tw-content: ""
}

:host, html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    text-decoration: inherit
}

b, strong {
    font-weight: bolder
}

code, kbd, pre, samp {
    font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button, select {
    text-transform: none
}

button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre {
    margin: 0
}

fieldset {
    margin: 0
}

fieldset, legend {
    padding: 0
}

menu, ol, ul {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

    input::-moz-placeholder, textarea::-moz-placeholder {
        opacity: 1;
        color: #9ca3af
    }

    input::placeholder, textarea::placeholder {
        opacity: 1;
        color: #9ca3af
    }

[role=button], button {
    cursor: pointer
}

:disabled {
    cursor: default
}

audio, canvas, embed, iframe, img, object, svg, video {
    display: block;
    vertical-align: middle
}

img, video {
    max-width: 100%;
    height: auto
}

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1rem;
    padding-left: 1rem
}

@media (min-width:100%) {
    .container {
        max-width: 100%;
        padding-right: 1rem;
        padding-left: 1rem
    }
}

@media (min-width:1344px) {
    .container {
        max-width: 1344px
    }
}

@media (min-width:1380px) {
    .container {
        max-width: 1380px;
        padding-right: 1rem;
        padding-left: 1rem
    }
}

.h1 {
    font-size: 32px;
    font-weight: 500;
    line-height: 90%;
    /*letter-spacing: 1px*/
}

@media (min-width:768px) {
    .h1 {
        font-size: 48px;
        /*letter-spacing: 1.5px*/
    }
}

@media (min-width:1024px) {
    .h1 {
        font-size: 72px;
        /*letter-spacing: 2px*/
    }
}

.h2 {
    font-size: 28px;
    font-weight: 500;
    line-height: 100%;
    /*letter-spacing: 1px*/
}

@media (min-width:768px) {
    .h2 {
        font-size: 40px;
        /*letter-spacing: 1.5px*/
    }
}

@media (min-width:1024px) {
    .h2 {
        font-size: 56px;
        /*letter-spacing: 2px*/
    }
}

.h3 {
    font-size: 24px;
    font-weight: 500;
    line-height: 100%;
    /*letter-spacing: 1px*/
}

@media (min-width:768px) {
    .h3 {
        font-size: 26px;
        /*letter-spacing: 1.5px*/
    }
}

@media (min-width:1024px) {
    .h3 {
        font-size: 44px;
        /*letter-spacing: 2px*/
    }
}

.h4 {
    font-size: 20px;
    font-weight: 500;
    line-height: 100%;
    /*letter-spacing: 1px*/
}

@media (min-width:768px) {
    .h4 {
        font-size: 26px;
        /*letter-spacing: 1.5px*/
    }
}

@media (min-width:1024px) {
    .h4 {
        font-size: 26px;
        /*letter-spacing: 2px*/
    }
}

.h5 {
    font-size: 18px;
    font-weight: 500;
    line-height: 100%;
    /*letter-spacing: .5px*/
}

@media (min-width:768px) {
    .h5 {
        font-size: 21px;
        /*letter-spacing: .75px*/
    }
}

@media (min-width:1024px) {
    .h5 {
        font-size: 24px;
        /*letter-spacing: 1px*/
    }
}

.body1 {
    font-size: 24px;
    font-weight: 400;
    line-height: 120%
}

@media (min-width:768px) {
    .body1 {
        font-size: 20px
    }
}

@media (min-width:1024px) {
    .body1 {
        font-size: 24px
    }
}

.body2 {
    font-size: 20px;
    font-weight: 400;
    line-height: 120%
}

@media (min-width:768px) {
    .body2 {
        font-size: 17px
    }
}

@media (min-width:1024px) {
    .body2 {
        font-size: 20px
    }
}

.body3 {
    font-size: 16px;
    font-weight: 400;
    line-height: 120%
}

@media (min-width:768px) {
    .body3 {
        font-size: 14px
    }
}

@media (min-width:1024px) {
    .body3 {
        font-size: 16px
    }
}

.btn-primary {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1%;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s;
    background-color: rgb(189 26 26/var(--tw-bg-opacity,1))
}

    .btn-primary, .btn-primary:hover {
        --tw-bg-opacity: 1;
        --tw-text-opacity: 1;
        color: rgb(255 255 255/var(--tw-text-opacity,1))
    }

        .btn-primary:hover {
            background-color: rgb(129 0 0/var(--tw-bg-opacity,1))
        }

        .btn-primary:disabled {
            cursor: not-allowed;
            background-color: hsla(0,0%,7%,.4);
            color: hsla(0,0%,7%,.4)
        }

.btn-primary {
    border-width: 1px;
    border-color: transparent;
    border-radius: .75rem;
    padding: .25rem 1rem;
    min-height: 42px
}

@media (min-width:768px) {
    .btn-primary {
        border-radius: 1rem;
        padding: .75rem 1.25rem;
        font-size: 20px;
        min-height: 58px
    }

    .btn-sm {
        border-radius: .75rem;
        padding: .25rem 1rem;
        font-size: 16px;
        min-height: 42px
    }

    .btn-inline {
        min-width: 120px
    }
}

.btn-inline {
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content
}

.btn-stroke {
    --tw-border-opacity: 1;
    border-color: rgb(189 26 26/var(--tw-border-opacity,1));
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgb(189 26 26/var(--tw-text-opacity,1))
}

    .btn-stroke:hover {
        --tw-border-opacity: 1;
        border-color: rgb(129 0 0/var(--tw-border-opacity,1));
        --tw-bg-opacity: 1;
        background-color: rgb(129 0 0/var(--tw-bg-opacity,1));
        --tw-text-opacity: 1;
        color: rgb(255 255 255/var(--tw-text-opacity,1))
    }

    .btn-stroke:disabled {
        border-color: hsla(0,0%,7%,.4);
        background-color: transparent;
        color: hsla(0,0%,7%,.4)
    }

.link-primary {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1%;
    text-decoration-line: none;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s;
    background-color: rgb(189 26 26/var(--tw-bg-opacity,1))
}

    .link-primary, .link-primary:hover {
        --tw-bg-opacity: 1;
        --tw-text-opacity: 1;
        color: rgb(255 255 255/var(--tw-text-opacity,1))
    }

        .link-primary:hover {
            background-color: rgb(129 0 0/var(--tw-bg-opacity,1))
        }

.link-primary {
    border-width: 1px;
    border-color: transparent;
    border-radius: .75rem;
    padding: .25rem 1rem;
    min-height: 42px
}

@media (min-width:768px) {
    .link-primary {
        border-radius: 1rem;
        padding: .75rem 1.25rem;
        font-size: 20px;
        min-height: 58px
    }

        .link-primary.btn-sm {
            border-radius: .75rem;
            padding: .25rem 1rem;
            font-size: 16px;
            min-height: 42px
        }
}

.link-primary.btn-stroke {
    --tw-border-opacity: 1;
    border-color: rgb(189 26 26/var(--tw-border-opacity,1));
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgb(189 26 26/var(--tw-text-opacity,1))
}

    .link-primary.btn-stroke:hover {
        --tw-border-opacity: 1;
        border-color: rgb(129 0 0/var(--tw-border-opacity,1));
        background-color: rgb(129 0 0/var(--tw-bg-opacity,1))
    }

    .btn-arrow, .link-primary.btn-stroke:hover {
        --tw-bg-opacity: 1;
        --tw-text-opacity: 1;
        color: rgb(255 255 255/var(--tw-text-opacity,1))
    }

.btn-arrow {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s;
    background-color: rgb(189 26 26/var(--tw-bg-opacity,1))
}

    .btn-arrow:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(129 0 0/var(--tw-bg-opacity,1))
    }

    .btn-arrow:disabled, .btn-arrow:hover {
        --tw-text-opacity: 1;
        color: rgb(255 255 255/var(--tw-text-opacity,1))
    }

    .btn-arrow:disabled {
        cursor: not-allowed;
        background-color: hsla(0,0%,7%,.4)
    }

.btn-arrow {
    border-width: 1px;
    border-color: transparent;
    border-radius: 1rem;
    width: 42px;
    height: 42px
}

@media (min-width:768px) {
    .btn-arrow {
        height: 58px;
        width: 58px
    }

        .btn-arrow.btn-sm {
            height: 42px;
            width: 42px
        }
}

.btn-arrow.btn-stroke {
    --tw-border-opacity: 1;
    border-color: rgb(189 26 26/var(--tw-border-opacity,1));
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgb(189 26 26/var(--tw-text-opacity,1))
}

    .btn-arrow.btn-stroke:hover {
        --tw-border-opacity: 1;
        border-color: rgb(129 0 0/var(--tw-border-opacity,1));
        --tw-bg-opacity: 1;
        background-color: rgb(129 0 0/var(--tw-bg-opacity,1));
        --tw-text-opacity: 1;
        color: rgb(255 255 255/var(--tw-text-opacity,1))
    }

    .btn-arrow.btn-stroke:disabled {
        --tw-border-opacity: 1;
        border-color: rgb(255 255 255/var(--tw-border-opacity,1));
        background-color: transparent;
        --tw-text-opacity: 1;
        color: rgb(255 255 255/var(--tw-text-opacity,1))
    }

.btn-arrow svg {
    width: 24px;
    height: 24px
}

.input-field {
    width: 100%;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1));
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    --tw-text-opacity: 1;
    color: rgb(17 17 17/var(--tw-text-opacity,1));
    border-radius: 1rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(227 227 227/var(--tw-border-opacity,1))
}

    .input-field:focus {
        --tw-border-opacity: 1;
        border-color: rgb(189 26 26/var(--tw-border-opacity,1));
        outline: 2px solid transparent;
        outline-offset: 2px
    }

    .input-field:disabled {
        cursor: not-allowed;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255/var(--tw-bg-opacity,1));
        --tw-text-opacity: 1;
        color: rgb(227 227 227/var(--tw-text-opacity,1))
    }

.input-field {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s;
    height: 58px;
    padding: 20px 27px
}

    .input-field::-moz-placeholder {
        color: hsla(0,0%,7%,.4)
    }

    .input-field::placeholder {
        color: hsla(0,0%,7%,.4)
    }

    .input-field:disabled::-moz-placeholder {
        --tw-text-opacity: 1;
        color: rgb(227 227 227/var(--tw-text-opacity,1))
    }

    .input-field:disabled::placeholder {
        --tw-text-opacity: 1;
        color: rgb(227 227 227/var(--tw-text-opacity,1))
    }

.input-search-group {
    display: flex;
    align-items: center;
    border-radius: 1rem;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1))
}

    .input-search-group:focus-within {
        border-width: 1px;
        --tw-border-opacity: 1;
        border-color: rgb(189 26 26/var(--tw-border-opacity,1))
    }

    .input-search-group:disabled {
        --tw-border-opacity: 1;
        border-color: rgb(227 227 227/var(--tw-border-opacity,1));
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255/var(--tw-bg-opacity,1))
    }

.input-search-group {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s;
    height: 58px
}

.input-search {
    flex: 1 1 0%;
    border-style: none;
    background-color: transparent;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    --tw-text-opacity: 1;
    color: rgb(17 17 17/var(--tw-text-opacity,1));
    outline: 2px solid transparent;
    outline-offset: 2px
}

    .input-search:disabled {
        cursor: not-allowed;
        --tw-text-opacity: 1;
        color: rgb(227 227 227/var(--tw-text-opacity,1))
    }

.input-search {
    padding: 20px 27px
}

    .input-search::-moz-placeholder {
        color: hsla(0,0%,7%,.4)
    }

    .input-search::placeholder {
        color: hsla(0,0%,7%,.4)
    }

    .input-search:disabled::-moz-placeholder {
        --tw-text-opacity: 1;
        color: rgb(227 227 227/var(--tw-text-opacity,1))
    }

    .input-search:disabled::placeholder {
        --tw-text-opacity: 1;
        color: rgb(227 227 227/var(--tw-text-opacity,1))
    }

.search-icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    --tw-bg-opacity: 1;
    background-color: rgb(189 26 26/var(--tw-bg-opacity,1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity,1));
    cursor: pointer;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s
}

    .search-icon-btn:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(129 0 0/var(--tw-bg-opacity,1))
    }

    .search-icon-btn:disabled {
        cursor: not-allowed;
        --tw-bg-opacity: 1;
        background-color: rgb(227 227 227/var(--tw-bg-opacity,1))
    }

.search-icon-btn {
    border-radius: 1rem;
    width: 50px;
    height: 50px;
    margin-left: 4px
}

    .search-icon-btn svg {
        width: 24px;
        height: 24px
    }

.input-search-with-button {
    position: relative;
    border-radius: 1rem;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1))
}

    .input-search-with-button:focus-within {
        border-width: 1px;
        --tw-border-opacity: 1;
        border-color: rgb(189 26 26/var(--tw-border-opacity,1))
    }

    .input-search-with-button:disabled {
        --tw-border-opacity: 1;
        border-color: rgb(227 227 227/var(--tw-border-opacity,1));
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255/var(--tw-bg-opacity,1))
    }

.input-search-with-button {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s;
    height: 46px
}

    .input-search-with-button input {
        width: 100%;
        border-style: none;
        background-color: transparent;
        font-size: 1rem;
        line-height: 1.5rem;
        font-weight: 400;
        --tw-text-opacity: 1;
        color: rgb(17 17 17/var(--tw-text-opacity,1));
        outline: 2px solid transparent;
        outline-offset: 2px
    }

        .input-search-with-button input:disabled {
            cursor: not-allowed;
            --tw-text-opacity: 1;
            color: rgb(227 227 227/var(--tw-text-opacity,1))
        }

    .input-search-with-button input {
        padding-right: 8rem;
        padding: 10px 20px
    }

        .input-search-with-button input::-moz-placeholder {
            color: hsla(0,0%,7%,.4)
        }

        .input-search-with-button input::placeholder {
            color: hsla(0,0%,7%,.4)
        }

        .input-search-with-button input:disabled::-moz-placeholder {
            --tw-text-opacity: 1;
            color: rgb(227 227 227/var(--tw-text-opacity,1))
        }

        .input-search-with-button input:disabled::placeholder {
            --tw-text-opacity: 1;
            color: rgb(227 227 227/var(--tw-text-opacity,1))
        }

.search-text-btn {
    position: absolute;
    right: 2px;
    top: 50%;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    --tw-bg-opacity: 1;
    background-color: rgb(189 26 26/var(--tw-bg-opacity,1));
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1%;
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity,1));
    cursor: pointer;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s
}

    .search-text-btn:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(129 0 0/var(--tw-bg-opacity,1))
    }

    .search-text-btn:disabled {
        cursor: not-allowed;
        --tw-bg-opacity: 1;
        background-color: rgb(227 227 227/var(--tw-bg-opacity,1))
    }

.search-text-btn {
    border-radius: .75rem;
    padding: 8px 16px;
    font-size: 16px;
    font-weight: 500
}

.input-button-group {
    display: flex;
    align-items: center;
    gap: .75rem
}

.input-with-button {
    flex: 1 1 0%;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1));
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    --tw-text-opacity: 1;
    color: rgb(17 17 17/var(--tw-text-opacity,1));
    border-radius: 1rem;
    border-width: 1px;
    border-color: transparent
}

    .input-with-button:focus {
        --tw-border-opacity: 1;
        border-color: rgb(189 26 26/var(--tw-border-opacity,1));
        outline: 2px solid transparent;
        outline-offset: 2px
    }

    .input-with-button:disabled {
        cursor: not-allowed;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255/var(--tw-bg-opacity,1));
        --tw-text-opacity: 1;
        color: rgb(227 227 227/var(--tw-text-opacity,1))
    }

.input-with-button {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s;
    height: 58px;
    padding: 20px 27px
}

    .input-with-button::-moz-placeholder {
        color: hsla(0,0%,7%,.4)
    }

    .input-with-button::placeholder {
        color: hsla(0,0%,7%,.4)
    }

    .input-with-button:disabled::-moz-placeholder {
        --tw-text-opacity: 1;
        color: rgb(227 227 227/var(--tw-text-opacity,1))
    }

    .input-with-button:disabled::placeholder {
        --tw-text-opacity: 1;
        color: rgb(227 227 227/var(--tw-text-opacity,1))
    }

.checkbox {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: .25rem;
    border-width: 1px;
    border-color: hsla(0,0%,7%,.7);
    cursor: pointer;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s
}

    .checkbox:checked, .checkbox:hover {
        --tw-border-opacity: 1;
        border-color: rgb(189 26 26/var(--tw-border-opacity,1))
    }

    .checkbox:checked {
        --tw-bg-opacity: 1;
        background-color: rgb(189 26 26/var(--tw-bg-opacity,1))
    }

    .checkbox:disabled {
        cursor: not-allowed;
        --tw-border-opacity: 1;
        border-color: rgb(227 227 227/var(--tw-border-opacity,1))
    }

    .checkbox:checked:disabled {
        --tw-bg-opacity: 1;
        background-color: rgb(227 227 227/var(--tw-bg-opacity,1))
    }

    .checkbox:focus {
        outline: 2px solid transparent;
        outline-offset: 2px;
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);
        --tw-ring-color: rgb(189 26 26/var(--tw-ring-opacity,1));
        --tw-ring-opacity: 0.5
    }

.checkbox {
    width: 20px;
    height: 20px;
    background-image: url(../assets/icons/Icon-checkbox-16.svg);
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 100%;
    min-width: 20px
}

    .checkbox:not(:checked) {
        background-image: none
    }

.checkbox-sm {
    width: 14px;
    height: 14px;
    background-size: 100%
}

.toggle-switch {
    overflow: hidden;
    border-radius: 1rem;
    height: 58px
}

.toggle-option, .toggle-switch {
    display: flex;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1));
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .2s
}

.toggle-option {
    cursor: pointer;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(17 17 17/var(--tw-text-opacity,1))
}

.facade-category .toggle-option:hover {
    background-color: #f5f5f5;
    border-radius: 8px
}

.facade-category .subcategory-items .toggle-option:hover {
    background-color: #f5f5f5;
    border-radius: 4px
}

.toggle-option:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(250 250 250/var(--tw-bg-opacity,1))
}

.toggle-option {
    flex: 1;
    min-height: 50px;
    margin: 4px;
    border-radius: 12px
}

    .toggle-option.active {
        --tw-bg-opacity: 1;
        background-color: rgb(189 26 26/var(--tw-bg-opacity,1));
        --tw-text-opacity: 1;
        color: rgb(255 255 255/var(--tw-text-opacity,1))
    }

        .toggle-option.active:hover {
            --tw-bg-opacity: 1;
            background-color: rgb(129 0 0/var(--tw-bg-opacity,1))
        }

    .toggle-option svg {
        width: 24px;
        height: 24px
    }

    .toggle-option.active svg {
        --tw-text-opacity: 1;
        color: rgb(255 255 255/var(--tw-text-opacity,1))
    }

    .toggle-option:not(.active) svg {
        --tw-text-opacity: 1;
        color: rgb(189 26 26/var(--tw-text-opacity,1))
    }

.card {
    border-radius: 1.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1));
    padding: 1.5rem
}

@media (max-width:768px) {
    #filters-modal .card {
        max-height: calc(100vh - 2rem)
    }
}

@media (min-width:768px) {
    .card {
        padding: 2rem
    }
}

.text-page {
    counter-reset: section
}

.text-section {
    counter-increment: section;
    counter-reset: item;
    margin-bottom: 20px
}

    .text-section p {
        font-size: 20px;
        color: #111111cc
    }

    .text-section h4, .text-section p {
        margin-bottom: 1rem
    }

.num-list {
    list-style: none;
    margin: 0;
    padding: 0
}

    .num-list > li {
        counter-increment: item;
        position: relative;
        padding-left: 2.25rem;
        margin-bottom: .5rem;
        color: #111111cc
    }

        .num-list > li:before {
            content: counter(section) "." counter(item) " ";
            position: absolute;
            left: 0;
            top: 0;
            --tw-text-opacity: 1;
            color: rgb(115 115 115/var(--tw-text-opacity,1))
        }

.bullet-list {
    margin-top: .5rem;
    list-style-type: disc
}

    .bullet-list > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(.25rem*(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(.25rem*var(--tw-space-y-reverse))
    }

.bullet-list {
    padding-left: 1.25rem
}

.form-field-group {
    position: relative
}

.error-message {
    color: #dc2626;
    font-size: .875rem;
    position: absolute;
    top: 0;
    left: 1.75rem;
    right: 0;
    z-index: 10;
    display: none;
    margin-top: .25rem
}

    .error-message.top-0 {
        top: 0
    }

    .error-message.top-1 {
        top: .25rem
    }

    .error-message.top-2 {
        top: .5rem
    }

    .error-message.top-3 {
        top: .75rem
    }

    .error-message.top-4 {
        top: 1rem
    }

    .error-message.top-5 {
        top: 1.25rem
    }

    .error-message.top-6 {
        top: 1.5rem
    }

    .error-message.top-8 {
        top: 2rem
    }

    .error-message.top-10 {
        top: 2.5rem
    }

    .error-message.top-12 {
        top: 3rem
    }

    .error-message.-top-1 {
        top: -.25rem
    }

    .error-message.-top-2 {
        top: -.5rem
    }

    .error-message.-top-3 {
        top: -.75rem
    }

    .error-message.-top-4 {
        top: -1rem
    }

    .error-message.-top-5 {
        top: -1.25rem
    }

    .error-message.-top-6 {
        top: -1.5rem
    }

    .error-message.-top-8 {
        top: -2rem
    }

    .error-message.-top-10 {
        top: -2.5rem
    }

    .error-message.-top-12 {
        top: -3rem
    }

    .error-message.show {
        display: block
    }

.input-field.error {
    border-color: #dc2626;
    box-shadow: 0 0 0 1px #dc2626
}

.btn:disabled {
    opacity: .6;
    cursor: not-allowed
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border-width: 0
}

.pointer-events-none {
    pointer-events: none
}

.visible {
    visibility: visible
}

.invisible {
    visibility: hidden
}

.collapse {
    visibility: collapse
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.sticky {
    position: sticky
}

.inset-0 {
    inset: 0
}

.inset-x-0 {
    left: 0;
    right: 0
}

.inset-y-0 {
    top: 0;
    bottom: 0
}

.-top-6 {
    top: -1.5rem
}

.bottom-0 {
    bottom: 0
}

.bottom-6 {
    bottom: 1.5rem
}

.bottom-\[10\%\] {
    bottom: 10%
}

.bottom-\[40\%\] {
    bottom: 40%
}

.bottom-\[43\%\] {
    bottom: 43%
}

.left-0 {
    left: 0
}

.left-1\/2 {
    left: 50%
}

.left-2 {
    left: .5rem
}

.left-4 {
    left: 1rem
}

.left-6 {
    left: 1.5rem
}

.left-\[-1\%\] {
    left: -1%
}

.left-\[-4\%\] {
    left: -4%
}

.left-\[-8\%\] {
    left: -8%
}

.left-\[10\%\] {
    left: 10%
}

.left-\[19\%\] {
    left: 19%
}

.left-\[26\%\] {
    left: 26%
}

.left-\[32\%\] {
    left: 32%
}

.left-\[34\%\] {
    left: 34%
}

.left-\[42\%\] {
    left: 42%
}

.left-\[43\%\] {
    left: 43%
}

.left-\[50\%\] {
    left: 50%
}

.left-\[64\%\] {
    left: 64%
}

.right-0 {
    right: 0
}

.right-10 {
    right: 2.5rem
}

.right-2 {
    right: .5rem
}

.right-3 {
    right: .75rem
}

.right-4 {
    right: 1rem
}

.right-6 {
    right: 1.5rem
}

.right-8 {
    right: 2rem
}

.right-\[-100px\] {
    right: -100px
}

.top-0 {
    top: 0
}

.top-1\/2 {
    top: 50%
}

.top-2 {
    top: .5rem
}

.top-4 {
    top: 1rem
}

.top-6 {
    top: 1.5rem
}

.top-8 {
    top: 2rem
}

.top-\[32\%\] {
    top: 32%
}

.top-\[34\%\] {
    top: 34%
}

.top-\[35\%\] {
    top: 35%
}

.top-\[37\%\] {
    top: 37%
}

.top-\[38\%\] {
    top: 38%
}

.top-\[42\%\] {
    top: 42%
}

.top-\[44\%\] {
    top: 44%
}

.top-\[54\%\] {
    top: 54%
}

.top-\[57\%\] {
    top: 57%
}

.top-\[60\%\] {
    top: 60%
}

.top-\[65\%\] {
    top: 65%
}

.top-\[66\%\] {
    top: 66%
}

.top-\[70\%\] {
    top: 70%
}

.top-\[81\%\] {
    top: 81%
}

.top-full {
    top: 100%
}

.z-0 {
    z-index: 0
}

.z-10 {
    z-index: 10
}

.z-20 {
    z-index: 20
}

.z-30 {
    z-index: 30
}

.z-50 {
    z-index: 50
}

.order-1 {
    order: 1
}

.order-2 {
    order: 2
}

.col-span-1 {
    grid-column: span 1/span 1
}

.m-8 {
    margin: 2rem
}

.m-auto {
    margin: auto
}

.mx-1 {
    margin-left: .25rem;
    margin-right: .25rem
}

.mx-2 {
    margin-left: .5rem;
    margin-right: .5rem
}

.mx-4 {
    margin-left: 1rem;
    margin-right: 1rem
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.my-2 {
    margin-top: .5rem;
    margin-bottom: .5rem
}

.my-40 {
    margin-top: 10rem;
    margin-bottom: 10rem
}

.my-5 {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem
}

.-ml-6 {
    margin-left: -1.5rem
}

.-mt-40 {
    margin-top: -10rem
}

.mb-1 {
    margin-bottom: .25rem
}

.mb-10 {
    margin-bottom: 2.5rem
}

.mb-12 {
    margin-bottom: 3rem
}

.mb-14 {
    margin-bottom: 3.5rem
}

.mb-16 {
    margin-bottom: 4rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-20 {
    margin-bottom: 5rem
}

.mb-3 {
    margin-bottom: .75rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-40 {
    margin-bottom: 10rem
}

.mb-5 {
    margin-bottom: 1.25rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.ml-2 {
    margin-left: .5rem
}

.ml-3 {
    margin-left: .75rem
}

.ml-auto {
    margin-left: auto
}

.mr-0 {
    margin-right: 0
}

.mr-2 {
    margin-right: .5rem
}

.mr-4 {
    margin-right: 1rem
}

.mr-6 {
    margin-right: 1.5rem
}

.mr-\[-1px\] {
    margin-right: -1px
}

.mt-0 {
    margin-top: 0
}

.mt-0\.5 {
    margin-top: .125rem
}

.mt-1 {
    margin-top: .25rem
}

.mt-10 {
    margin-top: 2.5rem
}

.mt-12 {
    margin-top: 3rem
}

.mt-14 {
    margin-top: 3.5rem
}

.mt-16 {
    margin-top: 4rem
}

.mt-2 {
    margin-top: .5rem
}

.mt-20 {
    margin-top: 5rem
}

.mt-3 {
    margin-top: .75rem
}

.mt-4 {
    margin-top: 1rem
}

.mt-5 {
    margin-top: 1.25rem
}

.mt-6 {
    margin-top: 1.5rem
}

.mt-8 {
    margin-top: 2rem
}

.mt-\[200px\] {
    margin-top: 200px
}

.mt-\[250px\] {
    margin-top: 250px
}

.mt-\[80px\] {
    margin-top: 80px
}

.mt-auto {
    margin-top: auto
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.inline {
    display: inline
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.grid {
    display: grid
}

.hidden {
    display: none
}

.aspect-\[3\/2\] {
    aspect-ratio: 3/2
}

.aspect-square {
    aspect-ratio: 1/1
}

.aspect-video {
    aspect-ratio: 16/9
}

.h-10 {
    height: 2.5rem
}

.h-12 {
    height: 3rem
}

.h-16 {
    height: 4rem
}

.h-20 {
    height: 5rem
}

.h-24 {
    height: 6rem
}

.h-3 {
    height: .75rem
}

.h-32 {
    height: 8rem
}

.h-4 {
    height: 1rem
}

.h-48 {
    height: 12rem
}

.h-5 {
    height: 1.25rem
}

.h-56 {
    height: 14rem
}

.h-6 {
    height: 1.5rem
}

.h-7 {
    height: 1.75rem
}

.h-8 {
    height: 2rem
}

.h-9 {
    height: 2.25rem
}

.h-\[104px\] {
    height: 104px
}

.h-\[12px\] {
    height: 12px
}

.h-\[16px\] {
    height: 16px
}

.h-\[240px\] {
    height: 240px
}

.h-\[24px\] {
    height: 24px
}

.h-\[280px\] {
    height: 280px
}

.h-\[28px\] {
    height: 28px
}

.h-\[340px\] {
    height: 340px
}

.h-\[400px\] {
    height: 400px
}

.h-\[410px\] {
    height: 410px
}

.h-\[570px\] {
    height: 570px
}

.h-\[58px\] {
    height: 58px
}

.h-\[600px\] {
    height: 600px
}

.h-auto {
    height: auto
}

.h-full {
    height: 100%
}

.max-h-16 {
    max-height: 4rem
}

.max-h-\[400px\] {
    max-height: 400px
}

.max-h-\[420px\] {
    max-height: 420px
}

.max-h-\[430px\] {
    max-height: 430px
}

.max-h-\[500px\] {
    max-height: 500px
}

.max-h-\[72px\] {
    max-height: 72px
}

.max-h-\[90vh\] {
    max-height: 90vh
}

.max-h-\[calc\(90vh-88px\)\] {
    max-height: calc(90vh - 88px)
}

.max-h-none {
    max-height: none
}

.min-h-\[120px\] {
    min-height: 120px
}

.min-h-\[340px\] {
    min-height: 340px
}

.min-h-\[400px\] {
    min-height: 400px
}

.min-h-screen {
    min-height: 100vh
}

.w-10 {
    width: 2.5rem
}

.w-12 {
    width: 3rem
}

.w-16 {
    width: 4rem
}

.w-20 {
    width: 5rem
}

.w-3 {
    width: .75rem
}

.w-32 {
    width: 8rem
}

.w-4 {
    width: 1rem
}

.w-48 {
    width: 12rem
}

.w-5 {
    width: 1.25rem
}

.w-6 {
    width: 1.5rem
}

.w-7 {
    width: 1.75rem
}

.w-8 {
    width: 2rem
}

.w-80 {
    width: 20rem
}

.w-9 {
    width: 2.25rem
}

.w-\[100px\] {
    width: 100px
}

.w-\[12px\] {
    width: 12px
}

.w-\[24px\] {
    width: 24px
}

.w-\[280px\] {
    width: 280px
}

.w-\[320px\] {
    width: 320px
}

.w-\[321px\] {
    width: 321px
}

.w-\[435px\] {
    width: 435px
}

.w-\[548px\] {
    width: 548px
}

.w-\[58px\] {
    width: 58px
}

.w-\[80px\] {
    width: 80px
}

.w-\[calc\(100vw-2rem\)\] {
    width: calc(100vw - 2rem)
}

.w-auto {
    width: auto
}

.w-fit {
    width: -moz-fit-content;
    width: fit-content
}

.w-full {
    width: 100%
}

.w-max {
    width: -moz-max-content;
    width: max-content
}

.min-w-\[290px\] {
    min-width: 290px
}

.min-w-\[320px\] {
    min-width: 320px
}

.max-w-2xl {
    max-width: 42rem
}

.max-w-3xl {
    max-width: 48rem
}

.max-w-4xl {
    max-width: 56rem
}

.max-w-\[1100px\] {
    max-width: 1100px
}

.max-w-\[1270px\] {
    max-width: 1270px
}

.max-w-\[1440px\] {
    max-width: 1440px
}

.max-w-\[200px\] {
    max-width: 200px
}

.max-w-\[280px\] {
    max-width: 280px
}

.max-w-\[400px\] {
    max-width: 400px
}

.max-w-\[465px\] {
    max-width: 465px
}

.max-w-\[580px\] {
    max-width: 580px
}

.max-w-\[640px\] {
    max-width: 640px
}

.max-w-\[665px\] {
    max-width: 665px
}

.max-w-\[680px\] {
    max-width: 680px
}

.max-w-\[740px\] {
    max-width: 740px
}

.max-w-\[770px\] {
    max-width: 770px
}

.max-w-\[870px\] {
    max-width: 870px
}

.max-w-full {
    max-width: 100%
}

.max-w-md {
    max-width: 28rem
}

.max-w-none {
    max-width: none
}

.max-w-sm {
    max-width: 24rem
}

.flex-1 {
    flex: 1 1 0%
}

.flex-none {
    flex: none
}

.flex-shrink-0 {
    flex-shrink: 0
}

.flex-grow {
    flex-grow: 1
}

.-translate-x-1\/2 {
    --tw-translate-x: -50%
}

.-translate-x-1\/2, .-translate-y-1\/2 {
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-1\/2 {
    --tw-translate-y: -50%
}

.translate-x-full {
    --tw-translate-x: 100%
}

.-rotate-90, .translate-x-full {
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-rotate-90 {
    --tw-rotate: -90deg
}

.rotate-180 {
    --tw-rotate: 180deg
}

.rotate-180, .transform {
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.cursor-grabbing {
    cursor: grabbing
}

.cursor-pointer {
    cursor: pointer
}

.select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.resize {
    resize: both
}

.snap-x {
    scroll-snap-type: x var(--tw-scroll-snap-strictness)
}

.snap-mandatory {
    --tw-scroll-snap-strictness: mandatory
}

.snap-start {
    scroll-snap-align: start
}

.auto-rows-fr {
    grid-auto-rows: minmax(0,1fr)
}

.grid-cols-1 {
    grid-template-columns: repeat(1,minmax(0,1fr))
}

.grid-cols-2 {
    grid-template-columns: repeat(2,minmax(0,1fr))
}

.flex-row {
    flex-direction: row
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-start {
    align-items: flex-start
}

.items-end {
    align-items: flex-end
}

.items-center {
    align-items: center
}

.items-stretch {
    align-items: stretch
}

.justify-end {
    justify-content: flex-end
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.justify-items-center {
    justify-items: center
}

.gap-0 {
    gap: 0
}

.gap-1 {
    gap: .25rem
}

.gap-10 {
    gap: 2.5rem
}

.gap-2 {
    gap: .5rem
}

.gap-3 {
    gap: .75rem
}

.gap-4 {
    gap: 1rem
}

.gap-5 {
    gap: 1.25rem
}

.gap-6 {
    gap: 1.5rem
}

.gap-8 {
    gap: 3rem
}

.gap-x-5 {
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem
}

.gap-y-10 {
    row-gap: 2.5rem
}

.space-x-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.25rem*var(--tw-space-x-reverse));
    margin-left: calc(.25rem*(1 - var(--tw-space-x-reverse)))
}

.space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.5rem*var(--tw-space-x-reverse));
    margin-left: calc(.5rem*(1 - var(--tw-space-x-reverse)))
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.25rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.25rem*var(--tw-space-y-reverse))
}

.space-y-12 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem*var(--tw-space-y-reverse))
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.5rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.5rem*var(--tw-space-y-reverse))
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.75rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.75rem*var(--tw-space-y-reverse))
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem*var(--tw-space-y-reverse))
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem*var(--tw-space-y-reverse))
}

.overflow-auto {
    overflow: auto
}

.overflow-hidden {
    overflow: hidden
}

.overflow-x-auto {
    overflow-x: auto
}

.overflow-y-auto {
    overflow-y: auto
}

.overflow-x-hidden {
    overflow-x: hidden
}

.overflow-x-visible {
    overflow-x: visible
}

.scroll-smooth {
    scroll-behavior: smooth
}

.text-ellipsis {
    text-overflow: ellipsis
}

.whitespace-nowrap {
    white-space: nowrap
}

.rounded {
    border-radius: .25rem
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-3xl {
    border-radius: 1.5rem
}

.rounded-4xl {
    border-radius: 2rem
}

.rounded-full {
    border-radius: 9999px
}

.rounded-lg {
    border-radius: .5rem
}

.rounded-md {
    border-radius: .375rem
}

.rounded-xl {
    border-radius: .75rem
}

.rounded-t-3xl {
    border-top-left-radius: 1.5rem;
    border-top-right-radius: 1.5rem
}

.rounded-tr-2xl {
    border-top-right-radius: 1rem
}

.border {
    border-width: 1px
}

.border-b {
    border-bottom-width: 1px
}

.border-t {
    border-top-width: 1px
}

.border-\[\#DADADA\] {
    --tw-border-opacity: 1;
    border-color: rgb(218 218 218/var(--tw-border-opacity,1))
}

.border-accent {
    --tw-border-opacity: 1;
    border-color: rgb(189 26 26/var(--tw-border-opacity,1))
}

.border-gray {
    --tw-border-opacity: 1;
    border-color: rgb(218 218 218/var(--tw-border-opacity,1))
}

.border-neutral-200 {
    --tw-border-opacity: 1;
    border-color: rgb(229 229 229/var(--tw-border-opacity,1))
}

.border-neutral-300 {
    --tw-border-opacity: 1;
    border-color: rgb(212 212 212/var(--tw-border-opacity,1))
}

.border-stroke {
    --tw-border-opacity: 1;
    border-color: rgb(227 227 227/var(--tw-border-opacity,1))
}

.bg-\[\#F7F7F7\] {
    --tw-bg-opacity: 1;
    background-color: rgb(247 247 247/var(--tw-bg-opacity,1))
}

.bg-accent {
    --tw-bg-opacity: 1;
    background-color: rgb(189 26 26/var(--tw-bg-opacity,1))
}

.bg-background-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(247 247 247/var(--tw-bg-opacity,1))
}

.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0/var(--tw-bg-opacity,1))
}

.bg-black\/80 {
    background-color: rgba(0,0,0,.8)
}

.bg-neutral-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(250 250 250/var(--tw-bg-opacity,1))
}

.bg-stroke {
    --tw-bg-opacity: 1;
    background-color: rgb(227 227 227/var(--tw-bg-opacity,1))
}

.bg-transparent {
    background-color: transparent
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1))
}

.bg-white\/90 {
    background-color: hsla(0,0%,100%,.9)
}

.bg-opacity-30 {
    --tw-bg-opacity: 0.3
}

.bg-opacity-50 {
    --tw-bg-opacity: 0.5
}

.object-contain {
    -o-object-fit: contain;
    object-fit: contain
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover
}

.p-0 {
    padding: 0
}

.p-1 {
    padding: .25rem
}

.p-2 {
    padding: .5rem
}

.p-3 {
    padding: .75rem
}

.p-4 {
    padding: 1rem
}

.p-6 {
    padding: 1.5rem
}

.p-8 {
    padding: 2rem
}

.p-\[1px\] {
    padding: 1px
}

.px-0 {
    padding-left: 0;
    padding-right: 0
}

.px-2 {
    padding-left: .5rem;
    padding-right: .5rem
}

.px-3 {
    padding-left: .75rem;
    padding-right: .75rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.py-1 {
    padding-top: .25rem;
    padding-bottom: .25rem
}

.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}

.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
}

.py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.py-3 {
    padding-top: .75rem;
    padding-bottom: .75rem
}

.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem
}

.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.pb-20 {
    padding-bottom: 5rem
}

.pb-40 {
    padding-bottom: 10rem
}

.pb-6 {
    padding-bottom: 1.5rem
}

.pb-8 {
    padding-bottom: 2rem
}

.pl-4 {
    padding-left: 1rem
}

.pl-6 {
    padding-left: 1.5rem
}

.pl-\[100px\] {
    padding-left: 100px
}

.pr-4 {
    padding-right: 1rem
}

.pt-1 {
    padding-top: .25rem
}

.pt-10 {
    padding-top: 2.5rem
}

.pt-12 {
    padding-top: 3rem
}

.pt-2 {
    padding-top: .5rem
}

.pt-20 {
    padding-top: 5rem
}

.pt-4 {
    padding-top: 1rem
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
}

.text-\[100px\] {
    font-size: 100px
}

.text-\[13px\] {
    font-size: 13px
}

.text-\[42px\] {
    font-size: 42px
}

.text-\[96px\] {
    font-size: 96px
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}

.text-sm {
    font-size: .875rem;
    line-height: 1.25rem
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}

.text-xs {
    font-size: .75rem;
    line-height: 1rem
}

.font-bold {
    font-weight: 700
}

.font-medium {
    font-weight: 500
}

.font-normal {
    font-weight: 400
}

.font-semibold {
    font-weight: 600
}

.uppercase {
    text-transform: uppercase
}

.leading-10 {
    line-height: 2.5rem
}

.leading-3 {
    line-height: .75rem
}

.leading-\[2rem\] {
    line-height: 2rem
}

.leading-none {
    line-height: 1
}

.leading-normal {
    line-height: 1.5
}

.leading-relaxed {
    line-height: 1.625
}

.leading-tight {
    line-height: 1.25
}

.tracking-normal {
    letter-spacing: 0
}

.tracking-wide {
    letter-spacing: .025em
}

.text-\[\#1111118F\] {
    color: #1111118f
}

.text-\[\#BD1A1A\], .text-accent {
    --tw-text-opacity: 1;
    color: rgb(189 26 26/var(--tw-text-opacity,1))
}

.text-bold {
    --tw-text-opacity: 1;
    color: rgb(17 17 17/var(--tw-text-opacity,1))
}

.text-neutral-400 {
    --tw-text-opacity: 1;
    color: rgb(163 163 163/var(--tw-text-opacity,1))
}

.text-neutral-500 {
    --tw-text-opacity: 1;
    color: rgb(115 115 115/var(--tw-text-opacity,1))
}

.text-neutral-600 {
    --tw-text-opacity: 1;
    color: rgb(82 82 82/var(--tw-text-opacity,1))
}

.text-neutral-700 {
    --tw-text-opacity: 1;
    color: rgb(64 64 64/var(--tw-text-opacity,1))
}

.text-neutral-800 {
    --tw-text-opacity: 1;
    color: rgb(38 38 38/var(--tw-text-opacity,1))
}

.text-neutral-900 {
    --tw-text-opacity: 1;
    color: rgb(23 23 23/var(--tw-text-opacity,1))
}

.text-regular-primary {
    color: #111111cc
}

.text-regular-secondary {
    color: hsla(0,0%,7%,.7)
}

.text-regular-tertiary {
    color: hsla(0,0%,7%,.4)
}

.text-slate-900 {
    --tw-text-opacity: 1;
    color: rgb(15 23 42/var(--tw-text-opacity,1))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity,1))
}

.opacity-0 {
    opacity: 0
}

.opacity-50 {
    opacity: .5
}

.opacity-90 {
    opacity: .9
}

.shadow {
    --tw-shadow: 0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)
}

.shadow, .shadow-2xl {
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}

.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color)
}

.shadow-custom-drop {
    --tw-shadow: 0px 2px 54px rgba(0,0,0,.03);
    --tw-shadow-colored: 0px 2px 54px var(--tw-shadow-color)
}

.shadow-custom-drop, .shadow-lg {
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}

.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)
}

.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)
}

.shadow-md, .shadow-sm {
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}

.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgba(0,0,0,.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color)
}

.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}

.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.transition-colors {
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.duration-200 {
    transition-duration: .2s
}

.duration-300 {
    transition-duration: .3s
}

.mobile-section-divider {
    border-bottom: 10px solid #ccc;
    padding-bottom: 3rem
}

@media (min-width:768px) {
    .mobile-section-divider {
        border-bottom: none;
        padding-bottom: 0
    }
}

html {
    scroll-behavior: smooth
}

body {
    font-family: Random Grotesque Standard,sans-serif;
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    letter-spacing: .04em
}

h1 {
    font-size: 32px;
    font-weight: 500;
    line-height: 90%;
    /*letter-spacing: 1px*/
}

@media (min-width:768px) {
    h1 {
        font-size: 48px;
        /*letter-spacing: 1.5px*/
    }
}

@media (min-width:1024px) {
    h1 {
        font-size: 72px;
        /*letter-spacing: 2px*/
    }
}

h2 {
    font-size: 28px;
    font-weight: 500;
    line-height: 100%;
    /*letter-spacing: 1px*/
}

@media (min-width:768px) {
    h2 {
        font-size: 40px;
        /*letter-spacing: 1.5px*/
    }
}

@media (min-width:1024px) {
    h2 {
        font-size: 56px;
        /*letter-spacing: 2px*/
    }
}

h3 {
    font-size: 24px;
    font-weight: 500;
    line-height: 100%;
    /*letter-spacing: 1px*/
}

@media (min-width:768px) {
    h3 {
        font-size: 26px;
        /*letter-spacing: 1.5px*/
    }
}

@media (min-width:1024px) {
    h3 {
        font-size: 44px;
        /*letter-spacing: 2px*/
    }
}

h4 {
    font-size: 20px;
    font-weight: 500;
    line-height: 100%;
    /*letter-spacing: 1px*/
}

@media (min-width:768px) {
    h4 {
        font-size: 26px;
        /*letter-spacing: 1.5px*/
    }
}

@media (min-width:1024px) {
    h4 {
        font-size: 26px;
        /*letter-spacing: 2px*/
    }
}

h5 {
    font-size: 18px;
    font-weight: 500;
    line-height: 100%;
    /*letter-spacing: .5px*/
}

@media (min-width:768px) {
    h5 {
        font-size: 21px;
        /*letter-spacing: .75px*/
    }
}

@media (min-width:1024px) {
    h5 {
        font-size: 24px;
        /*letter-spacing: 1px*/
    }
}

h6 {
    font-size: 16px;
    font-weight: 500;
    line-height: 100%;
    /*letter-spacing: .5px*/
}

@media (min-width:768px) {
    h6 {
        font-size: 18px;
        /*letter-spacing: .75px*/
    }
}

@media (min-width:1024px) {
    h6 {
        font-size: 20px;
        /*letter-spacing: 1px*/
    }
}

p {
    font-size: 16px;
    font-weight: 400;
    line-height: 120%
}

@media (min-width:768px) {
    p {
        font-size: 20px
    }
}

@media (min-width:1024px) {
    p {
        font-size: 24px
    }
}

.hero-subtitle {
    font-size: 20px;
    font-weight: 400;
    line-height: 100%
}

@media (min-width:768px) {
    .hero-subtitle {
        font-size: 30px
    }
}

@media (min-width:1024px) {
    .hero-subtitle {
        font-size: 42px
    }
}

.page-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 90%;
    letter-spacing: 1px
}

@media (min-width:768px) {
    .page-title {
        font-size: 48px;
        letter-spacing: 1.5px
    }
}

@media (min-width:1024px) {
    .page-title {
        font-size: 72px;
        letter-spacing: 2px
    }
}

.section-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 1px
}

@media (min-width:768px) {
    .section-title {
        font-size: 40px;
        letter-spacing: 1.5px
    }
}

@media (min-width:1024px) {
    .section-title {
        font-size: 56px;
        letter-spacing: 2px
    }
}

.page-subtitle {
    font-size: 24px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 1px
}

@media (min-width:768px) {
    .page-subtitle {
        font-size: 32px;
        letter-spacing: 1.5px
    }
}

@media (min-width:1024px) {
    .page-subtitle {
        font-size: 42px;
        letter-spacing: 2px
    }
}

.card-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 1px
}

@media (min-width:768px) {
    .card-title {
        font-size: 26px;
        letter-spacing: 1.5px
    }
}

@media (min-width:1024px) {
    .card-title {
        font-size: 32px;
        letter-spacing: 2px
    }
}

.container-sm {
    margin-left: auto;
    margin-right: auto;
    max-width: 890px
}

:root {
    --color-accent: #bd1a1a;
    --color-bold: #111;
    --color-regular-primary: hsla(0,0%,7%,.8);
    --color-regular-secondary: hsla(0,0%,7%,.7);
    --color-regular-tertiary: hsla(0,0%,7%,.4);
    --color-stroke: #e3e3e3;
    --color-background-primary: #f7f7f7;
    --color-background-secondary: #fff
}

.hero-section {
    background: url(../assets/bg/hero-bg-image.svg) top no-repeat;
    background-size: cover
}

@media (max-width:767px) {
    .hero-section {
        background: none !important
    }
}

.systems-scrollbar {
    overflow-y: scroll
}

.systems-scrollbar-x {
    overflow-x: scroll;
    overflow-y: hidden
}

.systems-scrollbar::-webkit-scrollbar {
    width: 12px;
    height: 12px;
    border-radius: 8px;
    background: #f3f3f3
}

.systems-scrollbar::-webkit-scrollbar-thumb {
    background: var(--color-accent);
    border-radius: 8px
}

.footer-form-bar {
    position: relative;
    overflow: hidden
}

    .footer-form-bar:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
        width: 1344px;
        height: 800px;
        border-radius: 100% 100% 0 0;
        background: radial-gradient(circle at center,#fff 0,#f7f7f7 100%);
        background-size: 100% 100%;
        z-index: -1;
        background-image: url(../assets/bg/form-background.png);
        background-size: contain;
        background-position: 50%;
        background-repeat: no-repeat
    }

    .footer-form-bar .container {
        max-width: 665px;
        margin-inline: auto
    }

#work-slider:after {
    content: "";
    flex: 0 0 1px
}

.reveal-init {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .6s ease,transform .6s ease;
    will-change: opacity,transform
}

.reveal-in {
    opacity: 1;
    transform: translateY(0)
}

[data-reveal=fade] .reveal-init {
    transform: none
}

[data-reveal=slide-up] .reveal-init {
    transform: translateY(16px)
}

[data-reveal=slide-down] .reveal-init {
    transform: translateY(-16px)
}

[data-reveal=slide-left] .reveal-init {
    transform: translateX(16px)
}

[data-reveal=slide-right] .reveal-init {
    transform: translateX(-16px)
}

@media (prefers-reduced-motion:reduce) {
    .reveal-init {
        opacity: 1;
        transform: none;
        transition: none
    }
}

.slider-container, .slider-track {
    position: relative;
    width: 100%
}

.slider-track {
    height: 400px;
    overflow: hidden;
    border-radius: 12px;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none
}

.slider-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .3s ease-in-out
}

    .slider-item.active {
        opacity: 1
    }

    .slider-item img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        border-radius: 25px
    }

.slider-controls {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

    .slider-controls::-webkit-scrollbar {
        display: none
    }

.slider-control {
    flex: 1;
    min-width: 60px;
    height: 12px;
    background-color: #e5e7eb;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color .3s ease
}

    .slider-control:hover {
        background-color: #d1d5db
    }

    .slider-control.active {
        background-color: var(--color-accent,#bd1a1a)
    }

@media (max-width:768px) {
    .slider-track {
        height: 350px
    }

    .slider-control {
        min-width: 40px
    }
}

.filter-tab.active {
    background-color: #bd1a1a;
    color: #fff;
    border: 1px solid #bd1a1a
}

.filter-tab:not(.active) {
    background-color: #fff;
    color: #bd1a1a;
    border: 1px solid #bd1a1a
}

.view-toggle-btn.active {
    background-color: #bd1a1a;
    color: #fff
}

.view-toggle-btn:not(.active) {
    background-color: #fff;
    color: #bd1a1a
}

.country-btn.active {
    background-color: #bd1a1a
}

.country-btn:not(.active) {
    background-color: #fff;
    color: #bd1a1a
}

.partner-card {
    transition: all .3s ease
}

    .partner-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 25px rgba(0,0,0,.1)
    }

.partner-logo-card {
    transition: all .3s ease;
    min-height: 120px
}

    .partner-logo-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 30px rgba(0,0,0,.15)
    }

    .partner-logo-card img {
        transition: all .3s ease
    }

    .partner-logo-card:hover img {
        transform: scale(1.05)
    }

#directionsModal {
    z-index: 50
}

#map-view.hidden {
    display: none !important
}

#map-view:not(.hidden) {
    display: block !important
}

#list-view.hidden {
    display: none !important
}

#list-view:not(.hidden) {
    display: block !important
}

#partner-card {
    transform: translateX(100%);
    transition: transform .3s ease;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

    #partner-card.show {
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto
    }

#modalImage {
    transition: transform .3s ease;
    cursor: grab
}

    #modalImage:active {
        cursor: grabbing
    }

#imageModal {
    animation: fadeIn .3s ease-out
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

#imageModal button:hover {
    transform: scale(1.1);
    box-shadow: 0 10px 25px rgba(0,0,0,.2)
}

@media (max-width:640px) {
    .slider-controls {
        gap: 6px;
        margin-top: 12px
    }

    .slider-control {
        width: 10px;
        height: 10px
    }

        .slider-control.active {
            width: 16px
        }
}

.image-item:hover .hover-overlay {
    opacity: .3 !important
}

.image-item:hover .zoom-icon {
    opacity: 1 !important
}

.country-btn.active {
    background-color: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff
}

.filter-chip {
    cursor: pointer !important;
    pointer-events: auto !important;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 1;
    background: #fff;
    border: 1px solid #ebebeb;
    transition: all .2s ease;
    position: relative;
    overflow: hidden
}

    .filter-chip.active {
        border-color: var(--color-accent);
        color: var(--color-accent)
    }

        .filter-chip.active:before {
            width: 100%
        }

    .filter-chip:hover {
        border-color: var(--color-accent)
    }

        .filter-chip:hover:before {
            width: 100%
        }

#side-card.open {
    transform: translateX(-90%) translateY(68%)
}

.custom-marker {
    width: 24px;
    height: 24px;
    background: #fff;
    border: 2px solid var(--color-accent);
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,.2);
    transition: all .2s ease
}

    .custom-marker:hover {
        box-shadow: 0 4px 8px rgba(0,0,0,.3);
        transform: scale(1.1)
    }

.ymaps-2-1-79-placemark {
    cursor: pointer !important
}

    .ymaps-2-1-79-placemark:hover {
        filter: drop-shadow(0 4px 8px rgba(0,0,0,.3)) !important;
        transform: scale(1.1) !important;
        transition: all .2s ease !important
    }

    .ymaps-2-1-79-placemark.active {
        transition: all .3s ease !important;
        z-index: 1000 !important
    }

        .ymaps-2-1-79-placemark.active, .ymaps-2-1-79-placemark.active:hover {
            filter: drop-shadow(0 6px 12px rgba(0,0,0,.4)) !important;
            transform: scale(1.15) !important
        }

.ymaps-2-1-79-cluster {
    background: #fff !important;
    border: 3px solid var(--color-accent) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.15) !important
}

.ymaps-2-1-79-cluster__text {
    color: var(--color-accent) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-shadow: none !important
}

.ymaps-2-1-79-cluster__content {
    background: transparent !important
}

.ymaps-2-1-79-cluster:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,.2) !important;
    transform: scale(1.05) !important;
    transition: all .2s ease !important
}

#filters-modal {
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px)
}

@media (max-width:768px) {
    #side-card {
        width: calc(100vw - 2rem);
        right: 1rem
    }

    #filters-modal .bg-white {
        max-height: calc(100vh - 2rem)
    }
}

.facades-section {
    position: relative
}

.subcategory-arrow {
    transition: transform .2s ease
}

.facade-category.open .subcategory-arrow {
    transform: rotate(180deg)
}

.subcategory-items {
    transition: all .2s ease
}

.facade-category {
    border: 1px solid #ebebeb;
    border-radius: 8px;
    position: relative;
    overflow: visible
}

    .facade-category > div:first-child, .facade-category > label {
        padding: 12px;
        background: #fff;
        border-radius: 8px
    }

    .facade-category .hover\:bg-neutral-50:hover {
        background-color: #f5f5f5 !important;
        border-radius: 8px
    }

    .facade-category .subcategory-items .hover\:bg-neutral-50:hover {
        background-color: #f5f5f5 !important;
        border-radius: 4px
    }

    .facade-category .subcategory-items {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fafafa;
        border: 1px solid #ebebeb;
        border-top: none;
        border-radius: 0 0 8px 8px;
        z-index: 10;
        max-height: 200px;
        overflow-y: auto;
        box-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)
    }

        .facade-category .subcategory-items::-webkit-scrollbar {
            width: 8px
        }

        .facade-category .subcategory-items::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 4px
        }

        .facade-category .subcategory-items::-webkit-scrollbar-thumb {
            background: #c1c1c1;
            border-radius: 4px
        }

            .facade-category .subcategory-items::-webkit-scrollbar-thumb:hover {
                background: #a8a8a8
            }

.category-checkbox:checked + span, .filter-checkbox:checked + span, .subcategory-checkbox:checked + span {
    color: var(--color-accent);
    font-weight: 500
}

.category-checkbox:checked, .filter-checkbox:checked, .master-checkbox:checked, .subcategory-checkbox:checked {
    accent-color: var(--color-accent)
}

    .master-checkbox:checked ~ .facades-count {
        background-color: var(--color-accent)
    }

#filter-count {
    min-width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center
}

.marquee-animation {
    animation: marquee 30s linear infinite
}

    .marquee-animation:hover {
        animation-play-state: paused
    }

.marquee-track {
    animation: marquee 30s linear infinite
}

    .marquee-track:hover {
        animation-play-state: paused
    }

@keyframes marquee {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}

.client-marquee-track {
    animation: marquee 40s linear infinite
}

    .client-marquee-track:hover {
        animation-play-state: paused
    }

@media (min-width:640px) {
    .sm\:h1 {
        font-size: 32px;
        font-weight: 500;
        line-height: 90%;
        letter-spacing: 1px
    }

    @media (min-width:768px) {
        .sm\:h1 {
            font-size: 48px;
            letter-spacing: 1.5px
        }
    }

    @media (min-width:1024px) {
        .sm\:h1 {
            font-size: 72px;
            letter-spacing: 2px
        }
    }
}

@media (min-width:768px) {
    .md\:body2 {
        font-size: 20px;
        font-weight: 400;
        line-height: 120%
    }

    @media (min-width:768px) {
        .md\:body2 {
            font-size: 17px
        }
    }

    @media (min-width:1024px) {
        .md\:body2 {
            font-size: 20px
        }
    }

    .md\:top-4.error-message {
        top: 1rem
    }
}

.hover\:border-accent:hover {
    --tw-border-opacity: 1;
    border-color: rgb(189 26 26/var(--tw-border-opacity,1))
}

.hover\:bg-\[\#a31515\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(163 21 21/var(--tw-bg-opacity,1))
}

.hover\:bg-accent:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(189 26 26/var(--tw-bg-opacity,1))
}

.hover\:bg-accent-hover:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(129 0 0/var(--tw-bg-opacity,1))
}

.hover\:bg-neutral-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(245 245 245/var(--tw-bg-opacity,1))
}

.hover\:bg-neutral-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(250 250 250/var(--tw-bg-opacity,1))
}

.hover\:bg-white:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1))
}

.hover\:text-accent:hover {
    --tw-text-opacity: 1;
    color: rgb(189 26 26/var(--tw-text-opacity,1))
}

.hover\:text-neutral-600:hover {
    --tw-text-opacity: 1;
    color: rgb(82 82 82/var(--tw-text-opacity,1))
}

.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity,1))
}

.hover\:underline:hover {
    text-decoration-line: underline
}

.hover\:opacity-80:hover {
    opacity: .8
}

.hover\:shadow-lg:hover {
    --tw-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}

.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed
}

.disabled\:opacity-30:disabled {
    opacity: .3
}

.group:hover .group-hover\:visible {
    visibility: visible
}

.group:hover .group-hover\:scale-105 {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:text-\[\#BD1A1A\], .group:hover .group-hover\:text-accent {
    --tw-text-opacity: 1;
    color: rgb(189 26 26/var(--tw-text-opacity,1))
}

.group:hover .group-hover\:opacity-100 {
    opacity: 1
}

@media (min-width:640px) {
    .sm\:block {
        display: block
    }

    .sm\:inline {
        display: inline
    }

    .sm\:h-20 {
        height: 5rem
    }

    .sm\:h-64 {
        height: 16rem
    }

    .sm\:h-\[20px\] {
        height: 20px
    }

    .sm\:h-\[32px\] {
        height: 32px
    }

    .sm\:w-1\/2 {
        width: 50%
    }

    .sm\:w-\[32px\] {
        width: 32px
    }

    .sm\:w-\[90px\] {
        width: 90px
    }

    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3,minmax(0,1fr))
    }

    .sm\:grid-cols-4 {
        grid-template-columns: repeat(4,minmax(0,1fr))
    }

    .sm\:flex-row {
        flex-direction: row
    }

    .sm\:items-center {
        align-items: center
    }

    .sm\:justify-between {
        justify-content: space-between
    }

    .sm\:gap-0 {
        gap: 0
    }

    .sm\:gap-3 {
        gap: .75rem
    }

    .sm\:gap-4 {
        gap: 1rem
    }

    .sm\:gap-6 {
        gap: 1.5rem
    }

    .sm\:gap-8 {
        gap: 2rem
    }

    .sm\:p-6 {
        padding: 1.5rem
    }

    .sm\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .sm\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }

    .sm\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }

    .sm\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem
    }

    .sm\:text-\[16px\] {
        font-size: 16px
    }

    .sm\:text-\[18px\] {
        font-size: 18px
    }

    .sm\:text-base {
        font-size: 1rem;
        line-height: 1.5rem
    }
}

@media (min-width:768px) {
    .md\:absolute {
        position: absolute
    }

    .md\:left-4 {
        left: 1rem
    }

    .md\:left-\[-150px\] {
        left: -150px
    }

    .md\:right-4 {
        right: 1rem
    }

    .md\:right-\[-150px\] {
        right: -150px
    }

    .md\:top-4 {
        top: 1rem
    }

    .md\:col-span-1 {
        grid-column: span 1/span 1
    }

    .md\:col-span-2 {
        grid-column: span 2/span 2
    }

    .md\:mx-2 {
        margin-left: .5rem;
        margin-right: .5rem
    }

    .md\:mx-8 {
        margin-left: 2rem;
        margin-right: 2rem
    }

    .md\:my-4 {
        margin-top: 1rem;
        margin-bottom: 1rem
    }

    .md\:mb-0 {
        margin-bottom: 0
    }

    .md\:mb-10 {
        margin-bottom: 2.5rem
    }

    .md\:mb-12 {
        margin-bottom: 3rem
    }

    .md\:mb-16 {
        margin-bottom: 4rem
    }

    .md\:mb-20 {
        margin-bottom: 5rem
    }

    .md\:mb-4 {
        margin-bottom: 1rem
    }

    .md\:mb-40 {
        margin-bottom: 10rem
    }

    .md\:mb-6 {
        margin-bottom: 1.5rem
    }

    .md\:mb-8 {
        margin-bottom: 2rem
    }

    .md\:mr-\[-1px\] {
        margin-right: -1px
    }

    .md\:mt-0 {
        margin-top: 0
    }

    .md\:mt-10 {
        margin-top: 2.5rem
    }

    .md\:mt-12 {
        margin-top: 3rem
    }

    .md\:mt-14 {
        margin-top: 3.5rem
    }

    .md\:mt-16 {
        margin-top: 4rem
    }

    .md\:mt-20 {
        margin-top: 5rem
    }

    .md\:mt-5 {
        margin-top: 1.25rem
    }

    .md\:mt-8 {
        margin-top: 2rem
    }

    .md\:flex {
        display: flex
    }

    .md\:inline-flex {
        display: inline-flex
    }

    .md\:grid {
        display: grid
    }

    .md\:aspect-auto {
        aspect-ratio: auto
    }

    .md\:h-10 {
        height: 2.5rem
    }

    .md\:h-20 {
        height: 5rem
    }

    .md\:h-24 {
        height: 6rem
    }

    .md\:h-4 {
        height: 1rem
    }

    .md\:h-5 {
        height: 1.25rem
    }

    .md\:h-6 {
        height: 1.5rem
    }

    .md\:h-64 {
        height: 16rem
    }

    .md\:h-8 {
        height: 2rem
    }

    .md\:h-80 {
        height: 20rem
    }

    .md\:h-\[142px\] {
        height: 142px
    }

    .md\:h-\[146px\] {
        height: 146px
    }

    .md\:h-\[167px\] {
        height: 167px
    }

    .md\:h-\[177px\] {
        height: 177px
    }

    .md\:h-\[219px\] {
        height: 219px
    }

    .md\:h-\[228px\] {
        height: 228px
    }

    .md\:h-\[24px\] {
        height: 24px
    }

    .md\:h-\[280px\] {
        height: 280px
    }

    .md\:h-\[300px\] {
        height: 300px
    }

    .md\:h-\[310px\] {
        height: 310px
    }

    .md\:h-\[32px\] {
        height: 32px
    }

    .md\:h-\[346px\] {
        height: 346px
    }

    .md\:h-\[460px\] {
        height: 460px
    }

    .md\:h-\[46px\] {
        height: 46px
    }

    .md\:h-\[564px\] {
        height: 564px
    }

    .md\:h-\[600px\] {
        height: 600px
    }

    .md\:max-h-\[500px\] {
        max-height: 500px
    }

    .md\:w-1\/3 {
        width: 33.333333%
    }

    .md\:w-10 {
        width: 2.5rem
    }

    .md\:w-20 {
        width: 5rem
    }

    .md\:w-24 {
        width: 6rem
    }

    .md\:w-4 {
        width: 1rem
    }

    .md\:w-5 {
        width: 1.25rem
    }

    .md\:w-6 {
        width: 1.5rem
    }

    .md\:w-8 {
        width: 2rem
    }

    .md\:w-80 {
        width: 20rem
    }

    .md\:w-\[142px\] {
        width: 142px
    }

    .md\:w-\[146px\] {
        width: 146px
    }

    .md\:w-\[167px\] {
        width: 167px
    }

    .md\:w-\[177px\] {
        width: 177px
    }

    .md\:w-\[200px\] {
        width: 200px
    }

    .md\:w-\[219px\] {
        width: 219px
    }

    .md\:w-\[228px\] {
        width: 228px
    }

    .md\:w-\[24px\] {
        width: 24px
    }

    .md\:w-\[32px\] {
        width: 32px
    }

    .md\:w-\[33\%\] {
        width: 33%
    }

    .md\:w-\[346px\] {
        width: 346px
    }

    .md\:w-\[46px\] {
        width: 46px
    }

    .md\:w-\[67\%\] {
        width: 67%
    }

    .md\:w-\[calc\(20\%-65px\)\] {
        width: calc(20% - 65px)
    }

    .md\:w-\[calc\(25\%-16px\)\] {
        width: calc(25% - 16px)
    }

    .md\:w-\[calc\(50\%-16px\)\] {
        width: calc(50% - 16px)
    }

    .md\:w-auto {
        width: auto
    }

    .md\:max-w-2xl {
        max-width: 42rem
    }

    .md\:max-w-3xl {
        max-width: 48rem
    }

    .md\:max-w-none {
        max-width: none
    }

    .md\:max-w-xs {
        max-width: 20rem
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3,minmax(0,1fr))
    }

    .md\:grid-cols-4 {
        grid-template-columns: repeat(4,minmax(0,1fr))
    }

    .md\:flex-row {
        flex-direction: row
    }

    .md\:items-center {
        align-items: center
    }

    .md\:justify-start {
        justify-content: flex-start
    }

    .md\:justify-between {
        justify-content: space-between
    }

    .md\:gap-0 {
        gap: 0
    }

    .md\:gap-10 {
        gap: 2.5rem
    }

    .md\:gap-2 {
        gap: .5rem
    }

    .md\:gap-20 {
        gap: 5rem
    }

    .md\:gap-3 {
        gap: .75rem
    }

    .md\:gap-4 {
        gap: 1rem
    }

    .md\:gap-5 {
        gap: 1.25rem
    }

    .md\:gap-6 {
        gap: 1.5rem
    }

    .md\:gap-x-6 {
        -moz-column-gap: 1.5rem;
        column-gap: 1.5rem
    }

    .md\:gap-x-8 {
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }

    .md\:gap-y-0 {
        row-gap: 0
    }

    .md\:gap-y-12 {
        row-gap: 3rem
    }

    .md\:space-y-0 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0px*(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0px*var(--tw-space-y-reverse))
    }

    .md\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.5rem*(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.5rem*var(--tw-space-y-reverse))
    }

    .md\:overflow-hidden {
        overflow: hidden
    }

    .md\:overflow-x-visible {
        overflow-x: visible
    }

    .md\:overflow-y-scroll {
        overflow-y: scroll
    }

    .md\:rounded-4xl {
        border-radius: 2rem
    }

    .md\:p-3 {
        padding: .75rem
    }

    .md\:p-4 {
        padding: 1rem
    }

    .md\:p-6 {
        padding: 1.5rem
    }

    .md\:p-8 {
        padding: 2rem
    }

    .md\:px-0 {
        padding-left: 0;
        padding-right: 0
    }

    .md\:px-3 {
        padding-left: .75rem;
        padding-right: .75rem
    }

    .md\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .md\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem
    }

    .md\:py-2 {
        padding-top: .5rem;
        padding-bottom: .5rem
    }

    .md\:py-3 {
        padding-top: .75rem;
        padding-bottom: .75rem
    }

    .md\:py-4 {
        padding-top: 1rem;
        padding-bottom: 1rem
    }

    .md\:py-5 {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem
    }

    .md\:pr-8 {
        padding-right: 2rem
    }

    .md\:text-left {
        text-align: left
    }

    .md\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem
    }

    .md\:text-\[28px\] {
        font-size: 28px
    }

    .md\:text-\[2rem\] {
        font-size: 2rem
    }

    .md\:text-base {
        font-size: 1rem;
        line-height: 1.5rem
    }

    .md\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem
    }

    .md\:text-sm {
        font-size: .875rem;
        line-height: 1.25rem
    }

    .md\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
}

@media (min-width:1024px) {
    .lg\:order-1 {
        order: 1
    }

    .lg\:order-2 {
        order: 2
    }

    .lg\:col-span-4 {
        grid-column: span 4/span 4
    }

    .lg\:col-span-6 {
        grid-column: span 6/span 6
    }

    .lg\:col-span-8 {
        grid-column: span 8/span 8
    }

    .lg\:mb-36 {
        margin-bottom: 9rem
    }

    .lg\:mt-0 {
        margin-top: 0
    }

    .lg\:mt-20 {
        margin-top: 5rem
    }

    .lg\:mt-36 {
        margin-top: 9rem
    }

    .lg\:flex {
        display: flex
    }

    .lg\:hidden {
        display: none
    }

    .lg\:h-80 {
        height: 20rem
    }

    .lg\:w-\[320px\] {
        width: 320px
    }

    .lg\:flex-1 {
        flex: 1 1 0%
    }

    .lg\:grid-cols-10 {
        grid-template-columns: repeat(10,minmax(0,1fr))
    }

    .lg\:grid-cols-12 {
        grid-template-columns: repeat(12,minmax(0,1fr))
    }

    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3,minmax(0,1fr))
    }

    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4,minmax(0,1fr))
    }

    .lg\:grid-cols-5 {
        grid-template-columns: repeat(5,minmax(0,1fr))
    }

    .lg\:grid-cols-6 {
        grid-template-columns: repeat(6,minmax(0,1fr))
    }

    .lg\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }

    .lg\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem
    }

    .lg\:text-\[400px\] {
        font-size: 400px
    }
}

@media (min-width:1280px) {
    .xl\:mb-20 {
        margin-bottom: 5rem
    }

    .xl\:mb-36 {
        margin-bottom: 9rem
    }

    .xl\:mb-40 {
        margin-bottom: 10rem
    }

    .xl\:mt-36 {
        margin-top: 9rem
    }

    .xl\:block {
        display: block
    }

    .xl\:flex {
        display: flex
    }

    .xl\:hidden {
        display: none
    }

    .xl\:max-h-\[500px\] {
        max-height: 500px
    }

    .xl\:w-\[500px\] {
        width: 500px
    }

    .xl\:grid-cols-4 {
        grid-template-columns: repeat(4,minmax(0,1fr))
    }

    .xl\:flex-row {
        flex-direction: row
    }

    .xl\:items-start {
        align-items: flex-start
    }

    .xl\:justify-between {
        justify-content: space-between
    }

    .xl\:gap-6 {
        gap: 1.5rem
    }

    .xl\:gap-\[55px\] {
        gap: 55px
    }

    .xl\:space-x-6 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(1.5rem*var(--tw-space-x-reverse));
        margin-left: calc(1.5rem*(1 - var(--tw-space-x-reverse)))
    }

    .xl\:px-0 {
        padding-left: 0;
        padding-right: 0
    }

    .xl\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem
    }

    .xl\:pb-40 {
        padding-bottom: 7rem
    }

    .xl\:text-base {
        font-size: 1rem;
        line-height: 1.5rem
    }
}

@media (min-width:1536px) {
    .\32xl\:ml-\[80px\] {
        margin-left: 80px
    }
}
