/*테마 공용 css*/
/*프리텐다드*/
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");
/*고운바탕, noticia*/
@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noticia+Text:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/*var*/
:root {
    --color-white: #fff;
    --color-black: #000;

    --color-1: #60594C; /*네비글자*/
    --color-2: #FCFAF6; /*섹션배경*/
    --color-3: #C1C1C1; /*회색*/
    --color-4: #A9A9A9; /*회색*/


    --font-1: "pretendard";
    --font-2: 'Gowun Batang';
    --font-3: 'Noticia Text';

    --f-size-16: 1rem; /*16*/
    --f-size-14: 0.88rem; /*14*/
    --f-size-12: 0.75rem; /*12*/
    --f-size-10: 0.63rem; /*10*/

    --f-size-18: 1.125rem; /*18*/
    --f-size-20: 1.25rem; /*20*/
    --f-size-24: 1.5rem; /*24*/
    --f-size-26: 1.625rem; /*26*/
    --f-size-30: 1.875rem; /*30*/
}

::selection {
}

::-webkit-scrollbar {
}

::-webkit-scrollbar-thumb {
}

::-webkit-scrollbar-track {
}

html {
    font-size: 16px;
}

body {
    font-family: var(--font-2);
    background-color: var(--color-2);
}

@media (width < 1400px) {
}

@media (width < 1024px) {
    html {
        font-size: 14px;
    }
}

@media (width < 768px) {
    html {
        font-size: 12px;
    }
}

@media (width < 576px) {
}

.logo {
    display: flex;
    justify-content: center;
    align-items: center;
    a {
        display: inline-block;
        height: 50px;
        padding-bottom: 4px;
        max-width: clamp(42px, 10vw, 80px);
    }
    img {
        object-fit: contain;
        object-position: top;
        width: 100%;
        height: 100%;
    }
}

/*s: gnb*/
/*서브네비*/
.header {
}
.sub-nav{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100000000;
    width: 100%;
    height: 100%;
    color: var(--color-white);
    font-weight: 700;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.5s;
}

.sub-nav {
    .sub-nav-close-wrap {
        position: absolute;
        top: clamp(0px, 4.5vw, 85px);
        right: clamp(0px, 7.8vw, 150px);
        width: max-content;
    }
    #sub-nav-close {
        background-color: unset;
        border: unset;
        font-size: 2.5rem;
        color: var(--color-white);
    }
    #swiper-sub-nav {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        z-index: -1;
    }
    #swiper-sub-nav:after {
        content: '';
        position: absolute;
        z-index: 5;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
    }
    .logo {
        padding-top: clamp(0px, 45vw, 85px);
    }
    .logo a {
        display: inline-block;
        width: max-content;
    }
    .gnb-1d-ul{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        justify-content: center;
        font-size: 2.626rem;
        height: 50vh;
        margin-top: auto;
        padding-left: clamp(0px, 23vw, 440px);
        padding-right: clamp(0px, 23vw, 440px);
        text-align: center;
        word-break: keep-all;
    }
    .gnb-2d-ul{
        font-size: var(--f-size-20);
        margin-top: clamp(0px, 3vw, 45px);
        opacity: 0;
        pointer-events: none;
        transition: 0.5s;
    }
    .gnb-2d-ul a{
        font-weight: 400;
        display: inline-block;
        padding-top: 5px;
        padding-bottom: 5px;
        opacity: 0.8;
        font-size: var(--f-size-14);
    }
    .gnb-1d-li:hover .gnb-2d-ul{
        opacity: 1;
        pointer-events: auto;
    }

}
.sub-nav.close{
    opacity: 0;
    pointer-events: none;
}
.sub-nav.close #swiper-sub-nav .swiper-slide{
    pointer-events: none;
}
/*링크 밑줄 효과*/
.stroke1,
.stroke2{
    position: relative;
}
.stroke1:after,
.stroke2:after{
    content: '';
    width: 0;
    background-color: var(--color-white);
    position: absolute;
    left: 0;
    top: 50%;
    transition: 0.5s;
}
.stroke1:after{
    height: 1px;
}
.stroke2:after{
    height: 2px;
}
.stroke1:hover:after,
.stroke2:hover:after{
    width: 100%;
}
.fixed-nav {
    z-index: 5;
    background-color: var(--color-white);
    position: fixed;
    top: 0;
    width: 100%;
    height: clamp(50px, 10vw, 100px);
    opacity: 1;
    pointer-events: auto;
    transition: .5s all;
    .wrap {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: space-between;
    }
    img{
        object-position: center;
    }
}
.fixed-nav.close{
    opacity: 0;
    pointer-events: none;
}
.fixed-nav-right{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    gap: 10px;
    color: var(--color-1);
    button{
        color: var(--color-1);
        background-color: unset;
        border: unset;
        font-weight: 700;
        font-family: var(--font-3);
    }
}
/*소셜링크*/
.social-wrap{
    position: relative;
    .social-links{
        cursor: pointer;
        position: absolute;
        padding-top: 10px;
        left: -11px;
        opacity: 0;
        pointer-events: none;
        transition: .5s all;
        a img{
            display: block;
            width: 18px;
            height: 18px;
        }
        a{
            display: block;
            background-color: var(--color-2);
            border: 1px solid var(--color-1);
            border-radius: 4px;
            padding: 7px;
            width: max-content;
            height: max-content;
            margin-bottom: 15px;
            transition: .5s all;
        }
        a:hover{
            background-color: var(--color-1);
        }
        a:hover img{
            color: var(--color-white);
            filter: brightness(0) invert(100%);
        }
        a.none{
            display: none;
        }
    }
    .social-link-open::before {
        content: "";
        position: absolute;
        top: -10px; bottom: -10px;
        left: -10px; right: -10px;
        z-index: -1;
    }
}
.social-links.active{
    opacity: 1;
    pointer-events: auto;
}

/*스크롤탑*/
.side {
    position: fixed;
    right: 30px;
    bottom: 35px;
    z-index: 100;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, auto);
}
.go-top {
    border: 1px solid var(--color-1);
    background-color: var(--color-1);
    color: var(--color-white);
    border-radius: 50%;
    aspect-ratio: 1/1;
    padding: 10px;
    transition: .5s all;
}
.go-top:hover {
    background-color: var(--color-white);
    color: var(--color-1);
}
/*e:header*/

/*s:footer*/
.footer-back{
    height: clamp(205px, 18vw,340px);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.footer {
    background-color: var(--color-white);
    font-size: var(--f-size-14);
}
.footer .wrap {
    padding-top: clamp(30px,5.7vw,109px);
    padding-bottom: clamp(50px,4.8vw,91px);
    display: flex;
    justify-content: space-between;
}

/*펜션명*/
.footer-title-p{
    font-size: var(--f-size-24);
    font-weight: 700;
    padding-top: clamp(30px,5.7vw,109px);
}

.footer-content {
    display: flex;
    flex-direction: column;
    gap: clamp(30px, 5vw, 38px);
}

.footer-content li {
    line-height: 2;
}

.footer-info{
    font-family: var(--font-1);
}
.footer-info ul:nth-child(1) {
    padding-bottom: 1rem;
}


/*푸터 메뉴*/
.footer-gnb-ul {
    display: flex;
    justify-content: end;
    font-family: var(--k-main-font-2);
    font-weight: 400;
    font-size: var(--f-size-2);
    text-transform: capitalize;
}

.footer-gnb-a {
    padding: 0 clamp(0px, 1.1vw, 22px);
}

.footer-gnb-a:after {
    content: '';
    display: block;
    width: 0;
    margin-top: 1px;
    height: 1px;
    background-color: var(--color-8);
    transition: all 0.5s;
}

.footer-gnb-a:hover:after {
    width: 100%;
}

.footer a {
    display: inline-block;
    height: 35px;
    white-space: nowrap;
}

.footer a > img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

/* 관리자메뉴 */
.footer-copyright {
    width: 100%;
    padding-top: clamp(30px, 2.6vw, 49px);
    padding-bottom: clamp(25px, 3.1vw, 60px);
    text-align: center;
    color: var(--color-3);
    border-top: 1px solid var(--color-3);
    .copyright-wrap {
        display: flex;
        word-break: auto-phrase;
        align-items: start;
        justify-content: center;
    }
    .footer-copyright a {
        padding-left: 5px;
        padding-right: 5px;
        font-size: var(--f-size-3);
        vertical-align: top;
    }
    .footer-copyright a:nth-child(1) {
        padding-left: 0;
    }

}
.side {
    right: 15px;
    bottom: 20px;
}
.go-top {
    padding: 5px;
}
@media (width >= 1400px) {
    .social-wrap:hover .social-links{
        opacity: 1;
        pointer-events: auto;
    }
}
@media (width < 1400px) {
}
@media (width < 1024px) {
    .sub-nav {
        .gnb-1d-ul {
            display: flex;
            flex-direction: column;
            height: 100%;
            gap: 10vw;
        }
    }
    .footer{
        .wrap{
            flex-direction: column;
            align-items: start;
            gap: 30px;
        }
        .footer-gnb-ul{
            gap: 30px;
        }
    }
    .social-wrap {
        .social-links {
            left: -7px;
            a img {
                width: 12px;
                height: 12px;
            }
            a {
                padding: 4px;
            }
            a.t-block{
                display: block;
            }
        }
    }
}
@media (width < 768px) {
    .sub-nav {
        .gnb-1d-ul {
            font-size: var(--f-size-26);
        }
    }
}

@media (width < 576px) {
}
/*include*/
.hero-slider {
    position: relative;
    z-index: 10;
    .hero-swiper {
        height: 100dvh;
        position: relative;
    }
    .hero-swiper .swiper-slide {
        background-position: center;
    }
    .hero-nav-wrap{
        position: absolute;
        top: 0;
        z-index: 100;
        width: 100%;
        .wrap {
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: space-between;
            padding-top: clamp(54px,4.5vw,85px);
            position: relative;
        }
        .logo{
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            max-width: clamp(45px, 10vw ,80px);
        }
        .hero-nav{
            color: var(--color-1);
            font-weight: 700;
        }
        .gnb-1d-ul{
            display: flex;
            flex-direction: column;
            gap: 20px;
        }
        .stroke1:after{
            background-color: var(--color-1);
        }
    }
    #next-hero{
        background-color: unset;
        border: unset;
        font-family: inherit;
        position: absolute;
        z-index: 10;
        right: clamp(0px,7vw,150px);
        bottom: clamp(0px,4vw,76px);
        font-size: var(--f-size-12);
        font-weight: 700;
    }
    #next-hero span{
        position: absolute;
        width: 100%;
        top: 37%;
        left: 48%;
        transform: translateX(-50%);
        z-index: 10;
        color: var(--color-white);

    }
    #next-hero svg{
        filter: drop-shadow( 0px 5px 5px rgba(0,0,0,0.7) );
    }
    .social-wrap{
      cursor: pointer;
    }
}
@media (width < 1400px) {
}
@media (width < 1024px) {
    .hero-slider .hero-swiper {
        height: 70dvh;
    }
}
@media (width < 768px) {
}
@media (width < 576px) {
}

/*common*/

.header .wrap,
.footer .wrap,
.section .wrap {
    padding-left: clamp(40px, 8vw, 150px);
    padding-right: clamp(40px, 8vw, 158px);
}
.section:last-child:not(.footer) {
    padding-bottom: clamp(120px, 10vw, 180px);
}

.title-style,
.title-style p{
    font-size: var(--f-size-18);
    font-weight: 700;
}
.content-style,
.content-style p{
    font-size: var(--f-size-14);
    font-weight: 400;
    line-height: 2;
}
.link-style{
    font-size: var(--f-size-18);
    font-weight: 700;
    transition: .3s;
}
.link-style:hover{
    color: var(--color-4);
}

@media (width < 1400px) {
}
@media (width < 1024px) {
    .section10 .hero-slider{
        height: 70dvh;
    }
}
@media (width < 768px) {
    .page-title {
        font-size: 2.5rem;
    }
}
@media (width < 576px) {
}

