/* Admin helpers for Bootstrap 5. Restores the previous 14px / BS3-colored look
   without cloning the old grid or component markup. */

:root {
    --bs-body-font-size: 14px;
    --bs-body-line-height: 1.42857143;
    --bs-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --bs-body-color: #333;
    --bs-border-radius: 4px;
    --bs-border-radius-sm: 3px;
    --bs-primary: #337ab7;
    --bs-primary-rgb: 51, 122, 183;
    --bs-link-color: #337ab7;
    --bs-link-hover-color: #23527c;
    --bs-link-color-rgb: 51, 122, 183;
    --bs-gutter-x: 15px;
    --bs-focus-ring-color: rgba(51, 122, 183, 0.25);
}

body {
    font-size: 14px;
    line-height: 1.42857143;
    color: #333;
}

a {
    color: #337ab7;
}

a:hover {
    color: #23527c;
}

.btn {
    --bs-btn-padding-y: 6px;
    --bs-btn-padding-x: 12px;
    --bs-btn-font-size: 14px;
    --bs-btn-line-height: 1.42857143;
    --bs-btn-border-radius: 4px;
    font-weight: 400;
}

.btn-sm {
    --bs-btn-padding-y: 5px;
    --bs-btn-padding-x: 10px;
    --bs-btn-font-size: 12px;
    --bs-btn-line-height: 1.5;
    --bs-btn-border-radius: 3px;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #337ab7;
    --bs-btn-border-color: #2e6da4;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #286090;
    --bs-btn-hover-border-color: #204d74;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #204d74;
    --bs-btn-active-border-color: #122b40;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #337ab7;
    --bs-btn-disabled-border-color: #2e6da4;
    --bs-btn-focus-shadow-rgb: 51, 122, 183;
}

.btn-secondary {
    --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;
    --bs-btn-focus-shadow-rgb: 51, 51, 51;
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #5cb85c;
    --bs-btn-border-color: #4cae4c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #449d44;
    --bs-btn-hover-border-color: #398439;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #398439;
    --bs-btn-active-border-color: #255625;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #5cb85c;
    --bs-btn-disabled-border-color: #4cae4c;
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #d9534f;
    --bs-btn-border-color: #d43f3a;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #c9302c;
    --bs-btn-hover-border-color: #ac2925;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #ac2925;
    --bs-btn-active-border-color: #761c19;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #d9534f;
    --bs-btn-disabled-border-color: #d43f3a;
}

.btn-link {
    --bs-btn-color: #337ab7;
    --bs-btn-hover-color: #23527c;
    font-weight: 400;
}

.btn-group > .btn.active,
.btn-secondary.active {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.form-control,
.form-select {
    font-size: 14px;
    line-height: 1.42857143;
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #555;
}

.form-select {
    padding-right: 28px;
}

.form-control:focus,
.form-select:focus {
    border-color: #66afe9;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.col-form-label {
    font-weight: 700;
    padding-top: 7px;
    padding-bottom: 7px;
    margin-bottom: 0;
    line-height: 1.42857143;
}

@media (min-width: 768px) {
    .row.mb-3 > .col-form-label {
        text-align: right;
    }
}

h2, .h2 {
    font-size: 30px;
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.1;
}

h3, .h3 {
    font-size: 24px;
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.1;
}

.row {
    --bs-gutter-x: 15px;
}

.navbar {
    min-height: 50px;
    margin-bottom: 20px;
    padding: 0 15px;
}

.navbar-brand {
    height: 50px;
    padding: 15px;
    margin-right: 10px;
    font-size: 18px;
    line-height: 20px;
}

.navbar-nav .nav-link {
    padding: 15px 10px;
}

.navbar.bg-light {
    background-color: #f8f8f8 !important;
    border: 1px solid #e7e7e7;
}

.navbar.bg-light .navbar-brand,
.navbar.bg-light .nav-link {
    color: #777;
}

.navbar.bg-light .nav-link:hover,
.navbar.bg-light .nav-link:focus {
    color: #333;
}

.navbar-nav {
    align-items: center;
}

.navbar .form-check {
    margin-bottom: 0;
    min-height: 0;
    padding-top: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.navbar .form-check-label {
    font-weight: 400;
}

.navbar-museum .form-check-input,
.navbar-restaurant .form-check-input {
    background-color: #fff;
}

.nav-tabs {
    border-bottom: 1px solid #ddd;
}

.nav-tabs .nav-link {
    color: #337ab7;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0;
    padding: 10px 15px;
}

.nav-tabs .nav-link:hover {
    border-color: #eee #eee #ddd;
}

.nav-tabs .uib-tab.active > .nav-link,
.nav-tabs .nav-link.active {
    color: #555;
    background-color: #fff;
    border-color: #ddd #ddd #fff;
}

.hidden {
    display: none !important;
}

.help-block,
.form-text {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: #737373;
}

.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;
}

/* BS5 draws a caret on .dropdown-toggle; widgets that already include .caret
   would otherwise show two arrows. */
.dropdown-toggle:has(> .caret)::after,
.dropdown-multiselect .dropdown-toggle::after {
    display: none;
}

.close {
    float: right;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: 0.2;
    background: none;
    border: 0;
    padding: 0;
}

.close:hover {
    color: #000;
    text-decoration: none;
    opacity: 0.5;
}

.row > .btn,
.row > .btn-group {
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    align-self: center;
}

.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li.active > a {
    background-color: #f5f5f5;
    color: #262626;
}

.input-group > .ui-select-container,
.input-group > ui-select {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.input-group > .form-control,
.input-group > .form-select,
.input-group > .btn {
    min-height: 34px;
}

/* BS5 hides .dropdown-menu unless .show. ui-select still toggles BS3's .open.
   Do not force every ui-select-no-choice menu visible while the select is closed. */
.ui-select-bootstrap.open .ui-select-choices.dropdown-menu,
.ui-select-bootstrap.open .ui-select-no-choice.dropdown-menu,
.viru-typeahead-popup.dropdown-menu,
[uib-typeahead-popup].dropdown-menu {
    display: block;
}

.dropdown-menu.ng-hide {
    display: none !important;
}

.ui-datepicker {
    z-index: 2000 !important;
}

.ticket-translations .card-header {
    cursor: pointer;
}

.col-form-label.required:after {
    content: " *";
    color: red;
}

.fc-context-menu.dropdown-menu {
    z-index: 1060;
    position: absolute;
    margin: 0;
}

.fc-context-menu.dropdown-menu.show {
    display: block;
}

.form-check-input {
    width: 13px;
    height: 13px;
    margin-top: 0.35em;
    border-color: #ccc;
}

.form-check-input:checked {
    background-color: #337ab7;
    border-color: #2e6da4;
}

.card {
    --bs-card-border-radius: 4px;
}

.table {
    --bs-table-bg: transparent;
    font-size: 14px;
}

.table > :not(caption) > * > * {
    padding: 8px;
}

.form-control-plaintext {
    font-size: 14px;
    line-height: 1.42857143;
    min-height: 34px;
    padding: 7px 0;
}

.input-sm {
    min-height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

.pagination {
    --bs-pagination-padding-y: 6px;
    --bs-pagination-padding-x: 12px;
    --bs-pagination-font-size: 14px;
    --bs-pagination-color: #337ab7;
    --bs-pagination-border-color: #ddd;
    --bs-pagination-hover-color: #23527c;
    --bs-pagination-hover-bg: #eee;
    --bs-pagination-active-bg: #337ab7;
    --bs-pagination-active-border-color: #337ab7;
    margin: 20px 0;
}

.pagination > li {
    display: inline-block;
}

.pagination > li > a,
.pagination > li > span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #337ab7;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd;
    cursor: pointer;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
    margin-left: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.alert-danger {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

span.alert-danger {
    padding: 2px 6px;
    border-radius: 3px;
}

.ui-select-bootstrap .ui-select-toggle {
    min-height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    text-align: left;
}

.dropdown-menu .dropdown-item {
    display: block;
    padding: 3px 20px;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background-color: #f5f5f5;
    color: #262626;
}

.dropdown-menu .dropdown-item.disabled,
.dropdown-menu .dropdown-item.disabled:hover {
    pointer-events: none;
    color: #777;
    background: transparent;
    opacity: 0.65;
}

.ticket-translations .card {
    border: 1px solid #ddd;
}

.ticket-translations .card-header {
    background-color: #f5f5f5;
    padding: 10px 15px;
}

.form-control:disabled,
.form-control[disabled],
.form-select:disabled,
.form-select[disabled],
.form-check-input:disabled,
.form-check-input[disabled],
.btn:disabled,
.btn.disabled,
.btn[disabled],
.input-group > input.form-control:disabled,
.input-group > input.form-control[disabled],
.ui-select-bootstrap .ui-select-toggle[disabled] {
    pointer-events: auto;
    cursor: not-allowed;
    background-color: #eee;
    opacity: 1;
}

.form-check-input:disabled ~ .form-check-label,
.form-check-input[disabled] ~ .form-check-label {
    cursor: not-allowed;
}
