
.featured-block .image-block {
  position: relative;
  min-height: 20rem;
}
.featured-block .masked-image {
  overflow: hidden;
  padding-top: 100%; /* 1:1 Aspect Ratio */
  position: relative;
  width: 100%;
}

.featured-block .image-block svg {
  height: calc(100% + 2px);
  position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
  width: calc(100% + 2px);
  z-index: 1;
}
.featured-block.bg-light .image-block svg {
  fill: var(--bg-light);
}
.featured-block .image-block img {
  height: 100%;
	width: 100%;
	object-fit: cover;
  position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.featured-block .image-block.full-image {
  height: 100%;
}
.featured-block .image-block.full-image img {
  height: auto;
  position: relative;
}


.featured-block-text-wrapper {
  padding-bottom: 3rem;
  padding-top: 3rem;
  position: relative;
}


.featured-block-text-ref.text-ref {
  font-family: var(--font);
  font-size: 1.125rem;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.2rem;
  margin-bottom: 0.5rem;
}

.featured-block-text-text > .block-title:last-child {
  margin-bottom: 0 !important;
}


.featured-buttons {
  margin-top: .5rem;
}
.featured-block-button {
  display: inline-flex;
  margin-top: 1rem;
}
.featured-block-button:not(:last-child) {
  margin-right: 1rem;
}




/***************   Mobile    ***************/

@media (max-width: 1439px) {
  .featured-block-text-wrapper {
    padding: 4rem 5rem;
  }
  .featured-block-text-ref.text-ref {
    font-size: 1rem;
  }
}

@media (max-width: 1199px) {
  .featured-block-text-wrapper {
    padding: 2rem 0;
  }
  .width-wide .xlarge-order-1 .featured-block-text-wrapper {
    padding-right: 0;
  }
  .width-wide .xlarge-order-2 .featured-block-text-wrapper {
    padding-left: 0;
  }
}

@media (min-width: 1024px) {
  .featured-block-text-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 28rem;
  }
  .xlarge-order-1 .featured-block-text-wrapper {
    padding-right: 3.75rem;
  }
  .xlarge-order-2 .featured-block-text-wrapper {
    padding-left: 3.75rem;
  }
}

@media (max-width: 1023px) {
  .featured-block-text-wrapper {
    margin: 0 auto;
    padding: 3rem 5rem 0;
  }
  .featured-block .image-block {
    height: 50vw;
  }
}

@media (max-width: 823px) {
  .featured-block .image-block {
    min-height: 60vw;
  }
  .featured-block .image-block.full-image {
    min-height: fit-content;
  }
  .featured-block-text-wrapper {
    margin: 0;
    padding: 2.5rem 0 0;
  }
}
