﻿@import url('http://fonts.googleapis.com/earlyaccess/nanummyeongjo.css');

@font-face {
 font-family: 'NanumBarunGothic';
 src: url(webfont/NanumBarunGothic/NanumBarunGothicWeb.eot);
 src: url(webfont/NanumBarunGothic/NanumBarunGothicWeb.eot?#iefix) format('embedded-opentype'),
      url(webfont/NanumBarunGothic/NanumBarunGothicWeb.woff) format('woff'),
      url(webfont/NanumBarunGothic/NanumBarunGothicWeb.ttf) format('truetype');
}

@font-face {
 font-family: 'NanumSquare';
 src: url(webfont/NanumSquare/NanumSquareR.eot);
 src: url(webfont/NanumSquare/NanumSquareR.eot?#iefix) format('embedded-opentype'),
      url(webfont/NanumSquare/NanumSquareR.woff) format('woff'),
      url(webfont/NanumSquare/NanumSquareR.ttf) format('truetype');
}
#bandMessage{bottom: 50%!important;}
#unit3561 #daumRoughmapContainer1605512905563 {width:100% ! important;}

:root{
    --width2:12%;
    --gap1:30px;
    --top:115%;
    /* sub 공통 컬러 */
    --sub-point:#325481;   /* 활성/호버 포인트 */
    --sub-text:#777;       /* 기본 메뉴 텍스트 */
    --sub-line:#dcdcdc;    /* 구분선 */
}
/* font select */

body * { font-family:NanumSquare, sans-serif; letter-spacing : -0.5px;}

/* header */
#gnb-login #header{display: inline-block;right: 2%;top: 50%;text-align: right;position: absolute;transform: translateY(-50%);}
#gnb-login #header .header-box-right a{font-size: 17px;color: #fff;text-decoration: none;padding: 10px 15px;display: inline-block;}

.white{background-color: rgba(0,0,0,.3)!important;transition: all 0.6s;}

/* gnb */
#gnb-wrap {background-color:rgba(0,0,0,.3);height: 115px;position: fixed;width: 100%;z-index: 999;transition: all 0.6s;}
#gnb-wrap .container{position:relative;}
#gnb-wrap hr{margin:0 auto; width:90%;}
/* ===== GNB 스크롤 숨김 / 마우스 근접 시 표시 ===== */
#gnb-wrap {
    transition: transform 0.4s ease, background-color 0.6s;
    /* 기존에 transition: all 0.6s; 이 있다면 이걸로 교체 */
}

#gnb-wrap.gnb-hidden {
    transform: translateY(-100%);
    /* GNB 높이만큼 위로 밀어서 숨김 */
}

/* 숨겨진 상태에서도 마우스 감지 영역 유지 (5px 투명 트리거 바) */
#gnb-wrap.gnb-hidden::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    z-index: 9999;
    background: transparent;
    cursor: default;
}
/* #gnb, #gnb > li.depth1 규칙 → 파일 하단 "GNB 풀다운 메뉴" 섹션으로 이동 */
#gnb > li.more{display: inline-flex;align-items: center;justify-content: center;}
#gnb > li.more span{font-size:20px; color:#12182B;}
#gnb > li.more:last-child{display:none;}
#gnb > li.login {
    float: left;
    text-align: center;
    padding: 0;
    height: 100px;
    transition: all .2s ease-in-out;
    outline: none;
    width: 80px;
}
#gnb > li.start { margin-left: 70px;}
#gnb > li.bar {width:30px;}

/* #gnb > li > a, .subal 규칙 → 파일 하단 "GNB 풀다운 메뉴" 섹션으로 이동 */
/* .depth4 / .subTitle / .sub-title-menu 관련 규칙은 파일 하단
   "SUB : 타이틀 · 서브메뉴 · 탭" 섹션으로 통합되었습니다. */

.sub-bottom li{text-align:center;}
.sub-bottom .container {
    display: flex;
    justify-content: space-around;
    padding: 0 0 2%; 
}
.sub-bottom .container .row{width:50%;}
.sub-bottom li{display:inline-block;}
.sub-bottom li a{display: inline-block;padding: 40px 20px 20px; position:relative;
text-decoration: none;float: left; color:black; font-size: 19px; white-space: nowrap;overflow: hidden;width: 100%;float: left;}
    .sub-bottom li a .btn-plus {
        transform: translate(-50%,-50%);
        width: 10px;
        height: 10px;
        left: 50%;
        display: inline-block;
        position: absolute;
        top: 25%;
        border-radius: 50%;
        background-color: #6e7abe;
        opacity: 0;
    }
.sub-bottom	ul{display: flex;
    justify-content: space-evenly;}
.sub-bottom li:hover a .btn-plus,
.sub-bottom li.active a .btn-plus{opacity:1;transition:.3s all;}

/* all-menu */

.gnb-all { display: none; position: fixed; z-index: 9999; background: rgba(0, 0, 0, 0.7); top: 0; left: 0; width: 100%; height: 100%; text-align:center;}
.gnb-all a {color:#fff; text-decoration:none;}
.gnb-all img {margin:80px 0px 50px; max-width:185px; }
.gnb-all .all-wrapper .all-close { color: #fff; cursor: pointer; font-weight: 600; font-size: 5em; float:right; }
.gnb-all .all-wrapper .container a { display: block; color: #fff; }
.gnb-all .all-wrapper .container > ul > li { display: inline-block; vertical-align: top; padding:0px 25px;}
.gnb-all .all-wrapper .container > ul > li > a { margin:0px 0px 18px; font-size: 25px; font-weight: 600; text-decoration:none;}
.gnb-all .all-wrapper .container > ul > li:first-child { display: none; }
.gnb-all .all-wrapper .container > ul > li > ul > li > a { color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size:20px; padding:6px 0px;}
.gnb-all .all-wrapper .container > ul > li > ul > li > a:hover { font-weight:bold; transition:0.2s all ease;}
.gnb-all .all-wrapper .container > ul > li > ul > li > ul > li > a { color: #fff; display: block; margin-bottom: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size:16px;}



/*logo*/
.logo-wrap{position: absolute;top: 50%;left: 0%;transform: translateY(-50%);}

/* footer */
#footer{background-size: cover;background-repeat: no-repeat;background-position: center; background-color:#0A193D;position:relative;}
#footer .container .row{position:relative;}
#footer .youtubeBT{position: absolute;transform: translate(50%, -50%);right: 0;top: 30%;}
#footer .footerLOGO{display: flex; align-items: center; justify-content: center;opacity:.6;}
#footer .footerM{grid-template-columns: repeat(auto-fill,minmax(min(30%),1fr)); display: grid; justify-items: start;}
#footer .footerM ul{float: left; padding: 55px 0;grid-column: 2/-1;}
#footer .footerM ul li,
#footer .footerM ul li a{font-size: 15px;line-height: 1.5;color: rgba(255, 255, 255, .85);letter-spacing: 0px;word-break: keep-all;}

/* footermap */
#footer-map{background-color:#fff;}
#footer-map .sitemap > ul{grid-template-columns: repeat(auto-fill,minmax(min(15%),1fr));display: grid;gap: var(--gap1);padding:60px;}
#footer-map .sitemap .deptF1{display: inline-flex;flex-direction: column;align-items: center;}
#footer-map .sitemap .deptF1 .deptHF1{color: #2e59b9b3; font-weight: bold; font-size: 17px;margin: 0 0 15px;display: inline-block;width:100%;text-decoration:none;letter-spacing:.5px; border-bottom: 1px solid #2e59b9b3;}
#footer-map .sitemap .deptF1 .deptHF1:hover{font-weight:bold;transition:0.3s all ease;}
#footer-map .sitemap .deptF1 ul{width:100%;}
#footer-map .sitemap .deptF1 ul .deptF2{font-size:15px;line-height: 2;}
#footer-map .sitemap .deptF1 ul .deptF2 .deptHF2{color:#838383;text-decoration:none;letter-spacing:.5px;}
#footer-map .sitemap .deptF1 ul .deptF2 .deptHF2:hover{font-weight:bold;transition:0.3s all ease;}

/* mobile */
.header-gnb{position: absolute;top: 50%;right: 5%;transform: translateY(-50%);word-spacing: 10px;display: flex;align-items: center;gap: .5vw;}
.header-gnb .gnbBTN{color:#fff;text-decoration:none;}
.header-gnb .gnbMORE{font-size:17px;color:#fff;}
.header-gnb .toggle {color:#fff!important; font-size:30px;}

#my-menu{ background-color:rgba(0,0,0,.3); max-width:240px; z-index:4; }
#mm-0:before { height:0!important; }
#mm-1 > ul > li:hover > a.mma1 { color: #34b4c7 !important; }
.mm-navbar.mm-hasbtns .mm-close .mm-sronly{display:none;}
.mm-navbars-top{background-color:rgba(0,0,0,.75);}
.mm-btn {top:unset!important;}
.mm-menu .mm-listview>li .mm-next:after { border-color:#fff; }
.mm-panels>.mm-panel>.mm-listview { margin:0px!important;}
.mm-panels>.mm-panel.mm-hasnavbar { padding-top:0!important; }
.mm-panels > .mm-panel { padding:0; }
.mm-panels, .mm-panels>.mm-panel { z-index:9999; }
.mm-listview { margin:0; }
.mm-listview > li > a, .mm-listview > li > span { padding: 10px 10px 10px 20px; margin: 0; }
.mm-listview .mm-vertical .mm-panel, .mm-vertical .mm-listview .mm-panel { padding:0 0 0 10px; }
.mm-listview>li>a, .mm-listview>li>span { padding:10px 20px!important; font-size:17px; }
.closeMenu{color:#fff!important; text-decoration:none!important; cursor:pointer; font-size:40px;position: absolute;
right: 0;top: 5%;}
.mob-login { overflow:hidden; padding:15px 0; border-bottom:1px solid #808080; margin-bottom:10px; }
.mob-login li { float:right; overflow:hidden; }
.mob-login a { display: inline-block !important; font-size: 17px !important; border: 0px !important; box-shadow: none !important; color: #aaa !important; padding: 0px 10px !important; }
.mob-login a .fa { font-size:20px!important; }
.mmenu-depth1 > a{ color:#fff!important; }
.mmenu-depth2 > a{ color:#E4E3B9!important; }
.mmenu-depth3 > a{ color:#B4EBF1!important; }
a.mm-next{width:100%!important;}

.subul {
        
        text-align:center;
}

/*실시간생방송*/
.latest-special {margin-bottom: 30px;margin-left: 18px;}
.latest-special .p4 {font-size:30px;padding-left: 15px;position: relative;color:#000000;top: 15px;}
.latest-special .white-bar {background: #7c8789;width: 1px;height: 22px;display: inline-block;margin: -20px 13px;}
.jubowrapper {display: inline-block;position: relative;top: 13px;font-size: 13px;opacity: 0.8;}
.latest-special .p4 span {
    color: #948e8f;
}

/*sub*/
#subtop{padding-top:0px;}
#subtop img { width:100%; }
#subgnb { border-bottom:1px solid #ddd; padding:0px 0px;background-color: #F9F9F9;}
#subgnb .subgnb-home { float:right; display:inline-block; margin:12px 0px 0px 0px;}
#subgnb .container > div{margin: 10px 0; display: inline-block;}
#subgnb span, #subgnb a { font-size:16px; color:#777; position:relative; top:3px; text-decoration:none;}
#subgnb a.active { color:#6599CB; font-weight:bold; }
#subgnb .dropdown {display: inline-block;border-right: 1px solid #CCCCCC;float: left;}
#subgnb .dropdown:last-child{border:none;}
#subgnb .dropdown .btn { padding:10px 20px; font-size:17px; font-weight:bold;}
#subgnb .dropdown .btn-default { border:none;}
#subgnb .dropdown .btn:hover { background-color:transparent!important; transition:0.3s all ease;}
#subgnb .dropdown .btn,
#subgnb .dropdown .btn .active  { background-color:transparent!important; }
#subgnb .dropdown-menu>li>a { padding:10px 20px; transition:0.3s all ease; font-size:17px;}
#subgnb .caret {border-top: 6px solid #000;border-bottom: 6px solid transparent;border-right: 6px solid transparent;border-left: 6px solid #000;
position: relative;margin: 0;height: 8px;width: 8px;transform: rotate(225deg);transition: all 0.6s;margin-top: -15px;margin-left: 20px;}

#content { padding:40px 0px; }
#content .third-menus { margin:10px 0 42px 0;text-align:center; }
#content .third-menus ul{ display:inline-block; }
#content .third-menus ul li { border: 1px solid #dedede; float:left; margin-left:-1px;}
#content .third-menus ul li a { color: #333;text-decoration: none;padding: 8px 17px;font-size: 12px;min-width: 160px;display: inline-block;text-align: center; }
#content .third-menus ul li.active a { color:#fff; }

.lnb { padding:0px 30px;}
.lnb_title { font-size:30px; border-bottom:1px solid #000; padding:40px 0px; font-weight:600; text-align:center; position:relative;}
.sub_depth2 { margin-top:0px; padding-top:0px; }
.sub_depth2 li { padding: 20px 25px; border-bottom:1px solid #ddd; transition:all ease 0.3s; }
.sub_depth2 li.active, .sub_depth2 > li:hover { background:#d9d3f2; }
.sub_depth2 > li > a { color:#777; font-weight:600;  font-size:17px; text-decoration:none; }
.sub_depth2 li a { color:#777; font-weight:600;  font-size:16px; text-decoration:none; }
.sub_depth2 li i { position:relative; margin:3px 15px 0px 0px; cursor:pointer; float:right; font-size:16px;}
.sub_depth2 li i.fa-minus { display:none; }
.sub_depth2 li:last-child { border-color:#000; }
.sub_depth3 { padding:0px 15px; margin-top:15px; display:none; }
.sub_depth3.active { display:block; }
.sub_depth3 li { padding: 10px 20px; border-bottom:1px solid #999; background-color: #f4c9ff; }
.sub_depth3 li a  { color:#999; font-size:15px;  text-decoration:none;  transition:all ease 0.3s; }
.sub_depth3 li a:hover  { color:#739AB9; }
.sub_depth3.a_96 li a:hover { color:#4E5397; }
.sub_depth3.a_98 li a:hover { color:#E4C640; }

.go_top {
    z-index: 999;
    position: fixed;
    bottom: 18.5%;
    display: none;
    right: 5%;
    width: 5vh;
    height: 5vh;
    background-position: center;
    background-image: url(../images/5_top_bt.png);
    background-size: contain;
    border: 0;
}

@media (min-width:1400px) {
    .container {width: 1400px;}
}
@media(min-width:1500px) and (max-width:1880px) {
	.logo-wrap{left:2%;}
	.header-gnb{right:5%;}
	#footer .footerM ul{grid-column: 3/-1;}
    #footer .youtubeBT{right: 5%;}
}
@media(min-width:1200px) and (max-width:1499px) {
	.logo-wrap{left:2%;}
	.header-gnb{right:5%;}
    #gnb{width:50%;}
	#gnb > li > a{font-size:17px;}
	#footer-map .sitemap > ul{padding: 80px 40px;}
	:root{--gap1: 20px;}
	#footer .footerM ul{grid-column: 3/-1;}
    #footer .youtubeBT{right: 5%;}
}
@media (min-width:993px) and (max-width:1199px) {
	.logo-wrap{left:2%;width: 180px;}
	.header-gnb{right:3%;}
	#gnb > li > a{font-size:18px;}
	#footer-map .sitemap > ul{padding: 40px 20px;}
	:root{--gap1: 20px;--width2: 15%;}
	#footer .footerM ul{grid-column: 3/-1;}
    #footer .youtubeBT{right: 5%;}
}

@media (min-width:768px) and (max-width:992px) {
	#subtop{padding-top:70px;}
	#gnb-wrap{height:70px;}

    .header-gnb {gap: 5%;display: inline-flex;align-items: center;width: 25%;}
	#subtop{padding-top:70px;}
	#footer-map .sitemap > ul{padding: 40px 20px;}
	:root{--gap1: 20px;--width2: 20%;}
	#footer .footerLOGO{position:relative;transform:none;left: 5%;padding: 20px 0 0;display: inline-block;}
	#footer .footerM ul{padding: 20px 15px 30px;grid-column: 1/-1;}
    #footer .youtubeBT{right: 10%;}
}

@media (max-width:767px) {
	#subtop{padding-top:65px;}
	#gnb-wrap{height:65px;}
	.logo-wrap{left:2%;width: 170px;}
	.header-gnb {gap: 5%;display: inline-flex;align-items: center;width: 50%;right: 2%; justify-content: flex-end;}
	#subtop{padding-top:65px;}
	#subgnb .dropdown .btn{padding: 10px;font-size: 15px;}
	#footer-map .sitemap > ul{padding: 20px 10px;}
	:root{--gap1: 20px;--width2: 20%;}
	.sitemap{display:none;}
	#footer .footerLOGO{position:relative;transform:none;left: 5%;padding: 20px 0 0;display:inline-block;}
	#footer .footerM ul{padding: 20px 0px 30px;grid-column: 1/-1;}
    #footer .youtubeBT {right: 20%;top: -10%;}
}

@media (max-width:1199px) {
   
}


/* ==========================================================================
   SUB : 타이틀 · 서브메뉴 · 탭
   (Layout.cshtml #content 영역 / 반응형 포함)
   ========================================================================== */

/* --- 하위 메뉴 탭 (.depth4) ------------------------------------------- */
.depth4{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    list-style:none;
    margin:0 0 35px;
    padding:0;
}
.depth4 > li{ position:relative; }
.depth4 > li > a{
    display:block;
    padding:10px 24px;
    border:1px solid #ddd;
    border-radius:30px;
    background:#fff;
    color:#555;
    font-size:16px;
    font-weight:600;
    line-height:1.2;
    text-decoration:none;
    word-break:keep-all;
    transition:all .2s ease;
}
.depth4 > li > a:hover,
.depth4 > li > a:focus{ border-color:var(--sub-point); color:var(--sub-point); text-decoration:none; }
.depth4 > li.active > a{ background:var(--sub-point); border-color:var(--sub-point); color:#fff; }

/* --- 타이틀 (.subTitle / #sub_title) ---------------------------------- */
.subTitle{
    position:relative;
    width:100%;
    margin:0 0 50px;
    padding:0;
    text-align:center;
    border-bottom:2px solid #000;
}
.subTitle #sub_title{
    display:block;
    margin:0;
    padding:0 0 20px;
    font-size:40px;
    font-weight:bold;
    line-height:1.2;
    word-break:keep-all;
}

/* 형제 메뉴가 있을 때: 타이틀 좌측 / 메뉴 우측 정렬 */
.subTitle.has-menu{
    display:flex;
    align-items:flex-end;          /* 밑줄 라인 기준 정렬 */
    justify-content:space-between;
    flex-wrap:wrap;
    column-gap:30px;
    text-align:left;
}
.subTitle.has-menu #sub_title{ flex:0 0 auto; }

/* --- 타이틀 우측 형제 메뉴 (.sub-title-menu) --------------------------- */
.sub-title-menu{
    flex:1 1 auto;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    list-style:none;
    margin:0;
    padding:0 0 20px;              /* #sub_title 하단 padding 과 동일 */
}
.sub-title-menu > li{ position:relative; padding:4px 18px; line-height:1.2; }
.sub-title-menu > li:last-child{ padding-right:0; }
.sub-title-menu > li + li::before{
    content:"";
    position:absolute;
    left:0; top:50%;
    width:1px; height:13px;
    margin-top:-6px;
    background:var(--sub-line);
}
.sub-title-menu > li > a{
    display:inline-block;
    font-size:17px;
    font-weight:600;
    color:var(--sub-text);
    text-decoration:none;
    white-space:nowrap;
    transition:color .2s ease;
}
.sub-title-menu > li > a:hover,
.sub-title-menu > li > a:focus{ color:var(--sub-point); text-decoration:none; }
.sub-title-menu > li.active > a{ color:var(--sub-point); font-weight:700; }

/* --- 좌측 삼각 장식 : 현재 미사용 -------------------------------------- */
.sub-left-triangle{ display:none; }
/* 사용하려면 아래 주석을 해제하세요.
#content .col-xs-12{ position:relative; }
.sub-left-triangle{
    display:block; position:absolute; right:0; top:0;
    width:0; height:0;
    border-left:30px solid transparent;
    border-top:30px solid #6599CB;
}
*/

/* --- 반응형 ------------------------------------------------------------ */
@media (max-width:1199px){
    .subTitle{ margin:0 0 40px; }
    .subTitle #sub_title{ font-size:34px; }
    .sub-title-menu > li{ padding:4px 14px; }
    .sub-title-menu > li > a{ font-size:16px; }
    .depth4 > li > a{ padding:9px 20px; font-size:15px; }
}

@media (max-width:991px){
    .subTitle{ margin:0 0 32px; }
    .subTitle #sub_title{ font-size:28px; padding:0 0 15px; }
    .sub-title-menu{ padding:0 0 15px; }
    .sub-title-menu > li{ padding:4px 12px; }
    .depth4{ margin:0 0 25px; }
}

@media (max-width:767px){
    /* 타이틀 : 세로 배치 */
    .subTitle{ margin:0 0 20px; }
    .subTitle.has-menu{ display:block; text-align:center; }
    .subTitle #sub_title{ font-size:20px; padding:0 0 10px; }

    /* 형제 메뉴 : 가로 스크롤 */
    .sub-title-menu{
        justify-content:flex-start;
        flex-wrap:nowrap;
        margin:0;
        padding:0 0 8px;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    .sub-title-menu::-webkit-scrollbar{ height:3px; }
    .sub-title-menu::-webkit-scrollbar-thumb{ background:#ddd; border-radius:3px; }
    .sub-title-menu > li{ flex:0 0 auto; padding:2px 10px; }
    .sub-title-menu > li:first-child{ padding-left:0; }
    .sub-title-menu > li + li::before{ height:11px; margin-top:-5px; }
    .sub-title-menu > li > a{ font-size:15px; }

    /* 탭 : 가로 스크롤 */
    .depth4{
        justify-content:flex-start;
        flex-wrap:nowrap;
        margin:0 0 18px;
        padding:0 0 5px;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    .depth4::-webkit-scrollbar{ height:3px; }
    .depth4::-webkit-scrollbar-thumb{ background:#ddd; border-radius:3px; }
    .depth4 > li{ flex:0 0 auto; }
    .depth4 > li > a{ padding:8px 16px; font-size:14px; }
}

@media (max-width:480px){
    .subTitle #sub_title{ font-size:18px; }
    .depth4 > li > a{ padding:7px 14px; font-size:13px; }
}


/* ==========================================================================
   GNB 풀다운 메뉴
   - 1차 메뉴에 마우스를 올리면 헤더 아래로 흰색 패널이 전체 폭으로 펼쳐지고
     모든 1차 메뉴의 하위 메뉴가 각 메뉴 아래에 세로 컬럼으로 노출됩니다.
   - 패널 높이 = 하위 메뉴가 가장 많은 컬럼의 높이 (layout.js 에서 계산)
   - 992px 미만은 #gnb 가 숨겨지고 햄버거(mmenu) 메뉴를 사용합니다.
   ========================================================================== */
:root{
    --pd-point:#325481;          /* 호버/활성 포인트 컬러 */
    --pd-line:#ececec;           /* 컬럼 구분선 */
    --pd-hover-bg:#f5f7fb;       /* 호버 중인 컬럼 배경 */
    --pd-pad-y:26px;             /* 패널 상하 여백 */
}

/* 1차 메뉴 : 헤더 높이 전체를 차지하는 균등 폭 컬럼 */
#gnb{
    position:absolute; top:0; right:50%;
    width:55%; height:100%;
    margin:0; padding:0; list-style:none;
    transform:translateX(50%);
    display:flex; align-items:stretch; justify-content:center;
    text-align:center; border:none;
}
#gnb > li.depth1{
    position:relative;
    flex:1 1 0; min-width:0;
    display:flex; align-items:center; justify-content:center;
    float:none; padding:0; outline:none;
    font-weight:bold;
}
#gnb > li > a{
    display:inline-block;
    padding-top:7px;
    border-top:4px solid transparent;
    font-size:22px; font-weight:bold!important; color:#fff;
    text-decoration:none; white-space:nowrap;
    transition:border-color .2s ease;
}
#gnb > li > a:hover,
#gnb > li > a:focus,
#gnb > li.on > a,
#gnb > li.active > a{ border-top-color:#fff; color:#fff; text-decoration:none; }

/* 흰색 배경 패널 (헤더 바로 아래, 화면 전체 폭) */
#gnb-wrap > .container{ z-index:1; }
.gnb-pulldown-bg{
    position:absolute; left:0; top:100%;
    width:100%; height:0;
    background:#fff;
    box-shadow:0 14px 24px -14px rgba(0,0,0,.28);
    transition:height .3s ease;
    z-index:0;
}

/* 하위 메뉴 컬럼 */
#gnb .subal{
    position:absolute; top:100%; left:0;
    width:100%;
    margin:0; padding:var(--pd-pad-y) 10px;
    list-style:none;
    box-sizing:border-box;
    border-left:1px solid var(--pd-line);
    background:transparent;
    word-break:keep-all;
    visibility:hidden; opacity:0;
    transform:translateY(-8px);
    transition:opacity .2s ease, transform .2s ease, background-color .2s ease, visibility 0s linear .2s;
    z-index:2;
}
#gnb > li.depth1:last-child .subal{ border-right:1px solid var(--pd-line); }
#gnb-wrap.pd-open #gnb .subal{
    visibility:visible; opacity:1; transform:none;
    transition:opacity .25s ease .05s, transform .25s ease .05s, background-color .2s ease, visibility 0s;
}
/* 현재 호버 중인 컬럼 강조 */
#gnb > li.on .subal{ background:var(--pd-hover-bg); }
#gnb .subal::before{
    content:''; position:absolute; top:0; left:0; right:0;
    height:3px; background:var(--pd-point);
    transform:scaleX(0); transition:transform .25s ease;
}
#gnb > li.on .subal::before{ transform:scaleX(1); }

/* 2차 메뉴 */
#gnb .subal > li{ position:relative; padding:0; text-align:center; line-height:normal; background:none; }
#gnb .subal > li > a{
    display:block;
    padding:9px 6px;
    font-size:17px; font-weight:600; line-height:1.35;
    color:#555; text-decoration:none;
    border-radius:4px;
    transition:color .2s ease, background-color .2s ease;
}
#gnb .subal > li > a:hover,
#gnb .subal > li > a:focus{ color:#fff; background:var(--pd-point); }
#gnb .subal > li.active > a{ color:var(--pd-point); font-weight:800; }
#gnb .subal > li.active > a:hover{ color:#fff; }

/* 3차 메뉴 (있을 때만 2차 아래에 작게 노출) */
#gnb .subal-d3{ margin:0 0 6px; padding:0; list-style:none; }
#gnb .subal-d3 > li > a{
    display:block; padding:4px 6px;
    font-size:14.5px; font-weight:400; line-height:1.4;
    color:#888; text-decoration:none;
    transition:color .2s ease;
}
#gnb .subal-d3 > li > a:hover,
#gnb .subal-d3 > li > a:focus,
#gnb .subal-d3 > li.active > a{ color:var(--pd-point); text-decoration:underline; }

/* --- 반응형 ------------------------------------------------------------ */
@media (min-width:1200px) and (max-width:1499px){
    #gnb{ width:52%; }
    #gnb > li > a{ font-size:18px; }
    #gnb .subal{ padding:22px 6px; }
    #gnb .subal > li > a{ font-size:16px; padding:8px 4px; }
    #gnb .subal-d3 > li > a{ font-size:14px; }
}
@media (min-width:992px) and (max-width:1199px){
    #gnb{ width:56%; }
    #gnb > li > a{ font-size:16px; }
    #gnb .subal{ padding:18px 4px; }
    #gnb .subal > li > a{ font-size:15px; padding:7px 2px; }
    #gnb .subal-d3 > li > a{ font-size:13px; padding:3px 2px; }
}
/* 992px 미만 : 햄버거 메뉴 사용 → 풀다운 비활성 */
@media (max-width:991px){
    .gnb-pulldown-bg{ display:none; }
}
@media (prefers-reduced-motion:reduce){
    .gnb-pulldown-bg, #gnb .subal, #gnb .subal::before{ transition:none!important; }
}


/* =====================================================================
   반응형 보완 - 2026.10.15
   ===================================================================== */
/* [모바일 헤더] 로고 · 로그인 · 회원가입 · 메뉴버튼이 한 줄에 다 들어가지 않아 메뉴버튼(≡)이 화면 밖으로 밀리던 문제
   → 모바일에서는 메뉴버튼만 표시 (로그인/회원가입은 메뉴 안에 있음) */
@media (max-width: 767px) {
    .header-gnb .gnbBTN:not(.toggle),
    .header-gnb .gnbMORE { display: none !important; }
    .header-gnb { width: auto; right: 4%; }
}

/* [노트북 1200~1399px] 로고와 첫 메뉴(교회소개) 글자가 겹치던 문제 → 로고 폭 조정 */
@media (min-width: 1200px) and (max-width: 1399px) {
    .logo-wrap { width: 230px; }
    .logo-wrap img { width: 100%; height: auto; }
}
