
@import url('https://fonts.googleapis.com/css2?family=Asap:ital,wght@0,100..900;1,100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&display=swap');

:root {
    --dark: #1F1F1F;
    --dark-secondary: #575757;
    --light: #ffffff;
    --light-secondary: #fbfbfb;
    --primary-color: #00A8FF;
    --tertiary-color: #6dc9ff;
    --secondary-color: #FFA546;
    --gradient-primary-1: #00A8FF;
    --gradient-primary-2: #007bb8;
    --gradient-secondary-1: #F6755B;
    --gradient-secondary-2: #F8B166;
    --primary-font: "Inter", sans-serif;
    --secondary-font: "Caveat", cursive;
}
html { scroll-behavior: smooth; }
body {
    font-family: "Inter", sans-serif;
    font-size: 1.2rem;
    color: var(--dark);

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* TITULOS */
.titulo-azul {
    display: inline-block;    
    color: var(--primary-color);
    font-weight: bold;
}
.titulo-azul::before {
    
}

/* GRADIENTES */
.dimber-gradiente-primary {
    background: #00A8FF;
    background: linear-gradient(180deg,rgba(0, 168, 255, 1) 0%, rgba(138, 216, 255, 1) 100%);
    color: var(--light) !important;
}
.dimber-gradiente-secondary {
    background: #00A8FF;
    background: linear-gradient(180deg,rgba(0, 168, 255, 1) 0%, rgba(0, 100, 150, 1) 100%);
    color: var(--light) !important;
}

/* RODAPÉ */
.dimber-rodape {
    height: 40px;
}
.titulo-rodape {
    margin-left: 20px;
}
.titulo-rodape::before {
    left: 10px;
    width: 10px;
    min-height: 50px;
    border-radius: 20px;
    content: "";
    background-color: var(--primary-color) !important;
}
.link-rodape {
    color: #575757 !important;
}

.bg-gradient-primary {
    background: var(--gradient-primary-1);
    background: linear-gradient(90deg, var(--gradient-primary-1) 0%, var(--gradient-primary-2) 100%);
    color: var(--light) !important;
}
.text-primary {
    color: var(--primary-color) !important;
    line-height: normal !important;
}
.text-gradient-primary {
    background: var(--gradient-primary-1);
    background: linear-gradient(90deg, var(--gradient-primary-1) 0%, var(--gradient-primary-2) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.bg-gradient-secondary {
    background: var(--gradient-secondary-1);
    background: linear-gradient(90deg, var(--gradient-secondary-1) 0%, var(--gradient-secondary-2) 100%);
    color: var(--light) !important;
}




/* BOTÕES */
a, a:hover, a:active, a:visited {
    text-decoration: none !important;
}
.btn-icone {
    max-height: 15px;
}
.btn, .btn-primary {
    border: none !important;
}
.btn-primary, a.btn-primary {
    display: inline-block;
    font-size: 70% !important;
    border-radius: 50px;
    color: #fff;
    padding: 12px 20px;
    background-color: var(--primary-color);
    text-decoration: none !important;
    font-weight: bold !important;
    text-transform: uppercase;
}
.btn-tertiary, a.btn-tertiary {
    display: inline-block;
    font-size: 70% !important;
    border-radius: 50px;
    color: #fff;
    padding: 12px 20px;
    background-color: var(--tertiary-color);
    text-decoration: none !important;
    font-weight: bold !important;
    text-transform: uppercase;
}
.btn-primary:hover, a.btn-primary:hover {
    background-color: var(--tertiary-color);
}
.btn-secondary, a.btn-secondary {
    display: inline-block;
    font-size: 70% !important;
    border-radius: 50px;
    color: #fff;
    padding: 12px 20px;
    background: var(--gradient-secondary-1);
    background: linear-gradient(90deg, var(--gradient-secondary-1) 0%, var(--gradient-secondary-2) 100%);
    text-decoration: none !important;
    font-weight: bold !important;
    text-transform: uppercase;
}
.btn-mobile, a.btn-mobile {
    padding: 10px;
    border: 1px solid var(--light);
    border-radius: 10px;
    color: var(--light);
    width: 50px !important;
    height: 40px !important;
}
.btn-light {
    background: none !important;
    border: 1px solid #313131 !important;
    color: var(--light) !important;
    border-bottom: 2px solid var(--primary-color) !important;
    border-radius: 5px;
    padding: .5rem 1rem;
}
.btn-lang {
    font-size: 80% !important;
    font-weight: bold !important;
    padding: .5rem !important;
    border: 1px solid #cecece;
    color: var(--dark) !important;
    background-color: var(--light) !important;
    margin-right: 10px !important;
}
.btn-lang:hover {
    background-color: #f5f5f5 !important;
}
.btn-quadrado {
    border-radius: 0 !important;
}

/* BACKGROUNDS */
.bg-primary {
    color: #fff;
    background-color: var(--primary-color) !important;
}
.bg-tertiary {
    color: var(--light-secondary);
    background-color: var(--tertiary-color) !important;
}

.dimber-nome {
    background-image: url(../img/social/dimber-fundo-nome.png);
    background-size: contain;
    background-position: top right;
    background-repeat: no-repeat;
    background-color: var(--primary-color) !important;
    color: var(--light) !important;
}
.bg-dimber {    
    content: "";
    position: relative;
    top: 0;
    left: 0;
    background-image: url(../img/dimber-fundo.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    padding-top:0px;
    margin-top: -200px;
    height: 400px;
    width: 100%;
    margin-bottom: -50px;
}
.bg-dimber-invertido {    
    content: "";
    position: relative;
    top: 0;
    left: 0;
    background-image: url(../img/dimber-fundo-invertido.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    padding-top:200px;
    height: 400px;
    width: 100%;
    margin-top: -50px;
}

/* EFEITOS */
.efeito-conteudo {
    z-index: 3;
    position: relative;
}
.efeito-fundo {
    background: var(--primary-color);
    background-image: url(../img/degrade.png) !important;
    background-size: cover;
    margin-top: -400px;
    width: 100% !important;
    height: 550px !important;
    z-index: 0;
    position: relative;
    margin-bottom: 0px;
}
.conteudo-cards {
    margin-top: 40px !important;
    margin-bottom: -20px !important;
}
@media screen and (max-width: 767px) {
	.efeito {
        margin-top: -300px;
        height: 300px !important;
    }
    .conteudo-cards {
        margin-top: -50px !important;
        margin-bottom: -200px !important;
    }	
}

/* SOBRE */
#sobre {
    margin-top: -20px;
    margin-bottom: 80px;
}
#funcionalidades {
    margin-top: -100px !important;
    margin-bottom: 20px !important;
}
.funcionalidades-titulo {
    height: 50px;
}
.funcionalidades-texto {
    height: 70px;
}
@media screen and (max-width: 767px) {
    .funcionalidades-titulo {
        height: auto;
    }
    .funcionalidades-texto {
        height: auto;
    }
    .btn-card {
        margin-bottom: 0;
        margin-right: 0;
        float: none;
        display: block;
        width: 100%;
        border-radius: 10px !important;
        margin-top: 0.5rem;
    }
}
.icone-funcionalidades {
    color: #d3d3d3;
}
#download {
    margin-top: -20px !important;
    margin-bottom: 30px !important;
}

/* TÍTULOS */
h1, .h1 {
    font-weight: 200 !important;
    line-height: 100%;
    margin-bottom: 15px;
}
h1 span, .h1 span {
    color: var(--primary-color) !important;
}
h2, .h2 {
    font-weight: 600 !important;
    line-height: 100%;
}
h3, .h3 {
    font-weight: 200 !important;
    line-height: 100%;
}
h5, .h5 {
    font-weight: bold;
}

.titulo {
    border-left: 5px solid var(--gradient-primary-1);
    padding-left: 15px;
    line-height: 100%;   
}

/* CARDS HOME */
.card-1 {
    margin-top: 30px;
}
.card-2 {
    margin-top: -10px;
}
.card-3 {
    margin-top: 25px;
}
.card-4 {
    margin-top: -15px;
}
.btn-card {
    margin-bottom: -19px;
    margin-right: -19px;
    border-radius: 20px 0px 20px 0px !important;
    float: right;
}
.card-conteudo {
    margin-top: -100px;
}
@media screen and (max-width: 767px) {
    .card-conteudo {
        margin-top: -50px;
    }
}
.card-img-usuario {
    width:120px;
    height: 120px;
    object-fit: cover;
    object-position: center;
    border-radius: 50rem;
}
@media screen and (max-width: 767px) {
    .card-img-usuario {
        width:100px;
        height: 100px;
    }
    .btn-card-usuario {
        padding: .4rem .6rem !important;
    }
    .btn-card-usuario span {
        font-size: 80% !important;
    }
}


/* FUNCIONALIDADES */
.funcionalidade {
    border-radius: 20px !important;
    margin: 1.5rem 1rem !important;
}


/* ACCORDION */
.accordion-button:not(.collapsed) {
    color: var(--light) !important;
    font-weight: bold;
    background-color: var(--primary-color) !important;   
}
.accordion-button {
    color: var(--dark-secondary) !important;
    font-weight: bold;
    background-color: var(--primary-secondary) !important;   
}
.accordion-button:after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23cecece'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}
.accordion-button:not(.collapsed) .accordion-button:after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 0 0' fill='%23cecece'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}
.accordion-header {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.accordion-button:not(.collapsed) {
    box-shadow: none !important;
}

/* NAV-LINK */
.nav-link.active {
    color: var(--primary-color) !important;
    font-weight: bold !important;
}
.nav-link {
    color: var(--dark) !important;
}

/* MENU */
.menu {
    background-color: var(--primary-color) !important;
}
.scrolled {
    background-color: var(--gradient-primary-1);

    box-shadow: 1px 2px 10px 1px rgba(0,0,0,0.1);
    -webkit-box-shadow: 1px 2px 10px 1px rgba(0,0,0,0.1);
    -moz-box-shadow: 1px 2px 10px 1px rgba(0,0,0,0.1);
}
.btn-menu, a.btn-menu {
    color: var(--light);
    font-weight: bold !important;
    font-size: 70% !important;
    text-decoration: none !important;
    padding: 10px !important;
    transform: translatey(0px);
    text-transform: uppercase;
}
.btn-menu:hover, a.btn-menu:hover {
	transform: translatey(20px);
	animation: float 3s ease-in-out infinite;
	transition:all 0.3s ease;
    scale: 1.5 !important;
    font: 800;
}
.btn-menu-principal:hover, a.btn-menu-principal:hover {	
    color: inherit !important;
}
.logo-menu {
    max-height: 32px;
    margin-top:0px;
    margin-left: -20px;
}
.logo-rodape {
    max-height: 30px;
}

/* CHAMADA */
.chamada {
    display: inline-flex;
    margin-bottom: 20px;
    margin-top: 10px;
}
.chamada h5 {
    margin: 0 !important;
    opacity: .6;
}
.chamada::before {
    border: 5px solid var(--gradient-primary-1);
    content: "";
    display: inline-block;
    margin-right: 15px;
}

/* DESTAQUES */
#destaques {
    background-color: #f4f4f4 !important;
}

/* BENEFICIOS */
.beneficios {
    border: 1px solid #e5e5e5ff;
}
.beneficios-img {
    object-fit: cover;
    width: 100%;
}
@media screen and (max-width: 767px) {
	.beneficios {
        
    }
}

/* CONTEUDO ESPECIAL */
.conteudo-principal {
    z-index: 10 !important;
    position: relative;
}
.conteudo-interno {
    margin-top: 40px !important;
}
@media screen and (max-width: 767px) {
    .conteudo-interno {
        margin-top: 28px !important;
        margin-bottom: 40px !important;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .conteudo-interno {
        margin-top: 28px !important;
    }
}
.conteudo-faq {
    margin-top: 30px !important;
    padding-left: 2rem;
}
.lateral-faq {
    position: sticky;
    top: 100px !important;
}
.card-faq {
    border-left: 3px solid var(--primary-color);
    font-size: 95%;
}

/* FAQ: container principal — sobrescreve mt-5 do Bootstrap no mobile */
.container.faq-container {
    margin-top: 0 !important;
}

@media screen and (max-width: 767px) {
    .conteudo-faq {
        margin-top: 0px !important;
        border: none !important;
        padding-left: 0 !important;
    }
    .lateral-faq {
        margin-top: 0;
        position: static !important;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .conteudo-faq {
        margin-top: 16px !important;
        padding-left: 1rem;
    }
    .lateral-faq {
        top: 96px !important;
    }
}
.card-faq h5 {
    font-weight: bold !important;
    font-size: 105%;
    margin-bottom: 5px;
}
.alert {
    font-weight: bold !important;
}
.alert-faq {
    border: none;
    /* border-radius: 0 !important; */
    border-left: 10px solid var(--primary-color);
}

/* Offset para compensar o header fixo ao navegar por âncoras do FAQ */
[id^="item-"] {
    scroll-margin-top: 100px;
}
@media screen and (max-width: 767px) {
    [id^="item-"] {
        scroll-margin-top: 90px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    [id^="item-"] {
        scroll-margin-top: 96px;
    }
}


.list-group-item.active {
    background-color: #f3f3f3 !important;
    color: var(--dark) !important;
    font-weight: bold !important;
    border: none !important;
}
.list-group-flush-black .list-group-item {
    background: none !important;
    border: none !important;
    color: var(--light) !important;
    border-bottom:2px dotted var(--dark) !important;
    text-align: left !important;
}


/* CONTATO */
.contato {
    z-index: 10 !important;
    position: relative;
    background-color: #f4f4f4;
}
.efeito-altura {
    margin-bottom: -200px;
}
.efeito-contato {
    background: #f4f4f4;
    background-image: url(../img/efeito-contato.png) !important;
    background-size: cover;
    width: 100% !important;
    height: 500px !important;
    z-index: 2;
    position: relative;
    margin-top: -200px;
}
@media screen and (max-width: 767px) {
	.efeito {
        margin-top: -300px;
        height: 300px !important;
    }
	
}



.icone-destaque {
    padding: 1rem;
    background-color: var(--primary-color);
    color: var(--light);
    border-radius: .5rem;
    display: inline-block;
}



/* DOWNLOAD */
.download {
    border-radius: 30px;
}
.download-img {
    margin-top: -100px;
}
.download-mockup {
    margin-bottom: -75px;
}
@media screen and (max-width: 767px) {
    .download-mockup {
        margin-bottom: -125px;
        margin-top: 50px;
    }

}


/* RODAPÉ */
.rodape {
    background-color: var(--dark);
    color: var(--light);
}
.efeito-rodape {
    margin-top: -60px;
    margin-bottom: 30px;
}
.icone-rodape {
    height: 55px !important;
    width: 55px !important;
    z-index: 99 !important;
    position: relative;
    margin-top: -30px;
    margin-bottom: 30px;
}
.rodape-redes {
    height: 40px;
    width: 40px;
    padding: 6px 8px;
    font-size: 1.2rem !important;
    text-align: center;
    background-color: var(--primary-color);
    color: var(--light);
    display: inline-block;
    border-radius: 5rem;
    margin-top: 10px;
}
.rodape-redes:hover {
    background-color: var(--light);
    color: var(--primary-color);
}
.rodape .list-group-item {
    padding: .2rem !important;
}



/* TEMPO */
.tempo {
    background-image: url(../img/tempo.png);
}
.card-tempo {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
}
.card-tempo .card-body {
    padding: 2rem !important;
}

/* LGPD */
.lgpd {
	display: none;
	position: fixed;
	width: 100%;
	bottom: 0px;
	background-color: var(--gradient-primary-1);
	color: var(--light);
	text-align: center;
	font-size: 15px;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	min-height: 80px;
	padding-top: 15px;
	padding-bottom: 15px;
}
.btn-lgpd {
	background-color: var(--secondary-color);
	border: none;
	padding: 15px;
    font-weight: bold;
	color: var(--light);
	border-radius: 5px;
	margin-left: 10px
}




.form-control {
    border-radius: .1 rem !important;
    padding: .8rem;
    background-color: #fff;
}


.atualizacao {
    background-color: #e7ffe5;
    padding: 5px 10px;
    color: var(--dark);
    display: inline;
}
.atualizacao-fora {
    background-color: #ffe5e8;
    padding: 5px 10px;
    color: var(--dark);
    display: inline;
}


.alert-success {
    background-color: #f4ffef !important;
    font-weight: normal !important;
}
.slogan {
    font-family: "Caveat", cursive !important;
    font-size: 180% !important;
    margin-bottom: 10px;
    margin-top: 5px;
}



.owl-theme .owl-nav.disabled+.owl-dots {
    margin-top: 30px !important;
}



/* PERSONALIDADES */
@media screen and (max-width: 767px) {
    .row-personalidades {
        margin-top: 100px !important;
    }
}

.card-personalidade  {
    border-radius: 10px !important;
    border-bottom: 8px solid var(--primary-color) !important;
    box-shadow: 0px 10px 60px 0px rgb(90 73 248 / 15%);
    padding: 30px;
    margin-bottom: 30px;
    overflow: hidden;
    border-radius: 5px;
    transition: 0.5s;
    position: relative;
    height: 260px;
}
.card-personalidade::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    height: 100%;
    width: 0;
    /* background: linear-gradient(45deg, var(--gradient-primary-1), var(--gradient-primary-2)); */
    background-color: var(--primary-color);
    z-index: -1;
    transition: 0.5s;
}
.card-personalidade:hover::before {
    left: 0;
    width: 100%;
}
.card-personalidade:hover, .text-primary.card-personalidade:hover {
    color: var(--light) !important;
    border-bottom: 8px solid var(--secondary-color) !important;
}
.img-personalidade {
    object-fit: cover !important;
    object-position: center;
    border-radius: 10rem;
    width: 120px;
    height: 120px;
}

.card-img-dimber {
    object-fit: cover !important;
    object-position: center;
    border-radius: 10px;
    width: 100%;
    height: 200px;
}
.card-personalidade-media {
    font-size: 70%;
    text-align: right !important;
    margin-bottom: 10px;
}

/* PERSONALIDADES */
.filter a {
    display: inline-block;
    padding: 10px;
    border: 2px solid #333;
    position: relative;
    margin-right: 20px;
    margin-bottom: 20px;
}
.filter a.active {
    background: none !important;
    background-color: var(--primary-color) !important;
}

.is-animated {
animation: .6s zoom-in;
    }
    @keyframes zoom-in {
    0% {
    transform: scale(.1);
    } 
    100% {
        transform: none;
    }
}




.card-header {
    font-weight: bold !important;
    font-size: 130%;
    line-height: normal !important;
    color: var(--light);
    background-color: var(--primary-color);
}
.card-dimber  {
    border-radius: 20px !important;
    border-bottom: 5px solid var(--primary-color) !important;
    box-shadow: 0px 10px 60px 0px rgb(90 73 248 / 15%);
    padding: 30px;
}

.card-ia {
    border: none !important;
}

.lang-icone {
    width: 30px;
    height: 30px;
    display: inline-block;
}
.lang-select {
    display: inline-block !important;
    width: auto;
    background-color: var(--light);
    color: var(--dark);
    border: none !important;
    margin-left: 10px;
    font-size: 90%;
}
.lang-select-topo {
    display: block !important;
    width: 80px;
    padding: 0 !important;
    background-color: var(--light);
    color: var(--dark);
    border: none !important;
    margin-left: 10px;
    font-size: 70%;
}
.lang-form {
    margin-left: -10px;
    display: inline-block;
}

.modal-dimber {
    border-bottom: 5px solid var(--primary-color) !important;
}
.modal-title small {
    font-size: 60% !important;
    position: relative;
    top: -10px !important;
}


.dimber-robo {
    margin-top: -120px !important;
}
@media screen and (max-width: 767px) {
    .dimber-robo {
        margin-top: 60px !important;
        max-height: 400px;
    }
}
.card-slider {
    border-radius: 20px;
    padding: 3rem;
    border-left: 3px solid var(--primary-color);
}



.download-store {
    display: inline-block;
    padding: .4rem 1.2rem;
    background-color: var(--dark);
    color: var(--light);
    border-radius: 50px;
    margin-right: 10px;
    font-size: 90%;
    font-weight: bold;
    line-height: 90%;
    border-bottom: 1px solid #cecece !important;
    box-shadow: 0px 10px 60px 0px rgb(90 73 248 / 15%);
    height: 50px !important;
}
.download-store span {
    font-size: 70%;
    font-weight: bold;
    color: #cecece;
}
.download-icone {
    width: 25px;
    padding-top: 6px;
}




/* TIMELINE */
.timeline {
    border-left: 3px solid var(--primary-color);
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
    margin: 0 auto;
    letter-spacing: 0.2px;
    position: relative;
    padding: 1rem;
    list-style: none;
    text-align: left;
    max-width: 90%;
    margin-left: calc(10% + 4rem);
}

@media (max-width: 767px) {
    .timeline {
        max-width: 98%;
        padding: 25px;
        margin-left: 0;
    }
}

.timeline h1 {
    font-weight: 300;
    font-size: 1.4em;
}

.timeline h2,
.timeline h3 {
    font-weight: 800 !important;
    font-size: 120%;
    margin-bottom: 10px;
}

.timeline .event {
    border-bottom: 1px dashed #e8ebf1;
    padding-bottom: 25px;
    margin-bottom: 25px;
    position: relative;
}

@media (max-width: 767px) {
    .timeline .event {
        padding-top: 30px;
    }
}

.timeline .event:last-of-type {
    padding-bottom: 0;
    margin-bottom: 0;
    border: none;
}

.timeline .event:before,
.timeline .event:after {
    position: absolute;
    display: block;
    top: 0;
}

.timeline .event:before {
    left: -207px;
    content: attr(data-date);
    text-align: right;
    font-weight: 100;
    font-size: 0.9em;
    min-width: 120px;
    font-size: 100%;
    font-weight: bold !important;
}

@media (max-width: 767px) {
    .timeline .event:before {
        left: 0px;
        text-align: left;
    }
}

.timeline .event:after {
    -webkit-box-shadow: 0 0 0 3px var(--primary-color);;
    box-shadow: 0 0 0 3px var(--primary-color);;
    left: -55.8px;
    background: #fff;
    border-radius: 50%;
    height: 9px;
    width: 9px;
    content: "";
    top: 5px;
}

@media (max-width: 767px) {
    .timeline .event:after {
        left: -31.8px;
    }
}

.rtl .timeline {
    border-left: 0;
    text-align: right;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
    border-right: 3px solid #727cf5;
}

.rtl .timeline .event::before {
    left: 0;
    right: -170px;
}

.rtl .timeline .event::after {
    left: 0;
    right: -55.8px;
}



.modal-header {
    background-color: var(--primary-color);
}
.logo-modal-header {
    height: 20px;
}


/* EFEITO MENU */
.hover-underline-animation {
  display: inline-block;
  position: relative;
}

.hover-underline-animation::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #fff !important;
  transition: transform 0.25s ease-out;
}

.hover-underline-animation:hover::after {
  transform: scaleX(1);
}

.hover-underline-animation.left::after {
  transform-origin: bottom right;
}

.hover-underline-animation.left:hover::after {
  transform-origin: bottom left;
}

.hover-underline-animation.center::after {
  transform-origin: bottom center;
}

.hover-underline-animation.center:hover::after {
  transform-origin: bottom center;
}

.hover-underline-animation.right::after {
  transform-origin: bottom left;
}

.hover-underline-animation.right:hover::after {
  transform-origin: bottom right;
}



.img-social {
    width: 500px;
    height: 500px;
    border-radius: 30rem;
    object-fit: cover;
}
@media screen and (max-width: 767px) {
    .img-social {
        width: 300px;
        height: 300px;
        border-radius: 30rem;
        object-fit: cover;
        margin-bottom: 30px;
    }
}

/* =============================================
   BREAKPOINT TABLET — 768px – 1023px
   Valores intermediários entre mobile e desktop
============================================= */
@media screen and (min-width: 768px) and (max-width: 1023px) {

    /* Fundo hero: entre 300px (mobile) e 550px (desktop) */
    .efeito-fundo {
        height: 430px !important;
    }

    /* Cards hero sidebar: margins intermediários */
    .conteudo-cards {
        margin-top: 10px !important;
        margin-bottom: -60px !important;
    }

    /* Avatar das personalidades: entre 100px (mobile) e 120px (desktop) */
    .card-img-usuario {
        width: 110px;
        height: 110px;
    }

    /* Card conteudo: entre -50px (mobile) e -100px (desktop) */
    .card-conteudo {
        margin-top: -70px;
    }

    /* Timeline: valores intermediários */
    .timeline {
        max-width: 94%;
        margin-left: calc(6% + 2.5rem);
    }

    /* Imagem social circular: entre 300px (mobile) e 500px (desktop) */
    .img-social {
        width: 380px;
        height: 380px;
    }
}