:root {
	--ac-mega-text: #1b7f84;
	--ac-mega-border: #66aeb0;
	--ac-mega-bg: #f1faf8;
	--ac-mega-panel-bg: #ffffff;
	--ac-mega-heading: #1b7f84;
}

.ac-mega-menu {
	position: relative;
	z-index: 40;
	width: 100%;
	font-family: "Cormorant Garamond", Georgia, serif;
}

.ac-mega-menu ul,
.ac-mega-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ac-mega-menu__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: flex-start;
	border-top: 1px solid var(--ac-mega-border);
	border-bottom: 1px solid var(--ac-mega-border);
	background: var(--ac-mega-bg);
}

.ac-mega-menu__item {
	position: relative;
	display: flex;
	align-items: center;
	border-left: 1px solid var(--ac-mega-border);
}

.ac-mega-menu__item:last-child {
	border-right: 1px solid var(--ac-mega-border);
}

.ac-mega-menu__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 24px;
	color: var(--ac-mega-text);
	text-decoration: none;
	font-size: 22px;
	line-height: 1.1;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.ac-mega-menu__toggle {
	display: none;
}

.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu,
.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu > .elementor-item {
	position: relative;
}

.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu {
	position: static;
}

.ac-mega-menu__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	min-width: 100vw;
	padding: 34px 0 26px;
	background: var(--ac-mega-panel-bg);
	border-top: 1px solid rgba(102, 174, 176, 0.45);
	box-shadow: 0 18px 32px rgba(0, 0, 0, 0.08);
}

.ac-mega-menu__panel-inner {
	width: min(1180px, calc(100vw - 48px));
	margin: 0 auto;
}

.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu > .ac-mega-menu__panel {
	z-index: 999;
}

.ac-mega-menu__item:hover > .ac-mega-menu__panel,
.ac-mega-menu__item:focus-within > .ac-mega-menu__panel,
.ac-mega-menu__item.is-open > .ac-mega-menu__panel,
.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu:hover > .ac-mega-menu__panel,
.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu:focus-within > .ac-mega-menu__panel,
.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu.is-open > .ac-mega-menu__panel {
	display: block;
}

.ac-mega-menu__item:hover > .ac-mega-menu__panel[hidden],
.ac-mega-menu__item:focus-within > .ac-mega-menu__panel[hidden],
.ac-mega-menu__item.is-open > .ac-mega-menu__panel[hidden],
.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu:hover > .ac-mega-menu__panel[hidden],
.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu:focus-within > .ac-mega-menu__panel[hidden],
.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu.is-open > .ac-mega-menu__panel[hidden] {
	display: block;
}

.ac-mega-menu__panel .elementor-section,
.ac-mega-menu__panel .elementor-container,
.ac-mega-menu__panel .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
	margin: 0;
}

.ac-mega-menu__panel .elementor-widget-heading .elementor-heading-title,
.ac-mega-menu__panel h1,
.ac-mega-menu__panel h2,
.ac-mega-menu__panel h3,
.ac-mega-menu__panel h4 {
	color: var(--ac-mega-heading);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.15;
	margin: 0;
}

.ac-mega-menu__panel .elementor-widget-heading {
	margin-bottom: 8px;
}

.ac-mega-menu__panel .elementor-widget-icon-list {
	margin-top: 0;
}

.ac-mega-menu__panel .elementor-widget-heading + .elementor-widget-icon-list {
	margin-top: 0;
}

.ac-mega-menu__panel .elementor-widget:not(:last-child) {
	margin-bottom: 10px;
}

.ac-mega-menu__panel .elementor-widget-heading:not(:last-child) {
	margin-bottom: 8px;
}

.ac-mega-menu__panel .elementor-icon-list-items {
	margin-top: 0;
}

.ac-mega-menu__panel .elementor-icon-list-item a,
.ac-mega-menu__panel a {
	color: var(--ac-mega-text);
	text-decoration: none;
}

.ac-mega-menu__panel .elementor-icon-list-item {
	padding: 0 0 9px;
	margin-bottom: 9px;
	border-bottom: 1px solid var(--ac-mega-border);
}

.ac-mega-menu__panel .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:last-child {
	margin-bottom: 0;
}

.ac-mega-menu__panel .elementor-icon-list-text,
.ac-mega-menu__panel .elementor-text-editor,
.ac-mega-menu__panel p,
.ac-mega-menu__panel li {
	font-size: 18px;
	line-height: 1.25;
}

.ac-mega-menu__panel .elementor-widget-wrap {
	align-content: flex-start;
}

.ac-mega-menu__panel .elementor-element.elementor-widget-icon-list,
.ac-mega-menu__panel .elementor-element.elementor-widget-heading {
	--e-widget-margin-bottom: 0px;
}

@media (min-width: 1025px) {
	.ac-mega-menu__item--has-panel {
		position: static;
	}
}

@media (max-width: 1024px) {
	.ac-mega-menu__list {
		flex-direction: column;
	}

	.ac-mega-menu__item,
	.ac-mega-menu__item:last-child {
		border-right: 1px solid var(--ac-mega-border);
	}

	.ac-mega-menu__link {
		flex: 1 1 auto;
		justify-content: flex-start;
		padding: 16px 18px;
		font-size: 18px;
	}

	.ac-mega-menu__item {
		flex-wrap: wrap;
	}

	.ac-mega-menu__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		margin-left: auto;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu {
		flex-wrap: wrap;
	}

	.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu > .ac-mega-menu__toggle {
		position: absolute;
		top: 50%;
		right: 8px;
		transform: translateY(-50%);
		z-index: 2;
	}

	.ac-mega-menu__toggle-line,
	.ac-mega-menu__toggle-line::before {
		display: block;
		width: 16px;
		height: 1px;
		background: var(--ac-mega-text);
		content: "";
	}

	.ac-mega-menu__toggle-line::before {
		transform: rotate(90deg);
	}

	.ac-mega-menu__item.is-open .ac-mega-menu__toggle-line::before {
		display: none;
	}

	.ac-mega-menu__panel {
		position: static;
		min-width: 100%;
		padding: 20px 18px 14px;
		border-top: 1px solid var(--ac-mega-border);
		box-shadow: none;
	}

	.ac-mega-menu__panel-inner {
		width: 100%;
	}

	.elementor-nav-menu--main .elementor-nav-menu > li.ac-has-mega-menu > .ac-mega-menu__panel {
		position: static;
		order: 20;
		width: 100%;
		min-width: 100%;
	}
}
