* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font);
}

/* Variáveis globais */

:root {
    --white: #fff;
    --bg-img: #2135A6;
    --font: 'Poppins', sans-serif;
    --smooth: 0.3s all ease;
    --gray: #ccc;
}

body {
    position: relative;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
}

.box {
    position: relative;
    width: 40%;
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    color: var(--white);
    background-color: var(--bg-img);
}

.box .box-img{
    position: relative;
    width: initial;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.box .box-img img{
    width: 50%;
}

.box .box-descricao {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.box-descricao h1 {
    font-size: 2vmax;
    text-align: center;
    font-weight: bolder;
}

.box-descricao p {
    margin: 1.8vmax 0;
    font-size: 1.2vmax;
    width: 60%;
    font-weight: 300;
    text-align: center;
}

.box-descricao a {
    width: auto;
    height: auto;
    padding: 0.5vmax 2vmax;
    font-size: 1vmax;
    color: var(--white);
    border-radius: 0.8vmax;
    text-decoration: none;
    border: 0.1vw solid var(--white);
    cursor: pointer;
    transition: var(--smooth);
}

.box-descricao a:hover {
    background-color: var(--white);
    transition: var(--smooth);
    color: var(--bg-img);
}

.box-login {
    position: relative;
    width: 60%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.form-login {
    position: relative;
    width: 50%;
    height: auto;
    padding: 2vmax;
}

.text-title {
    width: 100%;
    font-size: 2vmax;
    color: var(--bg-img);
    text-align: center;
    margin: 1vmax 0;
}

.form-icon {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.form-icon span{
    width: 3vmax;
    height: 3vmax;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0.7vmax;
    border-radius: 100%;
    border: 0.1vw solid var(--bg-img);
    transition: var(--smooth);
    cursor: pointer;
}

.form-icon span i{
    font-size: 1vmax;
    color: var(--bg-img);
}

.form-icon span:hover{
    background-color: var(--bg-img);
    transition: var(--smooth);
}

.form-icon span:hover i{
    color: var(--white);
    transition: var(--smooth);
}

label {
    font-size: 1.1vmax;
    color: var(--bg-img);
    position: relative;
}

.form-login input {
    width: 100%;
    margin: 15px auto;
    padding: 0.8vmax;
    font-size: 1vmax;
    border: 0.1vw solid var(--gray);
    border-radius: 5px;
    transition: border-color 0.3s ease;
}

.form-login input:focus{
    border-color: var(--bg-img);
    outline: none;
}

.form-login input::placeholder{
    font-size: 0.8vmax;
}

.button-login {
   position: relative;
   width: 100%;
   height: auto;
   margin-top: 1vw;
   display: flex;
   justify-content: center;
   align-items: center;
}

.button-login button{
    width: auto;
    height: auto;
    padding: 0.5vmax 2vmax;
    background-color: var(--bg-img);
    color: var(--white);
    font-size: 1vmax;
    border: 0.1vw solid var(--bg-img);
    border-radius: 1.9vmax;
    cursor: pointer;
    transition: var(--smooth);
}
.button-login button:hover {
    background-color: transparent;
    border: 0.1vw solid var(--bg-img);
    color: var(--bg-img);
}

/*======Responsividade======*/

@media (max-width:998px){
    body{
        flex-direction: column;
        height: auto;
        overflow-y: auto;
    }
    .box{
        width: 100vw;
        height: 100vh;
    }
    
    .box h1{
        font-size: 42px;
    }

    .box p{
        font-size: 18px;
    }

    .box a{
        font-size: 15px;
    }

    .box-login{
        width: 100vw;
        height: 100vh;
    }

    .text-title h1{
        font-size: 42px;
    }

    .form-icon span{
        width: 45px;
        height: 45px;
    }

    .form-icon span i{
        font-size: 25px;
    }

    .form-login label{
        font-size: 15px;
    }

    .form-login input{
        padding: 15px 10px;
    }

    .form-login input::placeholder{
        font-size: 15px;
    }
    
    .button-login{
        margin-top: 25px;
    }

    .button-login button{
        font-size: 18px;
        padding: 5px 40px;
    }
}

@media (max-width: 600px){
    .box h1{
        font-size: 28px;
    }

    .box p , a{
        font-size: 15px;
    }

    .text-title h1{
        font-size: 32px;
    }

    .form-icon{
        margin: 30px 0;
    }

    .form-icon span{
        width: 35px;
        height: 35px;
    }

    .form-icon span i{
        font-size: 18px;
    }

    .form-login {
        width: 80%;
    }

    .form-login input{
        font-size: 15px;
    }
}