@mixin img-responsive {
   max-width: 100%;
   height: auto !important;
   display: block;
}

@mixin underline-default {
   text-decoration: underline;

   &:hover,
   &:active,
   &:focus {
      text-decoration: none;
   }
}

@mixin underline-hover {
   text-decoration: none;

   &:hover,
   &:active,
   &:focus {
      text-decoration: underline;
   }
}

@mixin underline-never {
   text-decoration: none;

   &:hover,
   &:active,
   &:focus {
      text-decoration: none;
   }
}

@mixin fonticon {
   display: inline-block;
   font: normal normal normal 14px/1 "icons";
   font-size: inherit;
   text-decoration: inherit;
   text-rendering: optimizeLegibility;
   text-transform: none;
   -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
}

@mixin truncate {
   width: 100%;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

@mixin delete-after {
   &::after {
      content: none;
      display: none;
   }
}

@mixin delete-before {
   &::before {
      content: none;
      display: none;
   }
}

@mixin list-inline {
   padding-left: 0;
   list-style: none;

   > li {
      display: inline-block;
   }
}

@mixin list-unstyled {
   list-style-type: none;
   margin: 0;
   padding-left: 0;

   li {
      @include delete-before;
   }
}

@mixin link($color, $color-hover, $underline: true) {
   a {
      color: $color;
      text-decoration: none;
      @if $underline {
         border-bottom: 1px solid transparentize($color, 0);
      } @else {
         border-bottom: 1px solid transparentize($color, 1);
      }
      @include transition(all .2s);

      &:hover,
      &:active,
      &:focus {
         color: $color-hover;
         @if $underline {
            border-bottom: 1px solid transparentize($color-hover, 1);
         } @else {
            border-bottom: 1px solid transparentize($color-hover, 0);
         }
      }
   }
}

@mixin haf {
   &:hover,
   &:active,
   &:focus {
      @content;
   }
}

@mixin flg {
   display: table;
   width: 100%;

   .flg-img,
   .flg-body {
      display: table-cell;
      vertical-align: middle;
   }

   .flg-img {
      padding-right: 10px;

      > img {
         display: block;
         max-width: none;
      }
   }

   .flg-body {
      width: 100%;
   }
}

@mixin placeholder-color($color) {
   &::-webkit-input-placeholder {
      color: $color;
   }

   &:-moz-placeholder {
      color: $color;
   }

   &::-moz-placeholder {
      color: $color;
   }

   &:-ms-input-placeholder {
      color: $color;
   }
}

@mixin disable-spinner {
   -moz-appearance: textfield;

   &::-webkit-inner-spin-button,
   &::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0;
   }
}
