.is-capitalized {
  text-transform: capitalize !important;
}

.is-lowercase {
  text-transform: lowercase !important;
}

.is-uppercase {
  text-transform: uppercase !important;
}

.is-italic {
  font-style: italic !important;
}

@each $name, $pair in $colors {
  $color: nth($pair, 1);

  .has-text-#{$name} {
    color: $color !important;
  }

  a.has-text-#{$name} {
    &:hover,
    &:focus {
      color: darken($color, 10%) !important;
    }
  }

  .has-background-#{$name} {
    background-color: $color !important;
  }
}

.is-marginless {
  margin: 0 !important;
}

.is-paddingless {
  padding: 0 !important;
}

.is-radiusless {
  border-radius: 0 !important;
}

.is-shadowless {
  box-shadow: none !important;
}

.is-unselectable {
  @include unselectable;
}

$alignments: ("centered": "center", "justified": "justify", "left": "left", "right": "right");

@each $alignment, $text-align in $alignments {
  .has-text-#{$alignment} {
    text-align: #{$text-align} !important;
  }
}

@each $alignment, $text-align in $alignments {
  @include mobile {
    .has-text-#{$alignment}-mobile {
      text-align: #{$text-align} !important;
    }
  }


  @include tablet {
    .has-text-#{$alignment}-tablet {
      text-align: #{$text-align} !important;
    }
  }


  @include tablet-only {
    .has-text-#{$alignment}-tablet-only {
      text-align: #{$text-align} !important;
    }
  }


  @include touch {
    .has-text-#{$alignment}-touch {
      text-align: #{$text-align} !important;
    }
  }


  @include desktop {
    .has-text-#{$alignment}-desktop {
      text-align: #{$text-align} !important;
    }
  }


  @include desktop-only {
    .has-text-#{$alignment}-desktop-only {
      text-align: #{$text-align} !important;
    }
  }


  @include widescreen {
    .has-text-#{$alignment}-widescreen {
      text-align: #{$text-align} !important;
    }
  }


  @include widescreen-only {
    .has-text-#{$alignment}-widescreen-only {
      text-align: #{$text-align} !important;
    }
  }


  @include fullhd {
    .has-text-#{$alignment}-fullhd {}
  }
}

$displays: "block" "flex" "inline" "inline-block" "inline-flex";

@each $display in $displays {
  .is-#{$display} {
    display: #{$display} !important;
  }

  @include mobile {
    .is-#{$display}-mobile {
      display: #{$display} !important;
    }
  }


  @include tablet {
    .is-#{$display}-tablet {
      display: #{$display} !important;
    }
  }


  @include tablet-only {
    .is-#{$display}-tablet-only {
      display: #{$display} !important;
    }
  }


  @include touch {
    .is-#{$display}-touch {
      display: #{$display} !important;
    }
  }


  @include desktop {
    .is-#{$display}-desktop {
      display: #{$display} !important;
    }
  }


  @include desktop-only {
    .is-#{$display}-desktop-only {
      display: #{$display} !important;
    }
  }


  @include widescreen {
    .is-#{$display}-widescreen {
      display: #{$display} !important;
    }
  }


  @include widescreen-only {
    .is-#{$display}-widescreen-only {
      display: #{$display} !important;
    }
  }


  @include fullhd {
    .is-#{$display}-fullhd {
      display: #{$display} !important;
    }
  }
}

.is-hidden {
  display: none !important;
}

@include mobile {
  .is-hidden-mobile {
    display: none !important;
  }
}

@include tablet {
  .is-hidden-tablet {
    display: none !important;
  }
}

@include tablet-only {
  .is-hidden-tablet-only {
    display: none !important;
  }
}

@include touch {
  .is-hidden-touch {
    display: none !important;
  }
}

@include desktop {
  .is-hidden-desktop {
    display: none !important;
  }
}

@include desktop-only {
  .is-hidden-desktop-only {
    display: none !important;
  }
}

@include widescreen {
  .is-hidden-widescreen {
    display: none !important;
  }
}

@include widescreen-only {
  .is-hidden-widescreen-only {
    display: none !important;
  }
}

@include fullhd {
  .is-hidden-fullhd {
    display: none !important;
  }
}
