@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');@import url('boot.css');
@import url('boot.css');
@import url('../plugins/bootstrap/css/bootstrap.min.css');
@import url('../font/font-awesome/css/all.min.css');

*{
    padding: 0px;
    margin: 0px;
}
:root {
    --radius: 12px;
    --cor-verde: #3CB89E;
}
html{
    width: 100%;
    height: 100%;
    font-size: 15px;
    scroll-behavior: smooth;
}
:target {
    scroll-margin-top: .8em;
}
::placeholder{
    color: #ccc !important;
}
body{
    color: #fff;
    height: 100%;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    background: #2B143D;
}

/*REMOVE AS MARGINS NO MOBILE*/
@media (max-width: 576px) {
    .mobile-no-margin {
        margin-right: -1rem !important;
        margin-left: -1rem !important;
        border-radius: 0px !important;
        border-left: 0px !important;
        border-right: 0px !important;
    }
    .hmd{
        display: none;
    }
}
@media (max-width: 768px) {
    .hsm{
        display: none;
    }
}


.max-line-3 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.max-line-2 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.max-line-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

section{
    padding-top: 60px;
    padding-bottom: 60px;
}
@media(max-width: 576px){
    padding-top: 45px;
    padding-bottom: 45px;
}


a{
    color: #2B143D;
}
a:hover{
    color: #000;
}
h1,h2, h3, h4, h5, h6{
    font-optical-sizing: auto;
    font-style: normal;
}


/*HEADER*/
header{
    padding-top: 30px;
    position: relative;
    z-index: 5;
}

header .navbar{
    padding: 24px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0px 25px 50px -12px rgba(0, 0, 0, 0.25), 0px 0px 15px 0px rgba(0, 0, 0, 0.07);
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    display: flex;
}
header .navbar-brand{
    padding: 0px;
}
header .navbar-brand img{
    border-radius: 8px;
}
header  .navbar-nav .nav-link{
    color: #fff !important;
    font-size: 1.07rem;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.5px;
    padding-left: 16px !important;
    padding-right: 16px !important;
    display: inline-block;
}


@media (max-width: 768px){
    header{
        padding-top: 30px;
    }
}
@media (max-width: 576px){
    header .navbar-brand img{
        height: 58px !important;
    }
}

.btn-padrao{
    font-size: 1.07rem;
    color: #fff;
    padding: 12px 24px;
    border-radius: 8px;
    border: 2px solid #15B062;
    background: #15B062;
}

.btn-padrao:hover{
    color: #fff;
    background: #015c30;
    border-color: #015c30;
}

img.rounded{
    border-radius: 20px !important;
}

section{
    position: relative;
}
.bg-roxo-escuro{
     background: #1B0D27;
    color: #fff;
}
.bg-roxo-medio{
    background: #2B143D;
    color: #fff;
}
.bg-roxo-claro{
    background: #401F59;
    color: #fff;
}
.bg-fundo-osc:after,
.bg-fundo-osc:before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
}
.bg-fundo-osc:before {
    z-index: -1;
    background: url(../img/fundo-destaque3.png) right top no-repeat;
    background-size: cover;
}
.bg-fundo-osc:after{
    z-index: -2;
    background: #401F59;
}

.text-success{
    color: #15B062;
}

ul,li,
p{
    font-size: 1.27rem;
    font-weight: 300;
    line-height: 1.6em;
}
strong{
    font-weight: 700;
}


.page-title{
    padding-bottom: 30px;
    font-family: "Inter", serif;
}

.page-title h2{
    font-size: 3.47rem;
    font-weight: 700;
}
.page-title h2 span{
    color:  #A21CAF;
}
.page-title p{
    font-size: 1.6rem;
    font-weight: 300;
}
.page-title-min{
    max-width: 724px;
}

@media(max-width: 576px){
    .page-title h2 {
        font-size: 2.8rem;
    }
}



.section-destaque{
    min-height: 80vh;
    margin-top: -142px;
}
.section-destaque:before{
    background: linear-gradient(180deg, rgba(137, 67, 191, 0.00) 0%, #401F59 75%);
    content: '';
    position: absolute;
    width: 100%;
    height: 80%;
    top: 0;
    left: 0;
    z-index: -1;
}

.section-destaque:after{
    background: url("../img/fundo-destaque.webp") center center no-repeat;
    background-size: cover;
    content: '';
    position: absolute;
    width: 100%;
    height: 80%;
    top: 0;
    left: 0;
    z-index: -2;
}
.section-destaque .container{
    max-width: 985px;
    text-align: center;
    margin-top: 170px;
}
.section-destaque h1{
    font-size: 3.73rem;
    font-weight: 800;
}
.section-destaque h1 span{
    display: inline-block;
    background: #401F59;
    padding: 8px 16px;
    border-radius: 15px;
}
.section-destaque p{
    font-size: 1.6rem;
     font-family: "Inter", serif;
    max-width: 724px;
}
.section-destaque .btn-padrao{
    font-size: 1.4rem;
    font-weight: 700;
}
.section-destaque .img-destaque{
    margin-top: 60px;
}

@media(max-width: 576px){
    .section-destaque h1 {
        font-size: 2.5rem;
    }
    .section-destaque p {
        font-size: 1.3rem;
    }
    .section-destaque .img-destaque{
        margin-top: 30px;
    }
}


.video-procedimento{
    max-width: 940px;
    border-radius: 15px;
}
.card-cursos img{
    border-radius: 12px;
}
.img-conheca-vitalis img{
    height: 288px;
    object-fit: cover;
}


.banner-chamada{
    border-radius: 30px;
    background: linear-gradient(99deg, #A21CAF 0%, #2B143D 0.01%, #401F59 46%, #A21CAF 96.97%);
    padding: 80px;
}

.banner-chamada .btn-padrao{
    font-size: 1.4rem;
    font-weight: 700;
}

@media(max-width: 576px){
    .banner-chamada{
        padding: 80px 30px;
    }
    .section-chamada{
        padding: 0px;
    }
}
.accordion-faq{
    max-width: 768px;
}

.accordion-faq .card{
    background: none;
    border-radius: 0px;
    border: 0px;
    border-top: 1px solid #595959;
    color: #fff;
    box-shadow:  none !important;
}
.accordion-faq .card .card-header{
    background: transparent;
    border-bottom: 0px;
    font-size: 1.27rem;
    font-weight: 700;
    border-top: 0px !important;
    padding-left: 0px;
    padding-right: 0px;
}
.accordion-faq .card .card-header a{
    color: #fff;
}

.accordion-faq .card .card-header a:hover{
    text-decoration: none;
}
.accordion-faq .card .card-header a:before{
    font-weight: 400;
    font-family: "Font Awesome 5 Pro";
    content: "\f077";
    position: absolute;
    top: 12px;
    right: 8px;
}
.accordion-faq .card .card-header a.collapsed:before{
    content: "\f078" !important;
}
.accordion-faq .card ul{
    list-style-position: inside;
}

footer{
    background:#F1F5F6;
    padding-top: 60px;
    padding-bottom: 30px;
    color: #401F59;
}
footer .navbar-nav{
    display: flex;
    flex-direction: row;
}
footer .navbar-nav li {
    /*flex: 1 1 auto !important;*/
    padding-left: 12px;
    padding-right: 12px;
}
footer .navbar-nav li a{
    font-size: 1.13rem;
    font-weight: 400;
    color: #401F59;
}
footer small{
    font-size: 1rem;
}

footer .redes-sociais{
    font-size: 1.4rem;
}

@media(max-width: 576px){
    footer{
        padding-top: 30px;
    }
}




.card-contato{
    border: 0px;
    background: #fff;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    border-radius: 15px;
    color: #000;
    font-size: 1.06rem;
}
.card-contato .card-body{
    padding: 15px 45px;
}
.card-contato .card-header{
    background: transparent;
    padding: 30px 30px 0px 30px;
    border: 0px;
}
.card-contato .card-header h2{
    font-size: 1.6rem;
    font-weight: 700;
}

.card-contato .btn-contato{
    border-radius: 5px;
    background: #7e33b7;
    border-color: #7e33b7;
    font-size: 1.06rem;
    font-weight: 700;
    padding: 12px 20px;
}
.card-contato .input-group {
    border: 1px solid #fff !important;
    background: #f5f5f5;
    border-radius: 8px !important;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
    overflow: hidden;
}
.card-contato .input-group .input-group-text{
    background: transparent;
    border: 0px;
    padding: .5rem 1rem;
    font-size: 1.171875rem;
    line-height: 1.5;
    color: #7e33b7;
}
.card-contato .input-group input{
    height: 46px;
    background: transparent;
    line-height: 50px;
    color: #4E4E4E;
    border: 0px;
    font-size: 1.17rem;
}