/************************************************
    LOGIN MODERN - PORTAL BELAJAR JDN
************************************************/
html,
body.login-page{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    overflow:hidden;
    font-family:'Segoe UI',Tahoma,Arial,sans-serif;
}

/************************************************
    WRAPPER
************************************************/
.login-wrapper{
    width:100%;
    height:100vh;
    display:flex;
    position:relative;
    z-index:10;
}

/************************************************
    LEFT PANEL
************************************************/
.login-left{
    flex:1;
    position:relative;
    color:#FFF;
    overflow:hidden;
}

.login-overlay{
    position:absolute;
    left:0;
    top:0;
    right:0;
    bottom:0;
    background:linear-gradient(
        120deg,
        rgba(5,30,60,.70),
        rgba(20,90,150,.40)
    );
}

.login-brand{
    position:relative;
    z-index:10;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:50px 60px;
}


.brand-company{
    display:inline-block;
    background:#0F4C81;
    color:#FFF;
    padding:10px 18px;
    border-radius:5px;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
}


.brand-content{
    max-width:560px;
}


.brand-content h1{
    font-size:58px;
    font-weight:700;
    margin-bottom:5px;
}


.brand-content h3{
    font-weight:300;
    margin-top:0;
    color:#E5F3FF;
    margin-bottom:35px;
}


.brand-desc{
    font-size:18px;
    line-height:32px;
    color:#F3F3F3;
    margin-bottom:45px;
}


.feature-list{
    margin-top:20px;
}


.feature-item{
    margin-bottom:18px;
    font-size:18px;
    letter-spacing:.5px;
	transition:.25s;
}

.feature-item:hover{
    transform:translateX(8px);
}

.feature-item i{
    color:#6FE6FF;
    margin-right:12px;
}


/************************************************
    RIGHT PANEL
************************************************/
.login-right{
    width:470px;
    background:rgba(255,255,255,.92);
    display:flex;
    justify-content:center;
    align-items:center;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:-10px 0px 40px rgba(0,0,0,.15);
}

.login-card{
    width:360px;
	border-radius:18px;
    background:white;
    padding:45px;
    box-shadow:0 25px 60px rgba(0,0,0,.18);
	animation:cardFade .8s ease;
}

.login-header{
    text-align:center;
    margin-bottom:35px;
}

.login-icon{
    font-size:58px;
    color:#0F4C81;
    margin-bottom:10px;
}

.login-header h2{
    font-weight:600;
    margin-top:0;
    margin-bottom:10px;
    color:#1F2D3D;
}

.login-header p{
    color:#888;
    line-height:24px;
}

@keyframes cardFade{
    from{
        opacity:0;
        transform:translateY(25px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/************************************************
    LABEL
************************************************/
.login-card label{
    font-weight:600;
    color:#444;
    margin-bottom:8px;
}

/************************************************
    INPUT
************************************************/
.login-card .form-control{
    height:48px;
    border-radius:10px;
    border:1px solid #D5DDE5;
    box-shadow:none;
    padding-left:15px;
    font-size:15px;
    transition:.25s;
	transition: .25s, box-shadow .25s, transform .25s;

}

.login-card .form-control:focus{
    border-color:#1E88E5;
    box-shadow:0 0 15px rgba(30,136,229,.20);
	transform:translateY(-1px);
}


.login-card .form-group{
    margin-bottom:20px;
}


.form-control-feedback{
    line-height:48px;
    color:#888;
}

/************************************************
    CAPTCHA
************************************************/
.captcha-box{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}

.captcha-question{
    width:150px;
    height:48px;
    border-radius:10px;
    background:#EEF5FB;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:20px;
    font-weight:700;
    color:#0F4C81;
}

.captcha-question .number{
    width:35px;
    text-align:center;
}

.captcha-question .operator{
    width:20px;
    text-align:center;
}

.captcha-answer{
    flex:1;
}


/************************************************
    BUTTON
************************************************/
.login-button-group{
    margin-top:30px;
}

.login-button-group .btn{
    height:48px;
    border-radius:10px;
    font-weight:600;
    transition:.3s;
}

.login-button-group .btn-primary{
    background:#0F4C81;
    border-color:#0F4C81;
	transition:.25s;
}

.login-button-group .btn-primary:hover{
    background:#1E88E5;
    border-color:#1E88E5;
	transform:translateY(-2px);
    box-shadow:0 12px 25px rgba(0,0,0,.18);
}

.login-button-group .btn-default{
    margin-top:12px;
}


/************************************************
    FOOTER
************************************************/
.login-footer{
    text-align:center;
    margin-top:35px;
    border-top:1px solid #EAEAEA;
    padding-top:18px;
}

.powered{
    font-weight:600;
    color:#444;
}

.copyright{
    color:#888;
    font-size:12px;
    margin-top:5px;
}


/************************************************
    ALERT
************************************************/
.login-alert{
    position:fixed;
    top:20px;
    right:20px;
    z-index:99999;
    width:350px;
    display:none;
}

/************************************************
    ANIMATION
************************************************/
@keyframes zoomBackground{
    0%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.05);
    }

    100%{
        transform:scale(1);
    }
}

body.login-page{
    animation:zoomBackground 30s ease-in-out infinite;
}

/************************************************
    RESPONSIVE
************************************************/
@media(max-width:991px){
	.login-left{
		display:none;
	}

	.login-right{
		width:100%;
		background:rgba(255,255,255,.94);
	}

	.login-card{
		width:90%;
		max-width:380px;
	}

	body.login-page{
		overflow:auto;
	}
}

@media(max-width:500px){
	.login-card{
		width:95%;
	}

	.login-header h2{
		font-size:24px;
	}

	.login-icon{
		font-size:48px;
	}

	.captcha-box{
		flex-direction:column;
		align-items:stretch;
	}

	.captcha-question{
		width:100%;
	}
}

/**********************************************
BACKGROUND MODERN
**********************************************/
body.login-modern{
    position:relative;
    overflow:hidden;
    background:#0B1E33;
}

body.login-modern::before{
    content:"";
    position:fixed;
    inset:0;
    background-image:
        linear-gradient(
            rgba(8,25,45,.35),
            rgba(8,25,45,.35)
        ),
        var(--login-bg);
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    animation:backgroundZoom 30s ease-in-out infinite;
    transform-origin:center;
    z-index:-2;
}

body.login-modern::after{
    content:"";
    position:fixed;
    inset:0;
    background:
        radial-gradient(
            circle at top left,
            rgba(255,255,255,.10),
            transparent 40%
        ),
        radial-gradient(
            circle at bottom right,
            rgba(30,136,229,.15),
            transparent 45%
        );
    z-index:-1;
}

@keyframes backgroundZoom{
    0%{
        transform:scale(1);
    }

    25%{
        transform:scale(1.03);
    }

    50%{
        transform:scale(1.06);
    }

    75%{
        transform:scale(1.03);
    }

    100%{
        transform:scale(1);
    }
}