﻿
.fas, .far, .fab {
    pointer-events: none;
}

.login-body {
    height:auto;
}

a {
    color: var(--wm-primary);
    text-decoration: none;
}
.form-header .big-icon {
    font-size: 4rem;
    text-align:center;
}
.user-info
{
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    font-size: 0.875rem;
    color: white;
    text-decoration: none;
}
.hymncontainer {
    height: calc(100vh - 145px); /* Set a fixed height or use vh */
    overflow-y: hidden;
    border: 1px solid #dee2e6;
}
    .hymncontainer embed, .hymncontainer iframe {
        width: 100%;
        height: 100%;
    }
.modal-fullscreen {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
}
    .header {
        padding: 0;
    }
.form-group{
    margin-bottom:1rem;
}
.nav-bar .drop-right .dropdown-item {
    padding: var(--spacing-sm) var(--spacing-lg);
}
.dropdown-item.active {
    color: var(--wm-primary);
    border-left: 3px solid var(--wm-primary);
    font-weight: 600;
}


.fa.form-control-feedback {
    display: block;
    line-height: 28px;
    font-size: 20px;
    right: 5px;
}

.form-control.is-invalid {
    background: rgba(211, 47, 47, 0.1);
    color: #1a1a1a;
}
    .form-control.is-invalid:focus {
        border-color: rgb(211, 47, 47);
    }
.form-control.is-valid {
    background: rgba(152, 223, 0, 0.1);
    color: #2E7D32
}
    .form-control.is-valid:focus {
        border-color: #98df00;
    }

.filter-panel .dropdown {
    position: relative;
}
.filter-panel .dropdown-menu {
    --bs-dropdown-zindex: 1000;
    --bs-dropdown-min-width: 10rem;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: 0.5rem;
    --bs-dropdown-spacer: 0.125rem;
    --bs-dropdown-font-size: 1rem;
    --bs-dropdown-color: #212529;
    --bs-dropdown-bg: #fff;
    --bs-dropdown-border-color: rgba(0, 0, 0, 0.175);
    --bs-dropdown-border-radius: 0.375rem;
    --bs-dropdown-border-width: 1px;
    --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);
    --bs-dropdown-divider-bg: rgba(0, 0, 0, 0.175);
    --bs-dropdown-divider-margin-y: 0.5rem;
    --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-dropdown-link-color: #212529;
    --bs-dropdown-link-hover-color: #212529;
    --bs-dropdown-link-hover-bg: #f8f9fa;
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: rgba(33, 37, 41, 0.5);
    --bs-dropdown-item-padding-x: 1rem;
    --bs-dropdown-item-padding-y: 0.25rem;
    --bs-dropdown-header-color: #6c757d;
    --bs-dropdown-header-padding-x: 1rem;
    --bs-dropdown-header-padding-y: 0.5rem;
    position: absolute;
    z-index: 1000;
    display: none;
    min-width: 10rem;
    padding: 0.5rem 0;
    margin: 0;
    font-size: 1rem;
    color: #212529;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.175);
    border-radius: 0.375rem;
}
    .filter-panel .dropdown-menu.show {
        display: block;
        opacity: 1;
        visibility: visible;
    }
.filter-panel .dropdown-item input[type=checkbox] {
    margin-right: 0.5rem;
}
.filter-panel .dropdown-item {
    padding: 0.5rem 1rem;
}
.daterangepicker.dropdown-menu{
    display:none;
}

.filter-grid.events-filter {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}


.card-location {
    margin-bottom: var(--spacing-lg);
}

.event-location {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.location-name {
    font-weight: 500;
    color: var(--wm-text-primary);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.location-chapel {
    color: var(--wm-text-tertiary);
    font-size: 0.875rem;
    font-style: italic;
}


.status-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
.status-icon.inactive {
    background: var(--status-inactive);
    color: var(--wm-text-tertiary);
}
.tooltip {
    --bs-tooltip-zindex: 1080;
    --bs-tooltip-max-width: 200px;
    --bs-tooltip-padding-x: 0.5rem;
    --bs-tooltip-padding-y: 0.25rem;
    --bs-tooltip-font-size: 0.875rem;
    --bs-tooltip-color: #fff;
    --bs-tooltip-bg: #4f056d;
    --bs-tooltip-border-radius: 0.375rem;
    --bs-tooltip-opacity: 0.9;
    --bs-tooltip-arrow-width: 0.8rem;
    --bs-tooltip-arrow-height: 0.4rem;
    z-index: 180;
    display: block;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    white-space: normal;
    word-spacing: normal;
    line-break: auto;
    font-size: 0.875rem;
    word-wrap: break-word;
    opacity: 0;
}
    .tooltip .tooltip-arrow {
        display: block;
        width: 0.8rem;
        height: 0.4rem;
    }
.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow, .bs-tooltip-top .tooltip-arrow {
    bottom: calc(-1 * 0.4rem);
}
.tooltip.show {
    opacity: 0.9;
}
.tooltip .tooltip-arrow::before {
    position: absolute;
    content: "";
    border-color: transparent;
    border-style: solid;
}
.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before, .bs-tooltip-top .tooltip-arrow::before {
    top: -1px;
    border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
    border-top-color: var(--bs-tooltip-bg);
}

.tooltip-inner {
    max-width: var(--bs-tooltip-max-width);
    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
    color: var(--bs-tooltip-color);
    text-align: center;
    background-color: var(--bs-tooltip-bg);
    border-radius: var(--bs-tooltip-border-radius);
}
.table.lesspadding tbody td {
    padding: 0.3rem 0.3rem;
}
.table.lesspadding thead th {
    padding: 1rem 0.5rem;
}

.row > div {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

@media (min-width: 575px) {
    .table.lesspadding tbody td {
        padding: 0.4rem 0.5rem;
    }

    .table.lesspadding thead th {
        padding: 1rem 0.5rem;
    }
}
    .text-light {
        color: #e1e1e1;
    }

    .auto-sched {
        height: 1em;
        margin-right: 0.2em;
        margin-top: -0.2em;
    }

    .card-primary .auto-sched-big {
        height: 5em;
        margin-right: 1em;
        min-width: 6em;
    }

    .btn-light {
        background: linear-gradient(135deg, #cfcfcf 0%, #e1e1e1 100%);
        color: #3c3c3c;
        box-shadow: var(--shadow-md);
    }

        .btn-light:hover {
            transform: translateY(-2px);
            box-shadow: var(--shadow-lg);
        }

    .table td {
        border-color: var(--wm-border);
    }

    .table th {
        border-color: var(--wm-accent-mid);
    }

    .border-bottom-row > tbody > tr {
        border-bottom: 5px solid #ede5fa;
    }

    .btn .fas, .btn .fal, .btn .fab {
        line-height: 1.6;
    }

    @media (min-width: 992px) {
        .border-bottom-row-lg-none > tbody > tr {
            border-bottom: 1px solid var(--wm-border);
        }
    }

    @media(max-width: 575px) {

        .btn {
            white-space: normal;
        }

        .table thead th {
            white-space: normal;
        }
    }


    .table.nohover tr:hover, .table.nohover tbody tr:hover {
        background: initial;
        background-color: initial;
    }

    .table-striped.nohover tbody tr:nth-child(odd):hover {
        background: var(--wm-accent-lighter);
    }

    .table.nohover tr.special-row {
        background-color: #e9d7e2;
    }

    .table tr.vt-row, .table tr.vt-row:hover {
        background-color: #e9d7e2;
    }

    .table tr.webcast, .table tr.webcast:hover {
        background-color: rgba(152, 223, 0, 0.1);
    }

    .table tr.recording, .table tr.recording:hover {
        background-color: #d9edf7;
    }

    .table.schedule-table td, .table.schedule-table th {
        border: 1px solid #dfd1f7;
    }

    .table tr.vt-row td {
        border: 1px solid #b277d9;
    }



    .sidebar-card {
        background: var(--wm-surface);
        border-radius: var(--radius-lg);
        padding: var(--spacing-lg);
        box-shadow: var(--shadow-md);
        border: 1px solid var(--wm-border);
    }

    .track-counter {
        text-align: center;
        padding: var(--spacing-xl) var(--spacing-lg);
    }

    .track-count {
        font-size: 3rem;
        font-weight: 700;
        color: var(--wm-primary);
        line-height: 1;
        margin-bottom: var(--spacing-xs);
    }

    .track-label {
        color: var(--wm-text-secondary);
        font-size: 0.875rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .scheduler-sidebar {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-md);
        position: sticky;
    }

    .sidebar-actions {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .sidebar-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--spacing-sm);
        padding: var(--spacing-md);
        background: var(--wm-primary);
        color: white;
        border: none;
        border-radius: var(--radius-md);
        font-weight: 600;
        font-size: 0.9375rem;
        cursor: pointer;
        transition: all 0.2s ease;
        text-decoration: none;
    }

        .sidebar-btn:hover {
            background: var(--wm-primary-light);
            transform: translateY(-2px);
            box-shadow: var(--shadow-md);
        }

        .sidebar-btn.secondary {
            background: var(--wm-accent-light);
            color: var(--wm-primary);
        }

            .sidebar-btn.secondary:hover {
                background: var(--wm-accent-mid);
                color: white;
            }

        .sidebar-btn.action {
            background: var(--action-secondary);
        }


            .sidebar-btn.action:hover {
                background: #1565C0;
            }

    hr {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .card-header-title {
        font-size: 1.125rem;
        font-weight: 600;
        color: var(--wm-primary);
        display: flex;
        align-items: center;
        gap: var(--spacing-sm);
        /*margin-bottom: var(--spacing-xs);*/
    }

    .modal-header {
        border-bottom: var(--wm-primary) solid 1px;
    }

    .info-btn {
        -webkit-text-decoration: none;
        text-decoration: none;
    }


    .collapse:not(.show) {
        display: none
    }

    .collapsing {
        position: relative;
        height: 0;
        overflow: hidden;
        transition: height .35s ease
    }



    /* Service Options */
    .service-options {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: var(--spacing-md);
        margin-top: var(--spacing-lg);
        margin-bottom: var(--spacing-lg);
    }

.service-option {
    background: linear-gradient(135deg, var(--wm-accent-pale) 0%, white 100%);
    border: 2px solid var(--wm-border);
    border-radius: var(--radius-md);
    padding: var(--spacing-sm);
    text-align: center;
    transition: all 0.2s ease;
    cursor: pointer;
    -webkit-text-decoration: none;
    text-decoration: none;
    color: inherit;
 
}


    .service-option.disabled {
        background: linear-gradient(135deg, var(--status-inactive) 0%, #e4e4e4 100%);
    }

    .service-option.active {
        background: linear-gradient(135deg, #e6f6c6 0%, white 100%);
        border-color: var(--status-active);
    }

    .service-option:not(.disabled):hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-md);
        border-color: var(--wm-accent-mid);
    }

    .service-option-icon {
        font-size: 2rem;
        color: var(--wm-primary);
    }

.service-option-title {
    font-weight: 600;
    white-space: nowrap !important;
}

    .service-option-text {
        font-size: 0.875rem;
        color: var(--wm-text-secondary);
        white-space: nowrap !important;
    }
@media (max-width: 768px) {
    .service-option {
        display: flex;
        align-items: center;
        gap: 1rem;
        flex-wrap: wrap;
        text-align:left;
    }
/*    .service-option-text::before{
        content: '- ';
    }*/

}


.card-table, .card-table .table {
    border-top: none;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
}

        .card-table .table {
            border-width: 0;
        }

            .card-table .table th:first-child {
                border-top-left-radius: 0;
            }

            .card-table .table th:last-child {
                border-top-right-radius: 0;
            }

    .rbl td {
        display: flex;
        align-items: center;
        gap: var(--spacing-2);
        padding-left: 0;
        margin-bottom: var(--spacing-3);
    }

    .rbl input {
        width: 1.25rem;
        height: 1.25rem;
        margin: 0;
        appearance: none;
        background-color: var(--wm-surface);
        border: 2px solid var(--wm-border);
        border-radius: var(--radius-sm);
        cursor: pointer;
        transition: all 0.2s ease;
        flex-shrink: 0;
        position: relative;
    }

        .rbl input:focus {
            outline: none;
            border-color: var(--wm-primary);
            box-shadow: 0 0 0 3px rgba(79, 5, 109, 0.1);
        }

    .rbl label {
        font-size: 0.9375rem;
        color: var(--wm-text-primary);
        cursor: pointer;
        user-select: none;
        margin: 0;
    }

    .rbl input:checked {
        background-color: var(--wm-primary);
        border-color: var(--wm-primary);
    }

        .rbl input:checked::after {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 0.375rem;
            height: 0.625rem;
            border: solid white;
            border-width: 0 2px 2px 0;
            transform: translate(-50%, -60%) rotate(45deg);
        }

    .vt-description {
        height: auto;
        background-color: #e9ecef;
        display: inline-block;
    }

    .schedule-table .note-row {
        background-color: #e8f1fa;
    }

    @media (min-width: 768px) {
        .form-filter {
            display: inline-flex;
            flex-wrap: wrap;
            align-items: center;
            width: 100%;
        }

            .form-filter .form-group {
                flex: 50%;
                max-width: 50%;
                padding: 0 .5rem 0 0;
                margin-bottom: 0;
            }

                .form-filter .form-group:last-child {
                    padding: 0;
                }

                .form-filter .form-group.form-group-wide {
                    flex: 100%;
                }

            .form-filter .btn {
                margin: 0 .5rem 0;
                display: inline-block;
                margin-top: 1.9rem;
            }

            .form-filter .multiselect.btn {
                margin-left: 0;
                margin-bottom: 0;
            }
    }

@media (max-width: 768px) {
    .sidebar-card.track-counter {
        display: flex;
        align-items: center;
        column-gap: 1rem;
        padding: 0.5rem 0.75rem;
        margin:0;
    }
}

    @media(min-width:992pxpx) {

        .form-filter .form-group {
            flex: 25%;
            max-width: 25%;
        }

            .form-filter .form-group.form-group-wide {
                flex: 50%;
                max-width: 50%;
            }
    }

    @media(min-width:1200px) {
        .form-filter .form-group {
            flex: 20%;
            max-width: 20%;
        }

            .form-filter .form-group.form-group-wide {
                flex: 40%;
                max-width: 40%;
            }

        .TrackSearchBox .form-filter .form-group.form-group-wide {
            flex: 60%;
            max-width: 60%;
        }

        .form-filter .form-group.form-group-date {
            flex: 33%;
            max-width: 33%;
        }
    }

    .flex-column hr {
        width: 100%;
    }

    .docs-panel ul {
        padding-inline-start: 40px;
        margin-bottom: 1rem;
    }



    /*#region Hymn Words*/
    .hymn-words {
        text-align: center;
    }

        .hymn-words a {
            display: block;
            text-transform: capitalize;
        }

        .hymn-words h2 {
            margin-top: 40px;
        }

    ul.alpha {
        padding: 0;
        margin: auto;
    }

        ul.alpha li {
            display: inline-block;
            font-size: 18px;
        }

    /*#endregion*/

    /*#region Resources*/
    .pdfFrame {
        width: 100%;
        display: block;
        overflow: hidden;
        border: 1px solid #e3e3e3;
        position: relative;
    }

        .pdfFrame:before {
            content: '';
            content: '';
            display: block;
            position: absolute;
            height: 100%;
            width: 100%;
            background-color: rgba(255,255,255, 0);
        }

        .pdfFrame embed {
            height: 100%;
            width: 100%;
            overflow: auto;
            -webkit-overflow-scrolling: touch;
        }

    @media (min-width:992px) {
        .pdfFrame {
            min-height: 60vh;
        }
    }


    #HymnModal {
        padding: 1rem;
    }


        #HymnModal .modal-body,
        #HymnModal .modal-body > div {
            height: 100%;
            overflow-y: auto;
        }



        #HymnModal .modal-dialog {
            width: 100%;
            max-width: none;
            height: 100%;
            margin: 0;
        }

        #HymnModal .modal-content {
            height: 100%;
            border: 0;
            border-radius: 0;
        }


    /*#endregion*/


    /* ---------------------------------------------------------------
   Drag and drop schedule items
   --------------------------------------------------------------- */

    /* Drag handle appearance */
    .schedule-area .drag-handle {
        display: inline-block;
        cursor: grab;
        padding: 0 8px 0 2px;
        color: #aaa;
        vertical-align: middle;
        user-select: none;
        -webkit-user-select: none;
    }

        .schedule-area .drag-handle:active {
            cursor: grabbing;
        }

        .schedule-area .drag-handle:hover {
            color: #555;
        }

    /* Card being dragged — ghost stays visible but dims the original */
    .schedule-area tr.rep-dragging {
        opacity: 0.4;
        box-shadow: none;
    }

    /* Drop-position indicator lines */
    .schedule-area tr.rep-drop-before {
        border-top: 3px solid #337ab7;
        margin-top: -1px; /* compensate so layout doesn't jump */
    }

    .schedule-area tr.rep-drop-after, .table tbody tr.rep-drop-after:last-child {
        border-bottom: 3px solid #337ab7;
        margin-bottom: -1px;
    }

    /* Smooth transition so the indicator appears cleanly */
    .schedule-area tr {
        transition: border-color 0.1s ease, opacity 0.15s ease;
    }

    .track-number-container {
        justify-content: center;
    }

    #NavBar_ManageMenu .drop-right .dropdown-item {
        padding: var(--spacing-xs) var(--spacing-lg);
    }

    #NavBar_ManageMenu .dropdown-item strong {
        margin-bottom: 0;
    }

    .sitem-drag .drag-handle {
        touch-action: none; /* the handle owns the gesture; rows scroll normally */
        -webkit-user-select: none;
        user-select: none;
        cursor: grab;
    }

    .sitem-drag.rep-dragging {
        opacity: 0.4;
    }

    .rep-touch-clone {
        pointer-events: none;
    }