/* 
Theme Name: Spartronics Theme
Description: Spartronics Theme is a child theme of Hello Elementor, created exclusively for Spartronics
Author: Mason Digital
Author URI: https://masondigital.com/
Template: hello-elementor
Version: 2.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,h2,h3,h4 {
	margin-top: 0;
	text-wrap: balance;
}



/* BLOCK EDITOR TWEAKS */
.page-content > div:not(.elementor) {
	max-width: 1340px;
	margin-left: auto;
	margin-right: auto;
}


/* ELEMENTOR TWEAKS */


.elementor-widget-text-editor p:last-child {
  margin-bottom: 0px;
}
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
	margin-bottom: 20px;
}
.elementor-widget-text-editor a,
.elementor-widget-theme-post-content p a {
  text-decoration: underline;
}
.elementor-widget-text-editor a:hover,
.elementor-widget-theme-post-content p a:hover {
  text-decoration: none;
}






/* PAGE HERO */

body.page-hero-bg .page-hero {
	min-height: 350px;
}
@media (max-width: 1024px) {
	body.page-hero-bg .page-hero {min-height: 300px;}
}
@media (max-width: 767px) {
	body.page-hero-bg .page-hero {min-height: 250px;}
}



.circle-button a.elementor-button {
	aspect-ratio: 1;
	border-radius: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border: 3px solid #00A4E0;
	color: #333;
	font-size: 15px;
	text-transform: capitalize;
	letter-spacing: 0;
}
.circle-button a.elementor-button .elementor-button-content-wrapper {
	display: flex;
	flex-direction: column!important;
	align-items: center;
	gap: 12px;
}
.circle-button .elementor-button-icon {
	font-size: 30px;
	color: #00A4E0;
}


.circle-button a.elementor-button:hover,
.circle-button a.elementor-button:focus {
	background: #003471;
	color: #fff;
}




body:not(.elementor-editor-active) .state-panel {
  opacity: 0;
  pointer-events: none; /* optional, prevents accidental hover */
  transition: opacity 600ms ease;
}

body:not(.elementor-editor-active) .state-panel.is-active {
  opacity: 1;
  pointer-events: auto; /* optional */
  transition: opacity 300ms ease;
}



// GRAVITY FORMS

.gform-theme--api,.gform-theme--foundation {
	--gf-form-gap-y: 20px;
}
body .gform_wrapper .gform_body .gform_fields {
  row-gap: 20px!important;
}

body .gform-theme--foundation .gform_fields input,
body .gform-theme--foundation .gform_fields select,
body .gform-theme--foundation .gform_fields textarea {
  border: 1px solid #ccc;
}
.gform-theme--foundation .gfield textarea.large {
	min-block-size: 12rem;
}

.gform-theme--foundation .gform_button {
  background-color: var(--e-global-color-accent)!important;
  text-transform: uppercase!important;
  font-weight: 700!important;
  letter-spacing: 1px!important;
}
.gform-theme--foundation .gform_button:hover {
  background-color: #000!important;
}

.gform_wrapper .gform_fields .gfield_consent_description {
  border: none;
  padding: 0;
  padding-left: 30px;
  font-size: 13px;
  line-height: 1.3em;
}
body .gform_wrapper .gform_fields .gfield--type-html {
	line-height: 1.1em;
}
body .gform_wrapper .gform_fields .gfield--type-html small {
	font-size: 13px;
}
.gform_wrapper .gform_required_legend {
  text-align: right;
  margin-bottom: 5px;
  font-size: 13px;
}

.ginput_address_country#input_1_7_6_container {
	width: 100%!important;
	inline-size: 100%!important;
}

.light-text .gform_wrapper,
.light-text .gform_wrapper .gfield_description {
	color: #ccc;
}
.light-text .gform_wrapper .gfield_label,
.light-text .gform_wrapper .gfield_consent_label {
	color: #fff;
}











.hubspot-embed form {
	display: grid;
	gap: 10px
}
@media (min-width: 1024px) {
	.hubspot-embed form {
		grid-template-columns:1fr 1fr;
		gap: 20px
	}
}

@media (min-width: 1024px) {
	.hubspot-embed form fieldset.form-columns-2,.hubspot-embed .embed form fieldset:last-of-type,.hubspot-embed .embed form .hs-recaptcha {
		grid-column:span 2
	}
}

.hubspot-embed form .hs-fieldtype-booleancheckbox label>span:before {
	background-color: #fff
}

.hubspot-embed form select {
	background-color: #fff
}

.hubspot-embed form label {
	color: #000
}

.hubspot-embed form fieldset {
	max-width: none
}

.hubspot-embed form fieldset .input {
	margin: 0
}

.hubspot-embed form fieldset .input .hs-input:not([type='checkbox']) {
	width: 100%;
	margin: 0
}

.hubspot-embed form fieldset.form-columns-2 {
	display: flex;
	flex-direction: column;
	gap: 10px
}

@media (min-width: 1024px) {
	.hubspot-embed form fieldset.form-columns-2 {
		flex-direction:row;
		gap: 20px
	}
}

.hubspot-embed form fieldset.form-columns-2>div {
	width: 100%
}

.hubspot-embed form .legal-consent-container p,form .legal-consent-container label {
	font-size: .75rem;
	line-height: 1.333em
}








.elementor-widget-facetwp-facet .facetwp-facet {
	margin-bottom: 0px;
}
.elementor-widget-facetwp-facet .facet-wrap > p {
	font-size: .9em;
	font-weight: 600;
	color: var(--e-global-color-primary);
	text-transform: uppercase;
	margin-bottom: 7px;
}
.elementor-widget-facetwp-facet .facetwp-facet input,
.elementor-widget-facetwp-facet .facetwp-facet select {
	border: 1px solid #ccc;
	border-radius: 5px;
}
.elementor-widget-facetwp-facet .facetwp-facet input.facetwp-search {
	min-width: 350px;
}









/* 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;
}

@keyframes zoomIn {
	from {opacity: 0; transform: scale3d(.7,.7,.7)}
	50% {opacity: 1}
}
.elementor-element.zoomIn {
	animation-name: zoomIn;
}

.zoomIn {
	animation-name: zoomIn
}

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



@keyframes growRight {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

@keyframes growLeft {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

.animated.growRight {
  transform-origin: left center;
  animation-name: growRight;
}

.animated.growLeft {
  transform-origin: right center;
  animation-name: growLeft;
}

.custom-line-1 .elementor-divider-separator {
	position: relative;
}
.custom-line-1 .elementor-divider-separator:after {
	scale: 1;
	position: absolute;
	top: -5px;
	right: -2px;
	height: 9px;
	width: 9px;
	content: '';
	border-radius: 50%;
	background-color: var(--divider-color);
}