@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/variable/pretendardvariable.css");

/* css color */
:root {
	--main_color : #1561B2;
	--sub_color : #0085FF;
	--sub_color2 : #AFD3E2;
	--point_color : #FBA834;
	--sub_dark_color : #002755;
	--bg_color : #F3F8FB;
	--tab_color : #002755;
}

* { margin:0; padding:0; box-sizing:border-box; color: #303030;
	font-family: "Pretendard variable", -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

input,
button,
select {
  vertical-align: middle; /* 또는 top / bottom 시도 */
}

a:hover { color: #303030;}
a:visited { color: #303030;}

header { width: 100%; display: flex; justify-content: center; flex-direction: column; z-index: 100; position: relative;}
header .wrap-top-menu { width: 100%; display: flex; justify-content: center; align-items: center; flex-direction: row; background-color: #efefef;}
header .wrap-top-menu a { font-size: 14px;}
header .wrap-top-menu .header_quick_menu { width: 1200px; display: flex; justify-content: space-between; align-items: center; margin: 0 auto; flex-direction: row; height: 36px;}
header .wrap-top-menu .header_quick_menu ul { width: auto; margin-left: auto; list-style: none; display: flex; flex-direction: row; gap: 16px;}
header .wrap-top-menu .header_quick_menu ul a { font-size: 12px;}

header .wrap-header { width: 1200px; display: flex; justify-content: space-between; align-items: center; margin: 10px auto;}
header .wrap-header .wrap-header-callcenter { display: flex; flex-direction: column; gap: 8px; text-align: right;}
header .wrap-header .wrap-header-callcenter small { font-size: 800; font-size: 14px; color: #606060;}
header .wrap-header .wrap-header-callcenter h3 { margin: 0; font-size: 18px; line-height: 18px;}

#wrap_top_menu { display: flex; flex-direction: row; width: 100%; justify-content: center; background-color: var(--main_color);}
#wrap_top_menu .menubox { display: flex; flex-direction: row;width: 1200px; height: 60px;}
#wrap_top_menu .menubox ul { display: flex; flex-direction: row; width: 100%; justify-content: space-between; padding: 8px 0px; align-items: start;}
#wrap_top_menu .menubox li { display: flex; flex-direction: column; width:auto; justify-content: center; position: relative; min-width: 8px; height: auto;}
#wrap_top_menu .menubox li.menu_item { width: 170px; gap: 12px;}
#wrap_top_menu .menubox li i { font-size: 21px; font-weight: 700; color: #fff; height: 40px; display: flex; align-items: center;}
#wrap_top_menu .menubox li > a { display: flex; flex-direction: row; width:auto; justify-content: center; padding: 4px 16px; font-size: 21px; font-weight: 600; color: #fff;}
#wrap_top_menu .menubox li > a:hover { text-decoration: none; color: #fff;}
#wrap_top_menu .menubox li > .wrap_sub {display: none; }
#wrap_top_menu .menubox li.menu_item.on .wrap_sub { display: flex; flex-direction: column; width: 100%; background-color: #fff;}
#wrap_top_menu .menubox li.menu_item.on .wrap_sub ul { display: flex; flex-direction: column; width: 100%; border: 1px solid var(--main_color); gap: 1px; padding: 6px 0;}
#wrap_top_menu .menubox li.menu_item.on .wrap_sub ul a { display: flex; flex-direction: row; width: 100%; text-align: center; font-size: 14px; padding: 6px 0;}
#wrap_top_menu .menubox li.menu_item.on .wrap_sub ul a:hover { background-color: var(--main_color); color: #fff; text-decoration: none;}
#wrap_top_menu .menubox li.menu_item.on .wrap_sub ul a li { width: 100%;}
#wrap_top_menu .menubox li.menu_item.on .wrap_sub ul a:hover li { color: #fff; }
/* **메인화면 시작 */

main {
	width: 100%;
	display: flex;
	position: relative;
	height: auto;
	gap: 20px;
	padding: 36px 0;
	flex-direction: column;
	max-width: 1200px;
	margin: 0 auto;
}
/* **메인화면 끝 */

/* footer */
footer {
	display: flex;
	position: relative;
	width: 100%;
	flex-direction: column;
	background-color: #efefef;
}

footer .footer_menu {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 8px;
	align-self: stretch;
	background-color: #333333;
	color: #fff;
}

footer .footer_menu ul {
	width: 1200px;
	display: flex;
	flex-direction: row;
	gap: 16px;
	margin: 0 auto;
	padding: 8px;
}

footer .footer_menu ul a,
footer .footer_menu ul i {
	color: #fff;
}

footer .footer-info {
	width: 1200px;
	margin: 0 auto;
	padding: 24px 8px;
	display: flex;
	flex-direction: row;
	gap: 20px;
	justify-content: start;
	align-items: flex-end;
}

footer .footer-info .foot-info-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

footer .footer-info .foot-info-item-text {
	font-size: 12px;
	color: #000;
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: center;
	& b {
		font-size: 16px;
	}
}

/* sub page */
section {
	width: 100%;
	display: flex;

}
.sub-title {
	width: 100%;
	display: flex;
	margin: 0 auto;
	align-items: center;
	justify-content: start;
	border-bottom: 1px solid #ddd;
	padding: 12px 0;
	font-size: 18px;
}

.sub-title .location {
	margin-left: auto;
	font-size: 14px;
}

.sub-title .location ul {
	display: flex;
	flex-direction: row;
	gap: 12px;
}

.sub-title .location li {
	color: #666;
}

.sub-title .location li a {
	color: #333;
}

.sub-title .location li::after {
	content: " / ";
	margin-left: 10px;
}

.sub-title .location li:last-child::after {
	content: "";
	margin: 0;
}

/* button style */
.btn {
	width: 100%;
	height: 38px;
	display: flex;
	border-radius: 6px;
	background-color: var(--sub_dark_color);
	color: #fff !important;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 600;
	&:hover {
		background-color: var(--main_color);
		text-decoration: none;
	}
}
.s_btn {
	border-radius: 6px;
	border: 1px solid #ddd;
	padding: 6px 14px;
	line-height: 30px;
	height: 30px;
	display:inline-flex;
	justify-content: center;
	align-items: center;
	& img { width: 17px; margin-right: 6px;}
	&:hover {
		text-decoration: none;
		background-color: var(--main_color);
		color: #fff;
		border-color: var(--main_color);
	}
	&.type_black {
		background-color: #333;
		color: #fff;
		border: 1px solid #666;
	}
	&.type_blue {
		background-color:var(--main_color);
		color: #fff !important;
		border: 1px solid var(--main_color);
	}
	&.type_green {
		background-color:#0a8e1d;
		color: #fff !important;
		border: 1px solid #0a8e1d;
	}
	&.type_red {
		background-color:#da2d2d;
		color: #fff !important;
		border: 1px solid #da2d2d;
	}
}
/* color style */
.c-main { color: var(--main_color) !important;}
.c-sub { color: var(--sub_color) !important;}
.c-dark { color: var(--sub_dark_color) !important;}
.c-point { color: var(--point_color) !important;}
.c-dark-gray { color: #666 !important;}
.c-border { color: #ddd !important;}

.bg-blue { background-color: #F3F8FB !important;}
.bg-gray { background-color: #efefef !important;}

/* font style */
.f-26 { font-size: 26px; letter-spacing: -0.06rem; line-height: 32px;}
.f-21 { font-size: 21px;}
.f-20 { font-size: 20px;}
.f-19 { font-size: 19px;}
.f-18 { font-size: 18px;}
.f-17 { font-size: 17px;}
.f-16 { font-size: 16px; line-height: 19px;}
.f-15 { font-size: 15px; line-height: 18px;}
.f-14 { font-size: 14px; line-height: 16px;}
.ellipsis {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	word-break: break-all;
}
/* font weight */
.b-600 { font-weight: 600;}
.b-700 { font-weight: 700;}
.b-800 { font-weight: 800;}
.b-900 { font-weight: 900;}

/* form style */
.form-group {
	display: flex;
	flex-direction: row;
	align-items: center;
	& label { padding: 4px 12px; flex-shrink: 0;}
	& button { flex-shrink: 0;}
}
select.d_form { height: 32px; }
input[type="text"].d_form, input[type="search"].d_form, input[type="password"].d_form {
    height: 32px;
	width: 100%;
}
input.d_form, textarea.d_form, select.d_form {
    margin: 0;
}

.input_xlarge { width: 300px !important;}
.input_large { width: 200px !important;}
.input_medium {width: 150px !important;}
.input_normal { width: 120px !important;}
.input_small { width: 100px !important;}

/* loading style */
#loading { display: none;}

/* list style */
.wrap-count {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	& span { font-size: 14px;}
}

#box_paging_new {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	gap: 4px;
	font-size: 14px;
	line-height: 25px;
	margin: 12px 0;
	& strong, & a:hover {
		font-weight: 600;
		padding: 6px 14px;
		display: flex;
		border: 1px solid #ddd;
		background-color: var(--main_color);
		color: #fff;
		text-decoration: none;
	}
	& a {
		padding: 6px 14px;
		border: 1px solid #ddd;
	}
}

/* table style */
.d_table {
	width: 100%;
	& th, & td {
		padding: 6px 12px !important;
		line-height: 30px;
	}
}

.tbl_normal {
	width: 100%;
	border-top: 2px solid var(--main_color);
	border-left: 1px solid #ddd;
}

.tbl_normal th,
.tbl_normal td {
	padding: 6px 12px !important;
	line-height: 25px;
	font-size: 13px;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.tbl_normal th div,
.tbl_normal td div {
	height: auto;
	line-height: 20px;
}

.tbl_normal th .inner_cell,
.tbl_normal td .inner_cell {
	height: auto;
	line-height: 16px;
	font-size: 13px;
}

/* flex style */
.d-flex {
	display: flex;
	width: 100%;
}

.d-flex-center {
	justify-content: center !important;
}
.d-flex-between {
	justify-content: space-between !important;
}

/* margin style */
.mr-1 { margin-right: 4px;}
.mr-2 { margin-right: 8px;}
.mr-3 { margin-right: 12px;}
.mr-4 { margin-right: 16px;}
.mr-5 { margin-right: 20px;}

.ml-1 { margin-left: 4px;}
.ml-2 { margin-left: 8px;}
.ml-3 { margin-left: 12px;}
.ml-4 { margin-left: 16px;}
.ml-5 { margin-left: 20px;}

.imgstate { padding: 12px 0; display: flex; flex-direction: row; gap: 12px;}
.imgstate .imgstate_item { width: 100px; height: 100px; border: 1px solid #ddd; border-radius: 6px;}
.imgstate .imgstate_item img { width: 100%; height: 100%; object-fit: cover;}

.box_list_btns { display: flex; flex-direction: row; gap: 4px; padding: 12px 0; justify-content: end;}
.s_btn i { color: #fff !important;}
.s_btn i.fa { margin-right: 5px;}

