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

html,
body {
	overflow-x: hidden;
}

.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[type="checkbox"] {
	padding: 5px !important;
}

.gfield_consent_description {
	padding: 0 !important;
	border: none !important;
}

.gfield_consent_description a {
	font-size: inherit;
	text-decoration: underline;
	margin-top: 10px;
}

.gfield_consent_description a:hover,
.gfield_consent_description a:focus {
	font-size: inherit;
	text-decoration: none;
}

.gform-theme.gform-theme--framework.gform_wrapper form input.gform_button[type="submit"] {
	border-radius: 0 !important;
	background-color: #DBB826 !important;
	color: #0D3A15 !important;
	font-family: "trade-gothic-next-compressed", 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: #AD9221 !important;
	color: #F4F3ED !important;
}

.project-card,
.project-card h2,
.project-card img {
	transition: 0.3s;
}

.project-card:hover,
.project-card:focus-visible {
	color: inherit !important;
}

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

.project-card:hover img,
.project-card:focus-visible img {
	border-color: #AD9221 !important;
}

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

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

.service-card {
	transition: 0.3s;
}

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

.service-card .service-button {
	transition: 0.3s;
}

.service-card:hover .service-button,
.service-card:focus-visible .service-button {
	background-color: #AD9221 !important;
	color: #F4F3ED !important;
}

.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;
}

.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-compressed';
    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: 36px !important;
    font-family: 'alverata', 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: 30px 0;
	display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

@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: 'alverata', 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-compressed';
	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-compressed';
	font-size: 16px !important;
    letter-spacing: 1px;
	background-color: #0D3A15 !important;
	color: #EFEEED !important;
}


.benefit-card {
	height: 300px;
}

.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;
	}
}

.cmplz-buttons .cmplz-btn{
	font-weight: 700 !important;
}