  /* ==========================================================================
     Base styles: opinionated defaults
     ========================================================================== */

  html {
      color: #222;
      font-size: 1em;
      line-height: 1.4;
  }

  /*
   * Remove text-shadow in selection highlight: 
   * These selection rule sets have to be separate.
   * Customize the background color to match your design.
   */

  ::-moz-selection {
      background: #b3d4fc;
      text-shadow: none;
  }

  ::selection {
      background: #b3d4fc;
      text-shadow: none;
  }

  /*
   * A better looking default horizontal rule
   */

  hr {
      display: block;
      height: 1px;
      border: 0;
      border-top: 1px solid #ccc;
      margin: 1em 0;
      padding: 0;
  }

  /*
   * Remove the gap between images, videos, audio and canvas and the bottom of
   * their containers:
   */

  audio,
  canvas,
  img,
  svg,
  video {
      vertical-align: middle;
  }

  /*
   * Remove default fieldset styles.
   */

  fieldset {
      border: 0;
      margin: 0;
      padding: 0;
  }

  /*
   * Allow only vertical resizing of textareas.
   */

  textarea {
      resize: vertical;
  }


  /* ==========================================================================
     Author's custom styles
     ========================================================================== */








  /* ==========================================================================
     Utilities classes
     ========================================================================== */

  /*
   * Hide from both screenreaders and browsers:
   */

  .hidden {
      display: none !important;
      visibility: hidden;
  }

  /*
   * Hide only visually, but have it available for screenreaders:
   */

  .visuallyhidden {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
  }

  /*
   * Extends the .visuallyhidden class to allow the element to be focusable
   * when navigated to via the keyboard:
   */

  .visuallyhidden.focusable:active,
  .visuallyhidden.focusable:focus {
      clip: auto;
      height: auto;
      margin: 0;
      overflow: visible;
      position: static;
      width: auto;
  }

  /*
   * Hide visually and from screenreaders, but maintain layout
   */

  .invisible {
      visibility: hidden;
  }

  /*
   * Clearfix: contain floats
   * Updated clearfix hack for IE8 and Up
   */
  .group:after {
      content: "";
      display: table;
      clear: both;
  }

  /**
   * Align text to left
   */
  .text-left {text-align: left !important; }

  /**
   * Align text to right
   */
  .text-right {text-align: right !important; }

  /**
   * Align text to center
   */
  .text-center {text-align: center !important; }

  /**
   * Align text to justify
   */
  .text-justify {text-align: justify !important; }

  /**
   * Hide elements
   */
  .hide {display: none; }


  /* ==========================================================================
     EXAMPLE Media Queries for Responsive Design.
     These examples override the primary ('mobile first') styles.
     Modify as content requires.
     ========================================================================== */

  @media only screen and (min-width: 35em) {
      /* Style adjustments for viewports that meet the condition */
  }

  @media print,
          (-o-min-device-pixel-ratio: 5/4),
          (-webkit-min-device-pixel-ratio: 1.25),
          (min-resolution: 120dpi) {
       /* Style adjustments for high resolution devices */
   }