@charset "utf-8";

/*
	#기능: 공통 사용
*/
@import url("https://fonts.googleapis.com/earlyaccess/notosanskr.css");

@font-face {
    font-family: 'SEBANG_Gothic';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2104@1.0/SEBANG_Gothic_Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

html, input, select, textarea, button {
	font-family: "Noto Sans KR", sans-serif;
	letter-spacing: -0.5px;
}
body.opt-prevent {
	overflow: hidden;
}
:root {
	--primary-color:#459FFF;
	--seconary-color:#243D7B;
	--secondary-font: 'SEBANG_Gothic', sans-serif;
	--font-size-30: 1.85em;
	--font-size-28: 1.75em;
	--font-size-24: 1.5em;
	--font-size-20: 1.25em;
	--font-size-18: 1.125em;
	--font-size-14: 0.88em;
	--font-size-13: 0.82em;
}
.opt-ml {
	margin-left:5px;
}

/* ## radio box s ## */
.radio-box {
	position:relative;
}
.radio-check {
	position: absolute;
	left: 0;
	top:5px;
	width: 14px;
	height: 14px;
	opacity: .01;
}
.radio-label {
	display: inline-block;
	vertical-align: top;
	position: relative;
	padding-left:20px;
	cursor: pointer;
}
.radio-input {
	display: block;
	position: absolute;
	left:0;
	top:5px;
	width: 14px;
	height: 14px;
	cursor: pointer;
	border-radius: 100%;
	border:1px solid #7E8188;
}
.radio-input::before {
	display: block;
	content:"";
	width: 0;
	height: 0;
	border-radius: 100%;
	position: absolute;
	left: 50%;
	top:50%;
	transform:translate(-50%, -50%);
	transition: all 0.2s ease-in-out;
	background: #7E8188;
}
.radio-text {
	display: inline-block;
	vertical-align: top;
}
.radio-check:checked + .radio-input::before {
	width: 6px;
	height: 6px;
}
/* ## radio box e ## */

/* ## check box s ## */
.check-box {
	position:relative;
}
.check-check {
	position: absolute;
	left: 0;
	top:5px;
	width: 16px;
	height: 16px;
	opacity: .01;
}
.check-label {
	display: inline-block;
	vertical-align: top;
	position: relative;
	padding-left:22px;
	cursor: pointer;
}
.check-input {
	display: block;
	position: absolute;
	left:0;
	top:5px;
	width: 16px;
	height: 16px;
	cursor: pointer;
	border:1px solid #DFDFDF;
}
.check-input::before {
	display: block;
	content:"";
	width: 4px;
	height: 8px;
	border-right:2px solid transparent;
	border-bottom:2px solid transparent;
	position: absolute;
	left: 50%;
	top:50%;
	transform:translate(-50%, -100%) rotate(0);
	transition: all 0.2s ease-in-out;
}
.check-text {
	display: inline-block;
	vertical-align: top;
}
.check-check:checked + .check-input {
	background: var(--primary-color);
	border-color: var(--primary-color);
}
.check-check:checked + .check-input::before {
	transform:translate(-50%, -70%) rotate(45deg);
	border-color: #fff;
}
/* ## check box e ## */


/* ## modal popup s ## */
.modal-popup {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1000;
	background: rgb(0 0 0 / 35%);
	justify-content: center;
	align-items: center;
	display: flex;
	visibility: hidden;
	backface-visibility: hidden;
	opacity: 0;
	transition: all 0.2s ease-in-out;
	padding:20px;
}
.modal-popup.active {
	visibility: visible;
	backface-visibility: visible;
	opacity: 1;
}
.modal-popup-box {
	max-width: 500px;
	width: 100%;
	max-height: 100%;
	overflow-y: auto;
}
.modal-popup-item {
	position: relative;
}
.modal-popup-content {
	padding:30px;
	background: #fff;
	border-radius: 3px;
	position: relative;
	transition: all 0.2s ease-in-out;
	transform: translateY(-20%);
}
.modal-popup.active .modal-popup-content {
	transform: translateY(0);
}
.modal-popup-title {
	font-size: 1.25em;
	font-weight: 600;
	margin-bottom:10px;
	line-height: 1.2;
}
.modal-popup-title img {
	vertical-align: middle;
}
.modal-popup-btn-box {
	margin-top:20px;
}
.modal-popup-close {
	position: absolute;
	right: 30px;
	top: 18px;
	color: #999999;
	font-size: 1.8em;
	z-index: 1;
}
@media all and (max-width: 767px) {
	.modal-popup {
		padding:10px;
	}
	.modal-popup-content {
		padding:20px;
	}
	.modal-popup-close {
		font-size: var(--font-size-28);
		top:15px;
		right: 20px;
	}
}
/* ## modal popup e ## */


/* ## button s ## */
.btn-default-box {
	margin:30px -5px 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.btn-default {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #aaa;
	color: #fff;
	border-radius: 5px;
	padding:13px 30px;
	transition: all 0.2s ease-in-out;
	border:1px solid transparent;
}
.btn-default:hover,
.btn-top:hover {
	box-shadow: 3px 3px 2px rgba(0,0,0,0.2);
}
.btn-default.opt-primary {
	background:var(--primary-color);
	border-color: var(--primary-color);
}
.btn-default.opt-secondary {
	background:var(--seconary-color);
	border-color: var(--seconary-color);
}
.btn-default.opt-dark {
	background:#000;
	border-color: #000;
}
.btn-default.opt-light {
	background:#E1E1E1;
	border-color: #E1E1E1;
}
.btn-default.opt-line {
	border:1px solid #DFDFDF;
	color: #555555;
	background: #fff;
}
.btn-default.opt-line-primary {
	border:1px solid var(--primary-color);
	color: var(--primary-color);
	background:transparent;
}
.btn-default.opt-md {
	padding:5px 15px;
	font-size: 0.95em;
}
.btn-default.opt-sm {
	padding:4px 12px;
	font-size: var(--font-size-13);
}
.btn-default.opt-col1 {
	flex: 0 0 100%;
}
.btn-default-box .btn-default {
	margin-left:5px;
	margin-right:5px;
}
.btn-float-box {
	position: fixed;
	right:40px;
	bottom:40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 20;
}
.btn-top,
.btn-kakao-channel {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin:6px 0;
	transition: 0.1s ease-in-out;
}
.btn-top {
	background-color: #181818;
	color: #fff;
}
.btn-default-box .btn.opt-line-top {
	display: block;
	width: 100%;
	padding: 15px 0;
	border-top: 1px solid #ddd;
	color: #959595;
}
.btn-kakao-channel {
	background:#fae100 url("../img/contents/ico-kakao-channel.png") no-repeat center center/35px;
	box-shadow:0 0 3px rgba(0, 0, 0, 0.2);
}
.btn-top:hover,
.btn-kakao-channel:hover {
	transform:scale(1.05);
}
@media all and (max-width: 1023px) {
	.btn-float-box {
		right:20px;
		bottom:20px;
	}
}
@media all and (max-width: 767px) {
	.btn-float-box {
		right:15px;
		bottom:15px;
	}
	.btn-default-box {
		margin-top:20px;
	}
	.btn-default {
		padding:11px 25px;
		font-size: var(--font-size-14);
	}
	.btn-default.opt-md {
		font-size: var(--font-size-14);
	}
	.btn-default.opt-sm {
		padding:3px 6px;
	}
	.btn-top,
	.btn-kakao-channel {
	    width: 50px;
	    height: 50px;
	    margin: 5px 0;
	}
	.btn-kakao-channel {
		background-size: 30px;
	}
}
/* ## button e ## */

/* ## text s ## */
.title-primary {
	font-size: var(--font-size-28);
	margin-bottom:20px;
	font-weight: 600;
}
.title-sub {
	font-size: var(--font-size-24);
	margin-bottom:15px;
	font-weight: 600;
}
.title-sub-sm {
	font-size: var(--font-size-20);
	margin-bottom:15px;
	font-weight: 600;
}
.opt-strong {
	font-weight: 600;
}
.opt-tl {
	text-align: left;
}
.opt-tr {
	text-align: right;
}
.opt-tc {
	text-align: center;
}
.opt-color-primary {
	color: var(--primary-color);
}
.opt-color-warning {
	color: #FF7B7B;
}
.opt-relative {
	position: relative;
}
@media all and (max-width: 1023px) {
	.title-primary {
		font-size: var(--font-size-24);
	}
	.title-sub {
		font-size: 1.4em;
	}
}
@media all and (max-width: 767px) {
	.title-primary {
		font-size: 1.4em;
		margin-bottom:15px;
	}
	.title-sub {
		font-size: var(--font-size-20);
		margin-bottom:10px;
	}
	.title-sub-sm {
		font-size: var(--font-size-18);
		margin-bottom:10px;
	}
}
/* ## text e ## */

/* ## table s ## */
.table-default table {
	width: 100%;
	table-layout: fixed;
	text-align: center;
}
.table-default tbody tr:not(:last-child) {
	border-bottom:1px solid #b4cde7;
}
.table-default th,
.table-default td {
	padding:14px 10px;
	border-right:1px solid #b4cde7;
	word-break: break-word;
	line-height:1.3;
}
.table-default th:last-child,
.table-default td:last-child {
	border-right:none;
}
.table-default .opt-title th,
.table-default .opt-title td {
	background:#deecfb;
	color: var(--seconary-color);
	font-weight: 600;
	font-size: var(--font-size-18);
}
.table-default.opt-stripe tbody tr:nth-child(even),
.table-default .opt-bg-gray {
	background: #f6f6f6;
}
.table-default .opt-bg-yellow {
	background: #fefff0;
}
.table-default .opt-bg-blue {
	background: #deecfb;
}
.table-out-desc {
	margin-top:15px;
	color: var(--primary-color);
}
@media all and (max-width: 1023px) {
	.table-default {
		font-size: 0.95em;
	}
	.table-default th,
	.table-default td {
		padding:12px 8px;
	}
	.table-default .opt-title th,
	.table-default .opt-title td {
		font-size: 1em;
	}
	.table-out-desc {
		font-size: 0.95em;
		margin-top:10px;
	}
}
@media all and (max-width: 767px) {
	.table-default.opt-scroll {
		overflow-x: auto;
	}
	.table-default {
		font-size: var(--font-size-14);
	}
	.table-default th,
	.table-default td {
		padding:10px 8px;
	}
	.table-out-desc {
		font-size: var(--font-size-14);
	}
}
/* ## table e ## */

/* ## tab s ## */
.tab-default {
	border-bottom:1px solid #DCDCDC;
	margin-bottom:30px;
}
.tab-default-list {
	display: flex;
	margin:0 -30px;
	overflow-x: auto;
	overflow-y: hidden;
}
.tab-default-item {
	padding:0 30px;
}
.tab-default-item .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	font-size: var(--font-size-18);
	position: relative;
	padding:0 10px;
	word-break: keep-all;
  white-space: nowrap;
}
.tab-default-item .btn::before {
	display: block;
	content:"";
	width: 0;
	height: 2px;
	background: var(--primary-color);
	position: absolute;
	left: 0;
	bottom:-1px;
	transition: all 0.2s ease-in-out;
}
.tab-default-item.active .btn {
	font-weight: 600;
}
.tab-default-item.active .btn::before {
	width: 100%;
	font-weight: 600;
}
@media all and (max-width: 767px) {
	.tab-default {
		margin-bottom:20px;
	}
	.tab-default-list {
		margin:0 -2%;
	}
	.tab-default-item {
		padding:0 2%;
	}
	.tab-default-item .btn {
		font-size: 0.95em;
		padding:0;
		height: 50px;
	}
}
/* ## tab e ## */

/* ## popup - share s ## */
.editor-share-popup {
	border:1px solid #449EFF;
	border-radius: 3px;
	width: 320px;
	position: absolute;
	left: 0;
	top:20px;
	background: #fff;
	padding:10px 15px 15px;
	z-index: 25;
	visibility: hidden;
	opacity: 0;
	transition: all 0.3s ease-in-out;
}
.editor-share-popup.active {
	visibility: visible;
	opacity: 1;
	top:35px;
}
.editor-share-title {
	margin-bottom:10px;
	font-size: 0.95em;
	color: #000;
}
.editor-share-list {
	display: flex;
	justify-content: space-between;
}
.editor-share-lnk {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: #ecf4fe;
	border-radius: 100%;
}
.editor-share-lnk .ico-custom {
	color: #142B6F;
	font-size: var(--font-size-14);
}
.editor-share-copy {
	margin-top:10px;
	position: relative;
}
input.editor-share-copy-text {
	border:1px solid #DFDFDF;
	border-radius: 3px;
	font-size: var(--font-size-14);
	color: #DFDFDF;
	padding:0 65px 0 10px;
	line-height: 40px;
	width: 100%;
}
.editor-share-copy-btn {
	position: absolute;
	right:10px;
	top:50%;
	transform: translateY(-50%);
	background: #142B6F;
	color: #fff;
	padding:4px 10px;
	font-size: var(--font-size-14);
	border-radius: 5px;
}
.editor-share-close {
	position: absolute;
	right:15px;
	top:5px;
	color: #999999;
	font-size: 1.3em;
}
.share-source-box {
	padding-top:10px;
	margin-top:15px;
	border-top:1px solid #DFDFDF;
}
.share-source-title-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.share-source-btn {
	color: #bbbbbb;
	border:1px solid #DFDFDF;
	border-radius:5px;
	font-size: var(--font-size-14);
	padding:2px 5px;
}
.share-source-btn .ico-custom {
	font-size: var(--font-size-14);
	margin-left:5px;
	transition: all 0.3s ease-in-out;
	display: inline-block;
	vertical-align: middle;
	transform:rotate(-180deg);
	margin-top:-5px;
}
.share-source-btn.active .ico-custom {
	transform:rotate(0);
	margin-top:0;
}
.share-source-area {
	flex:0 0 100%;
	margin-top:8px;
}
.share-source-area.opt-qr {
	text-align: center;
}
.share-source-area .textarea {
	color: #DFDFDF;
	font-size: var(--font-size-14);
	width: 100%;
	border:1px solid #DFDFDF;
	padding:5px;
}
.share-source-area .textarea::-webkit-scrollbar {
	width: 5px;
}
.share-source-area .textarea::-webkit-scrollbar-thumb {
	background: #B8BBC3;
	border-radius: 5px;
}
.share-source-area .textarea::-webkit-scrollbar-track {
	background: #DFDFDF;
	border-radius: 5px;
}
@media all and (max-width: 767px) {
	.editor-share-popup {
		width: 300px;
	}
}
/* ## popup - share e ## */

/* ## search s ## */
.search-basic-wrap {
	display: flex;
}
.search-basic-wrap .search-box {
	display: flex;
	align-items: center;
	max-width: 550px;
	width: 100%;
	border-radius: 5px;
	overflow: hidden;
	background:#fff;
}
.search-basic-wrap .select,
.search-basic-wrap .input {
	height: 55px;
	border:none;
	width: 100%;
}
.search-basic-wrap .select {
	color: #6B6B6B;
	flex:0 0 20%;
}
.search-basic-wrap .input-box {
	position: relative;
	flex: 1 1 auto;
}
.search-basic-wrap .input-box::before {
	display: block;
	content:"";
	width: 1px;
	height: 18px;
	background: #D3D3D3;
	position: absolute;
	left:20px;
	top:50%;
	transform: translateY(-50%);
}
.search-basic-wrap .input {
	padding-left:40px;
}
.search-basic-wrap .btn {
	background:var(--primary-color);
	flex: 0 0 62px;
	height: 100%;
	color: #fff;
}
@media all and (max-width: 1023px) {
	.search-basic-wrap .search-box {
		max-width: none;
		border:1px solid #DCDCDC;
	}
	.search-basic-wrap .select,
	.search-basic-wrap .input {
		height: 50px;
	}
}
@media all and (max-width: 767px) {
	.search-basic-wrap .select,
	.search-basic-wrap .input {
		height: 40px;
		font-size: var(--font-size-14);
	}
	.search-basic-wrap .btn {
		flex:0 0 47px;
	}
}
/* ## search e ## */

/* ## alert s ## */
.modal-popup.opt-alert .modal-popup-box {
	overflow: hidden;
	max-width: 480px;
	border-radius: 5px;
}
.alert-default-box {
	padding-top:32px;
	background:#EFF7FF;
	text-align: center;
	position: relative;
}
.alert-default-item {
	background:#fff;
	padding:20px;
	color: #555555;
}
.alert-default-title {
	font-weight: 600;
}
.alert-default-desc {
	font-size: var(--font-size-14);
	margin-top:2px;
}
.alert-default-item .ico-custom {
	font-size: var(--font-size-28);
	margin-bottom:6px;
}
.alert-default-item .ico-custom.opt-warning {
	color: var(--primary-color);
}
.alert-default-btn-box {
	margin-top:20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.alert-default-btn {
	min-width: 100px;
	height: 32px;
	border:1px solid #c9c9c9;
	color: #A5A5A5;
	border-radius: 3px;
	font-size: 0.95em;
	margin:0 4px;
	transition: all 0.2s ease-in-out;
}
.alert-default-btn:hover {
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
}
.alert-default-close {
	position: absolute;
	right: 12px;
	top: 3px;
	color: #999999;
	font-size: var(--font-size-18);
}
/* ## alert e ## */

/* ## loading s ## */
.loading-default {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	pointer-events: auto;
	position: fixed;
	left: 0;
	top: 0;
	/*background: rgba(255,255,255, 0.7);*/
	z-index: 200;
}
.loading-default::before {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	top:50%;
	transform:translate(-50%, -50%);
	width: 40px;
	height: 40px;
	border: 4px solid var(--primary-color);
	border-bottom-color: transparent;
	border-radius: 50%;
	box-sizing: border-box;
	animation: loading-spinner 1.2s linear infinite;
}
.loading-default.inner {
	position: absolute;
}
@keyframes loading-spinner {
	0% {transform: translate(-50%, -50%) rotate(0deg);}
	100% {transform: translate(-50%, -50%) rotate(360deg);}
}
/* ## loading e ## */


/* ## swiper s ## */
.swiper-btn-prev::after {
	content: '\f104';
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
}
.swiper-btn-next::after {
	content: '\f105';
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
}
.swiper-btn-pause::after {
	content: '\f04c';
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
}
.swiper-btn-pause.active::after {
	content: '\f04b';
}
/* ## swiper e ## */

/* ## 팝업 - 알림 s ## */
.info-default-popup .modal-popup-box {
	max-width: 380px;
}
.info-default-popup-box {
	text-align:center;
	line-height: 1.3;
	margin-top:20px;
}
.info-default-popup-box .title {
	font-size: var(--font-size-18);
	font-weight: 600;
}
.info-default-popup-box .desc {
	margin-top:30px;
	padding-top:95px;
	background:url("../img/contents/info-default-bg.png") no-repeat center top;
	background-size: 150px;
	font-size: 0.95em;
}
.info-default-popup .btn-default-box {
	margin-top:20px;
}
@media all and (max-width: 767px) {
	.info-default-popup-box .title {
		font-size: 1em;
	}
	.info-default-popup-box .desc {
		margin-top:20px;
		padding-top:75px;
		background-size: 130px;
		font-size: var(--font-size-14);
	}
	.info-default-popup .btn-default-box {
		margin-top:15px;
	}
}
/* ## 팝업 - 알림 e ## */

/* ## 툴팁 s ## */
.tooltip-basic {
	position: relative;
	color: #fff;
	display: inline-block;
	vertical-align: middle;
	margin:-5px 3px 0;
}
.tooltip-basic-btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 14px;
	height: 14px;
	border-radius: 100%;
	background: #555555;
	color: #fff;
	font-size: var(--font-size-13);
}
.tooltip-basic .tooltip-basic-btn .ico-custom {
	margin:0;
}
.tooltip-basic-text {
	position: absolute;
	top:-20px;
	left:50%;
	transform:translateX(-50%);
	white-space: nowrap;
	background:#555555;
	border-radius: 5px;
	padding:2px 10px 3px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s ease-in-out;
	font-size: var(--font-size-13);
}
.tooltip-basic-text::before {
	display: block;
	content:"";
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid #555555;
	position: absolute;
	left: 50%;
	bottom:-3px;
	transform:translateX(-50%);
}
.tooltip-basic-btn:hover + .tooltip-basic-text {
	opacity: 1;
	visibility: visible;
	top:-23px;
}
@media all and (max-width: 767px) {
	.tooltip-basic {
		margin:-5px 0 0;
	}
}
/* ## 툴팁 e ## */

/* ## 목록 없음 s ## */
.empty-list-default {
	text-align: center;
	padding:30px 20px;
 }
.empty-list-default-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 112px;
	height: 112px;
	margin:0 auto;
	border:1px solid #EEEEEE;
	background:#EFEFEF;
	border-radius: 100%;
}
.empty-list-default-ico .ico-custom {
	color: #fff;
	font-size: 2.5em;
}
.empty-list-default-title {
	color: #333333;
	font-size: var(--font-size-18);
	font-weight: 600;
	margin-top:15px;
}
.empty-list-default-desc {
	margin-top:5px;
	color: #555555;
	font-size: 0.95em;
}
@media all and (max-width: 767px) {
	.empty-list-default {
		padding:20px 10px;
	}
	.empty-list-default-ico {
		width: 80px;
		height: 80px;
	}
	.empty-list-default-ico .ico-custom {
		color: #fff;
		font-size: var(--font-size-30);
	}
	.empty-list-default-title {
		font-size: 1em;
		margin-top:10px;
	}
	.empty-list-default-desc {
		font-size: var(--font-size-14);
		margin-top:2px;
	}
}
/* ## 목록 없음 e ## */

/* ## toggle s ## */
.toggle-default {
	display: inline-flex;
	align-items: center;
	position: relative;
	margin-left:5px;
	margin-right:5px;
}
input[type="checkbox"].toggle-default-check {
	appearance: none;
	position: relative;
	border: 1px solid #DFDFDF;
	border-radius: 25px;
	width: 70px;
	height: 24px;
	cursor: pointer;
	background: #fff;
}
.toggle-default-check::before {
	display: block;
	content: "";
	position: absolute;
	left: 3px;
	top:50%;
	width: 24px;
	height: 16px;
	border-radius: 25px;
	transform: translateY(-50%);
	background: #DFDFDF;
	transition: left 250ms linear;
}
input[type="checkbox"].toggle-default-check:checked {
	border-color: var(--primary-color);
}
.toggle-default-check:checked::before {
	background:var(--primary-color);
	left: calc(100% - 27px);
}
.toggle-default-text {
	position: absolute;
	right: 5px;
	top:50%;
	transform:translateY(-50%);
	color: #DFDFDF;
	font-size:0.75em;
	transition: all 0.2s ease-out;
	cursor: pointer;
	width: 32px;
	text-align: center;
}
.toggle-default-check:checked + .toggle-default-text {
	right: auto;
	left:5px;
	color: var(--primary-color);
}

/* ## toggle e ## */