/*popup*/
.popup {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
}

.popup_wrap {
    position: relative;
    top: 50%;
    left: 0;
    right: 0;
    transform: translate(0, -49%);
    margin: auto;
    padding: 0 2rem;
    max-width: 980px;
    max-height: 1080px;
    border-radius: 1rem;
}

.popup_body img {
    width: 100% !important;
    object-fit: cover;
}

.popup_wrap > div {
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    justify-content: space-between;
}

/*공지사항 팝업용 css*/
#swiper-container-popupSwiper .swiper-button-next,
#swiper-container-popupSwiper .swiper-button-prev {
    position: relative;
    top: 0;
    width: 2.5rem !important;
    height: 2.5rem !important;
    background-color: transparent !important;
    border: 1px solid #fff;
}

#swiper-container-popupSwiper .swiper-button-next,
#swiper-container-popupSwiper .swiper-button-prev {
    left: 0 !important;
}

#swiper-container-popupSwiper .swiper-pagination {
    position: relative;
    top: 10px;
    color: #fff;
}

.popup_header {
    display: flex;
    padding: 1.5rem;
    align-items: center;
    border-bottom: 1px solid #e5e5e5;
    gap: 0.25rem;
}

.noticeList {
    padding: 0 8px;
    border-radius: 0.35rem;
    white-space: nowrap;
    background-color: #4876eb;
}

.noticeList span {
    font-size: .75rem;
    color: #fff;
}

.popup_header h5 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.popup_body {
    height: 480px;
    overflow: hidden;
    background-color: #fff;
    padding: 1rem;
    border-radius: 1em;
}
.moreView{
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    text-align: center;
    padding: .5rem 0;
    background-color: #fff;
    border-radius: 1rem;
}
.moreView:after{
    content: '';
    position: absolute;
    top: -23px;
    left: 0;
    width: 100%;
    height: 24px;
    background: linear-gradient(0deg, white, transparent);
}

.popup_footer form {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 1rem 0 0;
    gap: 1rem;
}

.closePopup {
    width: 100%;
    padding: 0.5rem 0;
    border-radius: 0;
    border-radius: 10px;
    color: #fff;
    text-align: end;
    background-color: transparent;
    border: none;
}

.dontShow {
    width: 100%;
    padding: 0.5rem 0;
    border-radius: 0;
    border-radius: 10px;
    color: #fff;
    text-align: start;
    background-color: transparent;
    border: none;
}

.cptBtn {
    height: 45px;
    border: 0;
    border-radius: 0.5rem;
    font-size: .875rem;
}

/*scroll*/
/*.scroll {*/
/*    bottom: 0;*/
/*    left: 50%;*/
/*    position: absolute;*/
/*    z-index: 1;*/
/*    transform: translateX(-50%);*/
/*}*/
/*.scroll span {*/
/*    color: #fff;*/
/*    display: inline-block;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 3px;*/
/*}*/
/*.scroll span:after {*/
/*    content: '';*/
/*    display: block;*/
/*    width: 1px;*/
/*    height: 60px;*/
/*    margin: 1rem auto 0;*/
/*    background: #ffffff45;*/
/*    vertical-align: middle;*/
/*}*/
/*.scroll:after {*/
/*    content: '';*/
/*    opacity: 0;*/
/*    display: block;*/
/*    position: absolute;*/
/*    left: 4px;*/
/*    bottom: -24px;*/
/*    transform: translate(25px, 0);*/
/*    width: 50px;*/
/*    height: 50px;*/
/*    background: #fff;*/
/*    border-radius: 100%;*/
/*    animation: scroll 1.5s linear 0s infinite;*/
/*}*/
/*@keyframes scroll {*/
/*    0% {*/
/*        opacity: 0;*/
/*        -webkit-transform: translateY(-60px) scale(.1);*/
/*        transform: translateY(-60px) scale(.1);*/
/*    }*/
/*    10% {*/
/*        opacity: 1;*/
/*        -webkit-transform: translateY(-60px) scale(.1);*/
/*        transform: translateY(-60px) scale(.1);*/
/*    }*/

/*    50% {*/
/*        -webkit-transform: translateY(0) scale(.1);*/
/*        transform: translateY(0) scale(.1);*/
/*    }*/
/*    55% {*/
/*        opacity: 1;*/
/*        -webkit-transform: scale(.1);*/
/*        transform: scale(.1);*/
/*    }*/
/*    60% {*/
/*        opacity: .5;*/
/*    }*/
/*    80% {*/
/*        opacity: 0;*/
/*        -webkit-transform: scale(1);*/
/*        transform: scale(1);*/
/*    }*/
/*    100% {*/
/*        opacity: 0;*/
/*        -webkit-transform: scale(1);*/
/*        transform: scale(1);*/
/*    }*/
/*}*/

/*cpt-main-visual active*/
.swiper-main .main-img {
    transform: scale(1.15);
    transition: transform 2.5s ease-in-out;
}

.swiper-main .swiper-slide-active .main-img {
    transform: scale(1);
}

/*cpt-main-visual*/
.cpt-main-visual {
    position: relative;
    background-size: cover;
    background-position: center center;
    border-radius: 0 0 190px 0;
    overflow: hidden;
}

.cpt-main-visual-wrap {
    position: relative;
}

.cpt-main-visual-wrap .text-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -65%);
    z-index: 10;
}

.cpt-main-visual .text-wrap {
    width: 100%;
    max-width: 1920px;
    padding: 0 12rem;
}

.cpt-main-visual .text-wrap > * {
    color: #fff;
}

.cpt-main-visual .text-wrap h1 {
    opacity: 0;
    transform: translateY(100%);
    margin-top: 1rem !important;
    font-size: 2rem;
}

.swiper-main .swiper-slide-active .text-wrap h1 {
    opacity: 1;
    transform: translateY(0);
    transition: 1.2s;
}

.swiper-main .swiper-slide-active .text-wrap h5 {
    opacity: 1;
    transform: translateY(0);
    transition: 1.2s;
    transition-delay: .125s;
}

.cpt-main-visual .text-wrap h5 {
    opacity: 0;
    transform: translateY(100%);
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 1px;
    font-size: 14px;
}

.swiper-main {
    height: 100%;
}

.swiper-main .swiper-slide:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgb(0 0 0 / 70%), transparent);
}

.swiper-main .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*swiper-button*/
.swiper-main .cpt-main-control-wrap {
    position: absolute;
    display: inline-flex;
    gap: 1rem;
    width: 100%;
    max-width: 1920px;
    height: 50px;
    left: 50%;
    bottom: 20%;
    padding: 0 12rem;
    transform: translate(-50%, -65%);
    z-index: 20;
}

.swiper-main .cpt-main-control-wrap .progress-wrap {
    position: relative;
    width: 170px;
    height: 50px;
    z-index: 11;
}

.swiper-main .progress-wrap {
    display: flex;
    color: #fff;
    justify-content: space-between;
    position: static;
    text-align: left;
}

.swiper-main .progress-wrap .autoplay-progress {
    position: absolute;
    left: 30px;
    top: 10px;
    z-index: 10;
    width: 100px;
    height: 3px;
    background-color: rgba(0, 0, 0, 0.1);
}

.swiper-main .progress-wrap .autoplay-progress svg {
    --progress: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
    stroke-width: 4px;
    stroke: #fff;
    fill: none;
    stroke-dashoffset: calc(100 * (1 - var(--progress)));
    stroke-dasharray: 100;
}

.swiper-main .swiper-pagination {
    display: flex;
    justify-content: space-between;
    position: static;
    text-align: left;
}

.swiper-main .swiper-pagination span,
.swiper-rooms .swiper-pagination span {
    font-weight: bold;
}

.swiper-main .swiper-pagination .total {
    opacity: .4;
}

.swiper-main .arrow-wrap {
    position: relative;
    width: 80px;
    height: 50px;
}

.swiper-main .swiper-button-prev {
    left: 0 !important;
}

.swiper-main .swiper-button-next {
    right: 0 !important;
}

.swiper-main .swiper-button-prev,
.swiper-main .swiper-button-next {
    width: 20px !important;
    height: 20px !important;
    top: 0;
    margin-top: 0;
    background-color: transparent;
    color: #fff;
}

.swiper-main .arrow-wrap button {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 20px;
    height: 20px;
    background-color: transparent;
    border: none;
}

/*프로그레스, 페이지네이션 구버전*/
/*.swiper-main .swiper-pagination{*/
/*    color: var(--white);*/
/*}*/
/*.swiper-main .swiper-pagination{*/
/*    max-width: 1920px;*/
/*    bottom: 20%;*/
/*    left: 0;*/
/*    display: flex;*/
/*    gap: .5rem;*/
/*    text-align: start;*/
/*    padding-left: 10rem;*/
/*}*/
/*.swiper-main .swiper-pagination .swiper-pagination-total{*/
/*    opacity: .3;*/
/*}*/
/*.swiper-main .swiper-pagination-custom{*/
/*    gap: 1rem;*/
/*}*/
/*.swiper-main .swiper-pagination-bullet{*/
/*    opacity: 1 !important;*/
/*    background: transparent !important;*/
/*    font-weight: bold;*/
/*    color: var(--cpt-666);*/
/*}*/
/*.swiper-main .swiper-pagination-bullet{*/
/*    width: auto !important;*/
/*    height: 100% !important;*/
/*    line-height: 80px;*/
/*}*/
/*.swiper-main .pagination_progress{*/
/*    position: absolute;*/
/*    top: 75%;*/
/*    left: 50%;*/
/*    width: 0;*/
/*    height: 3px !important;*/
/*    background-color: rgba(255, 255, 255, .2) !important;*/
/*    border-radius: 4px;*/
/*    overflow: hidden;*/
/*}*/
/*.swiper-main .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{*/
/*    background-color: rgb(255, 255, 255, .7);*/
/*}*/
/*//cpt-main-visual*/

/*cpt-about*/
.cpt-about {
    display: flex;
    gap: 3rem;
    height: 100%;
    justify-content: space-between;
    margin-top: 3rem;
}

.cpt-about .about-wrap {
    display: flex;
    flex-flow: column;
    gap: 1rem;
    padding: 6rem 4rem;
    align-items: start;
    background-color: var(--cpt-content-bg);
    border-radius: 50px;
}

.cpt-about .about-wrap p.about-title {
    position: relative;
}

.cpt-about .about-wrap p.about-title:after {
    content: '';
    position: absolute;
    width: 125px;
    height: 1px;
    background-color: #000;
    top: 50%;
    left: 0;
    transform: translate(50%, 0%)
}

/*about 스크롤시*/
.notice-hidden {
    opacity: 0;
    position: relative;
    top: 50px;
}

.notice-hidden {
    opacity: 0;
    position: relative;
    top: 50px;
}

.notice-active {
    opacity: 1;
    position: relative;
    top: 0;
    transform: translateY(0);
    transition: 1.2s;
}

/*//cpt-about*/

/*cpt-notice*/
.cpt-about .notice-list p {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.cpt-about .notice-wrap {
    display: flex;
    gap: 1rem;
    flex-flow: column;
}

.cpt-about .notice-wrap .notice-title {
    display: flex;
    justify-content: space-between;
    padding: 1rem 0;
    border-bottom: 1.5px solid #000;
}

.cpt-about .notice-wrap .notice-list {
    display: flex;
    flex-flow: column;
    gap: .5rem;
}

.cpt-about .notice-wrap .notice-list div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    transition: .3s;
    border-bottom: 1px solid rgba(0, 0, 0, 0.175);
}

.cpt-about .notice-wrap .notice-list div:hover {
    border-color: #000 !important;
}

/*//cpt-notice*/

/*cpt-rooms*/
.cpt-rooms {
    padding-bottom: 6rem;
}

.cpt-rooms .title {
    position: relative;
}

.cpt-rooms .title .all-view {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.all-view-mobile {
    display: none;
}

.cpt-rooms .swiper {
    padding-bottom: 7rem;
}

.cpt-rooms .swiper-slide {
    padding: 0 1.5rem;
    cursor: pointer;
}

.cpt-rooms .swiper-slide.slide-3 {
    width: 33.3333% !important;
}

.cpt-rooms .swiper-slide.slide-2 {
    width: 50% !important;
}

.cpt-rooms .swiper-slide.slide-1 {
    width: 100% !important;
}

.cpt-rooms .swiper-slide img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.cr_imgMain {
    border-radius: 30px;
    transform: scale(1);
    transition: transform .5s;
    overflow: hidden;
}

.cr_imgMain:hover img {
    transform: scale(1.05);
    transition: transform .5s;
}

.cpt-rooms .swiper-slide h5 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1.5rem;
}

.cpt-rooms .swiper-slide > div {
    position: relative;
}

.cpt-rooms .swiper-slide .booking span {
    border-bottom: 1px solid #000;
    padding: 0rem 2rem .5rem;
    color: #000;
    position: relative;
    cursor: pointer;
}

.cpt-rooms .swiper-slide .booking span:after {
    content: "";
    position: absolute;
    transition: all 0.3s ease;
    width: 0;
    left: 50%;
    bottom: 0;
    height: 2px;
    background-color: #000000;
    opacity: 0;
}

.cpt-rooms .swiper-slide:hover .booking span:after {
    width: 100%;
    left: 0;
    opacity: 1;
}

/*필요가 없을거 같아서 임시 주석*/
/*.cpt-rooms .swiper-rooms p.type{*/
/*    position: absolute;*/
/*    top: 0; right: 1rem;*/
/*    padding: .25rem 1rem ;*/
/*    background-color: #000;*/
/*    color: var(--white);*/
/*    font-size: .75rem;*/
/*    border-top-right-radius: 10px;*/
/*}*/
/*.cpt-rooms .swiper-rooms p.price{*/
/*    position: absolute;*/
/*    bottom: 85px;*/
/*    padding: 0.5rem 1rem;*/
/*    background-color: #000;*/
/*    color: var(--white);*/
/*    font-size: .75rem;*/
/*    font-weight: 600;*/
/*    border-top-right-radius: 10px;*/
/*    border-bottom-left-radius: 10px;*/
/*}*/

.swiper-rooms .swiper-button-next,
.swiper-rooms .swiper-button-prev {
    top: auto;
    bottom: -12px;
    background-color: transparent;
}
.swiper-rooms .swiper-button-next i,
.swiper-rooms .swiper-button-prev i{
    color: #000;
}

.swiper-rooms .swiper-button-next:after,
.swiper-rooms .swiper-button-prev:after {
    color: #000 !important;
    font-size: 1rem !important;
    display: none;
}

.swiper-rooms .swiper-button-next {
    right: 40% !important;
}

.swiper-rooms .swiper-button-prev {
    left: 40% !important;
}

.swiper-rooms .swiper-pagination-progressbar {
    background: rgba(0, 0, 0, .1);
    border-radius: 1rem;
    overflow: hidden;
}

.swiper-rooms .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #000;
    border-radius: 1rem;
}

.swiper-rooms .swiper-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    z-index: 1;
}

/*//cpt-rooms*/

/*cpt-sub-img*/
.cpt-sub-img {
    position: relative;
}

.cpt-sub-img:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(40 52 75 / 50%);
}
.cpt-sub-img img{
    filter: grayscale(1) blur(1px);
}
.cpt-sub-img div, .cpt-sub-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.cpt-sub-img .text-wrap {
    position: relative;
    display: flex;
    flex-flow: column;
    justify-content: center;
    z-index: 9;
}

/*.cpt-sub-img .text-wrap span{*/
/*    font-size: .75rem;*/
/*}*/
/*//cpt-sub-img*/

/*cpt-travel*/
.cpt-travel {
    background-color: var(--cpt-main-content-bg);
    padding: 6rem 0;
}

.swiper-travel .swiper-wrapper {
    transition-timing-function: linear;
}

/*.swiper-travel .swiper-wrapper{*/
/*    height: 560px;*/
/*    line-height: 560px;*/
/*}*/
.swiper-travel .swiper-button-next {
    top: 35% !important;
}

/*.swiper-travel .swiper-slide-prev img,*/
/*.swiper-travel .swiper-slide-next img{*/
/*    height: 340px !important;*/
/*}*/
.cpt-travel .swiper-slide {
    width: auto !important;
}

.cpt-travel .swiper-slide img {
    width: 400px;
    height: 400px;
    object-fit: cover;
    transition: .3s ease;
    border-radius: 1rem;
}

.cpt-travel .swiper-slide:hover {
    position: relative;
    transition: 3.3s ease;
}
.cpt-travel .swiper-slide .moreView{
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    width: 100%;
    height: 400px;
    background-color: rgba(0, 0, 0, .4);
    transition: .3s;
    opacity: 0;
    cursor: pointer;
}
.cpt-travel .swiper-slide .moreView span{
    color: #fff;
    border: 1px solid #fff;
    padding: .5rem 1rem;
    opacity: 0;
    transition: .3s;
}
.cpt-travel .swiper-slide .moreView:hover,
.cpt-travel .swiper-slide .moreView:hover span{
    opacity: 1;
}

/*//cpt-travel*/

/*cpt-map*/
.cpt-map {
    margin: 3rem auto;
}

.cpt-map .map-wrap {
    width: 100%;
    height: 580px;
    border-radius: 3rem;
    overflow: hidden;
}

.cpt-map .map-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cpt-map .cpt-map-info {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    justify-content: center;
}

.cpt-map .cpt-map-info .wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.cpt-map .cpt-map-info .wrap > * {
    font-size: .875rem !important;
}

/*//cpt-map*/


/*------------xl------------*/
@media (max-width: 1199px) {
    .cpt-main-visual .text-wrap h1 {
        font-size: 1.5rem;
    }
    .swiper-main .swiper-slide:after {
        background: linear-gradient(0deg, rgb(0 0 0 / 70%), transparent);
    }

    .cpt-rooms .swiper-slide.slide-3,
    .cpt-rooms .swiper-slide.slide-2,
    .cpt-rooms .swiper-slide.slide-1 {
        width: 100% !important;
    }

    .swiper-rooms .swiper-button-next {
        right: 30% !important;
    }

    .swiper-rooms .swiper-button-prev {
        left: 30% !important;
    }

    .swiper-rooms .swiper-button-next,
    .swiper-rooms .swiper-button-prev {
        bottom: 0;
    }

    .swiper-main .swiper-pagination-bullet {
        color: rgba(255, 255, 255, .7);
        font-size: .875rem;
    }

    .swiper-main .cpt-main-control-wrap {
        padding: 0 1.5rem;
        bottom: 8%;
    }

    .cpt-main-visual .text-wrap {
        padding: 1.5rem;
    }

    .cpt-main-visual .text-wrap h5 {
        font-size: 1rem;
    }

    .cpt-rooms .title .all-view {
        display: none;
    }

    .all-view-mobile {
        display: inline;
    }

    .cpt-main-visual {
        border-radius: 0;
    }

    .cpt-about {
        margin-top: 0;
        padding: 3rem 1.5rem;
    }

    .cpt-about .about-wrap {
        padding: 2rem;
        border-radius: 25px;
    }

    .cpt-about .about-wrap p.about-title {
        font-size: .75rem;
    }

    .cpt-about .about-wrap h4 {
        font-size: 1rem;
    }

    /*.cpt-travel{*/
    /*    padding: 6rem 0;*/
    /*}*/
    /*.cpt-travel .swiper-slide img{*/
    /*    width: 310px;*/
    /*    height: 186px;*/
    /*}*/
    /*.cpt-travel .swiper-slide h5{*/
    /*    font-size: .875rem;*/
    /*}*/
    /*.swiper-travel .swiper-slide-prev img,*/
    /*.swiper-travel .swiper-slide-next img{*/
    /*    height: 166px !important;*/
    /*}*/
    /*.swiper-travel .swiper-wrapper{*/
    /*    height: 186px;*/
    /*    line-height: 186px;*/
    /*}*/
    .cpt-map .map-wrap {
        height: 311px;
    }

    .cpt-map .cpt-map-info .wrap > * {
        font-size: .75rem !important;
    }

    .cpt-rooms .swiper-rooms p.price {
        bottom: 86px;
    }

    .cpt-rooms .swiper {
        padding-bottom: 5rem;
    }
}

/*------------xl------------*/

/*------------lg------------*/
@media (max-width: 767px) {
    .popup_wrap {
        padding: 1rem;
    }
    .cpt-main-visual .text-wrap h5 {
        font-size: .75rem;
        line-height: 24px;
        letter-spacing: 1px;
    }

    .cpt-rooms .swiper-slide {
        padding: 0 0rem;
    }

    .cpt-travel .swiper-slide img {
        height: 200px;
    }
    .cpt-travel .swiper-slide .moreView{
        height: 200px;
    }

    .popup_footer form{
        padding: .5rem 0 0;
    }
    .popup_footer.w-50{
        width: 100% !important;
    }
}

/*------------lg------------*/