/*
 * SABER SEM LIMITES
 * CSS PERSONALIZADO MIGRADO PARA O CHILD THEME
 */

/*

 * =========================================================

 * SABER SEM LIMITES

 * CSS PERSONALIZADO

 * =========================================================

 *

 * Azul principal: #124e85

 * Azul claro:     #1864aa

 *

 */

/* GERAL */

.thwcfe-checkout-section:after {

    content: "";

    display: table;

    clear: both;

}

html,

body {

    min-height: 100vh;

    background: #ffffff;

}

.site {

    min-height: 100vh;

    padding-bottom: 150px;

    position: relative;

}

.finance-page-content {

    min-height: 37vh;

    position: relative;

    padding-top: 30px !important;

}

/* NEWSLETTER E FOOTER */

.newsletter {

    clear: both;

    bottom: 0;

    background: #ededed;

}

.site-footer {

    position: absolute;

    bottom: 0;

    width: 100%;

    clear: both;

}

.footer-area {

    padding: 32px 0;

}

@media (max-width: 767px) {

    .newsletter {

        min-height: 250px;

    }

}

@media only screen and (min-width: 800px) {

    .site {

        padding-bottom: 220px;

    }

}

/* HUSTLE */

.hustle-ui.module_id_1

.hustle-layout

.hustle-content

.hustle-content-wrap {

    padding: 20px 0 0 0 !important;

}

/* CHECKOUT */

#billing_number_registrations {

    background: #eeeeee;

}

/* SERVIÇOS */

.finance-single-services h3 {

    font-size: 20px;

    min-height: 40px;

    height: auto;

    font-weight: 600;

    margin: 0 0 10px 0;

}

/*

 * Mantém páginas sem Visual Composer sem padding adicional.

 */

.finance-internal-area.finance-v-composer-disabled {

    padding: 0;

}

.service-overlay-right {

    border-bottom: 0 solid #ffffff;

    border-right: 0 solid #ffffff;

}

.service-overlay-left {

    border-top: 0 solid #ffffff;

    border-left: 0 solid #ffffff;

}

.image-padding {

    padding: 15px 20px;

}

/* DESTAQUES DA HOMEPAGE ALINHAMENTO DOS TRÊS BLOCOS */

.ssl-destaques {

    display: flex;

    flex-wrap: wrap;

    align-items: stretch;

}

/* Colunas com a mesma altura */

.ssl-destaques > .vc_column_container {

    display: flex;

}

.ssl-destaques > .vc_column_container > .vc_column-inner {

    width: 100%;

    display: flex;

}

.ssl-destaques .wpb_wrapper,

.ssl-destaques .wpb_text_column {

    width: 100%;

}

.ssl-destaques .wpb_text_column {

    margin-bottom: 0;

}

/* Bloco completo */

.ssl-destaques .finance-single-services {

    width: 100%;

    height: 100%;

    display: flex;

    flex-direction: column;

}

/* VÍDEOS DOS DESTAQUES */

.ssl-destaques .wp-video {

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

}

.ssl-destaques video,

.ssl-destaques .wp-video-shortcode {

    display: block;

    width: 100% !important;

    max-width: 100% !important;

}

/* TÍTULOS DOS DESTAQUES */

.ssl-destaques .finance-single-services h3 {

    font-size: 20px;

    font-weight: 600;

    line-height: 1.35;

    margin-top: 35px !important;

    margin-bottom: 0 !important;

    min-height: 84px;

    height: auto;

    display: flex;

    align-items: flex-start;

}

/* BOTÕES DOS DESTAQUES */

.ssl-destaques .finance-services-btn {

    display: inline-block;

    align-self: flex-start;

    margin-top: 20px !important;

}

/* Tablet */

@media (max-width: 991px) {

    .ssl-destaques .finance-single-services h3 {

        min-height: 105px;

    }

}

/* Telemóvel */

@media (max-width: 767px) {

    .ssl-destaques {

        display: block;

    }

    .ssl-destaques > .vc_column_container {

        display: block;

    }

    .ssl-destaques .finance-single-services h3 {

        min-height: 0;

        margin-top: 25px !important;

    }

    .ssl-destaques .finance-services-btn {

        margin-top: 15px !important;

        margin-bottom: 40px !important;

    }

}

/* HEADER / MENU PRINCIPAL */

.header-area-b {

    background: #124e85;

}

.mainmenu {

    text-align: center;

}

.mainmenu ul {

    margin: 0;

    padding: 0;

    list-style: none;

}

.mainmenu ul li {

    position: relative;

    display: inline-block;

}

.mainmenu ul li a {

    display: block;

    font-size: 13px;

    color: #ffffff;

    text-transform: none;

    padding: 25px 10px;

    font-family: 'Poppins', sans-serif;

    font-weight: 600;

    text-decoration: none;

}

.mainmenu ul li a:hover {

    color: #a7c6e2;

    text-decoration: none;

}

.mainmenu ul li:last-child a {

    padding-right: 0;

}

/* SUBMENUS */

.mainmenu li ul {

    position: absolute;

    top: 120%;

    left: 0;

    opacity: 0;

    visibility: hidden;

    width: 310px;

    background-color: #222222;

    box-shadow: 0 3px 38px rgba(0, 0, 0, 0.1);

    list-style: none;

    margin: 0;

    padding: 0;

    -webkit-transition: all 0.3s ease-in-out;

    transition: all 0.3s ease-in-out;

    z-index: -1;

    text-align: left;

}

.mainmenu li:last-child ul {

    max-width: 120px;

}

.mainmenu li ul li {

    display: block;

    position: relative;

    padding: 0;

}

.mainmenu li ul li:last-child a {

    border-bottom: 0;

}

.mainmenu li ul li a {

    display: block;

    padding: 12px 26px;

    font-size: 14px;

    text-decoration: none;

    text-transform: none;

    color: #888888;

    font-weight: 400;

    border-bottom: 1px solid rgba(255, 255, 255, 0.05);

    -webkit-transition: all 0.4s ease;

    transition: all 0.4s ease;

}

.mainmenu li ul li a:hover {

    padding-left: 30px;

}

.mainmenu li ul li:hover,

.mainmenu li ul li a:hover {

    color: #ededed;

}

.mainmenu li:hover ul {

    opacity: 1;

    visibility: visible;

    z-index: 99;

    top: 101%;

}

/* LOGÓTIPO */

.img-logo img {

    height: 120px;

    width: auto;

}

/* LINKS DO BANNER/MENU */

a.menu-banner {

    color: #ffffff;

    text-decoration: underline;

}

/* TOPO DO HEADER */

.header-top-area {

    background-color: #9e9e9e;

    padding: 5px 0;

}

/* GOOGLE RECAPTCHA */

.grecaptcha-badge {

    visibility: hidden;

}

/* WOOCOMMERCE - BOTÕES */

.woocommerce #respond input#submit.alt,

.woocommerce a.button.alt,

.woocommerce button.button.alt,

.woocommerce input.button.alt {

    background-color: #124e85;

    color: #ffffff;

    -webkit-font-smoothing: antialiased;

}

.woocommerce #respond input#submit.alt:hover,

.woocommerce a.button.alt:hover,

.woocommerce button.button.alt:hover,

.woocommerce input.button.alt:hover {

    background-color: #1864aa;

    color: #ffffff;

    -webkit-font-smoothing: antialiased;

}

/* WOOCOMMERCE - CHECKOUT */

#customer_details h3 {

    margin-top: 40px !important;

}

/* CAMPOS DE SUBSCRIÇÃO */

#subscription_cc_digit,

#subscription_2_cc_digit,

#subscription_3_cc_digit,

#subscription_4_cc_digit,

#subscription_5_cc_digit,

#subscription_6_cc_digit,

#subscription_7_cc_digit,

#subscription_8_cc_digit,

#subscription_9_cc_digit,

#subscription_10_cc_digit,

#subscription_11_cc_digit,

#subscription_12_cc_digit,

#subscription_bi_digit,

#subscription_2_bi_digit,

#subscription_3_bi_digit,

#subscription_4_bi_digit,

#subscription_5_bi_digit,

#subscription_6_bi_digit,

#subscription_7_bi_digit,

#subscription_8_bi_digit,

#subscription_9_bi_digit,

#subscription_10_bi_digit,

#subscription_11_bi_digit,

#subscription_12_bi_digit {

    width: 60px;

}

/* CONTEÚDO */

.entry-content h3 {

    margin-top: 60px;

    margin-bottom: 30px;

}

/* WOOCOMMERCE - CHECKBOXES */

.woocommerce form .form-row .input-checkbox {

    margin: 8px 0 0 -20px;

}

.woocommerce form .form-row label.checkbox,

.woocommerce-page form .form-row label.checkbox {

    margin: 0 0 0 20px;

}

/* LABELS */

label {

    margin-top: 10px;

}

/* ALERTAS */

.alert-txt1 {

    color: #ff0000;

    padding: 60px 60px 0 0;

}

.text-danger {

    color: #ff0000;

}

/* WOOCOMMERCE - MENSAGENS */

.woocommerce-notice {

    padding: 40px 0;

}

/* PÁGINA ESPECÍFICA */

#post-1159 p {

    padding: 0 0 30px 0;

}

/* TEXTOS AUXILIARES DOS FORMULÁRIOS */

.woocommerce form .form-row label span.txt-90 {

    margin-bottom: 5px;

    font-weight: 100;

    font-size: 90%;

}

.woocommerce form .form-row label span.txt-95 {

    margin-bottom: 5px;

    font-weight: 100;

    font-size: 95%;

}

p.txt95 label {

    margin-bottom: 5px;

    font-weight: 100;

    font-size: 90%;

}

p.txt95 label.radio {

    margin-bottom: 5px;

    font-weight: 600;

    font-size: 100%;

}

/* CHECKOUT RESPONSIVO */

@media (min-width: 992px) {

    .woocommerce form .form-row-md-first,

    .woocommerce-page form .form-row-md-first {

        float: left;

    }

    .woocommerce form .form-row-md-last,

    .woocommerce-page form .form-row-md-last {

        float: right;

    }

    .woocommerce form .form-row-md-first,

    .woocommerce form .form-row-md-last,

    .woocommerce-page form .form-row-md-first,

    .woocommerce-page form .form-row-md-last {

        width: 47%;

        overflow: visible;

    }

}

/* PREÇOS */

.col-price {

    width: 70px;

}

/* NÚMERO DE VENDAS */

.numero-vendas {

    display: block;

    font-size: 14px;

    color: #555555;

    margin-top: 5px;

}

/* =========================================================

   PÁGINA INICIAL — BANNER ENCOSTADO AO MENU

   Classe existente no HTML: vc_custom_ssl_banner_top

   Classe alternativa suportada: ssl-home-banner

   Remove o espaço superior e as quebras de linha soltas

   apenas nos contentores do banner. Não altera as páginas

   interiores nem a largura calculada pelo WPBakery.

   ========================================================= */

/* Menu sem espaço exterior inferior. */

body.home .header-area-b {

    margin-bottom: 0 !important;

    padding-bottom: 0 !important;

    border-bottom: 0 !important;

}

/* Contentores existentes entre o menu e o banner. */

body.home .finance-page-content.finance-internal-area,

body.home .finance-page-content > .container,

body.home .finance-page-content > .container > .row,

body.home .finance-page-content > .container > .row > .col-md-12,

body.home #post-2,

body.home #post-2 > .entry-content {

    margin-top: 0 !important;

    padding-top: 0 !important;

}

/* Linha do banner: manter as dimensões laterais do WPBakery. */

body.home .vc_custom_ssl_banner_top,

body.home .ssl-home-banner {

    margin-top: 0 !important;

    margin-bottom: 0 !important;

    padding-top: 0 !important;

    padding-bottom: 0 !important;

}

/* Colunas e contentores internos do banner. */

body.home .vc_custom_ssl_banner_top > .vc_column_container,

body.home .vc_custom_ssl_banner_top .vc_column-inner,

body.home .vc_custom_ssl_banner_top .wpb_wrapper,

body.home .vc_custom_ssl_banner_top .wpb_text_column,

body.home .vc_custom_ssl_banner_top .wpb_content_element,

body.home .ssl-home-banner > .vc_column_container,

body.home .ssl-home-banner .vc_column-inner,

body.home .ssl-home-banner .wpb_wrapper,

body.home .ssl-home-banner .wpb_text_column,

body.home .ssl-home-banner .wpb_content_element {

    margin-top: 0 !important;

    margin-bottom: 0 !important;

    padding-top: 0 !important;

    padding-bottom: 0 !important;

}

/* Coluna principal do banner sem preenchimento lateral. */

body.home .vc_custom_ssl_banner_top > .vc_column_container > .vc_column-inner,

body.home .ssl-home-banner > .vc_column_container > .vc_column-inner {

    padding-left: 0 !important;

    padding-right: 0 !important;

}

/*

 * CORREÇÃO DAS QUEBRAS DE LINHA

 * O HTML contém elementos br diretamente na linha e nos

 * contentores do banner, incluindo antes da imagem.

 * Não ocultar as quebras de linha do resto da página.

 */

body.home .vc_custom_ssl_banner_top > br,

body.home .vc_custom_ssl_banner_top > .vc_column_container > br,

body.home .vc_custom_ssl_banner_top .vc_column-inner > br,

body.home .vc_custom_ssl_banner_top .wpb_wrapper > br,

body.home .ssl-home-banner > br,

body.home .ssl-home-banner > .vc_column_container > br,

body.home .ssl-home-banner .vc_column-inner > br,

body.home .ssl-home-banner .wpb_wrapper > br {

    display: none !important;

}

/* Parágrafo que envolve a imagem: sem margens ou preenchimento. */

body.home .vc_custom_ssl_banner_top .wpb_text_column > .wpb_wrapper > p,

body.home .ssl-home-banner .wpb_text_column > .wpb_wrapper > p {

    margin: 0 !important;

    padding: 0 !important;

}

/* Contentores de uma eventual imagem única do WPBakery. */

body.home .vc_custom_ssl_banner_top .wpb_single_image,

body.home .vc_custom_ssl_banner_top .wpb_single_image .vc_figure,

body.home .vc_custom_ssl_banner_top .wpb_single_image .vc_single_image-wrapper,

body.home .ssl-home-banner .wpb_single_image,

body.home .ssl-home-banner .wpb_single_image .vc_figure,

body.home .ssl-home-banner .wpb_single_image .vc_single_image-wrapper {

    display: block;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

}

/*

 * Imagem do banner: eliminar a margem de alignnone e o espaço

 * de base de uma imagem em linha. Manter a proporção original.

 * Não interferir com imagens de eventuais sliders animados.

 */

body.home .vc_custom_ssl_banner_top img.wp-image-4945,

body.home .vc_custom_ssl_banner_top .wpb_text_column > .wpb_wrapper > p > img,

body.home .vc_custom_ssl_banner_top .wpb_text_column > .wpb_wrapper > p > a > img,

body.home .vc_custom_ssl_banner_top .wpb_single_image img,

body.home .ssl-home-banner img.wp-image-4945,

body.home .ssl-home-banner .wpb_text_column > .wpb_wrapper > p > img,

body.home .ssl-home-banner .wpb_text_column > .wpb_wrapper > p > a > img,

body.home .ssl-home-banner .wpb_single_image img {

    display: block !important;

    width: 100% !important;

    max-width: 100% !important;

    height: auto !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

}

/* CORRECOES FINAIS - CARREGADAS POR ULTIMO */

/* Barra superior cinza */
.header-top-area {
    background: #9e9e9e !important;
    background-color: #9e9e9e !important;
    padding: 5px 0 !important;
}
.header-top-area,
.header-top-area a,
.header-top-area span,
.header-top-area i {
    color: #ffffff !important;
}

/* WhatsApp e Messenger */
.header-top-area img[src*="logo-whatsapp.svg"] {
    width: auto !important;
    height: 38px !important;
    max-width: none !important;
    object-fit: contain !important;
    vertical-align: middle !important;
}
.header-top-area img[src*="messenger-logo.svg"] {
    width: auto !important;
    height: 36px !important;
    max-width: none !important;
    object-fit: contain !important;
    vertical-align: middle !important;
}

/* Logo */
.header-area:not(.header-area-b) {
    background: #ffffff !important;
}
.header-area:not(.header-area-b) .logo_col,
.header-area:not(.header-area-b) .site-logo,
.header-area:not(.header-area-b) .site-logo h2 {
    text-align: center !important;
}
.header-area:not(.header-area-b) .site-logo {
    padding: 5px 0 10px !important;
}
.header-area:not(.header-area-b) .site-logo h2 {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}
.header-area:not(.header-area-b) .img-logo img {
    display: inline-block !important;
    width: auto !important;
    height: 120px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

/* Menu principal */
.header-area-b {
    background: #124e85 !important;
    background-color: #124e85 !important;
    box-shadow: none !important;
}
.header-area-b .menu_col,
.header-area-b .mainmenu {
    text-align: center !important;
}
.header-area-b .mainmenu ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.header-area-b .mainmenu > div > ul > li {
    position: relative !important;
    display: inline-block !important;
    float: none !important;
}
.header-area-b .mainmenu > div > ul > li > a {
    display: block !important;
    padding: 25px 10px !important;
    color: #ffffff !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
}
.header-area-b .mainmenu > div > ul > li > a:hover,
.header-area-b .mainmenu > div > ul > li > a:focus {
    color: #a7c6e2 !important;
}

/* Submenus */
.header-area-b .mainmenu li ul {
    position: absolute !important;
    top: 120% !important;
    left: 0 !important;
    width: 310px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #222222 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    text-align: left !important;
    list-style: none !important;
    z-index: -1 !important;
    box-shadow: 0 3px 38px rgba(0,0,0,.10) !important;
}
.header-area-b .mainmenu li ul li {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
}
.header-area-b .mainmenu li ul li a {
    display: block !important;
    padding: 12px 26px !important;
    color: #888888 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
}
.header-area-b .mainmenu li ul li a:hover {
    padding-left: 30px !important;
    color: #ededed !important;
}
.header-area-b .mainmenu li:hover > ul {
    top: 101% !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 9999 !important;
}

/* Videos - formato real 1200x1004 */
.ssl-destaques .wp-video,
.ssl-destaques .imuud-native-video {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1200 / 1004 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #000000 !important;
}
.ssl-destaques .wp-video video,
.ssl-destaques .imuud-native-video video,
.ssl-destaques video,
.ssl-destaques .wp-video-shortcode {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1200 / 1004 !important;
    object-fit: contain !important;
    margin: 0 !important;
    background: #000000 !important;
}

@media (max-width: 767px) {
    .header-top-area img[src*="logo-whatsapp.svg"] {
        height: 34px !important;
    }
    .header-top-area img[src*="messenger-logo.svg"] {
        height: 34px !important;
    }
    .header-area:not(.header-area-b) .img-logo img {
        height: 90px !important;
        max-width: 90% !important;
    }
    .header-area-b .slicknav_menu,
    .header-area-b .slicknav_nav {
        background: #124e85 !important;
    }
    .header-area-b .slicknav_nav a {
        color: #ffffff !important;
    }
}

/* Menu móvel: a faixa azul fica por baixo do logótipo.
   O tema pai usa .finance-responsive-menu { position:absolute; top:-75px },
   o que coloca o botão MENU em cima do logótipo e colapsa a barra. */
@media (max-width: 991px) {
    .header-area-b .finance-responsive-menu {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        width: 100% !important;
        z-index: 20 !important;
    }

    .header-area-b .slicknav_menu {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        position: static !important;
        width: 100% !important;
        min-height: 56px;
        background: #124e85 !important;
        text-align: right !important;
        padding: 0 18px !important;
    }

    .header-area-b a.slicknav_btn,
    .header-area-b .slicknav_btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        float: none !important;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
        vertical-align: middle !important;
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    .header-area-b .slicknav_menutxt {
        display: none !important;
    }

    .header-area-b .slicknav_icon {
        display: block !important;
        position: relative !important;
        float: none !important;
        width: 28px !important;
        height: 21px !important;
        margin: 0 !important;
    }

    .header-area-b .slicknav_icon::before {
        display: none !important;
    }

    .header-area-b .slicknav_icon-bar,
    .header-area-b .slicknav_icon-bar + .slicknav_icon-bar {
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        right: auto !important;
        width: 28px !important;
        height: 3px !important;
        margin: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
        border-radius: 1px;
    }

    .header-area-b .slicknav_icon-bar:nth-child(1) { top: 0; }
    .header-area-b .slicknav_icon-bar:nth-child(2) { top: 9px; }
    .header-area-b .slicknav_icon-bar:nth-child(3) { top: 18px; }

    .header-area-b .slicknav_nav {
        width: 100% !important;
        margin: 10px 0 0 !important;
        text-align: left !important;
        background: #124e85 !important;
    }

    .header-area:not(.header-area-b) .img-logo img {
        display: inline-block !important;
        height: 96px !important;
        width: auto !important;
        max-width: 220px !important;
        object-fit: contain !important;
    }
}

/* Ícones da barra de cima, centrados na vertical */
.header-top-area {
    display: flex !important;
    align-items: center !important;
    min-height: 48px;
    padding: 0 !important;
}
.header-top-area > .container,
.header-top-area .row {
    display: flex !important;
    align-items: center !important;
    width: 100%;
    min-height: 48px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.header-top-area .top_info {
    flex: 1 1 auto;
}
.header-top-area .text-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin-left: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 14px;
}
.header-top-area a {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 0 !important;
    height: auto !important;
}
.header-top-area img[src*="logo-whatsapp.svg"],
.header-top-area img[src*="messenger-logo.svg"] {
    display: block !important;
    height: 28px !important;
    width: auto !important;
    margin: 0 !important;
}

/* Painel lateral do menu móvel */
@media (max-width: 991px) {
    html.ssl-drawer-open,
    body.ssl-drawer-open {
        overflow: hidden !important;
    }

    .ssl-drawer-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(10, 22, 40, 0.46);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.35s ease, visibility 0.35s ease;
        z-index: 10020;
    }

    body.ssl-drawer-open .ssl-drawer-backdrop {
        opacity: 1;
        visibility: visible;
    }

    .header-area-b .slicknav_menu {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        background: transparent !important;
        padding: 0 18px !important;
        text-align: right !important;
    }

    .header-area-b .slicknav_nav {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: min(340px, 88vw) !important;
        height: 100vh !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 0 28px !important;
        overflow-x: hidden;
        overflow-y: auto;
        background: #ffffff !important;
        color: #16324f !important;
        text-align: left !important;
        box-shadow: -16px 0 40px rgba(0, 0, 0, 0.16);
        z-index: 10030;
        transform: translateX(104%);
        visibility: hidden;
        transition: transform 0.42s cubic-bezier(0.22, 0.8, 0.24, 1), visibility 0.42s;
    }

    body.ssl-drawer-open .header-area-b .slicknav_nav {
        transform: translateX(0);
        visibility: visible;
    }

    .header-area-b .ssl-drawer-head {
        display: block !important;
        position: sticky;
        top: 0;
        z-index: 2;
        width: 100% !important;
        height: 52px;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        border-bottom: 1px solid #e6edf4;
        list-style: none !important;
    }

    .header-area-b .ssl-drawer-head strong {
        display: none !important;
    }

    .ssl-drawer-close {
        position: absolute;
        top: 12px;
        right: 16px;
        left: auto;
        display: block;
        width: 28px;
        height: 28px;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        outline: none !important;
        cursor: pointer;
    }

    .ssl-drawer-close i {
        position: absolute;
        left: 2px;
        top: 13px;
        width: 24px;
        height: 2px;
        background: #16324f;
        border-radius: 0;
        transition: transform 0.35s ease;
    }

    body.ssl-drawer-open .ssl-drawer-close i:first-child {
        transform: rotate(45deg);
    }

    body.ssl-drawer-open .ssl-drawer-close i:last-child {
        transform: rotate(-45deg);
    }

    .header-area-b .slicknav_nav > li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        border-bottom: 1px solid #eef2f6;
    }

    body.ssl-drawer-open .header-area-b .slicknav_nav > li:not(.ssl-drawer-head) {
        animation: sslDrawerItem 0.42s ease both;
    }

    body.ssl-drawer-open .header-area-b .slicknav_nav > li:nth-child(2) { animation-delay: 0.04s; }
    body.ssl-drawer-open .header-area-b .slicknav_nav > li:nth-child(3) { animation-delay: 0.08s; }
    body.ssl-drawer-open .header-area-b .slicknav_nav > li:nth-child(4) { animation-delay: 0.12s; }
    body.ssl-drawer-open .header-area-b .slicknav_nav > li:nth-child(5) { animation-delay: 0.16s; }
    body.ssl-drawer-open .header-area-b .slicknav_nav > li:nth-child(6) { animation-delay: 0.20s; }
    body.ssl-drawer-open .header-area-b .slicknav_nav > li:nth-child(7) { animation-delay: 0.24s; }
    body.ssl-drawer-open .header-area-b .slicknav_nav > li:nth-child(8) { animation-delay: 0.28s; }
    body.ssl-drawer-open .header-area-b .slicknav_nav > li:nth-child(9) { animation-delay: 0.32s; }

    .header-area-b .slicknav_nav > li > a,
    .header-area-b .slicknav_nav > li > a.slicknav_item {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin: 0 !important;
        padding: 16px 20px !important;
        background: transparent !important;
        color: #16324f !important;
        font-family: "Poppins", sans-serif;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        text-transform: none !important;
        text-decoration: none !important;
        border-radius: 0 !important;
    }

    .header-area-b .slicknav_nav > li > a:hover,
    .header-area-b .slicknav_nav > li > a.slicknav_item:hover,
    .header-area-b .slicknav_nav > li.ssl-sub-open > a.slicknav_item {
        background: #f4f8fc !important;
        color: #124e85 !important;
    }

    .header-area-b .slicknav_nav .slicknav_item > a {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        color: inherit !important;
        font: inherit !important;
        text-decoration: none !important;
    }

    .header-area-b .slicknav_nav .slicknav_arrow {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 22px;
        width: 22px;
        height: 22px;
        margin: 0 0 0 auto !important;
        font-size: 0 !important;
        color: transparent !important;
    }

    .header-area-b .slicknav_nav .slicknav_arrow::before {
        content: "";
        width: 8px;
        height: 8px;
        border-right: 2px solid #124e85;
        border-bottom: 2px solid #124e85;
        transform: rotate(-45deg);
        transition: transform 0.3s ease;
    }

    .header-area-b .slicknav_nav > li.ssl-sub-open > .slicknav_item .slicknav_arrow::before {
        transform: rotate(45deg);
    }

    .header-area-b .slicknav_nav ul {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-height: 0;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden;
        background: #f7fafc !important;
        opacity: 0;
        visibility: hidden;
        transition: max-height 0.38s ease, opacity 0.28s ease, visibility 0.38s;
    }

    .header-area-b .slicknav_nav ul.ssl-sub-open {
        max-height: 480px;
        opacity: 1;
        visibility: visible;
    }

    .header-area-b .slicknav_nav ul li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        border: 0 !important;
    }

    .header-area-b .slicknav_nav ul li a {
        display: block !important;
        margin: 0 !important;
        padding: 12px 20px 12px 34px !important;
        background: transparent !important;
        color: #3d5166 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        text-transform: none !important;
        text-decoration: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        transform: translateX(16px);
        opacity: 0;
        transition: transform 0.35s ease, opacity 0.35s ease, color 0.2s ease;
    }

    .header-area-b .slicknav_nav ul.ssl-sub-open li a {
        transform: translateX(0);
        opacity: 1;
    }

    .header-area-b .slicknav_nav ul.ssl-sub-open li:nth-child(1) a { transition-delay: 0.05s; }
    .header-area-b .slicknav_nav ul.ssl-sub-open li:nth-child(2) a { transition-delay: 0.1s; }
    .header-area-b .slicknav_nav ul.ssl-sub-open li:nth-child(3) a { transition-delay: 0.15s; }
    .header-area-b .slicknav_nav ul.ssl-sub-open li:nth-child(4) a { transition-delay: 0.2s; }
    .header-area-b .slicknav_nav ul.ssl-sub-open li:nth-child(5) a { transition-delay: 0.25s; }

    .header-area-b .slicknav_nav ul li a:hover {
        color: #124e85 !important;
        background: transparent !important;
        padding-left: 38px !important;
    }
}

@keyframes sslDrawerItem {
    from {
        opacity: 0;
        transform: translateX(22px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Grelha de formações: a linha seguinte não entra ao lado de um título alto */
.finance-services-list > .row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.finance-services-list > .row::before,
.finance-services-list > .row::after {
    content: none;
    display: none;
}

.finance-services-list > .row > [class*="col-"] {
    display: block !important;
    float: none !important;
    height: auto !important;
}

.finance-services-list .finance-single-services {
    display: block !important;
    width: 100%;
    height: auto !important;
}

.finance-services-list .service-thumb {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    margin-bottom: 18px;
}

.finance-services-list .service-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.finance-services-list .finance-single-services h3 {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 10px !important;
}

.finance-services-list .finance-services-btn {
    display: inline-block !important;
    width: auto !important;
    max-width: max-content !important;
    align-self: flex-start !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 16px 0 0 !important;
    position: relative !important;
    line-height: 1.4 !important;
}

.finance-services-list .finance-services-btn::after {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    left: auto !important;
    transform: translateY(-50%) !important;
}
