.banner-module {
  position: relative;
  background-color: #434a4e;
overflow: hidden;
}

.banner-module--fixed {
  padding: 60px 0;
}

.banner-module-flex {
  display: flex;
  align-items: center;
  position: relative;
}

.banner-left * {
  color: #fff;
}

.banner-left .hs-cta-wrapper {
  display: inline-block;
  margin-top: 25px;
}

.banner-right {
  display: flex;
  align-items: center;
  height: 500px;
  width: calc(100% - 550px);
  margin-left: auto;
  right: 0;
  bottom: 0;
  z-index: 2;
}

@supports (object-fit: cover) {
  .banner-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.banner-module.no-image {
  padding: 60px 0;
}

.banner-module.no-image:after {
  content: "";
  left: 50%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: 0;
  background-image: url(https://f.hubspotusercontent40.net/hubfs/8833048/banner-pattern.png);
  z-index: 1;
}

.banner-heading {
  margin: 0;
}

.banner-filters {
  margin: 40px 0 0;
}

.banner-filter + .banner-filter {
  margin: 20px 0 0;
}

.banner-filter-label {
  display: block;
  margin: 0 0 20px;
  color: rgba(colour(white), 0.5);
}
.banner-module-asset {
  position: absolute;
  background-size: cover;
  height: 100%;
  width: 100%;
  bottom: 0;
  max-height: 225px;
}

@media (max-width: 767px) {
  .banner-module {
    padding: 0 !important;
    margin-bottom: 0 !important;
    overflow: hidden;
  }

  .banner-module-flex {
    flex-wrap: wrap;
  }

  .banner-left {
    order: 1;
    padding: 30px 0;
    order: 2;
    width: 100%;
  }

  .banner-right {
    order: 2;
    height: 225px;
    left: 0;
    right: 0;
    width: 100%;
  }
}

@media (min-width: 768px) {
  .banner-module {
    position: relative;
    background-repeat: no-repeat;
    background-position: center right;
  }
  
  .banner-module-asset {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 65%;
    background-size: cover;
    height: 100%;
    max-height: 100%;
  }
  .banner-module--fixed {
    padding: 100px 0;
  }

  .banner-left {
    width: 50%;
    padding-right: 30px;
  }

  .banner-right {
    width: 50%;
    margin: 0 0 20px;
  }
}

@media (min-width: 1024px) {
  .banner-left {
    max-width: 550px;
    padding-right: 100px;
  }
  

  .banner-left:only-child {
    width: 100%;
    max-width: 780px;
    padding: 0;
  }

  .banner-filters {
    display: flex;
  }

  .banner-filter + .banner-filter {
    margin: 0 0 0 15px;
  }

  .banner-filter {
    width: 25%;
  }

  .banner-filter--large {
    width: 50%;
  }
}

@media (min-width: 1200px) {
  .banner-module-asset {
    width: 60%;
  }
  
  .banner-module--fixed {
    padding: 150px 0 130px;
  }
}

@media (min-width: 1600px) {
  
}
