@charset "utf-8";
/* Header, footer e breadcrumb dos cursos de Pos e Livres.
   Reutiliza os estilos de curso-graduacao-afiliado.css apenas nestes componentes.
   Esta folha e carregada somente nas paginas de detalhes dos cursos. */

@font-face {
    font-family: "Courgettea";
    src: url("../fonts/Courgette-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Cabecalho de Graduacao. */
:where(header.container.bgWhite),
:where(header.container.bgWhite) * {
    font-family: 'Rubik', sans-serif;
}

@media screen and (max-width:720px) {
:where(header.container.bgWhite) .areaAdmtxt {
        left: 7px !important;
        display: none !important;
    }

:where(header.container.bgWhite) .navFlex {
        display: grid;
        flex-direction: row;
        align-items: center;
    }

:where(header.container.bgWhite) .floatMob {
        float: left !important;
    }

:where(header.container.bgWhite) .wdLogo {
        width: 230px !important;
    }

:where(header.container.bgWhite) .btnColp {
        z-index: 1000000000000;
        display: inline;
        position: absolute;
        right: 10px;
        height: 35px;
        top: 10px;
    }

:where(header.container.bgWhite) li.dropdown {
        width: 95%;
    }

:where(header.container.bgWhite) .navAlgn {
        display: flex;
        flex-direction: column !important;
        align-items: center !important;
        position: relative;
        top: 288px;
        background: white;
        color: white;
        border-radius: 10px;
        min-height: 520px;
    }

:where(header.container.bgWhite) .navAlgn li a {
        margin-top: 5px;
        text-align: center;
    }

:where(header.container.bgWhite) li a.btnSouAluno {
        color: white !important;
        border-radius: 11px;
        background: #DA284A;
        margin-left: 20px;
        left: 0px !important;
    }

:where(header.container.bgWhite) .navbar-default .navbar-toggle {
        border-color: #193265;
    }

:where(header.container.bgWhite) .navbar-default .navbar-toggle:focus,
:where(header.container.bgWhite) .navbar-default .navbar-toggle:hover {
        background-color: #fff;
    }

:where(header.container.bgWhite) .navbar-default .navbar-toggle .icon-bar {
        background-color: #193265;
    }

:where(header.container.bgWhite) .navbar-collapse {
        position: absolute;
        z-index: 10000;
        width: calc(100% - 0px);
        margin-top: -5px;
    }

:where(header.container.bgWhite) button.navbar-toggle {
        float: none;
        margin: 8px auto;
        display: block;
    }
}

:where(header.container.bgWhite) .btn {
    border-radius: 40px;
}

:where(header.container.bgWhite) li {
    font-family: 'Rubik', sans-serif !important;
}

:where(header.container.bgWhite) .navbar-toggle .icon-bar {
    background: white;
}

:where(header.container.bgWhite) button.navbar-toggle div {
    background: #fff;
    border-radius: 4px;
    padding: 10px !important;
    margin-right: 15px;
    margin-top: -5px;
}

:where(header.container.bgWhite) .navbar-toggle span.icon-bar {
    background: #a83b3e;
}

:where(header.container.bgWhite) button.navbar-toggle .sr-only {
    color: white;
}

:where(header.container.bgWhite) button.navbar-toggle {
    padding: 5px 10px;
}

:where(header.container.bgWhite) ul {
    color: #051830;
    text-transform: uppercase;
    font-size: 16px;
}

:where(header.container.bgWhite).pd-10,
:where(header.container.bgWhite) .pd-10 {
    padding: 10px;
}

:where(header.container.bgWhite) .bgNavWhite {
    background: #fff;
    border-color: transparent;
    margin-bottom: 10px;
    margin-top: 10px;
    text-transform: none !important;
}

:where(header.container.bgWhite) .navAlgn {
    display: flex;
    flex-direction: row;
    align-items: center;
}

:where(header.container.bgWhite) .navFlex {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

:where(header.container.bgWhite) .navAlgn li a {
    color: #000 !important;
    font-size: 17px;
    letter-spacing: -0.5px;
    padding: 10px 15px;
    border-radius: 5px;
    transition: all 0.3s ease-in-out 0s;
}

:where(header.container.bgWhite) .navAlgn li a:hover {
    color: #acacac;
    text-decoration: none;
}

:where(header.container.bgWhite) .navAlgn li a.active {
    color: #acacac;
    text-decoration: none;
}

:where(header.container.bgWhite) .navAlgn li a.active:hover {
    color: #acacac;
    text-decoration: none;
}

:where(header.container.bgWhite) li a.btnSouAluno {
    color: white !important;
    border-radius: 11px;
    background: #DA284A;
    position: relative;
}

:where(header.container.bgWhite) li a.btnSouAluno:hover {
    color: white !important;
    border-radius: 11px;
    background: #ad203b  !important;
    position: relative;
}

:where(header.container.bgWhite) li a.btnSouAluno:focus {
    color: white !important;
    border-radius: 11px;
    background: #ad203b  !important;
    position: relative;
}

:where(header.container.bgWhite) .d-flex {
    display: flex;
}

:where(header.container.bgWhite) .areaAdmtxt {
    justify-content: center;
    position: absolute;
    left: 13px;
    top: -30px;
    padding-top: 0;
    margin-top: 0;
    font-size: 12px !important;
    margin-bottom: 0px;
    padding-bottom: 7px;
    text-decoration: underline;
    width: 100%;
}

@media (max-width: 768px) {
:where(header.container.bgWhite) li a.btnSouAluno {
        margin-top: 20px;
    }

:where(header.container.bgWhite) a.d-flex.areaAdmtxt {
        margin-top: 20px;
    }

:where(header.container.bgWhite) div[style*="display: flex; justify-content: space-between;"] {
        display: flex;
        flex-wrap: wrap; 
        justify-content: center; 
        gap: 10px; 
    }
}

@media (max-width: 1199.98px) {
header.container.bgWhite .navFlex {
        display: block;
    }

header.container.bgWhite .navbar-header {
        display: flex;
        float: none;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

header.container.bgWhite .navbar-header::before,
header.container.bgWhite .navbar-header::after {
        display: none;
        content: none;
    }

header.container.bgWhite .navbar-toggle {
        display: block;
        position: static;
        float: none;
        flex-shrink: 0;
        z-index: auto;
        margin: 8px 0 8px 16px;
    }

header.container.bgWhite .navbar-collapse {
        position: static;
        float: none;
        width: 100%;
        max-height: none;
        margin: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
        background: #fff;
    }

header.container.bgWhite .navbar-collapse.collapse:not(.in) {
        display: none !important;
    }

header.container.bgWhite .navbar-collapse.collapse.in {
        display: block !important;
        overflow: visible !important;
    }

header.container.bgWhite .navAlgn {
        position: static;
        display: flex;
        float: none;
        align-items: stretch !important;
        flex-direction: column !important;
        margin: 12px 0;
        min-height: 0;
        top: auto;
    }

header.container.bgWhite .navAlgn > li,
header.container.bgWhite .dropdown-menu > li {
        float: none;
        width: 100%;
    }

header.container.bgWhite .navAlgn a {
        text-align: left;
        white-space: normal;
        overflow-wrap: anywhere;
    }

header.container.bgWhite .navAlgn > li > a {
        min-height: 44px;
    }

header.container.bgWhite .dropdown-menu {
        position: static;
        float: none;
        width: 100%;
        max-width: 100%;
        border: 0;
        box-shadow: none;
    }

header.container.bgWhite .areaAdmtxt {
        position: static;
        display: block !important;
        margin: 8px 0;
        padding: 10px 15px;
        text-align: left;
    }

header.container.bgWhite .btnSouAluno {
        margin: 8px 0;
        text-align: center;
    }
}

@media (max-width: 768px) {
header.container.bgWhite {
        width: 100%;
        max-width: 100%;
        padding: 12px;
    }

header.container.bgWhite .navbar {
        min-height: 0;
        margin: 0;
        border: 0;
    }

header.container.bgWhite .navbar-toggle {
        margin: 0;
    }

header.container.bgWhite .wdLogo {
        width: 190px !important;
        max-width: 100%;
        height: auto;
    }
}

@media (max-width: 425px) {
header.container.bgWhite .wdLogo {
        width: 160px !important;
    }
}

/* Rodape de Graduacao. */
:where(footer.rodapePadd),
:where(footer.rodapePadd) * {
    font-family: 'Rubik', sans-serif;
}

:where(footer.rodapePadd) p,
:where(footer.rodapePadd) li {
    font-family: 'Rubik', sans-serif !important;
}

:where(footer.rodapePadd) h2 {
    font-weight: bold;
}

:where(footer.rodapePadd) .white-background {
    background-color: #fff !important;
    padding: 20px !important;
}

:where(footer.rodapePadd) .destaqueRed {
    color: red;
}

:where(footer.rodapePadd) .justify-content-between {
    justify-content: space-between !important;
}

:where(footer.rodapePadd) .blue-background {
    background-color: #051830 !important;
    color: #fff !important;
    padding: 15px !important;
}

:where(footer.rodapePadd) .text-footer-acreditamos {
    color: #051830;
    text-align: left;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 198%;
    letter-spacing: -.313px;
    text-transform: capitalize;
    font-family: "Courgettea" !important;
}

:where(footer.rodapePadd) .tituloRodape {
    font-weight: 700;
    text-align: left;
    color: #000;
    font-size: 16px;
    border-bottom: solid #000 1px;
    padding-bottom: 10px;
    margin-right: 20px;
    text-transform: uppercase;
}

:where(footer.rodapePadd) .text-left {
    text-align: left;
}

:where(footer.rodapePadd) .lirodape {
    text-align: left;
    font: 1.1rem;
    display: block !important;
}

:where(footer.rodapePadd) .atxtrodape {
    color: #000;
    font-size: 15px;
    text-decoration: none;
    text-transform: uppercase;
}

:where(footer.rodapePadd) p,
:where(footer.rodapePadd) ul {
    color: #051830;
    text-transform: uppercase;
    font-size: 16px;
}

:where(footer.rodapePadd) .m-0 {
    margin: 0 !important;
}

:where(footer.rodapePadd) .p-0 {
    padding: 0 !important;
}

:where(footer.rodapePadd) .mb-4 {
    margin-bottom: 40px;
}

:where(footer.rodapePadd) .d-flex {
    display: flex;
}

@media (max-width: 768px) {
:where(footer.rodapePadd) div[style*="display: flex; justify-content: space-between;"] {
        display: flex;
        flex-wrap: wrap; 
        justify-content: center; 
        gap: 10px; 
    }
}

:where(footer.rodapePadd) .cbh-phone {display:block;position:fixed; left: 89%;
    bottom: -1%; visibility:hidden;background-color:transparent;width:200px;height:200px;cursor:pointer;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transition:visibility .5s;-moz-transition:visibility .5s;-o-transition:visibility .5s;transition:visibility .5s; z-index: 9999;}

:where(footer.rodapePadd) .cbh-phone.cbh-show {visibility:visible}

:where(footer.rodapePadd) .cbh-ph-circle {width:110px;height:110px;top:40px;left:40px;position:absolute;background-color:transparent;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;border:2px solid rgba(30,30,30,.4);opacity:.1;-webkit-animation:cbh-circle-anim 1.2s infinite ease-in-out;-moz-animation:cbh-circle-anim 1.2s infinite ease-in-out;-ms-animation:cbh-circle-anim 1.2s infinite ease-in-out;-o-animation:cbh-circle-anim 1.2s infinite ease-in-out;animation:cbh-circle-anim 1.2s infinite ease-in-out;-webkit-transition:all .5s;-moz-transition:all .5s;-o-transition:all .5s;transition:all .5s}

:where(footer.rodapePadd) .cbh-phone.cbh-static .cbh-ph-circle {-webkit-animation:cbh-circle-anim 2.2s infinite ease-in-out!important;-moz-animation:cbh-circle-anim 2.2s infinite ease-in-out!important;-ms-animation:cbh-circle-anim 2.2s infinite ease-in-out!important;-o-animation:cbh-circle-anim 2.2s infinite ease-in-out!important;animation:cbh-circle-anim 2.2s infinite ease-in-out!important}

:where(footer.rodapePadd) .cbh-phone.cbh-green .cbh-ph-circle {border-color:rgba(0,175,242,1);opacity:.5}

:where(footer.rodapePadd) .cbh-ph-circle-fill {width:74px;height:74px;top:58px;left:58px;position:absolute;background-color:#000;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;border:2px solid transparent;opacity:.1;-webkit-animation:cbh-circle-fill-anim 2.3s infinite ease-in-out;-moz-animation:cbh-circle-fill-anim 2.3s infinite ease-in-out;-ms-animation:cbh-circle-fill-anim 2.3s infinite ease-in-out;-o-animation:cbh-circle-fill-anim 2.3s infinite ease-in-out;animation:cbh-circle-fill-anim 2.3s infinite ease-in-out;-webkit-transition:all .5s;-moz-transition:all .5s;-o-transition:all .5s;transition:all .5s}

:where(footer.rodapePadd) .cbh-phone.cbh-static .cbh-ph-circle-fill {-webkit-animation:cbh-circle-fill-anim 2.3s infinite ease-in-out!important;-moz-animation:cbh-circle-fill-anim 2.3s infinite ease-in-out!important;-ms-animation:cbh-circle-fill-anim 2.3s infinite ease-in-out!important;-o-animation:cbh-circle-fill-anim 2.3s infinite ease-in-out!important;animation:cbh-circle-fill-anim 2.3s infinite ease-in-out!important;opacity:0!important}

:where(footer.rodapePadd) .cbh-phone.cbh-green .cbh-ph-circle-fill {background-color:rgba(0,175,242,.5);opacity:.75!important}

:where(footer.rodapePadd) .cbh-ph-img-circle1 {width:50px;height:50px;top:70px;left:70px;position:absolute;background-image:url(https://www.cursosbr.com.br/images/wpp-icon.png);background-size: 40px 40px;background-color:rgba(30,30,30,.1);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;border:2px solid transparent;opacity:1;-webkit-animation:cbh-circle-img-anim 1s infinite ease-in-out;-moz-animation:cbh-circle-img-anim 1s infinite ease-in-out;-ms-animation:cbh-circle-img-anim 1s infinite ease-in-out;-o-animation:cbh-circle-img-anim 1s infinite ease-in-out;animation:cbh-circle-img-anim 1s infinite ease-in-out}

:where(footer.rodapePadd) .cbh-phone.cbh-static .cbh-ph-img-circle1 {-webkit-animation:cbh-circle-img-anim 0s infinite ease-in-out!important;-moz-animation:cbh-circle-img-anim 0s infinite ease-in-out!important;-ms-animation:cbh-circle-img-anim 0s infinite ease-in-out!important;-o-animation:cbh-circle-img-anim 0s infinite ease-in-out!important;animation:cbh-circle-img-anim 0s infinite ease-in-out!important}

:where(footer.rodapePadd) .cbh-phone.cbh-green .cbh-ph-img-circle1 {background-color:rgba(0,175,242,1)}

:where(footer.rodapePadd) .cbh-phone.cbh-green .cbh-ph-img-circle1 {background-color:rgba(0,175,242,1)}

:where(footer.rodapePadd) .cbh-ph-img-circle1 {}

:where(footer.rodapePadd) .cbh-phone.cbh-green .cbh-ph-circle {border-color: rgb(0, 242, 164)}

:where(footer.rodapePadd) .cbh-phone.cbh-green .cbh-ph-circle-fill {background-color: rgb(0, 242, 164);}

:where(footer.rodapePadd) .cbh-phone.cbh-green .cbh-ph-img-circle1 {background-color:rgb(46, 203, 113);}

@media screen and (max-width: 1200px) {
:where(footer.rodapePadd) .cbh-phone {
        left: 80%;
        bottom: -5%;
    }
}

@media screen and (max-width: 620px) {
:where(footer.rodapePadd) .cbh-phone {
        left: 70%;
        bottom: -5%;
    }
}

@media screen and (max-width: 500px) {
:where(footer.rodapePadd) .cbh-phone {
        left: 61%;
        bottom: -5%;
    }
}

:where(footer.rodapePadd) .m-0 {
    margin: 0 !important;
}

:where(footer.rodapePadd) .container.d-flex.justify-content-between > a {
    color: white;
}

/* Breadcrumb de Graduacao. */
.migalha {
    background-color: #f2f2f2;
    font-size: 14px;
    padding: 10px 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
}

.migalha .breadcrumb {
    margin-top: 20px;
    --padding-x: 20px;
    padding-left: var(--padding-x);
    padding-right: var(--padding-x);
}

:where(.migalha) > ol {
    color: #051830;
    text-transform: uppercase;
    font-size: 16px;
}

.migalha {
    padding: 10px;
}

.migalha > .breadcrumb {
    width: 100%;
    max-width: 1170px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-wrap: normal;
}

.migalha > .breadcrumb > .breadcrumb-item {
    display: inline;
    white-space: nowrap;
}

@media (min-width: 769px) {
.migalha {
        padding: 10px 0;
    }
}

@media (min-width: 769px) and (max-width: 991.98px) {
.migalha > .breadcrumb {
        width: 750px;
        max-width: 100%;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
.migalha > .breadcrumb {
        width: calc(100% - 32px);
    }
}

@media (max-width: 768px) {
.migalha > .breadcrumb {
        font-size: 14px;
    }
}

/* Divisoria de 10px, sem campos ou texto de busca. */
.bg-local2.divisoria-curso-afiliado {
    min-height: 10px;
}

/* Mantem a tipografia de Graduacao mesmo com o CSS antigo de Cursos Livres. */
header.container.bgWhite,
footer.rodapePadd {
    font-size: 14px;
    line-height: 1.42857143;
}

footer.rodapePadd .txtDir,
footer.rodapePadd .txtPol,
footer.rodapePadd .txtrodape,
footer.rodapePadd .porttxt {
    font-size: inherit;
    font-weight: inherit;
}

footer.rodapePadd .porttxt {
    color: inherit;
}

footer.rodapePadd .lirodape {
    font-size: inherit !important;
}

footer.rodapePadd .mblogo {
    max-width: none !important;
}

@media (max-width: 479px) {
    header.container.bgWhite,
    footer.rodapePadd {
        font-size: 3.2vw;
    }
}

/* Precos e inscricao: mesmo respiro e ajuste de largura de Polos. */
.bordFormPos .payment-offer-bar {
    padding-right: 10px;
    padding-left: 10px;
}

.bordFormPos .payment-offer-bar > .classPag {
    min-width: 0;
}

.bordFormPos .payment-offer-bar .payment-offer-grid {
    min-width: 0;
    gap: 16px;
}

/* Abaixo do desktop, os valores e o botao seguem empilhados como em Polos. */
@media (max-width: 1199.98px) {
    .bordFormPos .payment-offer-bar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px;
    }

    .bordFormPos .payment-offer-bar > .classPag,
    .bordFormPos .payment-offer-bar .payment-offer-grid {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        gap: 12px;
    }

    .bordFormPos .payment-offer-bar > #btnInscrever {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin: 0 !important;
    }
}

/* Grade de Pos: fundo de ponta a ponta; espacamento so no conteudo interno. */
.grade-curricular-afiliado.col-lg-12 {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}

.grade-curricular-afiliado > .grade-curricular-hub {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-bottom: 0;
}

.grade-curricular-afiliado .grade-curricular-hub__content.container {
    max-width: 100%;
    min-width: 0;
    padding-right: clamp(20px, 5vw, 70px);
    padding-left: clamp(20px, 5vw, 70px);
}

@media (max-width: 992px) {
    .grade-curricular-afiliado .grade-curricular-hub__content.container {
        padding-right: 18px;
        padding-left: 18px;
    }
}

/* Continuidade entre a grade e a area de informacoes, apenas no curso de Pos. */
.grade-curricular-afiliado ~ .areaConteudoCurso {
    padding-top: 12px;
    padding-right: 45px;
    background: #f2f2f2;
    padding-bottom: 60px;
    padding-left: 45px;
    margin-top: 0;
}

/* Informacoes de Pos com a tipografia e os respiros usados em Graduacao. */
.grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso.container {
    width: 100%;
    max-width: 1170px;
    min-width: 0;
    padding: 15px;
    margin: 0 auto;
    background: #fff;
    border-radius: 20px;
    overflow-wrap: break-word;
}

.grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso h4 {
    padding: 0;
    margin: 20px 0 10px;
    color: #002958;
    font-size: 31px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.12963;
    letter-spacing: -.626px;
    text-transform: uppercase;
}

.grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso h4 strong {
    color: inherit;
}

.grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso p,
.grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso ol,
.grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso ul,
.grade-curricular-afiliado ~ .areaConteudoCurso .motivoFasul,
.grade-curricular-afiliado ~ .areaConteudoCurso .motivoVantFasul {
    color: #051830;
    font-size: 16px;
    line-height: 1.42857143;
    text-align: left;
    text-transform: uppercase;
}

.grade-curricular-afiliado ~ .areaConteudoCurso .motivoVantFasul {
    margin-bottom: 16px;
}

.grade-curricular-afiliado ~ .areaConteudoCurso .motivoVantFasul b {
    font-size: inherit;
}

.grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso > br,
.grade-curricular-afiliado ~ .areaConteudoCurso .listadeMotivos > br {
    display: none;
}

@media (max-width: 768px) {
    .grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso h4 {
        font-size: 24px;
    }

    .grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso p,
    .grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso ol,
    .grade-curricular-afiliado ~ .areaConteudoCurso .informacoeSobreCurso ul,
    .grade-curricular-afiliado ~ .areaConteudoCurso .motivoFasul,
    .grade-curricular-afiliado ~ .areaConteudoCurso .motivoVantFasul {
        font-size: 14px;
    }
}

@media (max-width: 425px) {
    .grade-curricular-afiliado ~ .areaConteudoCurso {
        padding-right: 20px;
        padding-left: 20px;
    }
}

/* Abertura de Pos: colunas fluidas, sem os recuos negativos da grade antiga. */
body:has(.pagina-curso-pos) footer.rodapePadd .container {
    max-width: 100%;
}

body:has(.pagina-curso-pos) footer.rodapePadd .row > [class*="col-"] {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
}

.pagina-curso-pos .conteudo-prog > [class*="col-"] {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
}

.pagina-curso-pos .conteudo-prog .btnInscFormPos {
    max-width: 100%;
    white-space: normal;
}

.areaTituloCursoPos > .container,
.pagina-curso-pos > .container {
    width: calc(100% - 32px);
    max-width: 1320px;
    margin-right: auto;
    margin-left: auto;
}

.pagina-curso-pos .curso-pos-abertura {
    margin-right: 0;
    margin-left: 0;
    justify-content: space-between;
}

.pagina-curso-pos .curso-pos-abertura::before,
.pagina-curso-pos .curso-pos-abertura::after,
.pagina-curso-pos .bgFndPosCin > .row::before,
.pagina-curso-pos .bgFndPosCin > .row::after {
    display: none;
}

.pagina-curso-pos .curso-pos-abertura > .col-lg-4,
.pagina-curso-pos .curso-pos-abertura > .col-lg-8 {
    min-width: 0;
    padding-right: 0;
    padding-left: 0;
}

.pagina-curso-pos .curso-pos-abertura > .col-lg-4 {
    width: 100%;
}

.pagina-curso-pos .curso-pos-abertura > .col-lg-8 {
    width: 100%;
}

.pagina-curso-pos .curso-pos-abertura > .col-lg-4 > .img-fluid {
    display: block;
    width: 100%;
    max-width: 640px;
    height: auto;
    margin-right: auto;
    margin-left: auto;
}

.pagina-curso-pos .curso-pos-abertura > .col-lg-4 > .icon-text-container:not(.bgFndPosCin) {
    display: none;
}

.pagina-curso-pos .bgFndPosCin {
    width: 100%;
    max-width: 640px;
    padding: 16px 0;
    margin: 0 auto;
}

.pagina-curso-pos .bgFndPosCin > .row {
    margin: 0;
    gap: 12px;
}

.pagina-curso-pos .bgFndPosCin .flexmbrow {
    flex: 1 1 0;
    min-width: 0;
}

.pagina-curso-pos .icon-text-item {
    gap: 8px;
    min-width: 0;
}

.pagina-curso-pos .icon-text-item img {
    flex-shrink: 0;
    width: clamp(24px, 2.1vw, 30px);
    max-height: 30px;
    height: auto;
    object-fit: contain;
    margin-right: 0;
}

.pagina-curso-pos .txtDetPos {
    font-size: clamp(12px, 1.1vw, 16px);
    line-height: 1.35;
    overflow-wrap: break-word;
}

.areaTituloCursoPos h1 {
    font-size: clamp(30px, 2.5vw, 45px);
    line-height: 1.2;
    overflow-wrap: break-word;
}

.areaTituloCursoPos .parent-pos-info {
    flex-wrap: wrap;
}

.areaTituloCursoPos .tipoCursoTitulo {
    font-size: clamp(14px, 1.4vw, 20px);
}

.areaTituloCursoPos .flagTipoPos {
    font-size: clamp(10px, 1vw, 14px);
    line-height: 1.2;
    padding: 8px 12px;
}

.pagina-curso-pos .bordFormPos .headertxtPromo,
.pagina-curso-pos .bordFormPos .promo-text {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    margin: 0 !important;
    padding: 12px 14px !important;
    line-height: 1.3 !important;
}

.pagina-curso-pos .bordFormPos .headertxtPromo {
    font-size: clamp(16px, 1.9vw, 27px) !important;
}

.pagina-curso-pos .bordFormPos .promo-text {
    font-size: clamp(10px, 1.2vw, 17px) !important;
}

.pagina-curso-pos .bordFormPos .lbform {
    font-size: clamp(11px, .9vw, 13px);
}

.pagina-curso-pos .bordFormPos .form-control {
    font-size: clamp(13px, 1vw, 15px);
}

/* Precos lado a lado em telas intermediarias, como solicitado. */
@media (min-width: 621px) and (max-width: 1199.98px) {
    .bordFormPos .payment-offer-bar > .classPag,
    .bordFormPos .payment-offer-bar .payment-offer-grid {
        justify-content: space-between;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        gap: 0;
    }
}

@media (min-width: 621px) {
    .pagina-curso-pos .bordFormPos .offer-price-stack--monthly,
    .pagina-curso-pos .bordFormPos .offer-price-stack--pix {
        min-width: 0;
    }

    .pagina-curso-pos .bordFormPos .offer-price-stack .porTxtFormPos {
        font-size: clamp(15px, 1.25vw, 18px) !important;
    }

    .pagina-curso-pos .bordFormPos .offer-price-stack .deTxtFormPos,
    .pagina-curso-pos .bordFormPos .offer-price-stack--pix .pix-label {
        font-size: clamp(12px, 1vw, 15px);
    }
}

@media (min-width: 1200px) {
    body:has(.pagina-curso-pos) header.container.bgWhite,
    body:has(.pagina-curso-pos) footer.rodapePadd .container {
        width: calc(100% - 32px);
        max-width: 1320px;
        margin-right: auto;
        margin-left: auto;
    }

    .pagina-curso-pos .curso-pos-abertura {
        column-gap: 24px;
    }

    .pagina-curso-pos .curso-pos-abertura > .col-lg-4 {
        flex: 0 0 calc((100% - 24px) * 2 / 5);
        width: calc((100% - 24px) * 2 / 5);
    }

    .pagina-curso-pos .curso-pos-abertura > .col-lg-8 {
        flex: 0 0 calc((100% - 24px) * 3 / 5);
        width: calc((100% - 24px) * 3 / 5);
    }

    .pagina-curso-pos .bordFormPos .payment-offer-bar {
        flex-wrap: wrap;
    }

    .pagina-curso-pos .bordFormPos .payment-offer-bar > .classPag {
        flex: 1 1 550px;
    }

    .pagina-curso-pos .bordFormPos .payment-offer-bar > #btnInscrever {
        flex: 1 1 180px;
        width: clamp(180px, 17vw, 255px);
        min-width: 0;
        font-size: clamp(16px, 1.25vw, 18px);
        padding-right: 16px;
        padding-left: 16px;
    }
}

@media (max-width: 768px) {
    .areaTituloCursoPos > .container,
    .pagina-curso-pos > .container {
        width: calc(100% - 24px);
    }

    .areaTituloCursoPos h1 {
        font-size: clamp(24px, 4vw, 30px);
        margin: 16px 0 12px;
    }
}

/* Cursos Livres: titulo antes das colunas e respiro depois do breadcrumb. */
body:has(.container.curso) footer.rodapePadd .container {
    max-width: 100%;
}

body:has(.container.curso) footer.rodapePadd .row > [class*="col-"] {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
}

.container.curso {
    padding-top: 24px;
}

.container.curso > .tituloPrincipalInternas {
    clear: both;
    width: 100%;
    padding: 0 15px 20px;
}

.container.curso > .tituloPrincipalInternas h1 {
    margin: 0;
}

.container.curso #formularioMatricula .btnMatricula {
    max-width: 100%;
    min-height: 44px;
    padding: 12px 18px;
    font-size: clamp(14px, 1.3vw, 16px);
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: break-word;
    align-items: center;
}

@media (max-width: 991px) {
    .container.curso .imagemCurso {
        display: block;
        width: 100%;
        min-width: min(320px, 100%);
        max-width: 520px;
        height: auto;
        margin-right: auto;
        margin-left: auto;
    }

    .container.curso .avisoFormularioCadastro {
        width: 100%;
        max-width: 520px;
        margin-right: auto;
        margin-left: auto;
    }

    .container.curso .avisoFormularioCadastro .linkVerCurso {
        margin-right: auto;
        margin-left: auto;
    }

    .container.curso > .col-lg-6.col-sm-12 {
        margin-bottom: 20px;
    }

    .container.curso > .col-lg-6.col-sm-12 > .img-responsive {
        display: block;
        max-width: 100%;
        height: auto;
        margin-right: auto;
        margin-left: auto;
    }
}
