/*
Theme Name: Defassi
Theme URI: https://targos.com.br
Author: Targos
Description: Tema Defassi Advogados
Version: 1.1
License: GPL-2.0-or-later
Text Domain: defassi
*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
.barras-topo {
    margin-bottom: -50px;
    width: 90px;
}
.logo-header-img{
    width: 200px;
}
.fonte-decorativa {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}
/* Botão Menu Header */
.btn-menu-header{
    display: flex;
    align-items: center;
    gap: 10px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}
.btn-menu-barras{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    transition: transform .3s ease;
}
.btn-menu-barras .barra{
    display: block;
    width: 35px;
    height: 2px;
    background: var(--bs-info);
    transition: all .3s ease;
}
.btn-menu-barras .barra:last-child{
    width: 25px;
}
.btn-menu-header:hover .btn-menu-barras .barra:last-child{
    width: 35px;
}
.btn-menu-texto{
    color: #fff;
    font-size: 18px;
    letter-spacing: 3px;
    transition: all .3s ease;
}
.btn, .btn-lg{
    letter-spacing: 3px;
    display: inline-flex;
    align-items: center;
    gap: 0;
    transition: gap .3s ease;
}
.btn::after{
    content: '';
    display: inline-block;
    width: 0;
    height: 2px;
    background: currentColor;
    transition: width .3s ease;
}
.btn:hover{
    gap: 8px;
}
.btn:hover::after{
    width: 14px;
}
@media (max-width: 991.98px){
    .header > .container{
        padding-left: 0;
    }
    .barras-topo{
        width: 60px;
        margin-bottom: -20px;
    }
    .logo-header-img{
        width: 140px;
    }
    .btn-menu-barras .barra{
        width: 25px;
    }
    .btn-menu-barras .barra:last-child{
        width: 18px;
    }
}
/* Header transparente na home */
.home header section{
    background: transparent !important;
}
.home header{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
}
.hero{
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 85vh;
    display: flex;
    align-items: flex-end;
    padding-bottom: 14vh;
    position: relative;
}
.hero::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.4);
    z-index: 1;
}
.hero::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: linear-gradient(to bottom, rgba(7,3,30,.6) 0%, transparent 100%);
    z-index: 2;
}
.hero > .container{
    position: relative;
    z-index: 3;
}
.tracking{
    letter-spacing: 3px;
}
.icone-card{
    width: 60px;
    transition: all .3s ease-in-out;
}
.titulo-card-defassi{
    position: absolute;
    bottom: 20%;
    left: 0;
    right: 0;
    opacity: 0;
    transform: translateY(15px);
    transition: all .3s ease-in-out;
}
.card-defassi-home{
    background-color: #f2f2f2;
    transition: all .3s ease-in-out;
    height: 200px !important;
}
.card-defassi-home:hover{
    background-color: var(--bs-success);
}
.card-defassi-home:hover h5{
    color: var(--bs-white);
}
.card-defassi-home:hover .icone-card{
    filter: invert(1);
    transform: translateY(-10px);
}
.card-defassi-home:hover .titulo-card-defassi{
    opacity: 1;
    transform: translateY(0);
}
/* Sticky Menu */
.sticky-menu{
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1040;
    opacity: 0;
    transform: translateY(-20px);
    pointer-events: none;
    transition: all .4s ease-in-out;
}
.sticky-menu.active{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.sticky-menu-btn{
    border-radius: 0;
}
/* Slider Equipe */
.swiper-equipe .swiper-slide{
    height: auto;
}
.btn-slide-equipe{
    width: 60px;
    height: 60px;
    background-color: #f2f2f2;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color .3s;
}
.btn-slide-equipe:hover{
    background-color: #e0e0e0;
}
.btn-slide-equipe i{
    font-size: 20px;
    color: #000;
}
.borda-detalhe{
    display: block;
    position: absolute;
    left: 0;
    top: -40%;
    width: 30px;
    height: 100%;
    background: var(--bs-secondary);
}

.card-equipe-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s;
}
.card-equipe:hover .card-equipe-img{
    transform: scale(1.05);
}
.card-equipe-overlay{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.836) 0%, transparent 50%);
}
/* Menu Offcanvas */
.menu-principal .menu-item{
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity .4s ease, transform .4s ease;
}
.offcanvas.show .menu-principal .menu-item{
    opacity: 1;
    transform: translateX(0);
}
.menu-principal .menu-item a{
    font-family: "Oswald", sans-serif;
    font-size: 30px;
    text-transform: uppercase;
    letter-spacing: 3px;
    padding: 15px 0;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: inherit;
}
.menu-principal .menu-item a::before{
    content: '';
    display: block;
    width: 0;
    height: 2px;
    background: var(--bs-success);
    transition: width .3s ease;
}
.menu-principal .menu-item a:hover{
    color: var(--bs-primary);
}
.menu-principal .menu-item a:hover::before{
    width: 30px;
}
.redes-offcanvas{
    opacity: 0;
    transform: translateX(-20px);
    transition: all .4s ease;
}
.offcanvas.show .redes-offcanvas{
    opacity: 1;
    transform: translateX(0);
}
.menu-principal .menu-item:first-child a{
    border-top: 1px solid #e0e0e0;
}
.olimpo-overlay{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40%;
    mix-blend-mode: multiply;
}
#cta{
    background-color: var(--bs-secondary);
    background-size: cover;
    background-blend-mode: overlay;
    background-repeat: no-repeat;
    background-attachment: fixed;
    align-content: center;
    text-align: center;
}
.borda-divisora{
    width: 1px;
    padding: 0;
    margin: 0;
    height: stretch;
    background: #ffffff14;
}
.logo-rodape{
    width: 240px;
}

/* Redes Sociais */
.btn-rede-social{
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bs-secondary);
    color: #fff;
    font-size: 20px;
    text-decoration: none;
    transition: all .3s;
}
.btn-rede-social:hover{
    background-color: var(--bs-success);
    color: #fff;
}
/* Accordion Barras */
.accordion-barras{
    display: flex;
    gap: 40px;
    height: 500px;
    justify-content: center;
}
.accordion-barra-item{
    display: flex;
    cursor: pointer;
}
.accordion-barra-label{
    background: transparent;
    border: 1px solid var(--bs-info);
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 30px;
    width: 90px;
    min-width: 90px;
    writing-mode: vertical-lr;
    text-orientation: mixed;
    transform: rotate(180deg);
    color: var(--bs-info);
    font-size: 20px;
    letter-spacing: 3px;
    user-select: none;
    transition: all .3s ease;
}
.accordion-barra-item.active .accordion-barra-label{
    background: var(--bs-info);
    color: #fff;
}
.accordion-barra-content{
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-width .5s ease, padding .5s ease, opacity 0s;
    padding: 0;
}
.accordion-barra-item.active .accordion-barra-content{
    max-width: 400px;
    opacity: 1;
    padding: 30px 40px;
    transition: max-width .5s ease, padding .5s ease, opacity .3s ease .5s;
}
@media (max-width: 991.98px){
    .accordion-barras{
        display: none;
    }
}
.accordion-mvv-mobile .accordion-item{
    border: none;
    margin-bottom: 8px;
}
.accordion-mvv-mobile .accordion-button{
    background: var(--bs-info);
    color: #fff;
    box-shadow: none;
}
.accordion-mvv-mobile .accordion-button:not(.collapsed){
    background: var(--bs-info);
    color: #fff;
    filter: brightness(.85);
}
.accordion-mvv-mobile .accordion-button::after{
    filter: invert(1);
}
/* Mapa Contato */
.mapa-contato iframe{
    width: 100%;
    height: 450px;
    display: block;
    border: none;
}
/* WhatsApp Fixo */
.btn-whatsapp-fixo{
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1050;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,.2);
    transition: transform .3s ease;
}
.btn-whatsapp-fixo:hover{
    color: #fff;
    transform: scale(1.1);
}
.rank-math-breadcrumb, .rank-math-breadcrumb a {
    color: #ffffff59;
    font-size: 14px;
}
.rank-math-breadcrumb p{
    margin: 0;
}