:root {
    color-scheme: light only;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.clear {
    clear: both;
}

body {
    margin: 0;
    padding: 0;
    background: #ECC59C;
}

.clear {
    clear: both;
}

textarea:focus,
input:focus,
select:focus {
    outline: none;
}

.error::placeholder,
.error {
    color: var(--preto)!important;
}

html{
    scroll-behavior: smooth !important;
}


html::-webkit-scrollbar-track {
    background: var(--bege);
}

html::-webkit-scrollbar-thumb {
    background-color: var(--laranja);
    border-radius: 20px;
    border: 3px solid rgb(255 255 255);
}

html::-webkit-scrollbar {
    width: 12px;
    height: 10px;
}

:root {
    --laranja: #C33A00;
    --creme: #ECC59C;
    --bege: #FFECD5;
    --branco: #ffff;
    --preto: #000;
    --transicao: 0.3s ease-in-out;
    --never-extra: 'nevermind-extra';
    --never-regular: 'nevermind-regular';
    --never-bold: 'nevermind-bold';
    --vermelho: #f30000;
}

@font-face {
    font-family: 'nevermind-extra';
    src: url('../fonts/NeverMindBauhaus-Extrabold-BF6501284a9b844.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'nevermind-regular';
    src: url('../fonts/NeverMindBauhaus-Regular-BF6501284a7fde0.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'nevermind-bold';
    src: url('../fonts/NeverMindBauhaus-Bold-BF6501284a8ae7b.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@keyframes shakeX {
  from, to {
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}

.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}


.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX;
}

#banner{
    background: url(../imagens/fundo-banner-desk.webp);
    position: relative;
    background-size: contain;
    background-repeat: no-repeat;
    margin-bottom: -20px;
    max-width: 100%;
    max-height: 938px;
    height: 49vw;
    z-index: 3;
}

#banner .container{
    width: 1692px;
    margin: 0 auto;
    max-width: 90%;
    align-items: center;
    padding-top: 174px;
}

#banner .container .titulo{
    font-family: var(--never-extra);
    color: var(--bege);
    font-weight: 800;
    font-size: 90.45px;
    width: 822px;
    max-width: 100%;
    letter-spacing: 0;
    line-height: 109%;
    text-transform: uppercase;
    margin-bottom: 23px;
}

#banner .container .texto{
    font-family: var(--never-regular);
    color: var(--bege);
    font-weight: 400;
    font-size: 43.22px;
    line-height: 124%;
    letter-spacing: 0;
    width: 713px;
    max-width: 100%;
    margin-bottom: 31px;
}

#banner .container a{
    background-color: var(--bege);
    font-family: Montserrat;
    color: var(--laranja);
    font-weight: 700;
    font-size: 15px;
    line-height: 105%;
    letter-spacing: 0.15px;
    vertical-align: middle;
    text-decoration: none !important;
    transition: var(--transicao);
    padding: 10px 80px;
    border: 1px solid var(--bege);
    border-radius: 8px;
}

#banner .container a:hover{
    border: 1px solid var(--bege);
    background-color: var(--laranja);
    color: var(--bege);
}

/* Seção Formulário */

#form{
    background: url(../imagens/fundo-form.webp);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: 2;
    height: 780px;
    margin-top: -104px;
}

.bege{
    background-color: var(--bege);
}

#form .container {
    width: 1451px;
    margin: 0 auto;
    display: flex;
    max-width: 90%;
    align-items: center;
    padding-top: 185px;
}

#form .container .esq {
    width: 71%;
    position: relative;
    left: 36px;
}

#form .container .esq .titulo {
    font-family: var(--never-extra);
    font-weight: 800;
    font-size: 50px;
    line-height: 117%;
    letter-spacing: 0;
    color: var(--laranja);
    width: 668px;
    max-width: 100%;
    text-transform: uppercase;
    margin-bottom: 8px;
}

#form .container .esq .texto{
    font-family: var(--never-regular);
    font-weight: 500;
    font-size: 21px;
    line-height: 122%;
    letter-spacing: 0;
    color: var(--preto);
}

#form .container .dir{
    width: 42%;
}

.formulario-contato .texto{
    font-family: var(--never-bold);
    font-weight: 700;
    font-size: 23.3px;
    line-height: 100%;
    letter-spacing: 0.23px;
    text-align: center;
    color: var(--branco);
    margin-bottom: 15px;
}

.formulario-contato .preencha{
    font-family: Montserrat;
    font-weight: 300;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.14px;
    text-align: center;
    color: var(--branco);
    margin-bottom: 10px;
    opacity: .7;
}

.formulario-contato {
    background: var(--laranja);
    border-radius: 10px;
    padding: 94px 5px 29px 5px;
    max-width: 100%;
    height: 519px;
    width: 519px;
    font-family: Montserrat;
    color: var(--branco);

}


.formulario-contato .form {
    margin-top: 15px;
}

.formulario-contato .formcon {
    position: relative;
    margin-bottom: 14px;
}

.formulario-contato .input-form {
    width: 74%;
    padding: 11px;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    border: 0.5px solid var(--branco);
    background: var(--laranja);
    background-color: var(--laranja);
    color: var(--branco);
    font-family: Montserrat;
    font-size: 14px;
    font-weight: 400;
    outline: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
    border-radius: 10px;
    opacity: .6;
}

.formulario-contato .input-form::placeholder {
    color: transparent;
}


.formulario-contato .formcon label {
    position: absolute;
    left: 76px;
    top: 10px;
    color: var(--branco);
    background: var(--laranja);
    font-size: 14px;
    font-weight: 400;
    pointer-events: none;
    transition: all 0.3s ease;
    background: transparent;
    padding: 0;
}

.subir {
    top: -12px !important;
}

.formulario-contato .formcon .subir {
    position: absolute;
    left: 76px;
    top: 12px;
    color: var(--preto);
    background: var(--laranja) !important;
    font-size: 12px;
    font-weight: 400;
    pointer-events: none;
    transition: all 0.3s ease;
    padding: 0;
}

.formulario-contato .error {
    border-color: var(--preto) !important;
    color: var(--preto);
}

/* 2. Estilo que faz o label "subir" */
.subir .formulario-contato .input-form:focus+label,
.formulario-contato .input-form:not(:placeholder-shown)+label {
    top: -10px;
    left: 5px;
    font-size: 12px;
    color: var(--branco);
    background-color: black;
    padding: 0 5px;
}

.formulario-contato .input-form:focus+label,
.formulario-contato .input-form:not(:placeholder-shown)+label {
    top: -10px;
    left: 70px;
    font-size: 14px;
    background: var(--laranja);
    padding: 0 5px;
    border-radius: 10px !important;
}

.formulario-contato .textarea-form {
    min-height: 50px;
    resize: vertical;
    padding-top: 11px;

}

.formulario-contato .check {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0 auto;
    font-family: Montserrat;
    color: var(--branco);
    font-size: 11px;
    font-weight: 400;
    line-height: 100%;
    cursor: pointer;
    padding: 0 47px;
}

.formulario-contato .check input[type="checkbox"] {
    margin: 0;
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    appearance: none;
    -webkit-appearance: none;
    border: 1.38px solid var(--branco);
    border-radius: 2px;
    cursor: pointer;
    position: relative;
}

/* Estilo quando marcado */
.formulario-contato .check input[type="checkbox"]:checked {
    border: 1.38px solid var(--branco);   
}

/* Criando o marcador de check */
.formulario-contato .check input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 0;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Botão */
.formulario-contato .btn-enviar {
    margin-top: 19px;
}

.formulario-contato .envia-formulario {
    width: 74%;
    display: flex;
    margin: 0 auto;
    padding: 11px;
    background: var(--bege);
    color: var(--laranja);
    border: none;
    border-radius: 13px;
    font-family: Montserrat;
    font-weight: 700;
    font-size: 19.57px;
    line-height: 16.78px;
    letter-spacing: 0.19px;
    cursor: pointer;
    transition: var(--transicao);
    border: 1px solid var(--bege);
}

.input-form.error::placeholder {
    color: var(--laranja) !important;
    opacity: 1 !important;
}

.formulario-contato .envia-formulario:hover {
    border: 1px solid var(--bege);
    background-color: var(--laranja);
    color: var(--bege);
}

.formulario-contato .envia-formulario:active {
    transform: translateY(0);
}


/* Realização */

#realizacao{
    position: relative;
    background-color: var(--bege);
}

#realizacao::after{
    content: '';
    position: absolute;
    background: url(../imagens/after-realizacao.webp);
    background-repeat: no-repeat;
    width: 189px;
    height: 823px;
    left: 0px;
    top: -235px;
    z-index: 0;
}

#realizacao .container{
    width: 1209px;
    margin: 0 auto;
    display: flex;
    max-width: 90%;
    align-items: center;
    gap: 203px;
    padding-top: 91px;
    padding-bottom: 61px;
}

#realizacao .container .titulo{
    font-family: var(--never-extra);
    font-weight: 800;
    font-size: 66px;
    line-height: 70.78px;
    letter-spacing: 5.28px;
    color: var(--preto);
    width: 556px;
    max-width: 100%;
}

#realizacao .texto-legal{
    font-family: Montserrat;
    font-weight: 600;
    font-size: 12px;
    line-height: 137%;
    text-align: center;
    color: #222222;
    width: 1408px;
    max-width: 90%;
    margin: 0 auto;
    padding-bottom: 80px;
}

#realizacao .bold{
    font-weight: 800;
}

/* Footer */

footer{
    padding: 20.5px;
    background-color: #204B4E;
    position: relative;
    z-index: 2;
}

footer .logo-exent{
    display: flex;
    margin: 0 auto;
}

/* Responsivo */

@media screen and (max-width: 2560px) {
    #banner{
        background-size: cover;
    }
    
}

@media screen and (max-width: 1920px) {
    #banner{
        background-size: contain;
    }
    
}



@media screen and (max-width: 1680px){
    #banner .container {
        padding-top: 128px;
    }
    
    #banner .container .titulo{
        font-size: 80px;
        width: 768px;
    }

    #banner .container .texto {
        font-size: 38px;
        width: 623px;
    }
}

@media screen and (max-width: 1600px) {
    #banner .container .titulo {
        font-size: 71px;
        width: 634px;
    }

    #banner .container .texto {
        font-size: 35px;
        width: 623px;
    }
}

@media screen and (max-width: 1440px) {
    #banner .container .titulo {
        font-size: 59px;
        width: 571px;
    }

    #banner .container .texto {
        font-size: 33px;
        width: 623px;
    }

    #form .container .esq .titulo {
        font-size: 45px;
        width: 80%;
    }

    #realizacao::after {
        height: 988px;
    }

    #realizacao .container {
        justify-content: center;
        gap: 122px;
    }

    #realizacao .container .titulo {
        font-size: 55px;
        line-height: 61.78px;
    }

}

@media screen and (max-width: 1280px) {
    #banner .container {
        padding-top: 106px;
    }
    
    #banner .container .titulo {
        font-size: 52px;
        width: 46%;
            
    }

    #banner .container .texto {
        font-size: 30px;
        width: 49%;
    }

    #form .container .esq .titulo {
        font-size: 41px;
        width: 85%;
    }

    #form .container .esq .texto {
        font-size: 18px;
    }

    #realizacao .container {
        gap: 40px;
    }

    #realizacao .container .titulo {
        font-size: 49px;
        line-height: 55.78px;
        letter-spacing: 4.28px;
    }

    
}

@media screen and (max-width: 1100px) {
    #banner .container .titulo {
        font-size: 45px;
    }

    #banner .container .texto {
        font-size: 28px;
    }

    #form .container .esq .titulo {
        font-size: 28px;
        width: 72%;
    }

    #form .container .esq .texto {
        font-size: 16px;
    }

    #form .container .dir {
        width: 47%;
    }

}

@media screen and (max-width: 1024px) {
    #form {
        height: auto;
    }

    #form .container {
        flex-direction: column;
        gap: 26px;
        padding-bottom: 74px;
        padding-top: 162px;
    }

    #form .container .esq {
        width: 100%;
        left: unset;
    }

    #form .container .esq .titulo {
        font-size: 36px;
        width: 100%;
        text-align: center;
    }

    #form .container .esq .texto {
        font-size: 18px;
        text-align: center;
        max-width: 100%;
    }

    #form .container .dir {
        width: 100%;
    }

    .formulario-contato {
        margin: 0 auto;
        max-width: 100%;
    }

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

    #realizacao .container .titulo {
        width: 100%;
        text-align: center;
        font-size: 41px;
        line-height: 50px;
        letter-spacing: 2.28px;
    }

    #banner .container {
        padding-top: 56px;
    }

    #banner .container .titulo {
        font-size: 37px;
    }

    #banner .container .texto {
        font-size: 26px;
    }

}

@media screen and (max-width: 845px) {
    #banner .container .titulo {
        font-size: 31px;
    }

    #banner .container .texto {
        font-size: 23px;
    }
}

@media screen and (max-width: 768px) {
    #banner{
        background: url(../imagens/banner-tablet.webp);
        max-height: 848px;
        height: 115vw;
        background-size: contain;
        background-repeat: no-repeat
    }

    #banner .container {
        padding-top: 65px;
    }

    #banner .container .titulo {
        font-size: 40px;
        width: 64%;
    }

    #banner .container .texto {
        font-size: 24px;
        width: 54%;
    }

    #banner .container a {
        padding: 10px 68px;
    }
    

    #form {
        margin-top: -11vh;
    }
    
    #realizacao .container .titulo {
        font-size: 36px;
    }

    #realizacao .container .imagem img{
        width: 323px;
    }
}

@media screen and (max-width: 680px) {
    #realizacao .container .titulo {
        font-size: 33px;
        line-height: 38px;
    }

    #realizacao::after {
        height: 979px;
    }
}

@media screen and (max-width: 600px){
    #banner .container .titulo {
        font-size: 36px;
    }
    
    #banner .container .texto {
        font-size: 22px;
        width: 69%;
    }

    #banner .container a {
        display: none;
    }

 
}

@media screen and (max-width: 549px){
    #banner .container .titulo {
        font-size: 31px;
        width: 69%;
    }

    #banner .container .texto {
        font-size: 22px;
        width: 44%;
    }

    #banner .container a {
        padding: 10px 44px;
    }
}

@media screen and (max-width: 490px) {
 
    #form .container .esq .titulo {
        font-size: 32px;
    }

    #form .container .esq .texto {
        font-size: 16px;
    }

    .formulario-contato .texto {
        font-size: 20px;
        padding: 0 23px;
    }

    .formulario-contato .preencha {
        font-size: 13px;
        padding: 0 19px;
        line-height: 108%;
    }

    .formulario-contato .input-form {
        width: 90%;
    }

    .formulario-contato .formcon label {
        left: 34px;
        top: 12px;
        font-size: 13px;
    }

    .formulario-contato .input-form:focus+label,
    .formulario-contato .input-form:not(:placeholder-shown)+label {
        left: 32px;
        font-size: 13px;
    }

    .formulario-contato .check {
        padding: 0 29px;
    }

    #realizacao::after {
        height: 921px;
    }

    #realizacao .container .titulo {
        font-size: 30px;
        line-height: 36px;
        letter-spacing: -0.72px;
    }

    #realizacao .container .imagem img {
        width: 267px;
        max-width: 90%;
        display: flex;
        margin: 0 auto;
    }

}

@media screen and (max-width: 450px) {
    #banner{
        background: url(../imagens/banner-mobile.webp);
        max-height: 848px;
        height: 190vw;
        background-size: contain;
        background-repeat: no-repeat;
    }

    #banner .container {
        padding-top: 94px;
    }

    #banner .container .titulo {
        font-size: 39px;
        width: 100%;
    }

    #banner .container .texto {
        font-size: 27px;
        width: 100%;
    }

    #form {
        margin-top: -11vh;
    }

}

@media screen and (max-width: 400px) {
    #banner .container {
        padding-top: 85px;
    }
    
    #banner .container .titulo {
        font-size: 35px;
    }

    #banner .container .texto {
        font-size: 23px;
    }
    
    #realizacao::after {
        height: 980px;
    }
}


@media screen and (max-width: 360px) {
    #banner .container .titulo {
        font-size: 27px;
    }

    #banner .container .texto {
        font-size: 21px;
    }
    

}


@media screen and (max-width: 318px) {
    #banner .container {
        padding-top: 60px;
    }
    
    #banner .container .titulo {
        margin-bottom: 8px;
    }
    
    #banner .container .texto {
        font-size: 20px;
        line-height: 117%;
    }
    
}