/******************************************************************************
 * Querbeat White & Red Theme - additions to the stylesheet of Admidio
 *
 * Loaded after themes/simple/css/admidio.css, which is the unchanged stylesheet of the
 * Admidio release. Only the rules that differ from Admidio are here, so new rules of an
 * Admidio update take effect. Generated 2026-10-24 from the former full Querbeat
 * stylesheet (rules identical to Admidio 5.0.17 removed).
 *****************************************************************************/

/******************************************************************************
 * Cascading-Style-Sheets file for Admidio - Querbeat White & Red Theme
 *****************************************************************************/
:root {
    --admidio-header-font-color: #e30513;
    --admidio-header-link-color: #e30513;
    --admidio-header-link-color-hover: #b8040f;
    --admidio-menu-bg-color-hover: #fce8e8;
    --admidio-menu-font-color-hover: #e30513;
    --admidio-clamp-text-lines: 0;
    --bs-primary: #e30513;
    --bs-primary-rgb: 227, 5, 19;
    --bs-secondary: #263340;
    --bs-secondary-rgb: 38, 51, 64;
    --bs-tertiary: #f8f9fa;
    --bs-tertiary-rgb: 248, 249, 250;
    --bs-success: #04e01a;
    --bs-body-color: #263340;
    --bs-body-bg: #ffffff;
    --bs-link-color: #e30513;
    --bs-link-color-rgb: 227, 5, 19;
    --bs-link-hover-color: #b8040f;
    --bs-link-hover-color-rgb: 184, 4, 15;
    --bs-focus-ring-color: #fcdada;
}

/* Base High-Contrast Fixes */
body {
    color: #263340 !important;
    background-color: #ffffff !important;
}

/* Top Main Header Navbar */
#adm_main_navbar {
    color: #e30513 !important;
    background-color: #ffffff !important;
    border-bottom: 3px solid #e30513 !important;
    min-height: 4.5rem;
    position: sticky;
    top: 0;
    z-index: 1030;
    padding: 0.5rem 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

#adm_headline_organization,
#adm_headline_membership {
    color: #e30513 !important;
    font-weight: bold;
    font-size: 1.2rem;
}

#adm_main_navbar .navbar-brand,
#adm_main_navbar .navbar-brand span,
#adm_main_navbar .nav-link,
#adm_main_navbar .dropdown-toggle,
#adm_main_navbar a,
#adm_main_navbar i,
#adm_main_navbar .bi {
    color: #e30513 !important;
}

#adm_navbar_nav a:hover, 
#adm_main_navbar .dropdown-toggle:hover {
    color: #b8040f !important;
    background-color: #fce8e8 !important;
    border-radius: 0.375rem;
}

/* Top Mobile Toggler / Hamburger Menu Button */
#adm_main_navbar .navbar-toggler {
    border: 2px solid #e30513 !important;
    color: #e30513 !important;
    background-color: #ffffff !important;
}

#adm_main_navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28227, 5, 19, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Sidebar & Main Module Menu */
#adm_sidebar,
.admidio-sidebar {
    background-color: #ffffff !important;
    border-right: 1px solid #e9ecef;
    padding-top: 1rem;
}

/* Mobile Menu Headline Bar */
.admidio-headline-mobile-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background-color: #f8f9fa !important;
    color: #263340 !important;
    font-weight: bold;
    font-size: 1.05rem;
    border-bottom: 2px solid #e30513 !important;
    border-radius: 0.375rem;
    margin-bottom: 0.5rem;
    padding: 0.5rem 0.75rem !important;
    min-height: 44px;
    box-sizing: border-box;
}

.admidio-headline-mobile-menu span {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    letter-spacing: 0.5px;
}

.admidio-headline-mobile-menu .btn,
.admidio-headline-mobile-menu button,
.admidio-headline-mobile-menu .btn-link {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 1 !important;
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #e30513 !important;
    float: none !important;
    text-decoration: none !important;
}

.admidio-headline-mobile-menu button:hover,
.admidio-headline-mobile-menu button:focus,
.admidio-headline-mobile-menu .btn-link:hover,
.admidio-headline-mobile-menu .btn-link:focus {
    color: #b0040f !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.admidio-headline-mobile-menu i,
.admidio-headline-mobile-menu .bi {
    color: inherit !important;
    font-size: 1.5rem !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.admidio-headline-mobile-menu .bi::before {
    vertical-align: 0 !important;
    line-height: 1 !important;
}

/* Sidebar Section Headers (e.g. Modules, Administration) */
.admidio-menu-header {
    color: #e30513 !important;
    font-weight: bold;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.75rem 0.5rem 0.25rem 0.5rem;
    border-bottom: 1px solid #fcdada;
    margin-top: 0.5rem;
}

/* Sidebar Nav Links */
#adm_sidebar .nav-link,
.admidio-menu-node .nav-link,
#adm_main_menu .nav-link {
    color: #263340 !important;
    font-weight: 500;
    font-size: 1.05rem;
    padding: 0.6rem 0.75rem;
    border-radius: 0.375rem;
    margin-bottom: 0.2rem;
    display: flex;
    align-items: center;
}

#adm_sidebar .nav-link i,
#adm_sidebar .nav-link .bi,
.admidio-menu-node .nav-link i,
.admidio-menu-node .nav-link .bi,
#adm_main_menu .nav-link i,
#adm_main_menu .nav-link .bi {
    color: #e30513 !important;
    margin-right: 0.75rem;
    font-size: 1.2rem;
}

#adm_sidebar .nav-link:hover,
#adm_sidebar .nav-link:focus,
.admidio-menu-node .nav-link:hover,
#adm_main_menu .nav-link:hover {
    color: #e30513 !important;
    background-color: #fce8e8 !important;
}

#adm_sidebar .nav-link.active,
.admidio-menu-node .nav-link.active,
#adm_main_menu .nav-link.active {
    color: #ffffff !important;
    background-color: #e30513 !important;
}

#adm_sidebar .nav-link.active i,
#adm_sidebar .nav-link.active .bi,
.admidio-menu-node .nav-link.active i,
.admidio-menu-node .nav-link.active .bi,
#adm_main_menu .nav-link.active i,
#adm_main_menu .nav-link.active .bi {
    color: #ffffff !important;
}

/* Ensure Sidebar Menu is Visible on Desktop */
@media (min-width: 768px) {
#adm_main_menu.collapse {
        display: block !important;
    }
}

/* Dropdown Menus */
.dropdown-menu {
    background-color: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.15) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.dropdown-item {
    color: #263340 !important;
    font-weight: 500;
}

.dropdown-item:hover, 
.dropdown-item:focus,
.dropdown-item.active {
    background-color: #fce8e8 !important;
    color: #e30513 !important;
}

.dropdown-item i, 
.dropdown-item .bi {
    color: inherit !important;
}

/***********************************/
/* Page function menu */
/***********************************/
.admidio-menu-function-node .nav-link {
    margin-right: 1.5rem;
    margin-top: 1rem;
}

/* Default distance between elements */
.admidio-blog, .admidio-field-group, .pagination,
.admidio-info-created-edited, .admidio-img-presenter,
.navbar-filter, .table-responsive, .admidio-menu-function-node,
.dt-container, .admidio-margin-bottom, .admidio-content-header,
.admidio-content-subheader, .tab-content {
    margin-bottom: 2rem;
}

.admidio-tabbed-field-group, .admidio-accordion-field-group {
    margin-bottom: 1rem;
}

.btn, .btn:hover {
    overflow-wrap: normal;
    word-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Ensure adjacent buttons have spacing */
.btn + .btn {
    margin-left: 0.5rem;
}

.btn-group .btn + .btn {
    margin-left: -1px;
}

/* Primary Buttons */
.btn-primary {
    background-color: #e30513 !important;
    border-color: #e30513 !important;
    color: #ffffff !important;
}

.btn-primary:hover, 
.btn-primary:focus, 
.btn-primary:active {
    background-color: #b8040f !important;
    border-color: #b8040f !important;
    color: #ffffff !important;
}

/* Outline Buttons */
.btn-outline-primary {
    color: #e30513 !important;
    border-color: #e30513 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: #e30513 !important;
    color: #ffffff !important;
}

/* Badges & Pills */
.badge.bg-primary, 
.badge-primary,
.bg-primary {
    background-color: #e30513 !important;
    color: #ffffff !important;
}

/* Active Nav Tabs & Pills */
.nav-pills .nav-link.active,
.nav-tabs .nav-link.active {
    background-color: #e30513 !important;
    color: #ffffff !important;
    border-color: #e30513 !important;
}

.nav-tabs .nav-link {
    color: #263340 !important;
    font-weight: bold;
}

/* Accordion High Contrast */
.accordion-button {
    color: #263340 !important;
    background-color: #f8f9fa !important;
}

.accordion-button:not(.collapsed) {
    color: #ffffff !important;
    background-color: #e30513 !important;
}

.accordion-button:not(.collapsed)::after {
    filter: brightness(0) invert(1);
}

/* Pagination */
.page-item.active .page-link {
    background-color: #e30513 !important;
    border-color: #e30513 !important;
    color: #ffffff !important;
}

.page-link {
    color: #e30513 !important;
}

.page-link:hover {
    color: #b8040f !important;
}

/* Forms & Input Labels */
label, .form-label, .col-form-label {
    color: #263340 !important;
    font-weight: bold;
}

.form-control, .form-select {
    color: #263340 !important;
    background-color: #ffffff !important;
}

.form-control:focus, .form-select:focus {
    border-color: #e30513 !important;
    box-shadow: 0 0 0 0.25rem rgba(227, 5, 19, 0.25) !important;
}

/* Cards & Tables */
.card {
    background-color: #ffffff !important;
    border: 1px solid #e9ecef !important;
}

.card-header {
    color: #263340 !important;
    font-weight: bold;
}

.table {
    color: #263340 !important;
}

.table th, .table td {
    color: #263340 !important;
}

/* Form Separators & Sub-information */
.form-separator-line + label {
    font-size: 1.25em;
    text-decoration: underline;
}

.admidio-form-separator-label {
    display: flex;
    align-items: baseline;
    gap: 0.3rem;
    padding-right: calc(var(--bs-gutter-x) * 0.25);
}

.admidio-form-separator-label .admidio-open-close-caret {
    flex: 0 0 auto;
    align-self: center;
}

/***********************************/
/* Events Table Responsive Styling */
/***********************************/
.admidio-content-col {
    padding: 0;
    min-width: 0;
}

.admidio-content, .admidio-reduced {
    order: 1;
    min-width: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 1000px;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    word-break: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.admidio-tabbed-field-group:has( > .list-group), .admidio-accordion-field-group:has( > .list-group),
.admidio-tabbed-field-group .table-responsive, .admidio-accordion-field-group .table-responsive,
.admidio-tabbed-field-group .table-responsive .dt-container, .admidio-accordion-field-group .table-responsive .dt-container,
.table-responsive .dt-container {
    margin-bottom: 0;
}

#adm_events_table td,
#adm_events_table th {
    vertical-align: middle;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    line-height: 1.25;
}

#adm_events_table th:last-child,
#adm_events_table td:last-child,
#adm_events_table th:first-child,
#adm_events_table td:first-child {
    white-space: nowrap !important;
}

#adm_events_table .btn {
    padding: 0.15rem 0.4rem;
    font-size: 0.875rem;
    line-height: 1.25;
}

#adm_events_table .admidio-event-approval .dropdown-toggle::after {
    display: none !important;
}

#adm_events_table .admidio-event-approval .btn,
#adm_events_table td:first-child .btn {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    border-radius: 0.375rem !important;
}

#adm_events_table .admidio-event-approval .btn i,
#adm_events_table td:first-child .btn i {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
}

#adm_events_table .admidio-event-approval .btn i::before,
#adm_events_table td:first-child .btn i::before {
    vertical-align: 0 !important;
    line-height: 1 !important;
    margin: 0 !important;
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
    text-align: start !important;
}

#adm_events_table tr.child td.child {
    padding-left: calc(26px + 0.25rem) !important;
    padding-inline-start: calc(26px + 0.25rem) !important;
}

#adm_events_table:has(.admidio-event-approval) tr.child td.child {
    padding-left: calc(56px + 0.25rem) !important;
    padding-inline-start: calc(56px + 0.25rem) !important;
}

div.table-responsive > div.dt-container > div.row,
div.dt-container > div.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

div.table-responsive > div.dt-container > div.row > div[class^=col-]:first-child,
div.dt-container > div.row > div[class^=col-]:first-child {
    padding-left: 0 !important;
}

div.table-responsive > div.dt-container > div.row > div[class^=col-]:last-child,
div.dt-container > div.row > div[class^=col-]:last-child {
    padding-right: 0 !important;
}

/**************************************************/
/* Preferences Page & Subsection Styling          */
/**************************************************/
/* Sidebar Layout in Left-Tabs Mode */
.tabs-left > .nav-tabs {
    min-width: 250px !important;
    max-width: 280px !important;
    border-right: none !important;
}

.admidio-preferences-group {
    width: 100% !important;
    border: none !important;
}

/* Subsection Headings (System, Anmelden & Sicherheit, Benutzer, etc.) */
.admidio-preferences-group .list-group-item.group-heading {
    width: 100% !important;
    background: linear-gradient(135deg, #f1f4f8 0%, #e2e8f0 100%) !important;
    border: 1px solid #cbd5e1 !important;
    border-left: 5px solid #e30513 !important;
    border-radius: 6px !important;
    padding: 0.65rem 0.85rem !important;
    margin-top: 1.25rem !important;
    margin-bottom: 0.4rem !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.admidio-preferences-group .list-group-item.group-heading:first-child {
    margin-top: 0 !important;
}

.admidio-preferences-group .list-group-item.group-heading h5 {
    font-size: 0.825rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #1e293b !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    display: flex !important;
    align-items: center !important;
}

/* Subsection Nav Items & Clickable Panels */
.admidio-preferences-group .list-group-item.nav-item {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 3px !important;
}

.admidio-preferences-group .list-group-item.nav-item > .nav-link {
    width: 100% !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 5px !important;
    background-color: #ffffff !important;
    color: #334155 !important;
    font-size: 0.925rem !important;
    font-weight: 500 !important;
    padding: 0.5rem 0.75rem !important;
    display: flex !important;
    align-items: center !important;
    text-align: left !important;
    transition: all 0.15s ease-in-out !important;
}

.admidio-preferences-group .list-group-item.nav-item > .nav-link i,
.admidio-preferences-group .list-group-item.nav-item > .nav-link .bi {
    margin-right: 0.55rem !important;
    font-size: 1.05rem !important;
    color: #64748b !important;
    transition: color 0.15s ease-in-out !important;
}

.admidio-preferences-group .list-group-item.nav-item > .nav-link:hover {
    background-color: #fdf2f2 !important;
    color: #e30513 !important;
    border-color: #fca5a5 !important;
}

.admidio-preferences-group .list-group-item.nav-item > .nav-link:hover i,
.admidio-preferences-group .list-group-item.nav-item > .nav-link:hover .bi {
    color: #e30513 !important;
}

.admidio-preferences-group .list-group-item.nav-item > .nav-link.active {
    background-color: #e30513 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-color: #e30513 !important;
    box-shadow: 0 2px 5px rgba(227, 5, 19, 0.25) !important;
}

.admidio-preferences-group .list-group-item.nav-item > .nav-link.active i,
.admidio-preferences-group .list-group-item.nav-item > .nav-link.active .bi {
    color: #ffffff !important;
}

.admidio-preferences-group .list-group-item.group-last {
    margin-bottom: 0.6rem !important;
}

/* Preferences Tab Content Card */
#adm_preferences_tab_content {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 1.25rem !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    margin-left: 1rem !important;
}

.card.admidio-tabbed-field-group {
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    background-color: #ffffff !important;
}

.card.admidio-tabbed-field-group > .card-header {
    background-color: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    color: #1e293b !important;
    padding: 0.75rem 1.25rem !important;
}

/* Mobile Accordions for Preferences */
.admidio-accordion-field-group {
    margin-bottom: 1.25rem !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.admidio-accordion-field-group > .card-header {
    background: linear-gradient(135deg, #f1f4f8 0%, #e2e8f0 100%) !important;
    border-bottom: 1px solid #cbd5e1 !important;
    border-left: 5px solid #e30513 !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #1e293b !important;
    padding: 0.75rem 1rem !important;
}

.admidio-accordion-field-group > .card-body {
    padding: 0.75rem !important;
    background-color: #ffffff !important;
}

.admidio-accordion-field-group .accordion-item {
    border: 1px solid #e2e8f0 !important;
    margin-bottom: 0.4rem !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

.admidio-accordion-field-group .accordion-button {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    padding: 0.65rem 0.85rem !important;
    background-color: #f8fafc !important;
    color: #334155 !important;
}

.admidio-accordion-field-group .accordion-button:not(.collapsed) {
    background-color: #fdf2f2 !important;
    color: #e30513 !important;
    box-shadow: none !important;
}

.admidio-accordion-field-group .accordion-button:not(.collapsed) i,
.admidio-accordion-field-group .accordion-button:not(.collapsed) .bi {
    color: #e30513 !important;
}

#plgCalendarTable td.plgCalendarToday {
    background-color: #e30513 !important;
    border-radius: 5px;
    color: #ffffff !important;
    font-weight: bold;
}

#plgCalendarTable td.plgCalendarToday,
#plgCalendarTable td.plgCalendarToday a,
#plgCalendarTable td.plgCalendarToday a.admidio-calendar-link,
#plgCalendarTable td.plgCalendarToday span,
#plgCalendarTable td.plgCalendarToday * {
    color: #ffffff !important;
    font-weight: bold;
}

#plgCalendarTable td.plgCalendarToday a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

#plgCalendarTable td.plgCalendarToday a:hover,
#plgCalendarTable td.plgCalendarToday a:focus {
    color: #ffffff !important;
    text-decoration: underline;
}

/***********************************/
/* Date field weekday prefix */
/***********************************/
.admidio-input-weekday {
    font-weight: 500;
    justify-content: center;
    min-width: 2.75rem;
}

/***********************************/
/* Event table and card weekdays */
/***********************************/
.admidio-event-weekday {
    white-space: nowrap;
}

#adm_events_table td {
    font-variant-numeric: tabular-nums;
}

/* same width as the breakpoint "desktop" of the DataTables responsive extension that shows the period columns */
@media (min-width: 1025px) {
#adm_events_table .admidio-event-period-small {
        display: none;
    }
}

/***********************************/
/* Navigation text selection */
/***********************************/
/* Prevent accidental text selection while tapping through the navigation on touch devices.
   user-select: none also applies to all child elements, so no * selectors are necessary.
   Only add navigation and UI elements here and no containers with input fields or content. */
#adm_main_navbar,
.admidio-sidebar,
.admidio-breadcrumb,
.admidio-content-header,
.navbar-filter .navbar-brand,
.nav-tabs .nav-link,
.pagination,
.plgCalendarWeekday,
.plgCalendarWeekdaySaturday,
.plgCalendarWeekdaySunday,
#adm_logout_link {
    -webkit-user-select: none;
    user-select: none;
}

/* Text that could not be selected and is no link should not show the text cursor */
.admidio-module-headline,
.admidio-headline-mobile-menu,
.admidio-menu-header,
.breadcrumb-item.active,
.plgCalendarWeekday,
.plgCalendarWeekdaySaturday,
.plgCalendarWeekdaySunday {
    cursor: default;
}

/* the name of the organization in the header may shrink and is shortened with "...", otherwise the header is
   wider than small screens (e.g. Firefox on phones, where the button to install the app is shown) */
#adm_main_navbar .navbar-brand {
    min-width: 0;
}

#adm_headline_organization {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Documents & Files: optional folder tree */
.admidio-documents-layout {
    position: relative;
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

.admidio-documents-list {
    flex: 1 1 0;
    min-width: 0;
}

/* the sidebar is as high as the list, a longer tree scrolls within the sidebar */
.admidio-folder-sidebar {
    display: flex;
    flex-direction: column;
    flex: 0 0 18rem;
    width: 18rem;
    min-height: 12rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    background-color: var(--bs-body-bg);
    overflow: hidden;
}

/* on large screens there is space between the open sidebar and the footer of the page, as wide as the space
   between the sidebar and the menu on its left */
@media (min-width: 768px) {
.admidio-folder-sidebar:not(.collapsed) {
        margin-bottom: 1rem;
    }
}

.admidio-folder-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .4rem .5rem .4rem .75rem;
    border-bottom: 1px solid var(--bs-border-color);
    background-color: var(--bs-tertiary-bg);
    white-space: nowrap;
}

.admidio-folder-sidebar-collapse {
    padding: .1rem .35rem;
    border: 0;
    border-radius: var(--bs-border-radius);
    background: none;
    color: inherit;
}

.admidio-folder-sidebar-collapse:hover {
    background-color: var(--bs-secondary-bg);
}

.admidio-folder-sidebar-collapse .bi {
    display: inline-block;
    transition: transform .2s;
}

/* the text is only shown at the button of the collapsed sidebar, the open sidebar has its title in the header */
.admidio-folder-sidebar-collapse-label {
    display: none;
}

/* collapsed, the sidebar needs no space, only its button stays at the top left above the first column of the list */
.admidio-folder-sidebar.collapsed {
    flex-basis: 0;
    width: 0;
    margin-right: -1rem;
    min-height: 0;
    border: 0;
    overflow: visible;
}

.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-header {
    position: absolute;
    z-index: 2;
    top: .5rem;
    left: 0;
    padding: 0;
    border: 0;
    background: none;
}

.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-collapse-label {
    display: inline;
    margin-left: .4rem;
    white-space: nowrap;
}

/* a table with an entries menu at the top left: the button shows only its icon and the menu moves to the right */
.admidio-folder-sidebar.collapsed:has(~ .admidio-documents-list .dt-length) .admidio-folder-sidebar-collapse-label {
    display: none;
}

.admidio-folder-sidebar.collapsed ~ .admidio-documents-list .dt-length {
    margin-left: 3rem;
}

/* same size as the search field and the entries menu of the table (form-control-sm), so they are on one line */
.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-collapse {
    display: inline-flex;
    align-items: center;
    padding: .25rem .65rem;
    font-size: .875rem;
    line-height: 1.5;
    border: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
}

.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-title,
.admidio-folder-sidebar.collapsed .admidio-folder-tree-pane {
    display: none;
}

.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-collapse .bi {
    transform: rotate(180deg);
}

.admidio-folder-tree-pane {
    flex: 1 1 0;
    min-height: 0;
    overflow: auto;
    padding: .4rem;
}

/* the folder tree is only for navigation and is not printed */
@media print {
.admidio-folder-sidebar {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
/* on small screens the sidebar is shown above the list and collapses to its header */
.admidio-documents-layout {
        flex-direction: column;
        align-items: stretch;
    }

.admidio-folder-sidebar, .admidio-folder-sidebar.collapsed {
        flex-basis: auto;
        width: 100%;
        min-height: 0;
        margin-right: 0;
        border: 1px solid var(--bs-border-color);
        overflow: hidden;
    }

.admidio-folder-sidebar.collapsed ~ .admidio-documents-list .dt-length {
        margin-left: 0;
    }

.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-title {
        display: inline;
    }

.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-collapse-label {
        display: none;
    }

.admidio-folder-tree-pane {
        flex: none;
        max-height: 50vh;
    }

.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-header {
        position: static;
        padding: .4rem .5rem .4rem .75rem;
        background-color: var(--bs-tertiary-bg);
    }

.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-collapse {
        display: inline-block;
        padding: .1rem .35rem;
        border: 0;
        background: none;
        font-size: inherit;
        line-height: inherit;
    }

.admidio-folder-sidebar .admidio-folder-sidebar-collapse .bi {
        transform: rotate(90deg);
    }

.admidio-folder-sidebar.collapsed .admidio-folder-sidebar-collapse .bi {
        transform: rotate(-90deg);
    }
}

.admidio-folder-tree, .admidio-folder-tree-group {
    list-style: none;
    margin: 0;
    padding: 0;
}

.admidio-folder-tree-group {
    padding-left: 1rem;
}

.admidio-folder-tree-line {
    display: flex;
    align-items: center;
}

.admidio-folder-tree-toggle {
    flex: 0 0 1.5rem;
    width: 1.5rem;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
}

.admidio-folder-tree-toggle .bi {
    display: inline-block;
    transition: transform .15s;
}

.admidio-folder-tree-node.expanded > .admidio-folder-tree-line > .admidio-folder-tree-toggle .bi {
    transform: rotate(90deg);
}

.admidio-folder-tree-link {
    flex: 1 1 auto;
    min-width: 0;
    padding: .15rem .4rem;
    border-radius: var(--bs-border-radius);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
}

.admidio-folder-tree-link:focus-visible {
    outline-offset: -2px;
}

.admidio-folder-tree-link:hover {
    background-color: var(--bs-tertiary-bg);
}

.admidio-folder-tree-link.active {
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
    font-weight: bold;
}

/* Documents & Files: the tree to select the destination folder of a moved file or folder */
.admidio-folder-picker {
    max-height: 50vh;
    overflow: auto;
    padding: .4rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    background-color: var(--bs-body-bg);
}

.admidio-folder-picker-summary .bi {
    color: var(--bs-secondary-color);
}

.admidio-folder-tree-link.selected {
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
    font-weight: bold;
}

.admidio-folder-tree-link[aria-disabled="true"] {
    color: var(--bs-secondary-color);
    cursor: not-allowed;
}

.admidio-folder-tree-link[aria-disabled="true"]:hover {
    background-color: transparent;
}

.admidio-folder-tree-hint {
    margin-left: .5rem;
    font-size: .875em;
    font-style: italic;
    font-weight: normal;
}

/* the selected action of the switch between moving and copying a file */
.admidio-move-copy-switch .btn {
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-active-color: #fff;
}

.admidio-move-copy-switch .btn-check:checked + .btn {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}

/* the buttons of the switch share the width on small screens, where buttons are as wide as the screen otherwise */
@media (max-width: 767.98px) {
.admidio-move-copy-switch {
        display: flex;
    }

.admidio-move-copy-switch .btn {
        flex: 1 1 0;
        width: auto;
    }
}

/* Querbeat colours: bootstrap derives the subtle primary colours from its own blue */
.admidio-folder-tree-link.active, .admidio-folder-tree-link.selected {
    background-color: #fce8e8;
    color: #e30513;
}

/* Querbeat: the rule for outline buttons above sets the text colour with !important, so the selected action of the
   switch between moving and copying a file needs it for its white text */
.admidio-move-copy-switch .btn-check:checked + .btn-outline-primary {
    color: #ffffff !important;
}


/******************************************************************************
 * Restore the Querbeat look where rules of the Admidio stylesheet would change it.
 * Measured 2026-10-24 against the former full Querbeat stylesheet. Not restored on
 * purpose: required field markers, full-width pages, row actions on hover, event
 * participation colors, tabs/accordion layout, image sizes (functions of Admidio),
 * and the Querbeat colors instead of the Bootstrap blue for switches, selected
 * toggle buttons, accordions and .bg-info.
 *****************************************************************************/

/* layout of the menu, the header and the headline */
/* the sticky menu of Admidio stays (it scrolls on its own), only the spacing of Querbeat comes back */
.admidio-sidebar {
    padding: 1rem 0.75rem 0;
}

/* the menu list scrolls on its own, so the top margin of its first header no longer collapses */
.admidio-menu-list > .admidio-menu-header:first-child,
.admidio-menu-list > :first-child > .admidio-menu-header:first-child {
    margin-top: 0;
}

#adm_main_navbar .navbar-brand img {
    margin-right: 0;
}

.admidio-module-headline {
    margin-top: 0;
}

.admidio-headline-mobile-menu {
    letter-spacing: normal;
}

.navbar {
    --bs-navbar-padding-x: 0;
}

.navbar .admidio-form-group {
    margin-right: 0;
}

.navbar-filter {
    background-color: transparent;
}

.admidio-menu-function-node .nav-link {
    background-color: transparent;
}

.breadcrumb {
    --bs-breadcrumb-bg: transparent;
    --bs-breadcrumb-padding-x: 0;
    --bs-breadcrumb-padding-y: 0;
}

.breadcrumb-item {
    display: list-item;
}

/* links, buttons and dropdowns like Bootstrap */
a {
    text-decoration: underline;
}

.btn {
    color: var(--bs-btn-color);
}

.btn:hover {
    color: var(--bs-btn-hover-color);
}

.dropdown-toggle {
    white-space: nowrap;
}

.dropdown-item {
    background: transparent;
}

.badge {
    --bs-badge-padding-x: 0.65em;
    --bs-badge-padding-y: 0.35em;
}

/* info boxes in the Bootstrap info colors, the red of the theme would look like an error */
.alert-info {
    background-color: var(--bs-alert-bg);
    border-color: var(--bs-alert-border-color);
    color: var(--bs-alert-color);
}

/* cards, field groups, tabs and accordions without the grey background */
.card-header {
    font-size: 1rem;
}

.admidio-info-created-edited {
    font-size: 1rem;
}

.card .admidio-info-created-edited {
    margin-bottom: 2rem;
}

.admidio-blog .card-header,
.admidio-field-group .card-header {
    border: 0;
    border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
    background-color: var(--bs-card-cap-bg);
}

.admidio-blog .card-body,
.admidio-field-group .card-body,
.admidio-tabbed-field-group .card-body,
.admidio-accordion-field-group .card-body {
    background-color: transparent;
}

.admidio-tabbed-field-group .card-body,
.admidio-accordion-field-group .card-body {
    border-radius: 0;
}

.admidio-tabbed-field-group .list-group-item,
.admidio-accordion-field-group .list-group-item,
.admidio-tabbed-field-group .list-group-item .list-group-item,
.admidio-accordion-field-group .list-group-item .list-group-item {
    border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
    background-color: var(--bs-list-group-bg);
}

.admidio-tabbed-field-group .list-group-item + .list-group-item,
.admidio-accordion-field-group .list-group-item + .list-group-item {
    border-top-width: 0;
}

.admidio-preferences-group .list-group-item.group-last {
    border-bottom-left-radius: 0;
}

/* cards of a row have the same height with the button at the bottom (Admidio); the Querbeat frame is drawn
   as an outer line, so it doesn't take width from the content and button labels stay in one line */
.card.admidio-card {
    border: 0 !important;
    box-shadow: 0 0 0 1px #e9ecef;
}

.admidio-card li {
    padding-left: 1rem;
    padding-right: 1rem;
    background-color: transparent;
}

.admidio-card li.list-group-item {
    background-color: var(--bs-list-group-bg);
}

.nav-tabs .nav-link {
    background-color: transparent;
    border-color: transparent;
}

.tab-content {
    padding: 10px;
}

.accordion-button {
    font-size: 1rem;
}

.list-unstyled li {
    padding-top: 0;
}

/* header with the font and the spacing of Querbeat */
#adm_main_navbar {
    font-size: 1rem;
    font-weight: normal;
}

#adm_main_navbar .dropdown-toggle {
    padding: 0;
}

#adm_navbar_nav a {
    padding: 0.5rem;
}

/* the participation icons of events are white on the red square of Querbeat */
.admidio-event-approval-state-attend,
.admidio-event-approval-state-tentative,
.admidio-event-approval-state-cancel {
    color: #fff;
}

.admidio-info-icon {
    color: var(--bs-body-color);
    margin-left: 0;
}

/* Admidio stacks button groups on small screens; the participation button of events stays next to the arrow */
@media (max-width: 500px) {
    .btn-group.admidio-event-approval {
        display: inline-flex;
    }

    .btn-group.admidio-event-approval .btn {
        display: flex;
        width: auto;
    }
}
