/* static/css/kgil-login.css */
:root {
	--width: 1174px;
	--brand: #04327A;
	--brand-darker: #00367C;
	--warning: #FF4400;
	--text: #333333;
	--text-muted: #626364;
	--text-link: #0044AD;
	--bg: #F0F4F7;
	--card: #ffffff;
	--line: #E2E2E2;
	--text-link: #0044AD;
	--error: #D42300;
	--focus: #04327A;
	--hover: #032355;
	--shadow: 0 10px 30px rgba(0, 0, 0, .08);
	--font: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Segoe UI",
		Roboto, Helvetica, Arial, sans-serif;
	--body: 16px;
	--h4: 20px;
	--small: 12px;
}

html,
body {
	height: 100%;
	background: var(--bg);
}

body {
	margin: 0;
	background: #fff;
	color: var(--text);
	font: var(--body)/1.5 var(--font);
	background: var(--bg);
}

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

a:hover {
	color: var(--brand);
}

.kgil-hr {
	border: 0;
	border-top: 1px solid var(--line);
}

.kgil-link {
	color: var(--text-link);
	text-decoration: none;
}

.kgil-link:hover {
	color: var(--brand);
	cursor: pointer;
}

.kgil-hint-link {
	position: relative;
	font-weight: 400;
	text-decoration: none;
	color: var(--text-muted);
	cursor: pointer;
}

.kgil-hint-link:before {
	content: '';
	position: relative;
}

/* header */
.kgil-header {
	position: relative;
	background: #fff;
	padding: 10px 13px;
	z-index: 1;
}

.kgil-header__brand {
	max-width: var(--width);
	margin: 0 auto;
	display: flex;
	align-items: center;
	height: 60px;
	gap: 24px;
	flex-wrap: wrap;
}

.kgil-main-content::before {
	content: "";
	position: absolute;
	top: 80px;
	right: 0;
	width: 0;
	height: 0;
	border-top: 220px solid #04327a;
	border-left: 220px solid transparent;
	z-index: 0;
}

.kgil-main-content,
.kgil-content,
.kgil-section {
	max-width: 100%;
	width: 100%;
}

/* main */
.kgil-main {
	position: relative;
	padding: 0;
}

.kgil-main__inner {
	max-width: 500px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	box-shadow: var(--shadow);
	line-height: 0;
	background: #fff;
}

.kgil-main-single {
	max-width: 500px;
}

/* left hero */
.kgil-hero {
	display: none;
	flex: 1 60%;
	background: #fff;
	line-height: 0;
}

.kgil-hero__img {
	width: 100%;
	/* display: block; */
	object-fit: cover;
}

/* right card */
.kgil-card {
	/* max-width: 500px; */
	width: 100%;
	background: var(--card);
	/* padding: 40px 24px 40px 24px; */
	padding: 24px;
	flex: 1 40%;
}

.kgil-card__title {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 16px;
}

.kgil-card__subtitle {
	font-size: 16px;
	font-weight: 400;
	color: var(--text-muted);
	margin-bottom: 16px;
}

/* field */
.kgil-field {
	margin: 16px 0;
	line-height: 160%;
}

.kgil-field label {
	display: block;
	margin: 0 0 8px;
	font-weight: 600;
	color: var(--text);
	line-height: 26px;
}

.kgil-input {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	/* line-height: 1; */
}

.kgil-input input {
	width: 100%;
	padding: 10px 42px 10px 14px;
	font-size: 16px;
	border: 1px solid #888;
	line-height: 1.5;
}

.kgil-input input:focus {
	outline: none;
	border-color: var(--brand);
}

.kgil-input--primary input {
	border-color: var(--brand)
}

.kgil-eye-btn {
	position: absolute;
	right: 12px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
}

.eye-icon {
	width: 20px;
	height: 20px;
}

.kgil-help-row {
	display: flex;
	justify-content: space-between;
	margin-top: 6px
}

.kgil-tip-target {
	position: relative;
	text-align: center;
}

.kgil-tooltip {
	position: absolute;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 400;
	line-height: 150%;
	top: calc(100% + 8px);
	left: -3rem;
	min-width: 256px;
	max-width: 256px;
	background: #041C43;
	border-radius: 8px;
	padding: 12px 16px;
	box-shadow: 0 2px 12px rgba(0, 68, 173, .04);
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	pointer-events: none;
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
	z-index: 3;
}

.kgil-tooltip-text {
	position: relative;
}

/* .kgil-hint-link:hover .kgil-tooltip-text:after {
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	position: absolute;
	top:115%;
	right: 45%;
	background-color: #ffffff;
	border-top: 1px solid #e2e2e2;
	border-left: 1px solid #e2e2e2;
	transform: rotate(45deg);
	z-index: 4;
} */

.kgil-tooltip>ul {
	margin-left: -1rem;
}

.kgil-hint-link:hover .kgil-tooltip {
	opacity: 0.8;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
	/* padding-bottom: 16px; */
	padding: 12px;
}

.tip:hover .tooltip,
.tip:focus-within .tooltip {
	opacity: 1;
	visibility: block;
	transform: translateY(0);
	pointer-events: auto;
}

/* captcha */
.kgil-captcha-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.kgil-captcha {
	display: flex;
	align-items: center;
	gap: 12px
}

.kgil-captcha__img {
	width: 130px;
	height: 50px;
	object-fit: cover
}

.kgil-icon-btn {
	width: 24px;
	height: 24px;
	font-size: 24px;
	border: none;
	background: #fff;
	cursor: pointer;
}

.kgil-icon-btn svg {
	height: 1em;
	width: 1em;
}

/* alerts */
.kgil-alert {
	border-radius: 10px;
	padding: 10px 12px;
	margin: 8px 0;
	font-size: .95rem;
	border: 1px solid transparent
}

.kgil-alert--error {
	background: #fdecea;
	color: #6b1313;
	border-color: #f5c2c0
}

.kgil-alert--info {
	background: #eef5ff;
	color: #123a70;
	border-color: #cfe0ff
}

/* actions */
.kgil-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 32px;
	margin-bottom: 16px;
}

.kgil-info--action {
	padding-top: 40px;
	padding-bottom: 40px;
}

.kgil-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border: 0;
	background: var(--brand);
	color: #fff;
	font-size: var(--h4);
	cursor: pointer;
	text-decoration: none;
}

.kgil-actions .kgil-btn {
	height: 52px;
}

.kgil-btn:hover {
	background: var(--hover);
}

.kgil-btn__second {
	background: #fff;
	color: var(--text-link);
	font-size: 16px;
}

.kgil-btn__info {
	max-width: 574px;
	height: 48px;
	margin: auto;
}

.kgil-btn__info:hover {
	background: var(--hover);
	color: #fff;
}

.kgil-btn__second:hover {
	background: #fff;
	color: var(--text-link);
}

.kgil-btn__grey {
	background: #fff;
	color: var(--text);
	font-size: 16px;
	line-height: 150%;
}

.kgil-btn__grey:hover {
	background: #fff;
	color: var(--hover);
}

.btn-primary-inner {
	font-size: 16px !important;
	/* background: #0044AD !important;
	color: #fff !important; */
}

.kgil-btn__txt {
	background: transparent;
	color: var(--text-link);
	font-size: 16px;
}

.kgil-btn__txt:hover {
	background: transparent;
	color: var(--hover);
}

/*  sidebar */
.kgil-sidebar {
	display: flex;
	flex-direction: column;
	text-align: center;
	padding-top: 16px;
}

.kgil-sidebar--inner {
	margin-top: 16px;
}

.kgil-sidebar-footer {
	display: flex;
	justify-content: center;
	font-size: 14px;
}

/* footer */
.kgil-footer {
	background: #F6F6F6;
	border-top: 1px solid #eee;
}

.kgil-footer__inner {
	max-width: var(--width);
	margin: 0 auto;
	padding: 24px 13px;
	color: #7D7D7D;
}

.kgil-footer__row {
	display: flex;
	gap: 21px;
	align-items: center;
	flex-wrap: wrap;
	font-size: var(--small);
}

.kgil-footer-link {
	text-decoration: none;
	color: var(--text-muted);
	font-size: 14px
}

/* error */
.kgil-error-content {
	width: 100%;
	max-width: var(--width);
}

.kgil-error-container {
	margin: auto;
	background: var(--card);
	text-align: center;
	/* padding: 40px 24px; */
	padding: 0px 24px;
}

.kgil-error__inner {
	/* max-width: 600px; */
	max-width: 574px;
	margin: auto;
	text-align: center;
	word-break: break-all;
}


/*inner content */
.kgil-inner-content {
	width: 100%;
	max-width: var(--width);
}

.kgil-inner-title {
	font-size: 26px;
	font-weight: 400;
	line-height: 150%;
	padding-bottom: 0px;
}

/* rwd */
@media (max-width :767px) {
	body {
		background: #fff;
	}

	.kgil-main__inner {
		max-width: 100%;
		box-shadow: none;
	}

	.kgil-card {
		max-width: 100%;
	}
}

@media (max-width :424px) {
	.kgil-header__brand {
		gap: 6px;
		margin-bottom: 12px;
	}
}

@media (min-width :768px) {

	.kgil-main,
	.kgil-error-content {
		padding: 80px 13px 136px 13px;
	}

	.kgil-inner-content {
		padding: 40px 13px 136px 13px;
	}

	.kgil-inner-title {
		font-size: 32px;
		padding-bottom: 28px;
	}

	.kgil-error-container {
		padding: 0;
	}

	.kgil-error__inner {
		padding-top: 24px;
		padding-bottom: 48px;
	}

	.kgil-info--action {
		background: var(--bg);
	}

	.kgil-card {
		padding: 24px;
	}

	.kgil-actions .kgil-btn {
		height: 62px;
	}

	.kgil-captcha-row {
		flex-wrap: nowrap;
	}

	.kgil-sidebar {
		justify-content: space-between;
		flex-wrap: wrap;
	}
}

@media (min-width :1024px) {
	.kgil-main-content::before {
		border-top: 593px solid #04327a;
		border-left: 593px solid transparent
	}

	.kgil-hero {
		width: var(--width);
		display: block;
		background-size: cover;
		/* background-position: center center; */
		background-position: 70% center;
		background-repeat: no-repeat;
		overflow: hidden;
	}

	.kgil-hero__img {
		width: 115%;
		/* object-position: -90px 0; */
		/* transform: translateX(-90px); */
		transform: translateX(-75px);
		height: 100%;
	}

	.kgil-main__inner {
		max-width: var(--width);
	}

	.kgil-main-single {
		max-width: 500px;
	}

	.kgil-sidebar--inner {
		margin-top: 0;
	}
}


/* jquery validate */
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
	color: #3c763d;
}

.has-success .form-control,
.has-success .ts-control {
	border-color: #3c763d;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}

.has-success .form-control:focus {
	border-color: #2b542c;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
}

.has-success .input-group-addon {
	color: #3c763d;
	background-color: #dff0d8;
	border-color: #3c763d;
}

.has-success .form-control-feedback {
	color: #3c763d;
}

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
	color: #D42300;
}

.has-error .form-control,
.has-error .ts-control {
	border-color: #D42300;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}

.has-error .form-control:focus {
	border-color: #843534;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
}

.has-error .input-group-addon {
	color: #D42300;
	background-color: #f2dede;
	border-color: #D42300;
}

.has-error .form-control-feedback {
	color: #D42300;
}

.help-block {
	display: block;
	margin-top: 5px;
	margin-bottom: 10px;
	color: #D42300;
}

/* Tom Select */
.ts-wrapper {
	flex: 1 1 auto;
	min-width: 0;
}

.ts-control {
	display: flex;
	overflow: hidden;
	padding: 12px 42px 12px 14px;
	font-size: 16px;
	border: 1px solid #888;
	border-radius: 0;
}

.ts-control input {
	flex: 1 0 auto;
	min-width: 1px;
	/* ✅ 不會撐開 */
	width: 1px;
	text-transform: uppercase;
}

.ts-dropdown {
	width: 100%;
}

.ts-dropdown [data-selectable].option {
	opacity: 1;
	cursor: pointer;
	padding: 16px;
	font-size: 16px;
	text-align: left;
}

.ts-dropdown .active {
	background-color: #0044AD;
	color: #FFFFFF;
}

.ts-wrapper:not(.form-control, .form-select).single .ts-control {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzQzYTQwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0ibTIgNSA2IDYgNi02Ij48L3BhdGg+PC9zdmc+);
	background-position: right .75rem center;
	background-repeat: no-repeat;
	background-size: 16px 12px;
}

/* add */
.kgil-info-row {
	display: flex;
	margin-top: 6px;
}

.info-img {
	padding: 0 4px;
}

.kgil-help-link {
	font-weight: 400;
	margin-left: auto;
}

.msg_warning {
	color: var(--warning);
	font-size: 16px;
	line-height: 160%;
}

.cas-logo {
	height: 60px;
}

.msg_error {
	color: #FF4400;
	font-size: 14px;
	line-height: 150%;
	background: #FEF8F1;
	border-radius: 1px;
	padding: 12px 16px;
	gap: 4px;
}

