/*
Theme Name:   Voxel (child theme)
Theme URI:    https://getvoxel.io/
Author:       27collective
Author URI:   https://27collective.net/
Template:     voxel
Version:      1.4
Text Domain:  voxel-child
*/

.hidden-menu {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: .3s ease;
	position: absolute !important;
	z-index: 50;
}

.elementor-widget-text-editor a {
	color: #313C99;
	font-weight: 600;
}

.elementor-widget-text-editor li::marker  {
	color: #F1DB1E;
}

.visible-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	transition: .3s ease;
}



.e-n-accordion-item-title-text {
    transition: .2s ease;
}

.side-padding {
	padding-left: 40px;
	padding-right: 40px;
}

.vertical-padding {
	padding-top: 80px;
	padding-bottom: 80px;
}

.has-mega-menu a:after {
    content: "";
    height: 6px;
    margin-left: auto;
    width: 6px;
    border: solid var(--e-global-color-154586d);
    border-width: 0 1px 1px 0;
    display: inline-block;
    vertical-align: middle;
    transform: rotate(45deg);
    flex-shrink: 0;
    overflow: hidden;
    margin-top: -3px;
    transition: .2s ease;
}

.section-height {
	min-height: calc(100vh - 80px);
}

.our_numbers-container {
	width: auto;
}

.our_numbers::before {
    content: '+';
    display: inline-block;
    font-weight: 700;
    font-size: 60px;
    color: #F1DB1E;
    vertical-align: bottom;
    margin-right: 7px;
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
}



.collapse-section {
    width: 100px;
    overflow: hidden;
	transition: .4s width ease-in-out;
	height: 550px;
	
}

.collapse-section.active {
    width: 100%;
}

.harmonic-title span {
	z-index: 2;
	position: relative;
}

.collapse-section:not(.active) {
	cursor: pointer;
}

.collapse-section:not(.active) .harmonic-title {
    position: absolute;
    bottom: 65px;
    transform: rotate(-90deg);
	left: 0;
}


.collapse-section:not(.active) .elementor-widget-icon {
	pointer-events: none;
}

.collapse-section.active  .collapse-content {
	 transition-delay: .3s;
}

.collapse-section  .collapse-content, .collapse-section .elementor-widget-icon {
	transition: .3s ease;
	opacity: 1;
}

.collapse-content ul {
    padding: 0 0 0 15px;
	margin: 0;
}



.collapse-section:not(.active) .collapse-content {
	opacity: 0;
}

.collapse-section:not(.active) .elementor-widget-icon {
	opacity: 0;
}
/* Product Card */

 .product-card {
 .product-card_hover {
 	opacity: 0;
 	visibility: hidden;
 	transition: .2s;
 }
 &:hover {
 	.product-card_hover {
 		opacity: 1;
 		visibility: visible;
 	}

 	.parent-term-heading h2 {
 		color: #fff;
 	}
	 
	 .elementor-icon {
		 --e-global-color-154586d: white;
	 }
 }
} 


/* Popup fade animation */
.quote-popup {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s ease, visibility .3s ease;
}

/* Active state */
.quote-popup.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Form slide/scale animation */
.quote-popup-form {
	transform: translateY(10px) scale(0.98);
	opacity: 0.95;
	transition: transform .35s cubic-bezier(.22, .61, .36, 1), opacity .35s ease;
	will-change: transform, opacity;
}

/* When popup is open */
.quote-popup.is-open .quote-popup-form {
	transform: translateY(0) scale(1);
	opacity: 1;
}





/* Mobile */

@media  (max-width: 768px) {
  .side-padding {
	padding-left: 20px;
	padding-right: 20px;
   }
	
	.collapse-section {
       width: 60px; 
	}
	
	.collapse-section {
		height: 350px;
	}
	
	.vertical-padding {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}


/* Numbered */

.elementor-widget-ts-slider .ts-slider, .elementor-widget-ts-slider .ts-slide-nav a {
    border: 1px solid var(--e-global-color-813858e);
}

.numbered-list {
	counter-reset: item;
}
.numbered-list div::before {
    counter-increment: item;
    content: counter(item) ". ";
    font-weight: bold;
    margin-right: 5px;
    background: var(--e-global-color-accent);
    width: 24px;
    height: 24px;
    display: inline-flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-weight: 400;
}


/*footer*/

.underlined-links .ts-item-link span {
	position: relative;
}
.underlined-links .ts-item-link span::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0%;
	height: 1px;
	background-color: currentColor;
	transition: all 300ms ease-in-out;
	transform-origin: left;
}

.underlined-links .ts-item-link:hover span::after {
	width: 100%;
}

.underlined-links .ts-nav {
    flex-wrap: wrap !important;
	overflow: hidden;
}

.underlined-links .ts-item-link {
    width: auto !important;
}

.aspect-2-17 {
	aspect-ratio: 2 / 1.7;
}

.cert-card {
	aspect-ratio: 2 / 0.9;
	border-radius: 8px;
	position: relative;
	
	&:hover {
		border-color: #313C99 !important;
		
		.cert-icon svg {
			fill: #313C99 !important;
		}
	}
	
	h2 {
		line-height: 1.5;
		font-weight: 600;
	}
	
	.cert-icon {
		position: absolute;
		top: 20px;
		right: 20px;
		
		svg {
			transition: .2s all;
		}
	}
}

.ppe-card {
	border-radius: 8px;
	position: relative;
	
	&:hover {
		border-color: #313C99 !important;
		
		.cert-icon svg {
			fill: #313C99 !important;
		}
	}
	
	h2 {
		line-height: 1.5;
		font-weight: 600;
	}
	
	.cert-icon {
		svg {
			transition: .2s all;
		}
	}
}

.job-form {
	input[type="text"], input[type="tel"], input[type="email"], textarea {
		border: 1px solid var(--fluentform-border-color) !important;
		border-radius: 0 !important;
		padding: 11px 15px !important;
		
		&:focus {
			border: 1px solid var(--fluentform-primary) !important;
			box-shadow: none !important;
		}
		
		&::placeholder {
			color: #888 !important;
		}
	}
	
	input[type="checkbox"], input[type="radio"] {
		--wsf-field-radio-checked-color: var(--fluentform-primary);
		--wsf-field-checkbox-checked-color-background: var(--fluentform-primary);
		border: 1px solid var(--fluentform-border-color) !important;
		&:focus {
			box-shadow: none !important;
		}
	}
	
	input[type="file"] {
/* 		width: auto !important; */
		border: 1px solid var(--fluentform-border-color) !important;
		&:focus {
			box-shadow: none !important;
		}
		
		&::file-selector-button {
		  border-right: 1px solid var(--fluentform-border-color) !important;
		}
	}
	
	.wsf-button-primary {
		background-color: var(--e-global-color-accent) !important;
		color: var(--e-global-color-text) !important;
		border-style: solid !important;
		border-width: 2px 2px 2px 2px !important;
		border-color: var(--e-global-color-accent) !important;
		border-radius: 50px 50px 50px 50px !important;
		padding: 12px 16px 12px 16px !important;
		font-size: var(--e-global-typography-f3bb06c-font-size) !important;
		font-weight: var(--e-global-typography-f3bb06c-font-weight) !important;
		text-transform: var(--e-global-typography-f3bb06c-text-transform) !important;
		letter-spacing: var(--e-global-typography-f3bb06c-letter-spacing) !important;
		width: auto !important;
		
		&:hover {
			background-color: #fff !important;
		}
	}
}

#wp-admin-bar-ws-form-node { display: none !important; }

.job-card--header {
	cursor: pointer;
}