//
// Responsive: Utility classes
// --------------------------------------------------


// IE10 in Windows (Phone) 8
//
// Support for responsive views via media queries is kind of borked in IE10, for
// Surface/desktop in split view and for Windows Phone 8. This particular fix
// must be accompanied by a snippet of JavaScript to sniff the user agent and
// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
// our Getting Started page for more information on this bug.
//
// For more information, see the following:
//
// Issue: https://github.ai1ec-com/twbs/bootstrap/issues/10497
// Docs: http://getbootstrap.ai1ec-com/getting-started/#browsers
// Source: http://timkadlec.ai1ec-com/2012/10/ie10-snap-mode-and-responsive-design/

@-ms-viewport {
  width: device-width;
}


// Visibility utilities

.ai1ec-visible-xs {
  .ai1ec-responsive-invisibility();
  @media (max-width: @screen-xs-max) {
    .ai1ec-responsive-visibility();
  }
  &.ai1ec-visible-sm {
    @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
      .ai1ec-responsive-visibility();
    }
  }
  &.ai1ec-visible-md {
    @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
      .ai1ec-responsive-visibility();
    }
  }
  &.ai1ec-visible-lg {
    @media (min-width: @screen-lg-min) {
      .ai1ec-responsive-visibility();
    }
  }
}
.ai1ec-visible-sm {
  .ai1ec-responsive-invisibility();
  &.ai1ec-visible-xs {
    @media (max-width: @screen-xs-max) {
      .ai1ec-responsive-visibility();
    }
  }
  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
    .ai1ec-responsive-visibility();
  }
  &.ai1ec-visible-md {
    @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
      .ai1ec-responsive-visibility();
    }
  }
  &.ai1ec-visible-lg {
    @media (min-width: @screen-lg-min) {
      .ai1ec-responsive-visibility();
    }
  }
}
.ai1ec-visible-md {
  .ai1ec-responsive-invisibility();
  &.ai1ec-visible-xs {
    @media (max-width: @screen-xs-max) {
      .ai1ec-responsive-visibility();
    }
  }
  &.ai1ec-visible-sm {
    @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
      .ai1ec-responsive-visibility();
    }
  }
  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
    .ai1ec-responsive-visibility();
  }
  &.ai1ec-visible-lg {
    @media (min-width: @screen-lg-min) {
      .ai1ec-responsive-visibility();
    }
  }
}
.ai1ec-visible-lg {
  .ai1ec-responsive-invisibility();
  &.ai1ec-visible-xs {
    @media (max-width: @screen-xs-max) {
      .ai1ec-responsive-visibility();
    }
  }
  &.ai1ec-visible-sm {
    @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
      .ai1ec-responsive-visibility();
    }
  }
  &.ai1ec-visible-md {
    @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
      .ai1ec-responsive-visibility();
    }
  }
  @media (min-width: @screen-lg-min) {
    .ai1ec-responsive-visibility();
  }
}

.ai1ec-hidden-xs {
  .ai1ec-responsive-visibility();
  @media (max-width: @screen-xs-max) {
    .ai1ec-responsive-invisibility();
  }
  &.ai1ec-hidden-sm {
    @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
      .ai1ec-responsive-invisibility();
    }
  }
  &.ai1ec-hidden-md {
    @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
      .ai1ec-responsive-invisibility();
    }
  }
  &.ai1ec-hidden-lg {
    @media (min-width: @screen-lg-min) {
      .ai1ec-responsive-invisibility();
    }
  }
}
.ai1ec-hidden-sm {
  .ai1ec-responsive-visibility();
  &.ai1ec-hidden-xs {
    @media (max-width: @screen-xs-max) {
      .ai1ec-responsive-invisibility();
    }
  }
  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
    .ai1ec-responsive-invisibility();
  }
  &.ai1ec-hidden-md {
    @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
      .ai1ec-responsive-invisibility();
    }
  }
  &.ai1ec-hidden-lg {
    @media (min-width: @screen-lg-min) {
      .ai1ec-responsive-invisibility();
    }
  }
}
.ai1ec-hidden-md {
  .ai1ec-responsive-visibility();
  &.ai1ec-hidden-xs {
    @media (max-width: @screen-xs-max) {
      .ai1ec-responsive-invisibility();
    }
  }
  &.ai1ec-hidden-sm {
    @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
      .ai1ec-responsive-invisibility();
    }
  }
  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
    .ai1ec-responsive-invisibility();
  }
  &.ai1ec-hidden-lg {
    @media (min-width: @screen-lg-min) {
      .ai1ec-responsive-invisibility();
    }
  }
}
.ai1ec-hidden-lg {
  .ai1ec-responsive-visibility();
  &.ai1ec-hidden-xs {
    @media (max-width: @screen-xs-max) {
      .ai1ec-responsive-invisibility();
    }
  }
  &.ai1ec-hidden-sm {
    @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
      .ai1ec-responsive-invisibility();
    }
  }
  &.ai1ec-hidden-md {
    @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
      .ai1ec-responsive-invisibility();
    }
  }
  @media (min-width: @screen-lg-min) {
    .ai1ec-responsive-invisibility();
  }
}

// Print utilities
.ai1ec-visible-print {
  .ai1ec-responsive-invisibility();
}

@media print {
  .ai1ec-visible-print {
    .ai1ec-responsive-visibility();
  }
  .ai1ec-hidden-print {
    .ai1ec-responsive-invisibility();
  }
}
