/* 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%;
	outline: none;
}

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

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

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

.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;
}

/* 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;
}

.kgil-logo {
	width: 180px;
}

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

.kgil-wrap::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;
}

/* main */
.kgil-main {
	position: relative;
	padding: 80px 13px 136px 13px;
}

.kgil-main__inner {
	max-width: var(--width);
	margin: 0 auto;
	display: flex;
	box-shadow: var(--shadow);
	background: #fff;
}

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

.kgil-hero__img {
	width: 100%;
	object-fit: cover;
}

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

.kgil-card__title {
	margin: 0 0 10px;
}

/* field */
.kgil-field {
	margin: 16px 0;
}

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

.kgil-input {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

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

.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-tooltip {
	position: absolute;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 400;
	line-height: 150%;
	top: calc(100% + 8px);
	left: -2rem;
	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:after {
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	position: absolute;
	top: -8px;
	right: 10%;
	background-color: #ffffff;
	border-top: 1px solid #eee;
	border-left: 1px solid #eee;
	transform: rotate(45deg);
} */

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

.kgil-hint-link:hover .kgil-tooltip {
	/* opacity: 0.95; */
	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: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* captcha */
.kgil-captcha-row {
	display: flex;
	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: var(--error);
	border-color: var(--error);
}

.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;
}

.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: 600px;
	height: 48px;
	margin: auto;
}

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

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

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

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

/*  sidebar */
.kgil-sidebar {
	display: flex;
	/* justify-content: space-between; */
	justify-content: center;
}

/* 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);
}

/* [CSP] 取代行內 style="margin-bottom: 8px" */
.kgil-footer__row--mb8 {
	margin-bottom: 8px;
}

/* [CSP] 取代行內 style="display: none"；
   刻意不加 !important，讓 JS 以 element.style.display 控制顯示時仍可生效 */
.kgil-hidden {
	display: none;
}

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

/* */
.msg_error {
	/* background:#fffae2; 
	padding:3px 10px; 
	color: var(--error);
	line-height:24px; 
	margin:10px 0; */
	color: var(--warning);
	font-size: 14px;
	line-height: 150%;
	background: #FEF8F1;
	border-radius: 1px;
	padding: 12px 16px;
	gap: 4px;
}

.kgil__title {
	color: var(--text);
	font-size: 24px;
	font-weight: 500;
	padding-top: 1rem;
}

/* RWD */
@media (max-width :1023px) {
	.kgil__title {
		padding-top: 0;
	}
}

@media (max-width :767px) {
	.kgil-card {
		padding: 18px;
	}

	.kgil-btn {
		height: 52px;
	}

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

	.kgil-main {
		padding: 0;
	}

	main {
		display: block;
		flex: 1;
	}
}

@media (max-width :576px) {
	.kgil-card {
		height: calc(100vh - 150px);
		box-sizing: border-box;
		display: inline-table;
	}

	.width-100 {
		width: 100%;
	}
}

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

	.kgil-hero {
		display: block;
		/* align-self: center; */
		align-self: auto;
		overflow: hidden;
	}

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

	/* .kgil-main__inner {
		max-height: 630px;
	} */
}

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

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

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

.mdc-card {
	background: none;
	box-shadow: none;
}

.mdc-drawer-app-content {
	position: inherit;
}

.mdc-top-app-bar--fixed-adjust {
	padding-top: 0px;
}

/*has-error-jquery validate*/
.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;
}

.input-error{
	border: 1px solid #D42300 !important;
}
