@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/* =========================
   RESET
========================= */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    width:100%;
    height:100%;
    overflow:hidden !important;
}

body.login-page{
    font-family:'Poppins',sans-serif;
    background:linear-gradient(135deg,#667eea,#764ba2);
    overflow:hidden !important;
    position:relative;
}

/* =========================
   REMOVE BOOTSTRAP OVERFLOW
========================= */
.container,
.container-fluid,
.row,
.col-md-12,
.col-xs-8,
.col-xs-4{
    margin:0 !important;
    padding:0 !important;
    max-width:100% !important;
}

/* =========================
   HIDE ALL MARQUEE AREA
========================= */
marquee,
.text-center{
    display:none;
}

/* =========================
   CENTER LOGIN BOX
========================= */
.login-box{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:450px;
    max-width:95%;
    margin:0 !important;
}

/* =========================
   LOGIN CARD
========================= */
.login-box-body{
    background:#fff;
    border-radius:10px;
    padding:35px;
    box-shadow:0 20px 50px rgba(0,0,0,.20);
}

/* =========================
   LOGO
========================= */
.register-logo{
    text-align:center;
    margin-bottom:25px;
}

.register-logo img{
    max-width:220px;
    width:100%;
    height:auto;
    margin-bottom:10px;
}

.register-logo a{
    text-decoration:none;
    font-size:30px;
    font-weight:700;
    color:#333;
}

.register-logo b{
    color:#667eea;
}

/* =========================
   INPUTS
========================= */
.form-group{
    margin-bottom:15px;
}

.form-control{
    height:50px;
    border:2px solid #e4e7ec;
    border-radius:12px;
    box-shadow:none;
    font-size:14px;
    transition:.3s;
}

.form-control:focus{
    border-color:#667eea;
    box-shadow:0 0 0 4px rgba(102,126,234,.15);
}

.form-control-feedback{
    top:8px;
    right:12px;
    font-size:18px;
}

/* =========================
   CHECKBOX
========================= */
.login-options{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.checkbox-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:#555;
}

/* =========================
   BUTTON
========================= */
.btn-primary{
    height:50px;
    border:none;
    border-radius:12px;
    background:linear-gradient(135deg,#667eea,#764ba2);
    font-size:15px;
    font-weight:600;
    transition:.3s;
}

.btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(102,126,234,.30);
}

/* =========================
   LINKS
========================= */
.login-box-body a{
    text-decoration:none;
    color:#667eea;
    font-weight:500;
}

.login-box-body a:hover{
    color:#764ba2;
}

/* =========================
   STATUS
========================= */
#status{
    display:inline-block;
    margin-top:10px;
    color:#16a34a;
    font-weight:600;
}

/* =========================
   RECAPTCHA
========================= */
.g-recaptcha{
    overflow:hidden;
    transform-origin:left top;
}

@media(max-width:500px){

    .login-box{
        width:95%;
    }

    .login-box-body{
        padding:20px;
    }

    .register-logo a{
        font-size:24px;
    }

    .g-recaptcha{
        transform:scale(0.82);
    }

    .row .col-xs-8,
    .row .col-xs-4{
        width:100%;
        float:none;
    }

    .btn-primary{
        margin-top:10px;
    }
}

/* =========================
   BACKGROUND EFFECT
========================= */
body:before{
    content:'';
    position:absolute;
    width:300px;
    height:300px;
    background:rgba(255,255,255,.12);
    border-radius:50%;
    top:-100px;
    left:-100px;
}

body:after{
    content:'';
    position:absolute;
    width:300px;
    height:300px;
    background:rgba(255,255,255,.10);
    border-radius:50%;
    bottom:-100px;
    right:-100px;
}