@charset "utf-8";

.body_hidden {height:100%; min-height:100%; overflow:hidden; touch-action:none;}
#wrap { position:relative; background-color:#fff; overflow:hidden; }

body,html { min-height:100%; }
.inner1500 { position:relative; max-width:1500px; margin:0 auto; }
@media screen and (max-width:1540px){
	.inner1500 { padding:0 20px; }
}
:root { 
    --mainFont:Noto Sans KR;
	--subFont:Noto Sans KR, Noto Sans KR;
    --mainColor:#ff6a13; 
    --subColor:#111; 
}


.cursor {
    z-index: 10000;
    -webkit-user-select:none;
       -moz-user-select:none;
        -ms-user-select:none;
            user-select:none;
    pointer-events:none;
    position:absolute;
    top: -200px;
    left: -200px;
}
.cursorOff {
  cursor: none !important;
}
@media screen and (max-width:1024px){
	.cursor { display:none }
}


/* header */
header { position:absolute; top:0; left:0; width:100%; z-index:999; transition:all 0.3s }
header h1 { position:relative; z-index:4; padding:30px 0 0 92px; }
.mainbody header h1 { display:none; position:relative; z-index:4; padding:30px 0 0 60px; }
header h1 a { display:inline-block; }
header h1 a svg { width:104px; height:auto }
header h1 a svg path { transition:all 0.4s; }
@media screen and (max-width:1440px){
	header h1,
	.mainbody header h1 { padding:30px 0 0 60px; }
}
@media screen and (max-width:759px){
	header { position:fixed; }
	header h1,
	.mainbody header h1 { padding:30px 0 0 20px; }
}

header #navi { display:none; }

.top-menu { display:none; position:absolute; right:60px; top:30px; z-index:100; height:35px; }
@media screen and (max-width:759px){
	.top-menu { right:20px; top:20px; }
	.subbody .top-menu { display:block }
}


.allmenu { position:relative; z-index:100;  }
.allmenu a { position:relative; width:50px; height:50px; display:block; background-color:#fff; border-radius:50px; }
.allmenu span { position:relative; display:block; width:100%; height:0; background-color:#fff; transition:all 0.2s ease-in-out; }
.allmenu a:before { content:""; display:block; width:30px; height:2px; background-color:var(--mainColor); position:absolute; left:50%; transform:translateX(-50%); top:19px; transition:all 0.4s; border-radius:99px; }
.allmenu a:after { content:""; display:block; width:30px; height:2px; background-color:var(--mainColor); position:absolute; left:50%; transform:translateX(-50%); bottom:19px; transition:all 0.4s; border-radius:99px; }
.intro .allmenu span,
.intro .allmenu a:before,
.intro .allmenu a:after { background-color:#101c39; animation:ani_all 1.0s 3.0s; animation-fill-mode:both; }
@media screen and (max-width:759px){
	.allmenu a { width:43px; height:43px; }
	.allmenu a.line { border:1px solid var(--mainColor); }
	.allmenu span,
	.allmenu a:before,
	.allmenu a:after { width:23px; }
	.allmenu a:before { top:17px; }
	.allmenu a:after { bottom:17px; }
}


#allmenuBox { position:fixed; top:0; right:-336px; z-index:999; max-width:336px; width:100%; height:100vh; transition:all 0.9s; background:var(--mainColor); }
#allmenuBox.on { right:0; transition:all 0.7s; }
#allmenuBox .scroll-box { height:100vh; padding:30px 0 0; }
#allmenuBox .menuBox { position:relative; width:100%; display:flex; height:100%; min-height:600px; padding-bottom:30px; flex-direction:column; justify-content: center; }
#allmenuBox .menuBox .logo { padding-left:40px; margin-bottom:60px; }
#allmenuBox .menuBox #gnb { width:100%; padding:0 40px; }
#allmenuBox .menuBox #gnb > ul > li { margin-top:15px; }
#allmenuBox .menuBox #gnb > ul > li > a { font-family:var(--mainFont); color:#381d0d; font-size:18px; font-weight:600; line-height:1.3; transition:all 0.2s; }
#allmenuBox .menuBox #gnb > ul > li > a:hover { color:rgba(35, 24, 21, 0.5); }
#allmenuBox .menuBox #gnb > ul:first-child > li:first-child > a { color:#fff }
#allmenuBox .menuBox #gnb > ul > li .subDepth { padding:20px 0 15px; }
#allmenuBox .menuBox #gnb > ul > li .subDepth li:not(:last-child) { margin-bottom:10px; }
#allmenuBox .menuBox #gnb > ul > li .subDepth li a { font-family:var(--mainFont); color:#fff; font-size:13px; font-weight:400; line-height:1.3; transition:all 0.2s; }
#allmenuBox .menuBox #gnb > ul > li .subDepth li a:hover { color:rgba(255, 255, 255, 0.6); }
#allmenuBox .menuBox #gnb > .icon { margin-top:15px; color:#381d0d; font-size:20px; font-weight:600; line-height:1.3; }
#allmenuBox .btnClose { opacity:1; position:absolute; top:34px; right:34px; width:40px; height:40px; cursor:pointer; z-index:2; }
#allmenuBox .btnClose:before { content:""; display:block; width:26px; height:2px; background-color:#381d0d; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%) rotate(45deg); border-radius:2px; }
#allmenuBox .btnClose:after { content:""; display:block; width:26px; height:2px; background-color:#381d0d; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%) rotate(-45deg); border-radius:2px; }

.subbody #allmenuBox { right:0; }
.subbody #allmenuBox .btnClose { display:none }
@media screen and (max-width:1024px){
	#allmenuBox { right:-250px; max-width:250px; }
	#allmenuBox .menuBox #gnb { padding:0 30px; }
}
@media screen and (max-width:759px){
	.subbody #allmenuBox { right:-336px; }
	.subbody #allmenuBox.on { right:0; }
	.subbody #allmenuBox .btnClose { display:block }
	#allmenuBox { right:-336px; max-width:336px; }
	#allmenuBox .menuBox .logo { margin-bottom:50px; }
	#allmenuBox .menuBox .logo img { width:150px; }
	#allmenuBox .menuBox #gnb { padding:0 40px; }
}
@media screen and (max-width:640px){
	#allmenuBox .menuBox .logo { margin-bottom:30px; }
	#allmenuBox .menuBox #gnb > ul > li { margin-top:10px; }
	#allmenuBox .menuBox #gnb > ul > li > a { font-size:16px; }
	#allmenuBox .menuBox #gnb > ul > li .subDepth { padding:15px 0 10px; }
	#allmenuBox .menuBox #gnb > ul > li .subDepth li:not(:last-child) { margin-bottom:5px; }
	#allmenuBox .menuBox #gnb > ul > li .subDepth li a { font-size:12px; }
	#allmenuBox .menuBox #gnb > .icon { margin-top:10px; font-size:18px; }
}




footer { padding:29px 0; background:#090909; z-index:2; }
footer.main_footer { position:relative; }
footer .footer_box { position:relative; display:flex; justify-content:space-between; } 
footer .footer_box .info { display:flex; flex-wrap:wrap; gap:10px 34px; }
footer .footer_box .info h4 { color:#fff; font-size:14px; font-weight:600; line-height:1.3; }
footer .footer_box .info ul { display:flex; flex-wrap:wrap; gap:5px 0; }
footer .footer_box .info li { position:relative; font-size:14px; font-weight:400; color:#777; line-height:1.3; }
footer .footer_box .info li a { color:#777; }
footer .footer_box .info li:not(:last-child) { padding-right:13px; margin-right:13px; }
footer .footer_box .info li:not(:last-child):before { content:""; display:block; width:1px; height:10px; position:absolute; right:0; top:50%; transform:translateY(-50%); background:rgba(255, 255, 255, 0.2); }
footer .footer_box .copyright { margin-top:15px; font-family:var(--mainFont); font-size:14px; color:#777; font-weight:400; line-height:1.3; }
footer .footer_box .r-box { padding-top:0; }
footer .footer_box .sns ul { display:flex; justify-content:flex-end;  }
footer .footer_box .sns li:not(:last-child) { margin-right:10px; }
footer .footer_box .fmenu { margin-top:12px; }
footer .footer_box .fmenu ul { display:flex; justify-content:flex-end; }
footer .footer_box .fmenu li { position:relative; }
footer .footer_box .fmenu li:not(:last-child) { padding-right:13px; margin-right:13px; }
footer .footer_box .fmenu li:not(:last-child):before { content:""; display:block; width:1px; height:10px; position:absolute; right:0; top:50%; transform:translateY(-50%); background:rgba(255, 255, 255, 0.2); }
footer .footer_box .fmenu li a { font-size:14px; font-weight:400; color:#fff; line-height:1.3;  }
@media screen and (max-width:759px){
	footer .footer_box { display:flex; flex-wrap:wrap; justify-content:center; }
	footer .footer_box .infobox { width:100%; }
	footer .footer_box .info { gap:10px 25px; justify-content:center; }
	footer .footer_box .info ul { justify-content:center; }
	footer .footer_box .info,
	footer .footer_box .copyright { text-align:center; margin-top:10px; }
	footer .footer_box .sns ul,
	footer .footer_box .fmenu ul { justify-content:center; }
	footer .footer_box .r-box { padding-top:15px; }
	footer { position:relative; }
}
@media screen and (max-width:640px){
	footer .footer_box .info h4 { font-size:13px; }
	footer .footer_box .info li { font-size:14px; }
	footer .footer_box .info li:not(:last-child) { padding-right:10px; margin-right:10px; }
	footer .footer_box .copyright { margin-top:10px; font-size:13px; }
	footer .footer_box .fmenu { margin-top:20px; }
	footer .footer_box .fmenu li:not(:last-child) { padding-right:10px; margin-right:10px; }
	footer .footer_box .fmenu li a { font-size:13px; }
}

footer.sub_footer .inner1500 { width:calc(100% - 336px); max-width:100% !important; padding-left:92px; padding-right:92px; margin:0; }
@media screen and (max-width:1440px){
	footer.sub_footer .inner1500 { padding-left:60px; padding-right:60px; }
}
@media screen and (max-width:1024px){
	footer.sub_footer .inner1500 { width:calc(100% - 250px); padding-left:20px; padding-right:20px; }
}
@media screen and (max-width:759px){
	footer.sub_footer .inner1500 { width:100%; }
}


.subBtnTop .btnTop { z-index:1000; position:fixed; right:15px; bottom:30px; }
footer.main_footer .btnTop { position:absolute; right:70px; top:50%; transform:translateY(-50%); }
footer.sub_footer .btnTop { display:none }
.btnTop a { display:flex; flex-direction:column; justify-content:center; align-items:center; width:50px; height:50px; transition:all 0.3s; border:2px solid #fff; border-radius:80px; }
.btnTop a span { display:block; margin-top:5px; font-family:var(--mainFont); color:#fff; font-size:13px; font-weight:500; line-height:1.3; text-transform:uppercase; }
@media screen and (max-width:1800px){
	footer.main_footer .btnTop { right:20px; top:15px; transform:translateY(0); }
	.btnTop a { width:60px; height:60px; border-width:1px; }
	.btnTop a span { font-size:13px; }
}
@media screen and (max-width:759px){
	.subBtnTop .btnTop { display:none }
	footer.sub_footer .btnTop { position:absolute; display:block; right:20px; top:15px; }
	.btnTop a { width:40px; height:40px; }
	.btnTop a span { margin-top:3px; font-size:12px; }
}

/* privacy */
#privacy { position:fixed; top:0; left:0; visibility:hidden; z-index:-1; transition:all 0.3s; opacity:0; width:100%; height:100%; }
#privacy.on { visibility:visible; opacity:1; z-index:999; }
#privacy .bg { position:fixed; left:0; top:0; width:100%; height:100%; background:rgba(0, 0, 0, 0.80); z-index:1; }
#privacy .privacyBody { position:fixed; left:50%; transform:translate(-50%, -50%); top:50%; z-index:5; max-width:1000px; width:100%; background:#fff; padding:45px; border-radius:20px; }
#privacy .privacyBody .subTitle { text-align:center; }
#privacy .privacyBody .subTitle h3 { color:#222; font-size:40px; font-weight:700; line-height:1.3; padding-bottom:45px; }
#privacy .privacyBody .privacy { width:100%; height:calc(100vh - 400px); padding:20px; overflow:auto; border:1px solid #ddd; border-radius:20px; }
#privacy .btn_close { cursor:pointer; position:absolute; top:-15px; right:-65px; width:50px; height:50px; background:url(/img/common/btn_close_p.png) center center no-repeat;}
@media screen and (max-height:760px){
	#privacy .privacyBody .subTitle h3 { font-size:24px; padding-bottom:20px; }
    #privacy .privacyBody { padding:20px; border-radius:10px; }
    #privacy .privacyBody .privacy { height:calc(100vh - 250px); border-radius:10px; }
}
@media screen and (max-width:1280px) and (max-height:860px) {
	#privacy .privacyBody .subTitle h3 { font-size:24px; padding-bottom:20px; }
    #privacy .privacyBody { padding:20px; border-radius:10px; }
    #privacy .privacyBody .privacy { height:calc(100vh - 350px); border-radius:10px; }
}
@media screen and (max-height:680px){
	#privacy .privacyBody .subTitle h3 { font-size:20px; }
    #privacy .privacyBody .privacy { height:calc(100vh - 255px); padding:10px; }
}
@media screen and (max-width:1280px){
	#privacy .privacyBody .subTitle h3 { font-size:30px; }
    #privacy .privacyBody { left:80px; top:100px; transform:translate(0); width:calc(100vw - 160px); }
    #privacy .privacyBody .privacy { height:calc(100vh - 250px); }
}
@media screen and (max-width:1024px){
	#privacy .privacyBody .subTitle h3 { font-size:24px; padding-bottom:20px; }
    #privacy .privacyBody { left:40px; top:100px; width:calc(100vw - 80px); padding:20px; border-radius:10px; }
	#privacy .privacyBody .privacy { border-radius:10px; }
    #privacy .btn_close { right:-10px; top:-55px; width:40px; height:40px;  }
}
@media screen and (max-width:640px){
	#privacy .privacyBody .subTitle h3 { font-size:20px; }
    #privacy .privacyBody { left:20px; top:100px; width:calc(100vw - 40px); }
    #privacy .privacyBody .privacy { height:calc(100vh - 300px); padding:10px; }
    #privacy .btn_close { top:-40px; background-size:20px auto; }
}

/* privacy */
.privacy * { color:#666; font-size:13px; line-height:1.4; font-weight:300; }
.privacy > p { margin:15px 0; font-size:13px; }
.privacy > dl:not(:last-child) { padding-bottom:20px;}
.privacy > dl > dt{ font-size:14px; color:#333;font-weight:500; padding-bottom:5px;}
.privacy > dl > dd{ padding-bottom:10px; font-size:13px; line-height:1.4;}
.privacy > dl > dd ul{ padding:10px; }
.privacy > dl > dd ul li{ line-height:1.2; margin-top:10px; }
.privacy > dl > dd ul li:first-child { margin-top:0; }
.privacy > dl > dd ul li p { margin:0 10px 5px; line-height:1.4; margin-top:8px;}
.sTxt h3 { font-size:13px; color:#333; font-weight:700; margin:20px 0 10px; }
.sTxt p { margin-top:10px; }
.sTxt dt { margin-top:10px; }
.sTxt dd { margin:0 8px; }
@media screen and (max-width:1024px){
	.privacy > p { margin:10px 0; }
	.privacy > dl:not(:last-child) { padding-bottom:15px;}
	.privacy > dl > dd{ padding-bottom:8px; }
	.privacy > dl > dd ul{ padding:8px; }
	.privacy > dl > dd ul li{ margin-top:8px; }
	.privacy > dl > dd ul li p { margin:0 8px 4px; margin-top:8px;}
	.sTxt h3 { font-size:13px; margin:15px 0 8px; }
	.sTxt p { margin-top:8px; }
	.sTxt dt { margin-top:8px; }
	.sTxt dd { margin:0 5px; }
}


/* 게시글 동영상 반응형 */
.video-container { position:relative; overflow:hidden; max-width:1000px; margin:0 auto; }
.video-container:before { content:''; display:block; padding-bottom:56.25%; /* 16:9 비율 */ }
.video-container video,
.video-container iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }


/* keyframes animation */
@keyframes ani_logo_1 {
	0% { fill:#003F8B }
	100% { fill:#fff }
}
@keyframes ani_logo_2 {
	0% { fill:#000 }
	100% { fill:#fff }
}
@keyframes ani_logo_3 {
	0% { fill:#000008 }
	100% { fill:#fff }
}
@keyframes ani_nav {
	0% { color:#111; }
	100% { color:#fff; }
}
@keyframes ani_lang {
	0% { fill:#000; }
	100% { fill:#fff; }
}
@keyframes ani_all {
	0% { background-color:#111; }
	100% { background-color:#fff; }
}
@keyframes m_over1 {
    0% { opacity: 0; }
    10% { opacity: 0; }
    20% { opacity: 1; }
    60% { opacity: 1; }
    80% { opacity: 1; }
    100% { opacity: 1; }
}
@keyframes m_over2 {
    0% { opacity: 0; }
    20% { opacity: 0; }
    40% { opacity: 0; }
    60% { opacity: 1; }
    80% { opacity: 1; }
    100% { opacity: 1; }
}
@keyframes m_over3 {
    0% { opacity: 0; }
    20% { opacity: 0; }
    40% { opacity: 0; }
    60% { opacity: 0; }
    80% { opacity: 1; }
    100% { opacity: 1; }
}


.os-theme-dark > .os-scrollbar, 
.os-theme-light > .os-scrollbar { padding:0; width:4px; background:#fff; border-radius:4px; }
.os-theme-dark > .os-scrollbar-vertical, 
.os-theme-light > .os-scrollbar-vertical { width:4px }
.os-theme-dark > .os-scrollbar-horizontal, 
.os-theme-light > .os-scrollbar-horizontal { width:100%; height:4px; background:var(--mainColor); opacity:0.5 }
.os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {  background:var(--mainColor); opacity:0.5; width:4px; border-radius:4px; }
.os-theme-dark > .os-scrollbar-horizontal .os-scrollbar-track > .os-scrollbar-handle, 
.os-theme-light > .os-scrollbar-horizontal .os-scrollbar-track > .os-scrollbar-handle{ background:#222 !important; }
.os-theme-dark.os-host-transition > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active, 
.os-theme-light.os-host-transition > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active,
.os-theme-dark > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-dark > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle.active { background:#222; border-radius:4px; opacity:1}