/*------------------------------------------------------------
TYPO
Title, list, links, label
====================================*/

/* Variables Custom */
$font-weight-thin:             100;
$font-weight-elight:           200;
$font-weight-medium:           500;
$font-weight-sbold:            600;
$font-weight-ebold:            800;
$font-weight-black:            900;

$display-font-family:          $font-family-serif;

$link-font-weight:             $font-weight-medium;

$link-secondary-color:                  $black;
$link-secondary-decoration:             underline;
$link-secondary-font-size:              1.3rem;
$link-secondary-font-weight:            $font-weight-sbold;
$link-secondary-hover-color:            $primary;
$link-secondary-hover-decoration:       underline;

$price-font-weight: $font-weight-sbold;
$price-font-size: 1.4rem;
$price-unit-font-size: 1.8rem;
$price-color: $black;
$price-promo-color: $secondary;
$price-old-font-weight: $font-weight-normal;
$price-old-font-size: 1.4rem;
$price-old-color: $black;
/***************************************/

/* Tailles Titles */
%h1 {
  font-size: 2.6rem;
  @include media-breakpoint-up(md) {
    font-size: 3rem;
  }
  @include media-breakpoint-up(lg) {
    font-size: $h1-font-size;
  }
}
%h2 {
  font-size: 2.4rem;
  @include media-breakpoint-up(md) {
    font-size: 2.8rem;
  }
  @include media-breakpoint-up(lg) {
    font-size: $h2-font-size;
  }
}
%h3 {
  font-size: 1.8rem;
  @include media-breakpoint-up(lg) {
    font-size: $h3-font-size;
  }
}
%h4 {
  font-size: 1.8rem;
  @include media-breakpoint-up(lg) {
    font-size: $h4-font-size;
  }
}
%h5 {
  font-size: 1.8rem;
  @include media-breakpoint-up(lg) {
    font-size: $h5-font-size;
  }
}
%h6 {
  font-size: 1.4rem;
  @include media-breakpoint-up(lg) {
    font-size: $h6-font-size;
  }
}

%display-1 {
  font-size: 3rem;
  @include media-breakpoint-up(md) {
    font-size: 4rem;
  }
  @include media-breakpoint-up(lg) {
    font-size: $display1-size;
  }
}
%display-2 {
  font-size: 2.8rem;
  @include media-breakpoint-up(md) {
    font-size: 3.6rem;
  }
  @include media-breakpoint-up(lg) {
    font-size: $display2-size;
  }
}
%display-3 {
  font-size: 2rem;
  @include media-breakpoint-up(md) {
    font-size: 2.8rem;
  }
  @include media-breakpoint-up(lg) {
    font-size: $display3-size;
  }
}
%display-4 {
  font-size: 1.8rem;
  @include media-breakpoint-up(md) {
    font-size: 2.4rem;
  }
  @include media-breakpoint-up(lg) {
    font-size: $display4-size;
  }
}

.title-label {
  font-weight: $font-weight-medium;
  font-size: 1.4rem;
  color: $black;
}

/* Paragraphe */
%text {
  font-size: $font-size-base;
  font-weight: $font-weight-base;
}
%text-small {
  font-size: $small-font-size;
}

/* List */
ul, ol {
  padding: 0;
  list-style-position: inside;
  ul, ol {
    padding-left: 2.5rem;
  }
}
ul {
  list-style-type: '• ';
}
.list-links {
  margin-bottom: 0;
  list-style: none;
  li {
    position: relative;
    padding-left: 1rem;
    &:before {
      content: '';
      display: block;
      position: absolute;
      top: 1rem;
      left: 0;
      width: 0.4rem;
      height: 0.4rem;
      margin-right: 0.7rem;
      background: $black;
      border-radius: 100%;
    }
    & + li {
      margin-top: 1rem;
    }
    &.link-logout {
      padding: 0;
      &:before {
        display: none;
      }
    }
  }
  a {
    display: block;
    padding: 0.5rem 0;
    color: $black;
    font-weight: $font-weight-normal;
    font-size: 1.4rem;
    line-height: 1.6rem;
    text-decoration: none;
    &:hover, &.active {
      color: $primary;
    }
  }
}

/* Links */
a {
  font-weight: $link-font-weight;
  transition: 0.3s;
}
.link-secondary {
  font-size: $link-secondary-font-size;
  font-weight: $link-secondary-font-weight;
  text-decoration: $link-secondary-decoration;
  color: $link-secondary-color;
  background: none;
  border: 0;
  &:hover {
    text-decoration: $link-secondary-hover-decoration;
    color: $link-secondary-hover-color;
  }
  &:focus {
    outline: 0;
  }
}

/* Label */
%label {
  font-size: 1.2rem;
  font-weight: $font-weight-sbold;
}

/* Placeholder */
%placeholder {
  font-style: italic;
  font-size: 1.3rem;
  color: $input-placeholder-color;
}

/* Price */
.price {
  font-size: 1.1rem;
  font-weight: $price-font-weight;
  color: $price-color;
  span {
    font-size: 1.5rem;
  }

  &.promo {
    color: $price-promo-color;
  }

  @include media-breakpoint-up(md) {
    font-size: $price-font-size;
    span {
      font-size: $price-unit-font-size;
    }
  }
}
.price-sm {
  @extend .price;
  font-size: 1.4rem;
  font-weight: $font-weight-medium;
  span {
    font-size: 1.4rem;
  }
}
.price-md {
  @extend .price;
  font-size: 1.8rem;
  font-weight: $font-weight-sbold;
  span {
    font-size: 2.2rem;
  }
}
.price-lg {
  @extend .price;
  font-size: 1.5rem;
  font-weight: $font-weight-sbold;
  span {
    font-size: 2rem;
  }
  @include media-breakpoint-up(md) {
    font-size: 2rem;
    span {
      font-size: 2.8rem;
    }
  }
}
.price-old {
  font-size: 1.1rem;
  font-weight: $price-old-font-weight;
  text-decoration: line-through;
  color: $price-old-color;

  @include media-breakpoint-up(md) {
    font-size: $price-old-font-size;
  }
}
.price-sm-old {
  @extend .price-old;
  font-size: 1.2rem;
}
.price-md-old {
  @extend .price-old;
  font-size: 1.5rem;
}
.price-lg-old {
  @extend .price-old;
  font-size: 1.4rem;
  span {
    font-size: 1.4rem;
  }
  @include media-breakpoint-up(md) {
    font-size: 1.6rem;
    span {
      font-size: 2rem;
    }
  }
}

/* Notif form */
.form-text {
  font-size: 1.2rem;
  line-height: 1.4rem;
  color: $gray-800;
}
.required-fields {
  font-size: 1.2rem;
  font-style: italic;
  font-weight: $font-weight-medium;
  color: $black;
  &:before {
    content: '*';
    margin-right: 0.5rem;
  }
}
.alert {
  font-weight: $font-weight-sbold;
}
@each $color, $value in $theme-colors {
  .alert-#{$color} {
    color: $value;
  }
}

/* RESPONSIVE */
/***************************************/
@include media-breakpoint-down(md) {
  .lead {
    font-size: 1.7rem;
  }
}

@include media-breakpoint-down(sm) {
  .lead {
    font-size: 1.6rem;
  }
}
