/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
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: 1.0.1
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
*/



/* additional designs */
p:last-child{
	margin: 0 !important;
}



/* header */
.header-menu ul{
    row-gap: 10px;
}
@media(min-width: 1025px){
	.contact-btn a{
		background-color: var(--e-global-color-primary);
		color: #fff !important;
        text-transform: uppercase;
        letter-spacing: 2px;
		border-radius: 4px;
		padding: 10px 20px 8px !important;
		margin-top: -3px !important;
		margin-bottom: -3px !important;
	}
	.contact-btn a:after{
		display: none !important;
	}
	.contact-btn a:hover{
		background: var(--e-global-color-36fbf06);
	}
}



/* home */
/* services */
.service-item{
    width: calc((100% / 4) - 22.5px);
}
.service-item .elementor-widget-image > div{
    padding: 25%;
    transition: ease-out 0.3s;
}
.service-item img{
    transition: ease-out 0.3s;
}
.service-item:hover img{
    filter: brightness(0) invert(1);
}
.service-item:hover .elementor-widget-image > div{
    background-color: var(--e-global-color-primary) !important;
}
/* contact */
.contact-box > div:before{
    content: "";
    position: absolute;
    top: 40px;
    bottom: 40px;
    border-left: 2px solid #87a0a8;
    left: 50%;
    transform: translateX(-50%);
}
.contact-details a{
	color: var( --e-global-color-36fbf06 );
}



/* who we are */
.values-item{
    width: calc((100% / 3) - 20px);
}



/* work with us */
.cta-contact path{
    fill: var(--e-global-color-primary);
}



/* projects */
.projects-list .elementor-post__text{
    display: flex !important;
    flex-direction: column;
    justify-content: center;
}



/* our team */
.team-item{
    width: calc((100% / 3) - 20px);
}



/* single post */
.post-content ul:not(:last-child){
	margin-bottom: 20px;
}
.elementor-widget-share-buttons .elementor-grid-item{
    margin: 0 5px 5px !important;
}



/* contact form */
.contact-form .gform_fields{
    grid-row-gap: 20px !important;
}
.contact-form .gform_heading{
    display: none !important;;
}
.contact-form .gfield .gfield_label{
    font-weight: normal;
    margin: 0;
    font-size: 15px;
}
.contact-form .gfield_required{
    font-size: inherit !important;
    font-style: normal !important;
    color: inherit !important;
}
.contact-form .gfield:not(.gfield_contains_required) label:after{
    content: ' (optional)' !important;
	font-weight: normal;
}
.contact-form .gfield input,
.contact-form .gfield textarea{
    border-radius: 4px;
    border-color: #87A0A8;
    padding: 10px 15px !important;
    line-height: 1.5 !important;
    height: auto !important;
    outline: none !important;
}
.contact-form .gfield textarea{
    display: block;
    height: 136px !important;
    resize: none;
}
.contact-form .gfield input:focus,
.contact-form .gfield textarea:focus{
    border-color: var( --e-global-color-accent );
}
.contact-form .gform_footer{
    padding: 0 !important;
    margin-top: 20px !important;
}
.contact-form .gform_button{
    margin: 0 !important;
    border: none !important;
    line-height: 1 !important;
    outline: none !important;
}
.contact-form .gform_validation_errors{
    margin: 0 0 20px !important;
    border-radius: 0 !important;
    padding-top: 10px;
    padding-bottom: 10px;
}
.contact-form .gform_validation_errors h2{
    font-weight: 600 !important;
    font-family: "Montserrat" !important;
}
.contact-form .validation_message{
    font-size: 12px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    line-height: 1 !important;
    font-style: italic;
}



/* footer */
.footer-menu a{
    width: fit-content;
}
.footer-menu .current-menu-item a{
    font-weight: 600 !important;
}



/* MOBILE RESPONSIVENESS */
@media(max-width: 1024px){
	.contact-form .gform_button{
		font-size: 16px !important;
		padding: 12px 30px !important;
	}
	.service-item{
		width: calc((100% / 3) - 20px);
	}
	.values-item,
	.team-item{
		width: calc((100% / 2) - 15px);
	}
	.post-content h2{
		font-size: 42px;
	}
	.post-content h3{
		font-size: 30px;
	}
	.post-content h4{
		font-size: 24px;
	}
}

@media(max-width: 767px){
	.contact-box > div:before{
		display: none;
	}
	.contact-form .gfield .gfield_label{
		font-size: 13px !important;
	}
	.contact-form .gfield input,
	.contact-form .gfield textarea{
		padding: 8px 15px !important;
		font-size: 14px !important
	}
	.contact-form .gfield textarea{
		height: 122px !important;
	}
	.contact-form .gform_button{
		font-size: 14px !important;
		padding: 8px 20px !important
	}
	.service-item{
		width: calc((100% / 3) - 13.34px);
	}
	.service-item .e-con-inner{
		display: block;
	}
	.service-item .elementor-widget-image > div{
		padding: 15%;
		margin-bottom: 15px;
	}
	.service-item .elementor-widget-container{
		height: auto !important;
	}
	.post-content h2{
		font-size: 32px;
	}
	.post-content h3{
		font-size: 24px
	}
	.post-content h4{
		font-size: 20px;
	}
}

@media(max-width: 600px){
	.service-item{
		width: calc((100% / 2) - 10px);
	}
	.values-item,
	.team-item{
		width: 100%
	}
}

@media(max-width: 320px){
	.service-item{
		width: 100%;
	}
}