@import url('https://fonts.googleapis.com/css2?family=Audiowide&&display=swap');
/*
html::-webkit-scrollbar {
    display: none;
}*/
html[data-theme='dark']{
    --color-body-background: #111;
    --color-paper-background: #223;
    --color0: lightgray;
    --filter1: invert(49%) sepia(89%) saturate(6583%) hue-rotate(269deg) brightness(100%) contrast(106%);
    --filter2: var(--filter-to-color5);
    --emph-text: var(--color5);
    --emph-background: var(--color2);
    --dark-text: var(--color6);
    --chords-color: var(--color5);
    --black-transparent: hsla(0, 0%, 100%, 0.1);
    --color-background-90: hsla(240, 20%, 17%,.85);
    
}
body{
    background-color: var(--color-body-background);
    color: var(--color0);
    overflow-x: hidden;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
    /* font-family: 'Segoe UI', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif */
}
#wrapper{
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
}
hr{
    border-top: 1px solid var(--black-transparent);
}
main{
    background-color: var(--color-paper-background);
    min-height: 100vh;
    transition: margin-left .5s;
}
div#song{
    padding-bottom: 50vh;
    position: relative;
    font-size: clamp(.75rem, 2vw + .5rem, 1.25rem)
    /* font-size:1.25rem; */
}
.song-meta{
    display: flex;
    flex-wrap: wrap;
    position:relative;
    margin-top: 1rem;
    align-items: baseline;

}
.song-idx>h3{
    width: 4ch;
    margin-right: .5em;
    padding-left: .125em;
    padding-right: .125em;
    margin-bottom: 0;
    background-color: var(--emph-background);
    color: var(--emph-text);
    text-align: center;
    line-height: 1.2;
    margin-top: 0;
    font-size: 1.75rem;
}
#song-title,
#song-artist{
    color: var(--dark-text);
    margin-right: 1rem;
}
#song-artist{
    margin-right: .5rem;
}
.marker-pad:nth-last-child(2){
    padding-right: 5.25rem;
}

#song-ytlink{
    align-self: end;
}
#song-ytlink img{
    width: 1.5rem;
}
div.song-section{
    margin-bottom: 1em;
}
div.song-section:last-child{
    margin-bottom: 0;
}
div#song.chords-above > section > div.song-section{
    margin-bottom: 2em
}

.song-section.tab{
    font-size: .7em;
}


div#tools {
    background-color: rgba(255, 255, 255, 0.9);
}
.chords{
    margin-left: 0rem;
}
span#artist{
    padding-left: 1.5rem;
}
.remark{
    font-weight: 300;
    font-style: italic;
    color:var(--color-remark);
    font-optical-sizing: initial;
    text-decoration-color: var(--color-remark);
    text-decoration-style: solid;
    text-decoration-line: underline;
    text-decoration-thickness: from-font;
}

span.textsuperscript{
    font-size: .5em;
    vertical-align: super;
    font-style: italic;
}
/* ----- Toggle switch checkbox ---------------------------------------------*/

.toggle-checkbox{
    --color-toggle-inactive: slategray;
    --color-toggle-active: var(--color3);
    --color-toggle-active-shadow: rgba(74, 0, 105, .5);
    --toggle-size: 2.5rem;
    
    display: flex;
    align-items: center;
}

.toggle-checkbox > input[type=checkbox]{
	height: 0;
	width: 0;
	visibility: hidden;
}
.toggle-checkbox > label {
    cursor: pointer;
	text-indent: -9999px;
	width: var(--toggle-size);
	height: calc(var(--toggle-size) /2);
	background: var(--color-toggle-inactive);
	border: 1px solid var(--color-toggle-inactive);
	box-shadow: inset 0px 0px calc(var(--toggle-size)/20) calc(var(--toggle-size)/100) white;
	display: block;
	border-radius: calc(var(--toggle-size) /2);
	position: relative;
}

.toggle-checkbox > label:after {
    content: '';
	position: absolute;
	top: calc(var(--toggle-size) * .03); /* for bigger sizes increase to eg. .4 */
	left: calc(var(--toggle-size) * .05);
	width: calc(var(--toggle-size) * .40);
	height: calc(var(--toggle-size) * .40);
    background:linear-gradient(white, var(--color-toggle-inactive));
	box-shadow: 0px 0px calc(var(--toggle-size)/20) calc(var(--toggle-size)/100) rgba(0, 0, 0, .5);
	border-radius: calc(var(--toggle-size) * .40);
	transition: 0.25s;
}

.toggle-checkbox>input:checked + label {
    background: var(--color-toggle-active);
	border: 1px solid var(--color-toggle-active);
}

.toggle-checkbox > input:checked +  label:after {
    left: calc(100% - (var(--toggle-size) * .05));
	transform: translateX(-100%);
    box-shadow: 0px 0px calc(var(--toggle-size)/40) calc(var(--toggle-size)/40) var(--color-toggle-active-shadow);
}

.toggle-checkbox > label:active:after {
    width: calc(var(--toggle-size) * .45);
}
.toggle-checkbox>span{
    padding-left:.5em;
    font-size: 0.75rem;
    text-transform: uppercase;
}

/* --------- welcome page --------------------- -----------------------------*/
#qr-logo{
    cursor: pointer;
}
/* --------------------------------------------------------------------------*/
.icon{
    width: 2rem;
    height: 2rem;
    filter: var(--filter-to-color4);
    cursor: pointer;
}
.icon>img{
    width: 2rem;
}
.icon:hover{
    filter: var(--filter-to-color5);
}
.song-toolbar .btn-group + .btn-group{
    display: none;
}
/* ----------fancy buttons with saddle gradient -----------------------------*/
.btn-group > .btn-group:not(:last-child) > .btn-grad,
.btn-group > .btn-grad:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.btn-group > .btn-group:not(:first-child) > .btn-grad,
.btn-group > .btn-grad:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.btn-group > .btn-group:not(:first-child),
.btn-group > .btn-grad:not(:first-child) {
    margin-left: -1px;
}
.btn-sm{
    padding:.5rem !important;
}
.btn-grad {
    position:relative;
    padding: .5rem;
    background-image: linear-gradient(to bottom, hsl(0, 0%, 100%) 0%, hsl(0, 0%, 81%)  51%,hsl(0, 0%, 100%)   100%);
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 0 .3em #eee;
    border: 1px solid slategray;
    border-radius: .25rem;
}

.btn-grad:focus:hover,
.btn-grad:hover{
    box-shadow: inset 0 0 .5em var(--color3);
}

/* --------------------------------------------------------------------------*/
.blink {
    -webkit-animation: BLINK_EFFECT 2s infinite; /* Safari 4+ */
    -moz-animation:    BLINK_EFFECT 2s infinite; /* Fx 5+ */
    -o-animation:      BLINK_EFFECT 2s infinite; /* Opera 12+ */
    animation:         BLINK_EFFECT 2s infinite; /* IE 10+, Fx 29+ */
  }

@keyframes BLINK_EFFECT {
    0%, 49% {box-shadow: inset 0 0 10px var(--color3);}
    50%, 100% {box-shadow: inset 0 0 10px slategray;}
}
@-webkit-keyframes BLINK_EFFECT {
    0%, 49% {box-shadow: inset 0 0 10px var(--color3);}
    50%, 100% {box-shadow: inset 0 0 10px slategray;}
}

/* --------------------------------------------------------------------------*/

.box-standout {
    border-radius: .3rem;
    box-shadow: 0px 0px 15px 0 rgb(0 0 0 / 30%);
    margin-bottom: 0;
}
.switches-container{
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(2, max-content);
}


/* --------------------------------------------------------------------------*/
/*remove outline on btn click*/
:focus:not(:focus-visible) {
    outline: 0;
    box-shadow: none;
}
  
.bg-dark{
    background-color: var(--color1) !important;
}
.song-toolbar{
    display:flex;
    padding: 0;
    position: sticky;
    top: 0;
    background-color: var(--color-background-90);
    z-index:1;
}
.song-toolbar img{
    display: flex;
    width: var(--button-size);
}
.song-toolbar .btn-group ~ .btn-group{
    padding-left: .5rem;
}
.btn-group{
    display: inline-flex;
}
.btn-group.prev-next-song{

}
/* ------------------------------------------------------------------------- */
/* fancy ribbon-like markers */

.markers-wrapper{
    display:flex;
    position: absolute;
    right: var(--marker-right, 0px);
    top: var(--marker-top, -3px);
    gap: .25rem;
}

.marker {
    /* position: absolute; */
   
    filter: drop-shadow(2px 3px 2px rgba(0, 0, 0, 0.5));
  }
  .marker > .content {
    color: white;
    font-size: 1.25rem;
    text-align: center;
    font-weight: 400;
    background: var(--color2) linear-gradient(45deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.25) 100%);
    padding-bottom:8px;
    padding-top:2px;

    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 100%, 0 100%);
    width: var(--marker-width, 40px);
    min-height: var(--marker-height, 36px);
    transition: clip-path 1s, padding 1s, background 1s;
  }
  .marker.slant-up > .content {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), 50% calc(100% - 6px), 0 100%);
  }
  .marker.slant-down > .content {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 6px), 0 calc(100% - 12px));
  }
  .marker.down > .content {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), 50% 100%, 0 calc(100% - 8px));
  }
  .marker.up > .content {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 8px), 0 100%);
  }
  .marker.check > .content {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), 40% 100%, 0 calc(100% - 12px));
  }

/* --- scale notes (optional feature) ----------------------------------------*/
#scale-degrees-placeholder{
    display:none;
    position: sticky;
    top: calc(100vh  - 2.5rem);
    height: 0; /* to prevent blank apace belowe toolbar due to top position change*/
    z-index: 1030;
}

.pills-container{
    padding-top: .25em;
    padding-bottom: .25em;
    display: flex;
    justify-content: flex-end;
    gap:.5em;
    background: var(--color-background-90);
}

.pill{
    display: flex;
    color: var(--color1);
    border: 2px solid var(--color2);
    background-color: var(--color6);
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    flex-grow: 0;
    flex-shrink: 0;
    border-radius: 50%;
}

@media print{
    .no-print, .no-print *{
        display:none !important;
    }
    #page-body{
        margin-left: 0;
    }
}
@media only screen and (max-width: 392px){
    .song-toolbar img{
        width: 1rem; 
    }
}
/* ------------------------------------------------------------------------- */

/* @media (prefers-color-scheme: dark) {
    body,
    .container-fluid,
    .nav-toc,
    .toc-header,
    .search-toc,
    main,
    main >*{
        background-color: var(--color-background-dark) !important;
        color: var(--color6);
    }
    span.chunk-chord::before,
    span.chunk::before,
    #song-title,
    #song-artist,
    .toc-body  *{
        color: var(--color6) !important;
    }
    .song-idx{
        background-color: var(--color3);
        color: var(--color6);

    }
} */