:root {
    --gray-100:hsl(0,0%,95%);
    --gray-200:hsl(0,0%,92%);
    --gray-300:hsl(0,0%,90%);
    --gray-400:hsl(0,0%,92%);
    --gray-500:hsl(0,0%,79%);
    --gray-600:hsl(0,0%,66%);
    --gray-700:hsl(0,0%,56%);
    --gray-800:hsl(0,0%,49%);
    --gray-900:hsl(0,0%,40%);
    --gray-1000:hsl(0,0%,9%);

    --background: #f0f0f0;
    --beepblue100: #7bd4fb;
    --beepblue200: #5ab4da;
    --beepblue300: #4993b2;
    --beepblue400: #3a748d;
    --beepblue500: #2b5668;
    --beepblue600: #1c3843;
    --beepgreen100: #43e399;
    --beepgreen200: #38bf80;
    --beepgreen300: #2e9c69;
    --beepgreen400: #247b53;
    --beepgreen500: #1b5c3e;
    --beepgreen600: #113b28;
    --beeppurple100: #e1bee0;
    --beeppurple200: #ce97cd;
    --beeppurple300: #bb6fba;
    --beeppurple400: #a746a5;
    --beeppurple500: #7c347a;
    --beeppurple600: #512250;

    --spacing-one: 5px;
    --spacing-two: 10px;
    --spacing-three: 20px;
    --spacing-four: 40px;

}

.beepdark {
    --gray-1000:hsl(0,0%,95%);
    --gray-900:hsl(0,0%,92%);
    --gray-800:hsl(0,0%,90%);
    --gray-700:hsl(0,0%,92%);
    --gray-600:hsl(0,0%,79%);
    --gray-500:hsl(0,0%,66%);
    --gray-400:hsl(0,0%,56%);
    --gray-300:hsl(0,0%,49%);
    --gray-200:hsl(0,0%,40%);
    --gray-100:hsl(0,0%,9%);

    --background: #303030;
    --beepblue100: #274d5d;
    --beepblue200: #32657a;
    --beepblue300: #40809c;
    --beepblue400: #51a1c3;
    --beepblue500: #64c8f3;
    --beepblue600: #cceefd;
    --beepgreen100: #185237;
    --beepgreen200: #1f6b48;
    --beepgreen300: #28895c;
    --beepgreen400: #32ab73;
    --beepgreen500: #3fd590;
    --beepgreen600: #b1f8d7;
    --beeppurple100: #6f2f6d;
    --beeppurple200: #913d90;
    --beeppurple300: #b057af;
    --beeppurple400: #c480c2;
    --beeppurple500: #daafd9;
    --beeppurple600: #f3e5f2;
  }



.d-flex{
    display:flex;
}

.m-0{
    margin:0;
}
.p-0{
    padding:0;
}

.p-1{
    padding:var(--spacing-one);
}
.p-2{
    padding:var(--spacing-two);
}
.p-3{
    padding:var(--spacing-three);
}
.p-4{
    padding:var(--spacing-four);
}
.my-1{
    margin-top: var(--spacing-one);
    margin-bottom: var(--spacing-one);
}
.my-2{
    margin-top: var(--spacing-two);
    margin-bottom: var(--spacing-two);
}
.my-3{
    margin-top: var(--spacing-three);
    margin-bottom: var(--spacing-three);
}
.my-4{
    margin-top: var(--spacing-four);
    margin-bottom: var(--spacing-four);
}

.mb-3{
    margin-bottom: var(--spacing-three);
}

.mb-4{
    margin-bottom: var(--spacing-four);
}
.bg-dark{
    background-color: var(--gray-700);
}
.visually-hidden{
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    white-space: nowrap;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}
.compliance-list-item{
    padding-bottom:20px;
    font-size: 1rem;
    /* border-bottom: 1px solid #eee; */
}

.compliance-list{
    padding-top:20px;
}

.compliance-list .compliance-list-item{
    text-decoration: none;;
    display:flex;
    padding:var(--wp--preset--spacing--20);
    margin-top:20px;
    border: 1px solid #ccc;
    border-radius: 5px;
}
.badges{
    display: flex;
}
.badge{
    border: 2px solid var(--wp--preset--color--secondary);
    border-radius: 17px;
    padding: 0px 20px 0px 0px;
    font-size: 75%;
    color:var(--wp--preset--color--secondary);
    margin-right: 15px;
    vertical-align: middle;
}
span.badge{
    display: inline-block;
}

.badge:before{
    content: " ";
    width: 30px;
    height: 30px;
    display: inline-flex;
    vertical-align: middle;

    background-repeat: no-repeat;
    background-size: 20px 20px;
    background-position: 5px 50%;
    filter: brightness(40%) sepia(100%) hue-rotate(260deg) saturate(240%);
}
.badge-audiofile:before{
    background-image: url("svg/waveform.circle.svg");
}
.badge-stems:before{
    background-image: url("svg/ellipsis.circle.svg");
}
.badge-transcript:before{
    padding-left:4px;
    background-image: url("svg/doc.text.below.ecg.svg");
}
.badge-music-meta:before{
    padding-left:4px;
    background-image: url("svg/music.infonote.3.svg");
}

.badge-download{
    padding-left:2px;
}
.badge-download:before{
    background-size: 18px 25px;
    background-image: url("svg/square.and.arrow.down.svg");
}

.icon{
    content: " ";
    width: 30px;
    height: 30px;
    display: inline-flex;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    background-position: 5px 50%;
    /* filter: brightness(40%) sepia(100%) hue-rotate(260deg) saturate(240%); */
}

.icon-grey{
    filter: brightness(40%) sepia(0%) hue-rotate(0deg) saturate(0%);
}

.icon-primary{
    filter: brightness(0) saturate(100%) invert(74%) sepia(68%) saturate(1020%) hue-rotate(168deg) brightness(101%) contrast(96%);
}

.icon-plus{
    background-image: url("svg/plus.square.fill.svg");
}
.icon-chevron-right{
    background-image: url("svg/chevron.forward.circle.fill.svg");
}
.icon-waveform{
    background-image: url("svg/waveform.circle.fill.svg");
}

.icon-filedownload{
    background-size: 18px 24px;
    background-image: url("svg/arrow.down.doc.svg");
}

.icon-zoom-in{
    background-size: 24px 24px;
    background-image: url("svg/plus.magnifyingglass.svg");
}

.icon-zoom-out{
    background-size: 24px 24px;
    background-image: url("svg/minus.magnifyingglass.svg");
}
.icon-zoom-wav{
    width: 30px;
    background-position: -4px 0px;
    background-size: 35px 26px;
    background-image: url("svg/waveform.badge.magnifyingglass.svg");
}

.icon-play{
    background-size: 24px 24px;
    background-image: url("svg/play.fill.svg");
}

.icon-chevron-left-line{
    background-size: 17px 22px;
    background-image: url("svg/chevron.left.svg");
}

.icon-pause{
    background-size: 20px 24px;
    background-image: url("svg/pause.fill.svg");
}
.icon-volume{
    width:36px;
    background-size: 24px 16px;
    background-image: url("svg/speaker.wave.3.fill.svg");
}

.icon-diag-arrow{
    width:30px;
    background-size: 24px 24px;
    background-image: url("svg/arrow.up.forward.circle.fill.svg");
}
.icon-info{
    background-size: 24px 24px;
    background-image: url("svg/info.circle.fill.svg");
}



.scrolltext{
    /* white-space: pre; */
    overflow-y: auto;
    width: 100%;
    max-height: 50vh;
}
.utterance{
    font-size: 85%;
    padding-left:15px;
    border-bottom: 1px solid #eee;
}

.your-message{
    font-size: 200%;
    color: var(--wp--preset--color--secondary);
    font-weight: bold;
}

.woocommerce-account.beep-dashboard .wp-block-post-title,
.woocommerce-account.beep-dashboard main .woocommerce{
    max-width: 100%;
}

#beep-account-credits{
    margin-top:-75px;
}
#beep-account-credits .wp-element-button{
    margin-left: auto;
    margin-right: 0;

    /*top:-2em;*/
}


.user-scrub-row button,
a.wp-element-button,
input.wp-element-button,
button.wp-element-button{
    border-radius: 3em;
}
input[type=file]{
    font-family: inherit;
    font-size: var(--wp--preset--font-size--medium);
}
input::file-selector-button {
    font-weight: bold;
    background-color: var(--wp--preset--color--contrast);
    color: var(--wp--preset--color--base);
    line-height: inherit;
    padding-top: 1rem;
    padding-right: 2.25rem;
    padding-bottom: 1rem;
    padding-left: 2.25rem;
    border: none;
    border-radius: 3em;
    cursor: pointer;
    margin-right: 1.5em;
}

input::file-selector-button:hover {
    opacity: 0.8;
}

.light-info-box{
    font-size: 75%;
    padding: var(--wp--preset--spacing--20);
    padding-left: 50px;
    color: #444;
    background-color: #eee;
    border-radius: 5px;
    background-size: 30px 20px;
    background-position: 10px 15px;

    background-image: url("svg/exclamationmark.brakesignal.svg");
    background-repeat: no-repeat;
}

.audiowavform{
    width:100%;
    height:250px;
    background-repeat: no-repeat;
    background-size:contain;
    background-position:center;
    position: relative;

}

.scrub-point{
    position:absolute;
    display: block;
    top:0px;
    height:250px;
    background-color: #aa000082;
}

.scrubbed-word{
    display:none;
}

.scrub-point:hover .scrubbed-word {
    display:block;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 auto;
    text-align: center;
    width: auto;
    padding: 5px 10px;
    white-space: nowrap;
    background-color: #aa0000bb;
    color: white;
    z-index: 10;
}

.text-two-col{
    column-count: 2;
    column-gap: 20px;
}

.text-three-col{
    column-count: 3;
    column-gap: 20px;
    padding:20px;
    column-rule: 1px solid lightgrey;
    text-align: start;
    vertical-align: top;
}
.text-three-col p{
    margin-top: 0;
}
.status-table{
    font-size: 85%;
    color: #555;
    background-color: #fafafa;
    border-radius: 5px;
    padding:var(--wp--preset--spacing--50)

}
.status-table td{
    border-bottom: 1px solid #eee;
    padding: 10px 
}
.status-icon{
    display: block;
    text-indent: -9999px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #ccc;
}

.status-created{
    background-color: #999;
}
.status-ready{
    background-color: #e2c800;
}
.status-running{
    background-color: #e28f00;
}
.status-complete{
    background-color: #2aa31f;
}
.status-detail{
    font-size: 70%;
    color: #aaa;
}

.track-info:not(:first-of-type) {
    border-top: 1px solid #e0e0e0;
    margin-top: 10px;
    padding-top: 10px;
    padding-left:20px;
}

a.see-more-tracks{
    display: block;
    font-size: 0.8em;
    margin: 5px 0px;
    padding: 5px 5px 10px 10px; 
    color: var(--wp--preset--color--secondary);
}
.confidence-badge{
    /* background-color: #0073a8;  */
    color: white; 
    padding: 2px 5px; 
    margin-left: 10px; 
    border-radius: 3px; 
    font-size: 0.8em;
}
.simple-chat{
    margin-top:20px;
    padding:20px;
}
.simple-chat h4 small{
    font-weight: normal;
}
.simple-chat small{
    color: var(--wp--preset--color--secondary);
    font-size: 0.8em;
}

.simple-chat button[type="submit"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.simple-chat button[type="submit"].processing {
    background-color: #9c9c9c; /* Optional: change background to indicate processing */
}

.simple-chat form small{
    display: block;
    text-align: right;
    margin-bottom: -1em;
}
textarea#question{
    width:100%;
}

#chat-history div{
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 0px;
}

#chat-history .question:before{
    content: " "; 
    background-image: url("svg/questionmark.bubble.fill.svg");
    width: 40px; 
    height: 30px;
    display: inline-block;
    background-size: 28.5px 29px;
    background-position: 0px 0px;
    background-repeat: no-repeat;

}

#chat-history .question{
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    background-color: rgba(0,0,0,0.04);
}
#chat-history .answer{
    top-left-radius: 0px;
    top-right-radius: 0px;
    background-color: rgba(255, 255, 255, 0.7);
    margin-bottom: 40px;
}
.faketest{
    background-color: #aa0063a8;
    color: #904800a8;
}

span.scrubbed,
span.review{
    font-weight: bold;
    padding:5px;
}

span.review{
    background-color: #aa004d0c ;
    color: var(--wp--preset--color--secondary);
    cursor: help;
    border-bottom: 1px dotted var(--wp--preset--color--secondary);
}
span.scrubbed{
    background-color: #5b007904 ;
    color: #5b0079;
    text-decoration: line-through;
}

.tooltip {
    position: absolute;
    background-color: #333;
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 14px;
    pointer-events: none;
    z-index: 100;
    opacity: 0;
    transition: opacity 0.3s;
    max-width: 200px;
    text-align: center;
}

/* wave view */
.editor-container{
    display:flex;
    justify-content: space-around;
    margin: var(--spacing-one);
    gap: var(--spacing-one);
}

.waveform-container {
    /* margin: 0 0 24px 0; */
    border: 1px solid #ccc;
    padding:1px;
    margin: 0px auto;
    /* width: 100%; */
    line-height: 0;
    overflow: clip;
    background-color: white;
    position: relative;
}
#zoomview-container {
    height: 200px;
    margin: 0;
    line-height: 0;
}

#overview-container {
    height: 36px;
    background-color: #ccc;
    margin: 5px 0px 1px 0px;
}

#scrollbar-container {
    height: 26px;
    background-color: #ccc;
}

.card-waveform{
    /* flex-grow ,     flex-shrink,    flex-basis */
    flex:0 2 auto; 
    /*max-width: 95vw; */
    max-width:79%;
    padding: var(--spacing-one);
    border: 1px solid var(--gray-400);
    background-color: white;
}

#review-table {
    flex:2 0 auto; 
    scrollbar-gutter: stable;
    min-width: 10em;
    width:20%;
    height: 400px;
    margin-top: 0em;
    margin-bottom: 0em;
    overflow-y: scroll;
}

#waveform-table {
    max-height: 100%;
    

    margin-top: 0em;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}
/* 
#waveform-table,
#waveform-table table {
    width: 100%;
} */

#waveform-table table tr {
    background-color: #ffffff;
}

#waveform-table table tr:nth-child(even) {
    background-color: #f2f2f2;
}

.view-controls-container {
    background: #b7b7b7;
    align-items: center;
    padding: 0px 8px;
}

.view-controls-container div {
    align-items: center;
    /*height: 3.4em;*/
    display: flex;
}

#waveform-table button,
.view-controls-container button {
    border: 1px solid black;
    background: #444;
    padding: 8px;
    color: white;
    border-radius: 50%;
    margin: 8px 4px;
}
#waveform-table button:hover,
.view-controls-container button:hover {
    background: #555;
    border: 1px solid #777;
    box-shadow: 0 0 16px #ffffff96;

}

.view-controls-container div label {
    display: inline;
    margin-left: 20px;
    width:30px;
}


.user-scrub-row{
    margin-top: var(--spacing-two);
    /* max-width: 23em; */
    width: 20%;
    text-align: left;
    margin-right: var(--spacing-one);
    margin-left: auto;
}
.user-scrub-row p{
    font-size: 1rem;
    display: block;
    margin: 0.5em;
    text-align: center;

}


.user-scrub-row button.btn-success{
    margin: auto 10%;
    border: 0;
    width: 80%;
    background-color: rgba(70, 200, 255, 0.8);
    padding: var(--spacing-one);
    color: white;
    font-size: 1.3rem;

}

.user-scrub-row button.btn-success:disabled{
    background-color: #aaa;
}

.user-scrub-row button.btn-success:hover:not([disabled]){
    background-color: rgba(70, 200, 255, 1.0);
    cursor: pointer;
}

input[type=range]{
    max-width: 20vw;
    min-width: 100px;
}

/* 
.segment-tabs{
    display: flex;
}

.segment-tabs > *{
    display: flex;
    width: auto;
}
.segment-tabs label{
    display: inline;
    color: #323232b4;
    background-color: #aaaaaa7a;
    border-bottom: 2px solid #0000001b;
    padding:8px 16px ;
}

.segment-tabs label:first-of-type{
    border-top-left-radius: 10px;
}

.segment-tabs label:last-of-type{
    border-top-right-radius: 10px;
}

.segment-tabs input[type="radio"]{
    display: none;
}
.segment-tabs input[type="radio"]:checked+label {
    background-color: var(--wp--preset--color--secondary);
    color: #ffffff;
    border-bottom-color: #00000081;
} */


/* TABLE LAYOUT */
 
table.segment-table , .segment-table tr, .segment-table td, .segment-table th{
    border-collapse: collapse;
    border-spacing: 0;

}
.segment-table th {
    position: sticky;
    top: 0;
    text-align: center;
    font-size: 80%;
    background-color: white;
    margin: 0;
    box-shadow: 0px 4px 8px -3px rgba(0, 0, 0, 0.2); 
    z-index: 999;
}

.segment-table input{
    padding: 4px;
    margin:8px;
}

.segment-table td {
    padding: 0;
} 

.active-word {
    color: #d9534f;        /* a red color */
    text-decoration: underline;
}
.transcript-line span:hover{
    cursor:pointer;
    background-color: rgba(60, 0, 188, 0.2);
}

.segment-table a.seek-link .icon{
    width: 24px;
    background-size: 16px 16px;
}
.segment-table td.time{
    font-size: 80%;
}
.segment-table label{
    text-align: center;
    padding: 5px 15px;
    cursor: pointer;
}
.segment-table label:hover{
    background-color: rgba(0, 153, 255, 0.1);
}
.segment-table input[type="checkbox"]{
    width:25px;
    height:25px;
}

a.seek-link{
    padding: 10px;
    text-decoration: none;
    cursor: pointer;
    display: block;
}

a.seek-link:hover{
    background-color: rgba(0, 80, 133, 0.3);
}
a.seek-link:hover .icon{
    filter: invert(95%);
    /* filter: brightness(0) saturate(100%) invert(40%) sepia(5%) saturate(4187%) hue-rotate(153deg) brightness(92%) contrast(91%); */
}

a.quiet-link{
    text-decoration: none;
    color: var(--gray-800);
}

a.quiet-link:hover{
    color: var(--gray-1000);
}

a.quiet-link:hover .icon{
    filter: invert(99%);
}

.editor-header .icon{
    background-size: 14px 18px;
}

#transcript-container{
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    position: relative;
    padding: 8px 0px;
    background-color: white;

}
.transcript-line{
    display: inline-block;
    transition: transform 0.2s ease-out;
}
/*
  .radio-toolbar input[type="radio"] {
    display: none;
  }
  
  .radio-toolbar label {
    display: inline-block;
    background-color: #ddd;
    padding: 4px 11px;
    font-family: Arial;
    font-size: 16px;
    cursor: pointer;
  }
  
  .radio-toolbar input[type="radio"]:checked+label {
    background-color: #bbb;
  }*/

 body .beep-editor{
    font-size: 1rem;
 } 

.tab-container {
    display: flex;
    gap: 24px; /* Spacing between buttons */
    margin-bottom: 0px; /* Space between tabs and content */
    box-shadow: 0 -3px 2px -2px var(--gray-400) inset;
    border-bottom: 1px solid var(--gray-400);
}

.tab-button {
    background-color: transparent;
    border: none;
    font-size: 1rem;
    /* var(--wp--preset--font-size--large); */
    padding: 10px 15px;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    color: var(--gray-800);
    transition: border-color 0.3s ease;
}

.tab-button:hover {
    color: var(--gray-1000);
}

.tab-button.active {
    color: var(--gray-1000);
    border-bottom: 2px solid var(--gray-1000);
}

.tab-content {
    padding: 20px;
    border: 1px solid #ccc;
    border-top: none; /* visually connect to tabs */
    border-radius: 0 5px 5px 5px; /* Rounded bottom corners */
}


.wp-block-separator.quiet{
    border-bottom:none;
    border-top: 1px solid var(--gray-200);
    height:1px;
}

a.btn,
#downloads-content a{
    padding:10px 20px;
    text-decoration:none;
    border: 1px solid var(--gray-600);
    border-radius: 50px;
    color: var(--gray-800);

}

#downloads-content a{
    max-width: 25em;
}

#downloads-content a:hover{
    border: 1px solid var(--gray-900);
    color: var(--gray-1000);
    box-shadow: 0 1px 5px var(--gray-400);
    background-color: var(--gray-100);
}

#downloads-content time{
    font-size: 75%;
    color: var(--gray-800);
}



.card-info{
    padding: var(--spacing-three);
    border: 1px solid var(--gray-400);
    border-radius: 10px;
    background-color: white;
}

/* SPINNER */

/* Base spinner styling */
.spinner {
    display: inline-block;
    position: relative;
    width: 50px;    /* Adjust spinner size here */
    height: 50px;
    color: #333;    /* Spinner color (inherits via currentColor) */
  }
  
  /* Centering container for the spinner bars */
  .spinner .spinwrap {
    position: relative;
    width: 100%;
    height: 100%;
    /* Center the container within the spinner */
    left: 50%;
    top: 50%;
  }
  .waveform-container .spinner{
    display:none;
  }

  .waveform-container .spinner.loading{
    width: 150px;  
    height: 150px;
    position: absolute; 
    top: 5%;
    left: 40%;
    bottom: 0;
    display: flex; /* Use flexbox to center the spinner content */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    z-index: 10;
  }
  
  /* Each bar of the spinner */
  .spinner .spinwrap span {
    background-color: currentColor;
    position: absolute;
    top: -3.9%;
    left: -10%;
    width: 24%;
    height: 8%;
    border-radius: 20px; /* Adjust border radius if desired */
    animation: spinner 1.2s linear infinite;
  }
  
  /* Position and animation delay for each of the 12 spans */
  .spinner .spinwrap span:nth-child(1) {
    animation-delay: -1.2s;
    transform: rotate(0deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(2) {
    animation-delay: -1.1s;
    transform: rotate(30deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(3) {
    animation-delay: -1s;
    transform: rotate(60deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(4) {
    animation-delay: -0.9s;
    transform: rotate(90deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(5) {
    animation-delay: -0.8s;
    transform: rotate(120deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(6) {
    animation-delay: -0.7s;
    transform: rotate(150deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(7) {
    animation-delay: -0.6s;
    transform: rotate(180deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(8) {
    animation-delay: -0.5s;
    transform: rotate(210deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(9) {
    animation-delay: -0.4s;
    transform: rotate(240deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(10) {
    animation-delay: -0.3s;
    transform: rotate(270deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(11) {
    animation-delay: -0.2s;
    transform: rotate(300deg) translate(146%);
  }
  .spinner .spinwrap span:nth-child(12) {
    animation-delay: -0.1s;
    transform: rotate(330deg) translate(146%);
  }
  
  /* Keyframes for fading effect */
  @keyframes spinner {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0.15;
    }
  }