/* =========================================================
   ENTIRE COMPONENT
========================================================= */

.feature-image-section {
  position: relative;

  width: 100%;
  max-width: 100%;

  overflow: hidden;

  box-sizing: border-box;
}


/* =========================================================
   HEADING
========================================================= */

.feature-image-section__heading {
  position: relative;

  z-index: 2;

  width: 100%;
  max-width: 1400px;

  margin-left: auto;
  margin-right: auto;

  box-sizing: border-box;
}


/* =========================================================
   FULL WIDTH CONTENT ROW
========================================================= */

.feature-image-section__row {
  position: relative;

  width: 100%;
  max-width: 100%;

  overflow: hidden;

  isolation: isolate;

  box-sizing: border-box;
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.feature-image-section__background {
  position: absolute;

  inset: 0;

  z-index: 0;

  display: block;

  width: 100%;
  height: 100%;

  max-width: none;

  object-fit: contain;

  object-position: right center;

  pointer-events: none;

  user-select: none;
}


/* =========================================================
   INNER 1400PX CONTAINER
========================================================= */

.feature-image-section__inner {
  position: relative;

  z-index: 1;

  width: calc(100% - 48px);
  max-width: 1400px;

  margin-left: auto;
  margin-right: auto;

  min-width: 0;

  box-sizing: border-box;
}


/* =========================================================
   COLUMNS
========================================================= */

.feature-image-section__features,
.feature-image-section__image-column {
  position: relative;

  z-index: 1;

  min-width: 0;

  box-sizing: border-box;
}


/* =========================================================
   IMAGE WRAPPER
========================================================= */

.feature-image-section__image-wrap {
  position: relative;

  z-index: 1;

  width: 100%;
  max-width: 620px;

  margin-left: auto;
  margin-right: auto;

  display: flex;

  align-items: center;

  justify-content: center;

  box-sizing: border-box;
}


/* =========================================================
   IMAGE
========================================================= */

.feature-image-section__image {
  position: relative;

  z-index: 1;

  display: block;

  width: 100%;
  height: auto;

  max-width: 620px;
  max-height: 620px;

  margin-left: auto;
  margin-right: auto;

  object-fit: contain;

  box-sizing: border-box;
}


/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) {

  .feature-image-section__inner {
    width: calc(100% - 80px);
  }

}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 1024px) {

  .feature-image-section__inner {
    width: calc(100% - 144px);

    max-width: 1400px;

    gap: 72px;
  }


  .feature-image-section__features,
  .feature-image-section__image-column {
    width: 50%;
  }


  .feature-image-section__background {
    width: 100%;
    height: 100%;

    object-fit: contain;

    object-position: right center;
  }

}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1544px) {

  .feature-image-section__inner {
    width: 1400px;

    max-width: 1400px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .feature-image-section__row {
    overflow: hidden;
  }


  .feature-image-section__inner {
    width: calc(100% - 48px);
  }


  .feature-image-section__background {
    object-position: 72% center;
  }


  .feature-image-section__image-wrap,
  .feature-image-section__image {
    width: 100%;

    max-width: 620px;
  }

}