/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.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
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.gform_required_legend {
    display: none;
}

.gfield_required_asterisk {
	font-size: 14px !important;
	color: #0D3A15 !important;
}

.gform-theme--foundation form .gform_fields {
	row-gap: 20px;
}

.gform-theme--foundation form .gfield_label {
	color: #0D3A15;
	font-size: 13px;
	gap: 0;
}

.gform-theme--foundation form .gfield input,
.gform-theme--foundation form .gfield textarea,
.gform-theme--foundation form .gfield select {
	border-radius: 0;
	border-color: #929392;
	background-color: #FFFFFF;
}

.gform-theme--foundation form .gfield input:focus,
.gform-theme--foundation form .gfield textarea:focus,
.gform-theme--foundation form .gfield select:focus,
.gform-theme.gform-theme--framework.gform_wrapper form input.gform_button[type="submit"]:focus {
	outline: 2px solid #184F2E !important;
}

.gform-theme.gform-theme--framework.gform_wrapper form input.gform_button[type="submit"] {
	border-radius: 0 !important;
	background-color: #CAC648 !important;
	color: #0D3A15 !important;
	font-family: "trade-gothic-next-condensed", sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	padding: 10px 25px !important;
	transition: 0.3s !important;
}

.gform-theme.gform-theme--framework.gform_wrapper form input.gform_button[type="submit"]:hover,
.gform-theme.gform-theme--framework.gform_wrapper form input.gform_button[type="submit"]:focus-visible {
    background-color: #B3B04A !important;
	color: #0D3A15 !important;
}

.case-study-card {
	transition: 0.3s;
}

.case-study-card:hover,
.case-study-card:focus-visible {
	translate: 0 -20px;
	color: inherit !important;
}

.case-study-card .case-study-button {
	transition: 0.3s;
}

.case-study-card:hover .case-study-button,
.case-study-card:focus-visible .case-study-button {
	background-color: #929392 !important;
	color: #EFEEED !important;
}

.featured-case-studies-public-works .case-study-button {
	background-color: #A7542A !important;
	color: #EFEEED !important;
	transition: 0.3s;
}

.featured-case-studies-public-works .case-study-card:hover .case-study-button,
.featured-case-studies-public-works .case-study-card:focus-visible .case-study-button {
	background-color: #813407 !important;
	color: #EFEEED !important;
}

.related-products-commercial .elementor-button {
	background-color: #88C5CA !important;
	color: #0D3A15 !important;
}

.related-products-commercial .elementor-button:hover,
.related-products-commercial .elementor-button:focus-visible {
	background-color: #4F9C9E !important;
	color: #EFEEED !important;
}

.related-products-public-works .elementor-button {
	background-color: #A7542A !important;
	color: #EFEEED !important;
}

.related-products-public-works .elementor-button:hover,
.related-products-public-works .elementor-button:focus-visible {
	background-color: #813407 !important;
	color: #EFEEED !important;
}

.related-services-public-works .elementor-button {
	background-color: #A7542A !important;
	color: #EFEEED !important;
}

.related-services-public-works .elementor-button:hover,
.related-services-public-works .elementor-button:focus-visible {
	background-color: #813407 !important;
	color: #EFEEED !important;
}

.related-services-public-works .elementor-button:hover svg,
.related-services-public-works .elementor-button:focus-visible svg {
	fill: #EFEEED !important;
}

.home-services .elementor-button {
	background-color: #CAC648 !important;
	color: #0D3A15 !important;
}

.home-services .elementor-button:hover,
.home-services .elementor-button:focus-visible {
	background-color: #B3B04A !important;
	color: #0D3A15 !important;
}

.home-services .elementor-button:hover svg,
.home-services .elementor-button:focus-visible svg {
	fill: #0D3A15 !important;
}

.services-loop .elementor-button {
	background-color: #CAC648 !important;
	color: #184F2E !important;
}

.services-loop .elementor-button:hover,
.services-loop .elementor-button:focus-visible {
	background-color: #B3B04A !important;
	color: #184F2E !important;
}

.services-loop .elementor-button:hover svg,
.services-loop .elementor-button:focus-visible svg {
	fill: #184F2E !important;
}

.services-card {
	transition: 0.3s;
}

.services-card:hover,
.services-card:focus-visible {
	translate: 0 -20px;
	color: inherit !important;
}

.services-card h2 {
	transition: 0.3s;
}

.services-card:hover h2,
.services-card:focus-visible h2 {
	text-decoration: underline;
}

.services-card .elementor-button-icon,
.service-card .elementor-button-icon {
	display: none;
}

.services-card .elementor-button:hover,
.service-card .elementor-button:hover {
	fill: #0D3A15;
}

.e-loop-item-1577 .services-card .elementor-button-icon,
.e-loop-item-1577 .service-card .elementor-button-icon {
	display: flex;
}

select.jet-select__control {
    font-size: 13px !important;
    min-width: 175px;
}

.loop-horizontal .elementor-loop-container {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
	overflow-x: auto;
	scroll-behavior: smooth;
	padding-bottom: 30px;
	scrollbar-color: #0D3A15 #EFEEED;
    scrollbar-width: thin;
}

.loop-horizontal .elementor-loop-container::-webkit-scrollbar-track {
	background: rgba(13, 58, 21, 0.15);
}

.loop-horizontal .elementor-loop-container::-webkit-scrollbar-thumb {
	background-color: #0D3A15;
	border-radius: 0;
}

.loop-horizontal .e-loop-item {
	flex: 0 0 320px;
	scroll-snap-align: start;
}

.loop-scroll-next,
.loop-scroll-prev {
    cursor: pointer;
}

.loop-scroll-next .elementor-icon-wrapper,
.loop-scroll-prev .elementor-icon-wrapper {
    display: grid;
}

.loop-scroll-next .elementor-icon,
.loop-scroll-next .elementor-icon {
	pointer-events: none;
}

.loop-scroll-next.is-disabled,
.loop-scroll-prev.is-disabled {
  opacity: 0.3;
  pointer-events: none;
}

.location-tabs > .e-n-tabs > .e-n-tabs-heading {
    border-bottom: 1px #0D3A15 solid;
}

.elementor hr {
	background-color: #0D3A15;
    border: none;
	height: 1px;
	margin: 14px 0 30px;
}

.external-link a::after {
    content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 8px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-image: url("data:image/svg+xml;utf8,\
		<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'>\
		<path fill='%23E3E3E3' d='M1.44444 13C1.04722 13 0.707176 12.8586 0.424306 12.5757C0.141435 12.2928 0 11.9528 0 11.5556V1.44444C0 1.04722 0.141435 0.707176 0.424306 0.424306C0.707176 0.141435 1.04722 0 1.44444 0H6.5V1.44444H1.44444V11.5556H11.5556V6.5H13V11.5556C13 11.9528 12.8586 12.2928 12.5757 12.5757C12.2928 12.8586 11.9528 13 11.5556 13H1.44444ZM4.83889 9.17222L3.82778 8.16111L10.5444 1.44444H7.94444V0H13V5.05556H11.5556V2.45556L4.83889 9.17222Z'/>\
		</svg>");
}

.footer-external-link a {
	display: inline-block;
}

.footer-external-link a::after {
    content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 8px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-image: url("data:image/svg+xml;utf8,\
		<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'>\
		<path fill='%23E3E3E3' d='M1.44444 13C1.04722 13 0.707176 12.8586 0.424306 12.5757C0.141435 12.2928 0 11.9528 0 11.5556V1.44444C0 1.04722 0.141435 0.707176 0.424306 0.424306C0.707176 0.141435 1.04722 0 1.44444 0H6.5V1.44444H1.44444V11.5556H11.5556V6.5H13V11.5556C13 11.9528 12.8586 12.2928 12.5757 12.5757C12.2928 12.8586 11.9528 13 11.5556 13H1.44444ZM4.83889 9.17222L3.82778 8.16111L10.5444 1.44444H7.94444V0H13V5.05556H11.5556V2.45556L4.83889 9.17222Z'/>\
		</svg>");
	opacity: 1 !important;
	top: 50%;
    translate: 0 -50%;
}

.cc-filters-container {
	background-color: transparent;
	padding: 0;
	gap: 30px;
	margin-bottom: 50px;
}

.cc-filters-container .cc-keywords-wrapper {
	height: auto;
}

.cc-filters-container .cc-keywords-wrapper::before {
	top: 48%;
	translate: 0 -50%;
}

#cc-filter-keywords {
	font-size: 13px;
	border-radius: 0;
	border-color: #0D3A15 !important;
}

.cc-filter-dropdown {
	border-radius: 0 !important;
	border-color: #0D3A15 !important;
}

.cc-filter-dropdown .cc-custom-span {
	font-size: 13px;
}

.cc-filter-postal-code {
	border-radius: 0 !important;
	border-color: #0D3A15 !important;
}

.cc-filters-container .cc-filter-group {
    gap: 20px;
}

.cc-filters-container .cc-filter-group .cc-filter-dropdown {
    width: calc(45% - 20px) !important;
	height: 39px;
}

.cc-filters-container .cc-filter-group .cc-filter-postal-code {
    width: calc(25% - 10px) !important;
	min-width: auto;
    flex: none;
}

.cc-filters-container .cc-search-button-container {
    width: calc(30% - 10px) !important;
	min-width: auto;
    flex: none;
	gap: 20px;
	flex-wrap: wrap;
}

#cc-filter-postalcode-input-id {
	border-radius: 0;
	border-color: #0D3A15 !important;
	font-size: 13px;
}

.cc-filters-container button {
	min-height: unset !important;
}

#cc-submit-search-button-id {
	background-color: #184F2E;
	color: #EFEEED;
	padding: 10px 25px;
	height: auto;
}

#cc-submit-search-button-id:hover,
#cc-submit-search-button-id:focus-visible {
	background-color: #0D3A15;
	color: #EFEEED;
}

#cc-reset-search-button-id {
	background-color: #184F2E;
	color: #EFEEED;
	padding: 10px 25px;
	margin: 0;
	height: auto;
}

#cc-reset-search-button-id:hover,
#cc-reset-search-button-id:focus-visible {
	background-color: #0D3A15;
	text-decoration: none;
}

#cc-job-portal-link-text-id {
	font-size: 13px;
}

.cc-job-portal-link {
	text-decoration: underline !important;
	font-size: 13px !important;
}

#cc-share-header-id {
	font-family: "trade-gothic-next-condensed", sans-serif !important;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
}

.cc-share-container .cc-share-link {
	display: flex;
}

.cc-share-container .cc-share-logo {
	color: #0D3A15;
	width: 19px;
    height: 18px;
	filter: brightness(0) saturate(100%) invert(17%) sepia(38%) saturate(557%) hue-rotate(92deg) brightness(92%) contrast(95%);
}

.cc-portal-share-container {
	margin-bottom: 40px !important;
}

.cc-job-title {
    font-size: 30px !important;
    font-family: "transducer-condensed", sans-serif ! important;
	line-height: 1 !important;
}

.cc-location-label {
	font-size: 13px !important;
	color: #0D3A15 !important;
}

.cc-jobs-container {
	border-top: 1px solid #0D3A15;
}

.cc-job-container {
	border-bottom: 1px solid #0D3A15;
	padding: 20px 0;
	display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.cc-job-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}
}

.cc-job-description-container .cc-back-to-jobs-button {
	color: #0D3A15 !important;
	font-size: 16px !important;
}

.cc-job-description-container .cc-back-to-jobs-button:hover {
	color: #0D3A15 !important;
	font-size: 16px !important;
}

.cc-job-description-title {
	font-size: 36px !important;
    font-family: "transducer-condensed", sans-serif ! important;
	line-height: 1 !important;
}

.cc-job-description-location {
	font-size: 13px !important;
}

.cc-job-description-container .cc-apply-button {
	font-family: "trade-gothic-next-condensed", sans-serif !important;
	font-size: 16px !important;
    letter-spacing: 1px;
	background-color: #184F2E !important;
	color: #EFEEED !important;
	padding: 10px 25px !important;
	min-width: auto;
    border-radius: 0;
}

.cc-job-description-container .cc-apply-button:hover,
.cc-job-description-container .cc-apply-button:focus-visible {
	font-family: "trade-gothic-next-condensed", sans-serif !important;
	font-size: 16px !important;
    letter-spacing: 1px;
	background-color: #0D3A15 !important;
	color: #EFEEED !important;
}

.cc-page-controls .cc-current-page,
.cc-page-controls .cc-page-control:hover {
	background-color: #0D3A15 !important;
}

#tabs-prev,
#tabs-next {
	background-color: transparent;
    border: none;
	position: absolute;
	top: 60%;
	z-index: 2;
	pointer-events: all;
}

@media (max-width: 1024px) {
	#tabs-prev,
	#tabs-next {
		display: none;
	}
}

#tabs-prev {
	left: 0px;
}

#tabs-next {
	right: 0px;
}

#tabs-prev svg,
#tabs-next svg {
	width: 14px;
	fill: #0D3A15;
	transition: 0.3s;
}

#tabs-prev:hover svg,
#tabs-next:hover svg,
#tabs-prev:focus-visible svg,
#tabs-next:focus-visible svg {
	fill: #CAC648;
}

.benefit-card {
	height: 350px;
}

.benefit-card .expanded-content {
	opacity: 0;
	height: 0;
	transition: 0.3s;
}

.benefit-card:hover .expanded-content {
	opacity: 1;
	height: 100%;
}

@media (max-width: 1024px) {
	.benefit-card .expanded-content {
		opacity: 1;
		height: auto;
	}
	
	.benefit-card:hover .expanded-content {
		height: auto;
	}
}