@charset "UTF-8";

:root {
    --cor1: 96, 39, 182; /* roxo */
    --cor2: 47, 75, 195; /* azul */
    --cor3: 66, 199, 238; /* ciano */
    --cor4: 48, 19, 92; /* roxo escuro */
    --cor5: rgb(202, 202, 202);
}

@media screen and (max-width: 768px) {
    
    header {
        height: 16vw;
        padding: 0 4vw;
        justify-content: space-between;
    }

    header.ativo {
        height: 16vw;
    }

    .empresa {
        padding: 2vw 0;
    }

    .empresa p {
        font-size: 3.5vw;
    }

    .empresa .empresa-logo {
        border-radius: 2.5vw;
        padding: 2.5vw;
        font-size: 4vw;
        margin-right: 2.5vw;
    }

    .empresa-descricao p:last-child {
        font-size: 2.2vw !important;
    }

    #home {
        background-color: rgb(var(--cor4));
        backdrop-filter: blur(15px);
        display: none;
        flex-direction: column;
        position: fixed;
        top: 16vw;
        left: 0;
        width: 100%;
        padding: 4vw 0;
        gap: 0;
        z-index: 999;
    }

    #home.aberto {
        display: flex;
    }

    #home a {
        font-size: 3vw;
        padding: 3.5vw 6vw;
        border-radius: 0;
        border-bottom: 1px solid rgb(var(--cor1), 0.5);
    }

    #home #home-fc {
        margin: 4vw 12vw 2vw 3vw;
        border-radius: 100px;
        text-align: center;
        padding: 3.5vw 6vw;
    }

    #menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 1.4vw;
        cursor: pointer;
        padding: 2vw;
        z-index: 1001;
    }

    #menu-toggle span {
        display: block;
        width: 6vw;
        height: 0.6vw;
        background: white;
        border-radius: 2px;
        transition: 0.3s;
        margin-right: 4vw;
    }

    #menu-toggle.ativo span:nth-child(1) {
        transform: rotate(45deg) translate(1.4vw, 1.4vw);
    }

    #menu-toggle.ativo span:nth-child(2) {
        opacity: 0;
    }

    #menu-toggle.ativo span:nth-child(3) {
        transform: rotate(-45deg) translate(1.4vw, -1.4vw);
    }

    #inicio {
        background: radial-gradient(circle at top left, rgba(255,255,255,0.1), transparent 40%), linear-gradient(250deg, rgb(var(--cor4)), rgb(var(--cor1)), rgb(var(--cor2)));
        padding: 24vw 0 10vw;
    }

    #inicio h1 {
        font-size: 9vw;
        padding: 6vw 6vw 0;
        text-align: center;
    }

    #inicio .describe {
        font-size: 3.8vw;
        padding: 8vw 6vw 0;
        text-align: center;
        letter-spacing: 0.5px;
    }

    #inicio #inicio-button {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6vw;
        padding: 12vw 6vw 6vw;
        text-align: center;
    }

    #inicio #inicio-button a {
        font-size: 3.8vw;
        padding: 3.5vw 7vw;
        margin: 0;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    #sobre {
        padding: 10vw 5vw;
    }

    #container-flex {
        flex-direction: column;
        gap: 6vw;
    }

    #sobre #sobre-quadrado {
        border-radius: 4vw;
        padding: 5vw;
        height: auto;
        width: 100%;
        box-sizing: border-box;
    }

    #sobre #sobre-descricao p {
        font-size: 3.5vw;
        padding: 3vw;
        margin-left: 0;
        margin-top: 4vw;
    }

    #sobre #sobre-diretoria #diretoria-foto {
        width: 9vw;
        height: 9vw;
        margin: 5vw 0 2vw 0;
    }

    #sobre #sobre-diretoria #diretoria-descricao {
        margin-left: 3vw;
    }

    #sobre #sobre-diretoria #diretoria-descricao span:first-child {
        font-size: 3.5vw !important;
    }

    #sobre #sobre-diretoria #diretoria-descricao span:last-child {
        font-size: 3vw !important;
    }

    #sobre #descricao-direita {
        padding: 2vw;
    }

    .subtitulo {
        font-size: 3vw;
    }

    #sobre #descricao-direita h2 {
        font-size: 7vw;
        margin: 3vw 0;
    }

    #sobre #descricao-direita p {
        font-size: 3.5vw;
        margin: 3vw 0;
    }

    #sobre #descricao-direita .grid-valores {
        grid-template-columns: 1fr;
        gap: 4vw;
        padding: 4vw 0;
    }

    #sobre #descricao-direita .grid-valores .icon {
        border-radius: 3vw;
        width: 5vw;
        height: 5vw;
        padding: 3vw;
        font-size: 5vw;
        margin-right: 3vw;
    }

    #sobre #descricao-direita .grid-valores .texto-valor h3 {
        font-size: 4vw;
    }

    #sobre #descricao-direita .grid-valores .texto-valor p {
        font-size: 3.2vw;
        margin-top: 1vw;
    }

    #patrocinio {
        padding: 6vw 0;
    }

    .marquee-container {
        gap: 5vw;
        padding: 3vw 0;
    }

    .marquee-container h2 {
        font-size: 4.5vw;
        letter-spacing: 1px;
    }

    .logo-item {
        width: 30vw;
        margin: 0 5vw;
    }

    .logo-item img {
        height: 15vw;
    }

    #contato #contato-container {
        flex-direction: column;
        padding: 10vw 5vw;
        gap: 15vw;
    }

    #contato #contato-info h2 {
        font-size: 7vw;
        margin: 3vw 0;
    }

    #contato #contato-info p {
        font-size: 3.5vw;
        margin: 3vw 0;
    }

    #contato #contato-info #atendimento .item-contato {
        border-radius: 3vw;
        margin: 3vw 0;
        padding: 3.5vw;
    }

    #contato #contato-info #atendimento .item-contato h3 {
        font-size: 3.5vw;
    }

    #contato #contato-info #atendimento .item-contato p {
        font-size: 3vw;
    }

    #contato #contato-info #atendimento i {
        padding: 2.5vw;
        margin: 0.5vw 2vw 0.5vw 0;
        font-size: 4vw;
        border-radius: 100px;
    }

    #contato #social-link {
        display: flex;
        padding: 3vw 0;
        margin: auto;
        justify-content: space-around;
        
    }

    #contato #social-link .social-icon {
        font-size: 5vw;
        padding: 3vw;
        width: 100%;
        margin-right: 3vw;
        text-align: center;
    }

    #contato #contato-form {
        border-radius: 4vw;
        margin-left: 0;
        padding: 5vw;
        width: 100%;
        box-sizing: border-box;
    }

    #contato #contato-form form {
        width: 100%;
    }

    #contato #contato-form .grupo-input {
        margin: 4vw 0;
    }

    #contato #contato-form .grupo-input label {
        font-size: 3.5vw;
    }

    #contato #contato-form .grupo-input input {
        border-radius: 2.5vw;
        padding: 3vw;
        margin: 2vw 0;
        width: 100%;
        font-size: 3.5vw;
        box-sizing: border-box;
    }

    #contato #contato-form .grupo-input textarea {
        border-radius: 2.5vw;
        padding: 3vw;
        margin: 2vw 0;
        min-width: unset;
        width: 100%;
        max-height: 30vw;
        font-size: 3.5vw;
        box-sizing: border-box;
    }

    #contato #contato-form .grupo-input textarea::placeholder {
        font-size: 3.2vw;
    }

    #contato #contato-form button {
        border-radius: 2.5vw;
        font-size: 4vw;
        width: 100%;
        padding: 3.5vw;
    }

    #footer {
        padding-top: 4vw;
    }

    #foot {
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin: 0 4vw;
        font-size: 3vw;
    }

    footer #copy {
        margin-top: 2vw;
        padding: 2vw;
    }

    footer #termo {
        padding: 3vw 0 4vw;
        display: flex;
        gap: 2vw;
    }

    footer #termo a {
        padding: 1vw 2vw;
    }

}