/* currently no rules here, the following rule is just there so the minifier won't choke on an empty result */
/* .page-home #middle{	margin-top: 0;} */
/*.page-home #middle {	margin-top: 0;	margin-bottom: 0;}*/
/* .page-home h1 {	text-align: center;	font-size: 2.4rem;	margin: 2rem auto;} */
/* .page-home h2 {	text-align: center;	font-size: 2rem;	margin: 2rem auto;} */
/*  Homepage Features BLOG section, start  */
.page-home .div-home-blog h2 {
    text-align: center;
}

.page-home .div-home-blog p {
    text-transform: uppercase;
    text-align: center;
}

.page-home .div-home-blog p.p-blog-title {
    max-width: 296px;
    margin: 0 auto 1rem;
}

/*  Homepage Features BLOG section, finish  */
/*  Homepage Features PROJECTS section, start  */
.page-home .div-home-projects p {
    text-transform: uppercase;
    text-align: center;
}

.page-home .div-home-projects p.p-projects-title {
    max-width: 296px;
    margin: 0 auto 1rem;
}

/*  Homepage Features PROJECTS section, finish  */
/*  Homepage FULL WIDTH section, start  */
.div-home-full-width {
    padding: 3rem 1rem;
    background: url(images/bg-div-home-full-width.jpg) center no-repeat;
    background-size: cover;
    display: flex;
    min-height: 550px;
}

.cmsDebug .div-home-full-width {
    background-image: url(../../images/bg-div-home-full-width.jpg);
}

.div-home-full-width .standard-width {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*  Homepage FULL WIDTH section, finish  */
/*  Homepage TESTIMONIALS section, start  */
.div-home-testimonials {
    padding: 1rem 1rem 2rem;
    display: flex;
    flex-direction: column;
    /* background: #5c38a0; */
    /* color: #231f20; */
    /* background: url("images/bg-testim.jpg") center no-repeat;		background-size: cover; */
}

/*	.cmsDebug .div-home-testimonials {		background-image: url("../../images/bg-testim.jpg");	}	*/
.page-home .div-home-testimonials h2 {
    text-align: center;
    position: relative;
}

.div-home-testimonials h2::after {
    position: absolute;
    display: block;
    content: "\201C";
    font-size: 300%;
    color: #00884c;
    bottom: 0;
    bottom: -5rem;
    left: 50%;
    transform: translateX(-50%);
}

.div-home-testimonials p {
    text-align: center;
}

.div-home-testimonials .testimonial-name {
    font-style: italic;
    text-align: center;
    font-weight: 600;
    font-size: 1.2rem;
}

.testimonial-name {
    margin-bottom: 2rem;
}

#full-test:nth-of-type(1) {
    border-top: 2px solid #f7f7f7;
    padding-top: 1rem;
}

/*  Homepage TESTIMONIALS section, finish  */
/*  Homepage CONTACT US section, start  */
.div-home-contact-us-container {
    padding: 2rem;
    background: #ebebeb;
}

.div-home-contact-us-container h2 {
    text-align: center;
}

.home-contact-us label {
    color: black;
}

.home-contact-us .fmrequire {
    display: none;
}

.home-contact-us form.cms-form #captcha-button-box {
    display: block;
    margin-left: 0;
    text-align: center;
}

.home-contact-us form.cms-form #captcha-button-box .cms-button-a {
    margin-bottom: 0;
}

.home-contact-us form.cms-form #captcha-image-box {
    margin-left: 0;
}

.home-contact-us form.cms-form #form-bottom {
    margin-top: 2rem;
    margin-left: 0;
    display: block;
}

/*  Homepage CONTACT US section, finish  */






.div-home-main-text {
    padding: 1rem 0 3rem;
    background: url(images/circles-bg-top_.jpg) center no-repeat;
    background-size: cover;
}
.cmsDebug .div-home-main-text {
    background-image: url(../../images/circles-bg-top_.jpg);
}
.div-home-main-text figure {
    display: flex;
}
.div-home-main-text figure img {
    flex: 1;
}
.div-home-main-text h1 {
    /* width: 50%; */
    margin: 0 auto 3rem;
    text-align: center;
}
.div-home-main-text .column-text {
    grid-gap: 7rem;
}
.div-home-main-text p.p-btn {
    margin-top: 2rem;
}





.div-home-our-services {
    padding: 1rem 0 3rem;
}
.div-home-our-services h2 {
    text-align: center;
}
.div-home-our-services .column-text {
    display: grid;
    grid-gap: 3rem 2rem;
    grid-template-columns: repeat(auto-fit, minmax(calc(33.33% - 2rem), 1fr));    
}

.div-home-our-services .column-text > div {
    display: flex;
    flex-direction: row;
    grid-gap: 1rem;
}
.div-home-our-services figure {
    flex: unset;
    width: 55px;

    display: flex;
    align-items: center;
}
.div-home-our-services .serv-txt {
    flex: 1;
    color: var(--brand-a);
    font-size: 1.25rem;
    /* font-weight: 600; */

    margin-top: 0;
    display: flex;
    align-items: center;
}
.div-home-our-services p.p-btn {
    text-align: center;
    margin: 3rem 0 0;
}







.div-home-recent-projects {
    padding: 1rem 0 3rem;
    background: url(images/circles-bg-bottom_.svg) center no-repeat;
    background-size: cover;
}
.cmsDebug .div-home-recent-projects {
    background-image: url(../../images/circles-bg-bottom_.svg);
}
.div-home-recent-projects h2 {
    text-align: center;
    margin-bottom: 2rem;
}
.div-home-recent-projects figure {
    display: flex;
}
.div-home-recent-projects img {
    flex: 1;
}
.div-home-recent-projects .column-text {
    grid-gap: .75rem;
}
.div-home-recent-projects .column-text > div {
    position: relative;
    display: block;
}
.div-home-recent-projects .column-text > div a {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    top: 0;
    left: 0;
    transition: opacity .75s ease;
}
.div-home-recent-projects .column-text > div a:hover {
    opacity: .6;
    transition: opacity .75s ease;
}
.div-home-recent-projects .p-figcaption {
    position: absolute;
    top: 0;
    left: 0;
    flex-direction: column;
    grid-gap: .75rem;
    margin: 0;
    width: 100%;
    height: 100%;
    text-align: center;
}
.div-home-recent-projects .p-figcaption .caption-1,
.div-home-recent-projects .p-figcaption .caption-2,
.div-home-recent-projects .p-figcaption .caption-3 {
    color: white;
    font-size: 1rem;
    font-weight: 700;
    display: block;
    padding: 0 .5rem;
}
.div-home-recent-projects .p-figcaption .caption-1 {
    font-size: 1.5rem;
}
.div-home-recent-projects .p-figcaption .caption-3 {
    margin-top: 1.5rem;
}









.div-home-form-contact {
    padding: 3rem 0;
    background: url(images/bg-form-contact.jpg) center no-repeat;
    background-size: cover;
}
.cmsDebug .div-home-form-contact {
    background-image: url(../../images/bg-form-contact.jpg);
}
.div-home-form-contact h2,
.div-home-form-contact p {
    color: white;
}
.div-home-form-contact label,
.div-home-form-contact .fmrequire,
.div-home-form-contact #personal_data_disclaimer {
    display: none;
}

.div-home-form-contact form.cms-form input[type="text"],
.div-home-form-contact form.cms-form input[type="email"],
.div-home-form-contact form.cms-form input[type="password"],
.div-home-form-contact form.cms-form select,
.div-home-form-contact form.cms-form textarea {
    border: none;
    padding: 1rem;
    color: #444;
    font-size: 1rem;
    font-weight: 400;
}
.div-home-form-contact form.cms-form input[type="text"]::placeholder,
.div-home-form-contact form.cms-form input[type="email"]::placeholder,
.div-home-form-contact form.cms-form input[type="password"]::placeholder,
.div-home-form-contact form.cms-form select,
.div-home-form-contact form.cms-form textarea::placeholder {
    color: #444;
    font-size: 1rem;
    font-weight: 400;
}
.div-home-form-contact form.cms-form #form-bottom {
    justify-content: flex-start;
}
.div-home-form-contact button.cms-button-a:hover {
    background: white;
    color: var(--brand-a);
}
.div-home-form-contact form.cms-form textarea {
    min-height: unset;
    height: 7rem;
}





h3.no-wrap-out {
    display: none;
}
h3.no-wrap-in {
    display: block;
}



@media only screen and (max-width: 1185px) {

    .div-home-blog .column-text>div:nth-of-type(3),
    .div-home-projects .column-text>div:nth-of-type(3) {
        display: none;
    }

    .div-home-main-text .column-text {
        grid-gap: 2rem;
    }
}


@media only screen and (max-width: 1060px) {

    .div-home-main-text .column-text {
        grid-gap: 4rem;
    }

    h3.no-wrap-out {
        display: block;
    }
    h3.no-wrap-in {
        display: none;
    }
}


@media only screen and (max-width: 899px) {
    .div-home-main-text h1 {
        width: 100%;
        margin: 0 0 2rem;
        text-align: center;
    }
    .div-home-main-text .column-text {
        grid-gap: 3rem;
    }


    .div-home-our-services .column-text {
        grid-template-columns: repeat(auto-fit, minmax(calc(50% - 2rem), 1fr));    
    }



    .div-home-recent-projects .column-text {
        display: grid;
        grid-gap: .75rem;
        grid-template-columns: repeat(auto-fit, minmax(calc(50% - .75rem), 1fr)); 
    }
}


@media only screen and (max-width: 768px) {
    .div-home-main-text .column-text {
        flex-direction: column;
    }
}


@media only screen and (max-width: 679px) {
    .page-home #middle {
        margin-top: 0;
    }

    .div-home-full-width {
        min-height: auto;
    }

    .page-home .div-home-full-width h2,
    .page-home .div-home-full-width h3,
    .page-home .div-home-full-width p {
        text-align: center;
        width: 90%;
        margin: 1rem auto;
    }

    .div-home-testimonials {
        padding: 0rem 1.5rem 2rem;
    }

    .div-home-blog .column-text>div:nth-of-type(3),
    .div-home-projects .column-text>div:nth-of-type(3) {
        display: block;
    }

    .div-home-contact-us-container {
        padding-top: 1rem;
    }

    .div-home-contact-us-container h2 {
        text-align: center;
    }

    .div-home-form-contact {
        padding: 2rem 0;
    }

    .div-home-main-text {
        padding: 2rem 0;
    }

    .div-home-our-services {
        padding: 2rem 0;
    }

    .div-home-form-contact .column-text > div:nth-of-type(1) {
        display: none;
    }



    .div-home-our-services .column-text {
        grid-template-columns: repeat(auto-fit, minmax(calc(100% - 2rem), 1fr));
    }
    .div-home-our-services p.p-btn {
        margin: 1.5rem 0;
    }



    .div-home-recent-projects .column-text {
        display: grid;
        grid-gap: .75rem;
        grid-template-columns: repeat(auto-fit, minmax(calc(100% - .75rem), 1fr)); 
    }
}



@media only screen and (max-width: 410px) {
    .div-home-main-text h3 {
        font-size: 1.05rem !important;
    }

    .div-home-main-text h2 {
        font-size: 1.35rem !important;
    }
}