* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
}

a {
    text-decoration: none;
    color: inherit;
}

li {
    list-style: none;
}

body {
    overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
}


.container {
    max-width: 90%;
    margin: 0 auto;
}


:root {
    --cor-azul: #007EB6;
    --cor-azulClaro: #00C3F0;
    --cor-branca: #ffffff;
    --cor-laranja: #FF4518;
    --cor-laranjaClaro: #ff5e00;
}

#btn-menu{
    z-index: 50;
    display: none;
}

/* HEADER */
header {
    width: 100%;
    background-color: var(--cor-branca);
    padding: 10px 0;
    box-shadow: 2px 0 10px #222222;
    position: fixed;
    z-index: 10;
}

.box-header {
    max-width: 90%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

header img {
    width: 180px;
}

.box-header nav ul {
    color: var(--cor-azul);
    display: flex;
    align-items:center;
}

.box-header nav li {
    padding: 10px;
    font-size: 16px;
}
.box-header nav i{
    font-size:20px;
}

.btn-whatsapp {
    width: 200px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 30;
}

/* BANNER PRINCIPAL */
.banner-principal {
    width: 100%;
    height: 90vh;
    background: url("../img/banner/bg_banner.webp") fixed;
    background-size: cover;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9;
}

.box-banner-principal {
    background-color: rgb(0, 195, 240, 0.5);
    width: 100%;
    height: 90vh;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9;
}

.item-banner {
    position: absolute;
    bottom: 0;
    width: 60%;
    min-width: 380px;
    left: 0;
    z-index: 10;
}

.txt-banner {
    position: relative;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 40px;
    border-radius: 20px;
    z-index: 9;
}

.txt-banner p {
    font-size: 60px;
    max-width: 50%;
    margin: 0 auto;
    font-weight: 700;
    color: var(--cor-branca);
    text-transform: uppercase;
}

.txt-banner h1 {
    font-size: 30px;
    max-width: 40%;
    font-weight: 600;
    margin: 20px auto;
    text-transform: uppercase;
    color: #222222;
}

.txt-banner button {
    padding: 20px;
    border: none;
    background-color: var(--cor-laranja);
    color: var(--cor-branca);
    transition: all 0.5s ease-in-out;
    border-radius: 50px;
    font-size: 20px;
    margin: 20px auto;
}

.txt-banner button:hover {
    background-color: var(--cor-laranjaClaro);
    z-index: 11;
}

/* SERVIÇOS */
.servicos {
    padding: 10px;
    background-color: var(--cor-azul);
}

.box-servicos ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: start;
    padding: 100px 0;
    height: 100vh;
}

.box-servicos li {
    width: 25%;
    padding: 5px;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
}

.box-servicos img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    margin-bottom: 5px;
    border-radius: 10px;
}

.box-servicos h2 {
    margin: 20px auto;
    font-size: 20px;
    text-transform: uppercase;
    color: var(--cor-laranja);
}

.box-servicos h3 {
    font-size: 30px;
    color: var(--cor-branca);
    width: 100%;
    text-align: center;
}

.item-servicos {
    background-color: var(--cor-branca);
    padding: 10px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
    height: auto;
    flex: 1 1 200px;
}

.box-servicos li p {
    height: 100%;
    font-size: 16px;
}

/* SOBRE */
.sobre {
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.box-sobre {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.box-sobre img {
    width: 60%;
}

.txt-sobre {
    width: 40%;
    padding: 50px;
}

.txt-sobre h3 {
    margin: 20px auto;
    font-size: 25px;
    color: var(--cor-azul);
}

.passagem-a {
    width: 100%;
    height: 50vh;
    background: url("../img/limpando_piscina.webp") fixed;
    background-size: cover;
    position: relative;
}

.passagem-b {
    width: 100%;
    height: 50vh;
    background: url("../img/servicos/manutencao_de_piscinas.webp") fixed;
    background-size: cover;
    position: relative;
}

/* CONTATO */
.contato {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: url("../img/banner/bg_banner.webp") fixed;
    background-size: cover;
}

.box-contato {
    display: flex;
    width: 100%;
    height: auto;
    background-color: rgb(0, 195, 240, 0.5);
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    position: relative;
    padding: 100px 0;
}

.contato img {
    width: 30%;
    transition: all 1s ease-in-out;
    margin: auto;
}

.contato form {
    width: 40%;
    margin-left: 0;
    background-color: var(--cor-azul);
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--cor-branca);
    border-radius: 10px;
    padding: 50px;
    border: 30px solid var(--cor-branca);
    box-shadow: 0 10px 20px #000000;
}

.contato label {
    display: block;
    width: 100%;
    margin-bottom: 10px;
}

.contato input,
.contato textarea {
    padding: 10px;
    width: 100%;
    border: none;
    border-radius: 5px;

}

.contato input:focus,
.contato textarea:focus {
    border: none;
    outline: none;
}

.contato input[type="submit"] {
    background-color: var(--cor-laranja);
    color: var(--cor-branca);
    transition: all 0.5s ease-in-out;
}

.contato input[type="submit"]:hover {
    background-color: var(--cor-laranjaClaro);
}

/* ANIMAÇÔES */
.animar {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s ease;
}

.animar.ativo {
    opacity: 1;
    transform: translateY(0);
}


@media screen and (max-width:720px) {
    .container {
        max-width: 100%;
    }
    #btn-menu{
    display:block;
    position: absolute;
    left: 20px;
    font-size:30px;
}
    header{
        z-index: 40;
    }
    .box-header img{
        margin: auto;
    }

    .menu {
        position: fixed;
        top:0;
        left:-100%;
        transition: all 0.5s ease-in-out;
        width:100%;
        height:100vh;
        background-color: var(--cor-branca);
        font-size:40px;
        z-index:10;
    }
    .active-menu{
        left: 0;
    }
    header nav ul{
        display:flex;
        padding:0;
        height:100vh;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    header nav li{
        width: 100%;
    }

    /* BANNER PRINCIPAL */
    .item-banner {
        width: 90%;
    }
    .txt-banner {
        margin: 100px auto;
    }
    .txt-banner p {
        font-size: 30px;
        max-width: 100%;
    }
    .txt-banner h1 {
        font-size: 15px;
        max-width: 90%;
    }
    /* SERVIÇOS */
    .servicos, .box-servicos,.box-servicos ul{
        height: auto;
    }
    .box-servicos ul li{
        width:90%;
        margin:20px auto;
    }
    /* SOBRE */
    .sobre, .box-sobre{
        height: auto;
    }
    .box-sobre{
        justify-content:space-between;
        flex-direction: column-reverse;
        align-items: center;
    }
    .box-sobre img, .txt-sobre{
        width:100%;
    padding: 50px 20px;
    text-align: center;
    }
    /* CONTATO */
    .contato{
        justify-content: space-between;
        flex-direction: column-reverse;
        align-items: center;
    }
    .box-contato{
        padding: 20px;
        flex-direction: column-reverse;
    }
    .contato form{
        width:100%;
        border:none;
        padding:20px;
    }
    .box-contato img{
        width:100%;
    }
}