﻿.TopBanner, .TopBannerBgImg {
    background-repeat: repeat-x;
    background-position: center center;
    background-size: cover;
    /*height: 740px;*/
    padding: 155px 0px 70px 95px;
    position: relative;
}

    .TopBanner .col-md-7 img {
        margin: auto;
        display: block;
    }

.TopBannerBgImg.ImageBottomAligned,
.TopBanner.ImageBottomAligned {
    background-repeat: repeat-x;
    background-position: center center;
    background-size: cover;
    height: 740px;
    padding: 0px 0px 0px 95px;
    position: relative;
}

.TopSmBanner {
    background-repeat: repeat-x;
    background-position: center center;
    background-size: cover;
    height: 400px;
    padding: 0px 0px 0px 0px;
    position: relative;
}

.twoColumns ul {
    margin-bottom:0px;
}

.blueOverlay {
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.0), rgba(120, 80, 60, 0.90));
}

.FullWidth h2:first-child {
    margin-top: 0px;
}


.TopBannerBgImg .col-md-6 {
    background-position: left bottom;
    background-size: cover;
    background-repeat: no-repeat;
    height: 740px;
    padding: 0px 0px 0px 0px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55%;
}

.TwoColumnFullWidthLeft {
    background-position: right bottom;
    background-size: cover;
    background-repeat: no-repeat;
    padding:0px 80px 0px 5%;
}

    .TwoColumnFullWidthLeft p {
        color:#fff;
    }

    .TopBannerBgImg .col-sm-1 {
        width: 3.33333333%;
    }

.FullWidth h1 {
    margin-top:0px;
}

.FullWidth form {
    margin-left: -15px;
    margin-right: -15px;
}

.form-control {
    height: 44px;
    padding: 10px 12px;
    border-radius: 0px;
}

hr {
    border-top: 2px solid #d9d9d9;
    margin-top: 40px;
    margin-bottom: 40px;
}

.SeoCredits {
    background: #eff0f0;
    padding: 40px 0px;
    text-align:center;
}

    .SeoCredits img {
        display: inline !important;
        margin: 10px 20px !important;
        max-height: 80px;
        width: auto;
    }

.SeoContent .col-sm-8, .SeoContent .col-lg-8 {
    padding-right: 80px;
}

.SeoContent .col-sm-4 h3 {
    margin-top:0px;
}

.SeoCredits p {
    margin: 0px;
}

.TopBanner .col-sm-5 {
    display: flex;
    align-items: center;
    justify-content: left;
}

.TopBanner .col-sm-7 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    align-self: flex-end;
    /*margin-bottom:50px;*/
    padding-left:50px;
}

.TopBannerBgImg h1, .TopSmBanner h1 {
    font-weight: 700;
    color: #70bf44;
    margin: 10px 0px 0px 0px;
    line-height: 70px;
}

.TopBanner h1,
.TopBannerBgImg h1 {
    color: #ffffff;
    margin: 0px;
    line-height: 60px!important;
}

.TopBanner h3 span.green,
.TopBannerBgImg h3 span.green {
    font-weight: 700;
}

.TopBanner h1 strong, .TopBannerBgImg h1 strong {
    color: #70bf44;
}

.TopSmBanner h1 {
    text-align: center;
    margin-top:30px;
}

.TopBanner h2, .TopBannerBgImg h2 {
    font-weight: 500;
    color: #fff;
    margin: 0px;
    font-size: 58px;
    line-height: 58px;
}

.TopBanner h3, .TopBannerBgImg h3 {
    font-weight: 700;
    color: #fff;
    margin: 10px 0px;
    font-size: 23px;
    line-height: 38px;
}


.powered-by-pill .icon i {
    color: #445c9d;
    font-size: 20px;
}

.powered-by-pill .pill-text {
    font-size: 14px;
    color: #445c9d;
    font-weight:500;
}

.powered-by-pill {
    border: 1px solid #6cbe45;
    background: rgba(108, 190, 69, 0.2);
    border-radius: 50px;
    padding: 7px 20px;
    margin-bottom: 10px;
    margin: 30px auto;
    display: table;
}

.TopBanner p {
    color: #fff;
}
    .TopBanner h4, .TopBanner h4 a, .TopBannerBgImg h4 {
        font-weight: 400;
        color: #fff;
        margin: 10px 0px 0px 0px;
        text-align: center;
        font-size: 20px;
    }

    .TopBanner h4 a:hover {
        text-decoration: none;
        color: #70bf44;
    }



.SeoContent li {
    margin-bottom: 15px;
}


.SeoContent ul {
    padding: 0px 0px 0px 30px;
    list-style: inherit;
}

.SeoContent img[align="right"],
.SeoContent img[style*="float: right"],
.SeoContent img[style*="float:right"] {
    padding: 0px 0px 30px 40px;
    margin-bottom: 10px;
    height: auto !important;
    max-width: 400px !important;
}

.SeoContent img[align="left"],
.SeoContent img[style*="float: left"],
.SeoContent img[style*="float:left"] {
    padding: 0px 40px 30px 0px;
    margin-bottom: 10px;
    height: auto !important;
    max-width: 400px !important;
}

ol {
    padding: 10px 0px 0px 20px;
}



.clientReviews h3 {
    margin: 0px auto 40px auto;
    display: table;
}

.clientReviews h4 {
    text-align: center;
    margin: 0px;
}

.clientReviews h2 {
    margin: 0px auto 50px auto;
    display: table;
}

.JobOpening h2 {
    margin: 0px auto 60px auto;
}

.JobOpeningWrapper {
    display: table;
    background: #f5f5f5;
    padding: 30px 20px;
/*margin-top:30px;*/
}


/*.jobTitle h3 {
    margin-top: -60px;
    margin-bottom: 0px;
}*/

/*h4.applicationForm {
    margin-top: -60px;
    margin-bottom: 30px;
}*/

    .JobOpeningWrapper h3 {
        margin: 0px;
        color: #425891;
        /*font-size:24px;*/
    }

    .JobOpeningWrapper .fa-solid, .JobOpeningWrapper .fa-sharp {
        color: #70BF44;
    }

    .JobOpening .callout-button {
        float:right;
    }

    .clientReviewsWrapper {
        background: linear-gradient(to right, rgba(66, 88, 144, 0.99), rgba(13, 46, 61, 0.99));
        padding: 30px 25px 10px 25px;
        color: #fff;
        border-radius: 24px;
        display: flex;
        flex-direction: column;
    }

    .clientReviewsWrapper p {
        font-size: 16px;
        line-height: 26px;
        font-weight: 400;
    }

    .clientReviewsWrapper .fa-solid {
        font-size: 32px;
        color: #70bf44;
        margin-right:2px;
        margin-bottom:10px;
    }

    .clientReviewsWrapper hr {
        border-top: 2px solid #526c8b;
        margin-top: 20px;
        margin-bottom: 8px;
    }

    .clientReviewsWrapper hr {
        margin-top: auto;
        width: 100%;
    }

    .clientReviewsWrapper .cms-content {
        flex: 1;
        display: flex;
        flex-direction: column;
    }


.Clients h2 {
    margin:0px 0px 40px 0px;
}

.row {
    margin-right: 0px;
    margin-left: 0px;
}

.showMoreLink {
    margin:60px auto 0px auto;
    display:table;
}

.SimilarProjects .big-callout-button {
    float:right;
    margin-top:0px;
}

.SimilarProjects {
    padding: 80px 0px;
    background: #e7e9e9;
}

    .SimilarProjects .col-sm-4 {
        margin-top: 10px;
    }

    .SimilarProjects h3 {
        margin-top: 10px;
    }

    .SimilarProjects a {
        color: #1b1b1b;
    }

        .SimilarProjects a:hover {
            color: #6cbe45;
            text-decoration:none;
        }

    .SimilarProjects img:hover {
        opacity:1;
    }


.iconTextColumns img {
    max-height: 70px;
    margin-bottom: 30px;
}

.iconTextColumnsWrapper {
    padding: 0px;
}

.iconTextColumns .col-md-4 {
    margin-top: 30px;
/*    padding-right: 60px;*/
    margin-bottom: 55px;
}

.iconTextColumns .col-md-4:nth-last-of-type(1),
.iconTextColumns .col-md-4:nth-last-of-type(2),
.iconTextColumns .col-md-4:nth-last-of-type(3)
{
    margin-bottom: 0px;
}

.iconTextColumnsWrapper h2 {
    margin-top: 0px;
}

h2.noH2BottomMrg {
    margin-bottom:0px!important;
}

.popUpthumbs img {
    border-radius: 25px;
    cursor: pointer;
}

    /*.homeProjectImg:hover {
        filter: brightness(0.70)
    }*/

.popUpthumbs {
    margin-bottom:60px;
}

.popUpthumbs .callout-button {
   margin:0px auto;
   border-radius:20px;
}

.modal-content {  
    border-radius: 32px;
    padding: 20px 30px;
}

.modal-body p {
    font-size:18px;
}

.modal-dialog {
    width: 800px;
}

.modal-footer .btn {
    border-radius: 20px;
}

.popUpthumbs .fa-solid, .popUpthumbs .fa-brands {
    margin: 0px 2px;
}

.clentSocials {
    display: flex;
    gap: 5px;
}

p.details-wrapper {
    margin-top: 13px;
}

.clentSocials a {
    color: #70bf44;
}

.clentSocials a:hover {
    color: #425891;
}



.popUpthumbs a.image {
    position: relative;
    display: inline-block;
    text-decoration: none;
    width: 100%;
}

    .popUpthumbs a.image img {
        display: block;
        width: 100%;
        height: auto;
    }


    .popUpthumbs a.image::before {
        content: "See Bio";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: rgba(112, 191, 68, 0.7);
        color: white;
        font-size: 20px;
        font-weight: bold;
        padding: 10px;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
        border-radius: 25px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 400;
        font-size: 26px;
    }

.popUpthumbs a.image:hover::before {
    opacity: 1;
}


/********************/

.news-blog-wrapper {

}


    .news-blog-wrapper .blockThumbs a .homeProjectImg {
        position: relative;
        display: inline-block;
        text-decoration: none;
    }

    .news-blog-wrapper .blockThumbs a .homeProjectImg {
        display: block;
        width: 100%;
        height: auto;
    }


        .news-blog-wrapper .blockThumbs a .homeProjectImg::before {
            content: "Read Article";
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            background-color: rgba(112, 191, 68, 0.95);
            color: white;
            font-size: 20px;
            font-weight: bold;
            padding: 10px;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 400;
            font-size: 26px;
        }

    .news-blog-wrapper .blockThumbs a:hover .homeProjectImg::before {
        opacity: 1;
    }

.homeProjectText h5 a {
    color: #1B1B1B;
}

.homeProjectText h5:hover a {
    color: #425891;
}

.homeProjectText h5 {
    line-height: 21px;
    margin-top: 15px;
}

.JobOpeningWrapper hr {
    margin-top: 15px;
    margin-bottom: 15px;
}

.footerContactPage h4 {
    text-align: left;
    color: white;
    font-weight: 300;
    margin-top: 0px;
    font-size: 27px;
    margin-bottom: 0px;
}

.footerContactPage h4 .green {
    font-weight: 600;
}

.footerContactPage h2 {
    margin-bottom: 10px;
    margin-top: 0px;
}

.footerContactPage a.big-callout-button {
    justify-content: center;
    font-size: 25px !important;
    padding: 20px 25px;
    margin-top: 0px;
}

.flexAlignVert > div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.TopBanner .col-md-5 .cms-content {
    margin-top: -30px;
}


.twoThirdsTwoColumn h3 img {
    margin: 0px 8px 0px 0px;
}

@media (min-width: 1921px) {
    .TopBannerBgImg .col-md-6 {
        background-position: right bottom;
        height: 680px;
        width: 55%;
    }

    .TopBannerBgImg .col-md-6 {
        margin-bottom: -135px;
    }
}


    @media (min-width: 1366px) and (max-width: 1600px) {
        .TopBanner h1, .TopBannerBgImg h1 {
            line-height: 52px !important;
            font-size: 49px;
        }

        .TopBanner h3, .TopBannerBgImg h3 {
            font-size: 20px;
            line-height: 28px;
        }

        .TopBanner h4, .TopBanner h4 a, .TopBannerBgImg h4 {
            font-size: 18px;
        }

        .TopBanner, .TopBannerBgImg {
            padding: 155px 0px 55px 95px;
        }

            .TopBannerBgImg.ImageBottomAligned,
            .TopBanner.ImageBottomAligned {
                height: 662px;
            }

            .TopBannerBgImg .col-md-6 {
                height: 662px;
            }

        .SeoCredits img {
            max-height: 80px;
        }
    }

    @media (min-width: 1200px) and (max-width: 1366px) {
        .TopBanner h1, .TopBannerBgImg h1 {
            line-height: 52px !important;
            font-size: 48px;
        }

        .TopBanner h3, .TopBannerBgImg h3 {
            font-size: 20px;
            line-height: 28px;
        }

        .TopBanner h4, .TopBanner h4 a, .TopBannerBgImg h4 {
            font-size: 16px;
        }

        .TopBanner, .TopBannerBgImg {
            padding: 155px 0px 55px 30px;
        }

            .TopBannerBgImg.ImageBottomAligned,
            .TopBanner.ImageBottomAligned {
                height: 610px;
                padding: 0px 0px 0px 30px;
            }

            .TopBannerBgImg .col-md-6 {
                height: 610px;
            }

        .SeoCredits img {
            max-height: 70px;
        }
    }

    @media (min-width: 992px) and (max-width: 1199px) {
        .TopBanner h1, .TopBannerBgImg h1 {
            line-height: 45px !important;
            /*font-size: 36px;*/
            font-size: 45px;
        }

        .TopBanner h3, .TopBannerBgImg h3 {
            font-size: 18px;
            line-height: 23px;
        }

        .TopBanner h4, .TopBanner h4 a, .TopBannerBgImg h4 {
            font-size: 16px;
        }

        .TopBanner, .TopBannerBgImg {
            padding: 155px 0px 55px 30px;
        }

        .iconTextColumns img {
            max-height: 45px;
            margin-bottom: 30px;
        }

        .TopBannerBgImg.ImageBottomAligned,
        .TopBanner.ImageBottomAligned {
            height: 560px;
            padding: 0px 0px 0px 30px;
        }

        .TopBannerBgImg .col-md-6 {
            height: 560px;
        }

        .SeoCredits img {
            max-height: 50px;
        }
    }

    @media (min-width: 768px) and (max-width: 991px) {
        /*    .TopBanner {
        display: block;
    }*/

        .TopBanner h1, .TopBannerBgImg h1 {
            line-height: 45px !important;
            font-size: 43px;
        }

        .bestPlaceToWork {
            display: none;
        }

        .TopBanner h3, .TopBannerBgImg h3 {
            font-size: 18px;
            line-height: 23px;
        }

        .TopBanner h4, .TopBanner h4 a, .TopBannerBgImg h4 {
            font-size: 16px;
        }

        .TopBanner, .TopBannerBgImg {
            padding: 155px 5% 55px 5%;
        }

            .TopBanner .col-md-7 {
                margin-top: 50px;
            }

            .TopBanner .col-md-5 .cms-content {
                margin-top: 0px;
            }

        .iconTextColumnsWrapper {
            padding: 0px 15px 30px 15px !important;
        }

        .iconTextColumns img {
            max-height: 45px;
            margin-bottom: 30px;
        }

        .iconTextColumns .col-md-4 {
            margin-bottom: 15px;
        }

        .listWrapper {
            display: flex;
            flex-wrap: wrap;
        }

        .TopBannerBgImg.ImageBottomAligned,
        .TopBanner.ImageBottomAligned {
            padding: 0px 0% 0px 5%;
            height: 500px;
        }

        .TopBannerBgImg .col-md-6 {
            height: 500px;
            /*background-size: cover;
        width: 50%;*/
        }

        /* .TopBannerBgImg .col-md-5 {        
        width: 50%;
    }

    .TopBannerBgImg .col-md-1 {
        width: 0%;
    }*/

        .modal-dialog {
            width: 90%;
        }


        .SeoCredits img {
            max-height: 40px;
        }
    }

    @media (max-width: 767px) {
        .TopBanner {
            display: block;
        }

            .TopBanner h1, .TopBannerBgImg h1 {
                line-height: 38px !important;
                font-size: 32px;
            }

        .SeoContent img[align="right"],
        .SeoContent img[style*="float: right"],
        .SeoContent img[style*="float:right"] {
            padding: 30px 0px 30px 0px;
            margin-bottom: 10px;
            height: auto !important;
            width: 100% !important;
        }

        .SeoContent img[align="left"],
        .SeoContent img[style*="float: left"],
        .SeoContent img[style*="float:left"] {
            padding: 30px 0px 30px 0px;
            margin-bottom: 10px;
            height: auto !important;
            max-width: 100% !important;
        }

        .iconTextColumns .col-md-4:nth-last-of-type(1),
        .iconTextColumns .col-md-4:nth-last-of-type(2),
        .iconTextColumns .col-md-4:nth-last-of-type(3) {
            margin-bottom: 15px;
        }

        .clientReviews h2, .clientReviews h3 {
            margin: 0px auto 30px auto;
            display: table;
        }

        .clientReviews .col-sm-3 {
            padding: 0px;
        }

        .twoThirdsTwoColumn form .col-md-12 {
            padding: 0px;
        }

        .twoThirdsTwoColumn h3 img {
            margin: -2px 10px 0px 0px;
            float: left;
        }

        .twoThirdsTwoColumn h3 {
            display: inline-table;
        }

        .subMenu a {
            display: inherit !important;
        }

        .bottom h4 {
            margin-bottom: 10px;
        }

        .clientReviewsWrapper {
            margin-bottom: 30px;
        }

        .SeoCredits img {
            display: table !important;
            margin: 20px auto !important;
            max-height: 50px;
            width: auto;
        }

        .TopSmBanner h1 {
            text-align: center;
            margin-top: 30px;
            font-size: 32px;
            line-height: 44px;
        }

        .popUpthumbs {
            margin-bottom: 40px;
        }

        ul.subMenu {
            padding-left: 0px;
            border-top: solid 2px #ccc;
            padding-top: 30px;
            margin-top: 40px;
        }

        .Clients {
            padding-top: 40px !important;
        }

            .Clients h2 {
                margin: 0px 0px 30px 0px;
            }

        iframe {
            width: 100%;
        }

        .projects .col-md-4, .Clients .col-sm-12 {
            padding: 0px;
        }

        .twoThirdsTwoColumn .col-lg-8 {
            padding: 0px;
        }

        .TeamMembers .col-sm-4 {
            padding: 0px;
        }

        .team-carousel .col-sm-10 {
            padding: 0px;
        }

        .team-carousel {
            padding-bottom: 100px !important;
        }

        .modal-content {
            border-radius: 24px;
            padding: 20px 10px;
        }

        .LatestNews .col-sm-12, .LatestNews .col-md-6, .MoreNews .col-sm-12, .news-blog-wrapper .col-sm-6 {
            padding: 0px;
        }

        .contactSection .col-sm-12 {
            padding: 0px;
        }

        .contactSection h2 {
            margin-top: 0px;
        }

        .TopBanner h3, .TopBannerBgImg h3 {
            font-size: 18px;
            line-height: 23px;
        }

        .TopBanner h4, .TopBanner h4 a, .TopBannerBgImg h4 {
            font-size: 16px;
        }

        .TopBanner, .TopBannerBgImg {
            padding: 115px 20px 85px 20px;
        }

            .TopBanner .col-md-5 {
                padding: 0px;
            }

            .TopBanner .col-md-7 {
                margin-top: 50px;
                padding: 0px;
            }

            .TopBanner .col-md-5 .cms-content {
                margin-top: 0px;
            }

        .extraTopMarginMobile {
            margin-top: 25px !important;
        }

        .iconTextColumnsWrapper {
            padding: 0px 0px 30px 0px !important;
        }

        .iconTextColumns img {
            max-width: 45px;
            height: auto;
            margin-bottom: 30px;
        }

        .iconTextColumns .col-md-4 {
            margin-bottom: 15px;
            margin-top: 0px;
            padding-right: 0px;
        }

        .listWrapper {
            display: flex;
            flex-wrap: wrap;
        }

            .listWrapper > div {
                padding-left: 0px;
                padding-right: 0px;
            }

            .listWrapper .iconTextColumnsImg {
                float: left;
                width: 20%;
            }

            .listWrapper .cms-content {
                float: left;
                width: 80%;
            }

        .FAIcons .listWrapper {
            display: table;
            flex-wrap: wrap;
        }

            .FAIcons .listWrapper .cms-content {
                width: 100%;
            }

            .TopBannerBgImg.ImageBottomAligned {
                display: block;
                height: auto;
            }

        .TopBannerBgImg.ImageBottomAligned, .TopBanner.ImageBottomAligned {
            padding: 115px 5% 0px 5%;
        }

        .TopBannerBgImg .col-md-6 {
            width: 100%;
            height: unset;
        }

        .modal-dialog {
            width: 90%;
        }
    }