/* html {scroll-behavior: smooth;} */
img { max-width:100%; } 

/* 공통적용 */
.inner { width: 90%; margin:0 auto; max-width: 1600px; } 
.lockScroll { overflow: hidden; } 
.video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } 
.video-container iframe, .video-container object, .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } 
.colorMain {color: var(--mainColor);}
.colorSub {color: var(--lightPurple);}
.bgGrad {background: linear-gradient(97deg, #483EDA 0%, #C13CFF 102.43%);}
.bold {font-weight: 700;}
.underLine {text-decoration: underline;}
.textCenter {text-align: center;}
.copyText {cursor: pointer;}

/* thumb */
.thumb {aspect-ratio: 16/9; overflow: hidden; font-size: 0;}
.thumb img {width: 100%; height: 100%; object-fit: cover;} 


/* popup */
.pop_wrap {position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.85); z-index: 999; display: none;}
.pop_wrap.on {display: block;}
.pop_wrap .pop_inner {display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;}
.pop_wrap .layer {position: relative; max-width: 90%; max-height: calc(90vh - 30px)}
.pop_wrap .layer .close {
	position: absolute; right: 0; top: -30px;
	width: 24px; height: 24px; background: url('../../img/icon_close.png') no-repeat center center / contain; cursor: pointer;
}
.pop_wrap .layer .content {overflow: hidden; max-height: calc(90vh - 30px);}



.video_container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } 
.video_container iframe, .video_container object, .video_container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } 

/* 비디오 컨트롤러 숨김 */
video::-webkit-media-controls-fullscreen-button,
video::-webkit-media-controls-play-button,
video::-webkit-media-controls-timeline,
video::-webkit-media-controls-current-time-display,
video::-webkit-media-controls-time-remaining-display, 
video::-webkit-media-controls-mute-button,
video::-webkit-media-controls-volume-slider, 
video::-webkit-media-controls-fullscreen-button {display: none !important;}

/* .bg_video {width: 100vw; height: 100%; min-height: 100vh; overflow: hidden; position: relative;}
.bg_video iframe,
.bg_video video {position: absolute; top: 50%; left: 50%; width: 100vw; height: 100vh; transform: translate(-50%, -50%);}

@media (min-aspect-ratio: 16/9) {
	.bg_video iframe,
	.bg_video video {
		height: 56.25vw;
	}
}

@media (max-aspect-ratio: 16/9) {
	.bg_video iframe,
	.bg_video video {
		width: 200vh;
	}
} */

/* padding style*/
.padding_tb { padding:200px 0; } 
.padding_t { padding-top: 200px; } 
.padding_b { padding-bottom: 200px; } 

/* btn style */
.btn {
	display: flex; align-items: center; justify-content: center; text-align: center; width: max-content; height: 48px; line-height: 1;
	transition: all .5s; padding: 0 15px; cursor: pointer; border-radius: 5px; font-weight: 700;
}
.btn.mini {max-width: unset; height: 36px; width: max-content; font-size: 0.875rem; padding: 0 10px;}
.btn.big { height: 60px; font-size: 1.25rem;}

.btn.st1 {background: var(--mainColor);}
.btn.st1:hover {background: var(--lightPurple);}
.btn.st2 {border: 1px solid #fff;}
.btn.st2:hover {background: #fff; color: var(--mainColor);}
.btn.st3 {background: linear-gradient(97deg, #483EDA 0%, #C13CFF 102.43%); color: #fff; position: relative; overflow: hidden;}
.btn.st3::after {
	display: block; content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background: #C13CFF; mix-blend-mode: hue; opacity: 0; transition: all .5s;
}
.btn.st3:hover::after {opacity: 1;}


/* tab */
.tab_menu {display: flex;}
.tab_menu li {
    width: 100%; height: 60px; line-height: 1.2; border-bottom: 1px solid #fff; color: #999; cursor: pointer;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; padding:0 15px; text-align: center; align-content: center;
}
.tab_menu li.on {border: 1px solid #fff; border-bottom: 0; color: #fff;}
.tab_cont {display: none; padding-top: 20px;}
.tab_cont.on {display: block;}


/* swiper custom */
.swiper_box {position: relative; font-size: 0;}
.swiper-button-next {background-image: url('../../img/swiper_btn_next.png'); right: 0;}
.swiper-button-prev {background-image: url('../../img/swiper_btn_prev.png'); left: 0;}
.swiper-button-next,
.swiper-button-prev {
    width: 40px; height: 40px; overflow: hidden; background-position: center center; background-repeat: no-repeat; background-size: contain;
    transition: all .3s; z-index: 2;
}
.swiper-button-next:after,
.swiper-button-prev:after {font-size: 0;}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {opacity: 0;}

/* paging */
.paging {text-align: center; margin-top: 60px; font-size: 0; display: flex; justify-content: center; align-items: center;} 
.paging ol {display: flex; align-items: center; justify-content: center; gap: 2px;} 
.paging ol li {font-size: 0.875rem; } 
.paging ol li a {padding: 0 5px; border: 1px solid var(--border); border-radius: 50px; width: 40px; height: 40px; line-height: 40px; display: block;} 
.paging ol li a.this { background: var(--mainColor); color: #fff; } 


/* board */
.board_list {max-width: 1200px; margin: 0 auto;}
.board_list .bd_hd {border-top: 1px solid #fff;}
.board_list ul {border-bottom: 1px solid #fff; display: flex; gap: 10px;}
.board_list li {height: 50px; display: flex; align-items: center; justify-content: center;}
.board_list li.number {width: 50px; flex-shrink: 0; text-align: center;}
.board_list li.date {width: 100px; flex-shrink: 0; text-align: center; margin-left: auto;}
.board_list li.subject {flex: 1 0 0; min-width: 0;}
.board_list li.subject a {display: block; width: 100%; height: 100%; line-height: 50px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.board_list li.subject a:hover {color: var(--lightPurple); }

.board_view {max-width: 1000px; margin: 0 auto;}
.board_view .contents {display: flex; flex-direction: column; gap: 60px; padding-bottom: 60px; border-bottom: 1px solid #fff; }
.board_view .title {padding-bottom: 20px; border-bottom: 1px solid #fff;}
.board_view .title .subject {font-size: 2rem;}
.board_view .title .date { font-size: 0.875rem; margin-top: 10px; color: #7a6161;}
.board_view .goList {margin-left: auto; margin-top: 60px; width: 150px;}


/* floating */
#goToTop {width: 50px; height: 50px; border: 1px solid #fff; position: fixed; bottom: 40px; right: 40px; cursor: pointer; z-index: 99; background: rgba(0, 0, 0, .5);}
#goToTop::after {
	display: block; content: ""; width: 14px; height: 14px; border-top:2px solid #fff; border-right: 2px solid #fff;
	position: absolute; top: 60%; left: 50%; transform: translate(-50%,-50%) rotate(-45deg);
}


/* header */
#header {position: fixed; top:0; width: 100%; height: 90px; z-index: 901; border-bottom: 1px solid var(--gray); display: flex; align-items:center; background: rgba(0, 0, 0, 1); transition: all .3s; color: #fff;}
#header.active {background: rgba(0,0,0,1);}
#header .inner {max-width: 1720px; height: 100%;}
#header .hamberg { display: none;}
#header .hd_wrap {display: flex; align-items: center; justify-content: space-between; gap: 60px; width: 100%; height: 100%;} 
#header .logo {flex-shrink: 0;}
#header .logo a {display: flex; align-items: center;} 
#header .logo img { max-width: 100%; height:75px; object-fit:contain; min-width: 100px;} 
#header .nav_wrap {flex: 1 0 0;}
#header .menu { display: flex; justify-content: center; width: 100%; gap: 60px;} 
#header .menu > li > a {font-weight: 700; padding: 5px 0; position: relative;}
#header .menu > li > a::after {
	display: block; content: ""; width: 0; height: 2px; background: #fff;
	position: absolute; left: 0; bottom: 0;  transition: all .3s;
}
#header .menu > li:hover > a::after {width: 100%;}
#header .side {display: flex; justify-content: center; align-items: center; gap: 20px;}
#header .lang {font-size: 0.875rem; position: relative;}
#header .lang > a {display: flex; gap: 7px; align-items: center;}
#header .lang > a::after {
	display: block; content: ""; width: 5px; height: 5px; border-top: 1px solid #fff; border-right: 1px solid #fff;
	transform: rotate(135deg); margin-bottom: 4px;
}
#header .langmenu {
	position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%); z-index: 9;
	border-radius: 10px; width: 70px; text-align: center; padding: 8px; background: #222; display: none;
}
#header .langmenu a {display: block; padding: 2px 0; color: #aaa;}
#header .langmenu a.active {font-weight: 700; color: #fff;}


/* footer */
#footer {border-top: 1px solid #fff; padding: 40px 0;}
#footer .inner {max-width: 1720px;}
#footer .top {border-bottom: 1px solid #fff; display: flex; flex-wrap: wrap; gap: 40px; padding-bottom: 20px;}
#footer .top .logo img {height: 150px; margin-top: -30px;}
#footer .top .text_box {display: flex; flex-direction: column;}
#footer .top .text_box .tit {font-size: 1.25rem; font-weight: 700; margin-bottom: 5px;} 
#footer .top .text_box .cmnt {font-size: 0.8125rem; margin-top: 5px;}
#footer .top .btn_box {display: flex; gap: 10px; margin-left: auto;}
#footer .top .btn_box input {height: 48px; border-radius: 5px;}
#footer .bot {padding-top: 40px; display: flex; flex-wrap: wrap; gap: 60px; align-items: center; justify-content: space-between;}
#footer .bot .info .gu {font-weight: 700;}
#footer .bot .menu {display: flex; justify-content: center; gap: 60px; font-weight: 700;}
#footer .bot .copy {font-size: 0.875rem;}


/* sub */
.body_tab {margin-bottom: 80px; display: flex; justify-content: center; align-items: flex-end; gap: 40px;}
.body_tab a {font-size: 1.5rem; color: #777; padding-bottom: 7px; text-align: center;}
.body_tab a:hover {color: #fff; font-weight: 700;}
.body_tab a.active {font-weight: 700; color: #fff; border-bottom: 3px solid var(--lightPurple)}

.body_tit {text-align: center; margin-bottom: 60px;}
.body_tit .big {font-size: 3.25rem; font-weight: 700;}
.body_tit .small {margin-top: 10px; font-size: 1.125rem;}

.sec_tit {margin-bottom: 60px;}
.sec_tit .big {font-size: 3rem; font-weight: 700;}



@media screen and (max-width:1199px) {

	/* 공통적용 */
	.inner {width: 100%; padding: 0 20px;}

	/* board */
	.board_list li {font-size: 0.875rem;}

	/* padding · margin style*/
	.padding_tb { padding:120px 0; } 
	.padding_t { padding-top: 120px; } 
	.padding_b { padding-bottom: 120px; } 

	/* header */
	#header {height: 60px;}
	#header .hd_wrap {gap: 15px;}
	#header .logo img {height: 51px; margin-left: -10px;}
	#header .menu {gap: 40px;}

	/* footer */
	#footer {padding: 40px 0;}
	#footer .top {gap:30px 40px; padding-bottom: 40px;}
	#footer .bot {gap: 30px 40px;}
	#footer .bot .menu {gap: 40px;}


	/* sub */
	.body_tab {margin-bottom: 40px;}
	.body_tab a {font-size: 1.25rem;}

}

@media screen and (max-width:899px) {

	/* floating */
	#goToTop {width: 35px; height: 35px; bottom: 20px; right: 20px;}
	#goToTop::after {width: 10px; height: 10px;}

	/* header */
    #header .hamberg {width: 24px; height: 24px; flex-shrink: 0; font-size: 0; display: flex; align-items: center; cursor: pointer; position: relative; z-index: 2;}
    #header .hamberg a {width: 100%; height: 2px; background: #fff; display: block; position: relative; transition: all .3s;}
    #header .hamberg a::before,
    #header .hamberg a::after {display: block; content: ""; width: 100%; height: 2px; background: #fff; position: absolute; transition: all .3s;}
    #header .hamberg a::before {top: -8px;}
    #header .hamberg a::after {top: 8px;}
    #header .hamberg a.on {background: rgba(255,255,255,0);}
    #header .hamberg a.on::before {top: 0; transform: rotate(-45deg);}
    #header .hamberg a.on::after {top: 0; transform: rotate(45deg);}

	#header .nav_wrap {
		flex:none; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.85); transition: all .3s;
		position: absolute; top: 0; left: -100%; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
	}
	#header .nav_wrap.on {left: 0;}
	#header .menu {padding: 20px; flex-direction: column; text-align: center;}
	#header .side {margin-left: auto; width: auto;}

	/* sub */
	.body_tit {margin-bottom: 40px;}
	.body_tit .big {font-size: 2.25rem;}	
	.body_tit .small {font-size: 1rem;}
	.body_tab {gap: 20px;}
	.body_tab a {font-size: 1rem; padding-bottom: 4px;}
	.sec_tit {margin-bottom: 20px;}
	.sec_tit .big {font-size: 2rem;}

	
}

@media screen and (max-width:599px) {

	/* swiper custom */
	.swiper-button-next,
	.swiper-button-prev {width: 30px; height: 30px;}

	/* paging */
	.paging {margin-top: 40px;}
	.paging a img {width: 24px;}
	.paging ol li {font-size: 0.75rem; } 
	.paging ol li a {width: 32px; height: 32px; line-height: 32px;}

	/* board */
	.board_list ul {gap: 5px;}
	.board_list li {font-size: 0.75rem;}
	.board_list li.number {width: 40px;}
	.board_list li.date {width: 80px;}
	
    .board_view {gap: 40px;}
    .board_view .title .subject {font-size: 1.25rem;}
    .board_view .title .date {margin-top: 5px; font-size: 0.75rem;}
	.board_view .contents {gap: 40px; padding-bottom: 40px;} 


	/* padding · margin style*/
	.padding_tb { padding:90px 0; } 
	.padding_t { padding-top: 90px; } 
	.padding_b { padding-bottom: 90px; } 

	/* header */
	#header .lang {position: absolute; z-index: 1; left: 20px; display: none;}
	#header .lang.on {display: block;}


	/* footer */
	#footer .top .logo img {margin-top: -20px;}
	#footer .top .text_box .tit {font-size: 1rem;}
	#footer .top .text_box .text {font-size: 0.875rem;}
	#footer .top .text_box .text br {display: none;}
	#footer .top .btn_box {margin: 0;}
	#footer .bot .info {font-size: 0.875rem;}
	#footer .bot .menu {font-size: 0.875rem; width: 100%; justify-content: flex-start;}
	#footer .bot .copy {font-size: 0.75rem;}

	/* sub */
	.body_tab {margin-bottom: 40px}
	.body_tab a {font-size: 1rem; padding-bottom: 5px;}
	.body_tit .big {font-size: 2rem;}
	.sec_tit .big {font-size: 1.725rem;}

}