/*!
 * Bootstrap Grid System (Optimized)
 * Based on Bootstrap v3.0.0
 * Optimized for performance and maintainability
 */

/*! normalize.css v2.1.0 | MIT License | git.io/normalize */

/* ==================================== */
/* Base Grid System                     */
/* ==================================== */

.container {
    position: relative;
    max-width: 100%;
    padding: 0 20px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px;
    text-align: center;
}

/* ==================================== */
/* Grid Column System                   */
/* ==================================== */

[class^="col-"] {
    position: relative;
    min-height: 1px;
    padding: 0 20px;
    flex: 1 1 auto;
}

[class^="col-xs-"],
[class^="col-sm-"],
[class^="col-md-"],
[class^="col-lg-"] {
    float: left;
}

/* Grid Width Definitions */
.col-xs-1  { width: 8.3333%;  }
.col-xs-2  { width: 16.6667%; }
.col-xs-3  { width: 25%;  }
.col-xs-4  { width: 33.3333%; }
.col-xs-5  { width: 41.6667%; }
.col-xs-6  { width: 50%;  }
.col-xs-7  { width: 58.3333%; }
.col-xs-8  { width: 66.6667%; }
.col-xs-9  { width: 75%;  }
.col-xs-10 { width: 83.3333%; }
.col-xs-11 { width: 91.6667%; }
.col-xs-12 { width: 100%; }

/* ==================================== */
/* Media Queries for Different Screens  */
/* ==================================== */

/* Tablets & Small Screens */
@media (min-width: 768px) {
    .container { max-width: 750px; }

    /* Define widths for .col-sm-* */
    [class^="col-sm-"] { float: left; }
    .col-sm-1  { width: 8.3333%;  }
    .col-sm-2  { width: 16.6667%; }
    .col-sm-3  { width: 25%;  }
    .col-sm-4  { width: 33.3333%; }
    .col-sm-5  { width: 41.6667%; }
    .col-sm-6  { width: 50%;  }
    .col-sm-7  { width: 58.3333%; }
    .col-sm-8  { width: 66.6667%; }
    .col-sm-9  { width: 75%;  }
    .col-sm-10 { width: 83.3333%; }
    .col-sm-11 { width: 91.6667%; }
    .col-sm-12 { width: 100%; }
}

/* Medium Screens (Desktops) */
@media (min-width: 992px) {
    .container { max-width: 970px; }

    /* Define widths for .col-md-* */
    [class^="col-md-"] { float: left; }
    .col-md-1  { width: 8.3333%;  }
    .col-md-2  { width
