.elementor-78 .elementor-element.elementor-element-59734a8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:14px;--padding-left:0px;--padding-right:0px;}.elementor-78 .elementor-element.elementor-element-59734a8:not(.elementor-motion-effects-element-type-background), .elementor-78 .elementor-element.elementor-element-59734a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F5;}.elementor-78 .elementor-element.elementor-element-aecd306{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-78 .elementor-element.elementor-element-75983af{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-78 .elementor-element.elementor-element-75983af.e-con{--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-78 .elementor-element.elementor-element-232ba34 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:23px;font-weight:600;color:#000000;}.elementor-78 .elementor-element.elementor-element-d6e5a72{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-78 .elementor-element.elementor-element-d6e5a72.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-mega-menu{--n-menu-divider-color:var( --e-global-color-text );}.elementor-78 .elementor-element.elementor-element-e486c26{--display:flex;}.elementor-78 .elementor-element.elementor-element-c73cde4{--display:flex;}.elementor-78 .elementor-element.elementor-element-f235446{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-color-normal:#767676;--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-78 .elementor-element.elementor-element-a809577{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-78 .elementor-element.elementor-element-717e2e6 .elementor-button{background-color:#2533F0;font-family:"Roboto", Sans-serif;font-size:16px;font-weight:600;fill:#E5E5E5;color:#E5E5E5;border-radius:12px 12px 12px 12px;padding:15px 45px 15px 45px;}.elementor-78 .elementor-element.elementor-element-717e2e6:hover{--e-transform-scale:1.03;}.elementor-78 .elementor-element.elementor-element-717e2e6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-78 .elementor-element.elementor-element-a7d1f41{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:14px;--padding-left:0px;--padding-right:0px;}.elementor-78 .elementor-element.elementor-element-a7d1f41:not(.elementor-motion-effects-element-type-background), .elementor-78 .elementor-element.elementor-element-a7d1f41 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F5;}.elementor-78 .elementor-element.elementor-element-c1369f1{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-78 .elementor-element.elementor-element-a3459a7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-78 .elementor-element.elementor-element-a3459a7.e-con{--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-78 .elementor-element.elementor-element-0a9ac46 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:23px;font-weight:600;color:#000000;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-78 .elementor-element.elementor-element-59734a8{--justify-content:space-between;--padding-top:1.5vw;--padding-bottom:1.5vw;--padding-left:3vw;--padding-right:3vw;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-78 .elementor-element.elementor-element-a7d1f41{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--padding-top:1.5vw;--padding-bottom:1.5vw;--padding-left:3vw;--padding-right:3vw;}}@media(max-width:767px){.elementor-78 .elementor-element.elementor-element-59734a8{--flex-wrap:nowrap;--padding-top:5vw;--padding-bottom:5vw;--padding-left:5vw;--padding-right:5vw;}.elementor-78 .elementor-element.elementor-element-aecd306{--width:50%;}.elementor-78 .elementor-element.elementor-element-75983af{--width:50%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-78 .elementor-element.elementor-element-d6e5a72{--width:33%;}.elementor-78 .elementor-element.elementor-element-a809577{--width:33%;}.elementor-78 .elementor-element.elementor-element-a7d1f41{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;--padding-top:5vw;--padding-bottom:5vw;--padding-left:5vw;--padding-right:5vw;}.elementor-78 .elementor-element.elementor-element-c1369f1{--width:50%;}.elementor-78 .elementor-element.elementor-element-a3459a7{--width:50%;}}@media(min-width:768px){.elementor-78 .elementor-element.elementor-element-59734a8{--content-width:1600px;}.elementor-78 .elementor-element.elementor-element-aecd306{--width:100%;}.elementor-78 .elementor-element.elementor-element-75983af{--width:19.3vw;}.elementor-78 .elementor-element.elementor-element-d6e5a72{--width:22vw;}.elementor-78 .elementor-element.elementor-element-a809577{--width:43%;}.elementor-78 .elementor-element.elementor-element-a7d1f41{--content-width:1600px;}.elementor-78 .elementor-element.elementor-element-c1369f1{--width:100%;}.elementor-78 .elementor-element.elementor-element-a3459a7{--width:19.3vw;}}@media(max-width:1024px) and (min-width:768px){.elementor-78 .elementor-element.elementor-element-aecd306{--width:100%;}.elementor-78 .elementor-element.elementor-element-75983af{--width:100%;}.elementor-78 .elementor-element.elementor-element-d6e5a72{--width:100%;}.elementor-78 .elementor-element.elementor-element-a809577{--width:100%;}.elementor-78 .elementor-element.elementor-element-c1369f1{--width:100%;}.elementor-78 .elementor-element.elementor-element-a3459a7{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-aecd306 */width: 38% !important;
flex: 0 0 38% !important;/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-75983af */width: 16% !important;
flex: 0 0 16% !important;/* End custom CSS */
/* Start custom CSS for mega-menu, class: .elementor-element-f235446 *//* =========================================
   MENU DO HEADER
   Não altera espaçamento ou posicionamento
   ========================================= */


/* LINKS */

.elementor-78 .elementor-element.elementor-element-f235446 a {
    position: relative !important;

    color: #0B1733 !important;

    font-size: 15px !important;
    font-weight: 500 !important;

    text-decoration: none !important;

    transition: color 0.25s ease !important;
}


/* =========================================
   LINHA DO HOVER
   ========================================= */

.elementor-78 .elementor-element.elementor-element-f235446 a::after {
    content: "" !important;

    position: absolute !important;

    left: 50% !important;
    bottom: -5px !important;

    width: 0;
    height: 2px;

    background: #183FE1 !important;

    border-radius: 20px;

    transform: translateX(-50%);

    transition: width 0.25s ease;
}


/* =========================================
   HOVER
   ========================================= */

.elementor-78 .elementor-element.elementor-element-f235446 a:hover {
    color: #183FE1 !important;
}

.elementor-78 .elementor-element.elementor-element-f235446 a:hover::after {
    width: 100%;
}


/* =========================================
   ITEM/PÁGINA ATUAL
   ========================================= */

.elementor-78 .elementor-element.elementor-element-f235446 .current-menu-item > a,
.elementor-78 .elementor-element.elementor-element-f235446 .current_page_item > a,
.elementor-78 .elementor-element.elementor-element-f235446 a.elementor-item-active {
    color: #183FE1 !important;
}

.elementor-78 .elementor-element.elementor-element-f235446 .current-menu-item > a::after,
.elementor-78 .elementor-element.elementor-element-f235446 .current_page_item > a::after,
.elementor-78 .elementor-element.elementor-element-f235446 a.elementor-item-active::after {
    width: 100%;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d6e5a72 */width: 28% !important;
flex: 0 0 28% !important;/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a809577 */width: 18% !important;
flex: 0 0 18% !important;

display: flex !important;
justify-content: flex-end !important;
align-items: center !important;/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-59734a8 *//* ============================================================
   HEADER CENTRAL DE APRENDIZAGEM
   Estrutura:
   header-desktop
   ├── header-busca
   ├── header-logo
   ├── header-menu
   └── header-painel

   Ordem visual:
   Logo | Busca | Menu | Painel
============================================================ */


/* ============================================================
   CONTAINER PRINCIPAL
============================================================ */

.header-desktop {
    --header-gap: 30px;
    --header-side-padding: clamp(28px, 6vw, 110px);

    width: 100% !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: var(--header-gap) !important;

    padding-top: 18px !important;
    padding-bottom: 18px !important;

    padding-left: var(--header-side-padding) !important;
    padding-right: var(--header-side-padding) !important;

    box-sizing: border-box !important;

    overflow: visible !important;
}


/* ============================================================
   ORDEM VISUAL
============================================================ */

.header-logo {
    order: 1 !important;
}

.header-busca {
    order: 2 !important;
}

.header-menu {
    order: 3 !important;
}

.header-painel {
    order: 4 !important;
}


/* ============================================================
   LOGO
============================================================ */

.header-logo {
    flex: 0 0 auto !important;

    width: auto !important;
    min-width: max-content !important;

    margin-right: 6px !important; /* respiro extra antes da busca */
}


.header-logo .elementor-heading-title {
    margin: 0 !important;

    white-space: nowrap !important;

    line-height: 1.2 !important;
}


/* ============================================================
   BUSCA
============================================================ */

.header-busca {
    flex: 1 1 500px !important;

    width: auto !important;

    min-width: 240px !important;
    max-width: 620px !important;
}


.header-busca .elementor-widget-shortcode,
.header-busca .elementor-widget-container,
.header-busca .elementor-shortcode,
.header-busca .css-search {
    width: 100% !important;

    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
}


/* ============================================================
   MENU
============================================================ */

.header-menu {
    flex: 0 0 auto !important;

    width: auto !important;
    min-width: max-content !important;
}


.header-menu .e-con,
.header-menu .e-con-inner,
.header-menu .elementor-widget,
.header-menu .elementor-widget-container,
.header-menu nav,
.header-menu ul {
    width: auto !important;
    min-width: max-content !important;
}


.header-menu nav,
.header-menu ul,
.header-menu .elementor-nav-menu,
.header-menu .elementor-nav-menu--main {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    align-items: center !important;

    gap: 30px !important; /* deixa no mesmo ritmo do header */
}


.header-menu li,
.header-menu .menu-item {
    display: block !important;

    width: auto !important;
    flex: 0 0 auto !important;

    margin: 0 !important;
}


.header-menu a,
.header-menu .elementor-item {
    display: block !important;

    width: auto !important;

    white-space: nowrap !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ============================================================
   PAINEL
============================================================ */

.header-painel {
    flex: 0 0 auto !important;

    width: auto !important;
    min-width: max-content !important;

    margin-left: 6px !important;
}


.header-painel .elementor-button-wrapper,
.header-painel .elementor-widget-button {
    width: auto !important;
}


.header-painel .elementor-button {
    white-space: nowrap !important;
}


/* ============================================================
   PROTEÇÃO ELEMENTOR
============================================================ */

.header-desktop > .e-con,
.header-desktop > .elementor-element {
    min-width: 0 !important;
}


.header-desktop .e-con {
    --width: auto;
}


/* ============================================================
   NOTEBOOKS
============================================================ */

@media (max-width: 1450px) {

    .header-desktop {
        --header-gap: 24px;
        --header-side-padding: 48px;
    }

    .header-busca {
        flex-basis: 420px !important;

        min-width: 200px !important;
        max-width: 500px !important;
    }

    .header-menu nav,
    .header-menu ul,
    .header-menu .elementor-nav-menu,
    .header-menu .elementor-nav-menu--main {
        gap: 24px !important;
    }

}


@media (max-width: 1280px) {

    .header-desktop {
        --header-gap: 18px;
        --header-side-padding: 32px;
    }

    .header-logo {
        margin-right: 4px !important;
    }

    .header-busca {
        flex: 1 1 320px !important;

        min-width: 170px !important;
        max-width: 400px !important;
    }

    .header-menu nav,
    .header-menu ul,
    .header-menu .elementor-nav-menu,
    .header-menu .elementor-nav-menu--main {
        gap: 18px !important;
    }

}


@media (max-width: 1150px) {

    .header-desktop {
        --header-gap: 14px;
        --header-side-padding: 24px;
    }

    .header-busca {
        flex: 1 1 240px !important;

        min-width: 140px !important;
        max-width: 300px !important;
    }

    .header-menu nav,
    .header-menu ul,
    .header-menu .elementor-nav-menu,
    .header-menu .elementor-nav-menu--main {
        gap: 14px !important;
    }

}


/* ============================================================
   TABLET / MOBILE
============================================================ */

@media (max-width: 1024px) {

    .header-desktop {
        display: none !important;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c1369f1 */width: 38% !important;
flex: 0 0 38% !important;/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a3459a7 */width: 16% !important;
flex: 0 0 16% !important;/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a7d1f41 *//* ============================================================
   HEADER RESPONSIVO
   TABLET + MOBILE
   Título em cima / Busca embaixo
============================================================ */


/* ============================================================
   DESKTOP
============================================================ */

@media (min-width: 1025px) {

    .header-mobile {
        display: none !important;
    }

}


/* ============================================================
   TABLET + MOBILE
============================================================ */

@media (max-width: 1024px) {

    .header-mobile {
        display: flex !important;
        flex-direction: column !important;

        align-items: center !important;
        justify-content: flex-start !important;

        width: 100% !important;
        max-width: 100% !important;

        min-height: 0 !important;
        height: auto !important;

        gap: 14px !important;

        margin: 0 !important;

        padding:
            18px
            clamp(16px, 5vw, 40px) !important;

        box-sizing: border-box !important;

        visibility: visible !important;
        opacity: 1 !important;

        overflow: visible !important;
    }


    /* ========================================================
       LOGO / TÍTULO
    ======================================================== */

    .header-mobile-logo {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 auto !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    .header-mobile-logo .elementor-widget-heading,
    .header-mobile-logo .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;
    }


    .header-mobile-logo .elementor-heading-title {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;

        font-size: 20px !important;
        font-weight: 700 !important;

        line-height: 1.2 !important;

        white-space: nowrap !important;
    }


    /* ========================================================
       CONTAINER DA BUSCA
    ======================================================== */

    .mobile-busca {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        flex: 0 0 auto !important;

        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        align-self: stretch !important;
    }


    /* ========================================================
       WIDGET / SHORTCODE
    ======================================================== */

    .mobile-busca .elementor-widget-shortcode,
    .mobile-busca .elementor-widget-container,
    .mobile-busca .elementor-shortcode {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* ========================================================
       BUSCA
    ======================================================== */

    .mobile-busca .css-search,
    .mobile-busca .css-search-field-wrap {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    .mobile-busca .css-search-input {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        height: 42px !important;

        margin: 0 !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       REMOVE LARGURAS HERDADAS DO ELEMENTOR
    ======================================================== */

    .header-mobile > .e-con,
    .header-mobile > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
    }

}


/* ============================================================
   TABLET
============================================================ */

@media (min-width: 768px) and (max-width: 1024px) {

    .header-mobile {
        padding:
            20px
            40px !important;
    }


    .header-mobile-logo
    .elementor-heading-title {
        font-size: 22px !important;
    }


    .mobile-busca {
        width: 100% !important;
        max-width: 760px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 767px) {

    .header-mobile {
        padding:
            16px
            16px !important;

        gap: 12px !important;
    }


    .header-mobile-logo
    .elementor-heading-title {
        font-size: 18px !important;
    }


    .mobile-busca {
        max-width: 100% !important;
    }

}


/* ============================================================
   MOBILE PEQUENO
============================================================ */

@media (max-width: 390px) {

    .header-mobile {
        padding:
            14px
            14px !important;
    }


    .header-mobile-logo
    .elementor-heading-title {
        font-size: 17px !important;
    }


    .mobile-busca
    .css-search-input {
        height: 40px !important;
    }

}/* End custom CSS */