/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@400;600&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap");
/* =========================================== */
/* = PAGE TRANSITION  */
/* =========================================== */
.main-banner .elementor-button, .services-thumbnails .elementor-image-box-content .elementor-image-box-title {
  -webkit-transition: all .6s ease;
  -moz-transition: all .6s ease;
  -o-transition: all .6s ease;
  -ms-transition: all .6s ease;
  transition: all .6s ease; }

::-moz-selection {
  background: rgba(49, 49, 49, 0.1); }

::selection {
  background: rgba(49, 49, 49, 0.1); }

img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none; }

body {
  font-family: "Poppins", sans-serif;
  letter-spacing: .5px; }

/* =========================================== */
/* = HEADER */
/* =========================================== */
#main-header {
  padding: 10px 0;
  position: relative; }
  #main-header:before {
    content: "";
    width: auto;
    height: auto;
    inset: 0;
    position: absolute;
    background: #0a0a0a;
    background: -webkit-gradient(linear, left top, left bottom, from(#0a0a0a), color-stop(65%, rgba(10, 10, 10, 0.15)), to(rgba(10, 10, 10, 0)));
    background: -webkit-linear-gradient(top, #0a0a0a 0%, rgba(10, 10, 10, 0.15) 65%, rgba(10, 10, 10, 0) 100%);
    background: -o-linear-gradient(top, #0a0a0a 0%, rgba(10, 10, 10, 0.15) 65%, rgba(10, 10, 10, 0) 100%);
    background: linear-gradient(180deg, #0a0a0a 0%, rgba(10, 10, 10, 0.15) 65%, rgba(10, 10, 10, 0) 100%); }
  #main-header .site-header-inner-wrap {
    z-index: 2;
    position: relative; }

/* =========================================== */
/* = MENU */
/* =========================================== */
.main-navigation .primary-menu-container > ul > li.menu-item > a {
  font-family: "Poppins", sans-serif;
  color: #FFF !important; }

.header-navigation .header-menu-container ul ul.sub-menu {
  background: rgba(137, 168, 49, 0.75) !important; }
  .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a {
    font-size: 14px !important;
    font-weight: 400;
    padding-top: 10px;
    padding-bottom: 10px; }
    .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover {
      background: #728b2a !important; }

.header-navigation .header-menu-container ul ul li.menu-item.current-menu-item > a {
  background: transparent !important; }

.mobile-navigation a {
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important; }

.mobile-navigation ul li.current-menu-item > a {
  color: #000 !important; }

.menu-toggle-icon .kadence-svg-iconset svg {
  width: 40px !important;
  height: 40px !important;
  color: #FFF !important; }

.popup-drawer .drawer-inner {
  background: #516E3E !important; }

/* =========================================== */
/* = BANNER */
/* =========================================== */
.main-banner {
  background: #e5e5e5; }
  .main-banner .elementor-repeater-item-6ef1d77 .elementor-background-overlay {
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.6)), to(transparent));
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
    background: -o-linear-gradient(left, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
    background-color: #000; }
  .main-banner .swiper-slide-inner {
    margin: 0 auto; }
  .main-banner .swiper-wrapper {
    cursor: default !important; }
  .main-banner .swiper-slide-contents {
    width: 100%;
    max-width: 1200px;
    padding-top: 80px;
    margin: 0 auto;
    display: block; }
  .main-banner .elementor-slide-heading {
    margin-bottom: 15px !important; }
    .main-banner .elementor-slide-heading span {
      font-size: 56px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      display: block;
      line-height: 110%; }
      @media (max-width: 1400px) {
        .main-banner .elementor-slide-heading span {
          font-size: 42px;
          font-weight: 600;
          letter-spacing: 1.5px; } }
      @media (max-width: 767px) {
        .main-banner .elementor-slide-heading span {
          font-size: 36px;
          letter-spacing: 1px; } }
      .main-banner .elementor-slide-heading span.cl-2 {
        color: #CEE399; }
      .main-banner .elementor-slide-heading span.cl-3 {
        color: #8BAC3B; }
    @media (max-width: 1400px) {
      .main-banner .elementor-slide-heading {
        margin-bottom: 10px !important; } }
  .main-banner .elementor-slide-description {
    width: 100%;
    max-width: 600px;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: .8px !important;
    line-height: 150% !important;
    margin-bottom: 45px !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden; }
    @media (max-width: 1400px) {
      .main-banner .elementor-slide-description {
        font-size: 14px !important;
        margin-bottom: 35px !important; }
        .main-banner .elementor-slide-description p {
          font-size: 14px !important; } }
    @media (max-width: 992px) {
      .main-banner .elementor-slide-description {
        font-size: 13px !important p;
          font-size-font-size: 13px !important; } }
  .main-banner .elementor-button {
    height: 56px;
    font-size: 16px;
    letter-spacing: .5px;
    font-weight: 600;
    color: #FFF;
    padding: 0 45px;
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    border-radius: 50px !important;
    border: 0 !important;
    background: #89A831 !important; }
    .main-banner .elementor-button:hover {
      background: #728c29 !important; }
    @media (max-width: 1400px) {
      .main-banner .elementor-button {
        height: 52px;
        font-size: 15px; } }
  .main-banner .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    bottom: 15px !important; }

/* =========================================== */
/* = CONTENT RESET */
/* =========================================== */
.single-content h1, .single-content h2, .single-content h3, .single-content h4, .single-content h5, .single-content h6 {
  margin: 0 !important; }

.single-content h1, .single-content h2, .single-content h3 {
  font-weight: 600 !important; }

.single-content p {
  margin-bottom: 15px !important; }
  .single-content p:last-child {
    margin-bottom: 0 !important; }
  @media (max-width: 1400px) {
    .single-content p {
      font-size: 15px !important; } }

/* =========================================== */
/* = CONTENT */
/* =========================================== */
.section-services {
  background: url("images/services-bg.jpg") no-repeat center center/cover #89A831;
  position: relative; }
  .section-services:before {
    content: "";
    width: auto;
    height: auto;
    inset: 0;
    position: absolute;
    display: block;
    background: #89a831;
    background: -webkit-linear-gradient(20deg, #89a831 0%, #89a831 40%, rgba(161, 185, 90, 0.95) 90%, rgba(161, 185, 90, 0.5) 100%);
    background: -o-linear-gradient(20deg, #89a831 0%, #89a831 40%, rgba(161, 185, 90, 0.95) 90%, rgba(161, 185, 90, 0.5) 100%);
    background: linear-gradient(70deg, #89a831 0%, #89a831 40%, rgba(161, 185, 90, 0.95) 90%, rgba(161, 185, 90, 0.5) 100%); }
  .section-services.services-residential {
    background: #FFF; }
    .section-services.services-residential:before {
      display: none; }
    .section-services.services-residential .elementor-heading-title, .section-services.services-residential h3.elementor-heading-title, .section-services.services-residential .elementor-widget-container {
      color: #111610 !important; }
  .section-services .elementor-heading-title {
    font-size: 34px !important;
    font-weight: 600 !important;
    color: #FFF !important;
    margin: 0 !important; }
  .section-services h3.elementor-heading-title {
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: .2px;
    text-align: center; }
  .section-services h2.elementor-heading-title.elementor-size-large {
    font-size: 42px !important; }
    @media (max-width: 1400px) {
      .section-services h2.elementor-heading-title.elementor-size-large {
        font-size: 38px !important; } }
  .section-services .elementor-widget-container {
    font-size: 15px;
    color: #FFF !important;
    line-height: 160% !important; }
  @media (max-width: 1400px) {
    .section-services .elementor-widget-container p {
      font-size: 14px !important; } }

.btn-transparent-outline .elementor-button-link {
  border: 2px solid rgba(255, 255, 255, 0.25) !important;
  background: transparent !important; }
  .btn-transparent-outline .elementor-button-link:hover {
    border: 2px solid #FFF !important; }

.services-thumbnails .elementor-image-box-img {
  width: 100% !important;
  margin-bottom: 0 !important;
  position: relative; }
  .services-thumbnails .elementor-image-box-img:before {
    content: "";
    width: 100%;
    height: auto;
    inset: 0;
    top: 50%;
    position: absolute;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.8)));
    background: -webkit-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.8) 100%);
    background: -o-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.8) 100%);
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.8) 100%); }
  @media (max-width: 767px) {
    .services-thumbnails .elementor-image-box-img img {
      width: 100% !important; } }

.services-thumbnails .elementor-image-box-wrapper {
  position: relative; }

.services-thumbnails .elementor-image-box-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 0 20px 15px 20px;
  inset: 0;
  position: absolute; }
  .services-thumbnails .elementor-image-box-content:hover .elementor-image-box-title, .services-thumbnails .elementor-image-box-content:focus .elementor-image-box-title {
    background: #111610 !important; }
  .services-thumbnails .elementor-image-box-content:hover .elementor-image-box-description, .services-thumbnails .elementor-image-box-content:focus .elementor-image-box-description {
    height: 50px; }
  .services-thumbnails .elementor-image-box-content .elementor-image-box-title {
    width: auto !important;
    display: inline-block !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #FFF !important;
    padding: 2px 8px !important;
    margin: 0 auto 6px auto !important; }
  .services-thumbnails .elementor-image-box-content .elementor-image-box-description {
    font-size: 12px !important;
    font-weight: 400;
    line-height: 140%;
    color: #FFF !important;
    padding: 0;
    margin: 0 0 10px 0;
    height: 0;
    -webkit-transition: height .3s ease;
    -o-transition: height .3s ease;
    transition: height .3s ease;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden; }

.elementor-widget:not(:last-child) {
  margin-bottom: 15px !important; }

.commercial-services-intro {
  background: url("images/commercial-bg.jpg") no-repeat center center/cover #8ea54b;
  position: relative; }
  .commercial-services-intro:before {
    content: "";
    width: auto;
    height: auto;
    inset: 0;
    position: absolute;
    display: block;
    background: #8ea54b;
    background: -webkit-linear-gradient(20deg, #8ea54b 0%, #8ea54b 40%, rgba(142, 165, 75, 0.9) 90%, rgba(142, 165, 75, 0.5) 100%);
    background: -o-linear-gradient(20deg, #8ea54b 0%, #8ea54b 40%, rgba(142, 165, 75, 0.9) 90%, rgba(142, 165, 75, 0.5) 100%);
    background: linear-gradient(70deg, #8ea54b 0%, #8ea54b 40%, rgba(142, 165, 75, 0.9) 90%, rgba(142, 165, 75, 0.5) 100%); }
  .commercial-services-intro .elementor-heading-title {
    color: #FFF !important; }
    @media (max-width: 1400px) {
      .commercial-services-intro .elementor-heading-title {
        font-size: 42px !important; } }
    @media (max-width: 992px) {
      .commercial-services-intro .elementor-heading-title {
        font-size: 36px !important; } }
    @media (max-width: 767px) {
      .commercial-services-intro .elementor-heading-title {
        font-size: 28px !important; } }
  .commercial-services-intro .elementor-widget-container {
    font-size: 15px !important;
    font-weight: 300;
    color: #FFF !important;
    line-height: 180%;
    letter-spacing: .4px; }
    @media (max-width: 1400px) {
      .commercial-services-intro .elementor-widget-container {
        font-size: 14px; } }

.residential-services-intro {
  background: #111610; }
  @media (max-width: 1400px) {
    .residential-services-intro .elementor-heading-title {
      font-size: 42px !important; } }
  @media (max-width: 992px) {
    .residential-services-intro .elementor-heading-title {
      font-size: 36px !important; } }
  @media (max-width: 767px) {
    .residential-services-intro .elementor-heading-title {
      font-size: 28px !important; } }
  .residential-services-intro .elementor-widget-container {
    font-size: 15px !important;
    font-weight: 300;
    color: #FFF !important;
    line-height: 180%;
    letter-spacing: .4px; }
    @media (max-width: 1400px) {
      .residential-services-intro .elementor-widget-container {
        font-size: 14px; } }

.page-title {
  display: none !important; }

/* =========================================== */
/* = CONTACT PAGE */
/* =========================================== */
.contact-page .content-left h4 {
  font-family: "Jost", sans-serif !important;
  font-size: 42px !important;
  font-weight: 600 !important;
  margin-bottom: 40px !important;
  line-height: 115% !important; }
  @media (max-width: 1400px) {
    .contact-page .content-left h4 {
      font-size: 38px !important; }
      .contact-page .content-left h4 br {
        display: none !important; } }
  @media (max-width: 767px) {
    .contact-page .content-left h4 {
      font-size: 34px !important;
      margin-bottom: 25px !important; } }
  @media (max-width: 600px) {
    .contact-page .content-left h4 {
      font-size: 30px !important;
      margin-bottom: 20px !important; } }

@media (max-width: 1400px) {
  .contact-page .content-left p {
    font-size: 15px !important; } }

.contact-info-block {
  padding-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media (max-width: 1100px) {
    .contact-info-block {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .contact-info-block .info-email, .contact-info-block .info-phone {
    height: 48px;
    padding-left: 60px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-content: flex-start !important;
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    line-height: 100%;
    margin-bottom: 20px !important; }
    .contact-info-block .info-email:before, .contact-info-block .info-phone:before {
      content: "";
      width: 48px;
      height: 48px;
      left: 0;
      top: 0;
      position: absolute;
      display: block;
      background: #89A831; }
    .contact-info-block .info-email:after, .contact-info-block .info-phone:after {
      content: "";
      width: 48px;
      height: 48px;
      left: 0;
      top: 0;
      position: absolute;
      display: block; }
    .contact-info-block .info-email h6, .contact-info-block .info-phone h6 {
      font-family: "Jost", sans-serif !important;
      font-size: 17px !important;
      font-weight: 400 !important;
      color: #89A831 !important;
      text-transform: uppercase;
      letter-spacing: 1px;
      display: block; }
    .contact-info-block .info-email a, .contact-info-block .info-phone a {
      color: #111610; }
  .contact-info-block .info-email {
    padding-right: 25px; }
    .contact-info-block .info-email:after {
      background: url("images/icon-email.png") no-repeat center center;
      background-size: 24px; }
  .contact-info-block .info-phone:after {
    background: url("images/icon-phone.png") no-repeat center center;
    background-size: 24px; }

.contact-form-container {
  padding: 40px;
  -webkit-box-shadow: 30px 10px 70px 0px rgba(0, 0, 0, 0.14);
  box-shadow: 30px 10px 70px 0px rgba(0, 0, 0, 0.14); }
  @media (max-width: 767px) {
    .contact-form-container {
      padding: 30px; } }
  .contact-form-container .elementor-field-label {
    font-family: "Jost", sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #1A202C !important;
    display: block;
    margin-bottom: 5px; }
  .contact-form-container textarea {
    resize: none !important; }
  .contact-form-container .elementor-field-group {
    margin-bottom: 20px !important; }

form#submitted_form:before {
  content: "";
  width: auto;
  height: auto;
  inset: 0;
  position: absolute;
  display: block;
  z-index: 100;
  background: rgba(255, 255, 255, 0.78); }

/* =========================================== */
/* = FOOTER */
/* =========================================== */
.map-overlay-container {
  z-index: 10 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  inset: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  background: transparent !important; }

.custom-footer {
  padding: 15px 30px;
  background: #020202; }
  .custom-footer > .elementor-container {
    max-width: 1200px !important; }
  .custom-footer .footer-logo img {
    width: auto;
    max-height: 85px !important; }
  .custom-footer .footer-left {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-flex: 1 !important;
    -webkit-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important; }
    .custom-footer .footer-left .footer-logo {
      width: 200px; }
    .custom-footer .footer-left .footer-copyright {
      padding-left: 10px; }
      .custom-footer .footer-left .footer-copyright p {
        font-size: 14px !important;
        font-weight: 400 !important;
        color: #FFF !important;
        line-height: 150%;
        padding: 0 !important;
        margin: 0 !important; }
  .custom-footer .footer-right {
    width: 100% !important;
    max-width: 160px !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important; }
    .custom-footer .footer-right .elementor-icon.elementor-social-icon {
      font-size: 22px;
      padding: 0 !important;
      background-color: transparent !important; }
      .custom-footer .footer-right .elementor-icon.elementor-social-icon i {
        color: #89A831 !important; }
  @media (max-width: 767px) {
    .custom-footer .elementor-container.elementor-column-gap-no {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-align-content: center;
      -ms-flex-line-pack: center;
      align-content: center; }
    .custom-footer .footer-left .footer-logo {
      margin: 10px auto 0 auto; }
    .custom-footer .footer-left .footer-copyright {
      padding: 20px 0;
      text-align: center; } }
