.opart-pb-image-text-wrapper {
  width: 100%;
}

.opart-pb-image-text {
  display: flex !important;
  width: 100%;
  gap: var(--opart-pb-gap, 32px) !important;
}

.opart-pb-image-text--left {
  flex-direction: row !important;
}

.opart-pb-image-text--right {
  flex-direction: row-reverse !important;
}

.opart-pb-image-text--valign-start {
  align-items: flex-start !important;
}

.opart-pb-image-text--valign-center {
  align-items: center !important;
}

.opart-pb-image-text--valign-end {
  align-items: flex-end !important;
}

.opart-pb-image-text__media,
.opart-pb-image-text__content {
  min-width: 0;
}

/* Ratio 40 / 60 */
.opart-pb-image-text--ratio-40 .opart-pb-image-text__media {
  flex: 0 0 40%;
  max-width: 40%;
}

.opart-pb-image-text--ratio-40 .opart-pb-image-text__content {
  flex: 1 1 60%;
  max-width: 60%;
}

/* Ratio 50 / 50 */
.opart-pb-image-text--ratio-50 .opart-pb-image-text__media {
  flex: 0 0 50%;
  max-width: 50%;
}

.opart-pb-image-text--ratio-50 .opart-pb-image-text__content {
  flex: 1 1 50%;
  max-width: 50%;
}

/* Ratio 60 / 40 */
.opart-pb-image-text--ratio-60 .opart-pb-image-text__media {
  flex: 0 0 60%;
  max-width: 60%;
}

.opart-pb-image-text--ratio-60 .opart-pb-image-text__content {
  flex: 1 1 40%;
  max-width: 40%;
}

.opart-pb-image-text__img {
  display: block;
  width: 100%;
  height: auto;
}

.opart-pb-image-text__img.is-rounded {
  border-radius: 20px;
}

.opart-pb-image-text__content > :first-child {
  margin-top: 0;
}

.opart-pb-image-text__content > :last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .opart-pb-image-text,
  .opart-pb-image-text--left,
  .opart-pb-image-text--right {
    flex-direction: column !important;
    gap: var(--opart-pb-gap, 32px) !important;
  }

  .opart-pb-image-text__media,
  .opart-pb-image-text__content,
  .opart-pb-image-text--ratio-40 .opart-pb-image-text__media,
  .opart-pb-image-text--ratio-40 .opart-pb-image-text__content,
  .opart-pb-image-text--ratio-50 .opart-pb-image-text__media,
  .opart-pb-image-text--ratio-50 .opart-pb-image-text__content,
  .opart-pb-image-text--ratio-60 .opart-pb-image-text__media,
  .opart-pb-image-text--ratio-60 .opart-pb-image-text__content {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
}