@charset "utf-8"; 
/* JIS Web Standardization Team (http://www.jisman.co.kr) 권미영 */

/* 테마 */
.login_body.Theme01 .login_body_left {
   background: url(/pilot/login.nsf/login_bg_theme01.jpg);
   background-repeat: no-repeat;
   background-size: cover;
}
.login_body.Theme02 .login_body_left {
   background: url(/pilot/login.nsf/login_bg_theme02.jpg);
   background-repeat: no-repeat;
   background-size: cover; 
}
.login_body.Theme03 .login_body_left {
   background: url(/pilot/login.nsf/login_bg_theme03.jpg);
   background-repeat: no-repeat;
   background-size: cover; 
}
.login_body.Theme04 .login_body_left {
   background: url(/pilot/login.nsf/login_bg_theme04.jpg);
   background-repeat: no-repeat;
   background-size: cover; 
}
.login_body.Theme05 .login_body_left {
   background: url(/pilot/login.nsf/login_bg_theme05.jpg);
   background-repeat: no-repeat;
   background-size: cover; 
}
.login_body.Theme06 .login_body_left {
   background: url(/pilot/login.nsf/login_bg_theme06.jpg);
   background-repeat: no-repeat;
   background-size: cover; 
}
.login_body.Theme07 .login_body_left {
   background: url(/pilot/login.nsf/login_bg_theme07.jpg);
   background-repeat: no-repeat;
   background-size: cover; 
}
.login_body.Theme08 .login_body_left {
   background: url(/pilot/login.nsf/login_bg_theme08.jpg);
   background-repeat: no-repeat;
   background-size: cover; 
}
.login_body.Theme09 .login_body_left {
   background: url(/pilot/login.nsf/login_bg_theme09.jpg); 
   background-repeat: no-repeat;
   background-size: cover;
}

.login_body.Theme01 .logo, .login_body.Theme02 .logo, .login_body.Theme03 .logo, .login_body.Theme04 .logo,
.login_body.Theme05 .logo, .login_body.Theme06 .logo, .login_body.Theme07 .logo, .login_body.Theme09 .logo 
{
   width: 100%;
   background: url(/pilot/login.nsf/login_logo_blue.png);
   background-repeat: no-repeat;
   background-position: center;
   margin-bottom: 50px; 
}
.login_body.Theme08 .logo 
{
   width: 100%;
   background: url(/pilot/login.nsf/login_logo_white.png);
   background-repeat: no-repeat;
   background-position: center;
   margin-bottom: 50px; 
}

/* 테마 끝 */

/* 바디 */
.login_body {
   position: relative;
   width: 100%;
   height: 100%;
   background: #ececea;
   /*background: #ffffff;*/
}

.login_body .login_body_left {
   position: absolute;
   left: 0px;
   width: 100%;
   height: 100vh;
   min-height: 850px;
   /*background: url(/pilot/login.nsf/login2024_bg_left.jpg);*/ 
   background-position: bottom left; 
   background-repeat: no-repeat;
   background-size: cover;
   box-sizing: border-box;
   
}

.login_body .login_body_center {
	position: absolute;
	top:calc(50vh - 275px);
	right: 8%;
    width: 518px;
    height: 550px;
    background-color : transparent;
    backdrop-filter:blur(10px);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
    border-radius : 5px;
    background-position: top left; 
  	background-repeat: no-repeat;
	box-sizing: border-box;
}

@media (max-width: 1679px) {
	.login_body .login_body_left {
	   display:none;
	}
	
	.login_body.Theme01 {
	   width: 100%;
	   background: url(/pilot/login.nsf/login_bg_theme01.jpg);
	   background-repeat: no-repeat;
	   background-size: cover;
	}
	.login_body.Theme02 {
	   width: 100%;
	   background: url(/pilot/login.nsf/login_bg_theme02.jpg);
	   background-repeat: no-repeat;
	   background-size: cover; 
	}
	.login_body.Theme03 {
	   width: 100%;
	   background: url(/pilot/login.nsf/login_bg_theme03.jpg);
	   background-repeat: no-repeat;
	   background-size: cover; 
	}
	.login_body.Theme04 {
	   width: 100%;
	   background: url(/pilot/login.nsf/login_bg_theme04.jpg);
	   background-repeat: no-repeat;
	   background-size: cover; 
	}
	.login_body.Theme05 {
	   width: 100%;
	   background: url(/pilot/login.nsf/login_bg_theme05.jpg);
	   background-repeat: no-repeat;
	   background-size: cover; 
	}
	.login_body.Theme06 {
	   width: 100%;
	   background: url(/pilot/login.nsf/login_bg_theme06.jpg);
	   background-repeat: no-repeat;
	   background-size: cover; 
	}
	.login_body.Theme07 {
	   width: 100%;
	   background: url(/pilot/login.nsf/login_bg_theme07.jpg);
	   background-repeat: no-repeat;
	   background-size: cover; 
	}
	.login_body.Theme08 {
	   width: 100%;
	   background: url(/pilot/login.nsf/login_bg_theme08.jpg);
	   background-repeat: no-repeat;
	   background-size: cover; 
	}
	.login_body.Theme09 {
	   width: 100%;
	   background: url(/pilot/login.nsf/login_bg_theme09.jpg); 
	   background-repeat: no-repeat;
	   background-size: cover;
	}
	
	.login_body .login_body_center {
	   /*left: calc(25% - 163px);
	   width: calc(50% + 163px);
	   right: calc(25% - 163px);*/
	   
	   left: calc(calc(100% - 500px) / 2);
	   width: 500px;
	   right: calc(calc(100% - 500px) / 2);
	}
}

@media (max-width: 720px) {
	.login_body .login_body_left {
	   display:none;
	}
	.login_body .login_body_center 
	{
		/*left: calc(25% - 163px);
	   width: calc(50% + 163px);
	   right: calc(25% - 163px);*/
	   /*left: 0%;
	   width: 100%;
	   right: 0%;*/
		top: 0%;
		left: 0%;
		width: 100%;
		right: 0%;
		height: 100vh;
	}
}

/*
.login_body .login_topbar {
	position: absolute;
	height: 0px;
	width: 100%;
	background-color: #3d6cbf;
	box-shadow: 9px 5px 15px 0px rgba(61, 108, 191, 0.36); 
	z-index: 10;
}
*/
/* 로그인카피 */
.login_body .login_copy_top {
	position: absolute;
    z-index: 1;
    top: calc(50vh - 295px);
    left: 9%;
    height: 21px;
    margin-top:55px;
   	padding-top:50px;
}

.login_body .login_copy_top div {
	line-height: 30px;
	font-size: 21px;
	font-weight: 500;
    font-family: "Noto Sans KR";
    color: #000000;
    letter-spacing : 0px;
}

.login_body .login_copy_middle {
	position: absolute;
    z-index: 1;
    top: calc(50vh - 255px);
    left: 9%;
    height: 45px;
    margin-top:55px;
   	padding-top:50px;
}

.login_body .login_copy_middle div {
	line-height: 45px;
	font-size: 45px;
    font-family: "Noto Sans KR";
    font-weight: 500;
    color: #062267;
    letter-spacing: 0px;
}

.login_body .login_copy_bottom {
	position: absolute;
	z-index: 1;
	top: 160px;
	left: 10%;
   	height: 108px;
   	margin-top:55px;
   	padding-top:50px;
	line-height:30px;
	font-size: 21px;
	font-family: "Noto Sans KR", sans-serif;
	font-weight: bold;
	color: #303a4699;
	letter-spacing:-1px;
}

/* 로그인박스 */
.login_body .login_bx {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: calc(calc(100% - 360px) / 2);
	width: 360px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	transform: translate(0%, -50%);
}

/* 로그인폼 */
.login_body .login_bx .login_form {position: relative;}
.login_body .login_bx .login_form .logo {
	position: relative;
	text-align: left;
	font-size: 31px;
	color: #2a3144;
	height: 35px;
	padding: 0px 0px 20px;
	font-weight: normal;
	font-family: "Note Sans KR", sans-serif;
	letter-spacing:-2px;
	/*background: url(/pilot/login.nsf/login2023_logo.png); 
	background-position: 50% 0px; 
	background-repeat: no-repeat;*/
}

.login_body .login_bx .login_form .write .field {
	position: relative;
}
.login_body .login_bx .login_form .write .field span {
	position: absolute;
	left: 0px;
	padding-left: 25px;
	line-height: 45px;
	font-size: 17px;
	font-family: "Noto Sans KR", sans-serif;
	font-weight: bold;
	/*color: #3d6cbf;*/
}
.login_body .login_bx .login_form .write .field input {
	width: 100%;
	height: 45px;
	font-size: 17px;
	font-weight: normal;
	color: #2a3144c9;
	line-height: 40px;
	padding: 0px 10px 0px 150px;
	margin-bottom:15px;
	border: 1px solid transparent;
	background: #ffffff;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 2px;
}
.login_body .login_bx .login_form .write .field input:focus {
	border: 2px solid #3d6cbf;
	outline:0px;
	background: #ffffff;
}
.login_body .login_bx .login_form .write a.btn_login {
	position: relative;
	width: 100%;
	height: 45px;
	font-size: 19px;
	font-family: "Noto Sans KR", sans-serif;
	font-weight: bold;
	color: #b5bdd2;
	text-align: center;
	line-height: 45px;
	display: block;	
	background: #062267;
	box-shadow: 3px 4px 15px 0px rgba(6, 34, 103, 0.5);
	border: 1px solid #062267;
}				
.login_body .login_bx .login_form .write a.btn_login:hover {
	background: #062267;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.login_body .login_bx .login_form .write .remember_bx {
	    /* position: relative;  필요 없으면 제거 */
    width: 360px;
    /* height: 18px;  <- 제거 */
    font-family: "Noto Sans KR", sans-serif;
    font-size: 13px;
    font-weight: normal;
    color: #2a3144c9;
    /* line-height: 20px; <- 제거 */
    margin-top: 5px;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;   /* 좌우 배치 */
    align-items: center;               /* 세로 중앙 정렬 */
    
}

/* 라벨 내부도 수평 정렬 */
#remember_lb{
    display: flex;
    align-items: center;
    gap: 6px;           /* 체크박스와 글자 간격 */
    margin: 0;          /* 기본 여백 제거 */
    color: #ffffff;
}

/* 체크박스 미세 정렬 */
#remember{
    width: 15px;
    height: 15px;
    margin: 0;
    vertical-align: middle;
}

/* 링크 기본 줄높이 영향 제거(선택) */
.remember_bx a{
    line-height: 1;     /* 또는 normal */
    display: inline-block;
    color: #ffffff;
}

.login_body .login_bx .login_form .write .remember_bx label[id="remember_lb"]{
	position: relative;
	font-family: "Noto Sans KR", sans-serif;
	font-size: 13px;
	font-weight: bold;
	color: #2a3144c9;
	line-height: 20px;
	margin-top: 5px;
	margin-bottom: 35px;
}


.sub_box .article {
	margin:10px 0px;
}

.sub_box .article .article_header {
	position:relative;
	padding:0px 20px;
}

.sub_box .article .article_header .article_title {
	margin-right:10px;
	padding:10px 0px;
	display:inline-block;
	border-bottom:2px solid #686868;
	font-size:1.13em;
	font-weight:bold;
	color:#000;
}

.sub_box .article.fold .article_header {
	border-bottom:2px solid #37588e;
}

.sub_box .article.fold .article_header .article_title {
	border-bottom:0px none;
}

.sub_box .article.fold .article_header .article_btn {
	position:absolute;
	top:5px;
	right:10px;
	padding: 15px 15px;
	background-image:url('../images/icon_hide.png');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	border: 1px solid #cccccc;
	border-radius: 5px;
}

.sub_box .article.fold.close .article_header .article_btn {
	background-image:url('../images/icon_show.png');
}
.sub_box .article.fold .fold_body {
	overflow:hidden;
}

.sub_box .article.fold.close .fold_body {
}


.sub_box .article .list_box {
	padding:10px 20px;
	background-color:#f2f5fa;
}

.sub_box .article .list_box .list_item {
	position:relative;
	margin:7px 0px;
	padding:15px 50px 15px 40px;
	border:1px solid #b0c1dd;
	border-radius:5px;
	background-color:#fff;
}

.sub_box .article .list_box .list_item .icon {
	position:absolute;
	left:0px;
	top:0px;
	height:100%;
	width:40px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	/*background-image:url('../images/login_checkbox_checked.png');*/
}

.sub_box .article .list_box .list_item .title {
	display:inline;
	font-size:20px;
	font-weight:bold;
	color:#505667;
}

.sub_box .article .list_box .list_item .alert {
	position:absolute;
	left:22px;
	top:5px;
	height:20px;
	width:20px;
	line-height:20px;
	border-radius:100%;
	background-color:#f00;
	font-size:11px;
	font-weight:bold;
	text-align:center;
	color:#fff;
	overflow:hidden;
	text-overflow:ellipsis;
}

.sub_box .article .list_box .list_item .button {
	position:absolute;
	right:0px;
	top:0px;
	height:100%;
	width:40px;
	background-color:#eaeff8;
	background-image:url('../images/list_icon_arrow01.png');
	background-position: 50% 50%;
	background-repeat: no-repeat;
}


.sub_box .article .form_box {
	padding:10px;
	background-color:#f2f4fa;
}

.sub_box .article .form_box .form_row {
	display:flex;
}


.sub_box .article .form_box .form_item {
	flex-grow:1;
	padding:5px;
}

.sub_box .article .form_box .form_item .label {
	font-size:0.94em;
	color:#1f222c;
}

.sub_box .article .form_box .form_item .field {
	display:flex;
	padding:5px 10px;
	min-height:40px;
	border-radius:10px;
	overflow:hidden;
	background-color:#fff;
}

.sub_box .article .form_box .form_item .field input[type='text'],
.sub_box .article .form_box .form_item .field input.text {
	width:100%;
	border:0px none;
	font-size:1em;
}


.sub_box .article .form_box .form_item .field .btn {
	position:relative;
	padding-left:10px;
	width:50px;
	border-left:1px solid #ccc;
	background-image:url('../images/icon_search.png');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-origin: content-box;
	background-size:65%;
	user-select:none;
}

.sub_box .article .view_box {
	display:flex;
	flex-direction: column;
	padding:10px 20px;
	background-color:#edf5f5;
}

.sub_box .article .view_box .view_head {
	width:100%;
	display:flex;
}
.sub_box .article .view_box .view_body {
	width:100%;
	display:flex;
}


.sub_box .article .view_box .view_table {
	width:100%;
	display:flex;
	flex-direction: column;
}

.sub_box .article .view_box .view_table .view_row {
	position:relative;
	margin:5px 0px;
	width:100%;
	border:1px solid #aac6c6;
	background-color:#fff;
	display:flex;
	border-radius:10px;
	overflow:hidden;
}

.sub_box .article .view_box .view_table .view_row .view_cell {
	flex: auto 1 1;
	padding:5px;
	line-height:40px;
	font-size:15px;
	font-weight:bold;
	overflow:hidden;
}

.sub_box .article .view_box .view_table .view_row .view_cell.row_no {
	flex: auto 0 0;
	text-align:center;
	color:#8b8f9c;
}

.sub_box .article .view_box .view_table .view_row .view_cell.link_btn {
	flex: auto 0 0;
	padding:0px;
	background-color:#f7efeb;
	background-image:url('../images/list_icon_arrow01.png');
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

.sub_box .article .view_box .view_table .view_row .view_cell.sub_col {
	line-height:20px;
	font-size:12px;
	font-weight:bold;
}

.sub_box .article .view_box .view_table .view_row .view_cell .article {
	margin:0px;
	line-height:20px;
	font-size:13px;
}

.sub_box .article .view_box .view_table .view_row .view_cell .label {
	font-size:12px;
	color:rgba(36,45,68,0.8);
}

.sub_box .article .view_box .view_table .view_row .view_cell .label_box {
	display:inline-block;
	font-size:12px;
	color:rgba(36,45,68,0.8);
}


.msg_box {
	position:fixed;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.7);
	padding:0px 20px;
	box-sizing:border-box;
}

.msg_box .article {
	padding-top:20px;
	background-color:#d48545;
	border-bottom-left-radius:20px;
	border-bottom-right-radius:20px;
	overflow:hidden;
	box-shadow: 0px 2px 10px 0px rgba(255, 114, 0, 1);
	color:#fff;
}

.msg_box .article .article_header {
	padding:0px 20px;
	font-weight:bold;
	text-align:center;
}

.msg_box .article .msg {
	padding:0px 20px;
}

.msg_box .article .article_footer {
	display:flex;
	justify-content:space-between;
	background-color:#fff;
	color:#c8784c;
}

.msg_box .article .article_footer .btn {
	flex:30% 1 1;
	position:relative;
	padding:10px;
	text-align:center;
	font-weight:bold;
	user-select:none;
	cursor:pointer;
}

.msg_box .article .article_footer .btn .progress::before {
	border-top-color:#d48545;
}

.alert_box {
	position:fixed;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	padding:25% 20px 0px 20px;
	background-color:rgba(0,0,0,0.7);
	box-sizing:border-box;
	z-index:1;
}

.alert_box .article {
	padding:30px 30px 0px 30px;
	background-color:#fff;
	border-radius:20px;
	overflow:hidden;
	color:rgba(0,0,0,0.6);
	width:20%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%)
}

.alert_box .article .article_header {
	font-weight:bold;
	color:rgba(0,0,0,0.7);
	font-size:20px;
	height: 40px;
}

.alert_box .article .msg {
	color: rgba(0, 0, 0, 0.6);
	padding-bottom: 10px;
	font-size: 18px;
}

.alert_box .article .article_rdobtn {
	text-align: center;
	display: flex;
	color: rgba(0, 0, 0, 0.6);
	height: 30px;
	padding: 10px 0;
}

.alert_box .article .article_rdobtn .article_rdobtn_A {
	width:50%;
	font-size: 18px;
}
.alert_box .article .article_rdobtn .article_rdobtn_B {
	width:50%;
	font-size: 18px;
}

.alert_box .article .article_footer {
	display:flex;
	justify-content:space-between;
	border-top:1px solid #ccc;
	color:#5e78ac;
}

.alert_box .article .article_footer .btn {
	flex:30% 1 1;
	position:relative;
	padding:15px;
	text-align:center;
	font-weight:bold;
	user-select:none;
	cursor:pointer;
	color:#5e78ac;
	
}

.alert_box .article .article_footer .btn .title {
	color:#5e78ac;
	font-size: 18px;
}

@keyframes progress_spin{
    100% {
        transform: rotate(360deg);
    }
}

.btn .progress {
	position:absolute;
	right:0px;
	top:0px;
	height:100%;
	width:100%;
	background-color:#fff;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display:none;
}

.btn.run .progress {
	display:block;
}

.btn.run .progress::before {
	position:absolute;
	top:calc(50% - 15px);
	left:calc(50% - 15px);
	width:30px;
	height:30px;
	border: 3px solid #eee;
	border-radius: 50%;
	border-top-color: #37588e;
	animation: progress_spin 1s ease-in-out infinite;
	content:" ";
	box-sizing:border-box;
}

.btn.ok .progress {
	display:block;
}

.btn.error .progress {
	display:block;
}