.elementor-40957 .elementor-element.elementor-element-72f6f08{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-40957 .elementor-element.elementor-element-72f6f08{--content-width:1696px;}}/* Start custom CSS for html, class: .elementor-element-af9fd06 */:root {
      --logo-w: clamp( 5.7rem , 1.63rem + 20vw , 11.2rem);
      --row-max: clamp( 17.2rem , 5.3rem + 59.4vw , 33.7rem);
    }
    .abv-container {
      max-width: 96rem;
      padding: clamp(2rem, 1rem + 3.33vw, 4rem) 1rem;
      margin: 0 auto;
    }
    .abv-page-title {
      position: relative;
    }
    .abv-title-wrap {
      width: 100%;
      max-width: clamp(11.13rem, 4rem + 22.7vw, 33.25rem);
      margin: 0 auto 1.875rem auto;
    }
    .abv-search-wrap {
      width: 100%;
      position: absolute;
      right: 0;
      left: 0;
      bottom: -5.6rem;
    }
    .abv-search-form {
      width: fit-content;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }
    .abv-search-btn {
      width: 3rem;
      height: 2.5rem;
      padding: .5rem .75rem;
      margin: 0;
      position: absolute;
      right: 0;
      vertical-align: middle;
      background-color: transparent;
      cursor: default;
      pointer-events: none;
      border: none;
    }
    .abv-search-btn::before {
      content: '';
      width: 1px;
      height: 55%;
      margin: auto 0;
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 3rem;
      background-color: #CCC;
    }
    .abv-search-btn > svg {
      width: 1.5rem;
      height: 1.5rem;
      display: block;
      color: #CCC;
    }
    .abv-search-btn:hover {
      background-color: transparent;
    }
    input.abv-search {
      width: 80vw;
      height: 2.5rem;
      max-width: 18.75rem;
      padding: .5rem 3rem .5rem 1rem;
      margin-bottom: 0;
      border-radius: 1.7rem;
    }
    input.abv-search:focus {
      border-color: #ba835a;
      outline: none;
      background-color: #fff;
      box-shadow: 0 0 5px #ccc;
      color: #333;
    }
    .abv-contractor-wrap {
      width: 100%;
      position: relative;
    }
    .abv-contractor-group {
      width: 100%;
      min-width: 17.2rem;
      max-width: var(--row-max, 92.5rem);
      padding: 4.5rem 0 3rem 0;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
    }
    .abv-contractor-wrap::before,
    .abv-contractor-wrap::after {
      content: '';
      width: 100%;
      height: 0.5rem;
      margin: 0 auto;
      position: absolute;
      left: -50%;
      right: -50%;
      background: linear-gradient(to bottom, #000, #000 25%, #FFF 25%, #FFF 87.5%, #000 87.5%);
    }
    .abv-contractor-wrap::before { top: 0; }
    .abv-contractor-wrap::after  { bottom: -0.5rem; }
    .abv-logo-wrap {
      width: 100%;
      max-width: var(--logo-w, 18.5rem);
    }
    .abv-title-img,
    .abv-logo-img {
      pointer-events: none;
    }
    .abv-logo-img {
      object-fit: cover;
    }
    @media (min-width: 768px){
      :root {
        --logo-w: clamp( 11.2rem , 10.2rem + 2.2vw , 12.25rem);
        --row-max: clamp( 45.2rem , 43rem + 7.8vw , 49rem);
      }
    }
    @media (min-width: 1280px){
      :root {
        --logo-w: clamp( 12.25rem , 2.75rem + 11.8vw , 17rem);
        --row-max: clamp( 61.3rem , 13.75rem + 59.3vw , 85rem);
      }
      .abv-container {
        max-width: 106rem;
        padding: clamp(2rem, 1rem + 3.33vw, 4rem) 6rem;
      }
      .abv-page-title {
        padding-bottom: 2.25rem;
      }
      .abv-search-wrap {
        right: 0.5rem;
        left: auto;
        bottom: 2.19rem;
      }
      .abv-search-form {
        margin: 0 0 0 auto;
      }
      .abv-search-btn {
        width: 4rem;
        height: 3.32rem;
        padding: 0.5rem 1rem;
      }
      .abv-search-btn > svg {
        width: 2rem;
        height: 2rem;
      }
      .abv-search-btn::before {
        right: 4rem;
      }
      input.abv-search {
        width: 90vw;
        height: 3.32rem;
        max-width: 19rem;
        padding: 0.75rem 4rem 0.75rem 1.5rem;
      }
      .abv-contractor-group {
        padding: 3rem 0;
      }
    }/* End custom CSS */