/*------------- Custom Styles, Theme Overrides, etc --------------*/

/*SMC EDIT TAGS*/
.smc-edit, .smc-new, .smc-edit-template {
    font-size: 12px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    position: absolute;
    float: right;
    cursor: pointer;
    z-index: 99;
    border: 1px solid #ddd;
    border-radius: 3px;
    padding: 4px 5px !important;
    line-height: 14px;
    color: #999 !important;
    background: #fff;
    top: 10px;
    bottom: inherit !important;
    width: 24px;
    height: 24px;
}
.editable-opacity {
    opacity: 0.5;
    background: #000;
    position: relative;
}
.editable-opacity .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 20;
    padding: 0;
    margin: 0;
    opacity: 0.5;
}
.smc-edit{
    right: 20px;
}
.smc-new{
    right: 60px;
}
.smc-edit-template{
    right: 100px;
}
.pos-rel {
    position: relative;
}
.pos-left-20 {
    right: auto;
    left: 20px;
}
.pos-left-40 {
    right: auto;
    left: 40px;
}
.pos-left-60 {
    right: auto;
    left: 60px;
}
.pos-left-100 {
    right: auto;
    left: 100px;
}
.neg-top {
    top: -25px;
}
.top-450 {
    top:450px;
}
.top-240 {
    top:240px;
}
.top-50 {
    top:50px;
}
.right-35 {
    right: 35px;
}
.right-75 {
    right:75px;
}
.right-67 {
    right:67px;
}
.right-80 {
    right:80px;
}
.right-15 {
    right:15px;
}
.float-left {
    float:left;
    position:relative;
}
.smc-edit:hover, .smc-new:hover, .smc-edit-template:hover {
    /*color: #A6CE39 !important;
    border-color: #A6CE39;*/
    text-decoration: none;
}
.smc-edit i, .smc-new i, .smc-edit-template i {
    font-size: 12px;
    position: relative;
    top: 1px;
}
.edit-layout-item.smc-edit {
    width: auto;
    right: unset;
    left: 20px;
    top: -30px;
}

@font-face {
    font-family: 'Copperplate Light';
    src: url(/custom/fonts/Copperplate_Light.ttf);
}
body {
    font-family: 'Arial', 'sans-serif';
    font-size: 1em;
}
h1, h2, h3, h4,
.preloader-inner .loading-text > span,
.blog_content h5 {
    font-family: "Copperplate Light";
}
h2 {
    font-size: 3em !important;
    font-weight: normal;
}
h3 {
    font-size: 2.5em !important;
    line-height: .75em;
}
h4 {
    font-size: 2em !important;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}
a,
.text-green,
.details_link {
    color: #007647;
}
.header {
    background: rgba(255,255,255,1);
}
.bg-green {
    background: #007647 !important;
}
.wide-container {
    margin: 0 1.4vw;
}
body.bg-dark.bg-white .header .mainnav ul.main_menu li.current > a,
body.bg-dark.bg-white .header .mainnav ul.main_menu li.active > a,
body.bg-dark.bg-white .header .mainnav ul.main_menu li:hover > a,
body.bg-white .header .mainnav ul.main_menu li.current > a,
body.bg-white .header .mainnav ul.main_menu li.active > a,
body.bg-white .header .mainnav ul.main_menu li:hover > a,
body.bg-dark.bg-white .header .mainnav ul.main_menu > li.menu-item-has-children.current a::after,
body.bg-dark.bg-white .header .mainnav ul.main_menu > li.menu-item-has-children.active a::after,
body.bg-dark.bg-white .header .mainnav ul.main_menu > li.menu-item-has-children:hover a::after,
body.bg-white .header .mainnav ul.main_menu > li.menu-item-has-children.current a::after,
body.bg-white .header .mainnav ul.main_menu > li.menu-item-has-children.active a::after,
body.bg-white .header .mainnav ul.main_menu > li.menu-item-has-children:hover a::after {
    color: #007647;
    font-weight: 700;
}
.theme_slider_8 {
    margin: 0 1.4vw;
    padding: 142px 0 0;
}
.theme_slider_8 .swiper-slide .slider .slide_content .details_link a .link_icon {
    color: #007647;
    font-weight: 600;
}
body.bg-dark.bg-white .theme_slider_3 .swiper-slide .slider .slide_content .details_link a,
body.bg-dark.bg-white .theme_slider_8 .swiper-slide .slider .slide_content .details_link a,
body.bg-dark.bg-white .theme_slider_9 .swiper-slide .slider .slide_content .details_link a,
body.bg-white .theme_slider_3 .swiper-slide .slider .slide_content .details_link a,
body.bg-white .theme_slider_8 .swiper-slide .slider .slide_content .details_link a,
body.bg-white .theme_slider_9 .swiper-slide .slider .slide_content .details_link a {
    color: #000;
}
.btn.green {
    background-color: #007647;
    color: #fff;
}
body.bg-dark.bg-white .portfolio-filters-content .filters-button-group .button.is-checked,
body.bg-dark.bg-white .portfolio-filters-content .filters-button-group .button:hover,
body.bg-white .portfolio-filters-content .filters-button-group .button.is-checked,
body.bg-white .portfolio-filters-content .filters-button-group .button:hover {
    color: #007647;
    border-color: #007647;
}
.packery .grid-item .label-text .details_link a,
body.bg-dark.bg-white .details_link a, body.bg-white .details_link a {
    color: #007647;
}
.details_link a .link_icon .line,
.details_link a .link_icon .dot {
    background-color: #007647;
}
.details_link a .link_icon .circle {
    border: 1px solid #007647;
}
.footer {
    padding-bottom:0;
}
.footer .footer_inner .communication .info_body h6,
.footer .footer_inner .communication .info_body .h6 {
    color: #fff;
    font-weight: 600;
}
body.bg-dark.bg-white .icon_box .arrow_effect a .crossline1::before,
body.bg-dark.bg-white .icon_box .arrow_effect a .crossline1::after,
body.bg-white .icon_box .arrow_effect a .crossline1::before,
body.bg-white .icon_box .arrow_effect a .crossline1::after,
body.bg-dark.bg-white .icon_box .arrow_effect a .crossline1,
body.bg-white .icon_box .arrow_effect a .crossline1,
.icon_box .arrow_effect a .crossline1,
.icon_box .arrow_effect a .crossline2,
.icon_box .arrow_effect a .crossline2::before,
.icon_box .arrow_effect a .crossline2::after {
    background-color: #007647;
}
body.bg-dark.bg-white a, body.bg-white a {
    color: #007647;
}
.theme_slider_8 .swiper .slide_content h1 {
    font-size: 4em;
    font-weight: normal;
    line-height: 1em;
}
.theme_slider_8 .swiper .slide_content .details_link a span {
    font-family: "Copperplate Light";
    font-size: 1.25em;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #007647;
}
.mr_menu_toggle,
.mr_menu_toggle:hover {
    color: #007647;
}
.theme_slider_8 div[class^="swiper-button-"] a .link_icon .line {
    /*background-color: #00995c !important;*/
    background-color: #00331f !important;
    height: .15rem !important;
}
.theme_slider_8 div[class^="swiper-button-"] a .link_icon .circle {
    /*border-color: #00995c !important;*/
    border-color: #00331f !important;
    border-width: 2px !important;
}
.theme_slider_8 .swiper-button-next a .link_icon .dot {
    /*border-left: 18px solid #00995c !important;*/
    border-left: 18px solid #00331f !important;
}
.theme_slider_8 .swiper-button-prev a .link_icon .dot {
    /*border-right: 18px solid #00995c !important;*/
    border-right: 18px solid #00331f !important;
}
.text-shadow-white {
    text-shadow: 0 0 10px #fff !important;
}
.testimonial_inner::before {
    background: url(/custom/images/bg_t_1.png) right bottom no-repeat;
}
.testimonial_inner::after {
    background: url(/custom/images/bg_t_2.png) left center no-repeat;
}
.partner_flex .partner_content img {
    max-width: 140px;
}
.footer .footer_inner .footer_social .social_list li a:hover {
    color: #007647;
}
.project-details ul.point_order li:before {
    color: #007647;
}
.details_link.r-dir a .link_icon .dot {
    border-left: 10px solid #007647;
}
.details_link.l-dir a .link_icon .dot {
    border-right: 10px solid #007647;
}
.project-details .post-footer .page-all a {
    color: #007647;
}
.title-line {
    background-color: #007647;
}
.services .icon_box .icon-circle {
    background: #007647;
    color: #fff;
    padding: 8px;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    display: inline-block;
}
body.bg-white .page_header .page_header_inner .breadcrumb li a {
    color: #00995c;
    font-weight: 700;
    text-shadow: 0 0 1px rgba(0,0,0,1);
}
body.bg-white .page_header .page_header_inner .breadcrumb li a:hover {
    color: #007647;
}
body.bg-white .page_header .page_header_inner .breadcrumb li.active {
    color: #fff;
}
.page_header .page_header_inner::before {
    background: transparent;
}
.page_header .page_header_inner.bg-green::before {
    background: transparent;
}
body.bg-white .theme_slider_8 .slider .slide_content h4 .text-white {
    color: #fff !important;
}
.text-shadow-black {
    text-shadow: 0 0 10px #000;
}
.project-information .widget-title {
    font-size: 1.25em !important;
}
h6.widget-title {
    font-family: "Copperplate Light";
}
body.bg-white .project-details.bg-dark-200 {
    padding-top: 25px;
}
.project-details .project-information ul {
    display: flex;
    justify-content: flex-start;
}
.project-details .project-information ul li {
    margin-right: 25px;
}
.project-details .project-information ul li:first-child {
    padding-top: 0.3125rem;
}
.project-details .project-information .project-share {
    margin-top: 1rem;
}
.about_image img:last-child {
    left: 0;
    bottom: 0;
}
.testimonial_inner::before {
    background: url(/custom/images/751x168px_dark.jpg) right bottom no-repeat
}
.testimonial_inner::after {
    background: url(/custom/images/441x453px_dark.jpg) left center no-repeat;
}
.page_header .page_header_inner {
    background-image: none;
}
body.bg-white .pagination li a.current,
body.bg-white .pagination li a:hover {
    background-color: #007647;
}
body.bg-white .sidebar .widget_search .wp-block-search .wp-block-search__input {
    border-color: #007647;
    color: #000 !important;
}
.widget_search .wp-block-search .wp-block-search__button {
    background: #007647;
}
::placeholder {
    color: #007647;
    opacity: 1; /* Firefox */
}

::-ms-input-placeholder { /* Edge 12 -18 */
    color: #007647;
}
body.bg-white .sidebar .widget_search .wp-block-search .wp-block-search__input::-webkit-input-placeholder {
    color: #007647;
}
.icon-divider {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 95%;
    margin-right: 30px;
}
.icon-divider .line {
    position: absolute;
    left: 20px;
    top: 49.4%;
    width: 100%;
    height: 0.0625rem;
    display: inline-block;
    z-index: 1;
    transform-origin: right;
    transition: all 0.5s ease-in-out;
    border: 1px dashed #000;
}
.icon-divider .circle {
    position: absolute;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 100%;
    display: inline-block;
    border: 1px solid #000;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.icon-divider .dot {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 100%;
    display: inline-block;
    background-color: #000;
}
.cta-container {
    padding: 20px;
}
.gray-border {
    border-style: solid;
    border-color: gray;
}
.border-4 {
    border-width: 4px;
}
.cta-conainer h3 {
    font-size: 2em !important;
    line-height: 1.75em;
}
.testimonial-item {
    border: 1px solid #007647;
    border-top-width: 4px;
    border-radius: 5px;
}
.header .logo a img {
    max-width: 175px;
}
.header .mainnav ul.main_menu li a {
    font-size: 1rem;
}
.sidebar .widget-title {
    font-size: 2em !important;
}
body.bg-dark.bg-white .sidebar a,
body.bg-white .sidebar a,
body.bg-dark.bg-white .sidebar a:hover,
body.bg-white .sidebar a:hover {
    color: #007647;
}
.sidebar .wp-block-latest-posts h4 {
    font-size: 1.25em !important;
}
.title-line.as-divider {
    left: 32px;
    width: 95%;
    display: block;
    background: #777;
}
.title-line.as-divider:before {
    animation: lineAnim 3.5s linear infinite;
}
.box-shadow-faint {
    box-shadow: 0 0 8px rgba(0,0,0,0.1);
}
.error {
    color: #f00;
    display: block;
}
.is-invalid {
    border-color: #f00 !important;
}
.is-valid {
    border-color: #218838 !important;
}
a.disabled {
    pointer-events: none;
    cursor: default;
}
.img-width-100 {
    width: 100%;
    height: auto;
}
.team-block h6:after, .team-block .h6:after {
    display: none;
}
.subscribe-form input[type="text"] {
    border-color: #007647 !important;
    padding: 5px 15px;
    height: 44px;
}
.subscribe-form button[type="submit"] {
    background: #007647;
    border: none;
    color: #fff;
    height: 44px;
    padding: 0 15px;
}
.theme_slider_8 .swiper-slide .slider {
    background-position: center;
}
.btn:before {
    background-image: none;
}

@media only screen and (min-width: 1400px) {
    .theme_slider_8 .swiper-slide .slider {
        padding: 23.75rem 0 !important;
    }
}
@media only screen and (min-width: 992px) {
    .header .logo a.dark_logo {
        position: static;
    }
    .header .mainnav ul.main_menu > li.menu-item a {
        padding-bottom: 10px;
    }
    .header .header_inner {
        padding: 15px 0;
    }
    .custom-col-70 {
        flex: 0 0 auto;
        width: 70%;
    }
    .custom-col-30 {
        flex: 0 0 auto;
        width: 30%;
    }
}
@media only screen and (max-width: 991px) {
    h2 {
        font-size: 1.3em !important;
        font-weight: normal;
    }
    h3 {
        font-size: 1.15em !important;
        line-height: 1em;
    }
    h4 {
        font-size: 1.05em !important;
    }
    .header .logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
    .mr_menu_toggle {
        position: absolute;
        right: 20px;
    }
    .theme_slider_8 .swiper .slide_content h1 {
        font-size: 2em;
    }
}


/* 2026-07-24: Project Information — stack label/value rows on mobile (was a no-wrap flex row that overflowed/overlapped at phone widths) */
@media (max-width: 767.98px) {
  .project-details .project-information ul {
    flex-direction: column;
  }
  .project-details .project-information ul li {
    margin-right: 0;
  }
}

/* 2026-09-14 BugHerd #252 - above 1400px the hero box height was frozen at 800px by padding,
   so a wider window upscaled the photo and cropped top and bottom. Give the box a 16:9 shape. */
@media only screen and (min-width: 1400px) {
    .theme_slider_8 .swiper-slide .slider {
        padding: 0 !important;
        aspect-ratio: 16 / 9;
        min-height: 800px;
        max-height: calc(100vh - 142px);
    }
}

/* 2026-09-14 - horizontal overflow on phone/tablet: .grid.gutter-20 (-30px side margins) and
   .row (-12px) are not absorbed by container padding below ~992px. body already clips, html does not. */
html { overflow-x: clip; }

/* 2026-09-14 - collapse plugin blocks that matched no items. The plugin template prints its
   wrapper before the item loop, so an empty par still fills the page section and leaves ~100px
   of padding top and bottom. Only sections whose sole content is that empty wrapper are hidden. */
section:not(:has(img,iframe,svg,video,input,button,textarea,select,form)):not(:has(h1,h2,h3,h4,h5,h6,p,li,td,dd,a,span.title-line)):has(> .wide-container),
section:not(:has(img,iframe,svg,video,input,button,textarea,select,form)):not(:has(h1,h2,h3,h4,h5,h6,p,li,td,dd,a,span.title-line)):has(> .container),
section:not(:has(img,iframe,svg,video,input,button,textarea,select,form)):not(:has(h1,h2,h3,h4,h5,h6,p,li,td,dd,a,span.title-line)):has(> .position-relative:empty) { display: none !important; }

/* 2026-09-15 - in-page links to the contact form must clear the fixed header. devLOG 995. */
#home-contact-form { scroll-margin-top: 140px; }

/* 2026-09-15 devLOG 995 - the contact block sits in .wide-container (margin 0 1.4vw = ~5px at
   phone width) while the rest of the page uses .container (12px), so its text ran closer to the
   edge than everything above it. Match the page inset on small screens. */
@media (max-width: 991.98px) {
    .wide-container:has(#home-contact-form) { margin-left: 12px; margin-right: 12px; }
}

/* 2026-09-15 devLOG 995 - the contact page heading sat 100px inside its dark band. */
section.contact_us { padding-top: 48px; }
@media (max-width: 991.98px) {
    section.contact_us { padding-top: 32px; }
}
