@import '../../../styles/vars/breakpoints.css';

:global(.d-slide-colored) .quote  {
  box-shadow: none;
}


:global(.d-slide-colored) .quote.type--shaded,
:global(.d-slide-colored) .type--colored, 
:global(.d-slide-colored) .type--card {
  background-color: rgb(255,255,255,0.05);
}

.quote {
  /* box-shadow: 0 6px 40px 0 rgba(#50cbe3, 0.4); */
  position: relative;
  box-sizing: border-box;
  width: 100%;

  .content,
  .subtitle {
    font-weight: 500;
    font-size: rem(20px);
    line-height: rem(27px);
    letter-spacing: 0.4px;

    @media (--xs-only) {
      /* text: rem(16px); */
      font-size: rem(16px);
    }

    p {
      margin: 0;
    }
  }

  .text {
    word-break: break-word;
    &.editing {
      &:active,
      &:focus,
      &:hover {
        width: 100%;
        outline: auto !important;
        outline-color: #4D90FE !important;
        outline-width: 5px !important;
        outline-offset: -2px  !important;
        outline-style: auto  !important;
      }
    }
  }

  .text,
  .subtitle {
    display: inline-block;
  }

  .subtitle,
  p.subtitle {
    /* text: 400 16px; */
    font-weight: 400;
    font-size: rem(16px);
    letter-spacing: 0.4px;
    opacity: 0.6;
    margin-top: 0px;

    @media (--xs-only) {
      /* text: rem(14px); */
      font-size: rem(14px);
      margin-top: 5px;
    }
  }
}

.content {
  position: relative;
  width: 100%;
}

.with-icon {
  align-items: center;
}

.with-image {
}

.quote.type {
  &--default:not(.with-icon) {
    border-left: 4px solid;
    padding-left: 27px;
    border-radius: 0 !important;
  }

  &--default,
  &--default.with-icon {
    box-shadow: none;
  }

  &--colored,
  &--colored.with-image,
  &--card {
    padding: 24px 30px;
    color: white;
  }

  &--shaded{
    background-color: #fff;
  }

  &--shaded,
  &--shaded.with-icon {
    padding: 24px 30px;
    overflow: hidden;

    .content {
      /* text: 400 italic; */
      font-weight: 400;
      font-style: italic;
    }

    .subtitle {
      /* text: 400 rem(16px); */
      font-weight: 400;
      font-size: rem(16px);
      letter-spacing: 0.4px;
      opacity: 0.6;
      margin-top: 10px;
      word-break: break-word;

      @media (--xs-only) {
        /* text: rem(14px); */
        font-size: rem(14px);
        margin-top: 5px;
      }
    }
  }

  &--shaded.with-icon {
    display: flex;
    /* align-items: flex-end; */
    align-items: center;

    @media (--xs-only) {
      flex-wrap: wrap;
    }

    .content {
      width: 530px;
      @media (--xs-only) {
        flex: 0 0 100%;
      }
      @media (--ms-only) {
        width: 400px;
      }
    }

    .icon {
      display: block;
      order: 1;
      flex: 0 0 135px;
      width: 135px;
      height: 116px;
      position: absolute;
      object-fit: contain;
      bottom: 0;
      right: 30px;

      @media (--xs-only) {
        position: relative;
        bottom: initial;
        right: initial;
        /* margin: * 10px -29px 15px; */
        margin: 0 auto;
        margin-bottom: -20px;
        flex: 0 0 100%;
        margin-top: 15px;
        margin-bottom: -24px;
      }
    }

  }

  &--default.with-icon {
    display: flex;
    align-items: center;
    
    @media (--xs-only) {
      flex-direction: column;
    }

    .icon {
      display: block;
      flex: 0 0 84px;
      width: 84px;
      height: 90px;
      margin-right: 32px;

      @media (--xs-only) {
        margin: 0 0 20px;
      }
    }
  }

  &--colored.with-image,
  &--card {
    background: center no-repeat;
    background-size: cover;
    &::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      size: 100%;
      background-color: inherit;
      opacity: 0.8;
      border-radius: inherit;
    }
  }

  &--card {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: white;
    padding-top: 32px;

    @media (--xs-only) {
      min-height: 450px;
    }

    .subtitle,
    p.subtitle {
      font-weight: bold;
      font-size: rem(24px);
      letter-spacing: 0.6px;
      margin: 20px * * *;
      padding-right: 70px;
      box-sizing: border-box;
      opacity: 1;

      @media (--xs-only) {
        font-size: rem(20px);
        opacity: 1;
        padding-right: 50px;
        width: 100%;
        margin-top: 10px;
      }
    }

    .icon {
      position: absolute;
      top: -66px;
      left: 30px;
      width: 181px;
      height: 162px;
    }
  }
}

.subtitle-align-left .subtitle {
  text-align: left;
}

.subtitle-align-right .subtitle {
  text-align: right;
}


:global(.dir--rtl) {
  
  .quote.type--shaded.with-icon .icon {
    right: initial;
    left: 30px;
  }
}