.make-section-intent(@colors, @gradients) {
  &.cr-ct-section--default {
    background-image: @gradients[light];
  }

  &.cr-ct-section--primary {
    background-image: @gradients[dark];
    color: @gradients[dark-text-color];
    .cr-ct-section__title {
      color: @gradients[dark-text-color];
    }

    .cr-ct-section__subtitle {
      color: @gradients[dark-text-color];
    }
  }

  &.cr-ct-section--dark {
    background-color: @theme-secondary-base-color;
    color: @colors[color-99];
    .cr-ct-section__title {
      color: @colors[color-99];
    }

    .cr-ct-section__subtitle {
      color: @colors[color-99];
    }
  }
}

.cr-ct-section {
  width: 100%;
  padding: 120px 0;
  position: relative;
  color: @theme-secondary-base-color;

  &--is-light-theme {
    p, a, h1, h2, h3, h4, h5, h6, span, li, ul, ol, strong, em, b, i, small, big, sub, sup, strike, del, ins, mark, abbr, dfn, kbd, samp, var, cite, q, blockquote, address, time, code, pre, wbr, svg, param, source, table, caption, col, colgroup, thead, tbody, tfoot, tr, th, td, fieldset, legend, datalist, details, summary, menuitem, menu {
      color: @theme-secondary-base-color !important;
    }
  }

  &--mobile {
    padding: 30px 0;
  }

  &--disable-paddings {
    padding: 0 !important;
  }

  &__title {
    color: @theme-secondary-base-color;
    font-size: 32px !important;
    font-style: normal;
    font-weight: 600 !important;
    line-height: 40px !important;
    text-transform: capitalize;
    text-align: center;
    margin-bottom: 60px !important;

    &--has-featured-image {
      text-align: left;
    }

    &--mobile {
      grid-area: title;
      margin-bottom: 0px !important;
      font-size: 20px !important;
      line-height: 28px !important;
    }
  }

  &--has-subtitle {
    .cr-ct-section__title {
      margin-bottom: 20px !important;
    }
  }

  &__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;

    &--has-featured-image {
      display: grid;
      grid-gap: 90px;
      align-items: center;
      grid-template-columns: repeat(2, 1fr);
    }

    &--has-featured-content {
      grid-gap: 0 !important;
    }

    &--right {
      grid-template-areas: "content-container featured-image";
    }

    &--left {
      grid-template-areas: "featured-image content-container";
    }

    &--mobile:not(.cr-ct-section__inner-container--mobile-featured-content-condensed) {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto;
      grid-template-areas: "title" "featured-image" "content-container";
      grid-gap: 20px !important;
      justify-content: center;
    }

    &--featured-image-small {
      grid-template-columns: 0.25fr 1fr;
      align-items: flex-start;
    }
  }

  &__featured-image {
    grid-area: featured-image;

    &--mobile {
      justify-self: center;
      align-self: center;
    }
  }

  &__content-container {
    grid-area: content-container;
    width: 100%;

    &--has-featured-content {
      background: #ffffff;
      margin-left: -50px;
      z-index: 90;
      width: calc(100% + 50px);
      padding: 42px 46px;

      &.cr-ct-section__content-container--mobile:not(.cr-ct-section__content-container--mobile-featured-content-condensed) {
        margin-left: 0px;
        width: 100%;
      }
      &.cr-ct-section__content-container--mobile {
        padding: 20px;
      }
    }
  }

  &__subtitle {
    color: @theme-secondary-base-color;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.32px;
    text-transform: capitalize;
    text-align: center;
    margin-bottom: 30px;
  }

  &--font-variant-1 {
    font-family: @theme-font-variants[@variant-1][body-font-family];

    .cr-ct-section__title {
      font-family: @theme-font-variants[@variant-1][header-font-family] !important;
    }
  }

  &--font-variant-2 {
    font-family: @theme-font-variants[@variant-2][body-font-family];

    .cr-ct-section__title {
      font-family: @theme-font-variants[@variant-2][header-font-family] !important;
    }
  }

  &--font-variant-3 {
    font-family: @theme-font-variants[@variant-3][body-font-family];

    .cr-ct-section__title {
      font-family: @theme-font-variants[@variant-3][header-font-family] !important;
    }
  }

  &--theme-1 {
    .make-section-intent(@themes[@theme-1][@colors], @themes[@theme-1][@gradients]);
  }

  &--theme-2 {
    .make-section-intent(@themes[@theme-2][@colors], @themes[@theme-2][@gradients]);
  }

  &--theme-3 {
    .make-section-intent(@themes[@theme-3][@colors], @themes[@theme-3][@gradients]);
  }

  &--theme-4 {
    .make-section-intent(@themes[@theme-4][@colors], @themes[@theme-4][@gradients]);
  }

  &--theme-5 {
    .make-section-intent(@themes[@theme-5][@colors], @themes[@theme-5][@gradients]);
  }

  &--theme-6 {
    .make-section-intent(@themes[@theme-6][@colors], @themes[@theme-6][@gradients]);
  }
}
