/* Select2 takes its control dimensions and colours from the original select. */
.select2-container {
    display: block;
    width: 100% !important;
    vertical-align: top;
    line-height: normal;
    font: inherit;
    font-size: var(--pm-select-font-size, inherit);
    font-family: var(--pm-select-font-family, inherit);
    color: var(--pm-select-color, inherit);
}

.select2-container.pm-select-admin {
    --pm-select-focus: var(--primary, #b8860b);
    --pm-select-focus-ring: rgba(184, 134, 11, .2);
}

.select2-container.pm-select-public {
    --pm-select-focus: var(--forest, #376858);
    --pm-select-focus-ring: rgba(55, 104, 88, .22);
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    box-sizing: border-box;
    min-height: var(--pm-select-height, 44px);
    height: var(--pm-select-height, 44px);
    border: var(--pm-select-border-width, 1px) solid var(--pm-select-border-color, #718176);
    border-radius: var(--pm-select-border-radius, 8px);
    background-color: var(--pm-select-background-color, #fff);
    color: var(--pm-select-color, #26352d);
    font: inherit;
    font-size: var(--pm-select-font-size, inherit);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    display: block;
    overflow: hidden;
    padding-left: var(--pm-select-padding-left, 12px);
    padding-right: 32px;
    color: inherit;
    line-height: calc(var(--pm-select-height, 44px) - 2px);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    right: 8px;
    height: 18px;
    transform: translateY(-50%);
}

.select2-container--default .select2-selection--multiple {
    height: auto;
    min-height: var(--pm-select-height, 44px);
    padding: 4px 8px;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 0;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--pm-select-focus, #376858);
    outline: 3px solid var(--pm-select-focus-ring, rgba(55, 104, 88, .22));
    outline-offset: 1px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #244c45;
    color: #fff;
}

.select2-container--default .select2-results__option--selected {
    background-color: #e9efe9;
    color: #26352d;
}

.select2-dropdown {
    border: 1px solid #9aa79d;
    border-radius: 4px;
    background: #fff;
    color: #26352d;
    font-size: 16px;
}

.select2-search--dropdown .select2-search__field {
    min-height: 42px;
    border: 1px solid #718176;
    border-radius: 3px;
    padding: 7px 10px;
    font: inherit;
    font-size: 16px;
}

.admin-sidebar-only .select2-container--default .select2-selection--single,
.admin-sidebar-only .select2-container--default .select2-selection--multiple {
    background-color: var(--bg-card, #fff);
    color: var(--text-dark, #26352d);
}

.admin-sidebar-only .select2-dropdown {
    border-color: var(--border-color, #d5d9d2);
    background-color: var(--bg-card, #fff);
    color: var(--text-dark, #26352d);
}

.admin-sidebar-only .select2-container--default .select2-results__option--selected {
    background-color: var(--primary-light, #f4ecd7);
    color: var(--text-dark, #26352d);
}

.select2-container--default .select2-selection[aria-invalid="true"],
.select2-container--default.select2-container--focus .select2-selection[aria-invalid="true"] {
    border-color: #a53e34;
}

select.select2-hidden-accessible[aria-invalid="true"] + .select2-container .select2-selection {
    border-color: #a53e34;
}

.fv-plugins-message-container,
.fv-plugins-message-container .fv-help-block,
.fv-plugins-message-container .help-block {
    display: block;
    margin-top: .35rem;
    color: #a53e34;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}

.fv-asp-validation-message > .fv-plugins-message-container,
.fv-plugins-message-container .fv-help-block {
    margin-top: 0;
}

.fv-plugins-message-container:empty {
    display: none;
}

.admin-sidebar-only .fv-plugins-message-container,
.admin-sidebar-only .fv-plugins-message-container .fv-help-block,
.admin-sidebar-only .fv-plugins-message-container .help-block {
    color: #a22f25;
}

.admin-sidebar-only .dt-container {
    color: var(--text-dark, #26352d);
    font-size: 14px;
}

.admin-sidebar-only .dt-container .dt-layout-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1rem;
    flex-wrap: wrap;
    margin: .6rem 0;
}

.admin-sidebar-only .dt-container .dt-layout-cell {
    min-width: 0;
}

.admin-sidebar-only .dt-container .dt-search input,
.admin-sidebar-only .dt-container .dt-length select {
    min-height: 42px;
    margin-left: .4rem;
    border: 1px solid var(--border-color, #d5d9d2);
    border-radius: 8px;
    padding: .45rem .65rem;
    background: var(--bg-card, #fff);
    color: var(--text-dark, #26352d);
    font: inherit;
    font-size: 14px;
}

.admin-sidebar-only .dt-container .dt-search input:focus,
.admin-sidebar-only .dt-container .dt-length select:focus {
    border-color: var(--primary, #b8860b);
    outline: 3px solid rgba(184, 134, 11, .2);
    outline-offset: 1px;
}

.admin-sidebar-only .dt-container .dt-paging-button {
    min-width: 40px;
    min-height: 40px;
    margin: 0 2px;
    border: 1px solid var(--border-color, #d5d9d2) !important;
    border-radius: 7px;
    padding: .45rem .65rem !important;
    background: var(--bg-card, #fff) !important;
    color: var(--text-dark, #26352d) !important;
    font: inherit;
    font-size: 14px;
}

.admin-sidebar-only .dt-container .dt-paging-button.current,
.admin-sidebar-only .dt-container .dt-paging-button:hover:not(.disabled) {
    border-color: var(--primary, #b8860b) !important;
    background: var(--primary, #b8860b) !important;
    color: #fff !important;
}

.admin-sidebar-only .dt-container .dt-paging-button.disabled {
    opacity: .55;
}

.admin-sidebar-only table.dataTable thead > tr > th,
.admin-sidebar-only table.dataTable tbody > tr > td {
    border-bottom-color: var(--border-color, #d5d9d2);
}

@media (max-width: 575.98px) {
    .admin-sidebar-only .dt-container .dt-layout-row {
        align-items: stretch;
    }

    .admin-sidebar-only .dt-container .dt-layout-cell {
        width: 100%;
    }

    .admin-sidebar-only .dt-container .dt-search,
    .admin-sidebar-only .dt-container .dt-length {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .4rem;
    }

    .admin-sidebar-only .dt-container .dt-search input {
        flex: 1;
        min-width: 0;
    }
}
