@charset "UTF-8";
/* CSS Document */

/* ### Layout Key ### */

/*

  Layout 01 - Page Header w/ Form

  Layout 02 - Page Header Full

  Layout 03 - Page Header Basic

  Layout 04 - Basic Headline + Copy + CTA

  Layout 05 - Image + Copy

  Layout 06 - Service Cards + Callout

  Layout 07 - Simple Columns

  Layout 08 - Two Column Multi-Purpose

  Layout 09 - Two Column Multi-Purpose Condensed

  Layout 10 - Simple Cards

  Layout 11 - Image Cards

  Layout 12 - Form + Copy

*/



.layout {
  position: relative;
}

.layout-padding {
  padding-top: 3.75rem;
}
.elementor-widget:first-child .layout-padding--top {
  padding-top: 3rem;
}
.above-match:not(:last-child) .layout-padding--bottom {
  padding-top: 1.5rem;
}

.padding-top--increase .layout-padding--top,
.padding-bottom--increase .layout-padding--bottom,
.layout.padding-top--increase:first-child .layout-padding--top {
  padding-top: 4.5rem;
}
.padding-top--increase_more .layout-padding--top,
.padding-bottom--increase_more .layout-padding--bottom,
.layout.padding-top--increase_more:first-child .layout-padding--top {
  padding-top: 6rem;
}
.padding-top--decrease .layout-padding--top,
.padding-bottom--decrease .layout-padding--bottom,
.layout.padding-top--decrease:first-child .layout-padding--top {
  padding-top: 2.5rem;
}
.padding-top--collapse .layout-padding--top,
.padding-bottom--collapse .layout-padding--bottom,
.layout.padding-top--collapse:first-child .layout-padding--top {
  padding-top: 0;
}

.elementor-widget:last-child .layout-padding--bottom {
  padding-bottom: 10rem;
}

body .below-overlap--01 .layout .layout-padding--top {
  padding-top: 16rem;
}

body .below-overlap--06 .layout .layout-padding--top {
  padding-top: 10rem;
}

.layout .inner {

}

.layout .bg-wrapper {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.layout.diamond-pattern--top_left,
.layout.diamond-pattern--bottom_right {
  background-size: 100vw;
  background-repeat: no-repeat;
  background-color: var(--brand-color-d) !important;
}

.layout.diamond-pattern--top_left {
  background-image: url(../images/custom-assets/pattern_tl.jpg);
  background-position: top left;
}
.layout.diamond-pattern--bottom_right {
  background-image: url(../images/custom-assets/pattern_br.jpg);
  background-position: bottom right;
}

.callout-card {
  background-color: var(--brand-color-a);
  padding: 3rem 3.75rem;
}

.callout-card .headline {
  color: var(--text-color-light);
}



.card--a {
  background-color: var(--brand-color-c);
  clip-path: polygon(20% 0%, 100% 0, 100% 84%, 80% 100%, 0 100%, 0% 16%);
  clip-path: polygon(
    6rem 0,
    100% 0,
    100% calc(100% - 5.375rem),
    calc(100% - 6rem) 100%,
    0 100%, 0 5.375rem
  );
}

.card--a .image-container {
  clip-path: polygon(20% 0%, 100% 0, 100% 70%, 80% 100%, 0 100%, 0% 30%);
  clip-path: polygon(0% 0%, 100% 0, 100% 70%, 80% 100%, 0 100%, 0% 0%);
  clip-path: polygon(
    5rem 0,
    100% 0,
    100% calc(100% - 5.375rem),
    calc(100% - 6rem) 100%,
    0 100%, 0 5.375rem
  );
}

.image-container.has-overlay:after {
  content: '';
  display: block;
  position: absolute;
  background-color: var(--brand-color-a);
  width: 101%;
  height: 101%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
}

.image-container.has-overlay .image {
  filter: saturate(0);
}

.card--a .card-info {
  padding: 1.5rem 6rem 2rem 1.5rem;
}

.card--a .card-info .headline {
  color: var(--text-color-dark);
  color: var(--brand-color-e);
  margin-bottom: .5rem;
}

.card--a .card-info .copy {
  color: var(--text-color-dark);
}

.card--a .card-info .cta-container {

}

.card--a .card-info .cta--secondary {

}

.card--b {
  text-align: right;
  position: relative;
  background-color: var(--brand-color-c);
  margin-bottom: 3.5rem;
  min-height: 330px;
  clip-path: polygon(6% 0%, 100% 0, 100% 81%, 94% 100%, 0 100%, 0% 19%);
  clip-path: polygon(
    4.5rem 0,
    100% 0,
    100% calc(100% - 4rem),
    calc(100% - 4.5rem) 100%,
    0 100%, 0 4rem
  );
}

.card--b:last-child {
  margin-bottom: 0;
}

.card--b .col--left {
  width: 30%;
  min-height: 330px;
  top: 0;
  left: 0;
}

.card--b .col--left .image-container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  clip-path: polygon(0% 0%, 100% 0, 100% 81%, 81% 100%, 0 100%, 0% 100%);
  clip-path: polygon(
    4.5rem 0,
    100% 0,
    100% calc(100% - 4rem),
    calc(100% - 4.5rem) 100%,
    0 100%, 0 4rem
  );
}

.card--b .col--left .image-container .overlay {
  position: absolute;
  background-color: var(--brand-color-a);
  width: 101%;
  height: 101%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
}

.card--b .col--left .image-container .image {

}

.card--b .col--left .image-container .image .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  padding: 0 .5rem;
  z-index: 2;
}

.card--b .col--left .image-container .image .inner .headline {
  color: var(--text-color-light);
  margin-bottom: .5rem;
}

.card--b .col--left .image-container .image .inner .cta {
  color: var(--text-color-light);
}

.card--b .col--right {
  width: 70%;
  text-align: left;
  padding: .75rem 2.625rem .75rem 3.5rem;
  /* Adjust */
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

.card--b .col--right .copy {
  line-height: 1.375em;
}

.card--b .col--right .copy {
    color: var(--color-dark) !important;
}

.card--c {
  background-color: var(--brand-color-a);
  padding: 4.25rem 1.75rem 2rem 2rem;
  clip-path: polygon(19% 0%, 100% 0, 100% 81%, 81% 100%, 0 100%, 0% 19%);
  clip-path: polygon(
    4.5rem 0,
    100% 0,
    100% calc(100% - 4rem),
    calc(100% - 4.5rem) 100%,
    0 100%, 0 4rem
  );
}

.card--c .headline {
  margin-bottom: 1rem;
  font-weight: 600;
}

.card--c .copy {
  font-weight: 400;
}

.alt-last-item .card--c:last-child {
  clip-path: unset;
  padding-top: 0;
}

.alt-last-item .card--c:last-child .copy {
  font-weight: 300;
}

.card--c .headline {
  color: var(--text-color-light);
}

.card--c .copy {
  color: var(--text-color-light);
}

.grid.multi-column-links {
  grid-row-gap: 1.5rem;
  margin-top: 1.5rem;
}

.grid.multi-column-links .cta {

}

.grid.multi-column-links .cta svg {

}

.grid.multi-column-links .cta:hover svg {

}

/* Layout 01 */

.layout-01 {
  margin-top: -3.25rem;
  z-index: 2;
}

.layout-01 .bg-wrapper {

  padding-top: 3.25rem;
}

.layout-01 .layout-padding--bottom {
  padding-bottom: 23rem;
}

.layout-01 .layout-content {

}

.layout-01 .row--top {

}

.layout-01 .row--top .meta-headline {
  max-width: 600px;
}

.layout-01 .row--top .headline {
  max-width: 600px;
}

.layout-01 .row--bottom {
  position: absolute;
  bottom: 4rem;
  bottom: 3.625rem;
  left: 50%;
  transform: translate(-50%, 50%);
  z-index: 2;
}

.layout-01 .callout-card {
  clip-path: polygon(8% 0%, 100% 0, 100% 72%, 92% 100%, 0 100%, 0% 28%);
  clip-path: polygon(
    6rem 0,
    100% 0,
    100% calc(100% - 5.375rem),
    calc(100% - 6rem) 100%,
    0 100%, 0 5.375rem
  );
  padding: 3rem 6rem;
}

.layout-01 .callout-card .col--left {
  width: 360px;
  padding-right: 3.75rem;
}

.layout-01 .callout-card .col--left .headline {

}

.layout-01 .callout-card .col--right {
  width: calc(100% - 360px);
}

.layout-01 .callout-card .col--right .form-container {

}


/* Layout 02 */
.layout-02 {

}

.layout-02 .bg-wrapper {
  background-image: url(../images/custom-assets/widget-02_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;

}

.layout-02 .layout--content {
  padding: 2rem 0;
}


/* Layout 03 */
.layout-03 {

}

.layout-03 .bg-wrapper {
  position: relative;
}

.layout-03 .bg-wrapper:before {
  content: '';
  display: block;
  position: absolute;
  width: 100.5%;
  height: 100.5%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--brand-color-e);
  mix-blend-mode: multiply;
}

.layout-03 .layout--content {
  padding: 4rem 0;
}

.layout-03 .layout--content .headline, .layout-03 .layout--content .copy {
  max-width: 960px;
}


/* Layout 04 */
.layout-04 .bg-wrapper:before {
  content: '';
  display: block;
  position: absolute;
  background-color: var(--brand-color-a);
  width: 101%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
}

.thinner-headline .layout-04 .headline {
  font-weight: 500;
}


/* Layout 05 */
.layout-05 {

}

.layout-05 .col--content {
  width: 67%;
}

.layout-05 .col--content .meta-headline,
.layout-05 .col--content .headline {
  max-width: 540px;
}

.layout-05 .col--content .copy {
  max-width: 700px;
}

.layout-05 .col--content:first-child {
  padding-right: 6.5rem;
}
.layout-05 .col--content:last-child {
  padding-left: 6.5rem;
}

.layout-05 .col--media {
  width: 33%;
}

.layout-05 .col--media:first-child {
  transform: translateX(-8.25rem);
}

.layout-05 .col--media .image-container {
  width: calc(100% + 8.25rem);
  padding-bottom: calc(100% + 4.125rem);
  clip-path: polygon(19% 0%, 100% 0, 100% 81%, 81% 100%, 0 100%, 0% 19%);
  clip-path: polygon(
    6rem 0,
    100% 0,
    100% calc(100% - 5.375rem),
    calc(100% - 6rem) 100%,
    0 100%, 0 5.375rem
  );
}

.layout-05 .col--media .image-container .image {

}




/* Layout 06 */
.layout-06 {

}

.layout-06 .layout-padding--bottom {
  padding-bottom: 2.25rem;
}

.layout-06 .row--top {
  margin-bottom: 3.5rem;
}

.layout-06 .row--middle {
  margin-bottom: 4.5rem;
}
.layout-06.no-callout .row--middle,
.layout-06 .row--middle:last-child {
  margin-bottom: 0;
}

.layout-06 .repeater-items-container {
  grid-column-gap: 3.25rem;
}

.layout-06 .row--bottom {
  z-index: 2;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
}

.layout-06 .callout-card {
  clip-path: polygon(8% 0%, 100% 0, 100% 64%, 92% 100%, 0 100%, 0% 36%);
  clip-path: polygon(
    6rem 0,
    100% 0,
    100% calc(100% - 5.375rem),
    calc(100% - 6rem) 100%,
    0 100%, 0 5.375rem
  );
  padding: 4rem 6rem;
}

.layout-06 .callout-card .inner {
  margin: 0 auto;
  max-width: 860px;
}

.layout-06 .callout-card .headline {
  font-weight: 500;
}

.layout-06 .callout-card .col--left {
  width: calc(100% - 150px);
}

.layout-06 .callout-card .col--right {
  width: 150px;
  text-align: center;
}

.layout-06 .callout-card .col--right .cta {
  width: 100%;
}

.layout-06 .callout-card .col--right .cta:hover {
  background-color: var(--text-color-light);
  color: var(--text-color-dark);
}

.layout-06 .callout-card .contact-copy {
  font-weight: 700;
  margin-bottom: 1rem;
  color: var(--text-color-light);
}

/* Layout 07 */
.layout-07 {

}

.layout-07 .row--top {
  margin-bottom: 2.5rem;
}

.layout-07 .row--bottom {

}

.layout-07 .repeater-items-container {
  margin-bottom: 3.5rem;
}

.layout-07 .repeater-item {
  padding: 0 1rem;
}

.layout-07 .repeater-item .column-number {
  position: relative;
  text-align: center;
  margin-bottom: 1.875rem;
}

.layout-07 .repeater-item .column-number span {
  display: block;
  text-align: center;
  position: relative;
  z-index: 1;
  font-size: 35px;
  font-weight: 900;
}

.layout-07 .repeater-item .column-number svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  width: 3.75rem;
}

.layout-07 .repeater-item .headline {
  max-width: 285px;
}

/* Layout 08 */
.layout-08 {

}

.layout-08 .row--top {
  margin-bottom: 1rem;
}

.layout-08 .row--top .headline {
  font-weight: 500;
}

.layout-08 .row--bottom {

}

.layout-08 .row--bottom .col--left {
  width: 35%;
  width: 36%;
}

.layout-08 .row--bottom .col--left .subheadline {
  color: var(--brand-color-a);
  font-weight: 700;
  font-style: italic;
}

.layout-08 .row--bottom .col--right {
  width: 65%;
  width: 64%;
  padding-left: 6.5rem;
}



/* Adjustment Based on Brick Staining Differences */
@media (min-width: 1261px) {

  .condense-right .layout-08 .row--bottom .col--left {
    width: 37.5%;
  }
  .condense-right .layout-08 .row--bottom .col--right {
    width: 62.5%;
    padding-left: 5rem;
  }

  .condense-right .layout-08 .row--bottom .col--right .copy {
    max-width: 525px;
  }

}

/* Layout 09 */
.layout-09 {

}

.layout-09 .bg-wrapper {
  position: relative;
}

.layout-09 .bg-wrapper:before {
  content: '';
  display: block;
  position: absolute;
  background-color: var(--brand-color-a);
  width: 101%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
}

.layout-09 .layout--content {
  padding-top: 3.5rem;
}

.layout-09 .col--left {
  width: 50%;
  padding-right: 2.5rem;
}

.layout-09 .col--left .headline {
  max-width: 380px;
}

.layout-09 .col--right {
  width: 50%;
}

/* Layout 10 */
.layout-10 {

}

.layout-10 .row--top {
  margin-bottom: 5rem;
}

.layout-10 .row--top .max-width--d .headline {
  max-width: 450px;

}

.layout-10 .row--bottom {

}

.layout-10 .repeater-items-container {
  grid-column-gap: 3.25rem;
  grid-row-gap: 3.75rem;
}

.layout-10.alt-last-item .repeater-item:last-child {
  background-color: transparent;
}

/* Layout 11 */
.layout-11 {

}

.layout-11 .row--top {
  margin-bottom: 2.5rem;
}

.layout-11 .row--bottom {

}

.layout-11 .repeater-items-container {

}

.layout-11 .repeater-item {

}

@media (min-width: 801px) {

  .layout-11 .repeater-item .height-control.col--right {
    height: unset !important;
  }

}
@media (max-width: 800px){

  .layout-11 .repeater-item .height-control.col--left {
    height: unset !important;
  }

}


/* Layout 12 */
.layout-12 {

}

.layout-12 .max-width--a {
  max-width: 960px;
}

.layout-12 .col--left {
  width: 37.5%;
  padding-right: 2.5rem;
}

.layout-12 .col--left .headline {
  max-width: 240px;
}

.layout-12 .col--left .copy {
  max-width: 240px;
}

.layout-12 .col--right {
  width: 62.5%;
}

.layout-12 .col--right .form-container {

}




/*
.layout-xx {

}

.layout-xx .bg-wrapper {

}

.layout-xx .layout-content {

}

.layout-xx .meta-headline {

}

.layout-xx .headline {

}

.layout-xx .copy {

}

.layout-xx .cta-container {

}
*/
