/* GERAL */

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

/* TAGS */

body {
    font-family: 'Baloo Paaji 2', sans-serif;
}

section {
    height: 100vh;
    width: 100vw;
}

img {
    max-width: 100%;
    max-height: 100%;
}

/* TEXTO */

p, h1 {
    padding: 10px 30px;
}

p, ul {
    font-size: 1.3em;
}

section ul {
    padding-left: 60px;
}

/* BOTÕES VOLTAR E IR */

.voltar,
.avancar {
    position: fixed;
    bottom: 50px;
    text-decoration: none;
    padding: 10px 50px;
    font-weight: bold;
    animation-name: surgirVoltarAvancar;
    animation-duration: 5s;
}

@keyframes surgirVoltarAvancar {
    0% {opacity: 0;}
    90% {opacity: 0;}
    100% {opacity: 100;}
}

.voltar {
    right: 250px;
    border: 2px solid #801500;
    background-color: #FFF;
    color: #801500;
}

.avancar {
    right: 50px;
    border: 2px solid #FFF;
    color: #FFF;
    background-color: #801500;
}

.voltar:hover,
.avancar:hover {
    box-shadow: 0 0 30px 10px #FF2A00;
    opacity: 1;
}

/* TOOLTIP */

.explicacao {
    border-bottom: 2px dashed black;
    position: relative;
}

.explicacaoEscondido {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    max-width: 400px;
    height: auto;
    border: none;
    background-color: black;
    color: #fff;;
    padding: 5px;
    border-radius: 5px;
    z-index: 1;
}

.explicacao:hover .explicacaoEscondido{
    display: inline;
}

.spoiler {
    border-bottom: 2px dashed red;
    position: relative;
}

.spoilerEscondido {
    display: none;
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    max-width: 400px;
    height: auto;
    border: none;
    background-color: red;
    color: #fff;;
    padding: 5px;
    border-radius: 5px;
    z-index: 1;
}

.spoiler:hover .spoilerEscondido{
    display: inline;
}

/****************/
/* DIAGRAMAÇÕES */
/****************/

.um {
    display: flex;
    justify-content: center;
    /* align-items: center; */
}

    .um > div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100vh;
        width: 100vw;
    }

.umEUmHorizontal {
    display: flex;
    flex-direction: row;
}

    .umEUmHorizontal div {        
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 100vh;
        width: 50vw;
    }

.umEUmVertical {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

    .umEUmVertical > div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100vw;
        height: 50vh;
    }

.umEDoisHorizontal {
    display: flex;
    flex-direction: row;
}

    .umEDoisHorizontal div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 50vw;
    }

    .umEDoisHorizontal div div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 50vh;
    }

.doisEUmHorizontal {
    display: flex;
    flex-direction: row;
}

    .doisEUmHorizontal div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 50vw;
    }

    .doisEUmHorizontal div div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 50vh;
    }

.umEDoisVertical {
    display: flex;
    flex-direction: column;
}

    .umEDoisVertical div {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        height: 50vh;
    }

    .umEDoisVertical div div {
        display: flex;
        flex-direction: row;
        justify-content: center;
        width: 50vw;
    }

.doisEUmVertical {
    display: flex;
    flex-direction: column;
}

    .doisEUmVertical div {
        display: flex;
        flex-direction: row;
        justify-content: center;
        /* align-items: center; */
        height: 50vh;
    }

    .doisEUmVertical div div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 50vw;
    }

.doisEDois {
    display: flex;
}

    .doisEDois div {
        height: 50vh;
        width: 50vw;
    }

    .doisEDois div div {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }