/* End Custom Fonts CSS */

.elementor-kit-7865 {
	--e-global-color-primary: #2e0054;
	--e-global-color-secondary: #782965;
	--e-global-color-text: #000;
	--e-global-color-accent: #d91266;
	--e-global-color-40828fa: #2e0054;
	--e-global-color-72f5b5a: #2e0054;
	--e-global-color-30a23ac: #2e0054;
	--e-global-color-5fac7d0: rgba(46, 0, 84, .3);
	--e-global-color-b73122f: #f3eff8;
	--e-global-color-55abe40: #d5ccdd;
	--e-global-color-75905fa: #ffe4ee;
	--e-global-color-65f1790: #fff;
	--e-global-color-9491831: #2b1750;
	--e-global-color-8a893d8: #ccccfb;
	--e-global-color-455bd4b: #fae071;
	--e-global-color-eee2ec4: #782965;
	--e-global-color-5bb0f3e: #f6f0eb;
	--e-global-color-88a6e07: #fefbf8;
	--e-global-typography-primary-font-family: "Tropiline";
	--e-global-typography-primary-font-size: 54px;
	--e-global-typography-primary-font-weight: 400;
	--e-global-typography-primary-line-height: 1.2em;
	--e-global-typography-secondary-font-family: "Tropiline";
	--e-global-typography-secondary-font-size: 40px;
	--e-global-typography-secondary-font-weight: 600;
	--e-global-typography-secondary-line-height: 1.2em;
	--e-global-typography-text-font-family: "Manrope";
	--e-global-typography-text-font-size: 18px;
	--e-global-typography-text-font-weight: 300;
	--e-global-typography-text-line-height: 1.5em;
	--e-global-typography-accent-font-family: "Poppins";
	--e-global-typography-accent-font-weight: 500;
	--e-global-typography-42366e8-font-family: "Tropiline";
	--e-global-typography-42366e8-font-size: 72px;
	--e-global-typography-42366e8-font-weight: 400;
	--e-global-typography-42366e8-line-height: 1.15em;
	--e-global-typography-d783028-font-family: "Tropiline";
	--e-global-typography-d783028-font-size: 60px;
	--e-global-typography-d783028-font-weight: 400;
	--e-global-typography-d783028-line-height: 1.15em;
	--e-global-typography-87005c2-font-family: "Tropiline";
	--e-global-typography-87005c2-font-size: 40px;
	--e-global-typography-87005c2-font-weight: 400;
	--e-global-typography-87005c2-line-height: 1.3em;
	--e-global-typography-6063c46-font-family: "Tropiline";
	--e-global-typography-6063c46-font-size: 24px;
	--e-global-typography-6063c46-font-weight: 400;
	--e-global-typography-6063c46-line-height: 1.3em;
	--e-global-typography-67b7d84-font-family: "Poppins";
	--e-global-typography-67b7d84-font-size: 16px;
	--e-global-typography-67b7d84-font-weight: 600;
	--e-global-typography-67b7d84-text-transform: uppercase;
	--e-global-typography-67b7d84-line-height: 1.5em;
	--e-global-typography-0bd9bd0-font-family: "Poppins";
	--e-global-typography-0bd9bd0-font-size: 48px;
	--e-global-typography-0bd9bd0-font-weight: 700;
	--e-global-typography-0bd9bd0-line-height: 1.4em;
	--e-global-typography-0ebf077-font-family: "Manrope";
	--e-global-typography-0ebf077-font-size: 22px;
	--e-global-typography-0ebf077-font-weight: 400;
	--e-global-typography-0ebf077-line-height: 1.5em;
	--e-global-typography-0ebf077-letter-spacing: .017px;
	--e-global-typography-3639e02-font-family: "Manrope";
	--e-global-typography-3639e02-font-size: 18px;
	--e-global-typography-3639e02-font-weight: 400;
	--e-global-typography-3639e02-line-height: 1.5em;
	--e-global-typography-69a638a-font-family: "Manrope";
	--e-global-typography-69a638a-font-size: 18px;
	--e-global-typography-69a638a-font-weight: 700;
	--e-global-typography-69a638a-line-height: 1.5em;
	--e-global-typography-23e80a9-font-family: "Tropiline";
	--e-global-typography-23e80a9-font-size: 36px;
	--e-global-typography-23e80a9-font-weight: 400;
	--e-global-typography-23e80a9-line-height: 1.3em;
	background-color: #fefbf8;
	color: #2b1750;
	font-family: "Manrope", Sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5em;
}

.elementor-kit-7865 button, .elementor-kit-7865 input[type="button"], .elementor-kit-7865 input[type="submit"], .elementor-kit-7865 .elementor-button {
	background-color: #fae071;
	font-family: "Poppins", Sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1.5em;
	letter-spacing: .2px;
	color: #2b1750;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: #fae071;
	border-radius: 8px 8px 8px 8px;
	padding: 15px 31px 15px 31px;
}

.elementor-kit-7865 button:hover, .elementor-kit-7865 button:focus, .elementor-kit-7865 input[type="button"]:hover, .elementor-kit-7865 input[type="button"]:focus, .elementor-kit-7865 input[type="submit"]:hover, .elementor-kit-7865 input[type="submit"]:focus, .elementor-kit-7865 .elementor-button:hover, .elementor-kit-7865 .elementor-button:focus {
	background-color: #e5cf6e;
	color: #2b1750;
}

.elementor-kit-7865 e-page-transition {
	background-color: #ffbc7d;
}

.elementor-kit-7865 p {
	margin-block-end: 0px;
}

.elementor-kit-7865 a {
	color: var(--e-global-color-secondary);
	font-family: "Poppins", Sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2em;
}

.elementor-kit-7865 a:hover {
	color: var(--e-global-color-40828fa);
}

.elementor-kit-7865 h1 {
	color: var(--e-global-color-9491831);
	font-family: var(--e-global-typography-42366e8-font-family), Sans-serif;
	font-size: var(--e-global-typography-42366e8-font-size);
	font-weight: var(--e-global-typography-42366e8-font-weight);
	line-height: var(--e-global-typography-42366e8-line-height);
}

.elementor-kit-7865 h2 {
	color: var(--e-global-color-9491831);
	font-family: "Tropiline", Sans-serif;
	font-size: 60px;
	font-weight: 400;
	line-height: 1.15em;
}

.elementor-kit-7865 h3 {
	color: var(--e-global-color-9491831);
	font-family: "Tropiline", Sans-serif;
	font-size: 40px;
	font-weight: 400;
	line-height: 1.3em;
}

.elementor-kit-7865 h4 {
	color: var(--e-global-color-9491831);
	font-family: "Tropiline", Sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.3em;
}

.elementor-kit-7865 h5 {
	font-family: "Poppins", Sans-serif;
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
	line-height: 1.5em;
}

.elementor-kit-7865 label {
	color: var(--e-global-color-9491831);
	font-family: "Manrope", Sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5em;
}

.elementor-kit-7865 input:not([type="button"]):not([type="submit"]), .elementor-kit-7865 textarea, .elementor-kit-7865 .elementor-field-textual {
	font-family: var(--e-global-typography-3639e02-font-family), Sans-serif;
	font-size: var(--e-global-typography-3639e02-font-size);
	font-weight: var(--e-global-typography-3639e02-font-weight);
	line-height: var(--e-global-typography-3639e02-line-height);
	color: var(--e-global-color-9491831);
	background-color: #fefbf8;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: #2b1750;
	border-radius: 8px 8px 8px 8px;
}

.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 1348px;
}

.e-con {
	--container-max-width: 1348px;
}

.elementor-widget:not(:last-child) {
	margin-block-end: 20px;
}

.elementor-element {
	--widgets-spacing: 20px 20px;
	--widgets-spacing-row: 20px;
	--widgets-spacing-column: 20px;
}

@media (max-width:1023px) {
	.elementor-kit-7865 {
		--e-global-typography-42366e8-font-size: 80px;
		--e-global-typography-42366e8-line-height: 1.15em;
		--e-global-typography-d783028-font-size: 64px;
		--e-global-typography-d783028-line-height: 1.3em;
		--e-global-typography-87005c2-font-size: 40px;
		--e-global-typography-87005c2-line-height: 1.3em;
		--e-global-typography-6063c46-font-size: 24px;
		--e-global-typography-6063c46-line-height: 1.3em;
		--e-global-typography-67b7d84-font-size: 14px;
		--e-global-typography-67b7d84-line-height: 1.3em;
		--e-global-typography-0bd9bd0-font-size: 36px;
		--e-global-typography-0ebf077-font-size: 18px;
		--e-global-typography-0ebf077-line-height: 1.5em;
		--e-global-typography-23e80a9-font-size: 32px;
		--e-global-typography-23e80a9-line-height: 1.3em;
		font-size: 14px;
	}
	
	.elementor-kit-7865 h1 {
		font-size: var(--e-global-typography-42366e8-font-size);
		line-height: var(--e-global-typography-42366e8-line-height);
	}
	
	.elementor-kit-7865 h2 {
		font-size: 64px;
		line-height: 1.3em;
	}
	
	.elementor-kit-7865 h3 {
		font-size: 40px;
		line-height: 1.3em;
	}
	
	.elementor-kit-7865 h4 {
		font-size: 24px;
		line-height: 1.3em;
	}
	
	.elementor-kit-7865 h5 {
		font-size: 14px;
		line-height: 1.3em;
	}
	
	.elementor-kit-7865 input:not([type="button"]):not([type="submit"]), .elementor-kit-7865 textarea, .elementor-kit-7865 .elementor-field-textual {
		font-size: var(--e-global-typography-3639e02-font-size);
		line-height: var(--e-global-typography-3639e02-line-height);
	}
	
	.elementor-section.elementor-section-boxed > .elementor-container {
		max-width: 1024px;
	}
	
	.e-con {
		--container-max-width: 1024px;
	}
}

@media (max-width:767px) {
	.elementor-kit-7865 {
		--e-global-typography-primary-font-size: 48px;
		--e-global-typography-secondary-font-size: 40px;
		--e-global-typography-text-font-size: 14px;
		--e-global-typography-42366e8-font-size: 64px;
		--e-global-typography-42366e8-line-height: 115%;
		--e-global-typography-d783028-font-size: 40px;
		--e-global-typography-87005c2-font-size: 24px;
		--e-global-typography-6063c46-font-size: 14px;
		--e-global-typography-67b7d84-font-size: 14px;
		--e-global-typography-0bd9bd0-font-size: 17px;
		font-size: 16px;
	}
	
	.elementor-kit-7865 a {
		font-size: 16px;
	}
	
	.elementor-kit-7865 h1 {
		font-size: var(--e-global-typography-42366e8-font-size);
		line-height: var(--e-global-typography-42366e8-line-height);
	}
	
	.elementor-kit-7865 h2 {
		font-size: 40px;
	}
	
	.elementor-kit-7865 h3 {
		font-size: 24px;
	}
	
	.elementor-kit-7865 h4 {
		font-size: 16px;
	}
	
	.elementor-kit-7865 h5 {
		font-size: 16px;
	}
	
	.elementor-kit-7865 button, .elementor-kit-7865 input[type="button"], .elementor-kit-7865 input[type="submit"], .elementor-kit-7865 .elementor-button {
		padding: 14px 32px 14px 32px;
	}
	
	.elementor-kit-7865 input:not([type="button"]):not([type="submit"]), .elementor-kit-7865 textarea, .elementor-kit-7865 .elementor-field-textual {
		font-size: var(--e-global-typography-3639e02-font-size);
		line-height: var(--e-global-typography-3639e02-line-height);
	}
	
	.elementor-section.elementor-section-boxed > .elementor-container {
		max-width: 767px;
	}
	
	.e-con {
		--container-max-width: 767px;
	}
}

/* Start custom CSS */

/* =========================
   CONFIG
   ========================= */
:root {
	--container-max: var(--e-global-container-width, 1280px);
	--container-pad: 24px;
	--header-h: 72px;
	--mega-gap: 24px;
	--left-col-min: 520px;
	--left-col-ideal: 620px;
	--left-col-max: 720px;
}

/* =========================
   HEADER BASICS
   ========================= */
.elementor-location-header {
	position: relative;
	z-index: 2000;
}

.elementor-location-header .elementor-container {
	max-width: var(--container-max);
	margin-inline: auto;
	width: 100vw;
	padding-inline: var(--container-pad);
	box-sizing: border-box;
}

/* =========================
   MOBILE (≤1024px)
   ========================= */
@media (max-width:1024px) {
	#mega-menu-mega {
		position: fixed;
		top: var(--header-h);
		left: 0;
		right: 0;
		width: 100vw;
		height: calc(100vh - var(--header-h));
		overflow-y: auto;
		overflow-x: hidden;
		transition: transform .25s ease;
		z-index: 1100;
		background: #f6f0eb;
		visibility: visible;
		opacity: 1;
	}
	
	/* Mobile submenus stack inline */
	#mega-menu-mega .mega-sub-menu {
		position: static;
		display: none;
		width: 100%;
		background: #f6f0eb;
		box-shadow: none;
	}
	
	#mega-menu-mega li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu, #mega-menu-mega li.mega-menu-item.mega-current-menu-ancestor > ul.mega-sub-menu {
		display: block;
	}
	
	#mega-menu-mega a.mega-menu-link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 1rem;
		font-size: 18px;
		font-weight: 600;
		color: #28164a;
		text-decoration: none;
	}
	
	#mega-menu-mega > li.mega-menu-item {
		padding: 1rem 0;
		border-top: 3px solid #f6f0eb;
		margin: 0 1rem;
	}
}

/* =========================
   GLOBAL SAFE RULES
   ========================= */
html, body {
	max-width: 100vw;
	overflow-x: hidden;
}

/* Headings */
.elementor-kit-7865 h1, .elementor-kit-7865 h2, .elementor-kit-7865 h3, .elementor-kit-7865 h4, .elementor-kit-7865 h5, .elementor-kit-7865 h6, .elementor-kit-7865 .elementor-heading-title, .elementor-kit-7865 .wp-block-post-title, .elementor-kit-7865 .wp-block-heading {
	font-family: "Tropiline", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-weight: 400;
}

/* EAEL Smart Post List titles */
.elementor-element-73177e3 .eael-post-list-title {
	font-family: "Tropiline", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 .5em;
	font-size: var(--e-global-typography-h5-font-size, 16px);
	letter-spacing: var(--e-global-typography-h5-letter-spacing, 0);
}

@media (max-width:1024px) {
	.elementor-element-73177e3 .eael-post-list-title {
		font-size: clamp(16px, 4.5vw, 16px);
	}
}

/* Logo row */
.logo-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin-inline: auto;
	width: 100%;
}

.logo-row .elementor-widget-image {
	margin: 0;
	display: flex;
	max-width: 280px;
}

.logo-row .elementor-widget-image .elementor-widget-container {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	height: 80px;
	padding: 0;
	line-height: 0;
	box-sizing: border-box;
}

.logo-row .elementor-widget-image .elementor-widget-container > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	height: 80px;
	text-decoration: none;
}

.logo-row .elementor-widget-image img {
	height: 80px;
	width: auto;
	max-width: 100%;
	display: block;
	object-fit: contain;
}

@media (max-width:768px) {
	.logo-row .elementor-widget-image img {
		height: 50px;
	}
}

/* =========================
   DESKTOP (≥1024px)
   ========================= */
@media (min-width:1024px) {
	/* Header section spans full width; inner container matches site width */
	.elementor-location-header .elementor-section {
		width: 100vw;
	}
	
	.elementor-location-header
  .elementor-section.elementor-section-boxed > .elementor-container, .elementor-location-header
  .elementor-section.elementor-section-full_width > .elementor-container {
		max-width: var(--container-max);
		margin-inline: auto;
		padding-inline: var(--container-pad);
		box-sizing: border-box;
		width: 100vw;
	}
	
	/* ===== Mega menu: LEFT-ALIGNED + wider left column ===== */
	
	/* Ensure wrap is positioned for absolute children */
	.elementor-location-header #mega-menu-wrap-mega {
		position: relative;
	}
	
	/* Submenu panel sits under parent; aligns to left edge of menu */
	#mega-menu-mega > li.mega-menu-megamenu > ul.mega-sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: auto;
		width: auto;
		min-width: 320px;
		max-width: 100vw;
		transform: none;
		text-align: left;
		pointer-events: auto;
		box-sizing: border-box;
	}
	
	/* Submenu row uses a flex layout with a wider left column */
	#mega-menu-mega > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row {
		display: flex;
		align-items: flex-start;
		gap: var(--mega-gap);
		margin: 0;
		padding-inline: var(--container-pad);
		box-sizing: border-box;
		width: 100%;
		max-width: var(--container-max);
	}
	
	/* Column targets:
     - If you have specific classes, these will apply.
     - Otherwise, first child = left column, second child = right column. */
	
	/* Prefer explicit class names when available */
	.mega-sub-menu .platform-menu {
		order: 1;
	}
	
	.mega-sub-menu .market-menu {
		order: 2;
	}
	
	/* Layout rules (work with or without the classes above) */
	#mega-menu-mega > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > *:first-child, .mega-sub-menu .platform-menu {
		flex: 0 1 clamp(var(--left-col-min), var(--left-col-ideal), var(--left-col-max));
		min-width: var(--left-col-min);
		max-width: var(--left-col-max);
		overflow: hidden;
	}
	
	#mega-menu-mega > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > *:nth-child(2), .mega-sub-menu .market-menu {
		flex: 1 1 auto;
		min-width: 280px;
		overflow: hidden;
	}
	
	/* Remove old centering on inner container */
	.mega-sub-menu .mega-menu-container {
		width: auto;
		margin: 0;
		box-sizing: border-box;
		align-items: flex-start !important;
	}
	
	/* Hard-stop any viewport bleed */
	.mega-sub-menu, .mega-sub-menu * {
		max-width: 100%;
	}
}
