/* Users login — mobile only; desktop/laptop uses main.css defaults */

.login-box .login-error {
	color: red;
	background: #fff;
	padding: 10px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.35;
}

.login-box .forgot-password-link {
	display: block;
	margin-top: 12px;
	text-align: center;
}

/* Sticky footer — all screen sizes (desktop + mobile) */
html {
	height: 100%;
}

body#login-body.page-login,
body#login-body.page-continue-panel,
body#login-body.page-already-logged-in,
body#login-body.page-reg-email-exists {
	min-height: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box;
}

body#login-body.page-login > *:not(#site-content):not(#site-footer),
body#login-body.page-continue-panel > *:not(#site-content):not(#site-footer),
body#login-body.page-already-logged-in > *:not(#site-content):not(#site-footer),
body#login-body.page-reg-email-exists > *:not(#site-content):not(#site-footer) {
	flex: 0 0 auto;
}

body#login-body.page-login #top-header-registration {
	width: 100%;
}

body#login-body.page-login #site-content,
body#login-body.page-continue-panel #site-content,
body#login-body.page-already-logged-in #site-content,
body#login-body.page-reg-email-exists #site-content {
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
}

/* Login box — centre in page (horizontal + vertical in content area) */
body#login-body.page-login #site-content,
body#login-body.page-already-logged-in #site-content,
body#login-body.page-reg-email-exists #site-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

body#login-body.page-login #site-content > .container,
body#login-body.page-login .login-page-inner,
body#login-body.page-already-logged-in #site-content > .container,
body#login-body.page-already-logged-in .login-page-inner,
body#login-body.page-reg-email-exists #site-content > .container,
body#login-body.page-reg-email-exists .login-page-inner {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

body#login-body.page-login .login-box,
body#login-body.page-already-logged-in .login-box,
body#login-body.page-reg-email-exists .login-box {
	margin-left: auto !important;
	margin-right: auto !important;
	float: none !important;
}

/* Already logged in — semi-transparent box (original style, lower opacity) */
body#login-body.page-already-logged-in .login-box.already-logged-box {
	background: rgba(255, 255, 255, 0.2) !important;
	background-color: rgba(255, 255, 255, 0.2) !important;
	border: 5px solid #469D46 !important;
	box-sizing: border-box !important;
}

body#login-body.page-already-logged-in .already-logged-message p {
	color: #fff !important;
	font-weight: normal !important;
	line-height: 1.45 !important;
	margin: 0 0 10px 0 !important;
}

body#login-body.page-already-logged-in .already-logged-home-link {
	text-align: center !important;
}

body#login-body.page-already-logged-in .already-logged-home-link a {
	color: #fff !important;
	text-decoration: underline !important;
	font-weight: bold !important;
}

/* Registration — email already exists (oreg_regular_post) */
body#login-body.page-reg-email-exists .login-box.reg-email-exists-box {
	background: rgba(255, 255, 255, 0.2) !important;
	background-color: rgba(255, 255, 255, 0.2) !important;
	border: 5px solid #469D46 !important;
	box-sizing: border-box !important;
}

body#login-body.page-reg-email-exists .reg-email-exists-message p {
	color: #fff !important;
	font-weight: normal !important;
	line-height: 1.45 !important;
	margin: 0 0 10px 0 !important;
}

body#login-body.page-reg-email-exists .reg-email-exists-message a {
	color: #fff !important;
	text-decoration: underline !important;
	font-weight: bold !important;
}

body#login-body.page-reg-email-exists .reg-email-exists-error {
	color: #fff !important;
	background: rgba(0, 0, 0, 0.35) !important;
	padding: 8px 10px !important;
	margin: 0 auto 10px auto !important;
	max-width: 320px !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	text-align: center !important;
}

body#login-body.page-login #site-footer,
body#login-body.page-continue-panel #site-footer,
body#login-body.page-already-logged-in #site-footer,
body#login-body.page-reg-email-exists #site-footer {
	flex: 0 0 auto;
	width: 100%;
	margin-top: auto !important;
}

/* Desktop — pin footer (tablet landscape uses mobile rules below 1200px) */
@media screen and (min-width: 1200px) {
	body#login-body.page-login,
	body#login-body.page-continue-panel,
	body#login-body.page-already-logged-in,
	body#login-body.page-reg-email-exists {
		min-height: 100vh !important;
		min-height: 100dvh !important;
	}

	body#login-body.page-login #site-content,
	body#login-body.page-already-logged-in #site-content,
	body#login-body.page-reg-email-exists #site-content {
		flex: 1 1 auto !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
	}

	body#login-body.page-continue-panel #site-content {
		flex: 1 1 auto !important;
		display: block;
		width: 100% !important;
	}

	body#login-body.page-login #site-content > .container,
	body#login-body.page-login .login-page-inner,
	body#login-body.page-already-logged-in #site-content > .container,
	body#login-body.page-already-logged-in .login-page-inner,
	body#login-body.page-reg-email-exists #site-content > .container,
	body#login-body.page-reg-email-exists .login-page-inner {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
	}

	body#login-body.page-login .login-box,
	body#login-body.page-already-logged-in .login-box,
	body#login-body.page-reg-email-exists .login-box {
		width: 40% !important;
		max-width: 420px !important;
		min-width: 280px !important;
		margin: 0 auto !important;
	}

	body#login-body.page-login #site-footer,
	body#login-body.page-continue-panel #site-footer,
	body#login-body.page-already-logged-in #site-footer,
	body#login-body.page-reg-email-exists #site-footer {
		flex: 0 0 auto !important;
		margin-top: auto !important;
		width: 100% !important;
	}
}

/* Login + already-logged-in — mobile / tablet (matches student panel 1199px) */
@media screen and (max-width: 1199px) {
	.login-page-inner {
		width: 100%;
		max-width: 100%;
	}

	body#login-body.page-login {
		background-size: cover !important;
		background-position: center center !important;
	}

	body#login-body.page-login #top-header-registration .container {
		padding-top: 4px !important;
		padding-bottom: 4px !important;
	}

	body#login-body.page-login #top-header-registration .register-top-title {
		float: none !important;
		text-align: center !important;
		font-size: 3.05rem !important;
		line-height: 1.2 !important;
		margin: 6px 0 !important;
		word-wrap: break-word !important;
	}

	body#login-body.page-login #top-header-registration .logo {
		height: auto !important;
		max-height: 40px !important;
		float: none !important;
		display: block !important;
		margin: 4px auto 0 !important;
	}

	body#login-body.page-login #top-header-registration .col-md-3,
	body#login-body.page-login #top-header-registration .col-md-9 {
		width: 100% !important;
		float: none !important;
		text-align: center !important;
	}

	body#login-body.page-login #site-content {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 8px 0;
	}

	body#login-body.page-login #site-content > .container {
		width: 100% !important;
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 10px 12px !important;
		margin: 0 !important;
	}

	body#login-body.page-login #site-content > .container > br {
		display: none !important;
	}

	body#login-body.page-login .login-box {
		width: 100% !important;
		max-width: 320px !important;
		margin: 0 auto !important;
		padding: 14px 16px 16px 16px !important;
		float: none !important;
		box-sizing: border-box;
	}

	body#login-body.page-login .login-box .form-control {
		width: 100% !important;
		max-width: 100% !important;
		display: block !important;
		float: none !important;
		clear: both !important;
		box-sizing: border-box !important;
		height: 28px !important;
		padding: 5px 8px !important;
		font-size: 13px !important;
		margin: 0 0 8px 0 !important;
	}

	body#login-body.page-login .login-box .btn-success,
	body#login-body.page-login .login-box input[type="submit"] {
		width: 100% !important;
		display: block !important;
		float: none !important;
		clear: both !important;
		box-sizing: border-box !important;
		height: auto !important;
		padding: 6px 8px !important;
		font-size: 13px !important;
		margin: 4px 0 0 0 !important;
		white-space: normal !important;
	}

	body#login-body.page-login .login-box .login-error {
		font-size: 12px !important;
		line-height: 1.3 !important;
		padding: 8px !important;
		margin-bottom: 8px !important;
	}

	body#login-body.page-login .login-box .forgot-password-link strong {
		font-size: 12px !important;
		color: #fff !important;
	}

	body#login-body.page-login #site-footer,
	body#login-body.page-already-logged-in #site-footer,
	body#login-body.page-reg-email-exists #site-footer {
		font-size: 11px !important;
		padding: 6px 0 !important;
	}

	/* Already logged in (loginpost_new — concurrent session) */
	body#login-body.page-already-logged-in,
	body#login-body.page-reg-email-exists {
		background-size: cover !important;
		background-position: center center !important;
		overflow-x: hidden !important;
	}

	body#login-body.page-already-logged-in #site-content,
	body#login-body.page-reg-email-exists #site-content {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 8px 0;
	}

	body#login-body.page-already-logged-in #site-content > .container,
	body#login-body.page-reg-email-exists #site-content > .container {
		width: 100% !important;
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 10px 12px !important;
		margin: 0 !important;
	}

	body#login-body.page-already-logged-in .login-box.already-logged-box {
		width: 100% !important;
		max-width: 360px !important;
		margin: 0 auto !important;
		padding: 14px 16px !important;
		float: none !important;
		background: rgba(255, 255, 255, 0.2) !important;
		background-color: rgba(255, 255, 255, 0.2) !important;
	}

	body#login-body.page-reg-email-exists .login-box.reg-email-exists-box {
		width: 100% !important;
		max-width: 360px !important;
		margin: 0 auto !important;
		padding: 14px 16px !important;
		float: none !important;
		background: rgba(255, 255, 255, 0.2) !important;
		background-color: rgba(255, 255, 255, 0.2) !important;
	}

	body#login-body.page-already-logged-in .already-logged-message p {
		font-size: 12px !important;
		color: #fff !important;
	}

	body#login-body.page-reg-email-exists .reg-email-exists-message p {
		font-size: 12px !important;
		color: #fff !important;
	}
}

/* Continue panel — full-screen background */
body#login-body.page-continue-panel {
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
	background-attachment: fixed;
}

body#login-body.page-continue-panel #site-content,
body#login-body.page-continue-panel #site-content > .container {
	background: transparent;
}

body#login-body.page-continue-panel .continue-page-wrap .alert,
body#login-body.page-continue-panel .continue-form-error {
	width: 100%;
	max-width: 100%;
	margin: 0 0 12px 0;
	box-sizing: border-box;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

body#login-body.page-continue-panel .continue-form-error {
	color: #a94442;
	background: #f2dede;
	border: 1px solid #ebccd1;
	border-radius: 4px;
	padding: 10px 12px;
	font-size: 14px;
	line-height: 1.4;
}

/* loginpost continue panel — mobile / tablet layout */
@media screen and (max-width: 1199px) {
	body#login-body.page-continue-panel .continue-page-wrap {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		padding: 12px 10px;
		box-sizing: border-box;
		min-height: 0 !important;
		overflow: visible !important;
		width: 100% !important;
		max-width: 360px !important;
		margin: 0 auto;
	}

	body#login-body.page-continue-panel .continue-page-wrap .alert {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 12px 0 !important;
		padding: 10px 12px !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
		text-align: left !important;
		float: none !important;
		clear: both !important;
		box-sizing: border-box !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
	}

	body#login-body.page-continue-panel .continue-form-error {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 12px 0 !important;
		padding: 10px 12px !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
		box-sizing: border-box !important;
	}

	body#login-body.page-continue-panel #site-content > .container > br,
	body#login-body.page-continue-panel .terms > br {
		display: none !important;
	}

	body#login-body.page-continue-panel .continue-page-wrap {
		min-height: 0 !important;
	}

	body#login-body.page-continue-panel .terms {
		padding: 22px 24px !important;
		margin-top: 12px !important;
		max-width: 100% !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: left !important;
		border: 5px solid #469D46 !important;
		box-sizing: border-box !important;
		float: none !important;
		clear: both !important;
		overflow: visible !important;
	}

	body#login-body.page-continue-panel .terms > strong > center {
		display: block !important;
		text-align: center !important;
	}

	body#login-body.page-continue-panel .continue-top-text,
	body#login-body.page-continue-panel .continue-desc-text,
	body#login-body.page-continue-panel .continue-days-remaining,
	body#login-body.page-continue-panel .continue-btn-wrap {
		text-align: left !important;
	}

	body#login-body.page-continue-panel .terms ol {
		margin: 8px 0 !important;
		padding-left: 20px !important;
		display: block !important;
		text-align: left !important;
	}

	body#login-body.page-continue-panel .terms ul {
		margin: 8px 0 !important;
		padding-left: 20px !important;
		display: block !important;
		text-align: left !important;
	}

	body#login-body.page-continue-panel .continue-welcome-title {
		font-size: 2rem !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		margin: 0 0 14px 0 !important;
		text-align: center !important;
		word-wrap: break-word !important;
	}

	body#login-body.page-continue-panel .continue-top-text h4 {
		font-size: 11px !important;
		line-height: 1.45 !important;
		font-weight: normal !important;
		margin: 0 0 10px 0 !important;
	}

	body#login-body.page-continue-panel .continue-desc-text,
	body#login-body.page-continue-panel .continue-desc-text p {
		font-size: 11px !important;
		line-height: 1.45 !important;
		margin: 0 0 8px 0 !important;
	}

	body#login-body.page-continue-panel .continue-days-remaining {
		margin: 12px 0 !important;
		padding: 0 4px !important;
	}

	body#login-body.page-continue-panel .continue-days-remaining h3 {
		font-size: 11px !important;
		line-height: 1.4 !important;
		margin: 0 !important;
		text-align: left !important;
	}

	body#login-body.page-continue-panel .show_status {
		font-size: 12px !important;
		line-height: 1.3 !important;
		margin-bottom: 6px !important;
	}

	body#login-body.page-continue-panel .cont_btn.btn-lg {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		float: none !important;
		padding: 6px 8px !important;
		font-size: 13px !important;
		line-height: 1.3 !important;
		white-space: normal !important;
	}

	body#login-body.page-continue-panel {
		height: auto !important;
		min-height: 100vh !important;
		min-height: 100dvh !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		background-size: cover !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
	}

	body#login-body.page-continue-panel #site-content {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		overflow: visible !important;
		display: block !important;
		padding: 8px 0 12px 0 !important;
	}

	body#login-body.page-continue-panel #site-content > .container {
		width: 100% !important;
		padding: 10px 14px !important;
		margin: 0 !important;
		overflow: visible !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-start !important;
	}

	body#login-body.page-continue-panel #site-footer {
		flex: 0 0 auto !important;
		margin-top: auto !important;
		font-size: 11px !important;
		padding: 6px 0 !important;
	}
}

/* Learner permit — desktop single viewport */
@media screen and (min-width: 992px) {
	body#login-body.page-learner-permit {
		height: 100vh;
		height: 100dvh;
		min-height: 100vh;
		min-height: 100dvh;
		overflow: hidden !important;
		display: flex !important;
		flex-direction: column !important;
		box-sizing: border-box;
		background-size: cover !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
	}

	body#login-body.page-learner-permit #site-content {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		overflow: hidden !important;
		display: flex !important;
		flex-direction: column !important;
		padding: 10px 0 !important;
		background: transparent !important;
	}

	body#login-body.page-learner-permit #site-content > .container {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		width: 100% !important;
		max-width: 1140px !important;
		margin: 0 auto !important;
		padding: 0 20px !important;
		display: flex !important;
		flex-direction: column !important;
		overflow: hidden !important;
	}

	body#login-body.page-learner-permit .permit-page-wrap {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		overflow: hidden !important;
	}

	body#login-body.page-learner-permit .permit-panel {
		width: 100% !important;
		max-width: 100% !important;
		max-height: calc(100vh - 70px) !important;
		max-height: calc(100dvh - 70px) !important;
		box-sizing: border-box !important;
		display: flex !important;
		flex-direction: column !important;
		overflow: hidden !important;
		text-align: left !important;
	}

	body#login-body.page-learner-permit .permit-panel-title {
		flex-shrink: 0 !important;
		margin: 0 0 8px 0 !important;
		font-size: 18px !important;
		text-align: left !important;
	}

	body#login-body.page-learner-permit .permit-panel-hr {
		flex-shrink: 0 !important;
		margin: 0 0 12px 0 !important;
	}

	body#login-body.page-learner-permit .permit_form {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		overflow: hidden !important;
	}

	body#login-body.page-learner-permit .permit-form-row {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		display: flex !important;
		margin: 0 !important;
		overflow: hidden !important;
	}

	body#login-body.page-learner-permit .permit-form-row > .col-md-6 {
		width: 50% !important;
		max-width: 50% !important;
		flex: 0 0 50% !important;
		float: none !important;
	}

	body#login-body.page-learner-permit .permit-upload-col,
	body#login-body.page-learner-permit .permit-info-col {
		min-height: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		overflow: hidden !important;
	}

	body#login-body.page-learner-permit .permit-upload-col {
		justify-content: flex-start !important;
		padding-right: 20px !important;
	}

	body#login-body.page-learner-permit .permit-upload-label {
		flex-shrink: 0 !important;
		margin-bottom: 6px !important;
	}

	body#login-body.page-learner-permit .permit-upload-col .form-control {
		flex-shrink: 0 !important;
	}

	body#login-body.page-learner-permit #upload_progress_msg {
		flex-shrink: 0 !important;
		margin: 6px 0 !important;
	}

	body#login-body.page-learner-permit .permit-upload-col .btn-success {
		flex-shrink: 0 !important;
		margin-top: 8px !important;
	}

	body#login-body.page-learner-permit .permit-info-scroll {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		padding: 12px !important;
		box-sizing: border-box !important;
	}

	body#login-body.page-learner-permit .permit-info-scroll p {
		font-size: 13px !important;
		line-height: 1.4 !important;
		margin: 0 0 10px 0 !important;
	}

	body#login-body.page-learner-permit .permit-info-scroll p:last-child {
		margin-bottom: 0 !important;
	}

	body#login-body.page-learner-permit #site-footer {
		flex: 0 0 auto !important;
		width: 100% !important;
		margin-top: auto !important;
	}
}

/* Learner permit — mobile */
@media screen and (max-width: 991px) {
	body#login-body.page-learner-permit {
		min-height: 100vh;
		min-height: 100dvh;
		display: flex !important;
		flex-direction: column !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		background-size: cover !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
	}

	body#login-body.page-learner-permit #site-content {
		flex: 1 1 auto !important;
		width: 100% !important;
		min-height: 0 !important;
		padding: 8px 0 12px 0 !important;
		background: transparent !important;
	}

	body#login-body.page-learner-permit #site-footer {
		flex: 0 0 auto !important;
		width: 100% !important;
		margin-top: auto !important;
		font-size: 11px !important;
		padding: 6px 0 !important;
	}

	body#login-body.page-learner-permit #site-content > .container {
		width: 100% !important;
		padding: 10px 14px !important;
		margin: 0 !important;
	}

	body#login-body.page-learner-permit #site-content > .container > br {
		display: none !important;
	}

	body#login-body.page-learner-permit .permit-page-wrap {
		min-height: 0 !important;
		display: flex !important;
		justify-content: center !important;
	}

	body#login-body.page-learner-permit .permit-panel {
		width: 100% !important;
		max-width: 360px !important;
		margin: 0 auto !important;
		padding: 18px 20px !important;
		border: 5px solid #469D46 !important;
		background: rgba(255, 255, 255, 0.9) !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
	}

	body#login-body.page-learner-permit .permit-panel-title {
		color: #333 !important;
		font-size: 2rem !important;
		line-height: 1.3 !important;
		text-align: center !important;
	}

	body#login-body.page-learner-permit .permit-form-row > .col-md-6 {
		width: 100% !important;
		float: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body#login-body.page-learner-permit .permit-upload-col {
		margin-bottom: 14px !important;
	}

	body#login-body.page-learner-permit .permit-upload-label {
		color: #333 !important;
		font-size: 11px !important;
		display: block !important;
		margin-bottom: 4px !important;
	}

	body#login-body.page-learner-permit .permit_form .form-control {
		width: 100% !important;
		height: 32px !important;
		padding: 5px 8px !important;
		font-size: 13px !important;
		box-sizing: border-box !important;
	}

	body#login-body.page-learner-permit .permit_form .btn-success {
		display: block !important;
		width: 100% !important;
		max-width: 320px !important;
		margin: 10px auto 0 auto !important;
		padding: 6px 8px !important;
		font-size: 13px !important;
		line-height: 1.3 !important;
		white-space: normal !important;
		float: none !important;
		clear: both !important;
	}

	body#login-body.page-learner-permit .permit-info-scroll {
		color: #333 !important;
		padding: 0 !important;
		font-size: 11px !important;
		line-height: 1.45 !important;
		overflow: visible !important;
	}

	body#login-body.page-learner-permit .permit-info-scroll p {
		font-size: 11px !important;
		line-height: 1.45 !important;
		margin: 0 0 8px 0 !important;
	}

	body#login-body.page-learner-permit #upload_progress_msg {
		font-size: 12px !important;
		line-height: 1.35 !important;
		text-align: center !important;
	}
}

/* Kicked idle — /home/page/home/kicked_idle */
body#login-body.page-kicked-idle {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box;
	margin: 0;
	background: url('../images/loginbg.jpg') no-repeat center center !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-attachment: fixed;
}

body#login-body.page-kicked-idle #site-content {
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 16px;
	box-sizing: border-box;
}

body#login-body.page-kicked-idle #site-content > .container {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0 16px;
	margin: 0 auto;
	box-sizing: border-box;
}

body#login-body.page-kicked-idle .login-box {
	margin: 0 auto !important;
	float: none !important;
}

body#login-body.page-kicked-idle #site-footer {
	flex: 0 0 auto;
	width: 100%;
	margin-top: auto !important;
}

@media screen and (max-width: 991px) {
	body#login-body.page-kicked-idle {
		background-attachment: scroll !important;
		background-size: cover !important;
	}

	body#login-body.page-kicked-idle .login-box {
		width: 100% !important;
		max-width: 320px !important;
		padding: 14px 16px !important;
		box-sizing: border-box;
	}

	body#login-body.page-kicked-idle .login-box h4 {
		font-size: 14px !important;
		line-height: 1.4 !important;
	}

	body#login-body.page-kicked-idle .payment-locked-title {
		font-size: 15px !important;
		line-height: 1.35 !important;
		font-weight: 700 !important;
	}

	body#login-body.page-kicked-idle .payment-locked-message {
		font-size: 14px !important;
		line-height: 1.45 !important;
	}
}

body#login-body.page-kicked-idle .payment-locked-title,
body#login-body.page-kicked-idle .payment-locked-message {
	color: #fff;
	margin: 0 0 12px 0;
	line-height: 1.45;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

body#login-body.page-kicked-idle .payment-locked-message:last-child {
	margin-bottom: 0;
}

body#login-body.page-kicked-idle .payment-locked-message a {
	color: #fff;
	font-weight: bold;
	text-decoration: underline;
}

/* Registration payment — /home/page/home/payment/{id} */
html.page-registration-payment-html {
	height: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	background-color: #1a4a7a;
	background-image: url('../images/loginbg.jpg') !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: cover !important;
	background-attachment: scroll;
}

body#login-body.page-registration-payment {
	min-height: 100vh;
	min-height: 100dvh;
	min-height: 100%;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box;
	margin: 0;
	background-color: transparent !important;
	background-image: url('../images/loginbg.jpg') !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: cover !important;
	background-attachment: scroll;
}

body#login-body.page-registration-payment #top-header-registration {
	flex-shrink: 0;
	width: 100%;
}

body#login-body.page-registration-payment #site-content {
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 16px;
	box-sizing: border-box;
	background: transparent !important;
}

body#login-body.page-registration-payment #site-content > .container.payment-page-inner {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	padding: 0 15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}

body#login-body.page-registration-payment .login-box {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0) !important;
}

body#login-body.page-registration-payment .payment-debit-warning {
	font-size:15px !important;
	color:red !important;
}

body#login-body.page-registration-payment #site-footer {
	flex: 0 0 auto;
	width: 100%;
	margin-top: auto !important;
}

@media screen and (max-width: 1199px) {
	html.page-registration-payment-html,
	body#login-body.page-registration-payment {
		min-height: 100vh !important;
		min-height: 100dvh !important;
		background-size: cover !important;
		background-position: center center !important;
	}

	/* Payment header — logo + tagline centered on mobile/tablet */
	body#login-body.page-registration-payment #top-header-registration .container {
		padding: 10px 15px !important;
		box-sizing: border-box !important;
	}

	body#login-body.page-registration-payment #top-header-registration .row {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		margin: 0 !important;
		text-align: center !important;
	}

	body#login-body.page-registration-payment #top-header-registration .col-md-3,
	body#login-body.page-registration-payment #top-header-registration .col-md-9 {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		text-align: center !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
	}

	body#login-body.page-registration-payment #top-header-registration .col-md-3 {
		order: 1 !important;
		margin-bottom: 8px !important;
	}

	body#login-body.page-registration-payment #top-header-registration .col-md-9 {
		order: 2 !important;
	}

	body#login-body.page-registration-payment #top-header-registration a {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		float: none !important;
	}

	body#login-body.page-registration-payment #top-header-registration .pull-left,
	body#login-body.page-registration-payment #top-header-registration .pull-right {
		float: none !important;
	}

	body#login-body.page-registration-payment #top-header-registration .logo {
		height: auto !important;
		max-height: 48px !important;
		width: auto !important;
		max-width: 100% !important;
		float: none !important;
		display: block !important;
		margin: 0 auto !important;
	}

	body#login-body.page-registration-payment #top-header-registration .register-top-title {
		float: none !important;
		text-align: center !important;
		width: 100% !important;
		font-size: 3.05rem !important;
		line-height: 1.2 !important;
		margin: 0 !important;
		padding: 0 !important;
		word-wrap: break-word !important;
	}

	body#login-body.page-registration-payment #site-content {
		padding: 12px;
	}

	body#login-body.page-registration-payment #site-content > .container.payment-page-inner {
		max-width: 100%;
		padding: 0 12px;
	}

	body#login-body.page-registration-payment .login-box {
		padding: 14px 16px !important;
	}

	body#login-body.page-registration-payment .login-box p,
	body#login-body.page-registration-payment .login-box label {
		font-size: 13px !important;
		line-height: 1.4 !important;
	}
}
