/*
 * Bootstrap 4 migration bridge
 *
 * This stylesheet keeps common Bootstrap 3-only classes functional
 * while the site runs on Bootstrap 4 styles.
 */

/* Restore BS3 utility aliases that were removed in BS4 */
.pull-left { float: left !important; }
.pull-right { float: right !important; }
.center-block { display: block; margin-right: auto; margin-left: auto; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }
.img-responsive { display: block; max-width: 100%; height: auto; }

/* BS3 button variants/sizes removed in BS4 */
.btn-default {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #ced4da;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #adb5bd;
}
.btn-xs {
    padding: 0.15rem 0.4rem;
    font-size: 0.75rem;
    line-height: 1.4;
    border-radius: 0.2rem;
}

/* BS3 input group button wrapper */
.input-group-btn {
    display: flex;
    align-items: stretch;
}
.input-group-btn > .btn,
.input-group-btn > .btn-group {
    position: relative;
    z-index: 2;
}
.input-group-btn > .btn + .btn,
.input-group-btn > .btn + .btn-group,
.input-group-btn > .btn-group + .btn,
.input-group-btn > .btn-group + .btn-group {
    margin-left: -1px;
}

/* BS3 navbar classes on top of BS4 */
.navbar.navbar-inverse {
    display: block;
    min-height: 50px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 0;
    background-color: #222;
    border-color: #080808;
}
.navbar.navbar-inverse .container,
.navbar.navbar-inverse .container-fluid {
    display: block;
}
.navbar.navbar-inverse .navbar-header {
    float: left;
}
.navbar.navbar-inverse .navbar-brand {
    color: #9d9d9d;
    float: left;
    height: 50px;
    padding: 15px;
    font-size: 18px;
    line-height: 20px;
}
.navbar.navbar-inverse .navbar-brand:hover,
.navbar.navbar-inverse .navbar-brand:focus {
    color: #ffffff;
}
.navbar.navbar-inverse .navbar-nav {
    display: block;
    margin: 0;
    padding-left: 0;
    list-style: none;
}
.navbar.navbar-inverse .navbar-nav > li {
    float: left;
}
.navbar.navbar-inverse .navbar-nav > li > a {
    color: #9d9d9d;
    padding: 15px;
}
.navbar.navbar-inverse .navbar-nav > li > a:hover,
.navbar.navbar-inverse .navbar-nav > li > a:focus {
    color: #ffffff;
    background-color: transparent;
}
.navbar.navbar-inverse .navbar-nav > .open > a,
.navbar.navbar-inverse .navbar-nav > .open > a:hover,
.navbar.navbar-inverse .navbar-nav > .open > a:focus {
    color: #ffffff;
    background-color: #080808;
}
.navbar-fixed-top,
.navbar-fixed-bottom {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1030;
}
.navbar-fixed-top { top: 0; }
.navbar-fixed-bottom { bottom: 0; }

/* BS3 mobile toggle icon */
.navbar-toggle {
    position: relative;
    float: right;
    padding: 9px 10px;
    margin-top: 8px;
    margin-right: 15px;
    margin-bottom: 8px;
    background-color: transparent;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}
.navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
    margin-top: 4px;
}
.navbar-inverse .navbar-toggle {
    border-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
    background-color: #fff;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
    background-color: #333;
}

/* BS3 navbar list/link markup still used on top of BS4 dark navbar classes */
.navbar.navbar-dark.bg-dark .navbar-header {
    float: left;
}
.navbar.navbar-dark.bg-dark .navbar-brand {
    color: #9d9d9d;
    float: left;
    height: 50px;
    padding: 15px;
    font-size: 18px;
    line-height: 20px;
}
.navbar.navbar-dark.bg-dark .navbar-brand:hover,
.navbar.navbar-dark.bg-dark .navbar-brand:focus {
    color: #ffffff;
}
.navbar.navbar-dark.bg-dark .navbar-nav {
    display: block;
    margin: 0;
    padding-left: 0;
    list-style: none;
}
.navbar.navbar-dark.bg-dark .navbar-nav > li {
    float: left;
}
.navbar.navbar-dark.bg-dark .navbar-nav > li > a {
    color: #9d9d9d;
    padding: 15px;
    display: block;
}
.navbar.navbar-dark.bg-dark .navbar-nav > li > a:hover,
.navbar.navbar-dark.bg-dark .navbar-nav > li > a:focus {
    color: #ffffff;
    background-color: transparent;
    text-decoration: none;
}
.navbar.navbar-dark.bg-dark .navbar-nav > .open > a,
.navbar.navbar-dark.bg-dark .navbar-nav > .open > a:hover,
.navbar.navbar-dark.bg-dark .navbar-nav > .open > a:focus {
    color: #ffffff;
    background-color: #080808;
}

/* Caret helper (still used in legacy dropdown markup) */
.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px dashed;
    border-top: 4px solid \9;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

/* Legacy labels from BS3 */
.label {
    display: inline;
    padding: 0.2em 0.6em 0.3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25em;
}
.label-default { background-color: #777; }
.label-primary { background-color: #007bff; }
.label-success { background-color: #28a745; }
.label-info { background-color: #17a2b8; }
.label-warning { background-color: #ffc107; color: #212529; }
.label-danger { background-color: #dc3545; }

/* Ensure legacy dropdown items without .dropdown-item still look correct */
.dropdown-menu > li > a {
    display: block;
    width: 100%;
    padding: 0.25rem 1.5rem;
    clear: both;
    font-weight: 400;
    color: #212529;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa;
}

/* Keep BS3 "well" semantics with BS4 tokens */
.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f8f9fa;
    border: 1px solid #e3e3e3;
    border-radius: 0.25rem;
}
.well-sm {
    padding: 9px;
    border-radius: 0.2rem;
}
.well-lg {
    padding: 24px;
    border-radius: 0.3rem;
}

/* Bootstrap 3 glyphicons used throughout the site */
@font-face {
    font-family: "Glyphicons Halflings";
    src: url("../fonts/glyphicons-halflings-regular.eot");
    src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),
         url("../fonts/glyphicons-halflings-regular.woff") format("woff"),
         url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"),
         url("../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg");
}
.glyphicon {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "Glyphicons Halflings";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.glyphicon-search:before { content: "\\e003"; }
.glyphicon-th:before { content: "\\e011"; }
.glyphicon-th-list:before { content: "\\e012"; }
.glyphicon-list-alt:before { content: "\\e032"; }
.glyphicon-info-sign:before { content: "\\e086"; }
.glyphicon-calendar:before { content: "\\1f4c5"; }
.glyphicon-pushpin:before { content: "\\1f4cc"; }
.glyphicon-lock:before { content: "\\1f512"; }

/* XS grid helpers removed in BS4 but used in older pages */
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6,
.col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    float: left;
}
.col-xs-12 { width: 100%; }
.col-xs-11 { width: 91.66666667%; }
.col-xs-10 { width: 83.33333333%; }
.col-xs-9 { width: 75%; }
.col-xs-8 { width: 66.66666667%; }
.col-xs-7 { width: 58.33333333%; }
.col-xs-6 { width: 50%; }
.col-xs-5 { width: 41.66666667%; }
.col-xs-4 { width: 33.33333333%; }
.col-xs-3 { width: 25%; }
.col-xs-2 { width: 16.66666667%; }
.col-xs-1 { width: 8.33333333%; }
