.text-image-section-container {
  position: relative;
  width: 100%;
}

.text-image-section-columns {
  position: relative;
  display: flex;
  gap: 40px;
  align-items: center;
}

.text-image-section-columns > * {
  flex: 2;
}

.text-image-section-columns .column {
  min-height: 80px;
}

.text-image-section-columns .column-image {
  position: relative;
}

.text-image-section-columns.small-image .column-image {
  flex: 1;
}

.text-image-section-columns.medium-image .column-image {
  flex: 1.5;
}

.text-image-section-columns .image-container {
  position: relative;
  overflow: hidden;
  margin-left: 20px;
  border-radius: 25% 0 25% 0;
}

.text-image-section-columns .image-container-ratio-5-6 {
  padding-bottom: calc(500%/6);
}

.text-image-section-columns .image-container-ratio-3-4 {
  padding-bottom: calc(300%/4);
}

.text-image-section-columns .image-container-ratio-1 {
  padding-bottom: 100%;
}

.text-image-section-columns.image-first .image-container {
  margin-left: 0;
  margin-right: 20px;
  border-radius: 0 25% 0 25%;
}

.text-image-section-columns .image-container img {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.text-image-section-container:not(.with-card) .text-image-section-columns .column-image:before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 75%;
  transform: translateY(-50%);
  background-color: var(--primary);
}

.text-image-section-container.with-card:before {
  content: '';
  position: absolute;
  width: 80%;
  height: 100%;
  top: 0;
  background: #fff;
  z-index: 0;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.text-image-section-container.with-card {
  padding: 20px;
}

.text-image-section-container.with-card.image-first:before {
  right: 0;
}

.text-image-section-container.with-card:not(.image-first):before {
  left: 0;
}

.text-image-section-container.bgcolor-white {
  background-color: #fff !important;
  padding: 20px;
}

.text-image-section-container.bgcolor-grey {
  background-color:#f0eded !important;
  padding: 20px;
}

