:root{
    /* CORES */
    --cor-de-fundo:#faebd7;
    --cor-de-cinza: rgb(57, 57, 57);
    --cor-pré-cinza: rgb(165, 165, 165);

    /* FONTES */
    --fonte-chelsea: "Chelsea Market","Trebuchet MS", cursive;
    --fonte-inter: "Inter", sans-serif;

    /* vars tamanhos */
} 

html {
    background-color: var(--cor-de-fundo);
    color: var(--cor-de-cinza);

    scroll-snap-type: y mandatory;
}

html * {
    margin-block: 0;
}

.snap-scroller{
    scroll-snap-align: center;
}

/* ADAPTIVE */
b{
    font-weight: 800;
}


h1, h2{
    font-family: var(--fonte-chelsea);
    text-transform: uppercase;
}

h3, h4, h5{
    font-family: var(--fonte-inter);
    text-transform: uppercase;
    font-weight: 200;
}

h1{
    font-size: 64px;
}
    
h2 {
    font-size: 32px;
}
    
h3 {
    font-size: 30px;
}

h4 {
    font-size: 18px;
}

h5 {
    font-size: 10px;
}


@media (max-width: 750px) {
    h1{
        font-size: 32px;
    }
    
    h2 {
        font-size: 24px;
    }
    
    h3 {
        font-size: 22px;
    }

    h4 {
        font-size: 14px;
    }
    
    h5 {
        font-size: 10px;
    }
}

.inline{
    display: flex;
    flex-direction: row;
}

.height-center{
    align-items: center;
}

.line-height-one{
    line-height: 1em;
}

.line-height-oneandfive{
    padding-top: 0.5rem;
}


/* buttons */


button {
    background-color: transparent;
    color: var(--cor-pré-cinza);
    border: none;
    font-size: 1em;
    font-family: var(--fonte-inter);
    font-weight: 300;
    text-transform: uppercase;
    padding-right: 1em;
    padding-left: 0;

    transition: color 0.2s ease-in;
}

button:hover {
    color: var(--cor-de-cinza);
}

button.active {
    font-weight: 600;
    color: var(--cor-de-cinza);
}


/* ESQUERDA */

/* top */ 

#div-esquerda-superior div {
    margin-bottom: 6pt;
}

/* bottom */

#div-esquerda-inferior{
    max-width: 700px;
}

#div-esquerda-inferior .parte-cima{
    padding-bottom: 6pt;
}

#div-esquerda-inferior .parte-baixo{
    padding-top: 6pt;
}   

#div-esquerda-inferior .parte-baixo h4{
    line-height: 1.1rem;
}  

#div-esquerda-inferior .parte-baixo h5{
    font-weight: bold;
} 


.div-explain img{
    border-radius:50%;
    max-width: 45pt;
    margin-left: 10pt;
    outline: auto;
    outline-width: 2px;
    outline-color: var(--cor-de-cinza);
}

#div-grande-esquerda{
    position: fixed;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    min-width: 40vw;
    margin-left: 1rem;
}

#div-esquerda-superior, #div-esquerda-inferior {
    position: absolute;
    margin: 3rem;
    display: flex;
    flex-direction: column;
}

#div-esquerda-superior{
    top: 0;
}





#div-esquerda-inferior{
    bottom: 0;
}


.surge-do-lado {
    animation: animation-surge-do-lado 0.5s ease-out;
}

.surge-do-lado.revert {
    animation-direction: reverse;

}

.surge-do-outro-lado {
    animation: animation-surge-do-outro-lado 0.5s;
}



/* DIREITA */

#div-grande-direita{
    position: absolute;
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 40vh;
    margin-top: 6rem;
    padding-bottom: 5rem;
    min-width: 400px;
    max-width: 800px;
}

#div-grande-direita .containers-right {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;

    margin-right: 8rem;
}


/* VIDEO MOTION */
/* engloba o video e o video-back-motion */
.video-container{
    position: relative;
}

.video-container-pop-animation {
    overflow: hidden;
    animation: section-pop 0.8s linear(0, 0.402 7.4%, 0.711 15.3%, 0.929 23.7%, 1.008 28.2%, 1.067 33%, 1.099 36.9%, 1.12 41%, 1.13 45.4%, 1.13 50.1%, 1.111 58.5%, 1.019 83.2%, 1.004 91.3%, 1);
}



#main-video {
    max-width: 70%;
    position: absolute;
    z-index: 20;
    cursor: pointer;

}

.modo-grande{
    position: fixed !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 40;
    cursor: default;

}   



#big-video-cover{
    background-color: var(--cor-de-cinza);
    opacity: 90%;

    position: fixed !important;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    height: 100vh;
    width: 100vw;
    cursor:pointer;
    
    transition: opacity 0.5s ease-out;
}

#big-video-cover.invisible{
    cursor: default;
}


.video-back-motion{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    user-select: none;
}

.video-back-motion h1 {
    font-size: 5rem;
    opacity: 20%;
}

@keyframes drop-fade {
    0%{
        transform: translateY(-4rem);
        opacity: 0;
    }
    100%{
        transform: translateY(0);
        opacity: 0.2; 
    }
}

.video-back-motion > h1 {
    opacity: 0;
    animation: drop-fade 1s forwards;
}

.video-back-motion > div:nth-child(1) {
    animation-delay: 0.2s;
}

.video-back-motion > h1:nth-child(2) {
    animation-delay: 0.4s;
}
.video-back-motion > h1:nth-child(3) {
    animation-delay: 0.6s;
}
.video-back-motion > h1:nth-child(4) {
    animation-delay: 0.8s;
}

/* MARCAS */

#brands-presentation-holder{
    padding-top: 4rem;
}

.centered-text{
    text-align: center;
}

.grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-template-rows: repeat(2,1fr);
    align-items: center;
    justify-content: center;
}

.grid img,
.marcas-flex img {
    max-width: 130px;
    margin: -10px 0;
    scale: 90%;
    opacity: 66%;

    transition: scale 0.4s ease-out;
}

.grid img:hover,
.marcas-flex img:hover {
    scale: 105%;
    opacity: 100%;
}

.marcas-empresas-spacing{
    padding-bottom: 1rem;
}


/* CONTACTOS */
#div-contactos{
    background-color: var(--cor-de-cinza);
    color: var(--cor-de-fundo);
    text-align: right;
    position: relative;
}

.corretor-subtitulo{
    margin-right: 4px;
}


#contactos-foreground{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2rem;

    padding: 4rem 8rem 9rem 0 ;
}

#contactos-foreground h1{
    transform: translateX(-1px);
}

.parte-contactos {
    display: flex;
    flex-direction: column;

    gap: 2rem;
}

.parte-contactos-infra{
    display: flex;
    flex-direction: column;
    position: relative;
    min-height: 4.3rem;
}

.links-contactos {
    text-decoration: none;
    color: var(--cor-de-fundo);
    width: fit-content;
    position: absolute;
    bottom: 0;
    right: 0;
}

.links-contactos h4{
    opacity: 50%;
    transition: opacity 0.5s ease-out;
}

.links-contactos h4:hover{
    opacity: 100%;
}

#contactos-fundo{
    position: absolute;
    bottom: 2rem;
    right: 7rem;
    display: flex;
}

#contactos-fundo a{
    scale: 70%;
    opacity: 20%;
    transition: opacity 0.5s ease-out;
}

#contactos-fundo a:hover{
    opacity: 100%;
}


#contactos-fundo a{
    scale: 70%;
    opacity: 20%;
    
    transition: opacity 0.5s ease-out;
}

#contactos-fundo a img{
    margin-left: 1rem;
}

#contactos-fundo a img.invisible{
    margin: 0;
}


/* UI actions */

.invisible {
    opacity: 0 !important;
    transform: translateX(-50);
    pointer-events: none;
    position: absolute;
}




/* ANIMATIONS */

@keyframes surgir-de-baixo {
    from{
        opacity: 0;
        transform: translateY(0.5em);
    }
    to{
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animation-surge-do-lado{
    0% {
        opacity: 0;
        transform: translateX(-2em);
    }
        100% {
        opacity: 100%;
        transform: translateX(0);
    }
}

@keyframes animation-surge-do-outro-lado{
    0% {
        opacity: 0;
        transform: translateX(2em);
    }
        100% {
        opacity: 100%;
        transform: translateX(0);
    }
}


@keyframes section-pop {
    0%{
        opacity: 0;
        scale: 0;
    }
    75%{
        scale: 110%;
    }
    100% {
        opacity: 100%;
        scale: 100%;
    }
}