/* Name: Mega menu styling and functionality */	
/* CLASSES: 
on section: .od-mega / .from-burger-mobile
on row:
on column:
on module: .od-main-menu-wrapper
*/


/* VARIABLE STYLING */
.od-mega {
	--od-c-mega-color: var(--od-v-overlay-text);
	--od-c-mega-color-semi: var(--od-v-overlay-text-semi);
    --od-c-mega-border-color: var(--od-c-mega-color);
    --od-c-mega-border-color-semi: color-mix(in srgb, var(--od-v-overlay-text) calc(var(--od-t-text-opacity)/2), transparent);
    background-color: var(--od-v-overlay-bg);
	color: var(--od-c-mega-color);
    transition: visibility 0.5s, opacity 0.5s ease-in-out, top 0.5s ease-in-out;
    display: none; /* Hidden by default */
	visibility: hidden; /* Ensure it's not visible */
	opacity: 0; /* Optional: If you want smooth transitions */
    z-index: 998;
	overflow: hidden;
}
.od-mega {
    /* old settings:
    top: -30px;
    height: 0;*/
	top: 0px;
	height: auto;
	position: fixed;
	width: 100%;
    /* new settings */
    transform: translateY(-100%);
    transition-property: transform;
    transition-duration: 1.5s;
    transition-timing-function: cubic-bezier(.19,1,.22,1);
}
.od-mega.od--fromBar {
	width: max-content !important;
	max-width: 900px !important;
	position: absolute !important;
	padding: 30px !important;
    border-radius: var(--od-c-header-row-radius);
    /* new settings */
    transform: translateY(-10%);
}
.od-mega.od--fromBar .et_pb_row {
	min-width: 300px;
}
.od-header .od-main-menu-wrapper .od-mega.od--fromBar {
	top: calc(100% + var(--od-t-header-row-padding-vertical) + 10px);
	left: 0;
}
.od-header > .et_pb_row > .od-mega.od--fromBar {
	top: calc(100% + 10px);
	left: auto;
	right: 0;
}

/* ACTIONS */
.od-mega.od_makeBlock {
	display: block; 
}
.od-mega.od_open {
	visibility: visible;
	opacity: 1;
	top: 0;
	height: auto;
    /* new settings */
    transform: translateY(0%);
} 	

/* MOBILE MEGA */
.od-mega.od--mobileMenu.od_makeBlock.od_open {
	overflow-y: auto;
	height: 100vh;
	opacity: 1;
}		
.od-mega.od--mobileMenu.od_open {
	height: 100vh;
}	
.od-mega.od--fullPage, .od-mega.od--mobileMenu {
	border-radius: 0 !important;
	top: 0;
	left: 0;
	overflow-y: auto;
	padding: 240px 30px 30px 30px !important;
	position: fixed;
    width: calc(100vw - var(--scrollbar-width)) !important;
	max-width: 100% !important;
	z-index: 999;
    /* old settings:
    transition: visibility 0.5s, opacity 0.5s ease-in-out, height 0.5s ease-in-out;*/
    /* new settings */
    transform: translateY(-100%);
    transition-property: transform;
    transition-duration: 1.5s;
    transition-timing-function: cubic-bezier(.19,1,.22,1);
}
@media only screen and (max-width: 980px) {
    .od-mega.od--fullPage, .od-mega.od--mobileMenu {
	width: 100vw !important;
}
}
.od-mega.od--mobileMenu {
	padding: 120px 30px 30px 30px !important;
}
.od-mega.od--fullPage.od_makeBlock.od_open, .od-mega.od--mobileMenu.od_makeBlock.od_open {
	height: 100vh;
	opacity: 1;
    /* new settings */
    transform: translateY(0%);
} 
/* STYLING THE MEGA MENUS */
/*.od-mega.od--fromTop .et_pb_row*/
.od-mega .et_pb_row {
	padding: 3.5% 0 4% 0;
} 	
/*.od-mega.od--fromTop nav.od-menu-nav > ul*/
.od-mega nav.od-menu-nav > ul {
	padding: 0 !important;
	line-height: 1.7em;
	list-style-type: none !important;
}
/*.od-mega.od--fromTop .od-menu-nav .od-menu > li*/
.od-mega .od-menu-nav .od-menu > li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}
.od-mega.od--fromBar .et_pb_row {
	padding: 0;
	width: 100% !important;
}
.od-mega.od--fromBar nav.od-menu-nav > ul {
	padding: 0 !important;
	line-height: 1.7em;
	list-style-type: none !important;
}
/* Menu a-tag as block */	
.od-mega .od-menu-nav .od-menu > li a {
	color: inherit;
	font-size: var(--od-t-mega-fontsize);
	font-weight: var(--od-t-mega-fontweight);	
	text-decoration: none;
	display: block;
	position: relative; 
	width: 100%;
	transition: padding 0.3s ease-in-out;
}
/*.od-mega.od--fromTop .od-menu-nav .od-menu > li a*/
.od-mega .od-menu-nav .od-menu > li a {
	padding: 20px 0;
}	
/*.od-mega.od--fromTop .od-menu-nav .od-menu > li a:hover*/
.od-mega .od-menu-nav .od-menu > li a:hover {
	padding-left: 10px;
}
.od-mega.od--fromBar nav.od-menu-nav .od-menu > li a {
	padding: 14px 0;
}
.od-mega.od--fromBar nav.od-menu-nav .od-menu > li a:hover {
	padding-left: 20px;
}
.od-mega.od--desktop.od--alignCenter nav.od-menu-nav .od-menu > li a {
	text-align: center;		
}
.od-mega.od--desktop.od--fullPage.od--alignCenter nav.od-menu-nav .od-menu > li a {
	text-align: center;		
}

/* MEGA MENUS WITH VISIBLE SUB-MENUS */
.od-mega.od--visibleSubs nav > ul {
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
}
.od-mega.od--visibleSubs nav.od-menu-nav > ul.od-menu > li {
	display: inline-block;
	width: 30.6667% !important;
	margin-right: 4%;
	border-bottom: 0px solid #999999 !important;
}
.od-mega.od--visibleSubs nav.od-menu-nav > ul.od-menu > li:last-child {
	margin-right: 0px;
}
.od-mega.od--visibleSubs .od-menu > li.menu-item-has-children > a {
	border-bottom: 1px solid;
	border-bottom-color: var(--od-c-mega-border-color); 
	border-bottom-color: var(--od-c-mega-border-color-semi);
	transition: border-color 0.5s ease-in-out, padding 0.3s ease-in-out;
	display: flex;
	align-items: center;
}
.od-mega.od--visibleSubs .od-menu > li.menu-item-has-children > a::after {
	content: "\0035";
	font-family: 'ETmodules' !important;
	font-weight: normal;
	font-size: 30px;
	line-height: 1;
   	color: var(--od-c-mega-color);
	color: var(--od-c-mega-color-semi);
	position: absolute;
	right: 0px;
	top: auto;
}
/* the sub level */  
.od-mega.od--visibleSubs .od-menu > li ul.sub-menu {
	padding-left: 0px;
}
.od-mega.od--visibleSubs .od-menu > li .sub-menu li{
	padding-left: 0px;
	padding-right: 40px;
	margin-top: 0px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid;
	border-bottom-color: var(--od-c-mega-border-color); 
	border-bottom-color: var(--od-c-mega-border-color-semi);
	transition: border-color 0.5s ease-in-out;
	width: 100%;
}
.od-mega.od--visibleSubs .od-menu > li .sub-menu li a {
	padding: 15px 0 15px 0;
	font-weight: 300;
}
.od-mega.od--visibleSubs .od-menu > li .sub-menu li a:hover {
	padding-left: 10px !important;
}
.od-mega.od--visibleSubs .od-menu > li .sub-menu li::after {
	content: "\0035";
	font-family: 'ETmodules' !important;
	font-weight: normal;
	font-size: 30px;
	line-height: 1;
   	color: var(--od-c-mega-color);
	color: var(--od-c-mega-color-semi);
	position: absolute;
	right: 0px;
}
/* MENU WITH UNDERLINE */  
.od-mega.od--underline .od-menu-nav .od-menu > li {
	border-bottom: 1px solid;
	border-bottom-color: var(--od-c-mega-border-color); 
	border-bottom-color: var(--od-c-mega-border-color-semi);
	transition: border-color 0.5s ease-in-out;
/*	position: relative;
	display: flex;
	align-items: center;
	width: 100%;*/
}
.od-mega.od--underline .od-menu-nav .od-menu > li:first-child {
	border-top: 1px solid;
	border-top-color: var(--od-c-mega-border-color); 
	border-top-color: var(--od-c-mega-border-color-semi);
	transition: border-color 0.5s ease-in-out;
}
/* MENU WITH ARROW AFTER */
.od-mega.od--arrowAfter .od-menu-nav .od-menu > li {
	padding-right: 40px;		
}
.od-mega.od--arrowAfter .od-menu-nav .od-menu > li::after {
	content: "\035";
	font-family: 'ETmodules' !important;
	font-weight: normal;
	font-size: 30px;
	line-height: 1;
   	color: var(--od-c-mega-color);
	color: var(--od-c-mega-color-semi);
	position: absolute;
	right: 0px;
}
/* MENU WITH ARROW BEFORE */
.od-mega.od--arrowBefore .od-menu-nav .od-menu > li {
	padding-left: 40px;		
}	
.od-mega.od--arrowBefore .od-menu-nav .od-menu > li::before {
	content: "\035";
	font-family: 'ETmodules' !important;
   	color: var(--od-c-mega-color);
	color: var(--od-c-mega-color-semi);
	position: absolute;
	left: 0;
	font-size: 30px;
	line-height: 1;
}
/* MEGA MENUS WITH COLUMNS */
.od-mega.od--3cols nav > ul {
	-moz-column-count: 3;
	column-count: 3;
	column-gap: 60px;
	display: block;
	margin: 0 auto;
}
.od-mega.od--2cols nav > ul {
	-moz-column-count: 2;
	column-count: 2;
	column-gap: 60px;
	display: block;
	margin: 0 auto;
}  	
/* MOBILE MEGA MENU */  
.od-mega.od--mobileMenu .od-menu > li {
	border-bottom: 1px solid;
	border-bottom-color: var(--od-c-mega-border-color); 
	border-bottom-color: var(--od-c-mega-border-color-semi);
	transition: border-color 0.5s ease-in-out;
}
.od-mega.od--mobileMenu .od-menu li.menu-item-has-children.visible	{
	border-bottom-color: transparent !important;
}
.od-mega.od--mobileMenu .od-menu li.menu-item-has-children a {
	border-bottom: 1px solid;
	border-bottom-color: transparent !important;
	transition: border-color 0.5s ease-in-out;
}
.od-mega.od--mobileMenu .od-menu li.menu-item-has-children.visible a {
	border-bottom-color: var(--od-c-mega-border-color); 
	border-bottom-color: var(--od-c-mega-border-color-semi);
}		
.od-mega.od--mobileMenu .od-menu li > a::after {
	content: "\0035";
	font-family: 'ETmodules' !important;
	font-weight: normal;
	font-size: 30px;
	line-height: 1;
	color: inherit;
	position: absolute;
	right: 10px;
}	
.od-mega.od--mobileMenu .od-menu .menu-item-has-children > a::after { 
	content: '\4c';
}  
.od-mega.od--mobileMenu .od-menu .menu-item-has-children.visible > a::after { 
  content: '\4d';  
} 	
/* MOBILE MEGA MENU – SUB MENUS */
.od-mega.od--mobileMenu .od-menu ul.sub-menu { 
	display: block;
	width: 100%;
	overflow: hidden;
	padding: 0 0 0 20px;
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	list-style: none;
	transition: padding 0.5s ease-in-out, max-height 0.5s ease-in-out, opacity 0.5s ease-in-out;
}
.od-mega.od--mobileMenu .od-menu .visible > ul.sub-menu { 
	padding-bottom: 20px;
	max-height: 600px; 
	opacity: 1;
	visibility: visible;
}
.od-mega.od--mobileMenu .od-menu li > ul.sub-menu a { 
	font-weight: 400;
}	
.od-mega.od--mobileMenu .od-menu ul.sub-menu li:last-child {
	border-bottom-color: var(--od-c-mega-border-color); 
	border-bottom-color: var(--od-c-mega-border-color-semi);
}		

.od-mega.od--mobileMenu .od-menu-nav .od-menu > li a:hover {
	padding-left: 0px !important;
}
.od-mega.od--mobileMenu nav.od-menu-nav .od-menu > li a:hover {
	padding-left: 0px !important;
}
.od-mega.od--mobileMenu .od-menu > li .sub-menu li a:hover {
	padding-left: 0px !important;
}
