/* =========================
   FONTS
========================= */
@font-face{
    font-family:'Lato';
    src:url('/fonts/lato/Lato-Regular.woff2') format('woff2');
    font-weight:400;
    font-display:swap;
}
@font-face{
    font-family:'Lato';
    src:url('/fonts/lato/Lato-Light.woff2') format('woff2');
    font-weight:300;
    font-display:swap;
}
@font-face{
    font-family:'Lato';
    src:url('/fonts/lato/Lato-Bold.woff2') format('woff2');
    font-weight:700;
    font-display:swap;
}

/* =========================
   VARIABLES
========================= */

:root{

    --field-width: 92%;

}


/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Lato',sans-serif;
}


html,
body{

    width:100%;
    height:100%;

}


/* =========================
   BODY
========================= */

body{

    display:flex;
    justify-content:center;
    align-items:center;

    background:
    linear-gradient(
        165deg,
        #8e00ff,
        #4664ff,
        #24c8ff
    );

    overflow:hidden;
    position:relative;

}


/* =========================
   PARTICLES
========================= */

#particles-js{

    position:absolute;

    width:100%;
    height:100%;

    top:0;
    left:0;

    z-index:0;

}


/* =========================
   CONTAINER
========================= */

.forgot-container{

    position:relative;

    z-index:2;

    width:550px;

    max-width:95%;

    text-align:center;

}


/* =========================
   LOGO
========================= */

.brand-logo{

    width:450px;

    max-width:100%;

    height:auto;

    display:block;

    margin:0 auto 10px auto;

}


/* =========================
   BOX
========================= */

.forgot-box{

    width:100%;

    background:#fff;

    border-radius:12px;

    padding:35px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.25);

    text-align:center;

}


/* =========================
   TITLE
========================= */

.forgot-box h2{

    font-weight:400;

    font-size:32px;

    color:#333;

    margin-bottom:25px;

}


/* =========================
   INPUTS
========================= */

.forgot-box input{

    width:var(--field-width);

    display:block;

    margin:0 auto 12px auto;

    padding:13px;

    border-radius:6px;

    border:1px solid #ddd;

    font-size:18px;

    transition:.3s;

}


.forgot-box input:focus{

    border-color:#4664ff;

    box-shadow:
    0 0 8px rgba(70,100,255,.25);

    outline:none;

}


/* =========================
   HONEYPOT
========================= */

.honeypot{

    display:none;

}

.forgot-box button{

    width:var(--field-width);

    display:block;

    margin:0 auto;

    padding:13px;

    border:none;

    border-radius:6px;

    background:#4664ff;

    color:white;

    font-size:20px;

    cursor:pointer;

    transition:.3s;

}


.forgot-box button:hover{

    background:#3a54e0;

    transform:translateY(-2px);

}


/* ==========================
   SERVER ALERTS
========================== */

.server-error{

    display:block;

    color:#d00000 !important;

    background:none;

    border:none;

    padding:0;

    font-size:20px;

    font-weight:700;

    margin-top:20px;

    margin-bottom:10px;

    text-align:center;

}



.server-success{

    display:block;

    color:#198754 !important;

    background:none;

    border:none;

    padding:0;

    font-size:20px;

    font-weight:700;

    margin-top:20px;

    margin-bottom:10px;

    text-align:center;

}


/* ==========================
   INPUT VALIDATION MESSAGE
========================== */

.error-msg{

    display:none;

    width:var(--field-width);

    margin:5px auto 12px auto;

    color:#d00000 !important;

    background:none;

    border:none;

    padding:0;

    font-size:19px;

    font-weight:500;

    text-align:left;

}


/* =========================
   LINKS
========================= */

.links{

    margin-top:25px;

    font-size:16px;

}


.links a{

    color:#4664ff;

    text-decoration:none;

}


.links a:hover{

    text-decoration:underline;

}


/* =========================
   FOOTER
========================= */

.brand-footer{

    margin-top:25px;

    color:rgba(255,255,255,.85);

    font-size:18px;

    letter-spacing:.3px;

    line-height:1.8;

    text-align:center;

}


/* =========================
   MOBILE
========================= */

@media(max-width:600px){

    :root{

        --field-width: 100%;

    }


    .forgot-container{

        width:100%;

        max-width:550px;

        padding:0 15px;

    }


    .brand-logo{

        width:100%;

        max-width:340px;

        margin-left:auto;

        margin-right:auto;

    }


    .forgot-box{

        padding:30px;

    }


    .forgot-box h2{

        font-size:30px;

    }

}