/* Scroll Animation */
@media(prefers-reduced-motion: no-preference) and (max-width:1279px){
	[scroll_effect="clip_right"]{ clip-path: inset(0 100% 0 0); transition: clip-path .6s, opacity .6s;; }
	[scroll_effect="slide_up"]{ transform: translateY(20px); opacity: 0; transition: transform .6s, opacity .6s; }
	[scroll_effect="slide_left"]{ transform: translateX(20px); opacity: 0; transition: transform .6s, opacity .6s; }
	[scroll_effect="slide_right"]{ transform: translateX(-20px); opacity: 0; transition: transform .6s, opacity .6s; }
	[scroll_effect="clip_right"].effect_active{ clip-path: inset(0); }
	[scroll_effect*="slide_"].effect_active{ transform: translate(0); opacity: 1; }
	[scroll_effect_delay="50"]{ transition-delay: .05s; }
	[scroll_effect_delay="100"]{ transition-delay: .1s; }
	[scroll_effect_delay="150"]{ transition-delay: .15s; }
	[scroll_effect_delay="200"]{ transition-delay: .2s; }
	[scroll_effect_delay="250"]{ transition-delay: .25s; }
	[scroll_effect_delay="300"]{ transition-delay: .3s; }
	[scroll_effect_delay="350"]{ transition-delay: .35s; }
	[scroll_effect_delay="400"]{ transition-delay: .4s; }
	[scroll_effect_delay="450"]{ transition-delay: .45s; }
	[scroll_effect_delay="500"]{ transition-delay: .5s; }
	@media(max-width:767px){
		[scroll_effect_delay]{ transition-delay: 0s; }
	}
	@keyframes svgAni {
		0% { stroke-dashoffset: var(--stroke-dash); }
		100% { stroke-dashoffset: 0; }
	}
	svg.scroll_effect{ stroke-dasharray: var(--stroke-dash); stroke-dashoffset: var(--stroke-dash); opacity: 1; transform: translate(0) }
	svg.active{ animation: svgAni 1s linear both; }
}

.inr{ position: relative; margin: 0 auto; max-width: 87.5em; width: 92%; z-index: 2; }
.inr.wide{ max-width: 106.25em; }
.wrapper{margin: 0 auto; max-width: 87.5em; width: 92%; }

/* header */ 
:root{
	--header_height: 8.5rem;
}
.header{ height: var(--header_height); }
#header{ z-index:99; position:relative; width:100%; }
#header .hidden {display:none;}
#header .inr{ display: flex; justify-content: space-between; align-items: center; height: 100%; }
#header h1{ display: inline-block; position:relative; }
#header h1 a{ display: block; font-size: 0; }
#header h1 img{ height: calc( var(--header_height) * .48 ); min-height: 2.85714286em; font-size: 1em; }
#header nav{ display: flex; justify-content: center; align-items: center; position: absolute; inset: 0; height: 100%; pointer-events: none; }
#header .gnb{ position:relative; height: 100%; }
#header .gnb > li{display:inline-block; position: relative; height: 100%; pointer-events: auto; }
#header .gnb > li > a{ display:flex; align-items: center; height:100%; padding:0 1.90104167vw; font-size:var(--font_size20); font-weight:700; }
#header .gnb > li:hover > a{ color: var(--primary); }
#header .gnb > li > .sub_menu{ visibility: hidden; position:absolute; top: 75%; min-width: 120px; width: max-content; left: 50%; transform: translateX(-50%); background:#fff; border:1px solid #ddd; z-index:99; opacity: 0; }
#header .gnb li:hover .sub_menu{ visibility: visible; top: 80%; opacity: 1; }
#header .gnb .sub_menu li a{ display: block; padding:14px; color:#333; border-top:1px solid #ddd; font-size:14px; text-align:center }
#header .gnb .sub_menu li a:hover{ background: var(--primary); color: #fff; }
#header .gnb .sub_menu li:first-child a{border-top:0 }

/* header link */
.header_link{ display: flex; align-items: center; gap: .625em; }
.header_link-a{ display: inline-block; width: 2.5em; height: 2.5em; background: no-repeat 50% / calc(100% + 1px); border: 1px solid #111; border-radius: 50%; box-sizing: border-box; }
.header_link-a.blog{ background-image: url(/images/common/icon_blog.png); }
.header_link-a.shop{background-image: url(/images/common/icon_shop2.png);border-color: #9c145d;}
.header_link-a.tistory{ background-image: url(/images/common/icon_tistory.png); }
.header_link-a.rsvp{background-image: url(/images/common/icon_rsvp2.png);border-color: #084b27;}

/* mobile-menu */
.btn_menu{ display: none; align-items: center; gap: .5em; position:relative; z-index:90; padding: 8px; background: 0; box-sizing: border-box; color: inherit; }
.btn_menu-icon{ display: flex; flex-direction: column; justify-content: space-around; position:relative; width:24px; height:24px; }
.btn_menu span{ display:block; width:100%; height:2px; background: currentColor; }

/* 모바일 메뉴 */
.m_gnb{overflow: hidden auto; position:fixed; top:0px; right: 0; transform: translateX(100%); max-width:280px; width: 100%; height:100%; background:var(--white); transition-timing-function: ease-out; z-index:999;}
.m_gnb .hidden {text-indent:0;}
.m_gnb .header{ display: flex; align-items: center; justify-content: flex-end; height: var(--header_height); }
.m_gnb > ul > li > a{display:block; position:relative; padding:15px 25px; border-bottom: 1px solid #eaeaea; color:#424242; transition:all 0.3s ease 0s;}
.m_gnb > ul > li:first-child > a{ border-top: 1px solid #eaeaea }
.m_gnb > ul > li > a.open:before{content:''; display:block; position:absolute; top:50%; transform: translateY(-50%); right:10px; width:11px; height:7px; background:url(../images/common/menu_button.svg) no-repeat 50% 0; transition:all 0.4s ease 0s; background-size:100%;}
.m_gnb > ul > li > a.active:before{transform: translateY(-50%) rotate(180deg);}
.m_gnb .sub_menu{display:none; background:#efefef; }
.m_gnb .sub_menu > li{border-bottom:1px solid #dedede;}
.m_gnb .sub_menu > li > a{position:relative; display:block; padding:15px 25px; font-size:14px; color:var(--black); }
.m_gnb .btn_close{opacity: 0; flex: 0 0 25px; display: block; position:relative; margin-right: -100vw; width:24px; height:24px; background: 0; font-size:0px; }
.m_gnb.active{transform: translateX(0);}
.m_gnb.active .btn_close{opacity:1; margin-right: 15px }
.m_gnb .btn_close:before,
.m_gnb .btn_close:after{content: ''; display:block; position:absolute; top:50%; left:0px;  width:100%; height:1px; background:var(--black); transform: translateY(-50%) rotate(45deg);}
.m_gnb .btn_close:after{ transform: translateY(-50%) rotate(-45deg) }
.cover{position: fixed; width: 100%; height:100%; left:0; top:0; background:rgba(0, 0, 0, 0.4); z-index:995; visibility: hidden; opacity: 0; }
.cover.active{visibility: visible; opacity: 1 }
@media(prefers-reduced-motion: no-preference){
	#header .gnb > li > .sub_menu{ transition: .3s; }
	.m_gnb{ transition-duration: .5s; }
	.m_gnb .btn_close{ transition: .8s; }
	.cover{ transition: .4s; }
}
@media(max-width:1279px){
	:root{
        --header_height: 4.64285714rem;
	}
	#header .gnb{ display: none; }
	.btn_menu{ display: inline-flex; }
}
@media(min-width:1280px) and (max-height:950px) and (min-height:801px){
	:root{
		--header_height: 6rem;
	}
}
@media(min-width:1280px) and (max-height:799px){
	:root{
		--header_height: 80px;
	}
	#header{ font-size: 16px; }
	#header h1 img{ height: 50px; }
}

/* footer */
#footer{ padding: 56px 0 54px; background: #111; color: #fff; }
.footer__inr{ display: flex; justify-content: center; row-gap: 1em; }
.footer__info{ font-size: 14px; opacity: .5; }
.footer__address{ display: flex; flex-wrap: wrap; column-gap: 33px; margin-top: 7px; line-height: 2.14285714; }
.footer__address span{ position: relative; }
.footer__address span:nth-of-type(4){ flex: 1 100%; }
.footer__address span + span::before{ content: ''; position: absolute; margin: auto auto auto -15.5px; inset: 0; height: 12px; border-left: 1px solid rgba(255, 255, 255, 0.2); pointer-events: none; }
.footer__address span:nth-of-type(4)::before,
.footer__address span:nth-of-type(5)::before{ display: none; }
.footer__info-copyright{ margin-top: 4px; }
@media(min-width:1280px){
	.footer__inr{ column-gap: 11.45833333vw; padding-left: 14px; }
	.footer__info-logo{ margin-top: -5px; }
	.footer__address{ min-width: 552px; width: min-content; }
}
@media(max-width:1279px){
	.footer__inr{ column-gap: 7vw; }
	.footer__info-logo{ width: 10rem; }
	.footer__address span + span::before{ display: none; }
}
@media(max-width:767px){
	.footer__inr{ flex-direction: column; }
}