/* stylelint-disable no-descending-specificity */

/* theme colors */
.has-bg > span.bg .theme-tint-15 {
  color: var(--theme-tint15);
}

.has-bg > span.bg .theme-tint-10 {
  color: var(--theme-tint10);
}

.has-bg > span.bg .theme-tint-5 {
  color: var(--theme-tint5);
}

.has-bg > span.bg .theme {
  color: var(--theme-base);
}

.has-bg > span.bg .theme-shade-5 {
  color: var(--theme-shade5);
}

.has-bg > span.bg .theme-shade-10 {
  color: var(--theme-shade10);
}

.has-bg > span.bg .theme-shade-15 {
  color: var(--theme-shade15);
}

/* secondary colors */
.has-bg > span.bg .secondary-tint-15 {
  color: var(--secondary-theme-tint15);
}

.has-bg > span.bg .secondary-tint-10 {
  color: var(--secondary-theme-tint10);
}

.has-bg > span.bg .secondary-tint-5 {
  color: var(--secondary-theme-tint5);
}

.has-bg > span.bg .secondary {
  color: var(--secondary-theme-base);
}

.has-bg > span.bg .secondary-shade-5 {
  color: var(--secondary-theme-shade5);
}

.has-bg > span.bg .secondary-shade-10 {
  color: var(--secondary-theme-shade10);
}

.has-bg > span.bg .secondary-shade-15 {
  color: var(--secondary-theme-shade15);
}

/* responsive */
@media (max-width: 599px) {
  .has-bg > span.bg > svg:not(:only-child):not(.mobile) {
    display: none;
  }
}

@media (min-width: 600px) and (max-width: 1024px) {
  .has-bg > span.bg > svg:not(:only-child):not(.tablet) {
    display: none;
  }
}

@media (min-width: 1025px) and (max-width: 1799px) {
  .has-bg > span.bg > svg:not(:only-child):not(.laptop) {
    display: none;
  }
}

@media (min-width: 1800px) {
  .has-bg > span.bg > svg:not(:only-child):not(.desktop) {
    display: none;
  }
}

/* base */
.has-bg {
  position: relative;
}

.has-bg > span.bg {
  display: flex;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: -1;
}

.has-bg > span.bg > svg {
  height: auto;
}

.desktop-max-height-800.has-bg > span.bg > svg.desktop,
.laptop-max-height-800.has-bg > span.bg > svg.laptop {
  max-height: 800px;
}

/*
* top
*/

.has-bg > span[class*='bg-top-'] {
  align-items: start;
  top: 0;
}

.has-bg > span[class*='bg-top-'] > svg {
  flex: 1 0 0;
}

/* cap 1 */
.has-bg > span.bg-top-cap-1 {
  background-color: var(--theme-tint15);
  bottom: 0;
}

.has-bg.push-down > span.bg-top-cap-1 {
  top: 40%;
}

@media (min-width: 1800px) {
  .has-bg.push-down > span.bg-top-cap-1 {
    top: 10%;
  }
}

/* cap 2 */
.has-bg > span.bg-top-cap-2 {
  background-image: linear-gradient(180deg, var(--theme-tint15) 0%, transparent 100%);
  bottom: 0;
}

/* cap 3 */
.has-bg > span.bg-top-cap-3 {
  background: var(--theme-shade15);
  bottom: 0;
}

/* cap 4 */
.has-bg > span.bg-top-cap-4 {
  background: var(--color-green-0);
  bottom: 0;
}

.has-bg.gray-cap > span.bg-top-cap-4 {
  background: var(--color-gray-1);
}

/* cap 5
 * top cap 5 and bottom cap 7 are intended to work together or separate 
 */
.has-bg > span.bg-top-cap-5 {
  bottom: 0;
}

.has-bg:not(.bg-bottom-cap-7) > span.bg-top-cap-5 {
  background-color: var(--color-gray-1);
}

.has-bg.green-cap:not(.bg-bottom-cap-7) > span.bg-top-cap-5 {
  background-color: var(--color-green-0);
}

/* BOTTOM cap 7
 * bottom cap 7 and top cap 5 are intended to work together or separate 
 */
.has-bg > span.bg-bottom-cap-7 {
  background-color: var(--color-gray-1);
  top: 0;
  z-index: -2;
  bottom: 0;
}

.has-bg.image-cap > span.bg-bottom-cap-7 {
  background-image: unset;
  z-index: 0;
}

.has-bg.green-cap > span.bg-bottom-cap-7 {
  background: var(--color-green-0);
}

.has-bg.minus-top > span.bg {
  top: -6%;
}

@media (min-width: 1200px) {
  .has-bg.minus-top > span.bg {
    top: -7%;
  }
}

/* single 1 */
.has-bg > span.bg-top-single-1 {
  /* uses defaults */
}

/* single 2 */
.has-bg > span.bg-top-single-2 {
  /* uses defaults */
}

.rebranding2023 .has-bg:not(.bg-bottom-cap-5) > span.bg-gradient-simple-top {
  background-image: linear-gradient(180deg, var(--color-gray-1) 0%, var(--color-white) 100%);
}

.rebranding2023 .has-bg:not(.bg-bottom-cap-5) > span.bg-gradient-simple-top-green {
  background-image: linear-gradient(180deg, var(--color-green-0) 0%, var(--color-white) 100%);
}

.rebranding2023 .has-bg:not(.bg-bottom-cap-5) > span.bg-gradient-simple-top-blue {
  background-image: linear-gradient(180deg, #E8F5FA 0%, var(--color-white) 100%);
}


.rebranding2023 .has-bg > span.bg-gradient-simple-bottom {
  background-image: linear-gradient(180deg, var(--color-white) 0%, var(--color-green-0) 100%);
  min-height: 50rem;
  height: 100%;
}

.rebranding2023 .has-bg > span.bg-gradient-simple-bottom-blue {
  background-image: linear-gradient(180deg, var(--color-white) 0%, #E8F5FA 100%);
  min-height: 50rem;
  height: 100%;
}

.rebranding2023.bhr-home main .section.bottom-section {
  background-image: linear-gradient(180deg, var(--color-white) 0%, var(--theme-tint15) 100%);
}

.rebranding2023 .bg-simple > .bg.bg-simple {
  background: var(--color-green-0);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.rebranding2023 .bg-solid-green > span.bg-solid-green {
  background: var(--color-green-0);
}

.bg-solid-blue > span.bg-solid-blue {
  background: #E8F5FA;
}

/*
   * left
   */

.has-bg > span[class*='bg-left-'] {
  justify-content: start;
  top: 50%;
  transform: translateY(-50%);
}

@media (min-width: 900px) {
  .has-bg > span[class*='bg-left-'] {
    max-width: 50%;
    margin-right: auto;
  }
}

/* single 1 */
.has-bg > span.bg-left-single-1 {
  /* uses defaults */
}

/* single 2 */
.has-bg > span.bg-left-single-2 {
  /* uses defaults */
}

/*
   * center
   */

.has-bg > span[class*='bg-center-'] {
  top: 50%;
  transform: translateY(-50%);
}

.has-bg > span[class*='bg-center-'] > svg {
  flex: 1 0 0;
}

/*
* right
*/

.has-bg > span[class*='bg-right-'] {
  justify-content: end;
  top: 50%;
  transform: translateY(-50%);
}

@media (min-width: 900px) {
  .has-bg > span[class*='bg-right-'] {
    max-width: 50%;
    margin-left: auto;
  }
}

/* single 1 */
.has-bg > span.bg-right-single-1 {
  /* uses defaults */
}

/* single 2 */
.has-bg > span.bg-right-single-2 {
  /* uses defaults */
}

/*
* bottom
*/

.has-bg > span[class*='bg-bottom-'] {
  align-items: end;
  bottom: 0;
}

.has-bg > span[class*='bg-bottom-'] > svg {
  flex: 1 0 0;
}

/* cap 1 */
.has-bg > span.bg-bottom-cap-1 {
  background-image: linear-gradient(207.16deg, transparent 44.04%, var(--theme-tint15) 82.6%);
  top: 0;
}

/* cap 2 */
.has-bg > span.bg-bottom-cap-2 {
  background-image: linear-gradient(207.16deg, transparent 44.04%, var(--theme-tint15) 82.6%);
  top: 0;
}

/* cap 3 */
.has-bg > span.bg-bottom-cap-3 {
  background-image: linear-gradient(76.43deg, var(--color-black) 25.21%, var(--theme-shade5) 100%);
  top: 0;
}

/* cap 3 tint */
.has-bg > span.bg-bottom-cap-3-tint {
  background-image: linear-gradient(180deg, var(--color-white) 0%, var(--theme-tint15) 100%);
  top: 0;
  z-index: -2;
}

.has-bg > span.bg-bottom-cap-4 {
  top: 0;
}

/* cap 5 */
.has-bg > span.bg-bottom-cap-5 {
  background-image: linear-gradient(180deg, var(--color-white) 0%, var(--color-gray-1) 100%);
  top: 0;
  z-index: -2;
  bottom: 0;
}

.has-bg.image-cap > span.bg-bottom-cap-5 {
  background-image: unset;
  z-index: 0;
}

.has-bg.green-cap > span.bg-bottom-cap-5 {
  background: var(--color-green-0);
}

.has-bg.green-gradient > span.bg-bottom-cap-5 {
  background-image: linear-gradient(180deg, var(--color-white) 0%, var(--color-green-0) 100%);
}

/* cap 6 */
.has-bg > span.bg-bottom-cap-6 {
  background-image: linear-gradient(180deg, var(--color-white) 0%, var(--color-gray-0) 100%);
  top: 0;
  z-index: -2;
  bottom: 0;
}

.has-bg.image-cap > span.bg-bottom-cap-6 {
  background-image: unset;
  z-index: 0;
}

.has-bg.green-cap > span.bg-bottom-cap-6 {
  background: var(--color-green-0);
}

.has-bg > span.bg-bottom-cap-8 {
  top: 0;
  z-index: 0;
  bottom: 0;
}

.has-bg > span.bg-bottom-cap-8 > svg,
.has-bg > span.bg-bottom-cap-8-green-3 > svg {
  position: relative;
  bottom: -2px;
}

.has-bg > span.bg-bottom-cap-9 {
  top: 0;
  z-index: 0;
  bottom: 0;
}

.has-bg > span.bg-bottom-cap-9 > svg {
  position: relative;
  bottom: -2px;
}

.has-bg.flip-x-y > span.bg-bottom-cap-9 {
  top: 0;
  transform: rotateX(180deg) rotateY(180deg);
}

.has-bg > span.bg-bottom-leaf-1-cityscape-desktop,
.has-bg > span.bg-bottom-leaf-1-halloween-desktop {
  display: none;
}

.has-bg > span.bg-bottom-leaf-1-cityscape-mobile,
.has-bg > span.bg-bottom-leaf-1-cityscape-desktop,
.has-bg > span.bg-bottom-leaf-1-halloween-mobile,
.has-bg > span.bg-bottom-leaf-1-halloween-desktop {
  bottom: -2px;
}

@media (min-width: 900px) {
  .has-bg > span.bg-bottom-leaf-1-cityscape-mobile,
  .has-bg > span.bg-bottom-leaf-1-halloween-mobile {
    display: none;
  }

  .has-bg > span.bg-bottom-leaf-1-cityscape-desktop,
  .has-bg > span.bg-bottom-leaf-1-halloween-desktop {
    display: flex;
  }
}

/* single 1 */
.has-bg > span.bg-bottom-single-1 {
  /* uses defaults */
}

/* pricing page overrides */
.pricing-quote .section.bg-bottom-single-1.has-bg {
  overflow-x: hidden;
}

.pricing-quote .has-bg > span.bg-bottom-single-1 {
  justify-content: center;
}

.pricing-quote .has-bg > span.bg-bottom-single-1 > svg {
  display: none;
}

/* no more growing or shrinking */
@media (max-width: 1888px) {
  .pricing-quote .has-bg > span.bg-bottom-single-1 > svg {
    flex: 0 0 auto;
  }
}

/* override hide/shows with exact SVG widths, since it's not growing to browser width */
@media (max-width: 360px) {
  .pricing-quote .has-bg > span.bg-bottom-single-1 > svg:not(:only-child).mobile {
    display: revert;
  }
}

@media (min-width: 361px) and (max-width: 768px) {
  .pricing-quote .has-bg > span.bg-bottom-single-1 > svg:not(:only-child).tablet {
    display: revert;
  }
}

@media (min-width: 769px) and (max-width: 1440px) {
  .pricing-quote .has-bg > span.bg-bottom-single-1 > svg:not(:only-child).laptop {
    display: revert;
  }
}

@media (min-width: 1441px) {
  .pricing-quote .has-bg > span.bg-bottom-single-1 > svg:not(:only-child).desktop {
    display: revert;
  }
}

/* single 2 */
.has-bg > span.bg-bottom-single-2 {
  /* uses defaults */
}

/* single 3 */
.has-bg > span.bg-bottom-single-3 {
  /* uses defaults */
}


/*
* block
*/
.has-bg > .bg.bg-block-center-left-single-1 {
  top: 26%;
  left: -20%;
  width: 115%;
  transform: translateY(-50%);
}

.has-bg > .bg.bg-block-center-right-single-3,
.has-bg > .bg.bg-block-center-right-single-4 {
  top: 58%;
  left: 57%;
  width: 115%;
  transform: translateY(-50%);
}

.has-bg > .bg.bg-block-center-right-double-1 {
  width: 90%;
  top: -11%;
  right: -8%;
  left: unset;
}

.has-bg > .bg.bg-block-center-left-single-2,
.has-bg > .bg.bg-block-center-left-single-3 {
  display: none;
}

@media (min-width: 600px) {
  .has-bg > span.bg.bg-block-center-right-double-1 > svg.mobile {
    display: block;
  }

  .has-bg > .bg.bg-block-center-left-single-2,
  .has-bg > .bg.bg-block-center-left-single-3  {
    display: block;
    top: 11%;
    left: -10%;
    width: 115%;
    transform: translateY(-50%);
  }

  .has-bg > .bg.bg-block-center-right-single-3,
  .has-bg > .bg.bg-block-center-right-single-4 {
    top: 80%;
  }
}

@media (min-width: 900px) {
  .has-bg > .bg.bg-block-center-left-single-1 {
    width: 60%;
    left: calc(50% - 80px);
    top: 50%;
    transform: translate(-100%, -50%);
  }

  .has-bg > .bg.bg-block-center-right-double-1 {
    width: 54%;
    top: 30%;
    right: unset;
    left: 55%;
    transform: translateY(-50%);
  }

  .has-bg > span.bg.bg-block-center-right-double-1 > svg.mobile {
    display: none;
  }

  .has-bg > span.bg.bg-block-center-right-double-1 > svg.desktop {
    display: block;
  }
 
  .has-bg > .bg.bg-block-center-left-single-2,
  .has-bg > .bg.bg-block-center-left-single-3  {
    left: 13%;
  }
}

@media (min-width: 1300px) {
  .has-bg > .bg.bg-block-center-left-single-1 {
    width: 800px;
  }

  .has-bg > .bg.bg-block-center-right-double-1 {
    width: 700px;
  }

  .has-bg > .bg.bg-block-center-right-single-3,
  .has-bg > .bg.bg-block-center-right-single-4 {
    top: 40%;
  }
}

@media (min-width: 1800px) {
  .has-bg > .bg.bg-block-center-left-single-1 {
    width: 900px;
  }

  .has-bg > .bg.bg-block-center-right-double-1 {
    width: 900px;
  }

  .has-bg > .bg.bg-block-center-left-single-2,
  .has-bg > .bg.bg-block-center-left-single-3  {
    left: 21%;
  }
}

/* gradient industry */
.has-bg > span[class*='bg-gradient-'],
.has-bg > span[class*='bg-solid-'] {
  top: 0;
  bottom: 0;
  z-index: -2;
}

.has-bg > span.bg-gradient-industry,
.has-bg > span.bg-gradient-tint-15 {
  background-image: linear-gradient(180deg, var(--color-white) 0%, var(--theme-tint15) 100%);
}

.rebranding2023 .has-bg > span.bg-gradient-industry {
  background-image: unset;
}

.has-bg > span.bg-gradient-tint-15-v-2 {
  background-image: linear-gradient(150deg, var(--color-white) 50%, var(--theme-tint15) 100%)
}

.has-bg > span.bg-gradient-tint-15-v-3 {
  background-image: linear-gradient(180deg, var(--color-white) 0%, var(--theme-tint15) 80%);
}

.has-bg > span.bg-gradient-tint-15-to-theme {
  background-image: linear-gradient(117deg, var(--theme-tint15) 0%, var(--theme-base) 100%);
}

.has-bg > span.bg-gradient-tint-10 {
  background-image: linear-gradient(var(--color-white) 0%, var(--theme-tint10) 100%);
}

.has-bg > span.bg-gradient-f7ffe5 {
  background-image: linear-gradient(var(--color-white) 0%, #F7FFE5 100%);
}

.has-bg > span.bg-gradient-tint-10-reverse {
  background-image: linear-gradient(var(--theme-tint10) 0%, var(--color-white) 100%);
}

.has-bg > span.bg-gradient-tint-10-reverse-v2 {
  background-image: linear-gradient(var(--theme-tint10) 0%, var(--color-white) 60%);
}

.has-bg > span.bg-gradient-tint-15-reverse {
  background-image: linear-gradient(var(--theme-tint15) 50%, var(--color-white) 100%);
}

.has-bg > span.bg-gradient-f7ffe5-reverse {
  background-image: linear-gradient(#F7FFE5 0%, var(--color-white) 100%);
}

.has-bg > span.bg-gradient-gray-1 {
  background-image: linear-gradient(var(--color-white) 0%, var(--color-gray-1) 100%);
}

.has-bg > span.bg-gradient-gray-1-reverse {
  background-image: linear-gradient(var(--color-gray-1) 0%, var(--color-white) 100%);
}

.has-bg > span.bg-solid-green-1 {
  background-color: var(--color-green-1);
}

.has-bg > span.bg-solid-gray-1 {
  background-color: var(--color-gray-1);
}

.has-bg > span.bg-solid-gray-0 {
  background-color: var(--color-gray-0);
}

.has-bg > span.bg-solid-shade-10 {
  background-color: var(--theme-shade10);
}

.has-bg > span.bg-solid-hrvs {
  background-color: #DDF1F8;
}

.has-bg.pull-down-bg > span.bg {
  bottom: -100%;
}

/* background image in section metadata */
.has-bg .bg-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.has-bg .bg-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
}

/* General block background styles */
.rebranding2023 .call-to-action-wrapper.themed-background,
.rebranding2023 .center-page-cta-wrapper.themed-background,
.rebranding2023 .multi-element-wrapper.themed-background {
  background-color: var(--color-green-0);
}

.rebranding2023 .call-to-action-wrapper.gray-background,
.rebranding2023 .center-page-cta-wrapper.gray-background,
.rebranding2023 .multi-element-wrapper.gray-background {
  background-color: var(--color-gray-1);
}

.section.green-3-background,
.section.background-color-green-3 {
  background-color: var(--color-green-3);
  z-index: 0;
}

.section.background-color-dark-violet {
  background-color: var(--color-dark-violet);
  z-index: 0;
}

.section.background-color-gray-0 {
  background-color: var(--color-gray-0);
  z-index: 0;
}

.section.blue-100-background {
  background-color: var(--color-blue-100);
  z-index: 0;
}

.section.blue-200-background {
  background-color: var(--color-blue-200);
  z-index: 0;
}

.has-bg.gray-0-background > span {
  background-color: var(--color-gray-0);
  bottom: 0;
}

/* leaf positions */
.has-bg.position-top span[class*='bg-leaf-'] {
  align-items: flex-start;
  top: -2px;
}

.has-bg.position-bottom span[class*='bg-leaf-'] {
  align-items: end;
  bottom: -2px;
}

.has-bg.position-bottom > span[class*='bg-leaf'] > svg,
.has-bg.position-top > span[class*='bg-leaf'] > svg {
  flex: 1 0 0;
}


