/* ==========================================================================
  overrides.css – Third Party Overrides
========================================================================== */

/* Font Awesome */
.fa-times,
.fa-check-circle {
	font-size: 1.5em;
	padding-right: 10px;
}

.fa-check-circle {
	color: var(--wp--preset--color--vivid-green-cyan);
}

.fa-times {
	color: var(--wp--preset--color--vivid-red);
}

i.fas.fa-star {
	color: var(--wp--preset--color--luminous-vivid-amber);
}

/* Contact Form 7 */
form > .wpcf7-response-output {
	display: none;
}

form input[type="submit"].wpcf7-submit {
	background-color: var(--e-global-color-accent);
	color: var(--wp--preset--color--white);
	width: 100%;
}

form .wpcf7-checkbox input[type="checkbox"] {
	position: absolute;
	left: -9999px;
	opacity: 0;
	width: 1px;
	height: 1px;
}

form .wpcf7-checkbox > span {
	margin: 0;
}

form .wpcf7-checkbox .wpcf7-list-item-label {
	cursor: pointer;
	padding-left: 60px;
	vertical-align: sub;
}

form .wpcf7-checkbox .wpcf7-list-item-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 50px;
	height: 25px;
	background-color: var(--e-global-color-secondary);
	border-radius: 20px;
	transition: background 0.3s;
}

form .wpcf7-checkbox .wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	background-color: var(--wp--preset--color--white);
	border-radius: 20px;
	top: 2px;
	left: 2px;
	transition: transform 0.3s;
}

form .wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
	background-color: var(--e-global-color-accent);
}

form .wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	transform: translateX(25px);
}

/* Elementor Nav Menu */
nav.elementor-nav-menu__container li.menu-item > a.elementor-item-active,
nav.elementor-nav-menu__container li.menu-item > a:hover {
	background-color: inherit;
	color: inherit;
}

/* =========================
  Mobile Overrides
========================= */
@media (max-width: 767px) {
	/* Menu */
	nav.elementor-nav-menu--dropdown {
		background-color: transparent;
	}
	
	.elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown ul {
		height: 100vh;
		z-index: 2;
	}

	.elementor-nav-menu--dropdown .elementor-item {
		padding-left: 0;
		font-size: 15px;
	}

	.mobile-icon-only .elementor-button-text,
	header div.top-banner div.elementor-menu-toggle.elementor-active::before {
		display: none;
	}

	.elementor-nav-menu > .cta-block {
		margin-bottom: 10px;
	}

	.elementor-nav-menu > .cta-block .elementor-widget-button {
		width: 100%;
	}

	.elementor-nav-menu > .cta-block .elementor-widget-button > a {
		justify-content: center;
	}
	
	/* Top banner */
	header div.top-banner.fixed-nav {
		flex-direction: row-reverse;
		flex-wrap: nowrap;
	}

	header div.top-banner.fixed-nav .mobile-icon-only {
		margin-right: 10px;
	}

	header div.top-banner.fixed-nav .e-con > .elementor-widget-button > a.elementor-button  {
		padding: 10px;
	}

	header .top-banner > div > div.elementor-element.elementor-nav-menu--dropdown-mobile {
		width: 100%;
	}

	header div.top-banner.fixed-nav #mobile-nav-ctas {
		justify-content: start;
	}

	header div.top-banner div.elementor-menu-toggle {
		font-size: 15px;
		font-weight: var(--e-global-typography-primary-font-weight);
		font-family: var(--e-global-typography-primary-font-family), Sans-serif;
		line-height: 1;
		padding: 10px;
		background-color: var(--wp--preset--color--white);
	}

	header div.top-banner div.elementor-menu-toggle::before {
		display: block;
		content: "Menu";
		margin-right: 10px;
	}
}

/* =========================
  Desktop Overrides
========================= */
@media (min-width: 1024px) {
	form .elementor-container > .elementor-col-50:first-of-type {
		margin-right: 10px;
	}
}
