/*
 * Temporary compatibility bridge for the existing FIDO templates.
 * Bootstrap 5.3 is the only Bootstrap runtime; these rules preserve the
 * Bootstrap 3 presentation hooks until the planned UX redesign replaces them.
 */
body { font-size: 14px; line-height: 1.42857143; }
.panel {
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: var(--bs-border-radius);
}
.panel-body { padding: 15px; }
.panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-top-left-radius: calc(var(--bs-border-radius) - 1px);
    border-top-right-radius: calc(var(--bs-border-radius) - 1px);
}
.panel-title { margin: 0; font-size: 16px; }
.panel-footer {
    padding: 10px 15px;
    border-top: 1px solid var(--bs-border-color);
    border-bottom-left-radius: calc(var(--bs-border-radius) - 1px);
    border-bottom-right-radius: calc(var(--bs-border-radius) - 1px);
}
.panel-default { border-color: var(--bs-border-color); }
.panel-default > .panel-heading { border-color: var(--bs-border-color); }
.panel-success { border-color: var(--bs-success); }
.panel-warning { border-color: var(--bs-warning); }
.panel-danger { border-color: var(--bs-danger); }
.panel-info { border-color: var(--bs-info); }
.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
}
.well-sm { padding: 9px; }
.btn {
    --bs-btn-font-size: 14px;
    --bs-btn-line-height: 1.42857143;
    --bs-btn-border-radius: 4px;
}
.btn-default {
    --bs-btn-color: #333;
    --bs-btn-bg: #fff;
    --bs-btn-border-color: #ccc;
    --bs-btn-hover-color: #333;
    --bs-btn-hover-bg: #e6e6e6;
    --bs-btn-hover-border-color: #adadad;
    --bs-btn-active-color: #333;
    --bs-btn-active-bg: #e6e6e6;
    --bs-btn-active-border-color: #adadad;
    --bs-btn-disabled-color: #333;
    --bs-btn-disabled-bg: #fff;
    --bs-btn-disabled-border-color: #ccc;
}
.btn-xs { --bs-btn-padding-y: .125rem; --bs-btn-padding-x: .375rem; --bs-btn-font-size: .75rem; }
.btn-block { display: block; width: 100%; }
.btn-block + .btn-block { margin-top: 5px; }
.pull-left { float: left !important; }
.pull-right { float: right !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.img-responsive { display: block; max-width: 100%; height: auto; }
.img-rounded { border-radius: var(--bs-border-radius); }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.form-group { margin-bottom: 1rem; }
.form-horizontal .form-group { display: flex; flex-wrap: wrap; }
.control-label { padding-top: calc(.375rem + 1px); }
@media (min-width: 768px) {
    /* Bootstrap 3 applied column gutters inside horizontal form groups. In
     * Bootstrap 5 the gutter selector is tied to .row, so legacy labels and
     * controls otherwise touch with a zero-pixel gap. */
    .form-horizontal .form-group > .control-label { padding-right: .5rem; }
    .form-horizontal .form-group > .control-label + * { padding-left: .5rem; }
}
.form-horizontal .checkb-group .checkbox > label {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding-left: .75rem;
    padding-right: .75rem;
}
.form-horizontal .checkb-group .checkbox input[type="checkbox"] {
    position: static;
    float: none;
    flex: 0 0 auto;
    margin: .2rem 0 0;
}

/* Vecery statistics used Bootstrap 3's floated columns and an absolutely
 * positioned rating. Bootstrap 5 columns require a row, while the rating
 * belongs in normal flow so the fixed navbar can never cover it. */
.fido-rating-header,
.statistics-summary-header {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.fido-rating-heading,
.statistics-summary-title {
    flex: 1 1 auto;
    min-width: 0;
}
.fido-rating-block,
.statistics-summary-rating {
    flex: 0 0 auto;
    margin-left: auto;
    text-align: center;
}
.fido-rating-block .moje-hodnoceni,
.statistics-summary-rating .moje-hodnoceni {
    position: static;
    width: auto;
    margin: 0 0 .25rem;
}
.fido-rating-block .hodnoceni-klubu,
.statistics-summary-rating .hodnoceni-klubu {
    position: static;
    display: inline-block;
    width: auto;
    margin: 0;
    text-align: center;
    white-space: nowrap;
    float: none !important;
}
.fido-rating-block .hodnoceni-klubu.osobni-hodnoceni {
    position: static;
    width: auto;
    margin: 0;
    opacity: 1;
}
.fido-rating-block .hodnoceni-klubu.osobni-hodnoceni .hodnoceni-btn {
    top: 0;
}
.statistics-user-panels {
    align-items: flex-start;
}
@media (max-width: 767.98px) {
    .fido-rating-header,
    .statistics-summary-header {
        flex-direction: column;
    }
    .fido-rating-block,
    .statistics-summary-rating {
        width: 100%;
        margin-left: 0;
    }
}
.help-block { display: block; margin-top: .25rem; color: var(--bs-secondary-color); }
.has-error .form-control { border-color: var(--bs-danger); }
.form-control,
.form-select {
    font-size: 14px;
    line-height: 1.42857143;
    border-radius: 4px;
}
.input-group-addon {
    display: flex;
    align-items: center;
    padding: .375rem .75rem;
    color: var(--bs-body-color);
    background: var(--bs-tertiary-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
}
.input-group-btn { display: flex; }
.bootstrap-datetimepicker-widget .datepicker { display: block; }
.input-group > .input-group-btn:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.input-group > .input-group-btn:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.table-condensed > :not(caption) > * > * { padding: .3rem; }
.nav > li { position: relative; }
.navbar-fixed-top { position: fixed; inset: 0 0 auto; z-index: 1030; }
.navbar-header { min-height: 55px; }
.navbar-toggle { margin-left: auto; }
.navbar-user-menu { flex-shrink: 0; }
.navbar-user-menu > .dropdown-menu { max-width: calc(100vw - 1rem); }

@media (min-width: 992px) {
    /* Bootstrap 3's navbar-right floated the complete application menu.
     * Keep INFO/SPRAVA, shortcuts and the user menu together on the right. */
    .navbar-right {
        flex-grow: 0;
        justify-content: flex-end;
        margin-left: auto;
    }
    .navbar-user-menu > .dropdown-menu {
        right: 0;
        left: auto;
    }
}

/* Bootstrap 5 collapses navbar-expand-lg below 992px. Keep the legacy FIDO
 * header and its two navbar lists inside the same responsive boundary. */
@media (max-width: 991.98px) {
    .navbar-header {
        display: flex;
        flex: 1 0 100%;
        width: 100%;
    }
    .navbar-toggler { margin-left: auto; }
    .navbar-collapse {
        flex-basis: 100%;
        flex-grow: 1;
        justify-content: flex-start;
        width: 100%;
        margin-left: 0;
    }
    .navbar-collapse > .navbar-nav {
        width: 100%;
        margin-left: 0 !important;
    }
    .navbar-user-menu > .dropdown-menu {
        width: 100%;
        max-width: 100%;
    }
}
.close {
    float: right;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: currentColor;
    background: transparent;
    border: 0;
    opacity: .6;
}
.close:hover { opacity: 1; }
.progress-bar-success { background-color: #5cb85c; }
.progress-bar-warning { background-color: #f0ad4e; }
.progress-bar-danger { background-color: #d9534f; }
.progress-bar-info { background-color: #5bc0de; }

/* Glyphicons were removed from Bootstrap. Map the icons still used by the
 * legacy templates to the pinned Font Awesome 6 font. */
.glyphicon {
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-variant: normal;
    font-weight: 900;
    line-height: 1;
    text-rendering: auto;
}
.glyphicon-star::before { content: "\f005"; }
.glyphicon-star-empty::before { content: "\f005"; font-weight: 400; }
.glyphicon-remove::before { content: "\f00d"; }
.glyphicon-refresh::before { content: "\f2f1"; }
.glyphicon-check::before, .glyphicon-ok::before { content: "\f00c"; }
.glyphicon-unchecked::before { content: "\f0c8"; font-weight: 400; }
.glyphicon-calendar::before { content: "\f073"; }
.glyphicon-ban-circle::before { content: "\f05e"; }
.glyphicon-arrow-left::before { content: "\f060"; }
.glyphicon-arrow-right::before { content: "\f061"; }
.glyphicon-trash::before { content: "\f2ed"; }
.glyphicon-search::before { content: "\f002"; }
.glyphicon-pencil::before { content: "\f303"; }
.glyphicon-exclamation-sign::before { content: "\f071"; }
.glyphicon-chevron-down::before, .glyphicon-menu-down::before, .glyphicon-caret-down::before { content: "\f078"; }
.glyphicon-chevron-up::before, .glyphicon-menu-up::before, .glyphicon-caret-up::before { content: "\f077"; }
.glyphicon-cog::before, .glyphicon-gear::before { content: "\f013"; }
.glyphicon-eye-close::before, .glyphicon-eye-slash::before { content: "\f070"; }
.glyphicon-list::before { content: "\f03a"; }
.glyphicon-th::before { content: "\f00a"; }

.visible-xs-inline, .visible-xs-block, .visible-sm-inline, .visible-sm-block,
.visible-md-inline, .visible-md-block, .visible-lg-inline, .visible-lg-block { display: none !important; }
@media (max-width: 767.98px) {
    /* Bootstrap 3 columns behaved as full-width blocks below their declared
     * breakpoint. The flex form bridge otherwise shrink-wraps col-sm-* pairs. */
    .form-horizontal .form-group > [class*="col-sm-"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
    .form-horizontal .form-group > .control-label { padding-bottom: .375rem; }
    .hidden-xs { display: none !important; }
    .visible-xs-inline { display: inline !important; }
    .visible-xs-block { display: block !important; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .hidden-sm { display: none !important; }
    .visible-sm-inline { display: inline !important; }
    .visible-sm-block { display: block !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .hidden-md { display: none !important; }
    .visible-md-inline { display: inline !important; }
    .visible-md-block { display: block !important; }
}
@media (min-width: 1200px) {
    .hidden-lg { display: none !important; }
    .visible-lg-inline { display: inline !important; }
    .visible-lg-block { display: block !important; }
}
