/* =========================
 * 메뉴 버튼 (PC + 모바일 공통 기본)
 * ========================= */
.menu-btn {
    display: block;
    width: 3.7rem;
    color: #ffffff;
    text-align: center;
    cursor: pointer;
    position: absolute;
    top: 2.2rem;
    right: 0;
    font-weight: bold;
    background-color: #1E6B4B;
    line-height: 3.7rem;
    border-radius: 0.4rem;
}

/* =========================
 * PC GNB (상단 메뉴)
 * ========================= */
.menuZone {
    width: 100%;
    margin: 0 auto;
    background-color: #1E6B4B;
}

.mainMenu {
    max-width: 120rem;
    margin: 0 auto;
}

.mainMenu ul {
    overflow: hidden;
}

.mainMenu ul li {
    float: left;
}

.mainMenu li a {
    display: block;
    color: #fff;
    font-size: 1.9rem;
    font-weight: 400;
    letter-spacing: -0.1rem;
    line-height: 5.4rem;
    width: 100%;
    text-align: center;
}

.mainMenu.four li,
.mainSub.four ul {
    width: 25%;
}

.mainMenu.five li,
.mainSub.five ul {
    width: 20%;
}

.mainMenu.six li,
.mainSub.six ul {
    width: 16.66%;
}

.mainMenu.seven li,
.mainSub.seven ul {
    width: 14.28%;
}

.mainMenu.eight li,
.mainSub.eight ul {
    width: 12.5%;
}

/* =========================
 * PC 풀다운
 * ========================= */
.fulldownWrap {
    position: absolute;
    padding: 0;
    width: 100%;
    margin: 0 auto;
    height: 0.1rem;
    z-index: 20;
}

.fulldownMenu {
    position: relative;
    padding: 0;
    width: 100%;
    background-color: #fff;
    border-bottom: 0.1rem solid #d7d7d7;
    display: none; /* jQuery에서 열기/닫기 */
}

.fulldownMenuInner {
    width: 120rem;
    margin: 0 auto;
}

.mainSub {
    overflow: hidden;
    width: 100%;
}

.mainSub ul {
    float: left;
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-left: 0.1rem solid #d7d7d7;
    min-height: 36.9rem;
}

.mainSub ul:last-child {
    border-right: 0.1rem solid #d7d7d7;
}

.mainSub ul:hover {
    background-color: #D8D7C2;
}

.mainSub ul li {
    line-height: 2.4rem;
    padding: 0.5rem 0;
    margin-bottom: 0.5rem;
}

.mainSub ul li a {
    font-size: 1.6rem;
    color: #333333;
    display: block;
    padding-left: 2rem;
    font-weight: 400;
    padding-right: 1rem;
}

.mainSub ul li.depth3 a {
    padding-left: 3rem;
}

.mainSub ul li:hover {
    background-color: #AD8E64;
}

.mainSub ul li:hover a {
    color: #fff;
}

/* =========================
 * site-overlay (공통)
 * ========================= */
.site-overlay {
    display: none;
}

/* PC에서 GNB 열렸을 때 오버레이 */
body.gnb-open .site-overlay {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10; /* header(100), fulldownWrap(20)보다 낮게 */
    background-color: rgba(0, 0, 0, 0.3);
}

/* =========================
 * pushy (모바일 전용 초기 상태)
 * ========================= */
.pushy.pushy-right {
    display: none;
}

/* =========================
 * 모바일 레이아웃 (1299px 이하)
 * ========================= */
@media (max-width: 129.9rem) {
    .menuZone,
    .fulldownMenu {
        display: none;
    }

    .mLogo {
        display: block;
        background-color: #fff;
        height: 7.3rem;
        background-image: url(../../main/images/farm_logo.jpg);
        background-size: 17rem;
        background-repeat: no-repeat;
        background-position: 2rem 2rem;
        text-indent: -100rem;
    }

    .pushy.pushy-right {
        display: block;
    }

    /* menu-btn 위치/스타일은 기본 것 사용 (위에서 정의한 값 그대로 사용) */

    .pushy {
        position: fixed;
        width: 28rem;
        height: 100%;
        top: 0;
        right: 0;
        z-index: 9999;
        overflow: auto;
        visibility: hidden;
        -webkit-overflow-scrolling: touch;
        background-color: #1E6B4B;
        transform: translate3d(25rem, 0, 0);
        transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
    }

    .pushy a {
        font-size: 1.6rem;
        font-weight: 500;
        display: block;
        color: #C7DAD2;
        padding: 1.5rem 3rem;
        text-decoration: none;
        outline: 0;
    }

    .pushy a:hover {
        color: #FFF;
    }

    .pushy ul:first-child {
        margin-top: 1rem;
    }

    /* body 클래스 기반 open 제어 (모바일) */
    body.pushy-open-right .pushy {
        visibility: visible;
        transform: translate3d(0, 0, 0);
    }

    /* 모바일에서 site-overlay (푸시메뉴용) */
    body.pushy-open-right .site-overlay {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 9998;
        background-color: rgba(0, 0, 0, 0.5);
        -webkit-animation: fade 500ms;
        animation: fade 500ms;
    }

    /* 모바일 서브메뉴 화살표 */
     .pushy-submenu  {
        border-bottom: 0.1rem solid rgba(256, 256, 256, 0.15);
    }
    .pushy-submenu .pushy-submenu {
        border-bottom: none;
    } 
    .pushy-submenu > a {
        position: relative;
    }

    .pushy-submenu > a::after {
        content: '';
        display: block;
        height: 1.1rem;
        width: 0.8rem;
        position: absolute;
        top: 50%;
        right: 1.5rem;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        transition: transform 0.2s;
        background-image: url(../main/images/arrow.svg);
        background-repeat: no-repeat;
    }

    .pushy-submenu > ul {
        padding-left: 1.5rem;
        transition: max-height 0.2s ease-in-out;
        max-height: 0;
        overflow: hidden;
    }

    .pushy-submenu-open > ul {
        max-height: 100rem;
    }

    .pushy-submenu-open > a::after {
        -webkit-transform: translateY(-50%) rotate(90deg);
        -ms-transform: translateY(-50%) rotate(90deg);
        transform: translateY(-50%) rotate(90deg);
    }

    .pushy-submenu a:before,
    .pushy-submenu .pushy-submenu a:before {
        position: absolute;
        right: 2.2rem;
        top: 2rem;
        display: block;
        width: 1rem;
        height: 0.2rem;
        background: #ffffff;
        content: "";
        -webkit-transition: all 0.1s ease-out;
        -moz-transition: all 0.1s ease-out;
        -ms-transition: all 0.1s ease-out;
        -o-transition: all 0.1s ease-out;
        transition: all 0.1s ease-out;
    }
    .pushy-submenu a:after,
    .pushy-submenu .pushy-submenu a:after  {
        position: absolute;
        right: 2.6rem;
        top: 2.1rem;
        z-index: 5;
        display: block;
        height: 1rem;
        width: 0.2rem;
        background: #ffffff;
        content: "";
        -webkit-transition: all 0.1s ease-out;
        -moz-transition: all 0.1s ease-out;
        -ms-transition: all 0.1s ease-out;
        -o-transition: all 0.1s ease-out;
        transition: all 0.1s ease-out;
    }
    
    .pushy-submenu.pushy-submenu-open > a::before,
    .pushy-submenu.pushy-submenu-open > a::after {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    
    .pushy-submenu .pushy-submenu li a:before,
    .pushy-submenu .pushy-submenu li a:after {
        display: none;
    }


    /* 3차 메뉴: 예전 스타일 (dot 아이콘 + 더 안쪽 패딩) */
    nav.pushy .pushy-submenu ul li.pushy-submenu ul li a {
        position: relative;
        display: block;
        font-size: 1.5rem;
        font-weight: 300;
        padding: 0.5rem 2rem 0.5rem 4rem !important;
        /*position: relative;
        background-image: url(../main/images/dot.gif);
        background-repeat: no-repeat;
        background-position: 2.7rem 1.5rem;*/
    }
    nav.pushy .pushy-submenu ul li.pushy-submenu ul li a:before {
        content: "";
        position: absolute;
        display:  block;
        width:  0.4rem;
        height:  0.4rem;
        border-radius: 99.9rem;
        top: 1.2rem;
        left: 2.5rem;
        background-color: rgba(256, 256, 256 ,0.4);
    }
}

@keyframes fade {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fade {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}