* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    /*outline: 1px solid red;*/
}

:root {
    --fundo-cinza: #fcfcfc;
    --branco: #fff;
    --azul-degrade: linear-gradient(150deg, rgba(116, 0, 184, 1) 32%, rgba(94, 96, 206, 1) 81%);
    --azul: #0077b6;
    --azul-escuro: #106390;
    --azul-opaco: #0076b62e;
    --cinza-borda: #e5e5e5;
    --vermelho: #b60000;
    --vermelho-escuro: #980707;
}

/* conteudo */
body {
    display: flex;
    height: 100dvh;
    width: 100%;

    & .conteudo {
        overflow: auto;
        height: 100%;
        width: 80%;
        background-color: var(--fundo-cinza);
        padding: 1rem;
    }
}

/* div erro */
#erro {
    position: fixed;
    bottom: -100%;
    right: 0;
    width: max-content;
    background-color: #fff;
    transform: translate(-50%, -50%);
    box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
    padding: 1rem;
    border-radius: .5rem;
    animation: sumir 4s;
    z-index: 750;
}

/* Loading */
#loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.59);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;

    & .spinner {
        border: .5rem solid #f3f3f3;
        border-top: .5rem solid var(--azul);
        border-radius: 50%;
        width: 4rem;
        height: 4rem;
        animation: spin 1s linear infinite;
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes sumir {
    0% {
        bottom: -100%;
    }

    10% {
        bottom: 0%;
    }

    50% {
        bottom: 0%;
    }

    100% {
        bottom: -100%;
    }
}

/* Para celulares (largura máxima de 600px) */
@media screen and (max-width: 600px) {
    body {
        & .conteudo {
            width: 100%;
            padding-top: 5rem;
        }
    }

    #erro {
        bottom: 100%;
        right: unset;
        left: 50%;
    }

    @keyframes sumir {
        0% {
            bottom: 100%;
        }

        10% {
            bottom: 75%;
        }

        90% {
            bottom: 75%;
        }

        100% {
            bottom: 100%;
        }
    }
}