/*
Theme Name: Nicholson Landscaping
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Tags: responsive-layout,one-column,two-columns,three-columns,four-columns,left-sidebar,right-sidebar,custom-background,custom-colors,featured-images,full-width-template,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready
Version: 3.12.2.1535380955
Updated: 2026-03-03 18:12:15

*/

/* header */


.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>a {
    padding: 31px 0;
}

.et_pb_menu .et_pb_menu__menu>nav>ul {

    align-items: flex-end;
}

.menu-container div.et_pb_column {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
}

@media (min-width: 981px) {
    .et_pb_menu_0_tb_header {
        width: 80% !important;
    }

    .menu-container .et_pb_menu .et_pb_menu__wrap {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media (min-width: 1140px) {
    .et_pb_menu_0_tb_header {
        width: 70% !important;
    }
}

.menu-container .dsm_button {
    padding-bottom: 49px;
}

.has_et_pb_sticky .menu-container .dsm_button {
    padding-bottom: 18px;
}

@media (max-width: 981px) {
    header .et_pb_menu_inner_container>.et_pb_menu__logo-wrap {
        max-width: 140px !important;
    }
}


@media (max-width: 1280px) {
    .menu-container a.et_pb_button.et_pb_button_two.et_pb_bg_layout_dark.dsm-none {
        display: none;
    }
}

@media (max-width: 1140px) {
    .first-header-row {
        display: none !important;
    }

}


.has_et_pb_sticky .et_pb_section {
    background-color: #373f45 !important;
}

/* end header */

/* hero */


.home .hero:before {
    content: '';
    width: 100%;
    background-image: url(/wp-content/themes/nicholsonlandscaping/img/Hero-BG-divider.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    inset: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}


.parent-pageid-49 .hero:before {
    content: '';
    width: 100%;
    background-image: url(/wp-content/themes/nicholsonlandscaping/img/Hero-BG-divider.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    inset: 0;

    bottom: 0;
    left: 0;
    right: 0;
}

.single-portfolio .hero:before {
    content: '';
    width: 100%;
    background-image: url(/wp-content/themes/nicholsonlandscaping/img/section-divider.png);
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
    position: absolute;
    inset: 0;
    bottom: 0;
    left: 0;
    right: 0;
}


.single-portfolio .hero:after {
    content: '';
    width: 100%;
    background-image: url(/wp-content/themes/nicholsonlandscaping/img/section-divider.png);
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
    position: absolute;
    inset: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
}



.single-portfolio .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            #373F45 0%,
            rgba(54, 68, 79, 0.3) 100%);
    z-index: 1;
}

.locations {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 12px;
    text-transform: uppercase;
}

.locations span::after {
    content: "|";
    margin-left: 12px;
    opacity: 0.7;
}

.locations span:last-child::after,
.locations span.no-sep::after {
    content: "";
}


@media (max-width: 767px) {
    .locations {
        gap: 14px 6px;
    }

    .locations span::after {

        margin-left: 6px;
    }
}

.hero a.et_pb_button.et_pb_button_two.et_pb_bg_layout_dark.dsm-none {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}




@media (min-width: 981px) and (max-width: 1210px) {
    .hero h2.dsm-gradient-text.et_pb_module_header {
        font-size: 118px;
    }
}

/* end hero */



/* footer */
@media (min-width: 981px) {
    .footer-menu-block .et-menu.nav {
        flex-direction: column;
        max-width: 202px;
    }
}

footer .et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li {
    margin-top: 8px;
    margin-bottom: 8px;
}

.et_pb_menu__menu .footer-menu-block,
.et_pb_menu__menu .footer-menu-block {
    display: flex !important;
}

.footer-menu-block .et_mobile_nav_menu {
    display: none;
}

.footer-menu-block a:hover,
.footer-menu-block .et_pb_menu__menu>nav>ul>li>a:hover {
    opacity: 1;
}

.footer-menu-block ul li {
    width: 100%;
}

.footer-menu-block .et_pb_menu__menu>nav>ul>li>a {
    padding-bottom: 0;
}



@media (max-width: 980px) {
    footer .et_pb_menu--style-left_aligned .et_pb_menu__wrap {
        -webkit-box-pack: start;
        -ms-flex-pack: end;
        justify-content: flex-start;
    }

    footer .et_pb_menu .et_pb_menu__menu {
        display: block;
    }
}




/* News block*/
.news-block .dp-dfg-item {
    display: grid;
    grid-template-columns: minmax(0, 305px) 1fr;
    gap: 20px;
    align-items: start;

}

.news-block .dp-dfg-item .dp-dfg-image {
    grid-row: 1 / span 3;
    align-self: center;
}



.news-block .dp-dfg-item .dp-dfg-header {
    grid-row: 1;
}

.news-block .dp-dfg-item .dp-dfg-content {
    grid-row: 2;
}

.news-block .dp-dfg-item .et_pb_button_wrapper {
    grid-row: 3;
}

@media (min-width: 981px) {
    .news-block .dp-dfg-item .dp-dfg-image {
        flex: 0 0 auto;
        width: 305px;
        height: 250px;
    }

    .news-block .dp-dfg-item .dp-dfg-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
}

/* Mobile */
@media (max-width: 980px) {
    .news-block .dp-dfg-item {
        grid-template-columns: 1fr;
    }

    .news-block .dp-dfg-item .dp-dfg-image {
        grid-row: auto;
    }

    .news-block .dp-dfg-item .dp-dfg-header,
    .news-block .dp-dfg-item .dp-dfg-content,
    .news-block .dp-dfg-item .et_pb_button_wrapper {
        grid-row: auto;
    }
}

@media (max-width: 980px) {
    .news-block .dp-dfg-items article {
        padding-bottom: 40px !important;
    }
}

/* End News block*/



/* Services block*/
@media (min-width: 981px) {
    .services-block .dp-dfg-item .dp-dfg-image {
        flex: 0 0 auto;
        width: 410px;
        height: 300px;
    }

    .services-block .dp-dfg-item .dp-dfg-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
}

.services-block .dp-dfg-header.entry-header {
    margin-top: 24px;
    margin-bottom: 8px;
}

.services-block .entry-summary {
    width: 95%;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    /* Number of lines to show */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 980px) {
    .services-block .dp-dfg-items article {
        padding-bottom: 40px !important;
    }
}

.services-block .et_pb_button:hover,
.services-block .et_pb_module .et_pb_button:hover {
    border: 2px solid transparent;
    padding: 0;
    text-decoration: underline;
}

/* End Services block*/

.dp-dfg-skin-default .dp-dfg-item>* {
    padding: 0 !important;
}

a.et_pb_button.dp-dfg-more-button {
    padding: 0;
    margin: 0;
}

/* End News block*/
h2.dsm-gradient-text.et_pb_module_header {
    padding-left: 0.1em;
    padding-right: 0.1em;
}

h2.dsm-gradient-text.et_pb_module_header {
    background-image: linear-gradient(93deg, #BABABA 0%, #545454 100%) !important;
}

.white-gradient h2.dsm-gradient-text.et_pb_module_header {
    background-image: linear-gradient(93deg, #FFFFFF 0%, #99A0A3 100%) !important;
}

.solid-white h2.dsm-gradient-text.et_pb_module_header {
    background-image: linear-gradient(93deg, #FFFFFF 0%, #FFFFFF 100%) !important;
}



/* testimonials */

.testimonials-slider .dica-container .swiper-button-next,
.testimonials-slider .dica-container .swiper-button-prev {
    padding: 26px 22px !important;
    border: 2px solid #00C216;
    border-radius: 4px;
}

.testimonials-slider .dica-container .swiper-button-next:hover,
.testimonials-slider .dica-container .swiper-button-prev:hover {
    background-color: white !important;
}

@media (max-width: 980px) {

    .testimonials-slider .dica-container .swiper-button-next,
    .testimonials-slider .dica-container .swiper-button-prev {

        display: none;
    }
}

.testimonials-slider .swiper-pagination {
    margin-top: 48px;
}

/* end testimonials */


/* portfolio */
.intro:before {
    content: '';
    width: 100%;
    background-image: url(/wp-content/themes/nicholsonlandscaping/img/BG-Project-card-divider.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    inset: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}


.portfolio-section.grey::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to right,
            rgb(55 65 69) 0%,
            rgb(55 65 69) 25%,
            rgb(55 65 69 / 75%) 50%,
            rgb(55 65 69 / 50%) 73%,
            rgb(55 65 69 / 10%) 80%,
            rgb(55 65 69 / 0%) 100%);
    z-index: 1;
}

.portfolio-section.brilliant::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to left,
            rgb(0 166 154) 0%,
            rgb(0 166 154) 25%,
            rgb(0 166 154 / 75%) 50%,
            rgb(0 166 154 / 50%) 73%,
            rgb(0 166 154 / 10%) 80%,
            rgb(0 166 154 / 0%) 100%);
    z-index: 1;
}

.portfolio-section.brilliant h2.dsm-gradient-text.et_pb_module_header {
    background-image: linear-gradient(93deg, #FFFFFF 0%, #B0F1ED 100%) !important;
}






@media (max-width: 980px) {
    .portfolio-section h2.dsm-gradient-text.et_pb_module_header {
        background-image: linear-gradient(93deg, #FFFFFF 0%, #FFFFFF 100%) !important;
    }
}

/* end portfolio */


/* logo carousel */

.logo-carousel .dica-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    justify-content: center;
}


.logo-carousel .dica-container {
    position: relative;
}

/* LEFT FADE */
.logo-carousel .dica-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: 100%;
    pointer-events: none;
    z-index: 5;

    background: linear-gradient(to right,
            #fff 0%,
            rgba(255, 255, 255, 0) 100%);
}

/* RIGHT FADE */
.logo-carousel .dica-container::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 100%;
    pointer-events: none;
    z-index: 5;

    background: linear-gradient(to left,
            #fff 0%,
            rgba(255, 255, 255, 0) 100%);
}

/* end logo carousel */



/* form */
.nf-before-form-content {
    display: none;
}

.nf-form-cont label {
    font-family: 'LATO';
    font-size: 16px;
    color: #4B5156;
    font-weight: 400 !important;
}

input#nf-field-8 {
    font-size: 20px;
    font-weight: 700;
    font-family: 'Lato';
    max-width: 251px;
    width: 100%;
    background: transparent;
    border: 2px solid #00C216;
    margin: 0 auto;
    display: block;
    border-radius: 4px;
    color: #00C216;
}

.nf-form-content .list-select-wrap .nf-field-element>div,
.nf-form-content input:not([type=button]),
.nf-form-content textarea {
    background: #fff;
    border: 1px solid #4B5156;
    border-radius: 0;
    box-shadow: none;
    color: #6b6b6b;
    transition: all .5s;
}

/* end form */


.single-portfolio #main-content .container {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

.single-portfolio #content-area {
    width: 100%;
}




.et_pb_gallery_grid .et_pb_gallery_items {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

.et_pb_gallery_grid .et_pb_gallery_item {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.et_pb_gallery_image,
.et_pb_gallery_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.et_pb_gallery_item:nth-child(10n+1) {
    grid-column: span 3;
    grid-row: span 2;
}

.et_pb_gallery_item:nth-child(10n+8) {
    grid-column: 3 / span 3;
    grid-row: span 2;
}

@media (max-width:980px) {

    .et_pb_gallery_grid .et_pb_gallery_items {
        grid-template-columns: repeat(2, 1fr);
    }

    .et_pb_gallery_item {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }

}

.et_pb_gallery_grid .et_pb_gallery_items {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-auto-rows: 300px;
    gap: 10px;
}

/* BIG LEFT */
.et_pb_gallery_item:nth-child(10n+1) {
    grid-column: span 3;
    grid-row: span 2;
}

/* BIG RIGHT */
.et_pb_gallery_item:nth-child(10n+8) {
    grid-column: 3 / span 3;
    grid-row: span 2;
}


@media (max-width:767px) {
    .et_pb_gallery_grid .et_pb_gallery_items {

        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 140px;

    }
}

/* =============================================
   Portfolio Filter Grid — Alternating Layout
   ============================================= */

/* Full-width outer wrapper — image bleeds edge to edge */
.portfolio-block .dp-dfg-items {
    display: flex;
    flex-direction: column;
}

.portfolio-block .dp-dfg-item {
    position: relative;
    min-height: 860px;
    overflow: hidden;
    display: flex;
    align-items: center;
    width: 100%;
}

/* ── Image: full viewport width ── */
.portfolio-block .dp-dfg-item .dp-dfg-image {
    position: absolute;
    inset: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.portfolio-block .dp-dfg-item .dp-dfg-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ── Overlay tints ── */







.portfolio-block .dp-dfg-item:nth-child(odd) .dp-dfg-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to right,
            rgb(55 65 69) 0%,
            rgb(55 65 69) 25%,
            rgb(55 65 69 / 75%) 50%,
            rgb(55 65 69 / 50%) 73%,
            rgb(55 65 69 / 10%) 80%,
            rgb(55 65 69 / 0%) 100%);
}

.portfolio-block .dp-dfg-item:nth-child(even) .dp-dfg-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to left,
            rgb(0 166 154) 0%,
            rgb(0 166 154) 25%,
            rgb(0 166 154 / 75%) 50%,
            rgb(0 166 154 / 50%) 73%,
            rgb(0 166 154 / 10%) 80%,
            rgb(0 166 154 / 0%) 100%);
}



/* Now ::after is free for the first item's decorative layer */
.portfolio-block .dp-dfg-item:first-child .dp-dfg-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url(/wp-content/themes/nicholsonlandscaping/img/portfolio-intro.png);
    background-size: contain;
    background-position: 50% -20%;
    background-repeat: no-repeat;
    z-index: 2;
}




/* ── Inner container: constrained to 1280px, centered ── */
.portfolio-block .dp-dfg-item .dp-dfg-item-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 60px 80px;
    box-sizing: border-box;
    display: flex;
}

/* ── ODD items: text left ── */
.portfolio-block .dp-dfg-item:nth-child(odd) .dp-dfg-item-inner {
    justify-content: flex-start;
    text-align: left;
}







.portfolio-block .dp-dfg-item:nth-child(odd) h2 {
    background: linear-gradient(93deg, #FFF 0%, #99A0A3 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    padding-left: 0.1em;
    padding-right: 0.1em;
}

/* ── EVEN items: text right ── */
.portfolio-block .dp-dfg-item:nth-child(even) .dp-dfg-item-inner {
    justify-content: flex-end;
    text-align: right;
}

/* ── Text block ── */
.portfolio-block .dp-dfg-item .text-block {
    max-width: 580px;
    width: 100%;
}

/* Fix button alignment on even items */
.portfolio-block .dp-dfg-item:nth-child(even) .read-more-wrapper {
    display: flex;
    justify-content: flex-end;
}

.portfolio-block .dp-dfg-item:nth-child(even) .et_pb_button_wrapper {
    display: flex;
    justify-content: flex-end;
}



/* ── Button ── */
.portfolio-block .dp-dfg-item .et_pb_button.dp-dfg-more-button {
    display: inline-block;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.75);
    padding: 0.6em 1.8em;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
    text-decoration: none;
    background: transparent;
    transition: background 0.2s;
}

.portfolio-block .dp-dfg-item .et_pb_button.dp-dfg-more-button:hover {
    background: rgba(255, 255, 255, 0.18);
}

/* ── Mobile ── */
@media (max-width: 768px) {
    .portfolio-block .dp-dfg-item {
        min-height: 320px;
        max-height: none;
        align-items: flex-end;
    }

    .portfolio-block .dp-dfg-item .dp-dfg-item-inner {
        padding: 40px 20px;
    }

    .portfolio-block .dp-dfg-item:nth-child(odd) .dp-dfg-item-inner,
    .portfolio-block .dp-dfg-item:nth-child(even) .dp-dfg-item-inner {
        justify-content: flex-start;
        text-align: left;
    }

    .portfolio-block .dp-dfg-item .dp-dfg-item-inner .text-block {
        max-width: 100%;
    }
}

body.et-db #page-container #et-boc .et-l .et_pb_section .portfolio-block .et_pb_button.dp-dfg-more-button:hover {
    padding-right: 24px !important;
    padding-left: 24px !important;
}

.single-portfolio .et_post_meta_wrapper img {
    display: none;
}

/* =============================================
   Services slider
   ============================================= */

/* Override plugin grid & existing services-block rules */
.services-block.slider .dp-dfg-container,
.services-block.slider .dp-dfg-items,
.services-block.slider .dp-dfg-item {
    display: revert !important;
    grid-template-columns: revert !important;
    flex-wrap: revert !important;
    width: revert !important;
}

/* Container */
.services-block.slider .dp-dfg-container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 60px !important;
    box-sizing: border-box !important;
}

/* Slide card */
.services-block.slider .dp-dfg-item {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    overflow: hidden !important;
    border: none;
    min-width: 0 !important;
}

/* Image — override the fixed 410px width */
.services-block.slider .dp-dfg-image,
.services-block.slider .dp-dfg-item .dp-dfg-image {
    position: relative !important;
    width: 100% !important;
    height: 220px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
}

.services-block.slider .dp-dfg-image img,
.services-block.slider .dp-dfg-item .dp-dfg-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Text block */
.services-block.slider .dp-dfg-item-inner {
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

.services-block.slider .text-block {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

.services-block.slider .dp-dfg-header.entry-header {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}


/* Push button to bottom */
.services-block.slider .read-more-wrapper {
    margin-top: auto !important;
}

/* Splide track & list */
.services-block.slider .splide__track {
    overflow: hidden !important;
}

.services-block.slider .splide__list {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

.services-block.slider .splide__slide {
    flex-shrink: 0 !important;
    min-width: 0 !important;
    height: auto !important;
}

/* Arrows */
.services-block.slider .splide__arrow {
    background: #fff !important;
    opacity: 1 !important;
    width: 40px !important;
    height: 40px !important;
    border: 1px solid #ddd !important;
}

.services-block.slider .splide__arrow svg {
    fill: #333 !important;
}

.services-block.slider .splide__arrow:hover {
    background: #f5f5f5 !important;
}

.services-block.slider .dp-dfg-pagination {
    display: none !important;
}

@media (min-width: 981px) {
    .services-block.slider .splide {
        padding: 0 100px;
    }
}

.services-block.slider .splide__arrow--prev {
    left: 0;
}

.services-block.slider .splide__arrow--next {
    right: 0;
}

.services-block.slider .splide__arrow {
    background: transparent !important;
    border: 2px solid #5a9e3a !important;
    border-radius: 6px !important;
    width: 44px !important;
    height: 44px !important;
    opacity: 1 !important;
}

.services-block.slider .splide__arrow svg {
    fill: #5a9e3a !important;
    width: 18px !important;
    height: 18px !important;
}

.services-block.slider .splide__arrow:hover {
    background: rgba(90, 158, 58, 0.1) !important;
}

/* Mobile */
@media (max-width: 768px) {
    .services-block.slider .dp-dfg-container {
        padding: 0px !important;
    }

    .services-block.slider .splide__arrow {
        top: 59%;
    }

    .services-block.slider .dp-dfg-item-inner {
        padding: 20px 55px !important;

    }
}

/* =============================================
   End Services slider
   ============================================= */