/*
 * Header and footer built in Elementor Theme Builder, styled to match the
 * old mrg-theme-1 chrome (blk-head1.php + footer.php). The top bar and footer
 * HTML widgets reuse the old markup, so base.css styles them; this file
 * covers the Elementor widgets (logo, nav menu, phone) and wrappers.
 */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.screen-reader-text:focus {
	position: fixed;
	top: 5px;
	left: 5px;
	z-index: 100000;
	width: auto;
	height: auto;
	clip: auto;
	padding: 12px 20px;
	background: #fff;
	color: #340547;
}

.sg-header .elementor-widget:not(:last-child),
.sg-footer .elementor-widget:not(:last-child) {
	margin-bottom: 0;
}

/* ---------- Header wrapper (was .sticky-nav) ---------- */

.sg-header {
	background: #fff;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.35);
	z-index: 170;
}

/* Elementor's `.elementor img { height: auto }` would squash the Book Now tab */
.sg-topbar .sticky-btn img {
	height: 171px;
}

@media (max-width: 767px) {
	.sg-topbar .sticky-btn img {
		height: 100%;
	}
}

/* ---------- Logo / menu / phone row (was .navbar) ---------- */

.sg-navrow {
	margin: 10px 0;
}

.sg-navrow > .elementor-container {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	padding: 0 15px;
}

.sg-navrow > .elementor-container > .elementor-column {
	width: auto !important;
}

.sg-navrow .sg-col-logo {
	flex: 0 0 auto;
}

.sg-navrow .sg-col-menu {
	flex: 1 1 auto;
	min-width: 0;
}

.sg-navrow .sg-col-phone {
	flex: 0 0 auto;
}

.sg-logo {
	padding: 15px 15px 15px 0;
}

.sg-logo a {
	display: block;
	line-height: 0;
}

.sg-logo img {
	display: block;
	width: 220px;
	height: auto;
}

/* Top-level items */
.sg-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 15.5px;
	font-weight: 500;
	line-height: 20px;
	text-transform: uppercase;
	color: #666;
	padding: 10px 12px;
	margin: 18px 0 0 0;
	border-bottom: 2px solid #fff;
}

.sg-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover,
.sg-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:focus {
	color: #340547;
	border-bottom-color: #340547;
	opacity: 0.7;
}

.sg-nav .elementor-nav-menu--main .elementor-nav-menu > li.current-menu-item > a.elementor-item,
.sg-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item.elementor-item-active {
	color: #340547;
}

/* Bootstrap-style caret after parents */
.sg-nav .elementor-nav-menu--main .sub-arrow {
	padding: 0 0 0 7px;
	font-size: 0;
	line-height: 0;
}

.sg-nav .elementor-nav-menu--main .elementor-nav-menu > li > a .sub-arrow::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	vertical-align: middle;
	border-top: 4px dashed;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}

.sg-nav .elementor-nav-menu--main .sub-arrow i,
.sg-nav .elementor-nav-menu--main .sub-arrow svg {
	display: none;
}

/* Dropdowns (old theme showed two levels only) */
.sg-nav .elementor-nav-menu--main ul.sub-menu {
	min-width: 160px;
	padding: 0;
	background: #fff;
	border: 0;
	border-radius: 0;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

.sg-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.42857143;
	text-transform: uppercase;
	color: #333;
	background: transparent;
	padding: 10px 20px;
	border: 0;
	white-space: nowrap;
}

.sg-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item.elementor-item-active {
	color: #333;
	background: transparent;
}

.sg-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover,
.sg-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:focus {
	color: #262626;
	background-color: #e8e8e8;
	background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);
}

.sg-nav .elementor-nav-menu--main ul.sub-menu ul.sub-menu,
.sg-nav .elementor-nav-menu--main ul.sub-menu .sub-arrow,
.sg-nav .elementor-nav-menu--dropdown ul.sub-menu ul.sub-menu,
.sg-nav .elementor-nav-menu--dropdown ul.sub-menu .sub-arrow {
	display: none !important;
}

/* Phone (was primary2 menu) */
.sg-phone a {
	display: block;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 22px;
	color: #666;
	padding: 5px 15px;
	margin-top: 15px;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
}

.sg-phone a:hover {
	color: #340547;
	opacity: 0.6;
}

.sg-phone .glyphicon {
	top: 4px;
}

@media (max-width: 1199px) {
	.sg-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
		padding: 10px;
	}

	.sg-navrow .sg-col-phone {
		display: none;
	}
}

@media (max-width: 991px) {
	.sg-logo img {
		width: 160px;
	}

	.sg-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
		font-size: 14px;
		padding: 10px 8px;
		margin-top: 13px;
	}
}

/* ---------- Mobile: hamburger + dropdown ---------- */

@media (max-width: 767px) {
	.sg-navrow {
		margin: 0;
	}

	.sg-navrow > .elementor-container {
		align-items: center;
	}

	.sg-logo img {
		width: 150px;
	}

	/* Old Bootstrap toggle: three flat 32x3 bars, 6px apart, open or closed */
	.sg-nav .elementor-menu-toggle {
		margin-left: auto;
		padding: 9px 10px;
		background: transparent;
	}

	.sg-nav .elementor-menu-toggle svg,
	.sg-nav .elementor-menu-toggle i {
		display: none;
	}

	.sg-nav .elementor-menu-toggle::before {
		content: "";
		display: block;
		width: 32px;
		height: 3px;
		margin: 0 0 18px;
		border-radius: 1px;
		background: #603779;
		box-shadow: 0 9px 0 #603779, 0 18px 0 #603779;
	}

	.sg-nav .elementor-nav-menu--dropdown {
		background: #fff;
		box-shadow: none;
	}

	.sg-nav .elementor-nav-menu--dropdown a.elementor-item {
		justify-content: center;
		font-family: 'Josefin Sans', sans-serif;
		font-size: 16px;
		font-weight: 500;
		text-transform: uppercase;
		line-height: 20px;
		color: #666;
		background: #fff;
		padding: 12px 0;
		border: 0;
		border-bottom: 2px solid #fff;
	}

	.sg-nav .elementor-nav-menu--dropdown a:focus:not(:focus-visible) {
		outline: none;
	}

	.sg-nav .elementor-nav-menu--dropdown a.elementor-item.highlighted {
		color: #340547;
		background: #fff;
		border-bottom-color: #340547;
		opacity: 0.7;
	}

	.sg-nav .elementor-nav-menu--dropdown .sub-arrow {
		padding: 0 0 0 7px;
		font-size: 0;
		line-height: 0;
	}

	.sg-nav .elementor-nav-menu--dropdown .sub-arrow i,
	.sg-nav .elementor-nav-menu--dropdown .sub-arrow svg {
		display: none;
	}

	.sg-nav .elementor-nav-menu--dropdown a.elementor-item .sub-arrow::after {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		vertical-align: middle;
		border-top: 4px dashed;
		border-right: 4px solid transparent;
		border-left: 4px solid transparent;
	}

	.sg-nav .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
	.sg-nav .elementor-nav-menu--dropdown li.current-menu-item > a.elementor-item {
		color: #340547;
		background: #fff;
	}

	.sg-nav .elementor-nav-menu--dropdown ul.sub-menu {
		background: #f7f7f7;
	}

	.sg-nav .elementor-nav-menu--dropdown a.elementor-sub-item {
		justify-content: center;
		font-family: 'Josefin Sans', sans-serif;
		font-size: 14px;
		font-weight: 400;
		line-height: 20px;
		text-transform: uppercase;
		color: #777;
		background: #f7f7f7;
		padding: 10px 0;
		border: 0;
	}
}
