/* Reset de estilos básicos */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Roboto", sans-serif;
    scroll-behavior: smooth;
    text-decoration: none;
}
a {
    color: #fff;
}
a:hover {
    color: #9c9c9c;
}
.whats:hover {
    color: #9c9c9c;
}

.awesome {
    color: #c5ae2b;
    margin-right: .5rem;
}

/* Estilos para o header */
header {
    background-image: url('/img/escrevendo-documentos-edit.jpg');
    background-size: cover;
    background-position: center;
    height: 40rem;
    color: #fff;
    text-align: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
header .logo {
    width: 4rem;
    opacity: 80%;
}
.cabecalho-title {
    width: 35rem;
    background-color: #1d1d1dd5;
    border-radius: 5rem;
    padding: 1rem 0rem;
    margin: 1rem auto;
}
header h1 {
    font-size: 3.5rem;
    letter-spacing: .3rem;
    /* font-family: "Bona Nova SC", serif; */
        font-family: "Libre Baskerville", serif;
        font-weight: bold;
        background: linear-gradient(to right, 
        #ac8531 0%, 
        #ffcc33 20%, 
        #ac8531 40%, 
        #ffcc33 60%, 
        #ac8531 80%, 
        #ffcc33 100%); /* Gradiente linear */
        -webkit-background-clip: text; /* Aplica o fundo ao texto */
        color: transparent; /* Torna o texto transparente para mostrar o fundo */
        background-clip: text; /* Aplica o fundo ao texto no Firefox */
        /* -webkit-text-stroke: .1rem rgb(0, 0, 0); Largura e cor da borda do texto */

        text-transform: uppercase;
}
header h3 {
    font-size: 1.6rem;
    /* font-family: "Bona Nova SC", serif; */
        background: linear-gradient(to right, 
        #947021 0%, 
        #ddae20 20%, 
        #947021 40%, 
        #ddae20 60%, 
        #947021 80%, 
        #ddae20 100%); /* Gradiente linear */
        -webkit-background-clip: text; /* Aplica o fundo ao texto */
        color: transparent; /* Torna o texto transparente para mostrar o fundo */
        background-clip: text; /* Aplica o fundo ao texto no Firefox */
      
}
header button {
    padding: .5rem 1rem;
    border-radius: 1.5rem;
    font-size: 1.3rem;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-style: oblique;
    background-color: #0cb44a;
    color: #fff;
}
header button:hover {
    transform: scale(1.1);
    transition: all .3s;
}
.main-topo {
    display: flex;
    justify-content: center;
    margin: 4rem 0rem 4rem 0rem; 
}
.main-topo section {
    box-shadow: 1px 1px 1px 2px rgba(41, 41, 41, 0.459);
    padding: 1rem;
    margin: 0rem 2rem 0rem 0rem; 
    max-width: 23rem;
    height: 11rem;
    background-color: #dfdfdf46;
    border-radius: .2rem;
}
.main-topo section:hover {
    background-color: rgba(216, 216, 216, 0.568);
    transition: all .2s;
}
.main-topo section h2 {
    margin-bottom: 1rem;
    color: rgb(94, 94, 94);
}
.main-topo section p {
    font-size: 1.1rem;
    color: rgb(94, 94, 94);
}

.section-services {
    background-image: url('/img/martelo-justiça-background.jpg');
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 2rem;
}
.section-services h1 {
    margin: 1rem 1rem 2rem 1rem;
    font-size: 1.8rem;
    text-align: center;
        background: linear-gradient(to right, 
        #e7b344 0%, 
        #ffcc33 20%, 
        #e7b344 40%, 
        #ffcc33 60%, 
        #e7b344 80%, 
        #ffcc33 100%); /* Gradiente linear */
        -webkit-background-clip: text; /* Aplica o fundo ao texto */
        color: transparent; /* Torna o texto transparente para mostrar o fundo */
        background-clip: text; /* Aplica o fundo ao texto no Firefox */
}
.services img {
    width: 16rem;
    opacity: 60%;
    border-radius: 1rem;
    box-shadow: 1px 1px 1px 2px rgb(58, 58, 58);
}
.services {
    display: grid;
    grid-template-columns: auto auto auto auto;
    gap: 2rem;
    justify-content: center;
    max-width: 16rem;
    margin: auto;
}
.services-item {
    background-color: rgba(77, 77, 77, 0.548);
    color: white;
    padding: .5rem;
    border-radius: 1rem;
    font-size: 1.1em;
}
.services-item b {
    
    color: #ffffff;
    font-size: 1.3rem;
}
.services-item:hover img {
    transition: all .3s;
    opacity: 100%;
}

.biography-escritorio {
    background-image: url('/img/pngegg.png');
    background-position: center;
    border-top: 1px solid rgba(0, 0, 0, 0.418);
    padding: 6rem 0rem 2rem 0rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 6rem; 
}
.biography-escritorio img {
    width: 22rem;
    border-radius: .5rem;
    box-shadow: 1px 1px 1px 2px rgba(58, 58, 58, 0.712);  
    margin-right: 1.5rem;
}
.biography-escritorio h2 {
    font-size: 1.7rem;
    color: rgb(94, 94, 94);
    margin-bottom: 1rem;
}
.biography-escritorio p {
    max-width: 34rem;
    font-size: 1.3rem;
    font-weight: 400;
    /* color: rgb(82, 82, 82); */
    color: #fff;
    letter-spacing: .1rem;
    /* background-color: #5deeee4d; */
    
    /* Gradiente linear */
    background: linear-gradient(to right, 
    #3f3f3f 0%, 
    #535353 20%, 
    #3f3f3f 40%, 
    #535353 60%, 
    #3f3f3f 80%, 
    #535353 100%); 
    
    
    

    border-radius: .5rem;
    padding: .8rem;
    box-shadow: 1px 1px 1px 2px rgba(58, 58, 58, 0.712);  
}
.biography img {
    width: 22rem;
    border-radius: .5rem;
    box-shadow: 1px 1px 1px 2px rgba(58, 58, 58, 0.712);  
    margin-right: 1.5rem;
}
.biography {
    background-image: url('/img/pngegg.png');
    background-position: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.438);
    padding: 2rem 0rem 6rem 0rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 6rem; 
}
.biography h2 {
    font-size: 1.7rem;
    color: rgb(94, 94, 94);
    margin-bottom: 1rem;
}
.biography p {
    max-width: 34rem;
    font-size: 1.2rem;
    font-weight: 400;
    color: #fff;
    letter-spacing: .1rem;

    /* Gradiente linear */
    background: linear-gradient(to right, 
    #0979b0 0%, 
    #3493c2 20%, 
    #0979b0 40%, 
    #3493c2 60%, 
    #0979b0 80%, 
    #3493c2 100%); 
    
    border-radius: .5rem;
    padding: .8rem;
    box-shadow: 1px 1px 1px 2px rgba(58, 58, 58, 0.712);  
}

.section-team {
    background-image: url('/img/biblioteca-background.jpg');
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 2rem;
    border-top: .2rem solid #947021a9;
    padding: 4rem 0rem 6rem 0rem;
}
.section-team h1 {
    margin: 1rem 1rem 1rem 1rem;
    font-size: 1.8rem;
    text-align: center;
        background: linear-gradient(to right, 
        #e7b344 0%, 
        #ffcc33 20%, 
        #e7b344 40%, 
        #ffcc33 60%, 
        #e7b344 80%, 
        #ffcc33 100%); /* Gradiente linear */
        -webkit-background-clip: text; /* Aplica o fundo ao texto */
        color: transparent; /* Torna o texto transparente para mostrar o fundo */
        background-clip: text; /* Aplica o fundo ao texto no Firefox */
}
.section-team h2 {
    margin: 1rem 1rem 4rem 1rem;
    font-size: 1.8rem;
    font-style: italic;
    text-align: center;
        background: linear-gradient(to right, 
        #e7b344 0%, 
        #ffcc33 20%, 
        #e7b344 40%, 
        #ffcc33 60%, 
        #e7b344 80%, 
        #ffcc33 100%); /* Gradiente linear */
        -webkit-background-clip: text; /* Aplica o fundo ao texto */
        color: transparent; /* Torna o texto transparente para mostrar o fundo */
        background-clip: text; /* Aplica o fundo ao texto no Firefox */
}
.team img {
    width: 16rem;
    border-radius: 1rem;
    box-shadow: 1px 1px 1px 2px rgb(37, 37, 37);
}
.team {
    display: grid;
    grid-template-columns: auto auto auto;
    gap: 2rem;
    justify-content: center;
    max-width: 16rem;
    margin: auto;
}
.team-adv {
    background-color: rgba(77, 77, 77, 0.76);
    color: white;
    padding: .5rem;
    border-radius: 1rem;
    font-size: 1.1em;
}
.team-adv:hover {
    transition: all .3s;
    background-color: rgba(77, 77, 77, 0.945);
}
.team-adv h3 {
    text-align: center;
    margin-top: .3rem;
}
.team-adv p {
    text-align: center;
    background: linear-gradient(to right, 
    #be902c 0%, 
    #ddae20 20%, 
    #be902c 40%, 
    #ddae20 60%, 
    #be902c 80%, 
    #ddae20 100%); /* Gradiente linear */
    -webkit-background-clip: text; /* Aplica o fundo ao texto */
    color: transparent; /* Torna o texto transparente para mostrar o fundo */
    background-clip: text; /* Aplica o fundo ao texto no Firefox */
}

#section-team2 {
    background-image: url('/img/martelo-justiça-background.jpg');
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 4rem 0rem 6rem 0rem;
}
.team2 img {
    width: 16rem;
    border-radius: 1rem;
    box-shadow: 1px 1px 1px 2px rgb(37, 37, 37);
}
.team2 {
    display: grid;
    grid-template-columns: auto auto auto auto;
    gap: 2rem;
    justify-content: center;
    max-width: 16rem;
    margin: auto;
}

#section-team3 {
    border-bottom: .2rem solid #947021a9;
}
#section-team3 {
    background-image: url('/img/adm-background.jpg');
    background-size: cover;
    background-position: center;
    color: #fff;
    padding:5rem 0rem 10rem 0rem;
}
.team3 img {
    width: 16rem;
    border-radius: 1rem;
    box-shadow: 1px 1px 1px 2px rgb(37, 37, 37);
}
.team3 {
    display: grid;
    grid-template-columns: auto;
    gap: 2rem;
    justify-content: center;
    max-width: 16rem;
    margin: auto;
    
}

.section-contact-local {
    display: flex;
    margin: 8rem 0rem 4rem 0rem;
    justify-content: center;
}
.section-contact {
    margin-right: 2rem;
    font-size: 1.1rem;
}
.section-contact h2 {
    color: rgb(94, 94, 94);
    border-bottom: 1px solid rgba(80, 80, 80, 0.473);
    margin-bottom: .5rem;
}
.section-contact h3 {
    font-size: 1.2rem;
    color: rgb(94, 94, 94);
    border-bottom: 1px solid rgba(80, 80, 80, 0.473);
    margin-bottom: .5rem;
}
.section-contact p {
    color: rgb(94, 94, 94);
    border-bottom: 1px solid rgba(80, 80, 80, 0.473);
    margin-bottom: .5rem;
}
.section-contact-map {
    box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.356);
}
.footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: black;
    color: #fff;
    height: 20vh;
}
.footer-redes {
    margin-top: .3rem;
    font-size: 1.6rem;
}
.dev-linkd {
    font-size: 1.5rem;
    color: #0A66C2
}
.seta {
    color: #c5ae2b;
    font-size: 2rem;
    background-color: #000000;
    border-radius: .5rem;
    padding: .2rem;
    margin: 1rem;
}
.seta:hover {
    color: #fff;
    transition: all .3s;
}

/* Media queries para tornar o site responsivo */
@media (max-width: 1220px) {
    .main-topo section {
        height: auto;
    }
    .services {
        display: grid;
        grid-template-columns: auto auto auto;
        gap: 1rem;
    }

    .team {
        display: grid;
        grid-template-columns: auto auto auto;
        gap: 1rem;
    }

    .team2 {
        display: grid;
        grid-template-columns: auto auto auto;
        gap: 1rem;
    }

    .team3 {
        display: grid;
        gap: 1rem;
    }
}

@media (max-width: 930px) {
    #local-maps {
        display: flex;
        flex-direction: column;
        align-items: center;

    }
    .section-contact {
        margin-bottom: 2rem;
    }
}

@media (max-width: 880px) {
    .services img {
        width: 14.5rem;
    }
    .services {
        display: grid;
        grid-template-columns: auto auto;
    }

    .team img {
        width: 14.5rem;
    }
    .team {
        display: grid;
        grid-template-columns: auto auto;
    }

    .team2 img {
        width: 14.5rem;
    }
    .team2 {
        display: grid;
        grid-template-columns: auto auto;
    }

    .team3 img {
        width: 14.5rem;
    }

    .section-contact-map {
        width: 70%;
    }
}

@media (max-width: 768px) {
    header {
        height: auto;
        padding: 2rem 1rem;
    }
    header .logo {
        width: 3rem;
    }
    header h1 {
        font-size: 2.5rem;
        letter-spacing: .2rem;
    }
    header button {
        font-size: 1rem;
        padding: .5rem;
    }

    .main-topo {
        flex-direction: column;
        align-items: center;
    }
    .main-topo section {
        margin: 1rem 0;
    }
    .section-services h1 {
        text-align: center;
    }
    .section-services p {
        font-size: 1rem;
    }

    .section-team h1 {
        text-align: center;
    }
    .section-team p {
        font-size: 1rem;
    }

    .biography-escritorio {
        flex-direction: column;
        padding: 2rem 1rem;
    }
    .biography-escritorio img {
        margin: 0 0 1.5rem 0;
        width: 90%;
    }
    .biography-escritorio h2 {
        text-align: center;
    }
    .biography-escritorio p {
        font-size: 1rem;
    }

    .biography {
        flex-direction: column;
        padding: 2rem 1rem;
    }
    .biography img {
        margin: 0 0 1.5rem 0;
        width: 90%;
    }
    .biography h2 {
        text-align: center;
    }
    .biography p {
            font-size: 1rem;
    }
    .section-contact {
        margin-right: 0;
        margin-bottom: 2rem;
    }
    .section-contact h2 {
        text-align: center;
    }
    .section-contact p {
        font-size: 1rem;
    }
    .section-contact-map iframe {
        width: 100%;
    }
}

@media (max-width: 600px) {
    header .logo {
        width: 2.5rem;
    }
    header h1 {
        font-size: 2rem;
        letter-spacing: .2rem;
    }
    header h3 {
        font-size: 1.2rem;
    }
    .cabecalho-title {
        width: 100%;
        background-color: #1d1d1dd5;
        border-radius: 5rem;
        padding: 1rem 0rem;
        margin: 1rem auto;
    }
}

@media (max-width: 525px) {
    header .logo {
        width: 2rem;
    }
    header h1 {
        font-size: 1.6rem;
        letter-spacing: .2rem;
    }
    header h3 {
        font-size: 1rem;
    }
    header button {
        font-size: .9rem;
        padding: .5rem;
    }
    .services {
        grid-template-columns: 1fr;
    }

    .team {
        grid-template-columns: 1fr;
    }

    .team2 {
        grid-template-columns: 1fr;

    }

    .section-contact-map {
        width: 90%;
    }
    .section-contact-map iframe {
        width: 100%;
        height: auto;
    }
}
