@charset "utf-8";

/********** header **********/
.header {border-bottom:solid 1px #f7f8f8;}
header {top: 0;left: 0;width: 100%;z-index: 1000;}
.menu > li {position: relative;}
.submenu {top: calc(100% + 34px);left: 0;max-height: 0;opacity: 0;overflow: hidden;transition: max-height 0.5s ease, opacity 0.5s ease; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);}
.menu li:hover > .submenu {max-height: 700px !important;opacity: 1 !important;}


/* 헤더 기본 스타일에 부드러운 전환 효과 추가 */
#main-header {transition: background-color 0.3s ease, color 0.3s ease;}
  /* 스크롤 시 헤더에 추가할 스타일 */
  #main-header.scrolled {background-color: #fff;color: black;}
  /* 헤더 내부의 링크 색상 강제 변경 */
  #main-header.scrolled a {color: black !important;}
  /* 헤더 내부의 링크 색상 강제 변경 */
  #main-header.scrolled .headBtn {color: #fefefe !important;background: #222;}
  /* 스크롤 상태에서 예약하기 버튼 스타일 변경 */
  #main-header.scrolled .reserve-btn {background-color: black !important;color: white !important;}
  

/* 햄버거 버튼 스타일 */
.hamburger {background: none;border: none;cursor: pointer;}
.hamburger span {display: block;width: 20px;height: 2px;background: #333;transition: all 0.3s ease;}
.hamburger.active span:nth-child(1) {transform: translateY(9px) rotate(45deg);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {transform: translateY(-8px) rotate(-45deg);}
/* 모바일 메뉴 패널 (햄버거 클릭 시 토글됨) */
.mobile-nav {top: 60px;left: 0;z-index: 999;border-top: 1px solid #f7f8f8;max-height: calc(100vh - 60px);overflow-y: auto;}
.mobile-nav.active {display: block;}
/* 모바일 메뉴 리스트 */
.mobilenavline {border-bottom:solid 1px #eeeef0;}
.mobile-nav .menu > li > a {display: block;}
/* 기존 모바일 메뉴 관련 CSS에 추가 */
.mobile-nav .mobilesubmenu {display: none;}
.mobile-nav .menu li.active > .mobilesubmenu {display: block;}
  

/********** mainbanner **********/
.mainbannerImg {background-image:url(/theme/basic/img/mainBanneImg.jpg); background-size:cover; background-position:center;}
.mainbannerScrollline {border-left:solid 2px #f7f8f8;}
.mainbannerscroll {bottom:0%;}

/****/
.swiper-pagination-bullet-active {background-color: #fefefe ; /* 원하는 색상 코드 */}
.swiper-pagination-bullet {background-color: #fefefe !important;}

/********** options **********/
.potionline {border-bottom:solid 1px #eeeef0;}


/********** introduction **********/
.introductiontext {bottom:0%; right:0%; line-height: 0;}

/********** guideline **********/
.guidelineCnt {border-bottom:solid 1px #eeeef0;}


/********** about **********/
    /********** aboutbanner **********/
    .aboutbanner {background-image:url(/theme/basic/img/aboutSubBannerImg.jpg);background-size:cover; background-position:center; width:100%;}
    .aboutAroundImg {line-height:0;}
    /********** about_about **********/
    .aboutText {right:0%; top:45%;line-height:1;}

    /********** pension **********/
    .pensionCnt {border-bottom:solid 1px #eeeef0;}

    /* 슬라이드 컨테이너의 너비와 오버플로우 제어 */
.swiper-container {
    width: 100%;      /* 부모 요소의 가로 영역에 맞춤 */
    overflow: hidden; /* 넘치는 내용 숨김 */
  }
  
  /* 각 슬라이드의 스타일 조정 */
  .swiper-slide {
    width: 100%;      /* 슬라이드가 컨테이너에 꽉 차도록 */
    box-sizing: border-box;
  }
  
  /* 이미지의 반응형 처리 */
  .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;   /* 이미지 하단의 공백 제거 */
  }
  
    


   /* ── 탭 버튼 스타일 ── */
.season-tabs {list-style: none;background-color: #f9f9f9;border-bottom: 2px solid #ddd;}
.season-tabs li {cursor: pointer;border-right: 1px solid #ddd; font-size:20px; font-weight: bold;}
.season-tabs li:last-child {border-right: none; }
.season-tabs li.active {background-color: #333;color: #fff;font-size:20px; font-weight: bold;}
  /* ── 테이블 스타일 ── */
.price-table {width: 100%;border-collapse: collapse;text-align: center;}
.price-table th,
.price-table td {border: 1px solid #ccc;padding:20px; font-size:20px; font-weight:400;}
.price-table thead th{background-color: #f8f8f8;font-weight: bold;}
.price-table thead tr td:first-child,
.price-table tbody tr td:first-child {background-color: #f8f8f8; font-weight: bold;}

/****/
.faciltybanner {background: url(/theme/basic/img/facilityBanner.jpg); background-size: cover; background-position: center;}
  /****/
.locationbanner {background: url(/theme/basic/img/locationBanner.jpg); background-size: cover; background-position: center;}

  /****/
  .galleryBanner {background: url(/theme/basic/img/galleryBanner.jpg); background-size: cover; background-position: center;}
  
  /********** notice **********/
  .noticeThead {border-top:solid 2px #222;}
  .noticetbody {border-bottom:solid 2px #222;}
  .noticetbodytr {border-bottom:solid 1px #91949f; border-top:solid 1px #91949f;}


  /********** login **********/
  .loginBox {background: url(/theme/basic/img/adminBg.jpg);}

  /********** policy **********/
  .policyboxline {border-bottom:solid 1px #222;}
  .indented-text {white-space: pre-wrap;}