@mixin title-base {
  font-family: 'Roboto Condensed';
  text-transform: capitalize;
  font-weight: bold;
  margin-bottom: 64px;
  position: relative;
}

.title-default {
  padding: spacing(0, 4);
}

.title-primary {
  .v-theme--dark & {
    color: $palette-primary-light
  }
  .v-theme--light & {
    color: $palette-primary-dark
  }
  font-size: 48px;
  line-height: 62px;
  @include breakpoints-down(md) {
    font-size: 38px;
    line-height: 50px
  }
  @include breakpoints-down(sm) {
    text-align: center;
    margin-bottom: $spacing4
  }
  @include breakpoints-down(xs) {
    font-size: 32px;
    line-height: 42px
  }
  @include title-base;
}

.title-secondary {
  color: $palette-secondary-dark;
  font-size: 48px;
  line-height: 62px;
  @include breakpoints-down(md) {
    font-size: 38px;
    line-height: 50px
  }
  @include breakpoints-down(xs) {
    font-size: 32px;
    line-height: 42px
  }
  @include title-base;
}

.title-deco {
  position: relative;
  h3 {
    font-family: 'Roboto Condensed';
    color: $palette-common-white;
    width: 120px;
    position: relative;
    text-transform: capitalize;
    @include padding-left(20px);
    font-size: 48px;
    font-weight: 700;
    line-height: 62px;
    @include breakpoints-up(lg) {
      height: 160px;
      @include margin-left($spacing3);
    }
    @include breakpoints-up(md) {
      padding-top: 40px;
      margin-top: $spacing10;
    }
    @include breakpoints-between(md, lg) {
      @include margin-left($spacing7)
    }
    @include breakpoints-down(md) {
      font-size: 38px;
      line-height: 50px
    }
    @include breakpoints-down(sm) {
      @include padding-left(0);
      .v-theme--dark & {
        color: $palette-primary-light
      }
      .v-theme--light & {
        color: $palette-primary-dark
      }
      width: auto;
      text-align: center;
    }
    @include breakpoints-down(xs) {
      font-size: 32px;
      line-height: 42px
    }
  }
  &:before {
    content: "";
    width: 210px;
    height: 210px;
    background: $palette-primary-main;
    border-radius: 24px;
    position: absolute;
    top: 0;
    @include left(0);
    .v-locale--is-rtl & {
      transform: rotate(-45deg);
    }
    .v-locale--is-ltr & {
      transform: rotate(45deg);
    }
    @include breakpoints-down(md) {
      @include left($spacing3)
    }
    @include breakpoints-down(sm) {
      display: none;
    }
  }
}

.title-icon-deco {
  @include breakpoints-up(lg) {
    width: 350px
  }
  &:before {
    content: "";
    width: 480px;
    height: 480px;
    .v-theme--dark & {
      background: $dark-background-default
    }
    .v-theme--light & {
      background: $light-background-paper
    }
    border-radius: 24px;
    .v-locale--is-rtl & {
      transform: rotate(-45deg);
    }
    .v-locale--is-ltr & {
      transform: rotate(45deg);
    }
    position: absolute;
    top: $spacing15;
    @include right($spacing10);
    @include breakpoints-down(sm) {
      display: none
    }
  }
  &.extend {
    .v-theme--dark & {
      &:before {
        box-shadow: -30px 20px 0px 0px $palette-secondary-dark
      }
    }
    .v-theme--light & {
      &:before {
        box-shadow: -30px 20px 0px 0px $palette-secondary-light
      }
    }
  }
  h3 {
    .v-theme--dark & {
      color: $palette-primary-light
    }
    .v-theme--light & {
      color: $palette-primary-dark
    }
    font-weight: 700;
    text-transform: capitalize;
    width: 200px;
    min-height: 120px;
    font-family: 'Roboto Condensed';
    font-size: 48px;
    line-height: 62px;
    position: relative;
    @include breakpoints-down(md) {
      font-size: 38px;
      line-height: 50px;
      width: 100%;
      text-align: center;
    }
    @include breakpoints-down(xs) {
      font-size: 32px;
      line-height: 42px
    }
  }
  .icon {
    position: relative;
    font-size: 100px !important;
    color: $palette-secondary-light;
    display: block;
    margin: spacing(20, 0, 3);
    @include text-align(left);
    @include breakpoints-down(md) {
      display: none
    }
  }
}
