/**
* Written by: Mohd Syahid
* Year		: 2023
* Website	: msyahid.com
*/


body {
	font-family: "open sans", "segoe ui";
    font-size: 14px;
    margin: 0;
    padding: 0;
}
label {
	font-weight: bold;
}

li {
	margin-left: 20px;
}
p.small{
	margin-bottom: 0;
}
small.alert{
    padding: 5px;
	padding-left: 10px;
    display: block;
	margin: 0;
	margin-top: 3px;
}
input[type=radio], input[type=checkbox] {
    border: 1px solid #b4b9be;
    background: #fff;
    color: #555;
    clear: none;
    cursor: pointer;
    display: inline-block;
    line-height: 0;
    min-height: 18px !important;
    height: 18px;
    margin: 1px;
    outline: 0;
    padding: 0!important;
    text-align: center;
    vertical-align: middle;
    width: 18px;
    min-width: 18px;
    -webkit-appearance: none;
    appearance: none;
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
    box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
    -webkit-transition: .05s border-color ease-in-out;
    transition: .05s border-color ease-in-out;
}

input[type=radio] {
    -webkit-border-radius: 50%;
    border-radius: 50%;
    margin-right: 4px;
    line-height: 10px;
}

input[type=radio]:focus {
	border-color: #5b9dd9;
    -webkit-box-shadow: 0 0 2px rgba(30,140,190,.8);
    box-shadow: 0 0 2px rgba(30,140,190,.8);
}

input[type=radio]:checked:before {
     content: "\f111";
    -webkit-border-radius: 50%;
    border-radius: 50%;
    font-size: 11px !important;
    color: #1e8cbe;
    vertical-align: middle !important;
    margin-top: 3px;
}

input[type=checkbox]:checked:before {
    content: "\f00c";
    margin: 0;
    color: #1e8cbe;
    font-size: 16px !important;
}

input[type=radio]:checked:before
, input[type=checkbox]:checked:before {
    float: left;
    vertical-align: middle;
    width: 17px;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.background, .backdrop {
    background-color: #0f172a;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
}
.background {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	background-repeat: no-repeat;
	background-size: cover;
}
.backdrop {
	background: rgba(15, 23, 42, 0.3);
    filter: alpha(opacity=30);
    opacity: .3;
}

.login-image {
   
    position: absolute;
    top: 310px;
    right: 220%; /* Adjust as needed for horizontal alignment */
    transform: translate(-50%, -50%); /* Center the image */
    z-index: 2; /* Place the image on top of other elements */
    width: 200px; /* Set your desired width */
    height: 150px; /* Set your desired height */
  }

.login-container {
	max-width: 450px;
    width: 100%;
    z-index: 1;
    position: absolute;
    left: 50%;
	top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    border-radius: 16px;
    overflow: hidden;
}
.login-body {
	padding: 40px 35px;
    background: #FFFFFF;
}
.login-header img {
    /* border: 1px solid #CCCCCC;
    padding: 10px;
    border-radius: 50px; */
	max-width: 100%;
}
.login-header {
  text-align: center;
    padding: 40px 35px 30px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-bottom: none;
}
.login-header h3 {
    font-weight: lighter;
    font-size: 25px;
    margin: 0;
	margin-top: 10px;
}
.login-footer {
	background: #f1f1f1;
	text-align:center;
	padding: 15px 25px;
}
.login-footer p {
	margin-bottom: 5px;
}

.form-control {
	border-radius: 0;
}
.btn {
	border-radius:0;
}
.login-input, .login-input:focus  {
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	outline: none;
	box-shadow: none;
	padding: 12px 15px;
	transition: all 0.3s ease;
}
.login-input:focus {
	border-color: #667eea;
	box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}
.input-group-text {
	border-radius: 0;
}
.login-container .input-group-text {
	background: #f8fafc;
    border: 1px solid #e2e8f0;
	border-right: 0;
	border-radius: 8px 0 0 8px;
	color: #64748b;
}

.form-login {
	margin: 0;
}

.login-container .btn {
	height: auto;
	padding: 14px 20px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 15px;
	transition: all 0.3s ease;
	text-transform: none;
}
.login-container .btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.login-container .copyright {
	background: none;
	color: #DCDCDC;
	text-align:center;
	margin-top: 10px;
	margin-bottom: 15px;
}

.login-container .copyright a {
	color: #DCDCDC;
}

.form-register {
	margin: 0;
	margin-top: 20px;
}

.alert {
	border-radius: 0;
}

.login-container .alert-last{
	margin: 0;
}


.checkbox label {
	cursor: pointer;
}
.progress {
	border-radius:0;
}

.form-inline input:not(:last-child),
.form-inline select:not(:last-child) {
	margin-right:3px;
}

@media screen and (max-width: 767px) {
	.login-container {
		max-width: 90%;
		margin: 15px auto;
	}
	
	.login-body {
		padding: 30px 25px;
	}
	
	.login-header {
		padding: 30px 25px;
	}
}

@media screen and (max-width: 500px) {
	.login-container {
		margin: 10px;
		left: 10px;
		right: 10px;
		width: auto;
		top: 50%;
		transform: translate(0, -50%);
		max-width: 100%;
	}
	
	.login-body {
		padding: 25px 20px;
	}
	
	.login-header {
		padding: 25px 20px;
	}
	
	.login-header img {
		max-height: 50px !important;
	}
	
	.login-header h2 {
		font-size: 22px !important;
	}
	
	.login-footer {
		padding: 15px 20px;
	}
	
	.login-box-msg {
		font-size: 16px !important;
		margin-bottom: 20px !important;
	}
	
	input, select {
		max-width: 100% !important;
		float: none;
		margin-top: 3px;
		font-size: 15px !important;
	}
	
	.form-inline input,
	.form-inline select {
		margin-right: 0 !important;
	}
	
	.login-input {
		padding: 11px 12px !important;
	}
	
	.input-group-text {
		padding: 11px 12px !important;
	}
	
	.btn {
		padding: 12px 18px !important;
		font-size: 14px !important;
	}
	
	.checkbox label {
		font-size: 13px !important;
	}
	
	.alert {
		font-size: 13px !important;
		padding: 10px 12px !important;
		margin-bottom: 15px !important;
	}
	
	.mb-4 {
		margin-bottom: 1rem !important;
	}
}

/* Landscape mobile phones */
@media screen and (max-width: 767px) and (orientation: landscape) {
	.login-container {
		top: 20px;
		transform: translate(-50%, 0);
		margin-top: 20px;
		margin-bottom: 20px;
	}
	
	.login-header {
		padding: 20px;
	}
	
	.login-body {
		padding: 20px;
	}
}