
/* 
Theme Name:GoNetspeed Theme
Description: GoNetspeed Theme is a child theme of Hello Elementor, created exclusively for GoNetspeed
Author: Mason Digital
Author URI: https://masondigital.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Add your custom styles here */
html, body {
	overflow-x: hidden;
}

h1 {
	font-size: 3em;
	letter-spacing: -2px;
	text-wrap: balance;
}

h2 {
	font-size: 2.5em;
	letter-spacing: -2px;
	text-wrap: balance;
}

h3 {
	font-size: 2em;
	letter-spacing: -1px;
	text-wrap: balance;
}

h4 {
	font-size: 1.5em;
	letter-spacing: -1px;
	text-wrap: balance;
}

@media (max-width: 767px) {
	h1 {
		font-size: 2em;
	}
	
	h2 {
		font-size: 2em;
	}
	
	h3 {
		font-size: 1.7em;
	}
	
	h4 {
		font-size: 1.3em;
	}
}

/* ELEMENTOR TWEAKS */
.elementor-widget-text-editor p:last-child {
	margin-bottom: 0px;
}

.elementor-widget-text-editor a:hover {
	text-decoration: underline;
}

.elementor-widget-text-editor strong {
	font-weight: 600;
}

.elementor-widget-text-editor ul, .elementor-widget-text-editor ol {
	margin-bottom: 20px;
}

.elementor-button:hover, .elementor-icon-list-item a:hover {
	text-decoration: none !important;
}

.secondary-white .elementor-button {
	background: transparent;
	border: 2px solid #fff;
}

.secondary-orange .elementor-button {
	background: transparent;
	border: 2px solid var(--e-global-color-accent);
	color: var(--e-global-color-accent);
}

/* Adjust z-index for sticky elements */
.e-con.elementor-sticky--active {
	z-index: var(--z-index, 8);
}

/* EXTERNAL LINKS */
.elementor-widget-text-editor a[href*="//"]:not([href*="www.gonetspeed.com"]),  {
	display: inline-flex;
	align-items: center;
}

a[href*="//"]:not([href*="www.gonetspeed.com"]):after {
	content: "";
	font-family: "FontAwesome";
	font-size: .75em;
	margin-left: 7px;
}

a.elementor-button[href*="//"]:not([href*="www.gonetspeed.com"]) {
	/* display: inline-flex!important;
	align-items: flex-end; */
	justify-content: center;
}

a.elementor-button[href*="//"]:not([href*="www.gonetspeed.com"]):after {
	margin-bottom: 2px;
	display: none;
}

a.elementor-button[href*="//"]:has([href*="shop.gonetspeed.com"]):after {
	display: none;
}

.elementor-widget-image a:after, .elementor-nav-menu--main a.elementor-item:after, a.slide-wrapper:after, a.elementor-icon:after {
	display: none;
}

.elementor-nav-menu--main a.elementor-sub-item:after {
	margin-left: 7px;
	margin-top: 2px;
}

a[href*="//"]:not([href*="www.gonetspeed.com"]).elementor-icon {
	align-items: center;
}

/* LINK ICONS */
a[href$=".pdf"], a[href$=".doc"], a[href$=".docx"], a[href$=".xlsx"], a[href^="mailto:"] {
	display: inline-flex;
}

a[href$=".pdf"]:before, a[href$=".doc"]:before, a[href$=".docx"]:before, a[href$=".xlsx"]:before, a[href^="mailto:"]:before {
	font-family: "FontAwesome";
	font-weight: 500;
	margin-right: 5px;
}

a[href$=".pdf"]:before {
	content: "";
}

a[href$=".doc"]:before, a[href$=".docx"]:before {
	content: "";
}

a[href$=".xlsx"]:before {
	content: "";
}

a[href^="mailto:"]:before {
	content: "";
}

.elementor-widget-image a[href$=".pdf"]:before, .elementor-widget-image a[href$=".doc"]:before, .elementor-widget-image a[href$=".docx"]:before {
	display: none;
}

.elementor-widget-text-editor a[href$=".pdf"] {
	font-weight: 500;
}

.gns-banner {
	color: #fff;
	font-size: .85em;
	font-weight: 600;
	text-align: center;
	padding: 5px 20px;
}

.gns-banner a {
	color: #fff;
	text-decoration: underline;
}

.gns-banner-wrapper {
	width: 100%;
	max-width: var(--content-width);
	margin: 0 auto;
}

.gns-banner-wrapper p {
	margin: 0;
}

#global_alert_banner {
	background-color: #a80000;
	text-transform: uppercase;
}

#global_promo_banner {
	background-color: var(--e-global-color-accent);
}

@media (max-width: 767px) {
	#shadow-root {
		margin-top: 42px !important;
		border-radius: 10px !important;
	}
}

.nav-locations-title {
	font-size: 1em;
	font-weight: 700;
	letter-spacing: .5px;
	margin: 0 0 3px 0;
}

.nav-locations-title i {
	margin-right: 6px;
	color: #623f98;
}

.nav-locations-title a {
	color: #623f98;
}

.nav-locations-coming-soon {
	font-size: .85em;
	font-weight: 600;
	text-transform: uppercase;
	color: #2571cf;
	padding-left: 20px;
}

.nav-locations-list {
	list-style: none;
	padding: 0 0 0 20px;
	margin: 0;
}

.nav-locations-list li {
	line-height: 1.4;
}

.nav-locations-list a {
	font-size: .9em;
}

.nav-locations-list li:last-child a {
	font-size: .75em;
	color: #666;
}

.nav-locations-title a:hover, .nav-locations-list a:hover {
	text-decoration: underline;
}

.nav-locations-msg {
	font-size: .8em;
	padding-left: 20px;
}

@media (max-width: 767px) {
	.nav-locations-title {
		font-size: 1em;
		letter-spacing: -.5px;
	}
	
	.nav-locations-list {
		padding: 0;
	}
	
	.nav-locations-msg, .nav-locations-coming-soon {
		padding-left: 0;
	}
}

.elementor-element .facetwp-facet {
	margin-bottom: 0;
}

.elementor-widget-facetwp-facet .facet-wrap h3 {
	color: var(--e-global-color-primary);
	font-size: 1.3em;
	margin-top: 0;
	margin-bottom: 10px;
}

.facetwp-type-search .facetwp-input-wrap {
	display: block;
}

.facetwp-type-search .facetwp-input-wrap .facetwp-icon:before {
	background-position: 0px 50%;
}

.facetwp-facet input.facetwp-search {
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 10px;
}

.facetwp-type-checkboxes .facetwp-checkbox {
	font-weight: 500;
}

.facetwp-type-checkboxes .facetwp-checkbox:hover {
	color: #000;
	text-decoration: underline;
}

.facetwp-type-checkboxes .facetwp-checkbox.checked {
	font-weight: 600;
	color: #000;
}

.facetwp-type-checkboxes .facetwp-checkbox .facetwp-display-value, .facetwp-type-checkboxes .facetwp-checkbox .facetwp-counter {
	font-size: .95em;
}

.facetwp-type-checkboxes a.facetwp-toggle {
	font-size: .85em;
	font-weight: 600;
	color: var(--e-global-color-accent);
}

.facetwp-type-checkboxes a.facetwp-toggle:hover {
	color: var(--e-global-color-accent);
	text-decoration: underline;
}

body .hbspt-form .hs-input {
	background-color: #fff !important;
}

.faq-groups {}

.faq-groups .faq-group {
	margin-bottom: 40px;
}

.faq-groups .faq-group .faq-category-title {
	color: var(--e-global-color-primary);
}

.faq-groups .faq-group .faq-list {
	list-style: none;
	padding: 0;
	border-top: 1px solid #ddd;
}

.faq-groups .faq-group .faq-item {
	border-bottom: 1px solid #ddd;
}

.faq-groups .faq-group .faq-list .faq-question {
	color: #000;
	font-size: 1.3em;
	font-weight: 500;
	padding: 15px 20px 15px 5px;
	display: flex;
	line-height: 1.2em;
	transition: .4s;
}

.faq-groups .faq-group .faq-list .faq-question:hover {
	color: var(--e-global-color-primary);
	background: #f7f7f7;
	cursor: pointer;
	transition: .2s;
}

.faq-groups .faq-group .faq-list .faq-question:before {
	content: "";
	font-family: "FontAwesome";
	font-weight: 900;
	font-size: 18px;
	color: #f16521;
	margin-right: 12px;
	transition: .3s;
	height: fit-content;
}

.faq-groups .faq-group .faq-list .faq-question.active {
	color: var(--e-global-color-primary);
}

.faq-groups .faq-group .faq-list .faq-question.active:before {
	content: "";
	transform: rotate(180deg);
}

.faq-groups .faq-group .faq-list .faq-answer {
	padding: 15px 0 10px 35px;
	display: none;
	/* max-height: 0; */
	overflow: hiddden;
}

.faq-groups .faq-group .faq-list .faq-answer ul {
	list-style: disc;
	margin-bottom: 15px;
}

.faq-groups .faq-group .faq-list .faq-answer ul ul {
	list-style: circle;
}

.faq-groups .faq-group .faq-list .faq-answer a {
	font-weight: 500;
}

.faq-groups .faq-group .faq-list .faq-answer strong {
	font-weight: 600;
	color: #222;
}

@media (max-width: 767px) {
	.faq-groups .faq-group .faq-list {
		margin: 0 -20px;
	}
	
	.faq-groups .faq-group .faq-list .faq-question {
		font-size: 1.1em;
		padding: 12px 20px 12px 12px;
	}
	
	.faq-groups .faq-group .faq-list .faq-question:before {
		margin-right: 10px;
	}
	
	.faq-groups .faq-group .faq-list .faq-answer {
		padding: 10px 20px;
	}
}

.gform_wrapper {
	max-width: 600px;
}

.gform_wrapper .gform_heading {}

.gform_wrapper .gform_body {}

.gform_wrapper .gform_body .gform_fields {
	row-gap: 10px;
}

.gform_wrapper .gform_body .gfield input[type="text"], .gform_wrapper .gform_body .gfield input[type="email"], .gform_wrapper .gform_body .gfield input[type="tel"], .gform_wrapper .gform_body .gfield textarea, .gform_wrapper .gform_body .gfield select {
	height: auto;
	border: 1px solid #ccc;
	border-radius: 8px;
	padding: 10px 15px;
	font-size: .9em;
	line-height: 1.5;
}

.gform_wrapper .gform_footer {}

.gform_wrapper .gform_footer .gform_button {
	background-color: var(--e-global-color-accent) !important;
	padding: .5rem 1rem !important;
	font-family: "DM Sans", Sans-serif !important;
	font-weight: 500 !important;
	letter-spacing: .5px !important;
	color: var(--e-global-color-e88c20b) !important;
	border: 2px solid var(--e-global-color-accent) !important;
	border-radius: 8px !important;
}

.gform_wrapper .gform_footer .gform_button:hover, .gform_wrapper .gform_footer .gform_button:focus {
	background-color: #111 !important;
	border: 2px solid var(--e-global-color-accent) !important;
}

/* ELEMENTOR ANIMATIONS */
@keyframes fadeDown {
	from {
		opacity: 0;
		transform: translate3d(0, -60px, 0);
	}
	
	to {
		opacity: 1;
		transform: none;
	}
}

.elementor-element.fadeInDown {
	animation-name: fadeDown;
}

@keyframes fadeLeft {
	from {
		opacity: 0;
		transform: translate3d(-60px, 0, 0);
	}
	
	to {
		opacity: 1;
		transform: none;
	}
}

.elementor-element.fadeInLeft {
	animation-name: fadeLeft;
}

@keyframes fadeRight {
	from {
		opacity: 0;
		transform: translate3d(60px, 0, 0);
	}
	
	to {
		opacity: 1;
		transform: none;
	}
}

.elementor-element.fadeInRight {
	animation-name: fadeRight;
}

@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translate3d(0, 60px, 0);
	}
	
	to {
		opacity: 1;
		transform: none;
	}
}

.elementor-element.fadeInUp {
	animation-name: fadeUp;
}

.elementor-animation-grow:active, .elementor-animation-grow:focus, .elementor-animation-grow:hover {
	transform: scale(1.03) !important;
}

@keyframes rotateInFor {
	from {
		transform-origin: center;
		transform: rotate3d(0, 0, 1, -4deg);
		opacity: 0;
	}
	
	to {
		transform-origin: center;
		transform: rotate3d(0, 0, 1, 4deg);
		opacity: 1;
	}
}

@keyframes rotateInRev {
	from {
		transform-origin: center;
		transform: rotate3d(0, 0, 1, 4deg);
		opacity: 0;
	}
	
	to {
		transform-origin: center;
		transform: rotate3d(0, 0, 1, -4deg);
		opacity: 1;
	}
}

.rotateIn {
	animation: 1s rotateInFor forwards !important;
}

.rotateIn.animation-reverse {
	animation: 1s rotateInRev forwards !important;
}
