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



/* general designs */
p:last-child{
	margin: 0 !important;
}
/* buttons */
.elementor-button:hover{
    border-color: #b5b6c1 !important;
}
.white-hover-button .elementor-button:hover{
    border-color: #fff !important;
}
.elementor-widget-button .elementor-button:focus,
.elementor-widget-button .elementor-button:active{
    color: #151515 !important;
    border-color: #151515 !important;
    background: transparent !important;
}
.white-button .elementor-button:focus,
.white-button .elementor-button:active{
    color: #fff !important;
    border-color: #fff !important;
}
/* floating images */
.about-section:after,
.credibility-section:after,
.webcopy-section:before,
.prservice-section:after,
.prservice-cta:before,
.annual-report-section:before,
.annual-report-cta:before,
.strategies-section:before{
    content: "";
    position: absolute;
    height: 100%;
    background-size: cover !important;
    top: 0;
	pointer-events: none;
}



/* home */
.about-section:after{
    width: 38%;
    background: url('/wp-content/uploads/2024/12/Home-Image.jpg') no-repeat;
    background-position: 35% top;
    right: 0;
}
.service-links a{
    color: var( --e-global-color-text );
    text-decoration: none;
}
.service-links a:hover{
    color: var( --e-global-color-0bad9c8 );
    text-decoration: underline;
}
/* events */
.events-list article{
    border-bottom: 1px solid var(--e-global-color-text);
    padding-bottom: 40px !important;
}



/* client slider */
@keyframes slide {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-100%)
    }
}

.client-slider {
    display: inline-flex;
    overflow: hidden
}
.client-list {
    display: flex;
    align-items: center;
    transition: none !important;
    width: 1934px
}
.client-list div {
    padding: 0 50px;
    text-align: center
}
.client-list img {
    display: block;
    margin: 0 auto
}
.client-list.animate-list {
    animation: 45s slide infinite 0s linear
}



/* about */
.credibility-section:after{
    width: 30%;
    background: url('/wp-content/uploads/2025/10/Jackie-is-having-a-discussion-with-a-client.jpg') no-repeat;
    background-position: right center;
    right: 0;
}



/* services */
/* content marketing */
.webcopy-section:before{
    width: 42%;
    background: url('/wp-content/uploads/2025/09/Computer-Graphic.webp') no-repeat;
    background-size: contain !important;
	background-position: center left;
    left: 0;
}
/* public relations */
.prservice-section:after{
    width: 46%;
    background: url('/wp-content/uploads/2025/09/Megaphone-Image.webp') no-repeat;
    background-size: contain !important;
	background-position: center right;
    right: 0;
}
.prservice-cta:before{
    width: 28%;
    background: url('/wp-content/uploads/2025/09/Microphone-Image.webp') no-repeat;
    background-size: contain !important;
	background-position: center left;
    left: 0;
}
/* annual report */
.annual-report-section:before{
    width: 44%;
    background: url('/wp-content/uploads/2025/09/Annual-Report-Image.webp') no-repeat;
    background-size: contain !important;
	background-position: bottom left;
    left: 0;
}
.annual-report-cta:before{
    width: 28%;
    background: url('/wp-content/uploads/2025/09/AR-CTA-Image.webp') no-repeat;
    background-size: contain !important;
	background-position: bottom left;
    left: 0;
}
/* award */
.strategies-section:before{
    width: 32%;
    background: url('/wp-content/uploads/2025/09/Strategies-Image.webp') no-repeat;
    background-size: contain !important;
	background-position: bottom left;
    left: 0;
}



/* blogs and case studies */
.case-study-list a,
.blog-list a{
    text-decoration: none;
    height: 100%
}
.case-study-list .elementor-heading-title,
.blog-list .elementor-heading-title{
    transition: ease-out 0.3s;
}
.case-study-list a:hover .elementor-heading-title,
.blog-list a:hover .elementor-heading-title{
    color: #fff;
}
.filtered-image{
    background-blend-mode: luminosity;
}
/* single post */
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5{
	margin: 0 0 30px;
}
.post-content ul:not(:last-child),
.post-content ol:not(:last-child){
	margin-bottom: 30px !important;
}
/* filter */
.filter-options{
    display: flex;
    gap: 20px;
    row-gap: 10px;
    flex-wrap: wrap;
}
.filter-options a{
    text-transform: uppercase;
    font-weight: bold;
    background: #fff;
    padding: 10px 25px 8px;
    text-decoration: none;
    color: #211843;
    font-size: 24px;
    transition: ease-out 0.3s;
}
.filter-options a.active-option{
    background: var( --e-global-color-accent );
    color: #fff;
}
.filter-options a:hover{
    color: #211843;
    background: #efeeea;
}



/* contact page */
/* contact form */
.contact-form .gfield .gfield_label{
    font-weight: 500;
    margin: 0 0 5px;
    font-size: 22px;
}
.contact-form .gfield_required{
    font-size: 90% !important;
    font-style: normal !important;
    text-transform: lowercase !important;
    color: inherit !important;
}
.contact-form .gfield input,
.contact-form .gfield textarea{
    border-radius: 0;
    border-color: var( --e-global-color-secondary );
    padding: 10px 15px !important;
    line-height: 1.5 !important;
    outline: none !important;
}
.contact-form .gfield input{
    height: auto !important;
}
.contact-form .gfield textarea{
    resize: none;
	height: 136px !important;
}
.contact-form .gfield_checkbox label{
    font-size: 18px !important;
}
.contact-form .gchoice:not(:last-child){
    margin-bottom: 5px;
}
.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: 10px !important;
}
.contact-form .gform_button{
    margin: 0 !important;
    line-height: 1 !important;
    outline: none !important;
}
.contact-form .gform_button:hover{
    border-color: #b5b6c1;
}
.contact-form .gform_validation_errors{
    margin: 0 0 20px !important;
    border-radius: 0 !important;
    box-shadow: none;
}
.contact-form .gform_validation_errors h2{
    font-weight: 600 !important;
    font-size: 18px
}
.contact-form .validation_message{
    font-size: 13px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    line-height: 1 !important;
    font-style: italic;
}



/* footer */
.footer-menu ul{
    column-count: 2;
	column-gap: 0;
}
.footer-menu a{
    width: fit-content;
}
/* scroll to top */
.scrollTop{
    opacity: 0;
    visibility: hidden;
    transition: ease-out 0.3s;
}
.scrollTop.show{
    opacity: 1;
    visibility: visible;
}



/* MOBILE RESPONSIVENESS */
@media(max-width: 1440px){
	.contact-form .gform_button{
		font-size: 20px !important;
		padding: 10px 23px 9px 23px !important;
	}
	.filter-options a{
		font-size: 20px;
	}
	.post-content h2{
        font-size: 40px;
    }
	.post-content h3{
        font-size: 30px;
    }
	.post-content h4{
        font-size: 28px;
    }
}

@media(max-width: 1024px){
	.about-section:after {
		background-position: 45% top;
	}
	.client-list {
		width: 1270px
	}
	.client-list div {
		padding: 0 30px;
		transform: scale(0.75);
		margin: 0 -20px;
	}
	.client-list.animate-list {
		animation: 35s slide infinite 0s linear
	}
	.contact-form .gfield .gfield_label{
		font-size: 18px;
	}
	.contact-form .gfield_checkbox label{
		font-size: 16px !important;
	}
	.contact-form .gform_button{
		font-size: 18px !important;
	}
	.filter-options{
		gap: 15px;
		row-gap: 10px;
	}
	.filter-options a{
		padding: 8px 20px 6px;
		font-size: 18px;
	}
	.post-content h2{
        font-size: 34px;
    }
	.post-content h3{
        font-size: 26px;
    }
	.post-content h4{
        font-size: 22px;
    }
}

@media(max-width: 767px){
	.about-section:after,
	.annual-report-section:before,
	.annual-report-cta:before,
	.strategies-section:before,
	.webcopy-section:before,
	.prservice-section:after,
	.prservice-cta:before,
	.credibility-section:after{
		display: none;
	}
	.events-list article{
		padding-bottom: 25px !important;
	}
	.service-item{
		padding-left: 120px;
		min-height: 200px;
		justify-content: center;
	}
	.service-image{
		position: absolute;
		top: 10px;
		left: 10px;
	}
	.service-image img{
		width: 80px !important;
		height: 180px !important;
		object-fit: contain;
	}
	.contact-form .gfield .gfield_label{
		font-size: 16px;
	}
	.contact-form .gfield input,
	.contact-form .gfield textarea{
		padding: 8px 12px 6px !important;
		font-size: 14px;
	}
	.contact-form .gfield textarea{
		height: 122px !important;
	}
	.contact-form .gfield_checkbox label{
		font-size: 14px !important;
	}
	.contact-form .gchoice:not(:last-child){
		margin-bottom: 2px;
	}
	.contact-form .gform_button{
		font-size: 16px !important;
		padding: 8px 18px 7px !important;
	}
	.contact-form .gform_validation_errors h2{
		font-size: 16px
	}
	.contact-form .validation_message{
		font-size: 12px !important;
	}
	.filter-options{
		gap: 10px;
	}
	.filter-options a{
		padding: 5px 15px 3px;
		font-size: 15px;
	}
	.post-content h2{
        font-size: 24px;
    }
	.post-content h3{
        font-size: 20px;
    }
	.post-content h4{
        font-size: 18px;
    }
    .post-content ul,
	.post-content ol{
		padding-left: 25px !important;
	}
	.post-content h2,
	.post-content h3,
	.post-content h4,
	.post-content h5,
	.post-content ul:not(:last-child),
	.post-content ol:not(:last-child){
		margin-bottom: 20px;
	}
}

@media(max-width: 560px){
	.about-jackie{
		padding: 0 !important;
	}
}

@media(max-width: 480px){
    .blog-list .ecs-posts,
	.case-study-list .ecs-posts{
        grid-template-columns: repeat(1, 1fr);
    }
	.single-banner .filtered-image{
		min-height: 240px;
	}
}

@media(max-width: 420px){
	.service-item{
		padding-left: 90px;
		min-height: 160px;
	}
	.service-image img{
		width: 60px !important;
		height: 140px !important;
	}
}