/* ──────────────────────────────────────────────────────────────────
   CDN fallback — Bootstrap 3.4.1 essentials.

   Layout-critical rules (the fixed navbar, the container, the grid)
   live only on cdn.jsdelivr.net. Corporate networks — banks, payment
   processors, security vendors — routinely block public CDNs, and
   without these the navbar drops into document flow as an unstyled
   bullet list on top of the hero.

   Loaded BEFORE the Bootstrap link on purpose: identical specificity
   means the CDN wins whenever it is reachable, so this file changes
   nothing on a normal page load. It only holds the page together
   when Bootstrap never arrives.

   Values copied from Bootstrap 3.4.1. Keep them in sync if that
   version is ever bumped.
   ────────────────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

.container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
}

.row {
    margin-left: -15px;
    margin-right: -15px;
}

.row::before, .row::after,
.clearfix::before, .clearfix::after,
.navbar-header::before, .navbar-header::after,
.navbar-collapse::before, .navbar-collapse::after {
    content: " ";
    display: table;
}
.row::after,
.clearfix::after,
.navbar-header::after,
.navbar-collapse::after { clear: both; }

[class*="col-"] {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}

.text-center { text-align: center; }

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

/* Fixed navbar — the rule whose absence breaks the page most visibly. */
.navbar { position: relative; min-height: 50px; margin-bottom: 20px; }
.navbar-fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}
.navbar-header { position: relative; }
.navbar-brand { float: left; display: block; }
.navbar-nav { margin: 0; padding-left: 0; list-style: none; }
a { text-decoration: none; }
.navbar-nav > li > a {
    display: block;
    position: relative;
    padding: 10px 15px;
    line-height: 20px;
}
.navbar-toggle { display: block; float: right; background: transparent; border: 1px solid transparent; }
.form-group { margin-bottom: 15px; }
.form-control { display: block; width: 100%; }
.btn { display: inline-block; text-align: center; vertical-align: middle; cursor: pointer; }

@media (min-width: 768px) {
    .container { width: 750px; }
    .col-sm-6 { float: left; width: 50%; }
    .navbar-nav { float: left; }
    .navbar-nav > li { float: left; }
    .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; }
    .navbar-right { float: right !important; }
    .navbar-toggle { display: none; }
    .navbar-collapse { width: auto; border-top: 0; box-shadow: none; }
    .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; }
}

@media (min-width: 992px) {
    .container { width: 970px; }
    .col-md-3  { float: left; width: 25%; }
    .col-md-6  { float: left; width: 50%; }
    .col-md-12 { float: left; width: 100%; }
}

@media (min-width: 1200px) {
    .container { width: 1170px; }
    .col-lg-12 { float: left; width: 100%; }
}
