* {
    margin: 0;
    padding: 0;
}

::-webkit-scrollbar {
    width: .5rem;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .2);
    border-radius: 20px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, .4);
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    font-size: 2rem;
    width: 100%;
    overflow-x: hidden;
}

body * {
    transition: all .5s;
}

ul,
ol {
    list-style: none;
}

a,
a:visited {
    color: #FFF;
    text-decoration: none;
}

.header {
    width: 100%;
    background-color: #0872FF;
    color: #fff;
    height: 5rem;
    align-items: center;
    overflow: hidden;
    display: flex;
}

.content {
    width: 100%;
    height: fit-content;
    min-height: 74.35vh;
    margin-bottom: 5rem;
    overflow-x: hidden;
    margin-top: 1rem;
    margin-bottom: 6rem;
}

.footer {
    margin-top: 1rem;
    width: 100%;
    height: 5rem;
    bottom: 0;
    background-color: #0872FF;
    position: fixed;
}

.hidden {
    display: none !important;
}

.row {
    width: 100%;
    display: flex;
    flex-direction: row;
    padding: .5rem;
}

.between {
    justify-content: space-between;
}

.around {
    justify-content: space-around;
}

.div-title {
    width: 50%;
}

.title {
    font-weight: bold;
    font-style: italic;
}

.title-icon {
    margin-left: 1rem;
    margin-right: 1rem;
}

.menu-icon {
    display: none;
    cursor: pointer;
}

.div-menus {
    width: 50%;
}

.div-menus ul {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    align-items: flex-end;
}

.div-menus ul li {
    margin-left: 2rem;
    font-size: 1.5rem;
    padding: .3rem;
}

.div-menus ul li a {
    display: block;
    width: 100%;
    height: 100%;
}

.div-menus ul li a:hover {
    border-bottom: 1px solid #fff;
}

.content .login {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: .5rem;
}

.content .login h2 {
    font-size: 2.5rem;
    margin: 1rem;
}

.content .login .form-auth {
    display: flex;
    flex-direction: column;
    width: 50%;
    justify-content: center;
}

.content .form-auth .form-input {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.content .login label {
    font-size: 1.5rem;
    font-weight: bold;
}

.content .login .input {
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 2rem;
    border: none;
    border-bottom: 1px solid;
    width: 100%;
}

.content .login .input:focus {
    outline: none;
    padding-left: .5rem;
    padding-right: .5rem;
}

.content .login .form-auth .form-buttom {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.buttom {
    background-color: #0872FF;
    width: 30%;
    height: 2rem;
    border: 1px solid #FFF;
    border-radius: 5px;
    cursor: pointer;
    color: #FFF;
    font-size: 1rem;
}

.buttom:hover,
.buttom:focus {
    background-color: #0e56b4;
    box-shadow: #cacaca 2px 2px;
    outline: none;
    border: none;
}

.buttom:active {
    background-color: #072e61;
    box-shadow: #000 2px 2px;
    outline: none;
    border: none;
}

.response {
    width: 100%;
    text-align: center;
    font-weight: bold;
    margin-top: 1rem;
}

.center-home {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    text-align: center;
}

.side-col {
    width: 20%;
    font-size: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1rem;
}

.center-col {
    width: 50%;
    font-size: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-left: 1px solid #cacaca;
    border-right: 1px solid #cacaca;
}

.center-col>div,
.side-col>div {
    border-bottom: 1px solid #cacaca;
    text-align: justify;
    padding: .5rem;
    cursor: pointer;
}

.center-col>div {
    width: 95%;
    cursor: default;
}

.center-col>div img {
    position: relative;
    float: right;
    top: -2.5rem;
    width: 5rem;
}

.center-col>div .text {
    font-size: 1.3rem;
    line-height: 2rem;
    width: 100%;
    text-overflow: ellipsis;
}


.center-col>div .code {
    cursor: pointer;
    margin-top: .5rem;
    margin-bottom: .5rem;
    color: #fff;
    background-color: rgb(109, 106, 106);
    width: 50%;
    border-radius: 5px;
}

.center-col>div .code p {
    width: 100%;
    border-bottom: #fff .5px solid;
    font-family: monospace;
    padding-left: .2rem;
}

.center-col .bem-vindo {
    text-align: center;
    cursor: default;
}

.center-col div h2,
.side-col div h2 {
    color: #000;
    font-weight: bold;
    border-bottom: 1px solid #000;
    margin-bottom: .5rem;
    width: fit-content;
}

.side-col>div:hover,
.center-col>div:hover {
    box-shadow: #ddd 10px 10px 10px, #ddd -10px 10px 10px;
    border-radius: 5px;
}

.center-col .bem-vindo:hover {
    box-shadow: none;
}

.center-calc {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.center-calc .calc {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
    border: 1px solid #000;
    align-items: center;
    background-color: #000;
    border-radius: 15px;
}

.center-calc .calc .visor {
    width: 85%;
    margin-top: 1rem;
    height: 5rem;
    border: 1px solid #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 5%;
    border-radius: 5px;
    background-color: #5DFF00;
    cursor: default;
}

.center-calc .calc .visor .linha-sup {
    width: 90%;
    text-align: left;
    height: 25%;
    font-size: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-top: .5rem;
}

.center-calc .calc .visor .linha-inf {
    width: 90%;
    text-align: left;
    height: 75%;
    font-size: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.center-calc .calc .teclas {
    margin-top: 1rem;
    width: 90%;
    height: 60vh;
    display: flex;
    flex-direction: row;
    justify-content: center;
    overflow: hidden;
    color: #fff;
}

.center-calc .calc .teclas .numericas {
    width: 75%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    font-weight: bold;
}

.center-calc .calc .teclas .operacoes {
    width: 25%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.center-calc .calc .teclas .numericas .num {
    width: 30%;
    height: 23%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid;
    margin: 0;
    cursor: pointer;
    border-radius: 5px;
}

.center-calc .calc .teclas .numericas .num-0 {
    width: 64.7%;
    height: 23%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid;
    margin: 0;
    cursor: pointer;
    border-radius: 5px;
}

.center-calc .calc .teclas .numericas .num-0:active,
.center-calc .calc .teclas .numericas .num:active {
    box-shadow: #fff 3px 3px;
    transition: all .1s;
}

.center-calc .calc .teclas .operacoes .op {
    width: 90%;
    height: 19.2%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid;
    margin: 0;
    cursor: pointer;
    border-radius: 5px;
}

.center-calc .calc .teclas .operacoes .op:active {
    background-color: #ddd;
    transition: all .05s;
}

.copy {
    width: 40%;
    height: 100%;
    font-size: 1rem;
    color: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-left: .5rem;
}

.content.alunos {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.content.alunos table {
    margin-top: 1rem;
    width: 90%;
    text-align: center;
    border-top: 1px solid black;
    border-collapse: collapse;
}

.content.alunos table th,
.content.alunos table tr {
    border-bottom: 1px solid #000;
}

.bt-novo {
    position: relative;
    top: 1rem;
    left: 40%;
    font-size: 1.5rem;
    cursor: pointer;
    background-color: #DDD;
    padding: .5rem;
    border-radius: 7px;
    transition: none;
}

.bt-novo:hover {
    background-color: #CCC;
}

.bt-novo:active {
    background-color: #CCC;
    box-shadow: inset #BBB .2rem .2rem;
    color: #FFF;
}

.header-tb {
    font-weight: bold;
}

tr.alunos {
    font-size: 1.5rem;
}

.aprovado {
    color: #5DFF00;
    font-weight: bold;
}

.reprovado {
    color: #FF0000;
    font-weight: bold;
}

.content .manual {
    width: 100%;
    text-align: center;
}

.content .manual p {
    margin-top: 1rem;
}

@media(max-width:720px) {
    .div-title {
        width: 100%;
        display: flex;
        flex-direction: row;
    }

    .menu-icon {
        display: initial;
        width: fit-content;
    }

    .div-menus {
        position: absolute;
        top: 5rem;
        background-color: #2862af;
        left: -100%;
    }

    .div-menus.show {
        margin: 0;
        left: 0;
    }

    .div-menus ul {
        flex-direction: column;
        align-items: flex-start;
    }

    .content .login .form-auth {
        width: 80%;
    }

    .buttom {
        width: 80%;
    }

    .center-calc .calc {
        width: 80%;
    }

    .center-calc .calc .visor {
        font-size: 1.5rem;
    }

    .center-home {
        flex-direction: column;
    }

    .center-home .left {
        display: none;
    }

    .center-home .center-col {
        width: 100%;
    }

    .center-home .center-col .code {
        width: 100%;
    }

    .center-home .side-col {
        width: 100%;
    }

    .side-col>div:hover,
    .center-col>div:hover {
        box-shadow: #ddd 10px 10px 10px, #ddd -10px -10px 10px;
        border-radius: 5px;
    }

    .header-tb {
        font-size: 1.3rem;
    }

    .bt-novo {
        left: 30%;
    }
}