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

html {
	scroll-padding-top: 90px;
}

:root {
    --primary: #69C496;
    --darkGreen: #58B385;
    --secondary: #abb8c9;
    --particle-bg: url("https://bldnewdev.wpengine.com/wp-content/uploads/2022/07/internal-hero.webp");
}

.page-content-404 {
    min-height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.img-404 {
    max-width: 400px;
    margin-bottom: 40px;
}

.elementor-location-header {
    background: var(--e-global-color-primary);
}

header.elementor-location-header header {   
    align-items: center;   
}

header.elementor-sticky--effects {
    box-shadow: -4px 3px 6px #00000021;
}

.elementor-nav-menu--main .elementor-item {
    transition: all .4s ease-in-out; 
}

@media screen and (min-width: 1000px) {
    .mobile-contact.menu-item {
        display: none !important;
    }
}

header.elementor-sticky--effects .elementor-nav-menu--main .elementor-item {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.elementor-location-header .elementor-widget-theme-site-logo a {
    width: 300px;
    display: block;
    overflow: hidden;
    transition: all 1s;
}

.elementor-location-header .elementor-widget-theme-site-logo a img {
    max-width: 260px;
    transition: all .5s;
    width: 300px !important;
}

header.elementor-sticky--effects .elementor-widget-theme-site-logo a img {
    width: 180px !important;
    height: 50px !important;
}

header.elementor-sticky--effects .elementor-widget-theme-site-logo a {
    width: 60px;
}

@media (max-width: 767px) {
	.elementor-location-header .elementor-widget-theme-site-logo a img,
	header.elementor-sticky--effects .elementor-widget-theme-site-logo a img {
		height: 40px !important;
		width: 190px !important;
	}
}

.default-internal-hero .description,
#hero .description {
    color: var( --e-global-color-08d5e53 );
}

.elementor-kit-7 .elementor-button:hover {
    animation-name: elementor-animation-pulse-shrink;
    animation-duration: .3s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

.main-home-button .elementor-button:hover {
    animation: none;
}

.button1 a.elementor-button-link span {
    z-index: 2;
}

.button1 a.elementor-button-link {
    transition: all .1s;
    position: relative;
    overflow: hidden;
    background: transparent;
}

.button1 a.elementor-button-link:hover {
    color: #fff;
}

.button1 a.elementor-button-link::before,
.button1 a.elementor-button-link::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: -100%;
  left: 0;
  background: var(--darkGreen);
  z-index: 1;
  transition: all .4s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.button1 a.elementor-button-link::before {
    opacity: .5;
}
  
.button1 a.elementor-button-link::after {
    transition-delay: .15s;
}

.button1 a.elementor-button-link:hover::before,
.button1 a.elementor-button-link:hover::after {
    top: 0;
}

.elementor-button-content-wrapper .elementor-button-icon svg {
    fill: var(--e-global-color-secondary);
    margin-right: 8px;
    width: 1.4em;
    transition: all .15s;
    z-index: 2;
}

.button1 a.elementor-button-link:hover svg {
    fill: #fff;
}

.elementor-post__title a:hover {
	color: var( --e-global-color-accent ) !important;
}

.bld-leaf {
    max-width: 690px;
    top: calc(100vh - 20%);
    position: absolute;
    left: 0;
}

section#services a:not(.elementor-flip-box__layer) {
    transition: all .15s;
}

.service-icon-box:hover svg,
.service-icon-box:hover a {
    color: var(--secondary);
}

section#services a:hover {
    color: var(--secondary);
}

section#case-studies .elementor-posts--skin-classic .elementor-post {
    overflow: visible;
}

section#case-studies .elementor-post__text {
    max-width: 500px;
}

section#case-studies .elementor-posts-container article:first-child {
    justify-content: flex-end;
}

@media screen and (max-width: 689px) {
    section#case-studies .elementor-posts-container article {
        flex-direction: column;
    }
}


section#clients figure.gallery-item {
    vertical-align: middle;
}

section#clients > div,
section#faq-accordion > div {
	border-radius: 10px;
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.24);
    background-color: #fff;
    padding: 50px;
}

@media screen and (max-width: 768px) {
    section#faq-accordion > div {
        padding: 30px 20px;
    }
}

section#testimonials:not(.service-testimonials) .elementor-testimonial__image {
    border-radius: 100%;
    border: 5px solid var(--primary);
    overflow: hidden;
}

section#testimonials .elementor-testimonial__image img {
    object-fit: cover;
    height: 100%;
}

section#testimonials .elementor-testimonial__text h3 {
    color: var(--primary);
    font-style: normal;
    font-weight: bold;
}

section#faq-accordion .elementor-tab-title {
    border: 1px solid #e7e7e7;
    border-radius: 5px;
}

section#experts .elementor-testimonial__title {
    display: flex;
    flex-direction: column;
    align-items: center;
}

section#experts .elementor-testimonial__title a {
    color: var(--primary);
    text-transform: uppercase;
}

section#experts .elementor-testimonial__title a {
    color: var(--primary);
    text-transform: uppercase;
    font-weight: bold;
    margin-top: 5px;
}

section#experts .elementor-testimonial__name {
    font-style: normal;
    margin-bottom: 5px;
}


section.particle-bg {
    background-color: var(--e-global-color-primary);
}

@media screen and (min-width: 768px) {
    section.particle-bg {
        background-image: var(--particle-bg);
        background-position: center center;
    }
}



/* What We Do */
section.what-we-do .elementor-flip-box .elementor-flip-box__back {
	border-radius: 10px;
}

section.what-we-do .elementor-flip-box:hover .elementor-flip-box__back {
    background: var(--e-global-color-5fe4c9c);
    box-shadow: 0 0 10px 0 #00000026;
}

section.what-we-do .elementor-flip-box__back .elementor-flip-box__layer__description {
    font-size: 1em !important;
}

section.what-we-do .elementor-flip-box__front .elementor-flip-box__layer__title {
    font-size: 1.7em;
}

section.what-we-do .elementor-flip-box__front .elementor-flip-box__layer__inner .elementor-icon svg {
    width: 75px;
}

section.what-we-do .elementor-flip-box__back .elementor-flip-box__layer__overlay {
    padding: 3em !important;
}

@media screen and (max-width: 768px) {
    .service-testimonials .elementor-widget-testimonial-carousel .swiper-slide {
        padding: 0;
    }
}

@media screen and (max-width: 429px) {
	section.what-we-do .elementor-flip-box__back .elementor-flip-box__layer__description {
		font-size: 14px !important;
	}
	section.what-we-do .elementor-flip-box__back .elementor-flip-box__layer__overlay {
		padding: 1em !important;
	}
}


/* Form styling */
section.form-cta .content-col {
    padding-top: 18px;
}

.cust-form .hs_submit {
    text-align: left;
    margin-top: 25px;
}

.cust-form.upcity-form .hs_submit {
    text-align: right;
}

.field.hs-form-field {
    margin-top: 10px;
}

.cust-form.form-internal .input {
    margin-bottom: 22px;
}

/* Remove margin from post thumbs */
.elementor-posts--thumbnail-top .elementor-post__thumbnail__link {
    margin-bottom: 0 !important;
}


/* About page */
.team-row .elementor-flip-box .elementor-flip-box__back.elementor-flip-box__layer {
    background-color: var(--e-global-color-5fe4c9c);
}

.team-row .elementor-flip-box__back .elementor-flip-box__layer__description {
    font-size: 1em !important;
}

.team-row .elementor-flip-box__front .elementor-flip-box__layer__title {
    font-size: 1.7em;
}

.team-row  .elementor-flip-box__layer__inner .elementor-flip-box__button {
    border: 0;
    font-weight: bold;
    font-size: 1em;
    color: var(--primary);
}

/* People */
.social-icons .elementor-social-icons-wrapper .elementor-grid-item .elementor-social-icon i {
    color: #fff;
}

.social-icons .elementor-social-icons-wrapper .elementor-grid-item  .elementor-social-icon {
    background-color: var(--e-global-color-5fe4c9c);
    border-radius: 0;
}

section.bio-header blockquote {
    border-bottom: 1px solid #dedede;
    padding-bottom: 25px;
}


/* Contact */
.page-id-339 .bld-leaf {
    top: 130%;
}

.hbspt-form input:not([type="submit"]),
.hbspt-form textarea {
    background: var(--e-global-color-secondary);
    resize: none;
    border-color: #d6d6d6;
}

.hbspt-form input[type="submit"] {
    padding: 12px 30px;
    border: 0;
}

.hbspt-form input[type="submit"]:focus {
    outline: 0;
}

.hbspt-form .hs_recaptcha {
    margin: 15px 0;
}


/* Blog */
.blog-nav .menu-item a::after {
    display: none !important;
}

.single-post a {
    color: var(--primary);
    font-weight: bold;
}

.single-post .elementor-widget-theme-post-content strong {
    font-weight: bold;
}

.subfooter p {
    margin: 0;
}


/* Single post */
.single-post-meta > div{
    margin-left: 0 !important;
    margin-right: auto !important;
}

.col-post-author-name {
    width: inherit !important;
}

.elementor-pagination {
	margin-top: 25px;
}

@media screen and (max-width: 768px) {
    span.elementor-post-info__item-prefix {
        display: none !important;
    }
}

.author-box-wrapper .author {
    display: flex;
    align-items: flex-start;
}

.author-box-wrapper {
    border-top: 1px solid #e4e4e4;
    margin-top: 25px;
    padding-top: 25px;
}

.author-box-wrapper .socials a {
    background: var(--e-global-color-5fe4c9c); 
    width: 40px;
    height: 40px;
}

.author-box-wrapper .socials {
    margin-top: 15px;
}
 
.author-box-wrapper .socials i {
    transform: scale(0.7);
}

.author .pic {
    border-radius: 100px;
    margin-right: 40px;
    overflow: hidden;
    min-width: 120px;
}

.author-website {
    font-size: 0.8em;
}

.author-header {
    margin-bottom: 5px;
    font-weight: normal;
}

.author-name {
    margin-bottom: 0;
}

.author .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: middle;
}

@media screen and (max-width: 768px) {
    .author-box-wrapper .author {
        align-items: center;
        flex-direction: column;
    }
    
    .author-content {
        text-align: center;
    }
    
    .author .pic {
        margin-right: 0;
        margin-bottom: 5px;
        width: 120px;
    }
}


@media screen and (max-width: 768px) {
    .single-case-study h1 {
        font-size: 1.8em;
    }
}

@media screen and (min-width: 900px) {
    .elementor-swiper-button {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .reverse-img-col > .elementor-container {
        display: flex;
        flex-direction: column-reverse;
    }
}

/* service modules on homepage */

.service-card {
	margin: 1.5em;
	padding: 2em;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
	border-right: 1px solid #f1f5f5;
	border-bottom: 1px solid #f1f5f5;
	background-color: #ffffff;
}

@media only screen and (max-width: 480px) { 
	.service-card {
		margin: 1em;
		padding: 1em;
	}
}

/* template for any non full width section */

.sm-section > div {
	width: 1000px;
	padding: 5em;
}


@media only screen and (max-width: 480px) { 
	.sm-section > div {
		padding: 1em 2em;
	}
}

/* paragraph links */
.page-content > p > a {
	color: var ( --e-global-color-df87a23);
	font-weight: 700;
}

.boldgreen,
.elementor-section p > a  {
    font-weight: 700;
    color: var( --e-global-color-df87a23);
}

.elementor-section p button a  {
    font-weight: 300;
}

@media screen and (min-width: 768px) {
	.mobile-only {
		display: none;
	}
}

/* Remove generic contact form from sample marketing plan blog post */
body.postid-18122 > div.elementor.elementor-18.elementor-location-single.post-18122.post.type-post.status-publish.format-standard.has-post-thumbnail.hentry.category-marketing-strategy > section.elementor-section.elementor-top-section.elementor-element.elementor-element-7ae2f411.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default > div > div.elementor-column.elementor-col-66.elementor-top-column.elementor-element.elementor-element-5bcbc7a0 > div > section {
	display: none;
}

/* Style custom form on blog post */
.blog-form {
	max-width: 400px;
}

.elementor-posts-nothing-found {
    text-align: center;
}

