/* Minimal Bootstrap-3 compatibility layer for this site.
   Keeps existing templates functional without loading Bootstrap 3. */

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

/* Element resets missing from the compiled theme CSS */
html, body {
    margin: 0;
    padding: 0;
}

header, nav, section, main, footer, article, aside {
    display: block;
    margin: 0;
    padding: 0;
}

/* Dropdown visibility — Bootstrap 3 base rules stripped from compiled theme */
.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    list-style: none;
    background-clip: padding-box;
}

.open > .dropdown-menu {
    display: block;
}

.navbar-right .dropdown-menu {
    right: 0;
    left: auto;
}

@media (max-width: 767px) {
    .navbar-nav .open .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: transparent;
        border: 0;
        box-shadow: none;
    }
}

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

@media (min-width: 768px) {
    .container {
        width: 750px;
    }
}

@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}

@media (min-width: 1200px) {
    .container {
        width: 1170px;
    }
}

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

.row::before,
.row::after,
.container::before,
.container::after,
[class*="col-"]::before,
[class*="col-"]::after {
    display: table;
    content: " ";
}

.row::after,
.container::after,
[class*="col-"]::after {
    clear: both;
}

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

.col-xs-5,
.col-xs-7 {
    float: left;
}

.col-xs-5 {
    width: 41.66666667%;
}

.col-xs-7 {
    width: 58.33333333%;
}

@media (min-width: 768px) {
    .col-sm-3,
    .col-sm-4,
    .col-sm-5,
    .col-sm-6,
    .col-sm-7,
    .col-sm-8,
    .col-sm-12 {
        float: left;
    }

    .col-sm-3 {
        width: 25%;
    }

    .col-sm-4 {
        width: 33.33333333%;
    }

    .col-sm-5 {
        width: 41.66666667%;
    }

    .col-sm-6 {
        width: 50%;
    }

    .col-sm-7 {
        width: 58.33333333%;
    }

    .col-sm-8 {
        width: 66.66666667%;
    }

    .col-sm-12 {
        width: 100%;
    }

    .col-sm-offset-3 {
        margin-left: 25%;
    }
}

@media (min-width: 992px) {
    .col-md-3,
    .col-md-4,
    .col-md-6,
    .col-md-8,
    .col-md-9,
    .col-md-10,
    .col-md-12 {
        float: left;
    }

    .col-md-3 {
        width: 25%;
    }

    .col-md-4 {
        width: 33.33333333%;
    }

    .col-md-6 {
        width: 50%;
    }

    .col-md-8 {
        width: 66.66666667%;
    }

    .col-md-9 {
        width: 75%;
    }

    .col-md-10 {
        width: 83.33333333%;
    }

    .col-md-12 {
        width: 100%;
    }

    .col-md-offset-1 {
        margin-left: 8.33333333%;
    }
}

@media (min-width: 1200px) {
    .col-lg-4,
    .col-lg-8 {
        float: left;
    }

    .col-lg-4 {
        width: 33.33333333%;
    }

    .col-lg-8 {
        width: 66.66666667%;
    }

    .col-lg-offset-2 {
        margin-left: 16.66666667%;
    }
}

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

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

.pull-left {
    float: left !important;
}

.pull-right {
    float: right !important;
}

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

.visible-xs,
.visible-sm,
.visible-lg {
    display: none !important;
}

@media (max-width: 767px) {
    .visible-xs {
        display: block !important;
    }

    .hidden-xs {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .hidden-sm {
        display: none !important;
    }

    .visible-sm {
        display: block !important;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .hidden-md {
        display: none !important;
    }
}

@media (min-width: 1200px) {
    .hidden-lg {
        display: none !important;
    }

    .visible-lg {
        display: block !important;
    }
}

.collapse {
    display: none;
}

.collapse.in {
    display: block;
}

@media (min-width: 768px) {
    .navbar-collapse.collapse {
        display: block !important;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important;
    }
}

.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px dashed;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

/* Navigation list baseline reset (normally provided by Bootstrap core). */
.nav {
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
}

.nav > li {
    position: relative;
    display: block;
}
