/* MASTER SITE CSS - START */
/* global variable declarartions for use in setting spacing */
:root {
    /* Global spacing variables */ 
--sc-margin: 8vw;
	--sc-margin-dbl: calc(2 * var(--sc-margin));
	--sc-margin-half: calc(0.5 * var(--sc-margin));
	--sc-margin-neg: calc(-1 * var(--sc-margin));
	--sc-margin-half-neg: calc(-1 * var(--sc-margin-half));

--sc-gutter: 24px;
	--sc-gutter-dbl: calc(2 * var(--sc-gutter));
	--sc-gutter-half: calc(0.5 * var(--sc-gutter));
	--sc-gutter-neg: calc(-1 * var(--sc-gutter));
	--sc-gutter-dbl-neg: calc(-1 * var(--sc-gutter-dbl));
	--sc-gutter-half-neg: calc(-1 * var(--sc-gutter-half));

--sc-padding: 16px;
	--sc-padding-big: calc(4 * var(--sc-padding));
	--sc-padding-dbl: calc(2 * var(--sc-padding));
	--sc-padding-half: calc(0.5 * var(--sc-padding));
	--sc-padding-neg: calc(-1 * var(--sc-padding));
	--sc-padding-dbl-neg: calc(-1 * var(--sc-padding-dbl));
	--sc-padding-half-neg: calc(-1 * var(--sc-padding-half));

--sc-full-width: calc(100vw - 80px);
--sc-content-width: 1140px;

--sc-padding-btn: 24px; 
--sc-padding-btn-vert: 12px; 
  
		/* global colours */
    --sc-primary: #0B3C62;
    --sc-secondary: #e6eef7;
		--sc-accent: #619BD3;
    --sc-text: #111322;
    --sc-primary-light: #619BD3;
		--sc-neutral-light: #F7F6F1;
		--sc-neutral-dark: #D0AD67;
		--sc-secondary-dark: #CDDDED;
		
		--sc-btn-bg: #ffffff1a; 
    --sc-btn-bg-hover: var(--sc-accent);
		--sc-btn-border-color: var(--sc-accent);
   
		/* design varables */
    --sc-radius-btn: 0px;
    --sc-radius-box: 0px;
    --sc-border-width: 1px;
    --sc-border-accent: 4px;
		--sc-border-width-btn: 1px;
		--sc-icon-size: 24px;
		--sc-icon-nav-dot: 10px;
		--sc-icon-nav-arrow: 24px;
   
				
		/* global font size variables – View port 900 - 1440 */
    /*--sc-h1-clamp: clamp(2.375rem, 1.6364rem + 1.9697vw, 4rem);  original */
		/*--sc-h1-clamp: clamp(3rem, 0.5rem + 4.4444vw, 4.5rem); 48 - 72 previous */
		--sc-h1-clamp: clamp(2.5rem, -0.8333rem + 5.9259vw, 4.5rem); /*40 - 72 */
    /*--sc-h2-clamp: clamp(1.875rem, 0.9555rem + 1.4368vw, 2.5rem);  original 30-40 */
		/*--sc-h2-clamp: clamp(2.125rem, 1.0833rem + 1.8519vw, 2.75rem); /* 34-44  previous */
		--sc-h2-clamp: clamp(2rem, 0.75rem + 2.2222vw, 2.75rem);; /* 32-44 */
		/* --sc-h3-clamp: clamp(1.5rem, 0.6667rem + 1.4815vw, 2rem); /* 24-32 */
		/* --sc-h3-clamp: clamp(1.5rem, 1.0714rem + 0.6696vw, 1.875rem); /* original & previos 24-30 */
		--sc-h3-clamp: clamp(1.625rem, 1.2083rem + 0.7407vw, 1.875rem); /*  26-30 */
    /*--sc-h4-clamp: clamp(1.125rem, 1.0682rem + 0.1515vw, 1.25rem); original */
		/*--sc-h4-clamp: clamp(1.375rem, 1.1667rem + 0.3704vw, 1.5rem); /*22-24 */
		--sc-h4-clamp: clamp(1.3125rem, 1.1042rem + 0.3704vw, 1.4375rem); /* 21-23 */
    /* --sc-h5-clamp: clamp(0.9375rem, 0.9091rem + 0.0758vw, 1rem); original */
		--sc-h5-clamp: clamp(1.125rem, 0.7083rem + 0.7407vw, 1.375rem); /* 18-22 */
    --sc-h6-clamp: var(--sc-body-clamp);
		/*--sc-body-clamp: clamp(1rem, 0.7917rem + 0.3704vw, 1.125rem);  16-18px */
		--sc-body-clamp: clamp(1rem, 0.5833rem + 0.7407vw, 1.25rem); /* 16-20*/
    --sc-body-sm-clamp: clamp(0.875rem, 0.7321rem + 0.2232vw, 1rem);
		--sc-menu-h1-clamp: clamp(1.875rem, 0.9555rem + 1.4368vw, 2.5rem); /* 30-40 */
		--sc-accordion-clamp: clamp(1.5rem, 1.1875rem + 0.5556vw, 1.6875rem); /* 24-27 */
		/*		--sc-accordion-clamp: clamp(1.4375rem, 1.125rem + 0.5556vw, 1.625rem); /* 23-26 */
	
		/* line height for body copy */  	
		--sc-body-lh: 1.5;
}  
			
 /*  Media Query – Tablet  */
@media screen and (max-width: 1024px) {
	:root {
		--sc-margin: 32px;
		--sc-gutter: 16px;
		--sc-padding: 12px;
		--sc-padding-btn: 20px; 
		--sc-padding-btn-vert: 10px;
	}
}

/*  Media Query – Mobile  */
@media screen and (max-width: 767px) {
	:root {
		--sc-margin: 16px;
		--sc-gutter: 12px;
		--sc-padding: 8px;
	}
}

/* ----------------------------------------------------------
   TEXT SETTINGS
   ---------------------------------------------------------- */

/* adjust heading (H2 – 5) spacing - only within text editor and accordion widgets */
.elementor-widget-text-editor .elementor-widget-container :is(h2, h3, h4, h5),
.elementor-widget-elementskit-accordion .elementor-widget-container :is(h2, h3, h4, h5),
.elementor-widget-n-accordion .elementor-widget-container :is(h2, h3, h4, h5) {
  margin-bottom: 1rem;
  margin-top: 1em;
}

.elementor-widget-text-editor .elementor-widget-container h6,
.elementor-widget-elementskit-accordion .elementor-widget-container h6,
.elementor-widget-n-accordion .elementor-widget-container h6 {
  margin-bottom: 0.5em;
}

/* paragraph spacing - only within text editor and accordion widgets */
.elementor-widget-text-editor .elementor-widget-container p,
.elementor-widget-elementskit-accordion .elementor-widget-container p,
.elementor-widget-n-accordion .elementor-widget-container p {
  margin-block-start: 0;
  margin-block-end: 1rem; 
}

/* Remove top margin from first element and bottom margin from last element, within a text box */
.elementor-widget-container :is(p, h2, h3, h4, h5, h6, blockquote):first-child {
  margin-top: 0;
}
.elementor-widget-container :is(p, h2, h3, h4, h5, h6, blockquote):last-child {
  margin-bottom: 0;
}

/* left bullet indent and spacing after last bullet */
ul, ol {
	margin-bottom:  1rem;
  padding-left: 20px;
}

/*  sets padding between bullets */
li {
  padding-bottom: 0.5rem;
}

/* Fix Elementskit accordion bullet alignment */
.elementskit-card-body ul,
.elementskit-card-body ol {
  padding-left: 20px !important;
  margin-left: 0 !important;
}

.elementskit-card-body li {
  padding-left: 0 !important;
	padding-bottom: 0.5rem;
}

		/* Set paragraph spacing for notices – site wide */
.notice_content p {
		margin-bottom: 10px;
		margin-top: 0px  !important;
}

/* blockquote style */
blockquote {
    font-size: var(--sc-h4-clamp);
    color: var(--sc-primary);
    line-height: 1.5;
    /* font-style: italic; */
    margin-block-start: 0;
    margin-block-end: 1.5em; 
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
}

/*blockquote::after {
    content: "";
    display: inline-block;
    width: 100px;
    height: 1px;
    background-color: var(--sc-neutral-dark);
    margin-top: var(--sc-gutter);
}*/


/* h6 btn style */
h6 a {
    background-color: var(--sc-btn-bg);
    padding: var(--sc-padding-btn-vert) var(--sc-padding-btn);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
		border-style: solid;
		border-width: var(--sc-border-width-btn);
		border-color:	var(--sc-btn-border-color);
    border-radius: var(--sc-radius-btn);
		
    font-family: "Raleway", Sans-serif;
    font-size: var(--sc-body-sm-clamp);
		font-weight: 500;
 		text-transform: uppercase;
		color: var(--sc-accent);
    vertical-align: sub;
    display: inline-block;
}

h6 a:hover {
    background-color: var(--sc-btn-bg-hover);
		color: #fff !important;
}
/* button classes */
#sc-btn-on-image {
		border-color: #fff;
		background-color: #CDDDED26;
		color: #fff;
		}
#sc-btn-on-image:hover {
		border-color: var(--sc-btn-bg-hover);
		background-color: var(--sc-btn-bg-hover);
		color: #fff;
		}

/* table styling */
table, th, td {
		border-collapse: collapse;
    padding: var(--sc-padding-half);
    background-color: #fff !important;
}

tr:hover td {
    background-color: #fff;
}
/* ==========================================================
   CLASSS FOR FIRST LEVEL CONTAINERS
	 Applys page margins with padding
REQUIRED for outer containers on full width templates. MUST NOT be added to inner containers
   ========================================================== */

.page-margin-0-top {
  max-width: var(--sc-full-width);
  margin-inline: auto;
  padding-inline: var(--sc-margin);
		padding-bottom: var(--sc-padding-big);
		padding-top: 0px;
}

.page-margin {
  max-width: var(--sc-full-width);
  margin-inline: auto;
  padding-inline: var(--sc-margin);
		padding-bottom: var(--sc-margin-half);
		padding-top: var(--sc-margin-half)
/*	box-sizing: border-box; */
}
 /*  Media Query page margins – Laptop, Tablet & mobile  */
@media (max-width: 1465px) {
  .page-margin-0-top {
    padding-bottom: var(--sc-margin);
  }

  .page-margin {
    padding-bottom: var(--sc-margin);
			padding-top: var(--sc-margin);
}
}

/* ==========================================================
   CLASS STYLES FOR DARK CONTAINERS
		to change text and button colour
   ========================================================== */

/* Change text to white */
.dark-bg {
    color: #fff; 
}

.dark-bg h1,
.dark-bg h2,
.dark-bg h3,
.dark-bg h4,
.dark-bg h5,
.dark-bg h6,
.dark-bg p,
.dark-bg a,
.dark-bg li,
.dark-bg span, 
.dark-bg blockquote,
.dark-bg blockquote p{
    color: inherit; 
}
/* this forces elementor to apply white to blockquote */
.dark-bg .elementor-widget-text-editor blockquote,
.dark-bg .elementor-widget-text-editor blockquote p {
    color: #fff;
}

/* Button inside dark containers */
.dark-bg .elementor-button {
    border-color: #fff;
		color: #fff;
}

.dark-bg .elementor-button:hover {
    background-color: (--sc-btn-bg-hover);
		border-color: (--sc-btn-bg-hover);
    color: #fff;
}

/* Links  inside dark containers */
.dark-bg a {
    color: var(--sc-secondary-dark);
}

.dark-bg a:hover {
    color: var(--sc-neutral-dark);
}

/* h6 btn style in dark container */
.dark-bg h6 a {
    background-color: transparent;
    border-color: #fff;
    color: #fff;
}

.dark-bg h6 a:hover {
    background-color: var(--sc-btn-bg-hover);
    border-color: var(--sc-btn-bg-hover);
    color: #fff !important;
}


/* This stops svg images changing size when they have a link applied*/
.elementor-widget-image a img[src$=".svg"] {
    width: 100%;
}

/* pages with sidebar - class added to right hand container 
div:has( + .spacific-sidebar) {
		width:100%;
}
.spacific-sidebar {
    background-color: #E9EDF0;
    --width: 30.8% !important;
		max-width: 450px !important;
		min-width: 300px !important;
    --padding-block-start: var(--sc-padding-dbl) !important;
    --padding-block-end: var(--sc-padding-dbl) !important;
    --padding-inline-start: var(--sc-padding-dbl) !important;
    --padding-inline-end: var(--sc-padding-dbl) !important;
}
@media only screen and (max-width: 768px) {
	.spacific-sidebar {
    --width: 100% !important;
	}	
}*/

/* remove the browser default clear cross from search inputs */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display: none; }

/* Social icons (header and footer) 
.social-icons .elementor-icon-list-text .spacific-social-icon i {
	color: var(--e-global-color-primary)!important;
	font-size: 21px;
}
.social-icons.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
	margin-left:0;
	margin-right:0;
}
.social-icons.elementor-widget .elementor-icon-list-items.elementor-inline-items {
	margin-left:0;
	margin-right:0
}
.social-icons .elementor-icon-list-text .spacific-social-icon {
	background: #fff;
	padding: 5px;
	border-radius: 100px;
	color: #000 !important;
	margin-right:18px
}
.social-icons.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:last-child .spacific-social-icon {
	margin-right:0;
}*/

/* Quicklinks styling (header and footer) 
.quicklinks-menu nav ul li a {
	background-color: var(--sc-primary)!important;
	color:var(--sc-secondary)!important;
}
.quicklinks-menu nav ul li a:hover, .quicklinks-menu nav ul li a:active, .quicklinks-menu nav ul li a:focus {
	background-color: #fff!important;	
	color:var(--sc-text)!important;
}
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 .quicklinks-menu .elementor-widget-container  {
	margin:0!important
}*/

/* footer styles 
.footer-link{color:#fff!important;}
.elementor-location-footer .elementor-nav-menu--dropdown {display:none;}
.elementor-location-footer li { list-style-type: none; }
@media only screen and (max-width: 700px) {
		.mobile-copyright .elementor-icon-list-items.elementor-inline-items li:nth-child(2)::after {
			display: none !important;
		}
}

.wtm-vert-menu a.elementor-item {
	display: block;
}
.wtm-nav-search input::placeholder {
	opacity: 1 !important;
}
#wtm-nav-search-wrap, #wtm-ql-wrap, #wtm-mm-wrap {
	display: none;
}
.wtm-vert-menu a.elementor-item span {
	font-size: 16px;
	line-height: 16px;
}
.wtm-search-trigger-active, .wtm-ql-trigger-active {
	background: #094b8d;
}
.wtm-mm-trigger-active {
	background: #0080AF;
}
ul.sub-menu {
	height: 100vh;
	background: #0080AF;
	width: 400px !important;
}
#wtm-mm-wrap nav > ul > li:hover {
	background: #0080AF;
}
#wtm-mm-wrap nav > ul > li a{
	color: #fff !important;
}
#wtm-mm-wrap nav > ul > li > ul.sub-menu > li > ul.sub-menu {
	background: #22AACB !important;
}
#wtm-mm-wrap nav > ul > li > ul.sub-menu > li a.highlighted, #wtm-mm-wrap nav > ul > li > ul.sub-menu > li a:hover, #wtm-mm-wrap nav > ul > li > ul.sub-menu > li:hover {
	background: #22AACB !important;
}
#wtm-mm-wrap .mega-menu-item-has-children {
	position: static !important;
}
#wtm-mm-wrap .mega-sub-menu {
	height: 100vh !important;
}
#wtm-mm-wrap .mega-sub-menu .mega-sub-menu {
	background: #22AACB !important;
}
#wtm-mm-wrap .mega-sub-menu .mega-sub-menu .mega-menu-link:hover {
	background: #0B3876 !important;
}
#wtm-mm-wrap .mega-menu-wrap > ul.mega-menu > .mega-menu-item-has-children > .mega-sub-menu > .mega-menu-item-has-children.mega-toggle-on > a {
	background: #22AACB !important;
}
body {
	min-height: 100vh;    
	display: flex;
	flex-direction: column;
}
body > main#content, body > div.elementor-location-single {
	flex: 1;
}
div.elementor-location-footer {
	margin-top:auto
}
*/

/* MASTER SITE CSS - END */


		
		/* Removes indent from event info meta data */
ul.eo-event-meta{
		margin-left: -20px;
}


/* ==========================================================
   GRAVITY FORMS CUSTOM STYLES
   ========================================================== */

/* Form input and select styles */
select,
textarea,
input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
.uneditable-input {
    display: inline-block;
/*    height: 4.5em !important;*/
    border: 1px solid var(--sc-neutral-dark);
/*    padding: var(--sc-padding-half);*/
    font-size: 15px !important;
    line-height: normal;
    color: var(--sc-text);
    background-color: #ffffff;
    border-radius: var(--sc-radius-box);
}

/* Focus styles for form fields */
body .gform_wrapper .gform_body .gform_fields .gfield input[type=text]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=url]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=number]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=password]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield select:focus,
body .gform_wrapper .gform_body .gform_fields .gfield textarea:focus {
    border: 1px solid var(--sc-secondary) !important;
}

/* Form field labels */
body .gform_wrapper .top_label .gfield_label,
body .gform_wrapper .left_label .gfield_label,
body .gform_wrapper .right_label .gfield_label {
    color: var(--sc-text);
    font-size: var(--sc-h5-clamp);
/*    text-transform: uppercase;*/
		font-weight: 500;
}

/* Form field labels in focus */
body .gform_wrapper .gform_body .gform_fields .gfield:focus-within .gfield_label {
    color: var(--sc-primary);
}

/* Row Spacing */
.gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: var(--sc-gutter) !important;
}

/* ==========================================================
   IMAGE ASPECT RATIO CLASSES
   ========================================================== */

.sc-aspect-ratio-3-1 {
  aspect-ratio: 3 / 1;
  width: 100%;
  overflow: hidden;
}

.sc-aspect-ratio-3-2 {
  aspect-ratio: 3 / 2;
  width: 100%;
  overflow: hidden;
}

.sc-aspect-ratio-3-2 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.sc-aspect-ratio-2-3 {
  aspect-ratio: 2 / 3;
  width: 100%;
  overflow: hidden;
}

.sc-aspect-ratio-2-3 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.sc-aspect-ratio-3-4 {
  aspect-ratio: 3 / 4;
  width: 100%;
  overflow: hidden;
}

.sc-aspect-ratio-3-4 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}
/* END aspect ratio */

/* START: CARMEL MEGA MENU */

/* ==========================================================
   CARMEL MOBILE MEGA MENU
   ========================================================== */
#mega-menu-wrap-max_mega_menu_5 .mega-menu-toggle .mega-toggle-block-3 .mega-toggle-animated-inner, 
#mega-menu-wrap-max_mega_menu_5 .mega-menu-toggle .mega-toggle-block-3 .mega-toggle-animated-inner::before, 
#mega-menu-wrap-max_mega_menu_5 .mega-menu-toggle .mega-toggle-block-3 .mega-toggle-animated-inner::after {
  background-color: var(--e-global-color-ac08155) !important;
}

/* ==========================================================
   CARMEL DESKTOP POPUP MEGA MENU
   ========================================================== */

.popup-mega-menu {
    --carmel-level-1-width: 400px;
    --carmel-level-2-left: 440px;
    --carmel-level-2-width: 360px;

    --menu-color-h1: var(--sc-primary);
    --menu-color-h2: var(--sc-primary);
    --menu-accent: var(--sc-neutral-dark);
}
/* Reduce column width on narrow laptop only, reset back to base on tablet */
@media screen and (min-width: 1025px) and (max-width: 1330px) {
    .popup-mega-menu {
        --carmel-level-1-width: 310px;
        --carmel-level-2-left: 340px;
        --carmel-level-2-width: 270px;
    }
}


/* ----------------------------------------------------------
   Wrapper reset
   ---------------------------------------------------------- */

.popup-mega-menu #mega-menu-wrap-max_mega_menu_9,
.popup-mega-menu #mega-menu-wrap-max_mega_menu_9 #mega-menu-max_mega_menu_9 {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.popup-mega-menu #mega-menu-wrap-max_mega_menu_9 {
    position: relative !important;
    overflow: visible !important;
}


/* Hide Max Mega Menu mobile controls inside the desktop popup */

.popup-mega-menu .mega-menu-toggle,
.popup-mega-menu .mega-close {
    display: none !important;
}


/* ----------------------------------------------------------
   Main menu / positioning context
   ---------------------------------------------------------- */

.popup-mega-menu #mega-menu-max_mega_menu_9 {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: var(--carmel-level-1-width) !important;
    min-height: 440px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}


/* ----------------------------------------------------------
   Level 1 items
   ---------------------------------------------------------- */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item {
    /*
     * Important:
     * The LI must be static so that every Level 2 submenu uses
     * #mega-menu-max_mega_menu_9 as its positioning context.
     */
    position: static !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 0 !important;

    float: none !important;
    clear: both !important;

    margin: 0 !important; 
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
}


/* Level 1 links */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item
> a.mega-menu-link {
    position: relative !important;
    z-index: 2 !important;

    display: block !important;
    flex: 0 0 auto !important;

    width: auto !important;
    min-width: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 2.5vh 0 !important;
		/*padding: 30px 0 !important; - original*/

		font-family: "ivymode", sans-serif !important; 
    font-size: var(--sc-menu-h1-clamp) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;

    color: var(--menu-color-h1) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
		
		transition: color 200ms ease 250ms !important;
}

/* active and Hovered Level 1 links */
.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item
> a.mega-menu-link:hover,
.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item:hover
> a.mega-menu-link {
    color: var(--menu-accent) !important;
		transition: color 200ms ease 0s !important;
}

/* Remove Max Mega Menu's built-in indicators from Level 1 */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item
> a.mega-menu-link
> 
{
    display: none !important;
}


/* ----------------------------------------------------------
   Level 1 gold line
   ---------------------------------------------------------- */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item::before {
    display: none !important;
    content: none !important;
}

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item::after {
    /*
     * These !important declarations override Max Mega Menu's
     * clearfix pseudo-element styling.
     */
    content: "" !important;
    display: block !important;

    flex: 1 1 auto !important;

    width: auto !important;
    min-width: 20px !important;
    height: 1px !important;

    margin: 2px 0 0 24px !important;
    padding: 0 !important;

    background: var(--menu-accent) !important;
    border: 0 !important;

    opacity: 0 !important;
    transform: scaleX(0) !important;
    transform-origin: left center !important;

    transition:
        transform 350ms ease,
        opacity 200ms ease !important;

    pointer-events: none !important;
}


/* Display the line for the active Level 1 item */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item.is-active::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
}


/* Optional keyboard-focus support */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item:focus-within::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
}


/* ----------------------------------------------------------
   Level 2 panel
   ---------------------------------------------------------- */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item
> ul.mega-sub-menu {
    /*
     * Because the parent LI is position: static, top: 0 now
     * means the top of the complete mega-menu wrapper.
     */
    position: absolute !important;
    top: 0 !important;
    left: var(--carmel-level-2-left) !important;
    z-index: 10 !important;

    display: block !important;

    width: var(--carmel-level-2-width) !important;
    min-width: var(--carmel-level-2-width) !important;
    max-width: var(--carmel-level-2-width) !important;

    margin: 0 !important;
    padding: 2vh 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transform: translateX(16px) !important;

    transition:
        opacity 220ms ease,
        transform 260ms ease,
        visibility 0s linear 260ms !important;
}


/* Prevent Max Mega Menu's hover rules from independently opening panels */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item:hover
> ul.mega-sub-menu:not(.carmel-ignore) {
    /*
     * Visibility continues to be controlled by .is-active.
     * The selector is retained only to defeat plugin-generated
     * hover positioning rules.
     */
}


/* Show only the active Level 2 panel */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item.is-active
> ul.mega-sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: translateX(0) !important;

    transition:
        opacity 220ms ease,
        transform 260ms ease,
        visibility 0s linear 0s !important;
}


/* Level 2 items */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li.mega-menu-item
> ul.mega-sub-menu
> li.mega-menu-item {
    position: relative !important;

    display: block !important;
    float: none !important;
    clear: both !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
}


/* Remove clearfix pseudo-elements from Level 2 items */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li::before,
.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li::after {
    display: none !important;
    content: none !important;
}


/* Level 2 links */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li
> a.mega-menu-link {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 11px 38px 11px 0 !important;

    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;

    color: var(--menu-color-h2) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    text-align: left !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}


/* Active and hovered Level 2 links */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li:hover
> a.mega-menu-link,
.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li.is-open
> a.mega-menu-link {
    color: var(--menu-accent) !important;
}


/* ----------------------------------------------------------
   Level 2 expand/collapse arrow
   ---------------------------------------------------------- */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li.mega-menu-item-has-children
> a.mega-menu-link
> .mega-indicator {
    position: absolute !important;
    top: 50% !important;
    right: 4px !important;

    display: block !important;

    width: 9px !important;
    height: 9px !important;

    margin: -6px 0 0 !important;
    padding: 0 !important;

    border-right: 1px solid var(--menu-color-h2) !important;
    border-bottom: 1px solid var(--menu-color-h2) !important;

    transform: rotate(45deg) !important;
    transform-origin: center !important;

    transition:
        transform 220ms ease,
        border-color 220ms ease !important;

    font-size: 0 !important;
    line-height: 0 !important;
}


/* Remove text/icon inserted inside the indicator */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li.mega-menu-item-has-children
> a.mega-menu-link
> .mega-indicator::after {
    display: none !important;
    content: none !important;
}


/* Turn arrow upward when Level 3 is open */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li.mega-menu-item-has-children.is-open
> a.mega-menu-link
> .mega-indicator {
    border-color: var(--menu-accent) !important;
    transform: rotate(225deg) !important;
    margin-top: -2px !important;
}


/* ----------------------------------------------------------
   Level 3 accordion
   ---------------------------------------------------------- */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li
> ul.mega-sub-menu {
    position: static !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    max-height: 0 !important;
    overflow: hidden !important;

    margin: 0 !important;
    padding: 0 0 0 16px !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    opacity: 0 !important;
    visibility: hidden !important;

    transform: none !important;

    transition:
        max-height 350ms ease,
        opacity 220ms ease,
        visibility 0s linear 350ms !important;
}


/* Level 3 visible after clicking Level 2 */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li.is-open
> ul.mega-sub-menu {
    max-height: 500px !important;

    padding-top: 4px !important;
    padding-bottom: 12px !important;

    opacity: 1 !important;
    visibility: visible !important;

    transition:
        max-height 350ms ease,
        opacity 220ms ease,
        visibility 0s linear 0s !important;
}


/* Level 3 items */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li
> ul.mega-sub-menu
> li.mega-menu-item {
    position: static !important;

    display: block !important;
    float: none !important;
    clear: both !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
}


/* Level 3 links */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li
> ul.mega-sub-menu
> li
> a.mega-menu-link {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 6px 0 !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;

    color: var(--menu-color-h2) !important;
    background: transparent !important;

    text-transform: none !important;
    letter-spacing: 0 !important;
}


/* Level 3 hover */

.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li
> ul.mega-sub-menu
> li
> a.mega-menu-link:hover,
.popup-mega-menu
#mega-menu-max_mega_menu_9
> li
> ul.mega-sub-menu
> li
> ul.mega-sub-menu
> li
> a.mega-menu-link:focus {
    color: var(--menu-accent) !important;
}


/* ----------------------------------------------------------
   Tablet/mobile fallback
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .popup-mega-menu #mega-menu-max_mega_menu_9 {
        display: block !important;

        width: 100% !important;
        min-height: 0 !important;
    }

    .popup-mega-menu
    #mega-menu-max_mega_menu_9
    > li.mega-menu-item {
        position: relative !important;
        display: block !important;
    }

    .popup-mega-menu
    #mega-menu-max_mega_menu_9
    > li.mega-menu-item
    > a.mega-menu-link {
        white-space: normal !important;
    }

    .popup-mega-menu
    #mega-menu-max_mega_menu_9
    > li.mega-menu-item::after {
        display: none !important;
        content: none !important;
    }

    .popup-mega-menu
    #mega-menu-max_mega_menu_9
    > li.mega-menu-item
    > ul.mega-sub-menu {
        position: static !important;

        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: 0 !important;

        overflow: hidden !important;

        margin: 0 !important;
        padding: 0 0 0 20px !important;

        opacity: 0 !important;
        visibility: hidden !important;

        transform: none !important;
    }

    .popup-mega-menu
    #mega-menu-max_mega_menu_9
    > li.mega-menu-item.is-active
    > ul.mega-sub-menu {
        max-height: 1000px !important;

        opacity: 1 !important;
        visibility: visible !important;
    }
}

#mega-menu-max_mega_menu_9 > .mega-menu-item > .mega-menu-link > .mega-indicator {
	display:none !important;
}

/* Hide the close icon initially */
.menu-close-icon, .menu-burger-icon {
    display: none;
}

/* Swap icons when the off-canvas menu is open */
.menu-icon-toggle.is-menu-open .menu-burger-icon {
    display: none;
}

.menu-icon-toggle.is-menu-open .menu-close-icon {
    display: block;
}


@media (min-width: 768px) {
		#mega-menu-item-3393, #nav-menu-footer, .elementor-3389 { display:none; }
		.menu-icon-toggle.is-menu-open .menu-close-icon { display: block; }
		/* Ensure both icons are clickable */
		.menu-burger-icon,
		.menu-close-icon {
				cursor: pointer;
		}
}
/* END: CARMEL MEGA MENU */