/*
Template Name: Meghna Responsive HTML5/CSS3 Business Template
Author: Themefisher
Author URI: www.Themefisher.com
Description: Meghna Responsive HTML5/CSS3 Portfolio Template
Version: 1.0
Tags: one-page, single-page, portfolio, custom-colors, post-formats, responsive, html5, css3
*/
/*=== MEDIA QUERY ===*/
@import url("https://fonts.googleapis.com/css?family=Anaheim|Quattrocento+Sans:400,700");
@import url("https://fonts.googleapis.com/css?family=Montserrat:400,700|Open+Sans:300,400,600");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;500;700;900&display=swap');
html {
/*    background-color: #ACD4E5;*/
    color: #737f8a;
}
body {
    /*background: url("../images/backgrounds/bg_all.png");*/
	background-color: #d7d6cb;
    font-family: 'Noto Sans KR', sans-serif;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    font-size: 15px;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    font-family: 'Noto Sans KR', sans-serif;
    color: #fff;
}
p {
    font-family: 'Noto Sans KR', sans-serif;
}
h1 {
    margin: 30px 0;
}
/*=================================================================
  Basic Setup
==================================================================*/ ::-moz-selection {
    /* Code for Firefox */
    color: #fff;
    background: #222;
}
::selection {
    color: #fff;
    background: #222;
}
ol, ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
figure {
    margin: 0;
}
a {
    color: #fff;
    transition: all .3s ease-in 0s;
}
iframe {
    border: 0;
}
a, a:focus, a:hover {
    text-decoration: none;
    outline: 0;
}
.kill-margin-bottom {
    margin-bottom: 0 !important;
}
.padding-0 {
    padding: 0 !important;
}
.btn {
    background-color: transparent;
    color: #5b5b5b;
/*    margin-top: 40px;*/
    padding: 10px 30px;
    border-radius: 0;
    font-size: 15px;
    font-weight: bold;
    transition: all .3s ease-in 0s;
	max-width: 750px;
	display: block;
	margin: 0 auto;
	position: absolute;
	left: 50%;
	top: 39%;
	transform: translate(-50%, -50%);
}
.btn a {
    color: #5b5b5b;
}

.btn:focus {
    color: #5b5b5b;
}
.btn-transparent {
    border: 1px solid #5b5b5b;
}
.btn-transparent a:hover, .btn-transparent a:focus {
    color: #ddd;
}
.btn-transparent:hover, .btn-transparent:focus {
    background-color: #c64c30;
    border: 1px solid transparent;
    color: #ddd;
}
/*상단 hero '보러가기' 버튼만 별도 보정*/
.hero-area .btn.btn-transparent {
  max-width: none;
  width: auto;
  display: inline-block;
  padding: 0;
  top: 40.5%;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.hero-area .btn.btn-transparent {
  backdrop-filter: blur(4px);
}
.hero-area .btn.btn-transparent {
  transition: opacity .3s ease, transform .3s ease;
}
.hero-scrolled .hero-area .btn.btn-transparent {
  opacity: 0;
  transform: translate(-50%, -60%);
}
.hero-area .btn.btn-transparent a {
  display: block;
  padding: 12px 28px;
  color: #5b5b5b;
  line-height: 1;
  white-space: nowrap;
  transition: color .25s ease;
}
.hero-area .btn.btn-transparent:hover {
  background-color: #c64c30;
  border-color: #c64c30;
  transform: translate(-50%, -50%) translateY(-2px);
}
.hero-area .btn.btn-transparent:hover a {
  color: #fff;
}
.hero-area .btn.btn-transparent:active {
  transform: translate(-50%, -50%) scale(0.97);
}
.form-control {
    background-color: #2f383d;
    border-radius: 0;
    padding: 5px 10px;
    border: 0 none;
    color: #ddd;
}
.form-control:focus {
    box-shadow: 0 0 0;
}
.form-control::-webkit-input-placeholder {
    /*  Chrome, Safari, Opera  */
    color: #ddd;
}
.form-control:-moz-placeholder {
    /* Firefox 18- */
    color: #ddd;
}
.form-control::-moz-placeholder {
    /* Firefox 19+ */
    color: #ddd;
}
.form-control:-ms-input-placeholder {
    /*  Internet Explorer  */
    color: #ddd;
}
.border {
    border-top: 2px solid rgba(255, 255, 255, 0.11);
    height: 1px;
    margin: 15px auto 0;
    position: relative;
    width: 30%;
}
.border:before {
    background-color: #fff;
    content: '';
    height: 6px;
    left: 50%;
    margin-left: -20px;
    position: absolute;
    top: -4px;
    width: 50px;
    background-color: #ffc000;
}
.border-bgw {
    border-top: 2px solid rgba(248, 208, 15, 0.16);
    height: 1px;
    margin: 15px auto 0;
    position: relative;
    width: 30%;
}
.border-bgw:before {
    background-color: #fff;
    content: '';
    height: 6px;
    left: 50%;
    margin-left: -20px;
    position: absolute;
    top: -4px;
    width: 50px;
    background-color: #ffc000;
}
.color {
    color: #6CB670;
}
.btn.active:focus, .btn:active:focus, .btn:focus {
    outline: 0;
}
.bg-one {
    background-color: #353b43;
}
.bg-dark {
    background: #242930;
}
.parallax-section {
    background-attachment: fixed !important;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.no-padding {
    padding: 0 !important;
}
.inline-block {
    display: inline-block;
}
.align-lf {
    align: left;
}
.margin-auto {
	margin: auto;
}
figure {
    margin: 0;
}
a {
    transition: all .2s ease-in 0s;
}
a:focus, a:hover {
    color: #c64c30;
}
.btn-main {
    background: #c64c30;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    letter-spacing: 1px;
    padding: 10px 35px;
    text-transform: uppercase;
}
.btn-main:hover {
    background: #2c9091;
    color: #fff;
}
.mt-100 {
    margin-top: 100px;
}
.mt-100 {
    margin-top: 100px;
}
.mt-80 {
    margin-top: 80px;
}
.mt-60 {
    margin-top: 60px;
}
.mt-50 {
    margin-top: 50px;
}
.mt-30 {
    margin-top: 30px;
}
.mt-20 {
    margin-top: 20px;
}
.mt-10 {
    margin-top: 10px;
}
.mt-5 {
    margin-top: 5px;
}
.mb-150 {
    margin-bottom: 150px;
}
.mb-100 {
    margin-bottom: 10%;
}
.mb-80 {
    margin-bottom: 80px;
}
.mb-60 {
    margin-bottom: 60px;
}
.mb-50 {
    margin-bottom: 50px;
}
.mb-30 {
    margin-bottom: 30px;
}
.mb-20 {
    margin-bottom: 20px;
}
.mb-10 {
    margin-bottom: 10px;
}
.mb-5 {
    margin-bottom: 5px;
}
.section {
    padding: 150px 0;
}
@media (max-width: 480px) {
    .section {
        padding: 50px 0;
    }
}
@media (max-width: 768px) {
    .section {
        padding: 50px 0;
    }
    .logohelga {
        width: 80%;
    }
    .logoTitle {
        font-size: 16px !important;
    }
    h2 {
        font-size: 30px !important;
    }
}
/*우측 하단 구매하기, 홈페이지 바로가기 버튼 관련*/
.floating-quick {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999999999999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
}

.btn_floating {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 178px;
    height: 52px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px solid rgba(198, 76, 48, 0.22);
    background: rgba(255, 248, 240, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 8px 24px rgba(91, 91, 91, 0.16);
    color: #5b5b5b;
    line-height: 1;
    text-align: center;
    transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}

.btn_floating span {
    display: block;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.btn_floating.ticket {
    background: #c64c30;
    border-color: #c64c30;
    color: #fff;
}

.btn_floating.home {
    background: rgba(255, 248, 240, 0.92);
    color: #c64c30;
}

.btn_floating:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(91, 91, 91, 0.22);
    color: inherit;
}

.btn_floating.ticket:hover {
    background: #b54329;
    color: #fff;
}

.btn_floating.home:hover {
    background: #fff4ec;
    border-color: rgba(198, 76, 48, 0.35);
    color: #c64c30;
}

@media (max-width: 768px) {
    .floating-quick {
        right: 16px;
        bottom: 16px;
        gap: 8px;
    }

    .btn_floating {
        min-width: 152px;
        height: 46px;
        padding: 0 16px;
    }

    .btn_floating span {
        font-size: 14px;
    }
}
/*end 우측 하단 구매하기, 홈페이지 바로가기 버튼 관련*/
.section-sm {
    padding: 70px 0;
}
.section-xs {
    padding: 50px 0;
}
.btn:focus {
    color: #ddd;
}
#home {
    position: relative;
}
.btn.active:focus, .btn:active:focus, .btn:focus {
    outline: 0;
}
.parallax-section {
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.preloader {
    background: #fff;
    height: 100%;
    left: 0;
    position: fixed;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sk-cube-grid {
    width: 40px;
    height: 40px;
}
.sk-cube-grid .sk-cube {
    width: 33%;
    height: 33%;
    background-color: #c64c30;
    float: left;
    -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
    animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
}
.sk-cube-grid .sk-cube1 {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}
.sk-cube-grid .sk-cube2 {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
}
.sk-cube-grid .sk-cube3 {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
}
.sk-cube-grid .sk-cube4 {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
}
.sk-cube-grid .sk-cube5 {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}
.sk-cube-grid .sk-cube6 {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
}
.sk-cube-grid .sk-cube7 {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}
.sk-cube-grid .sk-cube8 {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
}
.sk-cube-grid .sk-cube9 {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}
@-webkit-keyframes sk-cubeGridScaleDelay {
    0%, 70%, 100% {
        -webkit-transform: scale3D(1, 1, 1);
        transform: scale3D(1, 1, 1);
    }
    35% {
        -webkit-transform: scale3D(0, 0, 1);
        transform: scale3D(0, 0, 1);
    }
}
@keyframes sk-cubeGridScaleDelay {
    0%, 70%, 100% {
        -webkit-transform: scale3D(1, 1, 1);
        transform: scale3D(1, 1, 1);
    }
    35% {
        -webkit-transform: scale3D(0, 0, 1);
        transform: scale3D(0, 0, 1);
    }
}
.title {
    padding-top: 18%;
}
.title h2 {
    text-transform: capitalize;
    font-weight: 700;
    font-size: 38px;
    color: #004f44;
}
.title h2 span {
    color: #c64c30;
}
.title p {
    color: #666;
}
.title.title-white h2 {
    color: #fff;
}
.sub-title {
    padding: 40px 0;
}
.sub-title > h3 {
    border-left: 3px solid #ddd;
    border-right: 3px solid #ddd;
    display: inline-block;
    padding: 5px 25px;
    text-transform: uppercase;
}
.bg-gray {
    background: #f9f9f9;
}
.section-bg {
    background: #013d35;
}
.overly {
    position: relative;
}
.overly:before {
    content: '';
    background: rgba();
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.header-bradcrumb {
    background: transparent;
}
.header-bradcrumb a, .header-bradcrumb .active {
    color: #cfcfcf;
    font-weight: 200;
    font-family: "Quattrocento Sans", sans-serif;
}
.header-bradcrumb a:hover {
    color: #c64c30;
}
.slick-slide {
    outline: none;
}
/* CSS mfp-with-zoom class */
.mfp-with-zoom .mfp-container, .mfp-with-zoom.mfp-bg {
    opacity: 0;
    transition: all 0.3s ease-out;
}
.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}
.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: 0.8;
}
.mfp-with-zoom.mfp-removing .mfp-container, .mfp-with-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}
.mb-30 {
    margin-bottom: 30px;
}
.mb-40 {
    margin-bottom: 40px;
}
.mb-50 {
    margin-bottom: 50px;
}
.pagination li {
    margin: 5px;
    display: inline-block;
}
.pagination li a {
    background: #242930;
    border: 0;
    color: #fff;
}
.pagination li a:hover, .pagination li a.active {
    background: #c64c30;
    color: #fff;
}
.pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}
.pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}
.logo {
    margin-top: 10px;
    display: inline-block;
}
.single-page-header {
    background-image: url("../images/about/about-header.jpg");
    background-size: cover;
    padding: 140px 0 70px;
    text-align: center;
    color: #fff;
    position: relative;
}
.single-page-header:before {
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
}
/*=================================================================
  Navigation
==================================================================*/
.navigation {
/*    background-color: #47C4F4;*/
    width: 100%;
    z-index: 99;
    margin-bottom: 0;
    /*padding: 15px;*/
}
/* 네비 높이 변수 */
:root {
  --navH: 70px; /* JS가 실제 높이로 덮어씀(초기값) */
}
.navigation .logo {
    padding: 0;
    height: auto;
    margin-top: 0;
}
.navigation .logo img {
    height: auto;
    width: 140px;
}
.navigation .navigation-menu {
    height: 100% !important;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	width: 100%;
	justify-content: center;
	white-space: nowrap;
}
/*
.navigation .navigation-menu li.nav01 {
	background-image: url("../images/common/nav01.png");	
}
.navigation .navigation-menu li.nav02 {
	background-image: url("../images/common/nav02.png");
}
.navigation .navigation-menu li.nav03 {
	background-image: url("../images/common/nav03.png");
}
*/
.navigation .navigation-menu > li {
    flex: 1 1 0;      /* 3개 버튼이면 각각 1/3씩 폭 나눠가지게 */
    text-align: center;
}
.navigation .navigation-menu > li img {
    width: 100%;      /* li 너비에 맞춰서 이미지가 줄어듦 */
    height: auto;
    display: block;
	border: 0;
	padding: 0;
	margin: 0 auto;
}
/*네비게이션 버튼 클릭 후 해당 섹션에 머무를때*/
/*컬러로 지정*/
.navigation .navigation-menu > li.active > a {
  background-color: #eeeeee;
  color: #c64c30;
  font-weight: 700;
}
/*네비게이션이 col-3 일 때*/
/*
.navigation .navigation-menu li.nav01.active img {
    content: url("../images/common/nav01_active.png");
}

.navigation .navigation-menu li.nav02.active img {
    content: url("../images/common/nav02_active.png");
}

.navigation .navigation-menu li.nav03.active img {
    content: url("../images/common/nav03_active.png");
}
.navigation .navigation-menu li.nav01.active img {
    content: url("../images/common/nav01_active.png");
}
*/
/*네비게이션이 col-2 일 때*/
/*
.navigation .navigation-menu li.nav-col-02-02.active img {
    content: url("../images/common/col-2/nav02_active.png");
}

.navigation .navigation-menu li.nav-col-02-03.active img {
    content: url("../images/common/col-2/nav03_active.png");
}
*/
/*네비게이션 폰트
.navigation .navigation-menu li a {
    font-size: 30px;
    color: #fff;
}
*/
/* 네비게이션 버튼에 마우스 오버 효과 */
/*
.nav01 {
    position: relative;
    overflow: hidden;
}
.nav01 img {
    width: 100%;
    display: block;
    transition: 0.35s ease;
}
*/
.nav-inner {
    max-width: 750px;
    margin: 0 auto;        /* 가운데 정렬 */
    width: 100%;
	padding: 0 0px;
}
.navbar-toggle {
    border: 0px solid #fff;
    border-radius: 0;
    height: 63px;
    align-content: center;
}
.navbar-toggle span {
    background: #fff;
}
.navbar-collapse {
	padding: 0 0;
	border-top: 0;
	background-color: #c64c30;
}
/*모바일에서 네비가 collapse 로직에 의해 접히지 않도록 강제*/
@media (max-width: 767px) {
  #navigation .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
    visibility: visible !important;
  }
  #navigation .navbar-collapse.collapse.in {
    display: block !important;
  }
}
.bg-body {
/*    background-image: url("../images/banner/winter_03.jpg");*/
/*	background-color: #262626;*/
    background-repeat: no-repeat;
    background-size: cover;
	size: 100vw;
	height: auto;
	min-height: 100%;
}
.bg-sec01 {
/*    background-image: url("../images/banner/winter_03.jpg");*/
	background-color: #fff;
    background-repeat: no-repeat;
    background-size: cover;
	size: 100vw;
	height: 100vh;
}
.bg-sec02 {
/*    background-image: url("../images/banner/winter_04.jpg");*/
	background-color: #fff;
    background-repeat: no-repeat;
    background-size: cover;
	size: 100vw;
	height: 350vh;
}
.bg-sec03 {
/*    background-image: url("../images/banner/winter_05.jpg");*/
	background-color: #fff;
    background-repeat: no-repeat;
    background-size: cover;
	size: 100vw;
	min-height: 0;
	/*height: 160vh;*/
    /*background-attachment: fixed;*/
}
.bg-main {
/*    background-image: url("../images/banner/winter_01.jpg");*/
	background-color: #fff;
    background-repeat: no-repeat;
    background-size: cover;
	size: 100vw;
	height: 100vh;
}
.hero-area {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.hero-area .block {
    text-align: center;
    z-index: 99;
}
.hero-area .block .video-button a {
    background: #fff;
    display: inline-block;
    height: 60px;
    width: 60px;
    border-radius: 50px;
    line-height: 60px;
    font-size: 20px;
    margin-left: 3px;
    color: #f58a31;
}
.hero-area .block h1 {
    font-size: 90px;
    color: #fff;
    text-transform: capitalize;
    font-weight: 700;
    margin-bottom: 20px;
}
@media (max-width: 480px) {
    .hero-area .block h1 {
        font-size: 60px;
    }
}
.hero-area .block p {
    color: #fff;
    font-size: 20px;
    width: 70%;
    margin: 0 auto;
}
.hero-area .block img {
    width: 100%;
	height: auto;
}
.hero-area {
  position: relative;
}
.hero-bg img {
  width: 100%;
  height: auto;
  display: block;
}
.hero-contents {
  position: absolute;
  inset: 0;
  display: flex;
  align-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  max-width: 750px;
}
/*hero-title에 사이즈 지정하기*/
.hero-contents .gate-title {
    max-width: 750px;   /* 전체 디자인 기준에 맞게 조정 */
    width: 100%;        /* 모바일에서는 줄어들도록 */
    height: auto;
    display: block;
    margin: 0 auto;     /* 가운데 정렬 */
	/* 이미지 위치 지정 */
	position: absolute;
	left: 50%;
	top: 27%;
	transform: translate(-50%, -50%);/* 정중앙 보정 */
}
.hero-contents .gate-ice01{
    width: 16%;        /* 모바일에서는 줄어들도록 */
	/* 이미지 위치 지정 */
	position: absolute;
	left: 0%;
	top: 30%;
	z-index: 99;
}
.hero-contents .gate-ice02{
    width: 5%;        /* 모바일에서는 줄어들도록 */
	/* 이미지 위치 지정 */
	position: absolute;
	left: 94%;
	top: 27%;
	z-index: 99;
}
.hero-contents .gate-ice03{
    width: 3%;       /* 모바일에서는 줄어들도록 */
	/* 이미지 위치 지정 */
	position: absolute;
	left: 95%;
	top: 18%;
	z-index: 99;
}
/*260401 반짝이는 스파클링 효과*/
.sparkle {
    position: absolute;
    top: 0;
    left: 50%;
    width: min(750px, 100%);
    height: 100%;
	transform: translateX(-50%);
    pointer-events: none;
    overflow: hidden;
    z-index: 3;
}

.sparkle span {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(
      circle,
      rgba(255,255,255,1) 0%,
      rgba(255,245,210,0.8) 25%,
      rgba(255,235,180,0.35) 55%,
      rgba(255,235,180,0) 100%
    );
    transform: scale(0.4);
    animation: sparkleTwinkle ease-in-out infinite;
    will-change: transform, opacity;
}
/* 쨍한 하이라이트 반짝임 */
.sparkle span.is-sharp {
  background: none;
  position: absolute;
}

.sparkle span.is-sharp::before,
.sparkle span.is-sharp::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2px;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0),
    rgba(255,255,255,0.95),
    rgba(255,255,255,0)
  );
  transform: translate(-50%, -50%);
  border-radius: 2px;
}

.sparkle span.is-sharp::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* 쨍한 반짝임 애니메이션 */
.sparkle span.is-sharp {
  animation: sparkleSharp ease-in-out infinite;
}

@keyframes sparkleSharp {
  0%, 100% {
    opacity: 0;
    transform: scale(0.5);
  }
  40% {
    opacity: 1;
    transform: scale(1.2);
  }
  60% {
    opacity: 0.6;
    transform: scale(0.8);
  }
}
@keyframes sparkleTwinkle {
    0%, 100% {
        opacity: 0;
        transform: scale(0.4);
    }
    35% {
        opacity: 0.75;
        transform: scale(1);
    }
    55% {
        opacity: 0.35;
        transform: scale(0.75);
    }
}
/*end 반짝이는 스파클링 효과*/
.hero-video {
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.overlay {
    background-position: 80%;
}
.overlay::before {
    content: '';
    background: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    left: 0;
}
.dark-bg {
    background: rgba(0, 0, 0, 0.7);
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: -1;
}
.section01{
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
	width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
/*
	margin-top: -50px;
	padding-top: 100px;
*/
}
.section02{
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
	width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.section03{
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
	width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
	min-height: 100vh;
/*    min-height: 100svh;  iOS에서 더 안정적 */
	height: auto;
}
.container{
	padding: 0 0;
	width: 750px;
	overflow: hidden;
}
/* 배경 사이즈 유연하게 */
.hero-area .container {
    background-size: contain;  /* 가로 기준으로 꽉 채움 */
    background-repeat: no-repeat;
    background-position: top center;
}
.section01 .container,
.section02 .container,
.section03 .container {
    background-size: 100% auto;  /* 가로 기준으로 꽉 채움 */
    background-repeat: no-repeat;
    background-position: top center;
}
/*네이게이션 관련 추가 코드*/
.hero-area,
.section01,
.section02,
.section03 {
  overflow-x: hidden;
}
#navigation {
  will-change: transform;
}
/*=================================================================
  section01
==================================================================*/
.section01 .container img{
	width: 100%;
	height: auto;
	display: block;
}
/*Object에 사이즈 지정하기*/
.container .sec01-object {
    width: 100%;/* 모바일에서는 줄어들도록 */
	max-width: 750px; 
	/* 이미지 위치 지정 */
	position: absolute;
	top: 16%;
/*
	left: 50%;
	top: 21%;
	transform: translate(-50%, -50%); 정중앙 보정 
*/
	z-index: 99;
}
/* 버튼 마우스 오버 효과 */
/* event-button에 사이즈 지정하기 */
.container .event-button {
    width: 90%;/* 모바일에서는 줄어들도록 */
	max-width: 750px; 
	/* 이미지 위치 지정 */
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0%); /*정중앙 보정*/
	z-index: 99;
}
/* ticket-button에 마우스 오버 효과 */
.container .event-button {
    position: relative;
    overflow: hidden;
}
.container .event-button img {
    width: 100%;
    display: block;
    transition: 0.35s ease;
}
/* overlay 레이어 (기본은 투명) */
.container .event-button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    pointer-events: none;   /* 클릭 방해 X */
    transition: 0.35s ease;
}
.container .event-button::after {
    background: var(--overlay, rgba(0,0,0,0));
}
/* 이벤트 배너 모서리 둥글게 */
.container .event-button {
    position: relative;
    overflow: hidden;
    border-radius: 21px;      /* 원하는 둥글기 */
}
/* 이미지 둥글게 유지 */
.container .event-button img {
    width: 100%;
    display: block;
    transition: 0.35s ease;
    border-radius: 21px;      /* 동일 radius 적용 */
}
/* overlay도 동일 radius를 가져야 깔끔하게 둥글어짐 */
.container .event-button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    border-radius: 21px;      /* 여기 매우 중요! */
    pointer-events: none;
    transition: 0.35s ease;
}
/*=================================================================
  section01
==================================================================*/
.section01-innner{
/*	margin-top: -50px;*/
	margin-bottom: 7%;
}
.title-sec01{
	position: relative;
    z-index: 10;
	padding-top: 3%;
}
.section01-innner .full-pic{
	margin: 3% auto;
}

.section02 .container{
  position: relative;   /* ⭐ absolute 자식들의 기준점 */
  overflow: hidden;     /* ⭐ 750px 밖 잘라내기 */
}
.section02 .container img{
	width: 100%;
	height: auto;
}
.section02 .row{
  margin-left: 0;
  margin-right: 0;
}
/* ticket-button에 사이즈 지정하기 */
.container .ticket-button {
    width: 90%;/* 모바일에서는 줄어들도록 */
	max-width: 750px; 
	/* 이미지 위치 지정 */
	position: absolute;
	left: 50%;
	transform: translate(-50%, -140%); /*정중앙 보정*/
	z-index: 99;
}
/* ticket-button에 마우스 오버 효과 */
.container .ticket-button {
    position: relative;
    overflow: hidden;
}
.container .ticket-button img {
    width: 100%;
    display: block;
    transition: 0.35s ease;
}
/* overlay 레이어 (기본은 투명) */
.container .ticket-button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    pointer-events: none;   /* 클릭 방해 X */
    transition: 0.35s ease;
}
.container .ticket-button::after {
    background: var(--overlay, rgba(0,0,0,0));
}
/* 이벤트 배너 모서리 둥글게 */
.container .ticket-button {
    position: relative;
    overflow: hidden;
    border-radius: 16px;      /* 원하는 둥글기 */
}
/* 이미지 둥글게 유지 */
.container .ticket-button img {
    width: 100%;
    display: block;
    transition: 0.35s ease;
    border-radius: 16px;      /* 동일 radius 적용 */
}
/* overlay도 동일 radius를 가져야 깔끔하게 둥글어짐 */
.container .ticket-button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    border-radius: 16px;      /* 여기 매우 중요! */
    pointer-events: none;
    transition: 0.35s ease;
}
/*=================================================================
  section02
==================================================================*/
.section02-innner{
/*margin-top: -50px;*/
}
.title-sec02{
	position: relative;
    z-index: 10;
	padding-top: 3%;
}
.section02 .container{
  position: relative;   /* ⭐ absolute 자식들의 기준점 */
  overflow: hidden;     /* ⭐ 750px 밖 잘라내기 */
}
.section02 .container img{
	width: 100%;
	height: auto;
}
.section02 .row{
  margin-left: 0;
  margin-right: 0;
}
/* ticket-button에 사이즈 지정하기 */
.container .ticket-button {
    width: 90%;/* 모바일에서는 줄어들도록 */
	max-width: 750px; 
	/* 이미지 위치 지정 */
	position: absolute;
	left: 50%;
	transform: translate(-50%, -140%); /*정중앙 보정*/
	z-index: 99;
}
/* ticket-button에 마우스 오버 효과 */
.container .ticket-button {
    position: relative;
    overflow: hidden;
}
.container .ticket-button img {
    width: 100%;
    display: block;
    transition: 0.35s ease;
}
/* overlay 레이어 (기본은 투명) */
.container .ticket-button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    pointer-events: none;   /* 클릭 방해 X */
    transition: 0.35s ease;
}
.container .ticket-button::after {
    background: var(--overlay, rgba(0,0,0,0));
}
/* 이벤트 배너 모서리 둥글게 */
.container .ticket-button {
    position: relative;
    overflow: hidden;
    border-radius: 16px;      /* 원하는 둥글기 */
}
/* 이미지 둥글게 유지 */
.container .ticket-button img {
    width: 100%;
    display: block;
    transition: 0.35s ease;
    border-radius: 16px;      /* 동일 radius 적용 */
}
/* overlay도 동일 radius를 가져야 깔끔하게 둥글어짐 */
.container .ticket-button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    border-radius: 16px;      /* 여기 매우 중요! */
    pointer-events: none;
    transition: 0.35s ease;
}
/*=================================================================
  section03
==================================================================*/
.section03-innner{
	margin-top: -70px;
}
.section03 .container img{
	max-width: 100%;
/*    width: 100%;*/
    height: auto;
    display: block;
}
@media (max-width: 768px) {
    .section03 {
        display: block;       /* flex 해제 */
        justify-content: flex-start;
        align-items: flex-start;
    }

    .section03 .container {
        width: 100%;
        max-width: 100%;
    }
}
/* 이달의 놀거리 하단 이벤트 배너 슬라이드 */
.event-slider {
    width: 100%;
    max-width: 750px;       /* 필요하면 조정, 전체폭 쓰고 싶으면 이 줄 삭제 */
    margin: 20px auto 0;    /* 위 여백 20px, 가운데 정렬 */
}

.event-slider .slick-slide {
    outline: none;          /* 클릭시 파란 외곽선 제거 */
}

.event-slider img {
    max-width: 100%;
    width: 100%;
    height: auto;
}
/*이벤트 슬라이드 화살표*/
.event-slider .slick-prev,
.event-slider .slick-next {
    z-index: 2;
    width: 40px;
    height: 40px;
}

.event-slider .slick-prev {
    left: 10px;
}

.event-slider .slick-next {
    right: 10px;
}
.event-banner {
    padding-bottom: 4%;
}
.event-banner:last-child {
    padding-bottom: 7%;
}
/*event-banner 배치용 코드*/
.event-banner{
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}
/*
.event-banner .banner-wrap{
  position: relative; bg 기준 부모 
  width: 100%;
}
*/
.event-banner .banner-bg{
  position: relative;   /* 핵심: tit/txt 기준 부모 */
  width: 100%;
  padding: 0 2%;
  box-sizing: border-box;
}
.event-banner .banner-bg img{
  display:block;
  width:100%;
}
.event-banner .banner-tit,
.event-banner .banner-txt{
  position: absolute;
  left: 6%;               /* 핵심: 반응형 */
  width: auto;
  transform-origin: left top;
  transform: scale(var(--banner-scale, 1));
}
.event-banner .banner-tit{
	top: 17%;/* 위치는 여기서 조정 */
}
.event-banner .banner-txt{
	top: 40%;/* 위치는 여기서 조정 */
}
.event-banner .banner-tit img,
.event-banner .banner-txt img{
  display: block;
  width: auto;
  max-width: none;
  height: auto;
}
/*짝수일때만 우측 정렬로 변경*/
.event-banner:nth-child(even) .banner-tit,
.event-banner:nth-child(even) .banner-txt{
  left: 44%;
  width: auto;
  transform-origin: left top;
  transform: scale(var(--banner-scale, 1));
}
/*Object에 사이즈 지정하기*/
.container .sec02-object {
    width: 100%;/* 모바일에서는 줄어들도록 */
	max-width: 750px; 
	/* 이미지 위치 지정 */
	position: absolute;
	top: 1.5%;
	z-index: 1;
	pointer-events: none;
}
.container .sec02-object-L {
    /* 최대 사이즈 지정 및 모바일에서는 줄어들도록 */
	width: clamp(70px, 12vw, 120px); /* min, fluid, max */
	height: auto;
	/* 이미지 위치 지정 */
	position: absolute;
	top: 6%;
	left: -2px;
	z-index: 99;
}
.container .sec02-object-R {
    /* 최대 사이즈 지정 및 모바일에서는 줄어들도록 */
	width: clamp(70px, 12vw, 120px); /* min, fluid, max */
	height: auto;
	/* 이미지 위치 지정 */
	position: absolute;
	top: 7.3%;
	right: -2px;
	z-index: 99;
	justify-self: right;
}
/*Object에 사이즈 지정하기*/
.container .sec03-object {
    width: 100%;/* 모바일에서는 줄어들도록 */
	max-width: 750px; 
	/* 이미지 위치 지정 */
	position: absolute;
	top: 9%;
	z-index: 99;
}
.container .sec03-object-01 {
    width: 100%;/* 모바일에서는 줄어들도록 */
	max-width: 750px; 
	/* 이미지 위치 지정 */
	position: absolute;
	top: 7%;
	z-index: 99;
}
.container .sec03-object-02 {
    width: 100%;/* 모바일에서는 줄어들도록 */
	max-width: 750px; 
	/* 이미지 위치 지정 */
	position: absolute;
	top: 9%;
	z-index: 99;
}
/*footer/section03 사이가 “마진”으로 벌어지는 현상 처치*/
#section03 { margin-bottom: 0; padding-bottom: 0; }
.footer { margin-top: 0; }
.footer img, .section03 img { display:block; } /* 이미지 하단 baseline 틈 방지 */
/*=================================================================
  footer
==================================================================*/
.footer {
	z-index: 1;
	position: relative;
  	top: 0;          /* 제거 */
/*  	margin-top: -6%;    필요 시 조정 */
}
.footer .container {
	max-width: 750px;
/*	max-height: 150px;*/
	width: 100%;
	height: 100%;
	background-color: #6d1a0f;
	align-content: center;
}
.footer .container img{
	width: 100%;
	height: auto;
	opacity: 45%;
}
.footer .container .footer-warp {
	display: flex;
	justify-content: center;
	gap: 5%;
	padding: 10% 15%;
	align-items: flex-end;
}
/*=================================================================
  Single Blog Page
==================================================================*/
#blog-banner {
    padding-bottom: 100px;
    padding-top: 150px;
}
#blog-page {
    margin: 0 0 40px;
}
.post-meta {
    font-size: 13px;
    margin: 20px 0 0;
    padding: 0 20px 10px;
}
.post-meta a {
    color: #c64c30;
}
.post-meta > span {
    color: #666;
    border-right: 1px solid #dedede;
    display: inline-block;
    font-size: 13px;
    margin: 10px 10px 0 0;
    padding-right: 10px;
}
.post-meta > span:last-child {
    border-right: 0;
}
.post-meta > span i {
    margin-right: 5px;
}
.post-excerpt {
    padding: 0 20px;
    margin-bottom: 60px;
}
.post-excerpt h3 a {
    color: #000;
}
.post-excerpt blockquote {
    line-height: 22px;
    margin: 20px 0;
    font-size: 16px;
}
.single-blog {
    background-color: #fff;
    margin-bottom: 50px;
    padding: 20px;
}
.blog-subtitle {
    font-size: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #dedede;
    margin-bottom: 25px;
    text-transform: uppercase;
}
.next-prev {
    border-bottom: 1px solid #dedede;
    border-top: 1px solid #dedede;
    margin: 20px 0;
    padding: 25px 0;
}
.next-prev a {
    color: #000;
}
.next-prev a:hover {
    color: #c64c30;
}
.next-prev .prev-post i {
    margin-right: 10px;
}
.next-prev .next-post i {
    margin-left: 10px;
}
.social-profile ul li {
    margin: 0 10px 0 0;
    display: inline-block;
}
.social-profile ul li a {
    color: #4e595f;
    display: block;
    font-size: 16px;
}
.social-profile ul li a i:hover {
    color: #c64c30;
}
.comments-section {
    margin-top: 35px;
}
.author-about {
    margin-top: 40px;
}
.post-author {
    margin-right: 20px;
}
.post-author > img {
    border: 1px solid #dedede;
    max-width: 120px;
    padding: 5px;
    width: 100%;
}
.comment-list ul {
    margin-top: 20px;
}
.comment-list ul li {
    margin-bottom: 20px;
}
.comment-wrap {
    border: 1px solid #dedede;
    border-radius: 1px;
    margin-left: 20px;
    padding: 10px;
    position: relative;
}
.comment-wrap .author-avatar {
    margin-right: 10px;
}
.comment-wrap .media .media-heading {
    font-size: 14px;
    margin-bottom: 8px;
}
.comment-wrap .media .media-heading a {
    color: #c64c30;
    font-size: 13px;
}
.comment-wrap .media .comment-meta {
    font-size: 12px;
    color: #888;
}
.comment-wrap .media p {
    margin-top: 15px;
}
.comment-reply-form {
    margin-top: 80px;
}
.comment-reply-form input, .comment-reply-form textarea {
    height: 35px;
    border-radius: 0;
    box-shadow: none;
}
.comment-reply-form input:focus, .comment-reply-form textarea:focus {
    box-shadow: none;
    border: 1px solid #c64c30;
}
.comment-reply-form textarea, .comment-reply-form .btn-main {
    height: auto;
}
/*=================================================================
  Footer section
==================================================================*/
.social-icon {
    padding: 60px 0 35px;
}
.social-icon ul {
    text-align: center;
}
.social-icon ul li {
    margin-bottom: 4px;
}
.social-icon ul li:hover a {
    background-color: #c64c30;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
}
.social-icon ul li:hover a i {
    color: #fff;
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
}
.social-icon ul li a {
    background-color: #26292e;
    border: 1px solid transparent;
    display: block;
    height: 70px;
    width: 70px;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    transition: all 400ms ease-out 0s;
}
@media (max-width: 768px) {
    .social-icon ul li a {
        width: 55px;
        height: 55px;
    }
}
.social-icon ul li a i {
    color: #55606a;
    display: inline-block;
    font-size: 32px;
    line-height: 70px;
    margin: 0;
    opacity: 0.3;
    filter: alpha(opacity=30);
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    transition: all 400ms ease-out 0s;
}
@media (max-width: 768px) {
    .social-icon ul li a i {
        line-height: 55px;
        font-size: 25px;
    }
}
.copyright {
    padding: 70px 0;
    color: #fff;
}
.copyright img {
    margin-bottom: 15px;
}
.copyright p {
    margin-top: 10px;
}
#scrollUp {
    border: 1px solid #4e595f;
    bottom: 15px;
    color: #fff;
    display: none;
    padding: 8px 12px;
    position: fixed;
    right: 20px;
    z-index: 600;
}
#scrollUp:hover {
    background-color: #c64c30;
    border: 1px solid #c64c30;
}
/*=================================================================
	Twitter Feed
==================================================================*/
#twitter-feed {
    background-image: url("../images/parallax/twitter.jpg");
    padding-bottom: 100px;
    padding-top: 80px;
}
.twitter-bird span {
    border: 2px solid #6cb670;
    border-radius: 50px;
    color: #6cb670;
    display: inline-block;
    margin-bottom: 50px;
    height: 90px;
    width: 90px;
}
.twitter-bird span i {
    line-height: 90px;
}
.tweet {
    margin-bottom: 10px;
}
.tweet a {
    color: #6cb670;
}
/*=================================================================
	Blog Page
==================================================================*/
#blog-banner {
    padding-bottom: 100px;
    padding-top: 150px;
}
.blog-icon {
    border: 1px solid #6CB670;
    border-radius: 50%;
    color: #6CB670;
    display: inline-block;
    padding: 16px 20px;
}
.blog-title h1 {
    text-transform: uppercase;
}
#blog-page {
    margin: 0 0 40px;
}
.post-item .entry {
    border: 1px solid #4e595f;
    margin-bottom: 30px;
}
.entry .post-excerpt {
    padding: 0 20px;
}
#gallery-post .owl-prev, #post-thumb .owl-prev, #gallery-post .owl-next, #post-thumb .owl-next {
    padding: 5px 17px;
    position: absolute;
    top: 45%;
    transition: all .5s ease-in 0s;
}
#gallery-post .owl-prev, #post-thumb .owl-prev {
    left: -45px;
}
#gallery-post .owl-next, #post-thumb .owl-next {
    right: -45px;
}
#gallery-post:hover .owl-prev, #post-thumb:hover .owl-prev {
    left: 0;
}
#gallery-post:hover .owl-next, #post-thumb:hover .owl-next {
    right: 0;
}
#gallery-post, #post-thumb {
    overflow-x: hidden;
}
#post-thumb .owl-buttons {
    color: #fff;
}
.post-meta {
    background-color: #3d444a;
    border-top: 1px solid #4e595f;
    font-size: 13px;
    margin: 20px 0 0;
    padding: 0 20px 10px;
}
.post-meta > span {
    border-right: 1px solid #4e595f;
    display: inline-block;
    font-size: 12px;
    margin: 10px 10px 0 0;
    padding-right: 10px;
}
.post-meta > span:last-child {
    border-right: 0;
}
.post-meta > span > i {
    margin-right: 5px;
}
.post-meta a:hover {
    color: #6CB670;
}
.post-excerpt .more {
    margin-top: 20px;
}
.post-excerpt .more a {
    display: inline-block;
    font-size: 13px;
    padding: 10px 25px;
}
.post-excerpt .more a:hover {
    background-color: #6CB670;
    color: #fff;
}
aside.widget {
    margin-bottom: 25px;
}
.widget-title > h3 {
    color: #fff;
    margin-bottom: 15px;
    margin-top: 0;
    position: relative;
}
#search-form {
    position: relative;
}
#search-submit {
    background: none;
    border: 0;
    color: #C8C8CA;
    display: block;
    font-size: 16px;
    height: 32px;
    outline: 0;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 32px;
}
.widget-content .tab-content {
    background-color: #2f383d;
    padding: 20px;
}
.tab-post-nav {
    background-color: #4A535A;
}
.tab-post-nav li {
    float: left;
}
.tab-post-nav li.active a {
    border-top: 3px solid #6cb670;
    background-color: #2F383D;
    color: #6CB670;
}
.tab-pane.active .clearfix:first-child {
    margin-bottom: 25px;
}
.tab-excerpt > span {
    display: block;
    font-size: 12px;
    margin-bottom: 10px;
}
.tab-excerpt h4 a {
    color: #fff;
}
.tab-excerpt h4 a:hover {
    color: #6cb670;
}
.tab-post-nav li a {
    border-top: 3px solid transparent;
    color: #fff;
    display: block;
    padding: 13px 18px;
    text-align: center;
}
.categories li {
    margin-bottom: 10px;
    transition: all .5s ease-in 0s;
}
.categories > li:hover a {
    padding-left: 10px;
    color: #6CB670;
}
.categories > li:last-child {
    border-bottom: 0;
}
.categories li a {
    padding-left: 5px;
}
.widget-content .tag {
    background-color: #2F383D;
    color: #fff;
    display: inline-block;
    margin-bottom: 10px;
    margin-right: 5px;
    padding: 5px 13px;
}
.widget-content .tag:hover {
    background-color: #6CB670;
    color: #fff;
}
.post-pagination {
    display: inline-block;
    margin-bottom: 20px;
}
.post-pagination ul li {
    margin-right: 5px;
    float: left;
}
.post-pagination ul li:last-child {
    margin-right: 0;
}
.post-pagination ul li.disabled a {
    cursor: not-allowed;
}
.post-pagination ul li.disabled a:hover {
    background-color: #2E373C;
    color: #9aa8b3;
}
.post-pagination ul li a {
    background-color: #30393e;
    color: #9aa8b3;
    display: block;
    padding: 8px 18px;
}
.post-pagination ul li a:hover, .post-pagination ul li.active a {
    background-color: #6CB670;
    color: #fff;
}
/*=================================================================
	Single Blog Page
==================================================================*/
.single-blog {
    background-color: #fff;
    margin-bottom: 50px;
    padding: 20px;
}
blockquote {
    border-left: 5px solid #6cb670;
    font-style: italic;
    line-height: 22px;
    margin: 20px 0;
}
.next-prev {
    border-bottom: 1px solid #4e595f;
    border-top: 1px solid #4e595f;
    margin: 20px 0;
    padding: 15px 0 10px;
}
.next-prev a:hover {
    color: #6CB670;
}
.prev-post i {
    float: left;
    margin-right: 10px;
    margin-top: -4px;
}
.next-post i {
    float: right;
    margin-left: 10px;
    margin-top: -3px;
}
.post-author {
    margin-right: 20px;
}
.post-author > img {
    border: 1px solid #4e595f;
    max-width: 120px;
    padding: 5px;
    width: 100%;
}
.comment-reply-form > h3, .author-about > h4, .comments > h4 {
    border-bottom: 1px solid #4e595f;
    margin-bottom: 15px;
    margin-top: 0;
    padding-bottom: 10px;
    position: relative;
}
.author-bio h5 {
    display: inline-block;
}
.post-item .comments-section {
    margin-top: 35px;
}
.comment-list ul {
    margin-top: 20px;
}
.comment-list li {
    margin-bottom: 20px;
}
.comment-wrap {
    border: 1px solid #4e595f;
    border-radius: 1px;
    margin-left: 20px;
    padding: 10px;
    position: relative;
}
.comment-wrap .author-avatar {
    margin-left: -25px;
    margin-right: 20px;
}
.author-comment {
    margin-bottom: 15px;
    overflow: hidden;
}
.author-comment cite a:hover, .replay:hover {
    color: #6CB670;
    text-decoration: underline;
}
.author-comment cite {
    margin-bottom: 2px;
    padding-top: 4px;
}
.comment-content {
    margin-left: 45px;
}
.comment-list ul li {
    padding-left: 25px;
}
.comment-reply-form {
    margin-top: 80px;
}
#comment-form {
    margin-top: 35px;
}
#comment-form .form-control:hover {
    border-color: #6CB670;
}
.form-group:last-child, .form-group:last-child input {
    margin: 0;
}
.video-container {
    position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
/*	padding-bottom: 56.25%;*/	
}
.video-container iframe {
    position: absolute;
    inset: 0;
	top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	max-width: 750px;
	max-height: 430px;
	margin: 0 auto;	
}
/*250311 산하엽 폰트 추가*/
.diphylleia-regular {
    font-family: "Diphylleia", serif;
    font-weight: 600;
    font-style: normal;
}
/*네비가 section01을 덮게*/
#navigation.navbar,
#navigation {
  margin-bottom: 0 !important;
}
#navigation {
	position: -webkit-sticky;
    position: sticky;
    top: 0;
  /*position: relative;*/
    z-index: 100;
}

/* 3) 네비 내부 폭 750px로 제한 + 중앙정렬 */
#navigation .nav-inner{
  max-width: 750px;
  margin: 0 auto;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
/* 4) (중요) navigation display:inline-table 등 sticky 불안정 요소 제거 */
.navigation{
  display: block !important;
  width: 100%;
}
/* section01 영상은 일반 콘텐츠 영상 */
.section01 .hero-video{
  position: static;   /* absolute 제거 */
  transform: none;
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;
  display: block;
}
/*릴스영역 영상재생*/
.video-wrap{
  position: relative;
  max-width: 615px;
  margin: 16px auto 0;
/*  border-radius: 16px;*/
  overflow: hidden;
  background: #c6e9ff;
  z-index: 30;
  padding: 0 43px;
}

.video-wrap video{
  width: 80%;
  height: auto;
  display: block;
}

/* 공통 버튼 */
.video-play-btn{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,0.25);
  border: 0;
  cursor: pointer;
  max-width: 615px;
  margin: 0 43px;
}

/* ▶ 아이콘 */
.video-play-btn .play-icon{
  background: url("../images/common/play-icon.png") no-repeat center / contain;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  position: relative;
}

/*
.video-play-btn .play-icon::after{
  content: "";
  position: absolute;
  left: 26px;
  top: 18px;
  border-style: solid;
  border-width: 14px 0 14px 22px;
  border-color: transparent transparent transparent #000;
}
*/

/* 재생 중 버튼 숨김 */
.video-wrap.is-playing .video-play-btn{
  display: none;
}
/* 재생 중 hover UI(오버레이 + 컨트롤 버튼) */
.video-hover-ui{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  background: rgba(0,0,0,0.35);
  transition: opacity 0.2s ease;
  margin: 0 43px;
}

/* “재생 중 + 마우스가 올라왔을 때”만 노출 */
.video-wrap.is-playing:hover .video-hover-ui{
  opacity: 1;
  pointer-events: auto;
}

/* 버튼 디자인(가장 흔한 타입: 반투명 라운드) */
.video-toggle-btn{
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  background: rgba(255,255,255,0.92);
  cursor: pointer;
  font-weight: 600;
}

/* 모바일(hover 없는 환경)에서는 hover UI 비활성화(유령 hover 방지) */
@media (hover: none) and (pointer: coarse){
  .video-wrap.is-playing:hover .video-hover-ui{
    opacity: 0;
    pointer-events: none;
  }
}
#sec01Video { position: relative; }

#sec01Video .video-hover-ui{
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

/* PC 마우스오버 시 노출 */
#sec01Video:hover .video-hover-ui{
  opacity: 1;
  pointer-events: auto;
}

/* 자세히보기 버튼 스타일 (원하시면 이미지/SVG 적용도 가능) */
#sec01Video .video-detail-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 20px 50px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
#sec01Video .video-detail-btn:hover{ opacity: .85; }
/*# sourceMappingURL=maps/style.css.map */
/* Safari 포함: sec02 오브젝트 이미지가 부모 폭을 무조건 따라가게 */
.section02 .sec02-object-L img{
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
.section02 .sec02-object-R img{
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
/*======260401 애니메이션 효과 코드======*/
.motion-fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s ease, transform .8s ease;
  will-change: opacity, transform;
}

.motion-fade-up.is-show {
  opacity: 1;
  transform: translateY(0);
}

/* 섹션 타이틀은 살짝 느리게 */
.section01 .title.motion-fade-up,
.section01 .sub-title.motion-fade-up,
.section02 .title.motion-fade-up,
.section02 .sub-title.motion-fade-up {
  transition-duration: .85s;
}

/* 배너는 카드처럼 */
.event-banner.motion-fade-up {
  transition-duration: .75s;
}

.event-banner.motion-fade-up.is-show:hover {
  transform: translateY(-4px);
}

/* 네비 active 전환도 조금 더 자연스럽게 */
.navigation .navigation-menu > li > a {
  transition: background-color .2s ease, color .2s ease;
}
/* ===== hero fade order ===== */
.hero-area .hero-bg {
  opacity: 0;
  transition: opacity .9s ease;
}

.hero-area .hero-bg.is-show {
  opacity: 1;
}

/* hero title은 원래 위치 유지 + 배경보다 늦게 */
.hero-area .gate-title.motion-fade-up {
  opacity: 0;
  transform: translate(-50%, calc(-50% + 10px)); /*아래에서 위로 움직이는 모션 효과 추가*/
}
/* is-show가 붙으면
   opacity는 천천히,
   transform은 따로 반동 애니메이션 */
.hero-area .gate-title.motion-fade-up.is-show {
  opacity: 1;
  transition: opacity 1.35s ease-out;
  animation: heroTitleBounce 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.hero-area .btn.btn-transparent.motion-fade-up.is-show {
  opacity: 1;
  transform: translate(-50%, -50%);
}
/*타이틀 반동 조절*/
@keyframes heroTitleBounce {
  0% {
    transform: translate(-50%, calc(-50% + 10px));
  }
  58% {
    transform: translate(-50%, calc(-50% - 3px));
  }
  95% {
    transform: translate(-50%, calc(-50% + 1px));
  }
  100% {
    transform: translate(-50%, -50%);
  }
}
/* section03 banner 내부 텍스트 모션 */
/* section03 banner 내부 텍스트 모션 - 박스 말고 img만 */
.section03 .banner-tit img,
.section03 .banner-txt img {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .65s ease, transform .65s ease;
  will-change: opacity, transform;
}

.section03 .banner-tit.is-show img,
.section03 .banner-txt.is-show img {
  opacity: 1;
  transform: translateY(0);
}

/* tit이 txt보다 먼저 */
.section03 .banner-tit.is-show img {
  transition-delay: .12s;
}

.section03 .banner-txt.is-show img {
  transition-delay: .24s;
}
/* ===== quick cta ===== */
.quick-cta-dim {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  z-index: 9998;
}

.quick-cta-dim.is-on {
  opacity: 1;
  pointer-events: auto;
}

.quick-cta {
  position: fixed;
  right: max(16px, calc((100vw - min(750px, 100vw)) / 2 + 16px));
  bottom: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}

.quick-cta-item {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(198, 76, 48, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: width .28s ease, transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
  cursor: pointer;
}

.quick-cta-item.ticket {
  background: rgba(198, 76, 48, 0.94);
  color: #fff;
}

.quick-cta-item.home {
  background: rgba(255, 255, 255, 0.94);
  color: #c64c30;
}

.quick-cta-item.is-open {
  width: 156px;
}

.quick-cta-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
}

.quick-cta-icon {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
}

.quick-cta-icon img {
  width: 22px;
  height: 22px;
  display: block;
}

.quick-cta-text {
  white-space: nowrap;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.02em;
  opacity: 0;
  transform: translateX(6px);
  transition: opacity .18s ease, transform .18s ease;
  padding-right: 18px;
}

.quick-cta-item.is-open .quick-cta-text {
  opacity: 1;
  transform: translateX(0);
}

@media (max-width: 768px) {
  .quick-cta {
    right: 16px;
    bottom: 16px;
    gap: 10px;
  }

  .quick-cta-item {
    width: 52px;
    height: 52px;
  }

  .quick-cta-item.is-open {
    width: 160px;
  }

  .quick-cta-icon {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
    font-size: 20px;
  }

  .quick-cta-text {
    font-size: 14px;
    padding-right: 16px;
  }
}