// -----------------------------------------------------------------------------
// This file contains CSS helper classes.
// -----------------------------------------------------------------------------

/**
 * Clear inner floats
 */
.clearfix::after {
  clear: both;
  content: '';
  display: table;
}
.clearer {
  clear: both;
}

/**
 * Main content containers
 * 1. Make the container full-width with a maximum width
 * 2. Center it in the viewport
 * 3. Leave some space on the edges, especially valuable on small screens
 */
.container {
  max-width: $max-width; /* 1 */
  margin-left: auto; /* 2 */
  margin-right: auto; /* 2 */
  padding-left: 10px; /* 3 */
  padding-right: 10px; /* 3 */
  width: 100%; /* 1 */
  box-sizing: border-box;
 }

.nav-toolbar {
  display: flex;
  justify-content: space-between;
  .nav-left {
    display: flex;
    justify-content: flex-start;
    flex: 1 1 auto;
  }
  .nav-right {
    display: flex;
    justify-content: center;
    @include text-align(right);
  }
}

.a-center {
  text-align: center;
}
.a-right {
  @include text-align(right);
}
.a-left {
  @include text-align(left);
}

/**
 * Hide text while making it readable for screen readers
 * 1. Needed in WebKit-based browsers because of an implementation bug;
 *    See: https://code.google.com/p/chromium/issues/detail?id=457146
 */
.hide-text {
  overflow: hidden;
  padding: 0; /* 1 */
  text-indent: 101%;
  white-space: nowrap;
}

/**
 * Hide element while making it readable for screen readers
 * Shamelessly borrowed from HTML5Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133
 */
.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.hidden {
  display: none;
}

/**
 * Icon helper
 */
.icon {
  flex-shrink: 0;
  align-self: center;
  display: inline-block;
  cursor: pointer;
  background-color: $icon-color;
  // Wait for browser support
  // mask-repeat: no-repeat;
  // mask-size: $icon-size;
  // mask-position: 50% 50%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: $icon-size;
  -webkit-mask-position: 50% 50%;
  border: none;
  margin: 0;
  padding: 0;
  @include text-align(left);
  text-indent: -999em;
  @include direction(ltr);
  width: $icon-width;
  height: $icon-height;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
