*:focus {
    outline: 0!important;
    box-shadow: none!important;
}
::-moz-selection {
    background: #4CA585;
    color: white;
}
::selection {
    background: #4CA585;
    color: white;
}
html {
    scroll-behavior: smooth;

    /*
     | Rede de segurança contra transbordo horizontal.
     |
     | O body já tem overflow-x-hidden, mas pela regra de propagação do CSS
     | esse valor é levado para a viewport e o body fica com overflow visível —
     | e o iOS continua a deixar arrastar a página para o lado. Bastava um
     | elemento a sair pela direita (era o caso das animações de entrada
     | laterais do AOS em telemóvel) para a página ficar mais larga do que o
     | ecrã: o header é position:fixed com a largura da viewport, e o botão do
     | menu, encostado à direita, saía de vista.
     |
     | clip em vez de hidden: corta na mesma mas não cria um contentor de
     | scroll, por isso não estraga position:sticky nem o scroll-behavior.
     */
    overflow-x: clip;
}
/* Alpine: esconde o elemento até o Alpine inicializar (evita "flash" da modal) */
[x-cloak] {
    display: none !important;
}
/* ============================================================
   Selo do reCAPTCHA

   O script do reCAPTCHA v3 é carregado em todas as páginas (ver
   front.blade.php) e deixa o selo agarrado ao canto inferior direito, mesmo
   onde não há nada para submeter. Passa a aparecer só onde existe um
   formulário.

   A regra está escrita ao contrário — esconde-se com :not(:has(form)) em vez
   de se mostrar com :has(form) — de propósito: num browser sem suporte a
   :has() o seletor é inválido e a regra cai, ficando o selo visível como
   está hoje. Escrito da outra maneira, cair a regra deixava-o escondido em
   toda a parte.

   Nota: a Google só permite esconder o selo se as páginas com formulário
   mostrarem o aviso "Este site é protegido pelo reCAPTCHA" com as ligações
   para a Política de Privacidade e os Termos de Serviço. Aqui o selo continua
   a aparecer exactamente nessas páginas, por isso a condição mantém-se
   cumprida sem ser preciso acrescentar texto nenhum.
   ============================================================ */
body:not(:has(form)) .grecaptcha-badge {
    visibility: hidden;
}
body {
    background-color: #FFFFFF;
    font-family: 'Poppins', sans-serif !important;
    color: #0A0A0A;
}
hr {
    border-color: #4CA585;
}
h2 {
    font-size: 36px;
}
p a {
        text-decoration: underline;
    }
ul {
    min-width: 0px;
}
.seo-only.seo-only.seo-only{
    color: transparent;
    font-size: 0;
    height: 0;
    line-height: 0;
    opacity: 0;
    width: 0;
}
.sr-only{
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
}
section {
    scroll-margin-top: 50px;
}
.content {
    line-height: 1.5;
}
.content h1 {
        font-size: 24px;
        line-height: 48px;
        font-weight: 600;
    }
.content h2 {
        font-size: 20px;
        line-height: 40px;
        font-weight: 600;
    }
.content p {
        font-size: 16px;
    }
.filter-white{
    filter: brightness(0) invert(1);
}
.filter-black{
    filter: brightness(0) invert(0);
}
.uderline-animated {
    position: relative;
}
.uderline-animated::after {
        content: '';
        position: absolute;
        width: 100%;
        transform: scaleX(0);
        height: 2px;
        bottom: 0;
        left: 0;
        background-color: #4CA585;
        transform-origin: bottom right;
        transition: transform 0.25s ease-out;
    }
.uderline-animated:hover::after {
            transform: scaleX(1);
            transform-origin: bottom left;
        }
.uderline-animated.active::after {
            transform: scaleX(1);
            transform-origin: bottom left;
        }
/* ============================================================
   Espaçamento vertical das secções do CMS (campo "Espaçamento vertical").

   O Figma pede 80px em desktop. Estava fixo em 80px também no telemóvel, o
   que dava um vazio enorme entre secções em ecrãs estreitos. Passa a crescer
   de forma contínua com a largura da janela — 40px até aos 375px, 80px a
   partir dos 1024px, interpolação linear pelo meio:
     40px a 375px  ·  ~64px a 768px  ·  80px a 1024px e acima.
   ============================================================ */
:root {
    --espaco-seccao: clamp(2.5rem, 6.16vw + 1.06rem, 5rem);

    /* Intervalo entre blocos dentro da mesma secção (ex.: as três linhas de
       "A Nossa Origem / Evolução / Hoje" no Quem somos). 120px no Figma, a
       encolher pela mesma lógica: 60px a 375px, 120px a partir dos 1024px. */
    --espaco-bloco: clamp(3.75rem, 9.25vw + 1.58rem, 7.5rem);
}
.espaco-v {
    padding-top: var(--espaco-seccao);
    padding-bottom: var(--espaco-seccao);
}
.espaco-v-topo {
    padding-top: var(--espaco-seccao);
}
.espaco-v-fundo {
    padding-bottom: var(--espaco-seccao);
}
.espaco-bloco {
    margin-top: var(--espaco-bloco);
}
/* Duas linhas, nem mais nem menos.

   Corta ao fim da segunda, com reticências, E reserva sempre a altura das duas
   mesmo quando o texto só ocupa uma. As duas metades servem propósitos
   diferentes: o corte impede que uma morada comprida empurre o cartão, e a
   altura reservada põe as designações dos imóveis todas ao mesmo nível na
   grelha — sem ela, um cartão com uma linha de morada tinha o título 18px mais
   acima do que o do lado.

   Feito à mão porque o line-clamp só entrou no core do Tailwind na 3.3 e aqui
   estamos na 3.1.8 — não há .line-clamp-2 gerado.

   O line-height vai explícito em vez de `normal`: `normal` depende da fonte, e
   o min-height tem de saber quanto vale uma linha. 1.5 dá os mesmos 18px que a
   Poppins já dava, portanto não muda nada no ecrã. Por isso é que o elemento
   que usa esta classe não deve levar `leading-[normal]` — venceria isto por
   ordem de cascata. */
.duas-linhas {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;

    line-height: 1.5;
    min-height: 3em; /* 2 linhas x 1.5 */
}
/* A mesma coisa, mas só em desktop pequeno (1024 a 1599) — a faixa em que o
   `container` do Tailwind trava e os cartões ficam mais estreitos. Usada no
   carrossel de imóveis recentes da homepage: é só aí que as moradas passam a
   duas linhas e desalinham os títulos. Fora desta faixa não se reserva altura
   nenhuma, para não abrir um espaço vazio onde ele não faz falta. */
@media (min-width: 1024px) and (max-width: 1599.98px) {
    .duas-linhas-desktop-pequeno {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;

    line-height: 1.5;
    min-height: 3em; /* 2 linhas x 1.5 */
    }
}
article.card {
        position: relative;
        border-radius: 0rem;
        height: 100%;
    }
article.card .card-title{
            line-height: 23px;
            width: 100%;
        }
article.card .card-title h3 {
                font-size: 12px;
            }
article.card .card-title h2 {
                display: -webkit-box;
                -webkit-box-orient: vertical;  
                -webkit-line-clamp: 4;
                overflow: hidden;
                transition: color 0.25s;
            }
article.card .card-title h2.hidden-skeleton.hidden{
                display: none;
            }
article.card .card-title small {
                font-size:0.75rem;
            }
article.card .card-media {
            width: 100%;
            height: auto;
            transition: box-shadow 0.25s;
            overflow: hidden;
            aspect-ratio: 1 / 1;    
        }
@supports not (aspect-ratio: 1 / 1) {
article.card .card-media {
                width: 100%;
                height: calc(100% * 9 / 16);
                transform: translateY(calc((100% * 9 / 16 - 55%) / -2))    
        }    
            }
article.card .card-media.width-auto {
                width: auto;
            }
article.card .card-media .flex-media {
                position: relative;
                height: 100%;
                overflow: hidden;
                background: transparent;
                display: block;
                border-top-left-radius: 0rem;
                border-top-right-radius: 0rem;
            }
article.card .card-media .flex-media figure {
                    position: relative;
                    height: 100%;
                    width: 100%;
                }
article.card .card-media .flex-media figure img{
                        height: 100%;
                        width: 100%;
                        background-color: hsl(200, 20%, 80%);
                        background-position: center;
                        max-width: none;
                        -o-object-fit: cover;
                        object-fit: cover;
                        font-family: "object-fit: cover";
                        transition: transform 0.3s ease-in;
                    }
article.card .card-media .flex-media figure figcaption{
                        display: none;
                    }
article.card .article-overflow{
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: 0%;
            transition: all 0.15s ease-in;

        }
article.card .card-header {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            transition: all 0.3s ease-in;

            height: auto;
        }
article.card.primary-card .card-title {
                position: absolute;
                left: 0;
                bottom: 0;
                color: white;
                padding: 16px;
            }
article.card.primary-card .card-title h2 {
                    font-family: 'blacker-regular';
                    letter-spacing: 0.01rem;
                }
article.card.primary-card .card-title span{
                    font-family: 'Poppins', sans-serif;
                }
article.card.primary-card .card-media {
                overflow: inherit
            }
article.card.primary-card .card-header {
                height: 70%;
            }
article.card.primary-card .exclusivo {
                display: none;
            }
article.card.primary-card .exclusive-main {
                display: inline;
            }
article.card.secondary-card .card-header {
                position: relative;
            }
article.card.secondary-card .card-header .card-title h3 {
                        font-size: 16px;
                        font-weight: 600;
                        line-height: 22px;
                    }
@media (min-width: 1024px) {
article.card.secondary-card .card-header .card-title h3 {
                            font-size: 14px;
                            font-weight: 600;
                            line-height: 18px
                    }
                        }
@media (min-width: 1280px) {
article.card.secondary-card .card-header .card-title h3 {
                            font-size: 16px;
                            font-weight: 600;
                            line-height: 22px
                    }
                        }
article.card.secondary-card .card-header .card-title h2 {
                        letter-spacing: 0.01rem;
                        font-size: 20px;
                        line-height: 27px;
                        font-weight: 500;
                    }
@media (min-width: 834px) {
article.card.secondary-card .card-header .card-title h2 {
                            font-size: 20px;
                            line-height: 30px;
                            font-weight: 400
                    }
                        }
@media (min-width: 1280px) {
article.card.secondary-card .card-header .card-title h2 {
                            font-size: 14px;
                            line-height: 22px
                    }
                        }
@media (min-width: 1920px) {
article.card.secondary-card .card-header .card-title h2 {
                            font-size: 20px;
                            line-height: 30px
                    }
                        }
article.card.xl-image .card-media {
                height: 350px;
            }
@media (min-width: 750px) {
article.card.xl-image .card-media {
                    height: 350px
            }
                }
@media (min-width: 834px) {
article.card.xl-image .card-media {
                    height: 513px
            }
                }
@media (min-width: 1280px) {
article.card.xl-image .card-media {
                    height: 513px
            }
                }
@media (min-width: 1920px) {
article.card.xl-image .card-media {
                    height: 780px
            }
                }
article.card.lg-image .card-media {
                height: 280px;
                aspect-ratio: unset;
            }
@media (min-width: 834px) {
article.card.lg-image .card-media {
                    height: 380px
            }
                }
@media (min-width: 1280px) {
article.card.lg-image .card-media {
                    height: 440px
            }
                }
@media (min-width: 1920px) {
article.card.lg-image .card-media {
                    height: 580px
            }
                }
article.card.md-image .card-media {
                aspect-ratio: unset;
                height: 300px;
            }
article.card.sm-image .card-media {
                height: 280px;
                aspect-ratio: unset;
            }
@media (min-width: 750px) {
article.card.sm-image .card-media {
                    height: 120px
            }
                }
@media (min-width: 834px) {
article.card.sm-image .card-media {
                    height: 175px
            }
                }
@media (min-width: 1280px) {
article.card.sm-image .card-media {
                    height: 200px
            }
                }
@media (min-width: 1920px) {
article.card.sm-image .card-media {
                    height: 270px
            }
                }
article.card.xs-image .card-media {
                height: 240px;
                aspect-ratio: unset;
            }
article.card.circle-image.tiny .card-media {
                    height: auto;
                    box-shadow: none;
                    height: 100px;
                    width: 100px;
                }
@media (min-width: 834px) {
article.card.circle-image.tiny .card-media {
                        height: 200px;
                        width: 200px
                }
                    }
@media (min-width: 1280px) {
article.card.circle-image.tiny .card-media {
                        height: 200px;
                        width: 200px
                }
                    }
@media (min-width: 1920px) {
article.card.circle-image.tiny .card-media {
                        height: 200px;
                        width: 200px
                }
                    }
article.card.circle-image .card-media {
                height: auto;
                box-shadow: none;
                height: 200px;
                width: 200px;
            }
article.card.circle-image .card-media .flex-media figure {
                        border-radius: 50%;
                        overflow: hidden;
                    }
article.card.circle-image .card-media .flex-media figure img{
                            margin: auto;
                            max-width: none;
                            -o-object-fit: cover;
                            object-fit: cover;
                            font-family: "object-fit: cover";
                            border-radius: 9999px;
                        }
article.card.circle-image .card-media .exclusivo {
                    display: none;
                }
article.card.circle-image .loading-skeleton .cover-img {
                border-radius: 50%;
            }
article.card:hover{
            /*
            .card-media .flex-media figure img {
                will-change: transform;
                transform: scale(1.3,1.3);
            }
            */
        }
article.card:hover h2{
                opacity: 0.72;
            }
article.card:hover.animated.main-card .card-title  h2 {
                    opacity: 1;
                }
article.card:hover.animated .card-header {
                    margin-top: -50px;
                }
article.card:hover.animated .article-overflow {
                    height: 100%;
                    background: linear-gradient(360deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 80%);
                }
article.card:hover.animated .card-media .flex-media figure img {
                    will-change: transform;
                    transform: scale(1.3,1.3);
                }
article.card:hover .card-title  h3 {
                color: #4CA585;
            }
article .content h1 {
            font-size: 2em;
            margin-top: 40px;
            margin-bottom: 20px;
        }
article .content h2{
            font-size: 1.5em;
            margin-top: 40px;
            margin-bottom: 20px;
            line-height: 2.5rem;
        }
article .content h3 {
            font-size: 1.17em;
            margin-top: 40px;
            margin-bottom: 20px;
            line-height: 2rem;
        }
article .content h4 {
            font-size: 1em;
            margin-top: 40px;
            margin-bottom: 20px;
            line-height: 1.5rem;
        }
article .content h5 {
            font-size: .83em;
            margin-top: 40px;
            margin-bottom: 20px;
            line-height: 1.25rem;
        }
article .content h6{
            font-size: .75em;
            margin-top: 40px;
            margin-bottom: 20px;
            line-height: 1.25rem;
        }
article .content p{
            margin-bottom: 20px;
            letter-spacing: 0.2px;   
        }
article .content p span{
                font-family: 'blacker-regular'!important;
                font-size: 18px;
                line-height: 26px;
                color: #555555;
            }
article .content p a {
                -webkit-text-decoration-color: #0A0A0A;
                        text-decoration-color: #0A0A0A;
                color: #0A0A0A;
            }
article .content img {
            border-radius: 0.375rem;
            width: 100%;
            height: auto;
            margin: 20px 0px;
        }
article .content iframe {
            border-radius: 0.375rem;
            margin: 20px 0px;
        }
article .content span{
            font-family: 'blacker-regular'!important;
        }
article .content .column img {
            margin-top: 10px!important;
            margin-bottom: 10px!important;
        }
article .content ul {
            list-style: disc!important;
            padding-left: 25px;
        }
article .content ol {
            list-style: decimal!important;
            padding-left: 25px;
        }
article .content blockquote {
            display: block;
            margin-top: 1em;
            margin-bottom: 1em;
            margin-left: 40px;
            margin-right: 40px;
            border-left: 5px solid  #4CA585;
            padding-left: 10px;
        }
article .content blockquote.twitter-tweet {
                display: inline-block;
                font-size: 12px;
                font-weight: bold;
                line-height: 16px;
                border-color: #eee #ddd #bbb;
                border-radius: 5px;
                border-style: solid;
                border-width: 1px;
                box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
                margin: 10px 5px;
                padding: 0 16px 16px 16px;
                max-width: 468px;
            }
article .content blockquote.twitter-tweet p {
                    font-size: 16px;
                    font-weight: normal;
                    line-height: 20px;
                }
article .content blockquote.twitter-tweet a {
                    color: inherit;
                    font-weight: normal;
                    text-decoration: none;
                    outline: 0 none;
                }
article .content blockquote.twitter-tweet a:hover,
                article .content blockquote.twitter-tweet a:focus {
                    text-decoration: underline;
                }
article .content sub {
            vertical-align: sub;
            font-size: smaller;
        }
article .content sup{
            vertical-align: super;
            font-size: smaller;
        }
article .content code {
            background-color: #E6E6E6;
            border-radius: 4px;
            color: white;
            padding: 0 10px;
        }
article .content tr {
            border-bottom: 1px solid black;
            border-top: 1px solid black;
            border-collapse: collapse;
        }
article .content strong {
            font-family: 'blacker-bold';
        }
article .card-link {
        opacity: 0;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
article .article-date {
        color: rgb(100 116 139);
        margin-top: 0.75rem;
        font-size: 14px;
    }
figcaption {
    font-size: 10px;
}
.autor-photo {
    height: 50px;
    width: 50px;
    border-radius: 50%;
    background-color: hsl(200, 20%, 80%);
    background-size: cover;
    background-position: center;
}
@media (min-width: 834px) {
.autor-photo {
        height: 80px;
        width: 80px
}
    }
@media (min-width: 1280px) {
.autor-photo {
        height: 80px;
        width: 80px
}
    }
@media (min-width: 1920px) {
.autor-photo {
        height: 80px;
        width: 80px
}
    }
.autor-photo-large {
        height: 200px;
        width: 200px;
        border-radius: 50%;
        background-color: hsl(200, 20%, 80%);
        background-size: cover;
        background-position: center;
        overflow: hidden;
    }
.autor-photo-large img{
            height: 100%;
            width: 100%;
            background-color: hsl(200, 20%, 80%);
            background-position: center;
            max-width: none;
            -o-object-fit: cover;
            object-fit: cover;
            font-family: "object-fit: cover";
            transition: transform 0.3s ease-in;
        }
/* APP Theme */
body.gray-bg {
        background-color: #EFEFEF;
    }
body.gray-bg header #mainNavbar {
            background-color: #EFEFEF;
        }
body.yellow-bg {
        background-color: #F4F3EE;
    }
body.yellow-bg header #mainNavbar {
            background-color: #F4F3EE;
        }
body.dark-mode .uderline-animated::after {
            background-color: #0A0A0A;
        }
body.dark-mode.normal #mainNavbar #full-screen-menu-icon img,
                body.dark-mode.normal #mainNavbar #lkcom-logo {
                    filter: brightness(0) invert(0);
                }
body.dark-mode.normal #mainNavbar a {
                    color: #0A0A0A;
                }
body.dark-mode.normal #mainNavbar .microsite-name{
                    color: #0A0A0A;
                }
body.dark-mode.normal #secondaryNavbar {
                color: #0A0A0A;
            }
body.dark-mode.normal .mobile-menu-icon, body.dark-mode.normal .bg-red, body.dark-mode.normal .bg-primary, body.dark-mode.normal .mobile {
                background-color: #0A0A0A;
            }
body.dark-mode.normal .full.swiper .container,
                    body.dark-mode.normal .full.swiper .max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                        max-width: 100%!important;
                        
                    }
@media (min-width: 1920px) {
body.dark-mode.normal .full.swiper .container,
                    body.dark-mode.normal .full.swiper .max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                            max-width: 100%!important
                        
                    }
                        }
@media (min-width: 1600px) {
body.dark-mode.normal .full.swiper .container,
                    body.dark-mode.normal .full.swiper .max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                            max-width: 100%!important
                        
                    }
                        }
@media (min-width: 1280px) {
body.dark-mode.normal .full.swiper .container,
                    body.dark-mode.normal .full.swiper .max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                            max-width: 100%!important
                        
                    }
                        }
@media (min-width: 1124px) {
body.dark-mode.normal .full.swiper .container,
                    body.dark-mode.normal .full.swiper .max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                            max-width: 100%!important
                        
                    }
                        }
@media (min-width: 1024px) {
body.dark-mode.normal .full.swiper .container,
                    body.dark-mode.normal .full.swiper .max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                    body.dark-mode.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                            max-width: 100%!important
                        
                    }
                        }
body.dark-mode.normal .full.swiper .sm\:px-10 {
                        padding-left: 0!important;
                        padding-right: 0!important;
                    }
body.dark-mode.superCompact #mainNavbar a {
                    color: #0A0A0A!important;
                }
body.dark-mode.superCompact #mainNavbar a.uderline-animated::after {
                        background-color: #0A0A0A!important;
                    }
body.dark-mode.superCompact #mainNavbar #lkcom-logo {
                    filter: brightness(0) invert(0)!important;  
                }
body.dark-mode.superCompact #mainNavbar .microsite-name{
                    color: #0A0A0A;
                }
body.dark-mode.superCompact #mainNavbar .border-primary {
                    border-color: #0A0A0A!important;
                }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar {
            background-color: transparent;
        }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar .border-primary {
                border-color: #0A0A0A;
            }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar #lkcom-logo {
                filter: brightness(0) invert(0);
            }
@media screen and (min-width: 1024px) {
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar #lkcom-logo {
                    filter: brightness(0) invert(0)
            }
                }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar .microsite-name{
                color: #0A0A0A;
            }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar a {
                color: #0A0A0A;
            }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar a.uderline-animated::after {
                    background-color: #0A0A0A;
                }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar a:hover {
                    color: #4CA585;
                }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar.is-open .border-primary {
                    border-color: #4CA585;
                }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar.is-open #full-screen-menu-icon img,
                body.dark-mode div.fixed-header div.desktop-menu #mainNavbar.is-open #lkcom-logo {
                    filter: none;
                }
body.dark-mode div.fixed-header div.desktop-menu #mainNavbar.is-open a,
                body.dark-mode div.fixed-header div.desktop-menu #mainNavbar.is-open .microsite-name {
                    color: #4CA585;
                }
body.dark-mode .no-background .swiper.swiper-news-carousel-component .swiper-button-next .icon{
                filter: brightness(0) invert(0);
            }
body.dark-mode .no-background #mainNavbar {
                background-color: transparent;
            }
body.dark-mode .no-background #mainNavbar .border-primary {
                    border-color: white;
                }
body.dark-mode .no-background #mainNavbar #lkcom-logo {
                    filter: brightness(0) invert(1);
                }
body.dark-mode .no-background #mainNavbar .microsite-name{
                    color: white;
                }
body.dark-mode .no-background #mainNavbar a {
                    color: white;
                }
body.dark-mode .no-background #mainNavbar a.uderline-animated::after {
                        background-color: white;
                    }
body.dark-mode .no-background #mainNavbar a:hover {
                        color: #4CA585;
                    }
body.dark-mode .no-background #mainNavbar.is-open .border-primary {
                        border-color: #4CA585;
                    }
body.dark-mode .no-background #mainNavbar.is-open #full-screen-menu-icon img,
                    body.dark-mode .no-background #mainNavbar.is-open #lkcom-logo {
                        filter: none;
                    }
body.dark-mode .no-background #mainNavbar.is-open a,
                    body.dark-mode .no-background #mainNavbar.is-open .microsite-name {
                        color: #4CA585;
                    }
body.dark-mode .no-background footer .uderline-animated::after {
                    background-color: white;
                }
body.dark-mode a,
        body.dark-mode .one-column .title-block{
            color: #0A0A0A;
        }
body.dark-mode hr {
            border-color: #0A0A0A;
        }
body.dark-mode .lkcom-filter select, body.dark-mode .lkcom-filter input {
                color: #0A0A0A!important;
            }
body.dark-mode .lkcom-filter select::-moz-placeholder, body.dark-mode .lkcom-filter input::-moz-placeholder {
                    color: #0A0A0A;
                }
body.dark-mode .lkcom-filter select:-ms-input-placeholder, body.dark-mode .lkcom-filter input:-ms-input-placeholder {
                    color: #0A0A0A;
                }
body.dark-mode .lkcom-filter select::placeholder, body.dark-mode .lkcom-filter input::placeholder {
                    color: #0A0A0A;
                }
body.dark-mode .lkcom-filter select::-ms-input-placeholder, body.dark-mode .lkcom-filter input::-ms-input-placeholder { /* Edge 12 -18 */
                    color: #0A0A0A;
                }
body.dark-mode .lkcom-filter div:not(:first-child){
                    border-left: 1px solid #0A0A0A!important;
                }
body.dark-mode .search-icon-btn img{
            filter: brightness(0) invert(0);
        }
body.dark-mode .swiper.swiper-slide-component .swiper-pagination-bullet {
            background: #0A0A0A!important;
        }
body.dark-mode .hover\:bg-black:hover {
            background-color: #fff;
            color: #0A0A0A;
        }
body.dark-mode .hover\:bg-primary:hover {
            background-color: #fff;
            color: #0A0A0A;
        }
body.dark-mode .text-primary,
        body.dark-mode #secondaryNavbar,
        body.dark-mode .text-red  {
            color: #0A0A0A;
        }
body.dark-mode .text-primary .hoveredimg, body.dark-mode #secondaryNavbar .hoveredimg, body.dark-mode .text-red .hoveredimg {
                filter: brightness(0) invert(0);
            }
body.dark-mode .border-primary,
        body.dark-mode .border-red {
            border-color: #0A0A0A;
        }
body.dark-mode .hover\:text-primary:hover {
            color: #0A0A0A; 
        }
body.dark-mode .hover\:bg-white:hover {
            background-color: #fff;
        }
body.dark-mode .bg-red\/75 {
            background-color: #0A0A0A;
        }
body.dark-mode .icon-person,
        body.dark-mode .weather-icon,
        body.dark-mode .search-icon {
            filter: brightness(0) invert(0);
        }
body.dark-mode .swiper-pagination-bullet-active{
            background-color: #0A0A0A!important;
        }
body.dark-mode .swiper.swiperImportantNews .swiper-pagination-bullet-active{
            background-color: #0A0A0A!important;
        }
body.dark-mode .bg-primary {
            background-color: #0A0A0A!important;
        }
body.dark-mode a.bg-primary {
                background-color: #0A0A0A!important;
                color: white!important;
            }
body.dark-mode nav#fullScreenMenu.full-screen-menu a{
            color: #4CA585;
        }
/* Handle */
body.dark-mode::-webkit-scrollbar-thumb {
            background: #0A0A0A!important;
        }
body.dark-mode ::-webkit-scrollbar-thumb {
            background: #0A0A0A!important;
        }
/* Handle on hover */
body.dark-mode::-webkit-scrollbar-thumb:hover {
            background: #0A0A0A!important;
        }
body.dark-mode ::-webkit-scrollbar-thumb:hover {
            background: #0A0A0A!important;
        }
body.dark-mode .event-list .event-list-card {
            border-color: #0A0A0A;
        }
body.dark-mode ::-moz-selection { /* Code for Firefox */
            background: #0A0A0A;
          }
body.dark-mode ::selection {
            background: #0A0A0A;
        }
body.dark-mode footer{
            background-color: #0A0A0A!important;
        }
body.dark-mode footer .uderline-animated::after {
                background-color: white;
            }
/* APP Layout */
@media (max-width: 1023px) {
body.normal .mobile-desktop-margin {
                margin-top: 6rem
        }
            }
@media (min-width: 1024px) {
body.normal .swiper h2.lg\:px-8 {
                    padding-left: 0px!important;
                    padding-right: 0px!important
            }
                }
body.normal .full.swiper .container,
                body.normal .full.swiper .max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                    max-width: 100%!important;
                    
                }
@media (min-width: 1920px) {
body.normal .full.swiper .container,
                body.normal .full.swiper .max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                        max-width: 100%!important
                    
                }
                    }
@media (min-width: 1600px) {
body.normal .full.swiper .container,
                body.normal .full.swiper .max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                        max-width: 100%!important
                    
                }
                    }
@media (min-width: 1280px) {
body.normal .full.swiper .container,
                body.normal .full.swiper .max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                        max-width: 100%!important
                    
                }
                    }
@media (min-width: 1124px) {
body.normal .full.swiper .container,
                body.normal .full.swiper .max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                        max-width: 100%!important
                    
                }
                    }
@media (min-width: 1024px) {
body.normal .full.swiper .container,
                body.normal .full.swiper .max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl,
                body.normal .full.swiper .swiper-wrapper > .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl{
                        max-width: 100%!important
                    
                }
                    }
body.normal .full.swiper .sm\:px-10 {
                    padding-left: 0!important;
                    padding-right: 0!important;
                }
body.normal .full.swiper .swiper-pagination.px-8 {
                    padding-left: 0px;
                    padding-right: 0px;
                }
body.normal .full .absolute div.lg\:px-8 {
                    padding-left: 0px;
                    padding-right: 0px;
                }
body.normal footer .uderline-animated::after {
                background-color: white;
            }
/* Header */
@media (min-width: 1024px) {
body.full-screen header .fixed-header {
                    height: 0px
            }
                }
body.full-screen header .no-background #mainNavbar {
                    background-color: transparent;
                }
body.full-screen header .no-background #mainNavbar .border-primary {
                        border-color: white;
                    }
body.full-screen header .no-background #mainNavbar #lkcom-logo {
                        filter: brightness(0) invert(1);
                    }
body.full-screen header .no-background #mainNavbar .microsite-name{
                        color: white;
                    }
body.full-screen header .no-background #mainNavbar a {
                        color: white;
                    }
@media (min-width: 1024px) {
body.full-screen header .no-background #mainNavbar a {
                            color: white
                    }
                        }
body.full-screen header .no-background #mainNavbar a.uderline-animated::after {
                            background-color: white;
                        }
body.full-screen header .no-background #mainNavbar.is-open .border-primary {
                            border-color: #4CA585;
                        }
body.full-screen header .no-background #mainNavbar.is-open #lkcom-logo {
                            filter: none;
                        }
body.full-screen header .no-background #mainNavbar.is-open .microsite-name,
                        body.full-screen header .no-background #mainNavbar.is-open a {
                            color: white;
                        }
body.full-screen.right .is-open #lkcom-logo {
                    filter: brightness(0) invert(1)!important;
                }
body.full-screen.right .is-open .microsite-name{
                    color: white!important;
                }
body.full-screen.superCompact #mainNavbar a.uderline-animated::after {
                        background-color: #4CA585!important;
                    }
body.full-screen .mobile-desktop-margin {
            margin-top: 6rem;
            
        }
@media (min-width: 1024px) {
body.full-screen .mobile-desktop-margin {
                margin-top: 168px
            
        }
            }
body.full-screen .swiper .container,
            body.full-screen .swiper .max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .slider-text > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl {
                    max-width: 100%!important;
            }
@media (min-width: 1920px) {
body.full-screen .swiper .container,
            body.full-screen .swiper .max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .slider-text > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl {
                    max-width: 100%!important
            }
                }
@media (min-width: 1600px) {
body.full-screen .swiper .container,
            body.full-screen .swiper .max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .slider-text > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl {
                    max-width: 100%!important
            }
                }
@media (min-width: 1280px) {
body.full-screen .swiper .container,
            body.full-screen .swiper .max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .slider-text > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl {
                    max-width: 100%!important
            }
                }
@media (min-width: 1124px) {
body.full-screen .swiper .container,
            body.full-screen .swiper .max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .slider-text > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl {
                    max-width: 100%!important
            }
                }
@media (min-width: 1024px) {
body.full-screen .swiper .container,
            body.full-screen .swiper .max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .slider-text > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .swiper-no-swiping > .\33xl\:max-w-screen-2xl,
            body.full-screen .swiper .swiper-slide > .slider-text > .\33xl\:max-w-screen-2xl {
                    max-width: 100%!important
            }
                }
body.full-screen .swiper .sm\:px-10 {
                padding-left: 0!important;
                padding-right: 0!important;
            }
body.full-screen .static-header,
        body.full-screen .fixed-header   {
            width: 100%;
        }
@media (min-width: 1024px) {
body.full-screen .static-header,
        body.full-screen .fixed-header   {
                position: absolute;
                top: 0
        }
            }
/* Footer */
body.full-screen footer {
            background-color: #4CA585;
        }
body.full-screen footer .uderline-animated::after {
                background-color: white;
            }
/* ============================================================
   Desktop menu — dropdowns dinâmicos + cor do texto
   ============================================================ */
/* Todo o menu a cinza; verde no hover / ativo.
       !important para vencer as regras .no-background / dark-mode / full-screen
       que pintam os links de branco (maior especificidade). */
#mainNavbar ul a,
    #mainNavbar ul p {
        color: #98989A !important;
        transition: color 0.2s ease;
    }
/* Figma: Poppins Regular (400). O @font-face em front.blade.php só carrega
       300;400;500;600;700 — o peso 100 anterior era sintetizado pelo browser. */
#mainNavbar ul a, #mainNavbar ul p {
        font-weight: 400;
    }
#mainNavbar ul a:hover,
    #mainNavbar ul a.active,
    #mainNavbar ul a:focus-visible,
    #mainNavbar ul p:hover,
    #mainNavbar ul p.active,
    #mainNavbar ul .menu-item.parent:hover > a,
    #mainNavbar ul .menu-item.parent:focus-within > a {
        color: #4CA585 !important;
    }
/* Item com filhos precisa de âncora de posicionamento */
#mainNavbar ul .menu-item.parent {
        position: relative;
    }
/* Submenu escondido por defeito.
       Largura: encolhe ao conteúdo (max-content) mas nunca passa dos 280px.
       Eram 200px e o "Venda (Investimento/Residencial)" partia em duas linhas:
       o texto pede 240px e o item tem 40px de padding, logo 280.
       Posição: centrado em relação ao li.menu-item.parent (left 50% + -50%). */
#mainNavbar ul .sub-menu {
        position: absolute;
        left: 50%;
        top: 100%;
        z-index: 30;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        max-width: 280px;
        padding: 0.5rem 0;
        text-align: center;
        background-color: #FFFFFF;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
        font-weight: 400;

        opacity: 0;
        visibility: hidden;
        transform: translate(-50%, 0.5rem);
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    }
#mainNavbar ul .sub-menu a {
            display: block;
            padding: 0.5rem 1.25rem;
            /* com max-width fixo o texto tem de poder quebrar */
            white-space: normal;
            text-align: center;
        }
#mainNavbar ul .sub-menu a:hover {
                color: #4CA585 !important;
            }
/* Sub-submenu (3.º nível) abre para o lado — sem centragem horizontal */
#mainNavbar ul .sub-menu .sub-menu {
            top: 0;
            left: 100%;
            border-top: 0;
            border-left: 2px solid #4CA585;
            transform: translate(0, 0.5rem);
        }
/* Abre apenas o submenu directo do item em hover (funciona a qualquer nível).
       :focus-within garante o mesmo comportamento em navegação por teclado. */
#mainNavbar ul .menu-item.parent:hover > .sub-menu,
    #mainNavbar ul .menu-item.parent:focus-within > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translate(-50%, 0);
    }
/* O último item do menu está encostado à margem direita do contentor, e um
       submenu centrado nele saía da janela — 38px aos 1280px, que o
       overflow-x: clip do <html> cortava sem se perceber porquê. Ancorado à
       direita fica sempre dentro. O :not(.sub-menu) limita a regra ao primeiro
       nível: os submenus de 3.º nível abrem para o lado e têm regra própria. */
#mainNavbar ul:not(.sub-menu) > .menu-item.parent:last-child > .sub-menu {
        left: auto;
        right: 0;
        transform: translate(0, 0.5rem);
    }
#mainNavbar ul:not(.sub-menu) > .menu-item.parent:last-child:hover > .sub-menu,
    #mainNavbar ul:not(.sub-menu) > .menu-item.parent:last-child:focus-within > .sub-menu {
        transform: translate(0, 0);
    }
/* 3.º nível: mantém o alinhamento lateral ao abrir (não recentrar) */
#mainNavbar ul .sub-menu .menu-item.parent:hover > .sub-menu,
    #mainNavbar ul .sub-menu .menu-item.parent:focus-within > .sub-menu {
        transform: translate(0, 0);
    }
/* ============================================================
   Logótipo do header
   Figma: 90 x 74px (node I588:1745;364:281). Altura fixa + largura
   automática para respeitar o rácio de qualquer SVG/PNG carregado.
   ============================================================ */
#mainNavbar .logo {
    display: block;
    width: auto;
    height: 56px;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}
@media (min-width: 1024px) {
#mainNavbar .logo {
        height: 74px
}
    }
/* ============================================================
   Featured slider — cartões todos com a mesma altura (evita corte em baixo)
   ============================================================ */
.featured-swiper .swiper-slide, .recent-swiper .swiper-slide {
        height: auto;          /* em vez do height:100% default do Swiper */
        display: flex;         /* o cartão (filho) estica para a altura do slide */
    }
.featured-swiper .swiper-slide > *, .recent-swiper .swiper-slide > * {
        width: 100%;
    }
/* ============================================================
   Menu mobile — painel colapsável + submenus em acordeão
   ============================================================ */
#mainNavbar #mobileMenu {
    max-height: 0;
    transition: max-height 0.35s ease;
}
#mainNavbar #mobileMenu.open {
        max-height: 85vh;
        overflow-y: auto;
    }
/* Reset ao comportamento de dropdown do desktop */
#mainNavbar #mobileMenu ul.mobile-nav {

        /* A lista ocupava a largura toda e os itens ficavam encostados à
           esquerda, com o chevron dos submenus atirado para a outra ponta do
           ecrã. Passa a ser um bloco estreito, centrado na página. */
        max-width: 350px;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
#mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent,
        #mainNavbar #mobileMenu ul.mobile-nav li {
            width: 100%;
        }
#mainNavbar #mobileMenu ul.mobile-nav a,
        #mainNavbar #mobileMenu ul.mobile-nav p {
            padding: 0.75rem 0;
        }
/* Item pai: rótulo e chevron juntos e centrados. No desktop ficam
           afastados (space-between); aqui isso deixaria o texto encostado à
           esquerda dos 250px. */
#mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent > a {
            justify-content: center;
            gap: 0.625rem;
        }
/* Submenu: empilhado e recolhido por defeito (sem hover, sem absolute).
           Anula também a largura/centragem do dropdown desktop. */
#mainNavbar #mobileMenu ul.mobile-nav .sub-menu {
            position: static;
            min-width: 0;
            width: auto;
            max-width: none;
            padding: 0;
            background-color: transparent;
            border: 0;
            box-shadow: none;

            opacity: 1;
            visibility: visible;
            transform: none;

            max-height: 0;
            overflow: hidden;
            /* Sem indentação à esquerda: com o texto centrado, empurrava os
               subitens para fora do eixo. A hierarquia fica pelo tamanho. */
            padding-left: 0;
            transition: max-height 0.3s ease;
        }
#mainNavbar #mobileMenu ul.mobile-nav .sub-menu a {
                padding: 0.6rem 0;
                font-size: 0.9375rem;
            }
#mainNavbar #mobileMenu ul.mobile-nav .sub-menu a:hover { background-color: transparent; }
/* Aberto por clique (classe .open via JS) */
#mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent.open > .sub-menu {
            max-height: 1000px;
        }
/* Roda o chevron quando aberto */
#mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent.open > a svg {
            transform: rotate(180deg);
        }
/* Num ecrã táctil o :hover fica agarrado depois do toque, e o item pai
           envolve o submenu inteiro: tocar num filho pintava a linha do pai
           como se fosse ela a seleccionada. Aqui o pai nunca reage ao
           hover/focus — quem se marca é só o item filho.
           O tap-highlight do browser também é desligado: o <a> do pai ocupa a
           linha toda e o flash cinzento cobria-a de ponta a ponta. */
#mainNavbar #mobileMenu ul.mobile-nav a,
        #mainNavbar #mobileMenu ul.mobile-nav p {
            background-color: transparent;
        }
#mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent:hover > a,
        #mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent:focus-within > a,
        #mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent:active > a,
        #mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent > a:hover,
        #mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent > a:focus {
            color: #98989A !important;
            background-color: transparent;
        }
/* O filho da página actual — e só ele — fica verde. */
#mainNavbar #mobileMenu ul.mobile-nav .sub-menu a.active,
        #mainNavbar #mobileMenu ul.mobile-nav > .menu-item > a.active {
            color: #4CA585 !important;
            font-weight: 600;
        }
#mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent > a svg {
            transition: transform 0.3s ease;
        }
/* ============================================================
   Header fixo — acompanha o scroll da página.

   A classe chamava-se .fixed-header mas só recebia position:absolute
   (e só dentro de body.full-screen), pelo que o menu subia com o scroll.
   Os !important aqui são para vencer as regras legacy encadeadas em
   body.full-screen / body.dark-mode, que a esta altura já declararam
   position, height e background-color com maior especificidade.

   NOTA: o espaço reservado no topo do conteúdo está em
   resources/views/front/layouts/front.blade.php (pt no <main>).
   Se mudares a altura do header, muda lá também.
   ============================================================ */
.fixed-header {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: auto !important;
}
/* ============================================================
   Realce de toque no header.

   O "azul claro" que preenchia o item ao tocar no menu é o realce de toque do
   browser (-webkit-tap-highlight-color): o Chrome no Android pinta a caixa do
   elemento clicável com um azul translúcido, o Safari com um cinzento. Como o
   <a> do item pai ocupa a linha toda, o realce cobria-a de ponta a ponta e
   parecia que o pai tinha ficado seleccionado.

   O menu já mostra o estado por si — verde no item activo, chevron rodado —,
   por isso o realce só estorvava. Fica desligado só dentro do header; no resto
   do site o browser continua a dar a resposta habitual ao toque.
   ============================================================ */
#mainNavbar,
#mainNavbar * {
    -webkit-tap-highlight-color: transparent;
}
/* O <a> do item pai é um botão (role="button", sem href): sem isto, o toque
   duplo para abrir/fechar seleccionava o texto do rótulo. */
#mainNavbar #mobileMenu ul.mobile-nav .menu-item.parent > a {
    -webkit-user-select: none;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none;
}
/* Um header fixo tem de ser opaco — passa conteúdo por baixo dele. */
body .fixed-header .desktop-menu #mainNavbar {
    background-color: #FFFFFF !important;
}
/* Ícones do bloco "Números" — SVG (asset) pintado a primary via mask.
   O URL do ícone é passado por CSS variable (--stat-icon) no elemento. */
.stat-icon {
    display: block;
    width: 32px;
    height: 32px;
    background-color: #4CA585;

    -webkit-mask: var(--stat-icon) no-repeat center / contain;
            mask: var(--stat-icon) no-repeat center / contain;
}
.numbers-vignette {
    background: radial-gradient(ellipse at center, transparent 0%, rgba(0, 0, 0, 0.8) 120%);
}
/* Figma node 109:226 */
.cards-shadow {
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
}
/* ============================================================
   Banner / Hero  —  blocos "banner" e "banner-new"

   A altura vem do campo "Tamanho Altura" do CMS (config/blocks.php),
   que grava small | medium | large em $data->size e é impresso como
   classe:  <div class="secondary-heading {{ $data->size }}">

   Sem esta folha as classes .secondary-heading / .small / .medium /
   .large não tinham qualquer regra: o banner ficava com a altura
   natural da imagem, limitada apenas pelo max-h-[800px] do <img>.
   ============================================================ */
.secondary-heading {
    /* As alturas do CMS são as de desktop. Em vez de ficarem fixas, encolhem
       de forma contínua com a largura da janela — como o espaçamento das
       secções (--espaco-seccao em utils.scss). Interpolação linear entre os
       375px e os 1024px de largura:
         Pequeno  140 → 180
         Médio    220 → 300
         Grande   360 → 480  (é o valor do Figma em desktop)
       Por defeito (campo por preencher) = Grande. */
    height: clamp(360px, 18.49vw + 290.7px, 480px);
}
.secondary-heading.small  { height: clamp(140px, 6.16vw + 116.9px, 180px); }
.secondary-heading.medium { height: clamp(220px, 12.33vw + 173.8px, 300px); }
.secondary-heading.large  { height: clamp(360px, 18.49vw + 290.7px, 480px); }
/* A cadeia de h-full do Tailwind (.cover > div > img) só resolve
       se o elemento de topo tiver altura definida — é o que as regras
       acima fazem. Reforçamos aqui para não depender da ordem das
       utilities nem da presença de h-full em todos os níveis. */
.secondary-heading > .cover {
        height: 100%;
    }
.secondary-heading img {
        height: 100%;
        width: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
/* ------------------------------------------------------------
   Overlay — campo "Escurecer Fundo" do CMS.
   Renderizado por banner / banner-new / standard, mas até aqui
   sem qualquer regra (a div saía vazia e não escurecia nada).
   Gradiente de baixo para cima: escuro na base, transparente no topo.
   ------------------------------------------------------------ */
.overlay,
.overlay-white {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.overlay {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 4%, rgba(0, 0, 0, 0.00) 91%);
}
/* Contraparte clara (opção "overlay-white"), mesmo gradiente em branco */
.overlay-white {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.50) 4%, rgba(255, 255, 255, 0.00) 91%);
}
/* ------------------------------------------------------------
   Banner + barra de pesquisa na mesma secção (homepage).

   A barra deixou de fluir por baixo do banner e passou a ficar por dentro
   dele em todas as larguras (ver livewire/front/properties/search-form-bar).
   Abaixo de lg a barra empilha os campos e ocupa cerca de 310px com a folga
   de baixo — o texto do banner recolhe outro tanto para não ficar escondido
   atrás dela. Em desktop a barra tem 140px e há espaço de sobra, por isso
   fica como estava.

   Assenta no :has(); onde não houver suporte a regra é ignorada.
   ------------------------------------------------------------ */
@media (max-width: 1023px) {
    .secondary-heading:has(~ [data-search-system]) {
        /* A barra empilhada ocupa 284px mais os 32px de folga por baixo:
           reserva 316px e sobram 84px para o título — o suficiente para duas
           linhas de 24px. */
        min-height: 400px;
    }

        .secondary-heading:has(~ [data-search-system]) .cover > .absolute {
            padding-bottom: 316px;
        }

            /* O py-10 do bloco comia os 80px que restam. */
            .secondary-heading:has(~ [data-search-system]) .cover > .absolute > div > div {
                padding-top: 8px;
                padding-bottom: 0;
            }
}
/* Swiper da section bannerWithTwoColumns.
   Bullets: 16x16px, 8px de espaçamento, inactivo #D9D9D9, activo #4CA585. */
.bwtc-swiper {
    --swiper-pagination-color: #4CA585;
    --swiper-pagination-bullet-inactive-color: #D9D9D9;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-size: 16px;
    --swiper-pagination-bullet-horizontal-gap: 4px;
}
/* As variáveis acima nem sempre chegam (dependem da build do Swiper),
       por isso declaramos também as regras directas. */
.bwtc-swiper .swiper-pagination-bullet {
        width: 16px;
        height: 16px;
        margin: 0 4px !important;
        background-color: #D9D9D9;
        opacity: 1;
        transition: background-color .3s ease;
    }
/* 4+4 = 8px entre bullets */
.bwtc-swiper .swiper-pagination-bullet-active {
        background-color: #4CA585;
    }
/* O Swiper aplica .swiper-slide { height: 100% } e, como o wrapper tem
       altura automática, a altura do card passava a ser ditada pelo conteúdo
       (crescia no hover). Fixa-se aqui a altura do slide — o conteúdo que
       exceda é recortado pelo overflow-hidden do .bwtc-card. */
.bwtc-swiper .swiper-slide {
        height: var(--bwtc-altura);
    }
/* Altura do cartão. Os 436px são os do Figma em desktop; abaixo disso encolhe
   com a janela — 340px aos 375px de largura, 436px a partir dos 1024. */
:root {
    --bwtc-altura: clamp(340px, 14.79vw + 284.5px, 436px);
}
.bwtc-card {
    /* Figma node 268:170 — raio de 12px (rounded-xl no blade) e um halo
       discreto a toda a volta. */
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);

    /* Em telemóvel cresce com o conteúdo, com a altura fluida como mínimo;
       a partir de md fixa-se nela. */
    height: auto;
    min-height: var(--bwtc-altura);
}
@media (min-width: 768px) {
.bwtc-card {
        height: var(--bwtc-altura)
}
    }
/* Título: Poppins 30px/400 (classe no blade). O negrito vem do HTML do CMS
       — o preflight do Tailwind põe `bolder` em b/strong, que consoante a fonte
       pode saltar para 800/900. Fixamos em 700 como no Figma. */
.bwtc-card .bwtc-title {
        /* Figma: 32px num cartão de 574px, baixado para 30px — o título é o
           que rouba espaço à descrição, e cada linha de título vale cerca de
           duas linhas de texto. O que manda no tamanho é a largura do CARTÃO,
           não a da janela: a 1024px a janela é larga mas passam a caber dois
           cartões e cada um fica com 472px. Por isso a medida vai em cqw
           (largura do contentor) mais abaixo; isto aqui é o recurso para
           browsers sem container queries, por degraus de janela.

           O mínimo (20px) e os declives mantêm-se: só desceu o tecto. */
        font-size: clamp(1.25rem, 3.4vw, 1.875rem);
    }
@media (min-width: 1024px) {
.bwtc-card .bwtc-title {
            font-size: clamp(1.25rem, 1.7vw, 1.875rem)
    }
        }
/* Desktop pequeno (1024 a 1599): o cartão anda entre os 472 e os
           600px e é onde o título rouba mais espaço à descrição. Tecto a
           28px em vez de 30. A entrelinha vai em proporção no blade, por
           isso acompanha sozinha: 1.2667 x 28 = 35.5px. */
@media (min-width: 1024px) and (max-width: 1599.98px) {
.bwtc-card .bwtc-title {
            font-size: clamp(1.25rem, 1.7vw, 1.75rem)
    }
        }
.bwtc-card .bwtc-title b, .bwtc-card .bwtc-title strong {
            font-weight: 700;
        }
.bwtc-card .bwtc-desc {
        display: block;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transform: translateY(0.5rem);
        transition: max-height .5s ease-out,
                    opacity .5s ease-out,
                    transform .5s ease-out;
    }
/* A partir de md o cartão tem altura fixa e a descrição abre no hover
           por cima do que já lá está. Se o texto for comprido não cabe e
           ficava cortado a meio de uma linha — e chegava a empurrar o badge
           para fora do cartão.

           Eram 3 linhas, e o cartão da Venda precisa de 4 a 5 conforme a
           largura: ficava sempre a faltar o fim ("...um ativo de
           investimento."). Passa a 5, que é o máximo que algum dos cartões
           pede, e o `min-height: 0` garante que se ainda assim não couber é a
           descrição a encolher — e não o badge a ser empurrado para fora. */
@media (min-width: 768px) {
.bwtc-card .bwtc-desc {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 5;
            min-height: 0
    }
        }
/* Desktop pequeno. O `container` do Tailwind fixa a largura pelo
           breakpoint, por isso o cartão dá saltos certos: 472px entre os 1024
           e os 1123, 522px até aos 1279, 600px até aos 1599 e só depois 760px.
           É nesta faixa que o texto aperta — o `text-base` traz 24px de
           entrelinha e aqui passa a 22px, o que rende cerca de mais 9% de
           texto no mesmo espaço. A partir dos 1600 volta aos 24px, onde há
           largura de sobra. */
@media (min-width: 1024px) and (max-width: 1599.98px) {
.bwtc-card .bwtc-desc {
            line-height: 22px;

            /* As 5 linhas chegavam para os cartões curtos mas cortavam o do
               crédito, que aqui precisa de 6 a 8 conforme a largura. O limite
               sobe para 8 e deixa de ser ele a mandar: quem manda passa a ser
               o espaço que sobra na coluna, através do flex com min-height 0.
               Se um dia um texto não couber mesmo, é a descrição que encolhe —
               o badge e o título ficam onde estão. */
            -webkit-line-clamp: 8
    }
        }
/* Coluna do conteúdo. Em desktop pequeno o espaço é todo pouco, e os
       60px de padding no topo são o primeiro sítio onde há gordura: o
       conteúdo está ancorado em baixo (justify-end), por isso este padding
       só serve de tecto — e metade dele chega. São 30px que passam a estar
       disponíveis para o texto antes de bater no topo do cartão. */
@media (min-width: 1024px) and (max-width: 1599.98px) {
.bwtc-card .bwtc-conteudo {
            padding-top: 30px;
            padding-bottom: 40px;
            gap: 10px
    }
        }
.bwtc-card .bwtc-cta {
        /* Em telemóvel e tablet não há hover: o botão está sempre visível.
           A partir de lg mantém-se a entrada com o hover do cartão. */
        opacity: 1;
        transform: none;
        transition: opacity .5s ease-out,
                    transform .5s ease-out;
    }
@media (min-width: 1024px) {
.bwtc-card .bwtc-cta {
            opacity: 0;
            transform: translateY(0.75rem)
    }
        }
.bwtc-card .bwtc-shape {
        transition: transform .7s ease-out;
    }
.bwtc-card .bwtc-overlay {
        background-image: linear-gradient(
            to top,
            #4CA585 0%,
            #4CA585 50%,
            transparent 100%
        );
        background-size: 100% 200%;
        background-position: 0 0;
        /* Em repouso vê-se a metade de cima da imagem do gradiente, que dá
           exactamente o do Figma: transparente em cima, #4CA585 em baixo.
           Estava a 0.7 e o verde do fundo ficava lavado. */
        opacity: 1;
        transition: background-position .6s ease-out;
    }
/* O hover só existe a partir de lg. Em telemóvel e tablet não há rato:
       o cartão fica no estado de repouso e quem faz o link é o botão, que
       nessas larguras está sempre visível (ver .bwtc-cta acima). */
@media (min-width: 1024px) {
            .bwtc-card:hover .bwtc-desc {
                /* Em telemóvel o cartão cresce com o conteúdo, por isso cabe tudo.
                   A partir de md são as 5 linhas (7.5rem a 24px de entrelinha)
                   que o cartão comporta com o badge e o título abertos. */
                max-height: 12rem;
                opacity: 1;
                transform: translateY(0);
            }

                @media (min-width: 768px) {
            .bwtc-card:hover .bwtc-desc {
                    max-height: 7.5rem
            }
                }

                /* 8 linhas de 22px = 176px. É um tecto, não uma altura: a
                   caixa continua a ficar pelo tamanho do texto quando ele é
                   mais curto. */
                @media (min-width: 1024px) and (max-width: 1599.98px) {
            .bwtc-card:hover .bwtc-desc {
                    max-height: 11rem
            }
                }

            .bwtc-card:hover .bwtc-cta {
                opacity: 1;
                transform: translateY(0);
            }

            .bwtc-card:hover .bwtc-shape {
                transform: scale(1.1);
            }

            .bwtc-card:hover .bwtc-overlay {
                background-position: 0 100%;
            }
    }
/* ------------------------------------------------------------
   Tamanho do título pela largura do cartão.

   5.57cqw = 32/574, a proporção do Figma. O tecto é agora 30px (1.875rem),
   por isso o título chega ao máximo num cartão de 538px em vez de 574px; o
   declive fica igual, para o texto encolher ao mesmo ritmo em responsivo.
   Assim o título acompanha o cartão
   em vez da janela — que é o que faltava quando, aos 1024px, dois cartões
   passam a dividir o espaço e cada um encolhe para 472px.

   Fica em @supports: onde não houver container queries valem os degraus de
   janela definidos acima.
   ------------------------------------------------------------ */
@supports (container-type: inline-size) {
    .bwtc-swiper .swiper-slide {
        container-type: inline-size;
    }

    /* A entrelinha do título vai a 1.3 no blade (leading-[1.3]): "normal" no
       Poppins dá ~1.5 e quatro linhas de 32px eram 192px — mais do que o
       cartão comporta com o badge e a descrição abertos. Com 1.3 e 30px são
       156px, menos 10px do que antes. */
    .bwtc-card .bwtc-title {
        font-size: clamp(1.25rem, 5.57cqw, 1.875rem);
    }

        /* Mesmo tecto de 28px em desktop pequeno. O declive (5.57cqw) não
           muda: o título continua a encolher ao mesmo ritmo, só deixa de
           passar dos 28px nesta faixa. */
        @media (min-width: 1024px) and (max-width: 1599.98px) {
    .bwtc-card .bwtc-title {
            font-size: clamp(1.25rem, 5.57cqw, 1.75rem)
    }
        }
}
/* ------------------------------------------------------------
   Desktop pequeno, faixa de baixo (1024 a 1123).

   O `container` do Tailwind trava nos 1024, por isso o cartão tem sempre
   472px nesta faixa, seja a janela de 1024 ou de 1123 — a largura não varia.
   Como não varia, a medida pode ir em pixéis fixos em vez de cqw: a fórmula
   dava 26,29px e passa a 25px, com 30px de entrelinha em vez de 33,3px.

   Fica no fim do ficheiro de propósito: a regra em cqw lá em cima tem a mesma
   especificidade (.bwtc-card .bwtc-title), por isso quem vier depois é que
   manda. E também apanha os browsers sem container queries, que seguem pelos
   degraus de janela.
   ------------------------------------------------------------ */
@media (min-width: 1024px) and (max-width: 1123.98px) {
    .bwtc-card .bwtc-title {
        font-size: 25px;
        line-height: 30px;
    }
}
/* Carrossel (bloco caroussel) */
.caroussel-swiper {
    /* Variáveis do Swiper (fallback) */
    --swiper-pagination-color: #4CA585;
    --swiper-pagination-bullet-inactive-color: #98989A;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-size: 12px;
    --swiper-pagination-bullet-horizontal-gap: 5px;
}
/* O Swiper aplica height: 100% ao wrapper e aos slides, o que os estica para
       lá das imagens. Forçamos a altura do conteúdo (= altura da imagem). */
.caroussel-swiper .swiper-wrapper {
        height: auto;
    }
.caroussel-swiper .swiper-slide {
        height: auto;
    }
/* Bullets no fluxo, logo por baixo das imagens (sem gap grande do padding) */
.caroussel-swiper .swiper-pagination {
        position: static;
        margin-top: 12px;
    }
.caroussel-swiper .swiper-pagination-bullet {
        width: 12px;
        height: 12px;
        margin: 0 5px !important;
        background-color: #98989A;
        opacity: 1;
        transition: background-color .3s ease;
    }
.caroussel-swiper .swiper-pagination-bullet-active {
        background-color: #4CA585;
    }
/* ============================================================
   Checkboxes e radios dos formulários do site.

   O projeto não tem o plugin @tailwindcss/forms, por isso estes
   controlos saíam com o desenho nativo do browser (quadrado cinzento,
   anel cinzento) — nada parecido com o Figma, que os desenha a 20x20,
   fundo branco, borda de 1px verde e completamente redondos
   (raio 12px numa caixa de 20px → o browser corta em 10px = círculo).

   Marcados: preenchem a verde com um anel branco por dentro, o que
   serve tanto para checkbox como para radio.
   ============================================================ */
.form-check {
    -webkit-appearance: none;
            -moz-appearance: none;
         appearance: none;

    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin: 0;

    border: 1px solid #4CA585;
    border-radius: 9999px;
    background-color: #fff;
    cursor: pointer;

    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.form-check:checked {
        background-color: #4CA585;
        box-shadow: inset 0 0 0 3px #fff;
    }
.form-check:focus-visible {
        outline: 2px solid #4CA585;
        outline-offset: 2px;
    }
.form-check:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }
/* ============================================================
   Selects dos filtros

   Estavam a usar a seta que o browser desenha, e essa fica colada à borda
   direita — o Chrome não a afasta com o padding-right. Substituímo-la por um
   chevron nosso, igual ao da barra de pesquisa do topo, a 16px da margem para
   ficar simétrico com os 16px de folga do lado esquerdo.

   Vai em background-image e não num <svg> ao lado porque estes selects estão
   dentro de grelhas: embrulhar cada um num invólucro relative mudaria o
   comportamento das colunas.
   ============================================================ */
.campo-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398989A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 12px 12px;

    /* 16px de folga + 12px do chevron + 8px até ao texto */
    padding-right: 2.25rem;
    cursor: pointer;
}
/* O Firefox continuava a mostrar a seta dele por cima. */
.campo-select::-ms-expand {
        display: none;
    }
/* Os selects de localização escondem as opções que não pertencem ao pai
   escolhido (ver o script em property-list.blade.php). Alguns browsers ignoram
   o atributo hidden nas <option>; esta regra garante-o. */
option[hidden] {
    display: none;
}
/* ============================================================
   Menu do <select> na cor da casa.

   O menu que abre num <select> nativo não pertence à página: é o sistema que o
   desenha, e a barra de selecção sai na cor de destaque do utilizador — azul,
   por omissão, no macOS e no Windows. Nenhum CSS lhe chega enquanto for assim.

   O `appearance: base-select` (Chrome/Edge 135+) muda isso: o menu passa a ser
   um elemento da página e aceita CSS como qualquer outro. Fica dentro de um
   @supports porque o Safari e o Firefox ainda não o têm — nesses o menu
   continua nativo, exactamente como hoje. É melhoria progressiva, não há nada
   a perder.

   Aplica-se a todos os <select> do site. O `::picker-icon` é escondido porque
   os nossos selects já trazem a seta — no .campo-select vem em background-image
   e na barra de pesquisa do topo vem num <svg> à parte; sem isto ficavam duas.
   ============================================================ */
@supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)) {
    /* O [class] existe só para ganhar especificidade. Os nossos selects trazem
       `appearance: none` — da .campo-select ou da appearance-none do Tailwind —
       e uma regra só de elemento (0,0,1) perde para uma classe (0,1,0). Com o
       [class] fica (0,1,1) e ganha. Um select sem classe nenhuma continua a
       ser apanhado pelo selector simples, e aí não há nada a vencer. */
    select,
    select[class] {
        -webkit-appearance: base-select;
           -moz-appearance: base-select;
                appearance: base-select;
    }

    select::picker(select) {
        -webkit-appearance: base-select;
           -moz-appearance: base-select;
                appearance: base-select;
        border: 0.5px solid #98989A;
        border-radius: 12px;
        background-color: #fff;
        padding: 4px;
        margin-top: 6px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    }

    /* A seta é nossa, não a do browser. */
    select::picker-icon {
        display: none;
    }

    select option {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 8px 12px;
        border-radius: 8px;
        font-size: 12px;
        color: #98989A;
        cursor: pointer;
    }

    select option:hover,
    select option:focus {
        background-color: rgba(76, 165, 133, 0.12);
        color: #4CA585;
    }

    select option:checked {
        background-color: #4CA585;
        color: #fff;
    }

    /* O visto da opção activa vai para a direita, como no menu do sistema. */
    select option::checkmark {
        order: 1;
        margin-left: auto;
    }

    /* As opções escondidas pelo encadeamento distrito → concelho → freguesia
       têm de continuar escondidas: o display:flex acima venceria o display:none
       da regra de cima, que é menos específica. */
    select option[hidden] {
        display: none;
    }
}
/* ============================================================
   .rich-text — texto corrido das páginas de conteúdo (RAL, RLL, políticas).

   O bloco escreve o HTML tal como sai do editor, por isso o desenho tem de
   vir daqui. Segue a tipografia do resto do site: títulos em Poppins Bold na
   cor primary, corpo a 16px na secondary, links a verde.
   ============================================================ */
/* Resets primeiro. Vinham a seguir às regras de espaçamento e, como
       `ul { margin: 0 }` tem a mesma especificidade de `* + ul`, era o reset
       que ganhava e as listas ficavam sempre coladas ao que vinha antes. */
.rich-text ul,
    .rich-text ol {
        list-style: none;
        margin: 0;
        padding: 0;
    }
.rich-text h2 {
        font-size: 24px;
        font-weight: 700;
        line-height: normal;
        color: #4CA585;
    }
@media (min-width: 1024px) {
.rich-text h2 {
            font-size: 32px
    }
        }
.rich-text h3 {
        font-size: 20px;
        font-weight: 700;
        line-height: normal;
        color: #4CA585;
    }
@media (min-width: 1024px) {
.rich-text h3 {
            font-size: 24px
    }
        }
/* Quarto nível — usado nas listas de instruções por navegador da política
       de cookies. Mesmo verde dos outros títulos, um degrau mais pequeno. */
.rich-text h4 {
        font-size: 16px;
        font-weight: 700;
        line-height: normal;
        color: #4CA585;
    }
@media (min-width: 1024px) {
.rich-text h4 {
            font-size: 18px
    }
        }
/* Espaçamento entre blocos. A ordem destas regras conta: têm todas a mesma
       especificidade, por isso a última a aparecer é a que ganha. */
.rich-text p + p,
    .rich-text ul + p,
    .rich-text ol + p {
        margin-top: 24px;
    }
.rich-text h2 + *,
    .rich-text h3 + *,
    .rich-text h4 + * {
        margin-top: 24px;
    }
/* Uma lista que venha a seguir a alguma coisa afasta-se 20px, seja o que
       for que venha antes — inclusive um título. */
.rich-text * + ul,
    .rich-text * + ol,
    .rich-text * + .rich-text__tabela {
        margin-top: 20px;
    }
/* Os títulos é que abrem mais. */
.rich-text * + h2,
    .rich-text * + h3 {
        margin-top: 40px;
    }
.rich-text * + h4 {
        margin-top: 32px;
    }
.rich-text ul li {
        position: relative;
        padding-left: 20px;
    }
.rich-text ul li + li {
            margin-top: 16px;
        }
.rich-text ul li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 9px;
            width: 6px;
            height: 6px;
            border-radius: 9999px;
            background-color: #4CA585;
        }
/* Listas numeradas — os passos de configuração por navegador. O contador
       é nosso porque o list-style foi reposto lá em cima. */
.rich-text ol {
        counter-reset: rt-item;
    }
.rich-text ol > li {
        position: relative;
        counter-increment: rt-item;
        padding-left: 28px;
    }
.rich-text ol > li + li {
            margin-top: 16px;
        }
.rich-text ol > li::before {
            content: counter(rt-item) '.';
            position: absolute;
            left: 0;
            top: 0;
            font-weight: 700;
            color: #4CA585;
        }
/* Listas dentro de listas (ex.: as opções de cookies do Chrome). */
.rich-text li > ul,
    .rich-text li > ol {
        margin-top: 16px;
    }
/* ------------------------------------------------------------------
       Tabelas. O invólucro .rich-text__tabela é que faz o scroll lateral —
       em telemóvel a tabela de cookies não cabe e não deve encolher a ponto
       de ficar ilegível.
       ------------------------------------------------------------------ */
.rich-text .rich-text__tabela {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
.rich-text table {
        width: 100%;
        min-width: 800px;
        border-collapse: collapse;
        font-size: 14px;
        line-height: 1.5;
    }
.rich-text th,
    .rich-text td {
        padding: 12px 16px;
        border: 1px solid rgba(152, 152, 154, 0.3);
        text-align: left;
        vertical-align: top;
    }
.rich-text th {
        font-weight: 700;
        color: #4CA585;
        background-color: rgba(76, 165, 133, 0.1);
        text-transform: uppercase;
        letter-spacing: 0.04em;
        white-space: nowrap;
    }
/* Células de etiqueta — a origem e o nome do cookie. Vão por classe e não
       por posição: com rowspan, a primeira célula de uma linha tanto pode ser
       a origem como o nome, e a formatação ficava aos saltos. */
.rich-text td.origem,
    .rich-text td.nome {
        font-weight: 700;
        color: #4CA585;
        white-space: nowrap;
    }
/* A última coluna (a validade) é curta — não vale a pena parti-la em três
       linhas para poupar 40px. */
.rich-text th:last-child,
    .rich-text td:last-child {
        white-space: nowrap;
    }
.rich-text strong,
    .rich-text b {
        font-weight: 700;
        color: #4CA585;
    }
.rich-text a {
        color: #4CA585;
        text-decoration: underline;
        text-underline-offset: 2px;
        overflow-wrap: anywhere;
    }
.rich-text a:hover {
            text-decoration: none;
        }
.rich-text small {
        font-size: 14px;
    }
/* ============================================================
   Páginas de serviço (Arrendamento Simples, Financiamento, GA365).

   .phase-list — lista com bullets do bloco "Fase numerada".
   O conteúdo vem do editor como <ul><li><strong>Entrada:</strong> texto</li></ul>,
   por isso o desenho tem de vir daqui e não de utilitárias no HTML.
   Figma nodes 760:2522 / 760:2532 / 760:2534 (GA365):
     - bullet redondo de 12px na cor primary, 17px até ao texto;
     - entrada a Poppins Bold 24px na cor primary, em linha própria;
     - texto a Poppins Regular 16px na cor secondary;
     - 24px entre itens.
   ============================================================ */
.phase-list ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }
.phase-list li {
        position: relative;
        padding-left: 29px; /* 12px do bullet + 17px de intervalo */

        font-size: 16px;
        font-weight: 400;
        line-height: normal;
        color: #98989A;
    }
.phase-list li + li {
            margin-top: 24px;
        }
.phase-list li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 12px;
            width: 12px;
            height: 12px;
            border-radius: 9999px;
            background-color: #4CA585;
        }
/* Realces dentro do texto (ex.: "GA365 Imóveis:") ficam em linha. */
.phase-list li strong,
        .phase-list li b {
            font-weight: 700;
            color: #4CA585;
        }
/* A entrada do item — o primeiro negrito — é que ganha linha própria
           e o tamanho maior. */
.phase-list li > strong:first-child,
        .phase-list li > b:first-child {
            display: block;
            font-size: 20px;
            line-height: normal;
        }
/* Sem este degrau a entrada saltava de 20px para 24px só aos
               1024px, deixando todos os tablets ao tamanho do telemóvel. */
@media (min-width: 768px) {
.phase-list li > strong:first-child,
        .phase-list li > b:first-child {
                font-size: 22px
        }
            }
@media (min-width: 1024px) {
.phase-list li > strong:first-child,
        .phase-list li > b:first-child {
                font-size: 24px
        }
            }
/* ============================================================
   .sem-marcadores

   Escreve-se no campo "Classe" do bloco, no backoffice, e tira os pontos
   verdes das listas do .rich-text — para quando a lista é só uma forma de
   arrumar o texto e não uma enumeração.

   Só mexe nas listas com marcador (ul). As numeradas (ol) mantêm os números,
   que aí fazem parte do conteúdo; para as tirar também, ver a segunda regra.
   ============================================================ */
.rich-text.sem-marcadores ul li {
        padding-left: 0;
    }
.rich-text.sem-marcadores ul li::before {
            content: none;
        }
/* Variante que tira também a numeração das listas ordenadas. */
.rich-text.sem-numeros ol > li {
        padding-left: 0;
    }
.rich-text.sem-numeros ol > li::before {
            content: none;
        }
/* ============================================================
   Animações.

   As entradas ao scroll são do AOS (config em resources/js/front/aos-init.js,
   marcações data-aos nos blocos). Aqui fica só o que tem de ser CSS.
   ============================================================ */
/* Secção de três colunas: as colunas entram com 100ms de intervalo.

   Vai por nth-of-type e não por data-aos-delay porque o bloco de título conta
   para o $loop do Blade e desalinhava a contagem. Como o título é um <h2> e as
   colunas são <div>, o nth-of-type conta só as colunas. O AOS só escreve
   transition-delay inline quando o elemento tem data-aos-delay, por isso não
   atropela estas regras.

   O ciclo repete de 3 em 3 (3n+2 / 3n+3): as secções de cartões em forma de
   casa da Venda e do Financiamento têm 5 ou 6 cartões, e com um atraso a
   crescer sem parar o último esperava meio segundo depois de já estar no ecrã.
   Assim cada linha de três recomeça no zero. */
.aos-cascata > div[data-aos]:nth-of-type(3n + 2) {
        transition-delay: 100ms;
    }
.aos-cascata > div[data-aos]:nth-of-type(3n + 3) {
        transition-delay: 200ms;
    }
/* ============================================================
   Impressão — nada de animações.

   Os elementos com data-aos ficam a opacity:0 até entrarem no ecrã. Ao
   imprimir (a ficha da notícia tem um botão "Imprimir") tudo o que ainda não
   tivesse animado saía em branco no papel.
   ============================================================ */
@media print {
    [data-aos],
    [data-aos="cascata"].aos-init > ul > li,
    [data-aos="cascata"].aos-init > ol > li {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
/* ============================================================
   .cascata — lista que entra item a item.

   O conteúdo destas listas vem do editor (TinyMCE), por isso não há onde pôr
   um data-aos em cada <li>. O invólucro leva data-aos="cascata" — um nome que
   o AOS não conhece, que serve só de gatilho: o AOS acrescenta-lhe .aos-init
   ao arrancar e .aos-animate quando a lista entra no ecrã; o desenho vem daqui.

   O estado escondido depende de .aos-init de propósito. Se o JS falhar, ou se
   o AOS estiver desligado por movimento reduzido (nesse caso ele remove os
   data-aos), a classe nunca chega a ser posta e os itens ficam visíveis — não
   se corre o risco de esconder texto.

   Os 600ms e a curva são os mesmos do AOS (duration 800 / ease-out-cubic dá
   cubic-bezier(.25,.46,.45,.94)), para a cascata combinar com o resto.
   ============================================================ */
/* transition: none no estado escondido — a classe .aos-init só chega
       depois do arranque do AOS, e com transição os itens viam-se a
       desaparecer antes de entrarem. Aqui desaparecem de imediato; a
       transição entra com .aos-animate, que é onde interessa. */
[data-aos="cascata"].aos-init > ul > li,
    [data-aos="cascata"].aos-init > ol > li {
        opacity: 0;
        transform: translate3d(0, 24px, 0);
        transition: none;
    }
[data-aos="cascata"].aos-init.aos-animate > ul > li,
        [data-aos="cascata"].aos-init.aos-animate > ol > li {
            opacity: 1;
            transform: none;
            transition: opacity 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
                        transform 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }
[data-aos="cascata"].aos-init.aos-animate > ul > li:nth-child(2),
        [data-aos="cascata"].aos-init.aos-animate > ol > li:nth-child(2) { transition-delay: 120ms; }
[data-aos="cascata"].aos-init.aos-animate > ul > li:nth-child(3),
        [data-aos="cascata"].aos-init.aos-animate > ol > li:nth-child(3) { transition-delay: 240ms; }
[data-aos="cascata"].aos-init.aos-animate > ul > li:nth-child(4),
        [data-aos="cascata"].aos-init.aos-animate > ol > li:nth-child(4) { transition-delay: 360ms; }
[data-aos="cascata"].aos-init.aos-animate > ul > li:nth-child(5),
        [data-aos="cascata"].aos-init.aos-animate > ol > li:nth-child(5) { transition-delay: 480ms; }
[data-aos="cascata"].aos-init.aos-animate > ul > li:nth-child(n + 6),
        [data-aos="cascata"].aos-init.aos-animate > ol > li:nth-child(n + 6) { transition-delay: 600ms; }
/* ============================================================
   AOS em telemóvel — sem movimento horizontal.

   As variantes laterais do AOS (fade-left, zoom-in-right, ...) começam com
   translate3d(±100px, 0, 0). Em desktop isso acontece dentro de uma coluna e
   não se nota; em telemóvel, com os blocos à largura toda, os 100px para a
   direita fazem a página ficar mais larga do que o ecrã até o elemento entrar.
   O header é position:fixed à largura da viewport e o botão do menu, encostado
   à direita, ficava fora de vista — voltava ao sítio depois de se percorrer a
   página até ao fim e todos os elementos terem animado.

   Abaixo dos 768px as entradas laterais passam a verticais. A alternância
   esquerda/direita só faz sentido quando há duas colunas, e a partir de md
   fica tudo como estava.

   O seletor está duplicado ([data-aos="x"][data-aos]) para ganhar às regras do
   AOS, que vêm no external.css — carregado depois do front.css. */
@media (max-width: 767px) {
    [data-aos="fade-left"][data-aos],
    [data-aos="fade-right"][data-aos] {
        transform: translate3d(0, 40px, 0);
    }

    [data-aos="fade-up-left"][data-aos],
    [data-aos="fade-up-right"][data-aos] {
        transform: translate3d(0, 60px, 0);
    }

    [data-aos="fade-down-left"][data-aos],
    [data-aos="fade-down-right"][data-aos] {
        transform: translate3d(0, -60px, 0);
    }

    [data-aos="zoom-in-left"][data-aos],
    [data-aos="zoom-in-right"][data-aos] {
        transform: translate3d(0, 40px, 0) scale(0.9);
    }

    [data-aos="zoom-out-left"][data-aos],
    [data-aos="zoom-out-right"][data-aos] {
        transform: translate3d(0, 40px, 0) scale(1.1);
    }

    [data-aos="slide-left"][data-aos],
    [data-aos="slide-right"][data-aos] {
        transform: translate3d(0, 100%, 0);
    }
}
/* Quem pediu ao sistema para reduzir o movimento não leva animação nenhuma.
   O AOS já se desliga sozinho no init; isto apanha o resto — os hovers das
   fotografias e dos ícones, os carrosséis, o menu.
   0.01ms em vez de 0 para o evento transitionend continuar a disparar. */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        -webkit-animation-duration: 0.01ms !important;
                animation-duration: 0.01ms !important;
        -webkit-animation-iteration-count: 1 !important;
                animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
/* ============================================================
   Impressão.

   Regra geral: só vai para o papel o que estiver dentro de um
   `.zona-impressao`. Tudo o resto — cabeçalho, rodapé, aviso de cookies,
   as outras secções da página — desaparece.

   Para uma página passar a imprimir só uma parte, basta pôr a classe
   `.zona-impressao` no elemento que interessa (por exemplo o <article> da
   notícia) e `.nao-imprimir` no que lá dentro não faz sentido no papel.
   ============================================================ */
@media print {

    @page {
        margin: 15mm;
    }

    /* Esconde tudo o que não seja (a) um antepassado da zona a imprimir,
       (b) a própria zona ou (c) conteúdo lá de dentro.

       Assenta no :has(). Onde não houver suporte o browser deita a regra
       fora e imprime a página inteira, como fazia antes — degrada bem. */
    body:has(.zona-impressao) *:not(:has(.zona-impressao)):not(.zona-impressao):not(.zona-impressao *) {
        display: none !important;
    }

    /* O #main reserva o espaço do cabeçalho fixo, que aqui já não existe. */
    #main {
        padding-top: 0 !important;
    }

    .zona-impressao {
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* No ecrã o corpo é cinzento claro; no papel fica ilegível. */
    .zona-impressao,
    .zona-impressao .text-secondary {
        color: #333 !important;
    }

    /* O que não faz sentido no papel. */
    .nao-imprimir,
    .zona-impressao iframe,
    .zona-impressao video {
        display: none !important;
    }

    .zona-impressao img {
        max-width: 100% !important;
        height: auto !important;
        -moz-column-break-inside: avoid;
             break-inside: avoid;
        page-break-inside: avoid;
    }

    .zona-impressao h1,
    .zona-impressao h2,
    .zona-impressao h3 {
        -moz-column-break-after: avoid;
             break-after: avoid;
        page-break-after: avoid;
    }

    .zona-impressao p,
    .zona-impressao li {
        orphans: 3;
        widows: 3;
    }

    /* Links: sem sublinhado e com o endereço a seguir, senão numa folha
       impressa a referência perde-se. */
    .zona-impressao a {
        text-decoration: none !important;
    }

    .zona-impressao a[href^="http"]::after {
        content: ' (' attr(href) ')';
        font-size: 11px;
        word-break: break-all;
    }
}
/*
     ! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com
     */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
*/
html {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
*, ::before, ::after {
    --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-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: rgb(59 130 246 / 0.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:  ;
}
::-webkit-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-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: rgb(59 130 246 / 0.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:  ;
}
::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-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: rgb(59 130 246 / 0.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:  ;
}
.container {
    width: 100%;
}
@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }
}
@media (min-width: 835px) {
    .container {
        max-width: 835px;
    }
}
@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}
@media (min-width: 1124px) {
    .container {
        max-width: 1124px;
    }
}
@media (min-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}
@media (min-width: 1600px) {
    .container {
        max-width: 1600px;
    }
}
@media (min-width: 1920px) {
    .container {
        max-width: 1920px;
    }
}
.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;
}
.pointer-events-auto {
    pointer-events: auto;
}
.visible {
    visibility: visible;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.sticky {
    position: -webkit-sticky;
    position: sticky;
}
.inset-0 {
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
}
.inset-y-0 {
    top: 0px;
    bottom: 0px;
}
.inset-x-0 {
    left: 0px;
    right: 0px;
}
.left-0 {
    left: 0px;
}
.top-0 {
    top: 0px;
}
.left-10 {
    left: 2.5rem;
}
.right-0 {
    right: 0px;
}
.top-5 {
    top: 1.25rem;
}
.left-5 {
    left: 1.25rem;
}
.top-16 {
    top: 4rem;
}
.top-14 {
    top: 3.5rem;
}
.bottom-6 {
    bottom: 1.5rem;
}
.right-6 {
    right: 1.5rem;
}
.left-4 {
    left: 1rem;
}
.top-8 {
    top: 2rem;
}
.-top-\[61px\] {
    top: -61px;
}
.top-1\/2 {
    top: 50%;
}
.-bottom-\[47px\] {
    bottom: -47px;
}
.top-\[11\.6\%\] {
    top: 11.6%;
}
.top-4 {
    top: 1rem;
}
.right-4 {
    right: 1rem;
}
.-left-3 {
    left: -0.75rem;
}
.top-\[150px\] {
    top: 150px;
}
.top-10 {
    top: 2.5rem;
}
.-right-3 {
    right: -0.75rem;
}
.left-1\/2 {
    left: 50%;
}
.bottom-0 {
    bottom: 0px;
}
.-top-6 {
    top: -1.5rem;
}
.bottom-1 {
    bottom: 0.25rem;
}
.top-\[18px\] {
    top: 18px;
}
.top-\[42px\] {
    top: 42px;
}
.right-5 {
    right: 1.25rem;
}
.bottom-5 {
    bottom: 1.25rem;
}
.top-\[140px\] {
    top: 140px;
}
.bottom-8 {
    bottom: 2rem;
}
.top-\[125px\] {
    top: 125px;
}
.z-10 {
    z-index: 10;
}
.-z-10 {
    z-index: -10;
}
.z-20 {
    z-index: 20;
}
.z-\[60\] {
    z-index: 60;
}
.z-0 {
    z-index: 0;
}
.z-40 {
    z-index: 40;
}
.z-50 {
    z-index: 50;
}
.order-2 {
    order: 2;
}
.order-1 {
    order: 1;
}
.order-3 {
    order: 3;
}
.order-4 {
    order: 4;
}
.col-span-3 {
    grid-column: span 3 / span 3;
}
.col-span-1 {
    grid-column: span 1 / span 1;
}
.col-span-2 {
    grid-column: span 2 / span 2;
}
.col-auto {
    grid-column: auto;
}
.col-span-8 {
    grid-column: span 8 / span 8;
}
.col-span-full {
    grid-column: 1 / -1;
}
.float-right {
    float: right;
}
.-m-1 {
    margin: -0.25rem;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.my-10 {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}
.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.my-20 {
    margin-top: 5rem;
    margin-bottom: 5rem;
}
.my-auto {
    margin-top: auto;
    margin-bottom: auto;
}
.my-5 {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}
.my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
.my-14 {
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
}
.mx-5 {
    margin-left: 1.25rem;
    margin-right: 1.25rem;
}
.my-7 {
    margin-top: 1.75rem;
    margin-bottom: 1.75rem;
}
.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.my-12 {
    margin-top: 3rem;
    margin-bottom: 3rem;
}
.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.mx-3 {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
}
.my-16 {
    margin-top: 4rem;
    margin-bottom: 4rem;
}
.mx-10 {
    margin-left: 2.5rem;
    margin-right: 2.5rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.mt-10 {
    margin-top: 2.5rem;
}
.mt-4 {
    margin-top: 1rem;
}
.mt-12 {
    margin-top: 3rem;
}
.mb-5 {
    margin-bottom: 1.25rem;
}
.mt-5 {
    margin-top: 1.25rem;
}
.mt-16 {
    margin-top: 4rem;
}
.-mb-px {
    margin-bottom: -1px;
}
.mb-16 {
    margin-bottom: 4rem;
}
.ml-2 {
    margin-left: 0.5rem;
}
.mt-3 {
    margin-top: 0.75rem;
}
.mb-10 {
    margin-bottom: 2.5rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mb-20 {
    margin-bottom: 5rem;
}
.mb-7 {
    margin-bottom: 1.75rem;
}
.ml-1 {
    margin-left: 0.25rem;
}
.mr-2 {
    margin-right: 0.5rem;
}
.ml-4 {
    margin-left: 1rem;
}
.mt-8 {
    margin-top: 2rem;
}
.ml-12 {
    margin-left: 3rem;
}
.-mt-px {
    margin-top: -1px;
}
.ml-3 {
    margin-left: 0.75rem;
}
.mr-auto {
    margin-right: auto;
}
.mr-3 {
    margin-right: 0.75rem;
}
.-mt-5 {
    margin-top: -1.25rem;
}
.mt-auto {
    margin-top: auto;
}
.mb-0 {
    margin-bottom: 0px;
}
.mt-0 {
    margin-top: 0px;
}
.mt-20 {
    margin-top: 5rem;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mt-0\.5 {
    margin-top: 0.125rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.mt-6 {
    margin-top: 1.5rem;
}
.ml-auto {
    margin-left: auto;
}
.mr-0 {
    margin-right: 0px;
}
.mt-3\.5 {
    margin-top: 0.875rem;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.mr-1 {
    margin-right: 0.25rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.mt-1\.5 {
    margin-top: 0.375rem;
}
.mt-1 {
    margin-top: 0.25rem;
}
.mt-14 {
    margin-top: 3.5rem;
}
.mb-14 {
    margin-bottom: 3.5rem;
}
.mr-5 {
    margin-right: 1.25rem;
}
.mb-11 {
    margin-bottom: 2.75rem;
}
.mb-44 {
    margin-bottom: 11rem;
}
.mb-120 {
    margin-bottom: 120px;
}
.mr-10 {
    margin-right: 2.5rem;
}
.ml-5 {
    margin-left: 1.25rem;
}
.-mr-2 {
    margin-right: -0.5rem;
}
.mr-8 {
    margin-right: 2rem;
}
.-mb-10 {
    margin-bottom: -2.5rem;
}
.-ml-px {
    margin-left: -1px;
}
.mb-24 {
    margin-bottom: 6rem;
}
.mt-\[10px\] {
    margin-top: 10px;
}
.ml-10 {
    margin-left: 2.5rem;
}
.mb-\[15px\] {
    margin-bottom: 15px;
}
.mb-1\.5 {
    margin-bottom: 0.375rem;
}
.-mt-24 {
    margin-top: -6rem;
}
.-mt-16 {
    margin-top: -4rem;
}
.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;
}
.h-400 {
    height: 400px;
}
.h-full {
    height: 100%;
}
.h-auto {
    height: auto;
}
.h-250 {
    height: 250px;
}
.h-5 {
    height: 1.25rem;
}
.h-8 {
    height: 2rem;
}
.h-16 {
    height: 4rem;
}
.h-11 {
    height: 2.75rem;
}
.h-7 {
    height: 1.75rem;
}
.h-450 {
    height: 450px;
}
.h-width {
    height: 100vw;
}
.h-12 {
    height: 3rem;
}
.h-\[100px\] {
    height: 100px;
}
.h-24 {
    height: 6rem;
}
.h-fit {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}
.h-10 {
    height: 2.5rem;
}
.h-\[300px\] {
    height: 300px;
}
.h-6 {
    height: 1.5rem;
}
.h-4 {
    height: 1rem;
}
.h-\[280px\] {
    height: 280px;
}
.h-\[380px\] {
    height: 380px;
}
.h-\[320px\] {
    height: 320px;
}
.h-\[220px\] {
    height: 220px;
}
.h-\[386px\] {
    height: 386px;
}
.h-\[326px\] {
    height: 326px;
}
.h-600 {
    height: 600px;
}
.h-\[140px\] {
    height: 140px;
}
.h-\[83px\] {
    height: 83px;
}
.\!h-auto {
    height: auto !important;
}
.h-36 {
    height: 9rem;
}
.h-5\/6 {
    height: 83.333333%;
}
.h-96 {
    height: 24rem;
}
.h-\[420px\] {
    height: 420px;
}
.h-\[40px\] {
    height: 40px;
}
.h-14 {
    height: 3.5rem;
}
.h-\[23px\] {
    height: 23px;
}
.h-60 {
    height: 15rem;
}
.h-\[400px\] {
    height: 400px;
}
.h-9 {
    height: 2.25rem;
}
.h-0\.5 {
    height: 0.125rem;
}
.h-0 {
    height: 0px;
}
.h-64 {
    height: 16rem;
}
.h-56 {
    height: 14rem;
}
.h-3 {
    height: 0.75rem;
}
.h-1 {
    height: 0.25rem;
}
.h-\[360px\] {
    height: 360px;
}
.h-\[14px\] {
    height: 14px;
}
.h-20 {
    height: 5rem;
}
.h-3\.5 {
    height: 0.875rem;
}
.h-\[279px\] {
    height: 279px;
}
.h-\[55\%\] {
    height: 55%;
}
.h-1\/2 {
    height: 50%;
}
.max-h-600 {
    max-height: 600px;
}
.max-h-32 {
    max-height: 8rem;
}
.max-h-\[600px\] {
    max-height: 600px;
}
.max-h-\[800px\] {
    max-height: 800px;
}
.max-h-\[500px\] {
    max-height: 500px;
}
.max-h-\[320px\] {
    max-height: 320px;
}
.max-h-\[88vh\] {
    max-height: 88vh;
}
.max-h-500 {
    max-height: 500px;
}
.max-h-24 {
    max-height: 6rem;
}
.max-h-\[80vh\] {
    max-height: 80vh;
}
.min-h-\[600px\] {
    min-height: 600px;
}
.min-h-600 {
    min-height: 600px;
}
.min-h-screen {
    min-height: 100vh;
}
.min-h-\[360px\] {
    min-height: 360px;
}
.min-h-\[480px\] {
    min-height: 480px;
}
.min-h-80 {
    min-height: 320px;
}
.min-h-\[100px\] {
    min-height: 100px;
}
.min-h-\[460px\] {
    min-height: 460px;
}
.w-full {
    width: 100%;
}
.w-auto {
    width: auto;
}
.w-32 {
    width: 8rem;
}
.w-40 {
    width: 10rem;
}
.w-5 {
    width: 1.25rem;
}
.w-8 {
    width: 2rem;
}
.w-max {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}
.w-10 {
    width: 2.5rem;
}
.w-fit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
.w-4 {
    width: 1rem;
}
.w-6 {
    width: 1.5rem;
}
.w-1\/2 {
    width: 50%;
}
.w-\[374px\] {
    width: 374px;
}
.w-\[426px\] {
    width: 426px;
}
.w-\[83px\] {
    width: 83px;
}
.w-11 {
    width: 2.75rem;
}
.w-60 {
    width: 15rem;
}
.w-3\/12 {
    width: 25%;
}
.w-5\/12 {
    width: 41.666667%;
}
.w-24 {
    width: 6rem;
}
.w-screen {
    width: 100vw;
}
.w-7 {
    width: 1.75rem;
}
.w-52 {
    width: 13rem;
}
.w-\[23px\] {
    width: 23px;
}
.w-12 {
    width: 3rem;
}
.w-7\/12 {
    width: 58.333333%;
}
.w-16 {
    width: 4rem;
}
.w-\[180px\] {
    width: 180px;
}
.w-9 {
    width: 2.25rem;
}
.w-14 {
    width: 3.5rem;
}
.w-4\/5 {
    width: 80%;
}
.w-1 {
    width: 0.25rem;
}
.w-\[14px\] {
    width: 14px;
}
.w-3\.5 {
    width: 0.875rem;
}
.w-3 {
    width: 0.75rem;
}
.w-\[103px\] {
    width: 103px;
}
.w-\[72px\] {
    width: 72px;
}
.w-28 {
    width: 7rem;
}
.w-3\/5 {
    width: 60%;
}
.min-w-0 {
    min-width: 0px;
}
.max-w-xl {
    max-width: 36rem;
}
.max-w-6xl {
    max-width: 72rem;
}
.max-w-md {
    max-width: 28rem;
}
.max-w-\[150px\] {
    max-width: 150px;
}
.max-w-\[90\%\] {
    max-width: 90%;
}
.max-w-3xl {
    max-width: 48rem;
}
.max-w-\[969px\] {
    max-width: 969px;
}
.max-w-\[279px\] {
    max-width: 279px;
}
.max-w-\[768px\] {
    max-width: 768px;
}
.max-w-\[966px\] {
    max-width: 966px;
}
.max-w-\[968px\] {
    max-width: 968px;
}
.max-w-\[300px\] {
    max-width: 300px;
}
.max-w-5xl {
    max-width: 64rem;
}
.max-w-\[771px\] {
    max-width: 771px;
}
.max-w-\[373px\] {
    max-width: 373px;
}
.max-w-\[472px\] {
    max-width: 472px;
}
.max-w-\[640px\] {
    max-width: 640px;
}
.max-w-\[426px\] {
    max-width: 426px;
}
.max-w-full {
    max-width: 100%;
}
.max-w-\[375px\] {
    max-width: 375px;
}
.max-w-\[302px\] {
    max-width: 302px;
}
.max-w-800 {
    max-width: 800px;
}
.max-w-\[320px\] {
    max-width: 320px;
}
.max-w-\[278px\] {
    max-width: 278px;
}
.max-w-\[92vw\] {
    max-width: 92vw;
}
.max-w-4xl {
    max-width: 56rem;
}
.max-w-\[770px\] {
    max-width: 770px;
}
.max-w-2xl {
    max-width: 42rem;
}
.max-w-\[400px\] {
    max-width: 400px;
}
.max-w-\[190px\] {
    max-width: 190px;
}
.max-w-\[350px\] {
    max-width: 350px;
}
.flex-1 {
    flex: 1 1 0%;
}
.flex-none {
    flex: none;
}
.flex-shrink-0 {
    flex-shrink: 0;
}
.shrink-0 {
    flex-shrink: 0;
}
.grow {
    flex-grow: 1;
}
.origin-right {
    transform-origin: right;
}
.origin-left {
    transform-origin: left;
}
.-translate-y-1\/2 {
    --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));
}
.-translate-x-1\/2 {
    --tw-translate-x: -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));
}
.translate-x-0 {
    --tw-translate-x: 0px;
    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-x-\[70\%\] {
    --tw-translate-x: 70%;
    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-180 {
    --tw-rotate: 180deg;
    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));
}
.scale-\[0\.7\] {
    --tw-scale-x: 0.7;
    --tw-scale-y: 0.7;
    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));
}
.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));
}
@-webkit-keyframes pulse {
    50% {
        opacity: .5;
    }
}
@keyframes pulse {
    50% {
        opacity: .5;
    }
}
.animate-pulse {
    -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
            animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.cursor-pointer {
    cursor: pointer;
}
.cursor-not-allowed {
    cursor: not-allowed;
}
.cursor-default {
    cursor: default;
}
.select-none {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}
.resize {
    resize: both;
}
.scroll-mt-\[110px\] {
    scroll-margin-top: 110px;
}
.appearance-none {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.grid-flow-col {
    grid-auto-flow: column;
}
.auto-rows-fr {
    grid-auto-rows: minmax(0, 1fr);
}
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
}
.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex-col {
    flex-direction: column;
}
.flex-wrap {
    flex-wrap: wrap;
}
.place-content-between {
    place-content: space-between;
}
.content-center {
    align-content: center;
}
.content-end {
    align-content: flex-end;
}
.content-between {
    align-content: space-between;
}
.items-start {
    align-items: flex-start;
}
.items-end {
    align-items: flex-end;
}
.items-center {
    align-items: center;
}
.items-stretch {
    align-items: stretch;
}
.justify-start {
    justify-content: flex-start;
}
.justify-end {
    justify-content: flex-end;
}
.justify-center {
    justify-content: center;
}
.justify-between {
    justify-content: space-between;
}
.justify-around {
    justify-content: space-around;
}
.justify-items-start {
    justify-items: start;
}
.justify-items-end {
    justify-items: end;
}
.justify-items-center {
    justify-items: center;
}
.gap-4 {
    gap: 1rem;
}
.gap-10 {
    gap: 2.5rem;
}
.gap-6 {
    gap: 1.5rem;
}
.gap-2\.5 {
    gap: 0.625rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-3 {
    gap: 0.75rem;
}
.gap-\[12px\] {
    gap: 12px;
}
.gap-\[16px\] {
    gap: 16px;
}
.gap-8 {
    gap: 2rem;
}
.gap-5 {
    gap: 1.25rem;
}
.gap-\[18px\] {
    gap: 18px;
}
.gap-1\.5 {
    gap: 0.375rem;
}
.gap-1 {
    gap: 0.25rem;
}
.gap-20 {
    gap: 5rem;
}
.gap-3\.5 {
    gap: 0.875rem;
}
.gap-x-6 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
}
.gap-y-3 {
    row-gap: 0.75rem;
}
.gap-x-10 {
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
}
.gap-x-5 {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
}
.gap-y-5 {
    row-gap: 1.25rem;
}
.gap-x-\[18px\] {
    -moz-column-gap: 18px;
         column-gap: 18px;
}
.gap-y-4 {
    row-gap: 1rem;
}
.gap-x-8 {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
}
.gap-y-10 {
    row-gap: 2.5rem;
}
.gap-y-2 {
    row-gap: 0.5rem;
}
.gap-x-4 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
.space-x-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-10 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-10 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.divide-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(2px * var(--tw-divide-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.self-start {
    align-self: flex-start;
}
.self-stretch {
    align-self: stretch;
}
.overflow-auto {
    overflow: auto;
}
.overflow-hidden {
    overflow: hidden;
}
.overflow-clip {
    overflow: clip;
}
.overflow-x-auto {
    overflow-x: auto;
}
.overflow-y-auto {
    overflow-y: auto;
}
.overflow-x-hidden {
    overflow-x: hidden;
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.whitespace-nowrap {
    white-space: nowrap;
}
.whitespace-pre-line {
    white-space: pre-line;
}
.rounded-full {
    border-radius: 9999px;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-md {
    border-radius: 0.375rem;
}
.rounded-lg {
    border-radius: 0.5rem;
}
.rounded-xl {
    border-radius: 0.75rem;
}
.rounded-\[25px\] {
    border-radius: 25px;
}
.rounded-2xl {
    border-radius: 1rem;
}
.rounded-\[34px\] {
    border-radius: 34px;
}
.rounded-none {
    border-radius: 0px;
}
.rounded-t {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
}
.rounded-l-full {
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
}
.rounded-r-full {
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
}
.rounded-t-md {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}
.rounded-t-xl {
    border-top-left-radius: 0.75rem;
    border-top-right-radius: 0.75rem;
}
.border {
    border-width: 1px;
}
.border-\[0\.5px\] {
    border-width: 0.5px;
}
.border-0 {
    border-width: 0px;
}
.border-2 {
    border-width: 2px;
}
.border-t {
    border-top-width: 1px;
}
.border-r {
    border-right-width: 1px;
}
.border-b {
    border-bottom-width: 1px;
}
.border-b-2 {
    border-bottom-width: 2px;
}
.border-l {
    border-left-width: 1px;
}
.border-b-\[3px\] {
    border-bottom-width: 3px;
}
.border-dashed {
    border-style: dashed;
}
.border-slate-200 {
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity));
}
.border-primary {
    --tw-border-opacity: 1;
    border-color: rgb(76 165 133 / var(--tw-border-opacity));
}
.border-white {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity));
}
.border-secondary {
    --tw-border-opacity: 1;
    border-color: rgb(152 152 154 / var(--tw-border-opacity));
}
.border-gray\/40 {
    border-color: rgb(230 230 230 / 0.4);
}
.border-gray {
    --tw-border-opacity: 1;
    border-color: rgb(230 230 230 / var(--tw-border-opacity));
}
.border-white\/30 {
    border-color: rgb(255 255 255 / 0.3);
}
.border-gray\/60 {
    border-color: rgb(230 230 230 / 0.6);
}
.border-transparent {
    border-color: transparent;
}
.border-primary\/40 {
    border-color: rgb(76 165 133 / 0.4);
}
.border-primary\/30 {
    border-color: rgb(76 165 133 / 0.3);
}
.border-\[\#98989A\]\/30 {
    border-color: rgb(152 152 154 / 0.3);
}
.border-b-primary {
    --tw-border-opacity: 1;
    border-bottom-color: rgb(76 165 133 / var(--tw-border-opacity));
}
.bg-background {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}
.bg-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(76 165 133 / var(--tw-bg-opacity));
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-black\/30 {
    background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/70 {
    background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/50 {
    background-color: rgb(0 0 0 / 0.5);
}
.bg-\[rgba\(152\2c 152\2c 154\2c 0\.1\)\] {
    background-color: rgba(152,152,154,0.1);
}
.bg-\[rgba\(217\2c 217\2c 217\2c 0\.2\)\] {
    background-color: rgba(217,217,217,0.2);
}
.bg-primary\/10 {
    background-color: rgb(76 165 133 / 0.1);
}
.bg-soft-gray {
    --tw-bg-opacity: 1;
    background-color: rgb(240 240 240 / var(--tw-bg-opacity));
}
.bg-gray {
    --tw-bg-opacity: 1;
    background-color: rgb(230 230 230 / var(--tw-bg-opacity));
}
.bg-transparent {
    background-color: transparent;
}
.bg-primary\/90 {
    background-color: rgb(76 165 133 / 0.9);
}
.bg-white\/80 {
    background-color: rgb(255 255 255 / 0.8);
}
.bg-secondary\/20 {
    background-color: rgb(152 152 154 / 0.2);
}
.bg-gray\/10 {
    background-color: rgb(230 230 230 / 0.1);
}
.bg-gray\/40 {
    background-color: rgb(230 230 230 / 0.4);
}
.bg-black\/80 {
    background-color: rgb(0 0 0 / 0.8);
}
.bg-white\/90 {
    background-color: rgb(255 255 255 / 0.9);
}
.bg-black\/60 {
    background-color: rgb(0 0 0 / 0.6);
}
.bg-\[rgba\(76\2c 165\2c 133\2c 0\.1\)\] {
    background-color: rgba(76,165,133,0.1);
}
.bg-softprimary {
    --tw-bg-opacity: 1;
    background-color: rgb(248 243 236 / var(--tw-bg-opacity));
}
.bg-white\/10 {
    background-color: rgb(255 255 255 / 0.1);
}
.bg-black\/10 {
    background-color: rgb(0 0 0 / 0.1);
}
.bg-blue {
    --tw-bg-opacity: 1;
    background-color: rgb(0 105 167 / var(--tw-bg-opacity));
}
.bg-danger\/10 {
    background-color: rgb(211 32 41 / 0.1);
}
.bg-primary\/70 {
    background-color: rgb(76 165 133 / 0.7);
}
.bg-primary\/20 {
    background-color: rgb(76 165 133 / 0.2);
}
.bg-gray\/5 {
    background-color: rgb(230 230 230 / 0.05);
}
.bg-primary\/5 {
    background-color: rgb(76 165 133 / 0.05);
}
.bg-gray\/30 {
    background-color: rgb(230 230 230 / 0.3);
}
.bg-\[rgba\(218\2c 214\2c 214\2c 0\.25\)\] {
    background-color: rgba(218,214,214,0.25);
}
.bg-primary\/60 {
    background-color: rgb(76 165 133 / 0.6);
}
.bg-secondary {
    --tw-bg-opacity: 1;
    background-color: rgb(152 152 154 / var(--tw-bg-opacity));
}
.bg-white\/20 {
    background-color: rgb(255 255 255 / 0.2);
}
.bg-\[\#D9D9D9\]\/20 {
    background-color: rgb(217 217 217 / 0.2);
}
.bg-\[rgba\(217\2c 217\2c 217\2c 0\.15\)\] {
    background-color: rgba(217,217,217,0.15);
}
.bg-gray\/20 {
    background-color: rgb(230 230 230 / 0.2);
}
.bg-primary\/80 {
    background-color: rgb(76 165 133 / 0.8);
}
.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-white {
    --tw-gradient-from: #fff;
    --tw-gradient-to: rgb(255 255 255 / 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/90 {
    --tw-gradient-from: rgb(76 165 133 / 0.9);
    --tw-gradient-to: rgb(76 165 133 / 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-transparent {
    --tw-gradient-to: transparent;
}
.bg-cover {
    background-size: cover;
}
.bg-contain {
    background-size: contain;
}
.bg-center {
    background-position: center;
}
.bg-no-repeat {
    background-repeat: no-repeat;
}
.stroke-secondary {
    stroke: #98989A;
}
.stroke-1 {
    stroke-width: 1;
}
.object-contain {
    -o-object-fit: contain;
       object-fit: contain;
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}
.p-5 {
    padding: 1.25rem;
}
.p-6 {
    padding: 1.5rem;
}
.p-10 {
    padding: 2.5rem;
}
.p-8 {
    padding: 2rem;
}
.p-14 {
    padding: 3.5rem;
}
.p-\[10px\] {
    padding: 10px;
}
.p-3 {
    padding: 0.75rem;
}
.p-2\.5 {
    padding: 0.625rem;
}
.p-2 {
    padding: 0.5rem;
}
.p-4 {
    padding: 1rem;
}
.p-7 {
    padding: 1.75rem;
}
.p-px {
    padding: 1px;
}
.px-0 {
    padding-left: 0px;
    padding-right: 0px;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-20 {
    padding-left: 5rem;
    padding-right: 5rem;
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.py-\[100px\] {
    padding-top: 100px;
    padding-bottom: 100px;
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.py-7 {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
}
.px-\[6\%\] {
    padding-left: 6%;
    padding-right: 6%;
}
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
}
.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}
.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.px-9 {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
}
.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.px-\[9px\] {
    padding-left: 9px;
    padding-right: 9px;
}
.pt-\[100px\] {
    padding-top: 100px;
}
.pt-10 {
    padding-top: 2.5rem;
}
.pt-2 {
    padding-top: 0.5rem;
}
.pb-10 {
    padding-bottom: 2.5rem;
}
.pb-4 {
    padding-bottom: 1rem;
}
.pb-3 {
    padding-bottom: 0.75rem;
}
.pt-5 {
    padding-top: 1.25rem;
}
.pt-8 {
    padding-top: 2rem;
}
.pb-2 {
    padding-bottom: 0.5rem;
}
.pt-12 {
    padding-top: 3rem;
}
.pb-\[88px\] {
    padding-bottom: 88px;
}
.pb-7 {
    padding-bottom: 1.75rem;
}
.pr-3 {
    padding-right: 0.75rem;
}
.pr-10 {
    padding-right: 2.5rem;
}
.pb-12 {
    padding-bottom: 3rem;
}
.pt-24 {
    padding-top: 6rem;
}
.pl-3 {
    padding-left: 0.75rem;
}
.pt-\[100\%\] {
    padding-top: 100%;
}
.pr-2 {
    padding-right: 0.5rem;
}
.pt-\[59\.66\%\] {
    padding-top: 59.66%;
}
.pt-\[\%\] {
    padding-top: %;
}
.pt-4 {
    padding-top: 1rem;
}
.pb-0\.5 {
    padding-bottom: 0.125rem;
}
.pb-0 {
    padding-bottom: 0px;
}
.pl-2 {
    padding-left: 0.5rem;
}
.pt-20 {
    padding-top: 5rem;
}
.pt-120 {
    padding-top: 120px;
}
.pb-5 {
    padding-bottom: 1.25rem;
}
.\!pb-16 {
    padding-bottom: 4rem !important;
}
.pl-5 {
    padding-left: 1.25rem;
}
.pl-8 {
    padding-left: 2rem;
}
.pr-1 {
    padding-right: 0.25rem;
}
.pt-\[66\.6667\%\] {
    padding-top: 66.6667%;
}
.pt-\[56\.25\%\] {
    padding-top: 56.25%;
}
.pt-3 {
    padding-top: 0.75rem;
}
.pl-4 {
    padding-left: 1rem;
}
.pr-9 {
    padding-right: 2.25rem;
}
.pt-6 {
    padding-top: 1.5rem;
}
.pb-1\.5 {
    padding-bottom: 0.375rem;
}
.pb-1 {
    padding-bottom: 0.25rem;
}
.pb-6 {
    padding-bottom: 1.5rem;
}
.pt-16 {
    padding-top: 4rem;
}
.pb-24 {
    padding-bottom: 6rem;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-justify {
    text-align: justify;
}
.font-display {
    font-family: Poppins;
}
.font-body {
    font-family: Poppins;
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-\[20px\] {
    font-size: 20px;
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-\[80px\] {
    font-size: 80px;
}
.text-\[12px\] {
    font-size: 12px;
}
.text-\[14px\] {
    font-size: 14px;
}
.text-\[9px\] {
    font-size: 9px;
}
.text-\[10px\] {
    font-size: 10px;
}
.text-6xl {
    font-size: 3.75rem;
    line-height: 1;
}
.font-semibold {
    font-weight: 600;
}
.font-medium {
    font-weight: 500;
}
.font-light {
    font-weight: 300;
}
.font-normal {
    font-weight: 400;
}
.font-bold {
    font-weight: 700;
}
.font-thin {
    font-weight: 100;
}
.uppercase {
    text-transform: uppercase;
}
.capitalize {
    text-transform: capitalize;
}
.italic {
    font-style: italic;
}
.ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-7 {
    line-height: 1.75rem;
}
.leading-\[normal\] {
    line-height: normal;
}
.leading-\[1\.2667\] {
    line-height: 1.2667;
}
.leading-\[1\.3\] {
    line-height: 1.3;
}
.leading-\[1\.5\] {
    line-height: 1.5;
}
.leading-none {
    line-height: 1;
}
.leading-relaxed {
    line-height: 1.625;
}
.leading-5 {
    line-height: 1.25rem;
}
.leading-snug {
    line-height: 1.375;
}
.leading-normal {
    line-height: 1.5;
}
.leading-tight {
    line-height: 1.25;
}
.tracking-wider {
    letter-spacing: 0.05em;
}
.tracking-wide {
    letter-spacing: 0.025em;
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
.text-primary {
    --tw-text-opacity: 1;
    color: rgb(76 165 133 / var(--tw-text-opacity));
}
.text-secondary {
    --tw-text-opacity: 1;
    color: rgb(152 152 154 / var(--tw-text-opacity));
}
.text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity));
}
.text-gray {
    --tw-text-opacity: 1;
    color: rgb(230 230 230 / var(--tw-text-opacity));
}
.text-smoth-gray {
    --tw-text-opacity: 1;
    color: rgb(132 132 132 / var(--tw-text-opacity));
}
.text-blue {
    --tw-text-opacity: 1;
    color: rgb(0 105 167 / var(--tw-text-opacity));
}
.text-danger {
    --tw-text-opacity: 1;
    color: rgb(211 32 41 / var(--tw-text-opacity));
}
.text-primary\/50 {
    color: rgb(76 165 133 / 0.5);
}
.text-gray\/50 {
    color: rgb(230 230 230 / 0.5);
}
.text-background {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
.text-white\/80 {
    color: rgb(255 255 255 / 0.8);
}
.underline {
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline;
}
.underline-offset-4 {
    text-underline-offset: 4px;
}
.underline-offset-2 {
    text-underline-offset: 2px;
}
.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.placeholder-slate-400::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(148 163 184 / var(--tw-placeholder-opacity));
}
.placeholder-slate-400:-ms-input-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(148 163 184 / var(--tw-placeholder-opacity));
}
.placeholder-slate-400::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(148 163 184 / var(--tw-placeholder-opacity));
}
.placeholder-primary::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(76 165 133 / var(--tw-placeholder-opacity));
}
.placeholder-primary:-ms-input-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(76 165 133 / var(--tw-placeholder-opacity));
}
.placeholder-primary::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(76 165 133 / var(--tw-placeholder-opacity));
}
.accent-primary {
    accent-color: #4CA585;
}
.opacity-30 {
    opacity: 0.3;
}
.opacity-100 {
    opacity: 1;
}
.opacity-60 {
    opacity: 0.6;
}
.opacity-0 {
    opacity: 0;
}
.opacity-50 {
    opacity: 0.5;
}
.opacity-70 {
    opacity: 0.7;
}
.opacity-20 {
    opacity: 0.2;
}
.mix-blend-multiply {
    mix-blend-mode: multiply;
}
.shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0px_0px_8px_0px_rgba\(0\2c 0\2c 0\2c 0\.25\)\] {
    --tw-shadow: 0px 0px 8px 0px rgba(0,0,0,0.25);
    --tw-shadow-colored: 0px 0px 8px 0px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0px_0px_4px_0px_rgba\(0\2c 0\2c 0\2c 0\.25\)\] {
    --tw-shadow: 0px 0px 4px 0px rgba(0,0,0,0.25);
    --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_24px_rgba\(0\2c 0\2c 0\2c 0\.12\)\] {
    --tw-shadow: 0 4px 24px rgba(0,0,0,0.12);
    --tw-shadow-colored: 0 4px 24px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.ring {
    --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(3px + 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);
}
.ring-1 {
    --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(1px + 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);
}
.ring-inset {
    --tw-ring-inset: inset;
}
.ring-primary {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(76 165 133 / var(--tw-ring-opacity));
}
.brightness-0 {
    --tw-brightness: brightness(0);
    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);
}
.invert {
    --tw-invert: invert(100%);
    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);
}
.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);
}
.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition {
    transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-colors {
    transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[opacity\2c transform\] {
    transition-property: opacity,transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.duration-300 {
    transition-duration: 300ms;
}
.duration-700 {
    transition-duration: 700ms;
}
.duration-150 {
    transition-duration: 150ms;
}
.duration-200 {
    transition-duration: 200ms;
}
.duration-\[400ms\] {
    transition-duration: 400ms;
}
.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-in {
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.placeholder\:text-sm::-moz-placeholder {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.placeholder\:text-sm:-ms-input-placeholder {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.placeholder\:text-sm::placeholder {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.placeholder\:text-xl::-moz-placeholder {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.placeholder\:text-xl:-ms-input-placeholder {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.placeholder\:text-xl::placeholder {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.placeholder\:text-white::-moz-placeholder {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
.placeholder\:text-white:-ms-input-placeholder {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
.placeholder\:text-white::placeholder {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
.placeholder\:text-primary::-moz-placeholder {
    --tw-text-opacity: 1;
    color: rgb(76 165 133 / var(--tw-text-opacity));
}
.placeholder\:text-primary:-ms-input-placeholder {
    --tw-text-opacity: 1;
    color: rgb(76 165 133 / var(--tw-text-opacity));
}
.placeholder\:text-primary::placeholder {
    --tw-text-opacity: 1;
    color: rgb(76 165 133 / var(--tw-text-opacity));
}
.placeholder\:text-secondary::-moz-placeholder {
    --tw-text-opacity: 1;
    color: rgb(152 152 154 / var(--tw-text-opacity));
}
.placeholder\:text-secondary:-ms-input-placeholder {
    --tw-text-opacity: 1;
    color: rgb(152 152 154 / var(--tw-text-opacity));
}
.placeholder\:text-secondary::placeholder {
    --tw-text-opacity: 1;
    color: rgb(152 152 154 / var(--tw-text-opacity));
}
.first\:mt-0:first-child {
    margin-top: 0px;
}
.focus-within\:opacity-100:focus-within {
    opacity: 1;
}
.hover\:border:hover {
    border-width: 1px;
}
.hover\:border-primary:hover {
    --tw-border-opacity: 1;
    border-color: rgb(76 165 133 / var(--tw-border-opacity));
}
.hover\:bg-black:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}
.hover\:bg-primary:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(76 165 133 / var(--tw-bg-opacity));
}
.hover\:bg-red-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(185 28 28 / var(--tw-bg-opacity));
}
.hover\:bg-white:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.hover\:bg-gray\/60:hover {
    background-color: rgb(230 230 230 / 0.6);
}
.hover\:bg-secondary:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(152 152 154 / var(--tw-bg-opacity));
}
.hover\:bg-primary\/10:hover {
    background-color: rgb(76 165 133 / 0.1);
}
.hover\:bg-primary\/5:hover {
    background-color: rgb(76 165 133 / 0.05);
}
.hover\:text-primary:hover {
    --tw-text-opacity: 1;
    color: rgb(76 165 133 / var(--tw-text-opacity));
}
.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
.hover\:underline:hover {
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline;
}
.hover\:no-underline:hover {
    -webkit-text-decoration-line: none;
            text-decoration-line: none;
}
.hover\:opacity-80:hover {
    opacity: 0.8;
}
.hover\:opacity-90:hover {
    opacity: 0.9;
}
.hover\:opacity-70:hover {
    opacity: 0.7;
}
.hover\:opacity-100:hover {
    opacity: 1;
}
.focus\:z-10:focus {
    z-index: 10;
}
.focus\:border-primary:focus {
    --tw-border-opacity: 1;
    border-color: rgb(76 165 133 / var(--tw-border-opacity));
}
.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus\:ring-primary:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(76 165 133 / var(--tw-ring-opacity));
}
.active\:opacity-100:active {
    opacity: 1;
}
.disabled\:opacity-50:disabled {
    opacity: 0.5;
}
.disabled\:opacity-30:disabled {
    opacity: 0.3;
}
.group:hover .group-hover\:-translate-y-1 {
    --tw-translate-y: -0.25rem;
    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\:scale-\[1\.03\] {
    --tw-scale-x: 1.03;
    --tw-scale-y: 1.03;
    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-primary {
    --tw-text-opacity: 1;
    color: rgb(76 165 133 / var(--tw-text-opacity));
}
.group:hover .group-hover\:underline {
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline;
}
.group:hover .group-hover\:opacity-80 {
    opacity: 0.8;
}
.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}
@media (prefers-contrast: more) {
    .contrast-more\:border-slate-400 {
        --tw-border-opacity: 1;
        border-color: rgb(148 163 184 / var(--tw-border-opacity));
    }
    .contrast-more\:placeholder-slate-500::-moz-placeholder {
        --tw-placeholder-opacity: 1;
        color: rgb(100 116 139 / var(--tw-placeholder-opacity));
    }
    .contrast-more\:placeholder-slate-500:-ms-input-placeholder {
        --tw-placeholder-opacity: 1;
        color: rgb(100 116 139 / var(--tw-placeholder-opacity));
    }
    .contrast-more\:placeholder-slate-500::placeholder {
        --tw-placeholder-opacity: 1;
        color: rgb(100 116 139 / var(--tw-placeholder-opacity));
    }
}
@media (min-width: 640px) {
    .sm\:static {
        position: static;
    }
    .sm\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .sm\:col-span-3 {
        grid-column: span 3 / span 3;
    }
    .sm\:my-10 {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem;
    }
    .sm\:my-14 {
        margin-top: 3.5rem;
        margin-bottom: 3.5rem;
    }
    .sm\:my-20 {
        margin-top: 5rem;
        margin-bottom: 5rem;
    }
    .sm\:mt-0 {
        margin-top: 0px;
    }
    .sm\:mt-10 {
        margin-top: 2.5rem;
    }
    .sm\:mt-12 {
        margin-top: 3rem;
    }
    .sm\:mb-11 {
        margin-bottom: 2.75rem;
    }
    .sm\:block {
        display: block;
    }
    .sm\:flex {
        display: flex;
    }
    .sm\:inline-flex {
        display: inline-flex;
    }
    .sm\:h-\[278px\] {
        height: 278px;
    }
    .sm\:h-\[120px\] {
        height: 120px;
    }
    .sm\:w-\[278px\] {
        width: 278px;
    }
    .sm\:w-2\/3 {
        width: 66.666667%;
    }
    .sm\:w-28 {
        width: 7rem;
    }
    .sm\:w-\[279px\] {
        width: 279px;
    }
    .sm\:w-\[200px\] {
        width: 200px;
    }
    .sm\:max-w-800 {
        max-width: 800px;
    }
    .sm\:max-w-none {
        max-width: none;
    }
    .sm\:auto-rows-fr {
        grid-auto-rows: minmax(0, 1fr);
    }
    .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\:flex-row {
        flex-direction: row;
    }
    .sm\:items-start {
        align-items: flex-start;
    }
    .sm\:items-center {
        align-items: center;
    }
    .sm\:justify-start {
        justify-content: flex-start;
    }
    .sm\:justify-between {
        justify-content: space-between;
    }
    .sm\:gap-4 {
        gap: 1rem;
    }
    .sm\:gap-\[18px\] {
        gap: 18px;
    }
    .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0px * var(--tw-space-y-reverse));
    }
    .sm\:space-x-3 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(0.75rem * var(--tw-space-x-reverse));
        margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
    }
    .sm\:space-x-5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(1.25rem * var(--tw-space-x-reverse));
        margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
    }
    .sm\:p-12 {
        padding: 3rem;
    }
    .sm\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .sm\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .sm\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
    .sm\:py-10 {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
    .sm\:py-20 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    .sm\:pt-20 {
        padding-top: 5rem;
    }
    .sm\:pl-6 {
        padding-left: 1.5rem;
    }
    .sm\:pt-0 {
        padding-top: 0px;
    }
    .sm\:pt-10 {
        padding-top: 2.5rem;
    }
    .sm\:pb-10 {
        padding-bottom: 2.5rem;
    }
    .sm\:text-left {
        text-align: left;
    }
    .sm\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
    .sm\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .sm\:font-normal {
        font-weight: 400;
    }
}
@media (min-width: 768px) {
    .md\:absolute {
        position: absolute;
    }
    .md\:relative {
        position: relative;
    }
    .md\:bottom-8 {
        bottom: 2rem;
    }
    .md\:right-8 {
        right: 2rem;
    }
    .md\:right-0 {
        right: 0px;
    }
    .md\:top-0 {
        top: 0px;
    }
    .md\:order-1 {
        order: 1;
    }
    .md\:order-2 {
        order: 2;
    }
    .md\:col-span-1 {
        grid-column: span 1 / span 1;
    }
    .md\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .md\:my-5 {
        margin-top: 1.25rem;
        margin-bottom: 1.25rem;
    }
    .md\:mx-0 {
        margin-left: 0px;
        margin-right: 0px;
    }
    .md\:ml-5 {
        margin-left: 1.25rem;
    }
    .md\:mb-0 {
        margin-bottom: 0px;
    }
    .md\:mr-auto {
        margin-right: auto;
    }
    .md\:ml-0 {
        margin-left: 0px;
    }
    .md\:mr-0 {
        margin-right: 0px;
    }
    .md\:ml-auto {
        margin-left: auto;
    }
    .md\:mt-0 {
        margin-top: 0px;
    }
    .md\:mt-5 {
        margin-top: 1.25rem;
    }
    .md\:mt-10 {
        margin-top: 2.5rem;
    }
    .md\:-mt-24 {
        margin-top: -6rem;
    }
    .md\:block {
        display: block;
    }
    .md\:flex {
        display: flex;
    }
    .md\:hidden {
        display: none;
    }
    .md\:h-auto {
        height: auto;
    }
    .md\:h-\[140px\] {
        height: 140px;
    }
    .md\:h-12 {
        height: 3rem;
    }
    .md\:h-\[420px\] {
        height: 420px;
    }
    .md\:h-\[340px\] {
        height: 340px;
    }
    .md\:h-\[520px\] {
        height: 520px;
    }
    .md\:h-400 {
        height: 400px;
    }
    .md\:h-\[277px\] {
        height: 277px;
    }
    .md\:w-full {
        width: 100%;
    }
    .md\:w-12 {
        width: 3rem;
    }
    .md\:w-auto {
        width: auto;
    }
    .md\:w-64 {
        width: 16rem;
    }
    .md\:max-w-none {
        max-width: none;
    }
    .md\:max-w-\[768px\] {
        max-width: 768px;
    }
    .md\:max-w-800 {
        max-width: 800px;
    }
    .md\:flex-auto {
        flex: 1 1 auto;
    }
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .md\:grid-cols-\[1fr_240px\] {
        grid-template-columns: 1fr 240px;
    }
    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .md\:grid-cols-\[475fr_574fr\] {
        grid-template-columns: 475fr 574fr;
    }
    .md\:grid-cols-\[574fr_475fr\] {
        grid-template-columns: 574fr 475fr;
    }
    .md\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .md\:flex-row {
        flex-direction: row;
    }
    .md\:items-start {
        align-items: flex-start;
    }
    .md\:justify-end {
        justify-content: flex-end;
    }
    .md\:justify-center {
        justify-content: center;
    }
    .md\:justify-around {
        justify-content: space-around;
    }
    .md\:gap-5 {
        gap: 1.25rem;
    }
    .md\:gap-4 {
        gap: 1rem;
    }
    .md\:gap-10 {
        gap: 2.5rem;
    }
    .md\:gap-12 {
        gap: 3rem;
    }
    .md\:gap-0 {
        gap: 0px;
    }
    .md\:gap-6 {
        gap: 1.5rem;
    }
    .md\:gap-8 {
        gap: 2rem;
    }
    .md\:p-10 {
        padding: 2.5rem;
    }
    .md\:py-0 {
        padding-top: 0px;
        padding-bottom: 0px;
    }
    .md\:px-12 {
        padding-left: 3rem;
        padding-right: 3rem;
    }
    .md\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .md\:py-2 {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    .md\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .md\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
    .md\:pt-\[60px\] {
        padding-top: 60px;
    }
    .md\:pb-\[50px\] {
        padding-bottom: 50px;
    }
    .md\:pl-10 {
        padding-left: 2.5rem;
    }
    .md\:pr-6 {
        padding-right: 1.5rem;
    }
    .md\:pr-10 {
        padding-right: 2.5rem;
    }
    .md\:pb-12 {
        padding-bottom: 3rem;
    }
    .md\:pt-\[67px\] {
        padding-top: 67px;
    }
    .md\:pb-\[145px\] {
        padding-bottom: 145px;
    }
    .md\:text-left {
        text-align: left;
    }
    .md\:text-center {
        text-align: center;
    }
    .md\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .md\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .md\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .md\:text-\[104px\] {
        font-size: 104px;
    }
    .md\:text-\[28px\] {
        font-size: 28px;
    }
    .md\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    .md\:text-\[32px\] {
        font-size: 32px;
    }
    .md\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .md\:text-\[10px\] {
        font-size: 10px;
    }
}
@media (min-width: 1024px) {
    .lg\:container {
        width: 100%;
    }
    @media (min-width: 640px) {
        .lg\:container {
            max-width: 640px;
        }
    }
    @media (min-width: 768px) {
        .lg\:container {
            max-width: 768px;
        }
    }
    @media (min-width: 835px) {
        .lg\:container {
            max-width: 835px;
        }
    }
    @media (min-width: 1024px) {
        .lg\:container {
            max-width: 1024px;
        }
    }
    @media (min-width: 1124px) {
        .lg\:container {
            max-width: 1124px;
        }
    }
    @media (min-width: 1280px) {
        .lg\:container {
            max-width: 1280px;
        }
    }
    @media (min-width: 1600px) {
        .lg\:container {
            max-width: 1600px;
        }
    }
    @media (min-width: 1920px) {
        .lg\:container {
            max-width: 1920px;
        }
    }
    .lg\:absolute {
        position: absolute;
    }
    .lg\:relative {
        position: relative;
    }
    .lg\:inset-x-0 {
        left: 0px;
        right: 0px;
    }
    .lg\:-top-\[71px\] {
        top: -71px;
    }
    .lg\:left-8 {
        left: 2rem;
    }
    .lg\:top-\[70px\] {
        top: 70px;
    }
    .lg\:-left-5 {
        left: -1.25rem;
    }
    .lg\:-right-5 {
        right: -1.25rem;
    }
    .lg\:bottom-\[60px\] {
        bottom: 60px;
    }
    .lg\:top-\[286px\] {
        top: 286px;
    }
    .lg\:order-2 {
        order: 2;
    }
    .lg\:order-1 {
        order: 1;
    }
    .lg\:order-3 {
        order: 3;
    }
    .lg\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .lg\:col-span-3 {
        grid-column: span 3 / span 3;
    }
    .lg\:col-span-1 {
        grid-column: span 1 / span 1;
    }
    .lg\:col-start-1 {
        grid-column-start: 1;
    }
    .lg\:col-start-2 {
        grid-column-start: 2;
    }
    .lg\:row-start-1 {
        grid-row-start: 1;
    }
    .lg\:row-start-2 {
        grid-row-start: 2;
    }
    .lg\:my-12 {
        margin-top: 3rem;
        margin-bottom: 3rem;
    }
    .lg\:mx-auto {
        margin-left: auto;
        margin-right: auto;
    }
    .lg\:mx-0 {
        margin-left: 0px;
        margin-right: 0px;
    }
    .lg\:my-0 {
        margin-top: 0px;
        margin-bottom: 0px;
    }
    .lg\:mt-0 {
        margin-top: 0px;
    }
    .lg\:mt-20 {
        margin-top: 5rem;
    }
    .lg\:mt-16 {
        margin-top: 4rem;
    }
    .lg\:-mb-8 {
        margin-bottom: -2rem;
    }
    .lg\:-mt-16 {
        margin-top: -4rem;
    }
    .lg\:mb-10 {
        margin-bottom: 2.5rem;
    }
    .lg\:mt-4 {
        margin-top: 1rem;
    }
    .lg\:mt-10 {
        margin-top: 2.5rem;
    }
    .lg\:mt-12 {
        margin-top: 3rem;
    }
    .lg\:mt-7 {
        margin-top: 1.75rem;
    }
    .lg\:mb-150 {
        margin-bottom: 150px;
    }
    .lg\:mr-20 {
        margin-right: 5rem;
    }
    .lg\:mt-5 {
        margin-top: 1.25rem;
    }
    .lg\:mb-2 {
        margin-bottom: 0.5rem;
    }
    .lg\:block {
        display: block;
    }
    .lg\:flex {
        display: flex;
    }
    .lg\:grid {
        display: grid;
    }
    .lg\:contents {
        display: contents;
    }
    .lg\:hidden {
        display: none;
    }
    .lg\:h-\[180px\] {
        height: 180px;
    }
    .lg\:h-\[131px\] {
        height: 131px;
    }
    .lg\:h-\[73px\] {
        height: 73px;
    }
    .lg\:h-\[60px\] {
        height: 60px;
    }
    .lg\:h-\[30px\] {
        height: 30px;
    }
    .lg\:h-\[520px\] {
        height: 520px;
    }
    .lg\:h-\[360px\] {
        height: 360px;
    }
    .lg\:h-\[600px\] {
        height: 600px;
    }
    .lg\:h-\[480px\] {
        height: 480px;
    }
    .lg\:h-auto {
        height: auto;
    }
    .lg\:h-\[314px\] {
        height: 314px;
    }
    .lg\:h-\[55px\] {
        height: 55px;
    }
    .lg\:h-\[456px\] {
        height: 456px;
    }
    .lg\:h-\[475px\] {
        height: 475px;
    }
    .lg\:h-\[476px\] {
        height: 476px;
    }
    .lg\:h-500 {
        height: 500px;
    }
    .lg\:h-\[108px\] {
        height: 108px;
    }
    .lg\:h-\[78px\] {
        height: 78px;
    }
    .lg\:h-8 {
        height: 2rem;
    }
    .lg\:max-h-\[calc\(100\%_\+_160px\)\] {
        max-height: calc(100% + 160px);
    }
    .lg\:max-h-\[480px\] {
        max-height: 480px;
    }
    .lg\:min-h-\[300px\] {
        min-height: 300px;
    }
    .lg\:min-h-\[222px\] {
        min-height: 222px;
    }
    .lg\:min-h-\[335px\] {
        min-height: 335px;
    }
    .lg\:min-h-\[148px\] {
        min-height: 148px;
    }
    .lg\:w-\[60px\] {
        width: 60px;
    }
    .lg\:w-\[30px\] {
        width: 30px;
    }
    .lg\:w-auto {
        width: auto;
    }
    .lg\:w-1\/2 {
        width: 50%;
    }
    .lg\:w-\[320px\] {
        width: 320px;
    }
    .lg\:w-fit {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }
    .lg\:w-\[136px\] {
        width: 136px;
    }
    .lg\:w-\[378px\] {
        width: 378px;
    }
    .lg\:min-w-\[108px\] {
        min-width: 108px;
    }
    .lg\:max-w-\[968px\] {
        max-width: 968px;
    }
    .lg\:max-w-\[373px\] {
        max-width: 373px;
    }
    .lg\:max-w-\[673px\] {
        max-width: 673px;
    }
    .lg\:max-w-\[574px\] {
        max-width: 574px;
    }
    .lg\:max-w-full {
        max-width: 100%;
    }
    .lg\:max-w-none {
        max-width: none;
    }
    .lg\:shrink-0 {
        flex-shrink: 0;
    }
    .lg\:-translate-x-4 {
        --tw-translate-x: -1rem;
        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));
    }
    .lg\:-translate-x-1\/2 {
        --tw-translate-x: -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));
    }
    .lg\:scale-100 {
        --tw-scale-x: 1;
        --tw-scale-y: 1;
        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));
    }
    .lg\:cursor-zoom-in {
        cursor: zoom-in;
    }
    .lg\:scroll-mt-\[160px\] {
        scroll-margin-top: 160px;
    }
    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[182fr_378fr_378fr\] {
        grid-template-columns: 182fr 378fr 378fr;
    }
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[336px_1fr\] {
        grid-template-columns: 336px 1fr;
    }
    .lg\:grid-cols-\[1fr_336px\] {
        grid-template-columns: 1fr 336px;
    }
    .lg\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .lg\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[771fr_279fr\] {
        grid-template-columns: 771fr 279fr;
    }
    .lg\:grid-cols-\[574fr_476fr\] {
        grid-template-columns: 574fr 476fr;
    }
    .lg\:grid-cols-\[377fr_673fr\] {
        grid-template-columns: 377fr 673fr;
    }
    .lg\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[575fr_278fr_278fr\] {
        grid-template-columns: 575fr 278fr 278fr;
    }
    .lg\:grid-rows-\[auto_1fr\] {
        grid-template-rows: auto 1fr;
    }
    .lg\:grid-rows-4 {
        grid-template-rows: repeat(4, minmax(0, 1fr));
    }
    .lg\:flex-row {
        flex-direction: row;
    }
    .lg\:items-end {
        align-items: flex-end;
    }
    .lg\:items-center {
        align-items: center;
    }
    .lg\:justify-start {
        justify-content: flex-start;
    }
    .lg\:justify-between {
        justify-content: space-between;
    }
    .lg\:gap-16 {
        gap: 4rem;
    }
    .lg\:gap-\[34px\] {
        gap: 34px;
    }
    .lg\:gap-0 {
        gap: 0px;
    }
    .lg\:gap-20 {
        gap: 5rem;
    }
    .lg\:gap-\[114px\] {
        gap: 114px;
    }
    .lg\:gap-\[115px\] {
        gap: 115px;
    }
    .lg\:gap-12 {
        gap: 3rem;
    }
    .lg\:gap-4 {
        gap: 1rem;
    }
    .lg\:gap-x-\[15px\] {
        -moz-column-gap: 15px;
             column-gap: 15px;
    }
    .lg\:gap-x-12 {
        -moz-column-gap: 3rem;
             column-gap: 3rem;
    }
    .lg\:gap-y-0 {
        row-gap: 0px;
    }
    .lg\:gap-y-5 {
        row-gap: 1.25rem;
    }
    .lg\:gap-x-10 {
        -moz-column-gap: 2.5rem;
             column-gap: 2.5rem;
    }
    .lg\:space-x-5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(1.25rem * var(--tw-space-x-reverse));
        margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
    }
    .lg\:self-start {
        align-self: flex-start;
    }
    .lg\:self-stretch {
        align-self: stretch;
    }
    .lg\:whitespace-nowrap {
        white-space: nowrap;
    }
    .lg\:rounded-3xl {
        border-radius: 1.5rem;
    }
    .lg\:object-contain {
        -o-object-fit: contain;
           object-fit: contain;
    }
    .lg\:p-10 {
        padding: 2.5rem;
    }
    .lg\:p-0 {
        padding: 0px;
    }
    .lg\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .lg\:px-\[100px\] {
        padding-left: 100px;
        padding-right: 100px;
    }
    .lg\:py-10 {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
    .lg\:px-\[12\.5\%\] {
        padding-left: 12.5%;
        padding-right: 12.5%;
    }
    .lg\:px-24 {
        padding-left: 6rem;
        padding-right: 6rem;
    }
    .lg\:py-\[70px\] {
        padding-top: 70px;
        padding-bottom: 70px;
    }
    .lg\:py-12 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    .lg\:py-1 {
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
    }
    .lg\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
    .lg\:px-16 {
        padding-left: 4rem;
        padding-right: 4rem;
    }
    .lg\:px-0 {
        padding-left: 0px;
        padding-right: 0px;
    }
    .lg\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .lg\:py-5 {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
    .lg\:py-1\.5 {
        padding-top: 0.375rem;
        padding-bottom: 0.375rem;
    }
    .lg\:pt-\[148px\] {
        padding-top: 148px;
    }
    .lg\:pl-6 {
        padding-left: 1.5rem;
    }
    .lg\:pr-24 {
        padding-right: 6rem;
    }
    .lg\:pl-24 {
        padding-left: 6rem;
    }
    .lg\:pr-6 {
        padding-right: 1.5rem;
    }
    .lg\:pt-8 {
        padding-top: 2rem;
    }
    .lg\:pb-0 {
        padding-bottom: 0px;
    }
    .lg\:pt-\[82px\] {
        padding-top: 82px;
    }
    .lg\:pt-32 {
        padding-top: 8rem;
    }
    .lg\:pl-\[393px\] {
        padding-left: 393px;
    }
    .lg\:pr-\[426px\] {
        padding-right: 426px;
    }
    .lg\:pt-0 {
        padding-top: 0px;
    }
    .lg\:pt-138 {
        padding-top: 138px;
    }
    .lg\:pb-10 {
        padding-bottom: 2.5rem;
    }
    .lg\:pb-6 {
        padding-bottom: 1.5rem;
    }
    .lg\:pl-\[100px\] {
        padding-left: 100px;
    }
    .lg\:pl-8 {
        padding-left: 2rem;
    }
    .lg\:pr-3 {
        padding-right: 0.75rem;
    }
    .lg\:text-left {
        text-align: left;
    }
    .lg\:text-center {
        text-align: center;
    }
    .lg\:text-right {
        text-align: right;
    }
    .lg\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .lg\:text-\[32px\] {
        font-size: 32px;
    }
    .lg\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    .lg\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .lg\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
    .lg\:text-\[136px\] {
        font-size: 136px;
    }
    .lg\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .lg\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .lg\:text-xs {
        font-size: 0.75rem;
        line-height: 1rem;
    }
    .lg\:font-semibold {
        font-weight: 600;
    }
    .lg\:leading-\[normal\] {
        line-height: normal;
    }
    .lg\:opacity-100 {
        opacity: 1;
    }
    .lg\:opacity-0 {
        opacity: 0;
    }
    .group:hover .lg\:group-hover\:translate-x-0 {
        --tw-translate-x: 0px;
        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 .lg\:group-hover\:translate-x-\[15\%\] {
        --tw-translate-x: 15%;
        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 .lg\:group-hover\:scale-\[0\.7\] {
        --tw-scale-x: 0.7;
        --tw-scale-y: 0.7;
        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 .lg\:group-hover\:opacity-100 {
        opacity: 1;
    }
}
@media (min-width: 1124px) {
    .lgg\:gap-6 {
        gap: 1.5rem;
    }
}
@media (min-width: 1280px) {
    .xl\:container {
        width: 100%;
    }
    @media (min-width: 640px) {
        .xl\:container {
            max-width: 640px;
        }
    }
    @media (min-width: 768px) {
        .xl\:container {
            max-width: 768px;
        }
    }
    @media (min-width: 835px) {
        .xl\:container {
            max-width: 835px;
        }
    }
    @media (min-width: 1024px) {
        .xl\:container {
            max-width: 1024px;
        }
    }
    @media (min-width: 1124px) {
        .xl\:container {
            max-width: 1124px;
        }
    }
    @media (min-width: 1280px) {
        .xl\:container {
            max-width: 1280px;
        }
    }
    @media (min-width: 1600px) {
        .xl\:container {
            max-width: 1600px;
        }
    }
    @media (min-width: 1920px) {
        .xl\:container {
            max-width: 1920px;
        }
    }
    .xl\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .xl\:col-span-3 {
        grid-column: span 3 / span 3;
    }
    .xl\:my-5 {
        margin-top: 1.25rem;
        margin-bottom: 1.25rem;
    }
    .xl\:my-20 {
        margin-top: 5rem;
        margin-bottom: 5rem;
    }
    .xl\:mt-0 {
        margin-top: 0px;
    }
    .xl\:mt-10 {
        margin-top: 2.5rem;
    }
    .xl\:mt-20 {
        margin-top: 5rem;
    }
    .xl\:mt-12 {
        margin-top: 3rem;
    }
    .xl\:block {
        display: block;
    }
    .xl\:inline {
        display: inline;
    }
    .xl\:hidden {
        display: none;
    }
    .xl\:h-auto {
        height: auto;
    }
    .xl\:h-600 {
        height: 600px;
    }
    .xl\:h-\[220px\] {
        height: 220px;
    }
    .xl\:w-full {
        width: 100%;
    }
    .xl\:w-auto {
        width: auto;
    }
    .xl\:w-20 {
        width: 5rem;
    }
    .xl\:w-36 {
        width: 9rem;
    }
    .xl\:max-w-\[1161px\] {
        max-width: 1161px;
    }
    .xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .xl\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .xl\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .xl\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .xl\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .xl\:gap-20 {
        gap: 5rem;
    }
    .xl\:gap-10 {
        gap: 2.5rem;
    }
    .xl\:gap-0 {
        gap: 0px;
    }
    .xl\:gap-x-\[72px\] {
        -moz-column-gap: 72px;
             column-gap: 72px;
    }
    .xl\:rounded-md {
        border-radius: 0.375rem;
    }
    .xl\:border-0 {
        border-width: 0px;
    }
    .xl\:object-contain {
        -o-object-fit: contain;
           object-fit: contain;
    }
    .xl\:p-20 {
        padding: 5rem;
    }
    .xl\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
    .xl\:px-0 {
        padding-left: 0px;
        padding-right: 0px;
    }
    .xl\:py-20 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    .xl\:pt-20 {
        padding-top: 5rem;
    }
    .xl\:pb-0 {
        padding-bottom: 0px;
    }
    .xl\:pb-20 {
        padding-bottom: 5rem;
    }
    .xl\:pt-10 {
        padding-top: 2.5rem;
    }
    .xl\:pb-10 {
        padding-bottom: 2.5rem;
    }
    .xl\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .xl\:text-7xl {
        font-size: 4.5rem;
        line-height: 1;
    }
    .xl\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .xl\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .xl\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    .xl\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
}
@media (min-width: 1600px) {
    .\32xl\:h-\[588px\] {
        height: 588px;
    }
    .\32xl\:h-800 {
        height: 800px;
    }
    .\32xl\:w-32 {
        width: 8rem;
    }
    .\32xl\:w-28 {
        width: 7rem;
    }
    .\32xl\:w-44 {
        width: 11rem;
    }
    .\32xl\:grid-cols-8 {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }
    .\32xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .\32xl\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .\32xl\:gap-x-\[113px\] {
        -moz-column-gap: 113px;
             column-gap: 113px;
    }
    .\32xl\:p-16 {
        padding: 4rem;
    }
    .\32xl\:py-5 {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
}
@media (min-width: 1920px) {
    .\33xl\:max-w-screen-2xl {
        max-width: 1600px;
    }
    .\33xl\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    .\33xl\:text-7xl {
        font-size: 4.5rem;
        line-height: 1;
    }
}
.\[\&\>p\+p\]\:mt-4>p+p {
    margin-top: 1rem;
}
.\[\&\>p\+p\]\:mt-8>p+p {
    margin-top: 2rem;
}
.\[\&\>p\+p\]\:mt-6>p+p {
    margin-top: 1.5rem;
}
.\[\&\:not\(\:first-child\)\]\:mt-3:not(:first-child) {
    margin-top: 0.75rem;
}
.\[\&\>h2\]\:mb-16>h2 {
    margin-bottom: 4rem;
}

