.text-image__wrapper {
  position: relative;
}

.text-image:first-child .text-image__wrapper {
  position: static;
}

.text-image:first-child {
  position: relative;
}

.text-image__wrapper--padding-top {
  padding-top: var(--padding-top-mobile, 56px);
}

.text-image__wrapper--padding-bottom {
  padding-bottom: var(--padding-bottom-mobile, 56px);
}

.text-image__container {
  position: relative;
  z-index: 1;
}

.text-image__columns {
  display: flex;
  flex-direction: var(--flex-direction-mobile, column);
}

.text-image__title {
  margin-bottom: 25px;
}

.text-image__buttons {
  margin-top: 37px;
  margin-bottom: calc(-1 * var(--button-margin-bottom, 16px));
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.text-image__buttons .button--primary {
  margin-right: 24px;
}

.text-image__holder {
  position: relative;
  width: 100%;
  height: 100%;
  margin: var(--text-margin-top) 0 var(--text-margin-bottom);
  border-radius: var(--border-radius-block-rounded);
}

.text-image__image {
  width: 100%;
  border-radius: var(--border-radius-block-rounded);
}

.text-image__bg-default-wrapper,
.text-image__bg-floral-wrapper {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.text-image__bg-default-wrapper svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  min-width: 100%;
  opacity: 0.1;
}

.text-image__bg-floral-wrapper svg {
  position: absolute;
  bottom: 0;
  left: var(--bg-image-left);
  right: var(--bg-image-right);
  opacity: 0.1;
  max-height: 100%;
}

.text-image__bg-overlay {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
}

.text-image__bg-overlay::before {
  content: "";
  position: absolute;
  top: var(--overlay-top);
  bottom: var(--overlay-bottom);
  left: 50%;
  width: 1597px;
  height: 837px;
  z-index: 1;
  transform: var(--overlay-transform);
}

.palette-one.text-image__wrapper {
  color: var(--color-secondary, #4E5D78);
  background: var(--background-primary, #FFF);
}

.palette-one .text-image__bg-floral-wrapper g,
.palette-one .text-image__bg-floral-wrapper path,
.palette-one .text-image__bg-default-wrapper path {
  fill: var(--color-primary, #0B1A26);
}

.palette-one .text-image__bg-overlay::before {
  background: radial-gradient(63.68% 231.83% at 28.65% 40.5%, var(--background-primary, #FFF) 0%, var(--background-primary-00, #FFF0) 100%);
}

.palette-two.text-image__wrapper {
  color: var(--color-secondary-2, #E1E4E8);
  background: var(--background-primary-2, #0B1A26);
}

.palette-two .text-image__bg-floral-wrapper g,
.palette-two .text-image__bg-floral-wrapper path,
.palette-two .text-image__bg-default-wrapper path {
  fill: var(--color-primary-2, #FFF);
}

.palette-two .text-image__bg-overlay::before {
  background: radial-gradient(63.68% 231.83% at 28.65% 40.5%, var(--background-primary-2, #0B1A26) 0%, var(--background-primary-2-00, #0B1A2600) 100%);
}

.palette-three.text-image__wrapper {
  color: var(--color-secondary-3, #FFF);
  background: var(--background-primary-3, #F4B841);
}

.palette-three .text-image__bg-floral-wrapper g,
.palette-three .text-image__bg-floral-wrapper path,
.palette-three .text-image__bg-default-wrapper path {
  fill: var(--color-primary-3, #0B1A26);
}

.palette-three .text-image__bg-overlay::before {
  background: radial-gradient(63.68% 231.83% at 28.65% 40.5%, var(--background-primary-3, #F4B841) 0%, var(--background-primary-3-00, #F4B84100) 100%);
}

.classic-design .text-image__image {
  padding: 8px;
  border: 1px solid transparent;
}

.classic-design .palette-one .text-image__image {
  border-color: var(--background-accent, #F4B841);
}

.classic-design .palette-two .text-image__image {
  border-color: var(--background-accent-2, #F4B841);
}

.classic-design .palette-three .text-image__image {
  border-color: var(--background-accent-3, #0B1A26);
}

@media (width >= 768px) {
  .text-image__spacer {
    height: var(--height, 0);
  }

  .text-image__columns {
    justify-content: space-between;
    flex-direction: var(--flex-direction, row);
    align-items: center;
    margin: 0 calc(-1 * var(--horizontal-padding, 16px));
  }

  .text-image__col {
    width: 100%;
    padding: 0 var(--horizontal-padding, 16px);
  }

  .text-image__holder {
    display: flex;
    align-items: flex-end;
    justify-content: var(--justify-content);
    right: var(--right);
    left: var(--left);
    width: calc(100% - 43px);
    margin: 0 var(--text-margin-right) 0 var(--text-margin-left);
    max-height: 570px;
    height: auto;
  }

  .text-image__image-wrapper {
    position: relative;
    z-index: 1;
    right: var(--image-right);
    left: var(--image-left);
    bottom: 30px;
    min-width: calc(100% + 22px);
  }

  .text-image__bg-overlay::before {
    right: var(--overlay-right);
    left: var(--overlay-left);
    transform: translate(0, 0);
  }

  .text-image__bg-overlay::after {
    content: "";
    position: absolute;
    inset: 0 var(--overlay-right-ex) 0 var(--overlay-left-ex);
    width: 9999px;
  }

  .palette-one .text-image__holder {
    border: 2px solid var(--background-accent, #F4B841);
  }

  .palette-one .text-image__bg-overlay::before {
    background: radial-gradient(63.68% 231.83% at var(--overlay-rotate), var(--background-primary, #FFF) 0%, var(--background-primary-00, #FFF0) 100%);
  }

  .palette-one .text-image__bg-overlay::after {
    background: linear-gradient(to var(--overlay-direction), var(--background-primary-00, #FFF0) 0%, var(--background-primary-10, #FFFFFF1A) 20%, var(--background-primary-45, #FFFFFF73) 40%, var(--background-primary, #FFF) 100%);
  }

  .palette-one.text-image__spacer {
    background: var(--background-primary, #FFF);
  }

  .palette-two .text-image__holder {
    border: 2px solid var(--background-accent-2, #F4B841);
  }

  .palette-two .text-image__bg-overlay::before {
    background: radial-gradient(63.68% 231.83% at var(--overlay-rotate), var(--background-primary-2, #0B1A26) 0%, var(--background-primary-2-00, #0B1A2600) 100%);
  }

  .palette-two .text-image__bg-overlay::after {
    background: linear-gradient(to var(--overlay-direction), var(--background-primary-2-00, #0B1A2600) 0%, var(--background-primary-2-10, #0B1A261A) 20%, var(--background-primary-2-45, #0B1A2673) 40%, var(--background-primary-2, #0B1A26) 100%);
  }

  .palette-two.text-image__spacer {
    background: var(--background-primary-2, #0B1A26);
  }

  .palette-three .text-image__holder {
    border: 2px solid var(--background-accent-3, #0B1A26);
  }

  .palette-three .text-image__bg-overlay::before {
    background: radial-gradient(63.68% 231.83% at var(--overlay-rotate), var(--background-primary-3, #F4B841) 0%, var(--background-primary-3-00, #F4B84100) 100%);
  }

  .palette-three .text-image__bg-overlay::after {
    background: linear-gradient(to var(--overlay-direction), var(--background-primary-3-00, #F4B84100) 0%, var(--background-primary-3-10, #F4B8411A) 20%, var(--background-primary-3-45, #F4B84173) 40%, var(--background-primary-3, #F4B841) 100%);
  }

  .palette-three.text-image__spacer {
    background: var(--background-primary-3, #F4B841);
  }

  .classic-design .text-image__holder {
    position: static;
    width: auto;
    margin: 0;
    border: none;
  }

  .classic-design .text-image__image-wrapper {
    right: var(--image-right-classic);
    left: var(--image-left-classic);
    min-width: calc(100% + 16px);
  }
}

@media (width >= 810px) {
  .text-image__bg-default-wrapper svg {
    min-height: 100%;
    height: auto;
  }
}

@media (width >= 1200px) {
  .text-image__wrapper--padding-top {
    padding-top: var(--padding-top, 100px);
  }

  .text-image__wrapper--padding-bottom {
    padding-bottom: var(--padding-bottom, 100px);
  }

  .text-image__description {
    margin-right: 20px;
  }
}
