body{
    background-image: url("../img/background.jpg");
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
}

a[onclick], a[href]{
    cursor: pointer
}

a.disabled{
    cursor: default !important;
    color: var(--bs-secondary) !important;
}

.hidden{
    display: none !important;
}

.glass{
    background-color: rgba(255,255,255,0.5);
    backdrop-filter: blur(7px);
    border: 1px solid white;
    padding: 2em;
}

.glass-rounded{
    border-radius: 15px;
}

#saveText{
    color: grey;
}

#editorWindow{
    position: absolute;
    left: 0;
    right: 0;
    top: 40px;
    bottom: 0;
}

#pdfViewer{
    position: absolute;
    left: 0;
    right: 0;
    top: 40px;
    bottom: 0;
    overflow-y: auto;
    background: #777;
    display: flex;
    flex-direction: column;
    align-items: center;
    scroll-behavior: smooth;
}

#pdfViewer canvas {
  margin: 10px auto;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
#pdfViewerWindow .modal-content .not-fullscreen{
    display: block;
}

#pdfViewerWindow .modal-content .only-fullscreen{
    display: none;
}
#pdfViewerWindow .modal-content:fullscreen .not-fullscreen{
    display: none;
}

#pdfViewerWindow .modal-content:fullscreen .only-fullscreen{
    display: block;
}

.modal-body:has(#pdfViewer){
  height: 82vh;
}

.modal-body #pdfViewer{
    top: 0px;
}

ul.nav.tools .nav-link{
    cursor: pointer;
}

ul.dropdown-menu li{
    cursor: default;
}

.nav-link.not-clickable, .nav-link.not-clickable:hover{
    color: black
}

.CodeMirror{
    height: 100% !important;    
}

.song-list :is(td:not([colspan]):last-child){
    text-align: right;
}

.table>#listContent>tr:has( input[type="checkbox"]:checked)>:is(td, th){
    box-shadow: inset 0 0 0 9999px #95c1ff;
}

.loaderProgressBarDots::after{
    content: "...  ";
    animation-name: dots;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}

#songProperties textarea.form-control{
    resize: none;
}

@keyframes dots{
    0%{
        content: "...  ";
    }
    33%{
        content: " ... ";
    }
    66%{
        content: "  ..."
    }
    100%{
        content: "...  ";
    }
}