@charset "UTF-8";

/*Importação de fontes*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

/*Variáveis*/
:root {
    --preto: #000;
    --vermelho: #ff0000;
    --branco: #fff;
}

/*Reset (Compatibilizar com todos os computadores)*/
* {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

/*Layout*/

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Roboto", sans-serif;
    font-size: 1em;
    /* "em" é responsivo, e "1em" é o (tamanho padrão)*/
    font-weight: 600;
    font-style: normal;
}

.container {
    margin: 0 auto;
    /*Centraliza o bloco no meio*/
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.botao {
    text-decoration: none;
    text-align: center;
    color: var(--branco);
    font-size: 1.1em;
    font-weight: 700;
    background: black;
    border: 2px solid white;
    border-radius: 26px;
    align-self: center;
    padding: 8px 20px;
    margin-top: 10px;
}

.icon-destaque {
    width: 60px;
}

.card {
    width: 308px;
    height: 420px;
    background-color: white;
    border: 2px solid black;
    margin-top: 20px;
    border-radius: 25px;
    text-align: center;
}

.card img {
    border-top-left-radius: 23px;
    border-top-right-radius: 23px;
    text-align: center;
    width: 304px;
    height: 200px;
    margin-bottom: 15px;
}

.card h2 {
    margin-top: 15px;
}

.card p {
    text-align: left;
    padding: 10px 0px 40px 0px;
    text-align: center;
}

.card a {
    padding: 10px 100px;
    border: 0;
    padding: 10px 40px;
}

/*-----Topo-----*/

#topo {
    position: fixed;
    right: 10px;
    bottom: 10px;
}

/*---------------Breakpoints---------------*/

/*Smartphone Portrait*/

/*Cabeçalho*/

header {
    height: 100px;
    background-color: white;
    position: sticky;
    top: 0px;
    z-index: 10;
}

#logo img {
    width: 90px;
    height: 90px;
    margin: 5px 0px 0px 5px;
    border-radius: 50%;
}

#check {
    display: none;
}

/*Efeito de deslizar o menu*/

/*Se o check estiver "tchecado", criar um estilo para a ul*/

#check:checked~ul {
    right: 0px;
    transition: 0.4s;
}

label {
    font-size: 1.8em;
    font-weight: 500;
    position: fixed;
    top: 30px;
    right: 10px;
    color: rgba(0, 0, 0, 0.5);
}

nav ul {
    height: 100vh;
    /*100vh - 100% da tela em pé*/
    background-color: rgba(0, 0, 0, 0.904);
    list-style: none;
    /*Remover bolinhas*/
    width: 50%;
    position: fixed;
    top: 100px;
    right: -50%;
    /*Fazendo o menu hambúrguer*/
    transition: 0.5s;
    z-index: 2;
}

nav ul li {
    padding: 25px 20px;
    text-align: right;
}

nav ul li a {
    color: var(--branco);
    text-decoration: none;
}

/*Video background*/

main {
    height: 55vh;
    position: relative;
    background: url(img/banner-carrossel1.jpg);
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

main h1 {
    font-size: 1.9em;
    color: white;
    text-shadow: 6px 6px 2px black;
}

main h2 {
    font-size: 1.6em;
    margin-top: 5px;
    margin-bottom: 30px;
    color: white;
    text-shadow: 6px 6px 2px black;
}

/*--------Destaque--------*/

#destaque {
    background-image: url(img/imagemdestaque5.jpg);
    background-size: cover;
    background-position: center;
    padding: 50px 15px; /*Espaçamento interno para não encostar na borda da tela do dispositivo*/
}

/*Para esconder a imagem usamos "display: none;" no container da imagem. Para exibir novamente em telas maiores, usamos "display: block;"

#imagemDestaque {
    display: none;
}*/

#textoDestaque {
    color: var(--branco);
}

#textoDestaque h2 {
    margin-bottom: 20px;
}

/*Detalhe do sinal ">" referente ao elemento imediato*/

#textoDestaque > p {
    color: var(--branco);
}

.topicos {
    display: flex;
    align-items: center;
    margin-top: 5px;
}

.topicos img {
    margin-right: 10px;
}

.topicos p {
    font-weight: 600;
    color: white;
}

/*Organizando o container após o destaue o estilo é aplicado apenas ao container da seção de destaque*/

#destaque .container {
    flex-direction: column;
    align-items: center;
}

#imagemDestaque img {
    display: none;
}

/*--------sobre--------*/

/*O estilo abaixo sera aplicado apenas ao container que esta subordinado a section*/

#sobre .container {
    flex-direction: column;
}

#sobre {
    background-color: white;
    padding: 50px 15px;
}

#sobre h2, p {
    color: black;
}

#sobre h2 {
    margin-bottom: 20px;
}

#video iframe{
    width: 340px;
    height: 191px;
    margin-top: 20px;
}

#institucional h2 {
    text-align: center;
    font-size: 1.9em;
}

/*-----------------Faixa de destaque--------------------*/

#faixadestaque {
    background: url(img/imagemdestaque5.jpg);
    background-size: cover;
    background-position: center;
    padding: 50px 15px;
    text-align: center;
}

#faixadestaque .container {
    flex-direction: column;
}

#textoFaixa h2 {
    color: white;
    margin-bottom: 10px;
}

#textoFaixa p {
    margin-bottom: 30px;
}

#imagemFaixa img {
    margin-top: 20px;
    width: 170px;
    height: 170px;
}

/*--------Conteudo de cards-----------*/

#conteudo {
    padding: 50px 0px;
}

#conteudo .container{
    flex-direction: column;
    align-items: center;
}

#conteudo h2 {
    color: black;
    margin-bottom: 25px;
}

#todos{
    color: black;
    margin-top: 50px;
    text-decoration: none;
    font-size: 17px;
}

.containerCards {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

/*Seção do address*/

address {
    background-color: rgb(36, 35, 35);
    height: 600px;
    display: flex;
    align-items: center;
}

#contato {
    display: flex;
    flex-direction: column;
    gap: 100px;
    margin-left: 5px;
}

#email a {
    text-decoration: none;
}

#email a img {
    width: 40px;
    margin-top: 10px;
}

#email .p-fic {
    margin-top: 30px;
}

#wpp a {
    text-decoration: none;
}

#wpp p {
    margin: 15px 0px;
}

address p {
    color: white;
}

#mapa {
    display: none;
}

/*-----Seção do rodapé------*/

footer {
    background-color: black;
    height: 30vh;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.p-nome p {
    color: white;
}

/*-----------------------------------------*/

/*Smartphone Landscape*/

@media (min-width: 576px) {

    #logo img {
        margin: 5px 0px 0px 5px;
    }

    .container {
        max-width: 540px;
        justify-content: space-between;
    }

    main {
        height: 72vh;
        background-position: top center;
    }

    /*--------Destaque--------*/
    
    #destaque .container {
        flex-direction: row-reverse;
        justify-content: space-between;
    }

    #imagemDestaque {
        margin-right: 50px;
    }

    #imagemDestaque img {
        display: flex;
        width: 250px;
        height: 250px;
        border-radius: 50%
    }

    /*--------sobre--------*/

    #video iframe{
        width: 560px;
        height: 315px;
        margin-top: 20px;
    }

    /*Seção do address*/

    address {
        background-color: rgb(36, 35, 35);
        height: 650px;
        display: flex;
        align-items: center;
    }
}

/*-----------------------------------------*/

/*Tablet Portrait*/

@media (min-width: 768px) {

    /*Cabeçalho*/
    .container {
        max-width: 720px;
        justify-content: space-between;
    }

    header {
        height: 120px;
    }

    #logo img {
        width: 110px;
        height: 110px;
    }

    nav ul {
        top: 120px;
    }

    /*Banner*/

    main {
        height: 55vh;
    }

    main h1 {
        font-size: 4em;
    }

    #imagemDestaque img {
        width: 300px;
        height: 300px;
    }

    /****** Destaque ******/
    #imagemDestaque img {
        width: 440px;
        height: 440px;
    }

    /*Seção de conteudo - Cards*/

    .card {
        margin: 0px 10px;
    }
}

/*-----------------------------------------*/

/*Tablet Landscape*/

@media (min-width: 992px) {

    /*Cabeçalho*/
    .container {
        max-width: 960px;
        justify-content: space-between;
    }
}

/*-----------------------------------------*/

/*PCS e Notebooks*/

@media (min-width: 1200px) {
    .container {
        max-width: 1040px;
        justify-content: space-between;
    }

    /*Cabeçalho*/
    header {
        height: 140px;
        position: static;
    }

    #logo img {
        margin: 5px 0px 0px 0px;
        width: 130px;
        height: 130px;
    }

    /*Transformação do menu*/
    label {
        display: none;
    }

    nav ul {
        width: 100%;
        height: auto;
        position: static;
        background-color: transparent;
        display: flex;
        gap: 50px;
    }

    nav ul li {
        float: left;
        border: 0;
    }

    nav ul li a {
        color: var(--preto);
    }

    nav ul li a:hover {
        color: var(--branco);
        background-color: black;
        padding: 10px;
        border-radius: 7px;
        transition: all 0.4s;
    }

    /*Banner*/

    main {
        height: 75vh;
    }

    main h1 {
        font-size: 3.5em;
    }

    #destaque {
        /*O código abaixo fixa o banner(efeito paralax)*/
        background-attachment: fixed;
        background-position: top center;
        height: 80vh;
    }

    .container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    /*--------sobre--------*/

    #sobre .container {
        flex-direction: row;
        justify-content: space-around;
        align-items: center;
    }

    #institucional h2 {
        font-size: 2.1em;
        text-align: center;
    }

    #video iframe{
        margin: 0;
    }

    /*-----------------Faixa de destaque--------------------*/

    #faixadestaque {
        background-attachment: fixed;
    }

    #faixadestaque .container {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-around;
        align-items: center;
    }

    #imagemFaixa img {
        width: 180px;
        height: 180px;
        border-radius: 10px;
    }

    /*Seção do address*/

    address {
        background-color: rgb(17, 17, 17);
        height: 400px;
        display: flex;
        align-items: center;
    }

    #contato {
        display: flex;
        flex-direction: row;
        gap: 100px;
    }

    #email a {
        text-decoration: none;
    }

    address p {
        color: white;
    }

    #mapa {
        display: flex;
    }

    /*-----Seção rodapé-----*/

    footer {
        height: 25vh;
    }
}

/* Fim | PCs / Notebooks >>>>>>>>>>>>>>>>>>>>>>>>>>>*/

/*-----------------------------------------*/

/*Telas FullHD / 4K / SmartTVS*/

@media (min-width: 1400px) {
    .container {
        max-width: 1360px;
        justify-content: space-between;
    }

    header {
        height: 200px;
        position: static;
    }

    #logo img {
        margin: 10px 0px 0px 5px;
        width: 180px;
        height: 180px;
    }

    #destaque .container {
        margin-top: 50px;
        justify-content: space-around;
        align-items: center;
    }
}