/* vars */
body {
	--heffner-header-reduced: 1; /* tracker var */
	--heffner-header-full-padding: 15px;
	--heffner-header-reduced-padding: 5px;
	
	--heffner-header-bg: #21252A;
	--heffner-header-bg-faded: #21252A44;

	--heffner-header-text-color: #FFFFFF;
	--heffner-header-hover-text-color: #FFFFFF;
	
	--heffner-header-border-line-color: #d4d4d4;
	
	--heffner-header-active-text-color: #e5e4e2;
	
	--heffner-header-button-text-color: #FFFFFF;
	--heffner-header-button-bg-color: #546782;
	--heffner-header-button-bg-hover-color: #40536F;
	
	--heffner-header-mobile-text-size: 20px;
	--heffner-header-mobile-menu-border-color: #FFFFFF; 
	--heffner-header-border-highlight: #FFFFFF;
	--heffner-header-sub-border-highlight: #FFFFFF;
}
/*undo fast header start*/
#et-boc:has(#header-section #header-menu-loc>#header-menu) #header-section.et_pb_section>.et_pb_row { display:block !important; }
#et-boc:has(#header-section #header-menu-loc>#header-menu) #header-section::after { content: none !important; }
/*undo fast header end*/

/*hide scrollbars*/
.hide-scrollbar::-webkit-scrollbar {width: 0 !important;}
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
/*hide scrollbar end*/
#et-boc>header>div>#header-section .heff-header-holding { display:none !important; }

#header-left-side-flexer, #header-left-side-visit-flexer, #header-right-side-flexer, #header-right-side-socials-flexer, #header-menu-flexer, #header-right-side-contact-loc, #header-left-side-icon-vis-flexer, #header-left-side-socials-flexer, #header-right-side-contact-flexer, #header-row, #header-menu-row { display: flex; }
#header-left-side-flexer, #header-left-side-visit-flexer, #header-right-side-flexer, #header-right-side-socials-flexer, #header-menu-flexer, #header-right-side-contact-loc, #header-left-side-icon-vis-flexer, #header-left-side-socials-flexer, #header-right-side-contact-flexer { align-items: center; }
#header-row { width:100%; justify-content: space-between; }
#header-left-side-flexer, #header-right-side-flexer, #header-menu-flexer { height:100% !important; }
#header-left-side-flexer { justify-content: space-between; }

#header-section  :is(p,b,u,h1,h2,h3,h4,h5,h6,span,a) { color:#ffffff; color:var(--heffner-header-text-color, #ffffff);}
#header-row  :is(p,b,u,h1,h2,h3,h4,h5,h6,span,a) { font-size: 18px !important;}
#header-menu-flexer,#header-menu-loc,#header-menu-flexer :is(.et_pb_menu__menu, .et-menu-nav) { width:100% }
#header-menu-flexer .et-menu-nav { justify-content:center; }
#header-menu-flexer .et-menu-nav>.et-menu { justify-content:space-evenly; width:100%; }

#header-row-holder .menu-item-has-children a { color:#ffffff !important; color:var(--heffner-header-text-color, #ffffff) !important}
#header-row-holder .menu-item-has-children .sub-menu, #header-row .menu-item-has-children .sub-menu li { padding:0;}

#header-row-holder { 
	padding: 2% 0; 
	padding: var(--heffner-header-row-padding, 2%) 0;
	width:100%; 
    height: 100%;
    display: flex;
	flex-direction: column;
    position: relative;
}

#header-row-holder>#header-menu-row {
	width:100%; 
    height: 50px;
    position: relative;
}

#header-row-holder>#header-menu-row #header-menu div.mobile_nav ul.et_mobile_menu { 
	padding: 5vh 0 15vh; 
	height:100vh; 
	max-height: 84vh; 
	max-height: calc(100vh - var(--heffner-header-reduced-padding, 5px) - var(--heffner-header-cap-top-height, 80px) - var(--heffner-header-row-padding, 2%) - var(--heffner-header-row-padding, 2%) - 25px ); 
	border-bottom: 3px solid var(--heffner-header-mobile-menu-border-color); 
	border-top: 3px solid var(--heffner-header-mobile-menu-border-color); 
	overflow-y: auto;
}


#header-left-side {align-items:center; display:flex; padding-left:2.5%;padding-right:18px;}
#header-left-side, #header-left-side-flexer { flex-grow: 1; }
#header-right-side {padding-right:2.5%;}
#header-left-side, #header-right-side {
	height: 80px; 
	height: var(--heffner-header-cap-top-height, 80px); 
	max-height: 80px;
	max-height: var(--heffner-header-cap-top-height, 80px);
}

#header-left-side-visit-flexer { width: 475px; justify-content: center; padding: 0 12.5px; }
#header-left-side-visit-flexer>* { margin: 6.25px 12.5px; }
@media (max-width:1150px) {	#header-left-side-visit-flexer>* { margin: 6.25px 2.5px; } #header-left-side-visit-flexer { flex-direction:column; width: fit-content; } }
@media (max-width:980px) { #header-left-side-visit-flexer { display:none !important; } #header-left-side-icon-vis-flexer { max-width:141px; } }

#header-left-side-contact-socials>div>div { text-align:center !important; }
#header-right-side-contact, .header-left-side-visit a { text-align:center !important; }

/*Desktop*/
@media (min-width:981px) {
	#header-left-side-contact-socials>div>div { text-align:right !important; }
	:root {--heffner-header-cap-height: 150px; --heffner-header-cap-top-height: 110px; --heffner-header-row-padding: 10px;}
	#header-left-side-image img {width:auto !important; max-height:125px !important;}
	#header-left-side, #header-right-side { height:110px; }
	
	#header-row-holder>#header-row {  padding-bottom:0.25em; }
	#header-row-holder>#header-menu-row { 
		border-top: 1px solid #d4d4d4; 
		border-top-color: var(--heffner-header-border-line-color,#d4d4d4); 
		padding-top:0.5em;
	}
	#header-right-side-socials-flexer { margin-right: 1em; }
	#header-left-side-socials-flexer #header-left-side-contact-socials-loc { 
		padding-right: 1em !important; 
		border-right:1px solid #d4d4d4 !important; 
		border-right-color: var(--heffner-header-border-line-color,#d4d4d4) !important;  
	}
	#header-left-side-socials-flexer #header-left-side-contact-socials>div { 
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: end;
	}
	#header-menu-flexer { justify-content:center; }
}

/*Tablet*/
@media (max-width:980px) and (min-width:768px) {
	:root {--heffner-header-cap-height: 125px; --heffner-header-cap-top-height: 85px; --heffner-header-row-padding: 8px;}
	#header-right-side-socials-flexer { margin-right: 1em; }
	
	#header-left-side { padding-left: 5% !important; }
	#header-right-side { padding-right: 5% !important; }
	
	#header-left-side-socials-flexer #header-left-side-contact-socials-loc { 
		padding-right: 1em !important; 
		border-right:1px solid #d4d4d4 !important; 
		border-right-color: var(--heffner-header-border-line-color,#d4d4d4) !important;  
	}
	#header-left-side-socials-flexer #header-left-side-contact-socials>div { 
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: end;
	}
	body:has(#header-section .mobile_nav.opened){ overflow:hidden;}
}

/*Mobile*/
@media (max-width:767px) {
	:root {--heffner-header-cap-height: 120px; --heffner-header-cap-top-height: 80px; --heffner-header-row-padding: 5px;}
	#header-row { flex-direction: column; }
	#header-right-side, #header-right-side-flexer { flex-grow: 1; }
	#header-right-side { padding-top: 0.5em; }
	#header-right-side-flexer { justify-content:space-between; flex-direction: row-reverse; }
	
	#header-left-side, #header-right-side { padding: 0 7.5% !important; }
	
	#header-left-side-socials-flexer { flex-grow:1; }
	#header-left-side-contact-socials-loc, #header-left-side-contact-socials-mobile { display:flex; width:100%; }
	#header-left-side-contact-socials-mobile>.et_pb_text_inner { display:flex !important; width:100%; justify-content:end; }
	#header-left-side-contact-socials-mobile>.et_pb_text_inner :is(p,b,u,h1,h2,h3,h4,h5,h6,span,a) { font-size: 15px !important; }
	#header-left-side-contact-socials-mobile>.et_pb_text_inner>div { margin-left: 1.5rem !important; }
	#header-left-side-contact-socials-mobile>.et_pb_text_inner>div:first-child { margin-left: 2rem !important; }
	#header-left-side-contact-socials-mobile>.et_pb_text_inner>div:not(:last-child) { margin-right: 1.5rem !important; } 
	body:has(#header-section .mobile_nav.opened){ overflow:hidden;}
	
	#header-row-holder>#header-menu-row #header-menu div.mobile_nav ul.et_mobile_menu { padding: 2.5vh 0 25vh; }
}

@media (max-width:450px) {
	#header-left-side-contact-socials-mobile>.et_pb_text_inner :is(p,b,u,h1,h2,h3,h4,h5,h6,span,a) { font-size: 12px !important;} 
	#header-left-side-contact-socials-mobile>.et_pb_text_inner>div { margin-left: 0.75rem !important; }
	#header-left-side-contact-socials-mobile>.et_pb_text_inner>div:first-child { margin-left: 1rem !important; }
	#header-left-side-contact-socials-mobile>.et_pb_text_inner>div:not(:last-child) { margin-right: 1rem !important; }
	#header-left-side, #header-right-side { padding: 0 10% !important; }
}

:is(.full-header, .reduced-header) li>a {padding: 0px !important;}

#header-left-side-visit-flexer a, #header-right-side-contact {
	padding: 0.25em 0.5em !important;
	border-radius: 5px !important;
	border: 1px solid #21252A !important;
	border-color: var(--heffner-header-bg, #21252A) !important;
	background: #546782 !important;
	background: var(--heffner-header-button-bg-color, #546782) !important;
	color: #FFFFFF !important;
	color: var(--heffner-header-button-text-color, #FFFFFF) !important;
	display:block;
}
#header-left-side-visit-flexer .et_pb_text :is(p,b,u,h1,h2,h3,h4,h5,h6,span,a), #header-right-side-contact, #header-right-side-contact :is(p,b,u,h1,h2,h3,h4,h5,h6,span,a) { color: #FFFFFF !important; color: var(--heffner-header-button-text-color, #FFFFFF) !important; }
#header-left-side-visit-flexer a:hover, #header-right-side-contact:hover { background: #40536F !important; background: var(--heffner-header-button-bg-hover-color, #40536F) !important; cursor:pointer; }


#header-row :is(#header-left-side-socials-flexer, #header-right-side-socials-flexer) :is(.et_pb_text, .et_pb_social_icon) { margin-top: auto !important; margin-bottom: auto !important; }



#header-menu .et_pb_menu__menu .sub-menu{
		background: #21252a !important;
		background: var(--heffner-header-bg, #21252a) !important;
}
/*Header Expand*/
@media (min-width:981px) {
	body:has(.full-header) { --heffner-header-reduced: 0;}
	
	.full-header, .reduced-header {
		transition: all 0.9s ease-out 0s;
	}
	
	.full-header {
		padding: 15px 0 !important;
		padding: var(--heffner-header-full-padding) 0 !important;
	}

	.reduced-header {
		padding: 0px !important;
		padding: var(--heffner-header-reduced-padding) 0px !important;
		background: #21252a !important;
		background: var(--heffner-header-bg, #21252a) !important;
	}

	/*faded bg*/
	.full-header, .full-header #header-menu .et_pb_menu__menu .sub-menu{
		background: #21252A44 !important;
		background: var(--heffner-header-bg-faded, #21252A44) !important;
	}
	.heffner-header-offset { min-height:215px !important; height:215px !important; }
} 
@media (max-width:980px){
	.full-header, .reduced-header {
		padding: 0px !important;
		padding: var(--heffner-header-reduced-padding) 0px !important;
		background: #21252a !important;
		background: var(--heffner-header-bg, #21252a) !important;
	}
	.heffner-header-offset { min-height:160px !important; height:160px !important; }
}
/*Header Expand End*/

/*Header Menu Colors and Mobile Spacing*/
#header-menu a { transition:none; }
#header-menu .et_pb_menu__menu ul>li:has(ul)>a:after { display:none; }

#header-menu .et_mobile_nav_menu { margin: 0 auto; padding: 0 0.25em 0.5em 0.25em; }
#header-menu .mobile_menu_bar::before { 
	content: "Menu";
	font-family: 'Nanum Gothic',Helvetica,Arial,Lucida,sans-serif !important;
	font-size:24px !important;
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	border-color: var(--heffner-header-border-line-color, #ffffff);
	color: #ffffff !important;
	color: var(--heffner-header-text-color, #ffffff) !important;
}
#header-menu .mobile_nav.opened .mobile_menu_bar::before { content: "Close"; }

#header-menu .et_pb_menu__menu ul>li>a  {
	color: #ffffff !important;
	color: var(--heffner-header-text-color, #ffffff) !important;
}

#header-menu .et_pb_menu__menu ul>li.current_page_item>a, 
#header-menu .et_pb_menu__menu ul>li:has(li.current_page_item)>a,
#header-menu .et_pb_menu__menu:not(:has(li.current_page_item)) ul>li.current-page-ancestor>a, 
#header-menu .et_pb_menu__menu:not(:has(li.current_page_item)) ul>li:has(li.current-page-ancestor)>a 
{
	text-decoration: underline;
    -webkit-text-decoration-color: #ffffff;
    text-decoration-color: #ffffff;
	-webkit-text-decoration-color: var(--heffner-header-text-color, #ffffff);
	text-decoration-color: var(--heffner-header-text-color, #ffffff);

}
#header-menu .et_pb_menu__menu:not(:has(li.current_page_item)) ul.et-menu>li:not(.hidden):first-child.current-page-ancestor>a, 
#header-menu .et_pb_menu__menu:not(:has(li.current_page_item)) ul.et-menu>li:not(.hidden):first-child:has(li.current-page-ancestor)>a {
	text-decoration: none;
}

#header-menu .et_pb_menu__menu ul>li:hover>a, #header-menu .et_pb_menu__menu ul>li>a:hover  {
	color: #e5e4e2 !important;
	color: var(--heffner-header-active-text-color, #e5e4e2) !important;
	cursor:pointer;
	background-color: rgba(0,0,0,.05);
    opacity: .7;
}
#header-menu .et_pb_menu__menu ul>li:not(:has(>a:not([href]), >a[href="#"])):hover { cursor:pointer; }
#header-menu .et_pb_menu__menu ul>li:hover>a:not([href]), #header-menu .et_pb_menu__menu ul>li>a:not([href]):hover,
#header-menu .et_pb_menu__menu ul>li:hover>a[href="#"], #header-menu .et_pb_menu__menu ul>li>a[href="#"]:hover {
	cursor:default;
}

#header-menu .et_pb_menu__menu ul.sub-menu li { width:100%; }
#header-menu .et_pb_menu__menu ul.sub-menu {
	border-top: 0;
	text-align:right;
	right: 0;
	left: auto;
	border-radius: 0 0 25px 25px;
	padding: 2px 12px 2px 12px;
	width:264px;
	z-index:1;
}

#header-menu .et_pb_menu__menu:has(.header-menu-item-halfway) .et-menu>li:not(.header-menu-item-halfway ~ li)>ul.sub-menu {
	text-align:left;
	right: auto;
	left: 0;
}

#header-menu .et_pb_menu__menu ul.sub-menu ul.sub-menu {
	border-top: 1px solid #ffffff;
	text-align:left;
	right: auto;
	left: -12px;
	bottom: 0;
	border-radius: 0 0 25px 25px;
	padding: 2px 12px 2px 24px;
	transform: translate(-90%, 30%);
	z-index:1;
}
#header-menu .et_pb_menu__menu ul.sub-menu>li:not(.hidden):first-child>ul.sub-menu {transform: translate(-90%, 40%);}

#header-menu .et_pb_menu__menu:has(.header-menu-item-halfway) .et-menu>li:not(.header-menu-item-halfway ~ li)>ul.sub-menu ul.sub-menu {
	text-align:right;
	right: -12px;
	left: auto;
	transform: translate(90%, 30%);
}
#header-menu .et_pb_menu__menu:has(.header-menu-item-halfway) .et-menu>li:not(.header-menu-item-halfway ~ li)>ul.sub-menu>li:not(.hidden):first-child>ul.sub-menu {transform: translate(90%, 40%);}

#header-menu .et_pb_menu__menu ul.sub-menu ul.sub-menu>li:not(.hidden):first-child:after {
	content: '<';
	color: #ffffff !important;
	color: var(--heffner-header-text-color, #ffffff) !important;
	position:absolute;
	top:0;
	right:0;
	text-align:right;
	transform: translate(6px, 6px);
}
	
#header-menu .et_pb_menu__menu:has(.header-menu-item-halfway) .et-menu>li:not(.header-menu-item-halfway ~ li)>ul.sub-menu ul.sub-menu>li:not(.hidden):first-child:after {
	content: '>';
	top:0;
	left:0;
	text-align:left;
	transform: translate(-6px, 6px);
}

#header-menu .et_pb_menu__menu ul:not(.sub-menu)>li {
	margin: auto 0;
	padding-bottom: 8px;
	padding-top: 8px;
}

#header-menu .et_pb_menu__menu ul.sub-menu>li:not(.hidden):first-child  {padding-top: 8px;}
#header-menu .et_pb_menu__menu ul.sub-menu>li:not(.hidden):last-child  {padding-bottom: 8px;}
#header-menu .et_pb_menu__menu ul.sub-menu li>a {padding: 6px 0 !important;}




/*Mobile*/
#header-menu .et_mobile_menu li>a {
	padding: 12px 0 !important;
	width: 100%;
}
#header-menu .et_mobile_menu li li {padding-left: 0 !important;}
#header-menu .et_mobile_menu {
	text-align:center;
	background: #21252a !important;
	background: var(--heffner-header-bg, #21252a) !important;
}

#header-menu .et_mobile_menu li>a {
	color: #ffffff;
	color: var(--heffner-header-text-color, #ffffff) !important;
}

#header-menu .et_mobile_menu li.current_page_item>a, 
#header-menu .et_mobile_menu li:has(li.current_page_item)>a,
#header-menu .et_mobile_menu:not(:has(li.current_page_item)) li.current-page-ancestor>a, 
#header-menu .et_mobile_menu:not(:has(li.current_page_item)) li:has(li.current-page-ancestor)>a {
	text-decoration: underline;
    -webkit-text-decoration-color: #ffffff;
    text-decoration-color: #ffffff;
	-webkit-text-decoration-color: var(--heffner-header-text-color, #ffffff);
	text-decoration-color: var(--heffner-header-text-color, #ffffff);
}

#header-menu .et_mobile_menu:not(:has(li.current_page_item))>li:first-child.current-page-ancestor>a, 
#header-menu .et_mobile_menu:not(:has(li.current_page_item))>li:first-child:has(li.current-page-ancestor)>a {
	text-decoration: none;
}	

#header-menu .et_mobile_menu li:hover>a {
	color: #ffffff;
	color: var(--heffner-header-active-text-color, #ffffff) !important;
	opacity: 1;
}


#header-menu ul.et_mobile_menu>li>a {
	font-size: 24px;
	font-size: var(--heffner-header-mobile-text-size, 20px);
}

#header-menu ul.et_mobile_menu>li>ul>li>a {
	font-size: 20px;
	font-size: calc(var(--heffner-header-mobile-text-size, 20px) - 4px);
}

#header-menu ul.et_mobile_menu>li>ul>li>ul>li>a {
	font-size: 16px;
	font-size: calc(var(--heffner-header-mobile-text-size, 20px) - 4px - 4px);
}

#header-menu .et_mobile_menu li:has(ul)>a {font-weight: bolder;}

#header-menu .et_mobile_menu>li:has(ul)>a {
	border-bottom:1px dashed #ff0000;
	border-bottom:1px dashed var(--heffner-header-border-highlight, #ff0000);
}

#header-menu .et_mobile_menu>li>ul>li:has(ul) {
	border-top:1px solid #dd0000;
	border-bottom:1px solid #dd0000;
	
	border-top:1px solid var(--heffner-header-sub-border-highlight, #dd0000);
	border-bottom:1px solid var(--heffner-header-sub-border-highlight, #dd0000);
}

#header-menu .et_mobile_menu>li>ul>li:has(ul):not(.hidden):last-child {border-bottom:0;}

#header-menu .et_mobile_menu>li>ul>li:has(ul)>a {
	border-bottom:1px dashed #dd0000;
	border-bottom:1px dashed var(--heffner-header-sub-border-highlight, #dd0000);
}

#header-menu .et_mobile_menu li>ul {text-align:center;}
/*Mobile End*/

/*Header Menu Colors and Spacing End*/