@import url('https://fonts.googleapis.com/css2?family=Amiri&family=Noto+Serif&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Pragati+Narrow:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@200;400&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto+Slab&display=swap');

body{
    margin: 0;
    font-family: 'Oxygen';
    background-color: #0c0300;
    /* background-color: #ddd; */
}

#pagebody{
    background-color: #fff;
}
html,body { height:100%; }

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #ccc;
    opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #ccc;
}

::-ms-input-placeholder { /* Microsoft Edge */
    color: #ccc;
}   

*,*:focus,*:hover{
    outline:none;
}

*, *::before, *::after {
    box-sizing: border-box;
}

div, span{
    box-sizing: border-box;
}

a[target="_blank"]::after {
  content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==) !important;
  margin: 0 3px 0 5px !important;
}

.a2a_kit a[target="_blank"]::after {
  content: none !important;
}
a{
    text-decoration: none;
    color: #000;
}

.currchapter a{
    text-decoration: underline;
    color: #000;
    
}

ul {
    list-style-position: inside;
}

h1{
    font-size: 3.5em;
    font-family: 'Pragati Narrow';
    margin: 50px 0 5px;
    line-height: 1;
}

.pagenobg{
    padding: 20px;
}
.pagewhitebg{
    padding: 20px;
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,1) 250px, rgba(255,255,255,1) 90%, rgba(255,255,255,0) 100%);    


}
.pagewhitebgarticle{
   
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,1) 250px, rgba(255,255,255,1) 90%, rgba(255,255,255,0) 100%);    
    padding: 20px 20px 20px 0;

}

#marker{
    position: absolute;
    top: 60px;
    left: 0;
    height: 30px;
    width: 400px;
        
}

#contentwrap{
    background-repeat: no-repeat;
    
}
#navwrap{
    background-color: #000;
    background-image: url(/assets/images/ccibg.jpg);
    background-position: bottom;
    background-repeat: no-repeat;
    text-align: center;
    height: 60px;
}
#navsearchwrap{
    background-color: #eee;
    text-align: center;
    padding: 5px 0 10px 0;
    width: 100%;
    display: block;
    overflow: auto;
}

#bookletleft{
    position: relative;
}

.bqr{
    position: absolute;
    top: 4px;
    left: 4px;
}

#searchresultswrapbg{
    background: linear-gradient(to bottom, rgba(255,255,255,0) 20%,
              rgba(255,255,255,1)), url(/assets/images/searchbg1.jpg);
    background-repeat: no-repeat;
    background-size: 100%;
}

#searchresultswrap{
    background-color: #fff;
    display: none; 
    width: 100%;    
    
}

#nav, #menu, #navsearch, #content, #searchresults, #footer{
    margin: 0 auto;
    text-align: left;
}
#menuwrap{
    width: 100%;
    
}

#footerwrapper{
    background-image: url(/assets/images/ccibgfoot.png);
    background-position: bottom;
    background-repeat: no-repeat;    
    width: 100%;
    background-color: #0c0300;
    
}

#footerinner{
    padding: 15px 30px 50px 30px;
    color: #fff;
}

#footerinner ul{
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#footerinner li span a::before{
  content: " | ";
}


#footerinner li span{
    
    line-height: 1.6;
}
#footerinner li a{
    color: #fff;
}

#navpad{
    padding: 7px 20px;
}

#navsearchpad{
    padding: 6px 20px 0 20px;
}

#navright{
    float: right;
}
#share{
    display: inline-block;
    margin: 10px 0 0 10px;
}

#cci{
    color: #fff;
    font-family: 'Roboto Slab', serif;
    font-size: 2.2em;
    float: left;
}

#navsearchr{
    float: right;
    padding: 10px 0 0 0;
}

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

#legend{
    display: none;
    padding: 10px 0 10px 10px;
}

#legend span{
    white-space: nowrap;
}

#searchboxoutlrg{
    border: solid 2px #ddd;
    border-top: none;
    border-radius: 0 0 7px 7px;
    padding: 3px;
    background-color: #fff;
}

#searchboxoutsm{
    border: solid 2px #ccc;
    border-radius: 7px;
    height: 38px;
    background-color: #fff;
}

#searchresults a{
    padding: 0;
}
.searchresultheading{
    padding: 0;
}
.searchresultheading a{
    font-weight: 800;
    font-size: 20px;
}
.sbox{
    padding: 4px 0 0 1px;
}
.sboxsm{
    padding: 0 0 0 1px;
}    

#searchbox{
    position: relative;
}

#searchbox #search, #searchbox #fsssearch{
    position: absolute;
    height: inherit;
    left: 36px;
    top: 4px;
    font-family: 'Oxygen', sans-serif;
    font-size: 20px !important;
    padding: 0;
    margin: 0;
    border: 0;
    font-weight: 200;
    width: 275px;
    color: #777;
}
#searchbox input.sm{
    font-size: 18px !important;
}

#searchbox svg{
    position: absolute;
    left: 4px;
    top: 3px;
    fill: #ccc;
    width: 30px;
    height: 30px;
}
#searchbox svg.sm{
    width: 25px;
    height: 25px;
}    

#legendhbr{
    position: absolute;
    right: 7px;
    top: 8px;
    font-weight: 400;
    z-index: 0;
}

#legendhbrinner{
    position: relative;
}

#legchk{
    margin: 0;
    position:absolute;
    height: 20px;
    width: 20px;
    opacity: 0;
    z-index: 2;
    cursor: pointer;
}

#legendhbr span{
    position: relative;
    display: block;
    width: 20px;
    height: 3px;
    margin-bottom: 4px;
    background-color: #bbb;
    z-index: 1;

    transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
        background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
        opacity 0.55s ease;   
}

#legendhbr span:first-child{
  transform-origin: 0% 0%;
}
#legendhbr span:nth-last-child(2){
  transform-origin: 0% 100%;
}
#legendhbr input:checked ~ span{
    opacity: 1;
    transform: rotate(-45deg) translate(5px, -5px);
}
#legendhbr input:checked ~ span:nth-last-child(3){
    opacity: 0;
    transform: rotate(0deg) scale(0.2, 0.2);
}
#legendhbr input:checked ~ span:nth-last-child(2){
    transform: rotate(45deg) translate(-4px, -7px);
}


#legend span{
    display: block;
}


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


#content{
    
}

#footer{

}


.loginlink{
    display: inline-block;
    text-align: right;
    margin-right: 20px;
    padding: 15px 0 0 0;
}

.loginlink a{
    white-space: nowrap;
    color: #fff;
}


.homeimage{
    text-align: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    border-radius: 7px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-box-shadow: 4px 1px 10px 0px rgba(0,0,0,0.46);
    box-shadow: 4px 1px 10px 0px rgba(0,0,0,0.46);
    flex: 1 1 100%;
}

/* Responsive flex-basis for columns */
@media (min-width: 600px) {
  .homeimage {
    flex: 1 1 calc(50% - 10px);
  }
}

@media (min-width: 900px) {
  .homeimage {
    flex: 1 1 calc(33.333% - 13.333px);
  }
}

@media (min-width: 1200px) {
  .homeimage {
    flex: 1 1 calc(25% - 15px);
    max-width: calc(25% - 15px);
  }
}
.homeimagepad{
    display: block;
    width: 100%;
}
.homeimagebox{
    background-color: rgba(0, 0, 0, .5);
    text-align: left;
    padding: 20px;
    border-radius: 7px;
}
.homeimagetitle{
    font-family: 'Pragati Narrow', sans-serif;
    font-size: 30px;
    padding: 2px 0 0 0;
    margin: 0;
    line-height: 1; 
    text-transform: uppercase;
}
.homeimagetag{
    font-family: 'Oxygen';
    font-size: 18px;
    padding: 2px 0 0 0;
    margin: 0;
}


.homeimagenavholder{
    height: 40px;
}

.homeimagenavholderpad{
    padding: 10px 0;
}

.homeimagenavleft{
    height: 20px;
    float: left;
}
.homeimagenavright{
    height: 20px;
    font-size: 12px;    
    float: right;
}
.homeimagenavright span a{
    padding: 5px 10px !important;
    display: inline-block;
    border-radius: 5px !important;    
    background-color: #444;
    color: #fff;

}

.homeimagetitle, .homeimagetag{
    color: #fff;
}
.homeimagetitle a, .homeimagetag a{
    color: #fff;
   
}
.homeimagetag a{
    font-weight: 400;
    font-size: 16px;
}

.comingsoon{
    font-family: 'Pragati Narrow', sans-serif;
    white-space: nowrap;
    background-color: cadetblue;
    padding: 3px 10px;
    color: #fff;
    display: inline-block;
    font-size: 16px;
}


.comingsoon:after{
    content: " \1f550";
}


#questionsholder{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}
#questionsheader p{
    font-size: 18px;
    margin: 8px 0;    
}
#questionsheader p a{
    color: #000;
    font-weight: 600;
}

.taglabel{
       
    padding: 5px 10px;
    display: inline-block;
    border-radius: 5px;
    font-size: 12px;
    
}

.action{
    margin: 20px 0;
}
.share{
    position:absolute; 
    top: 5px;
    left: 114px;
    font-family: 'Pragati Narrow', sans-serif;
    font-weight: 700;
    font-size: 15px;    
}

.libadd{
    position:absolute; 
    top: 3px; 
    right: 0;
    font-family: 'Pragati Narrow', sans-serif;
    font-weight: 700;
    font-size: 15px; 
}

#searchresultspad{
    padding: 20px 20px;
}

.closesearch{
    text-align: right;float:right;margin:0;padding:0;
}


.entry{
    margin: 20px 0 4px 0px;
}
.qwrapper p{
    margin: 0;
}
.num{
    height: 40px;
    width: 40px;
    display: inline-block;
    background-color: #eee;
    vertical-align: middle;
    float: left;
    border-radius: 7px;
}

.num span{
    display: inline-block;
    width: 100%;
    text-align: center;
    padding-top: 6px;
    font-size: 20px;
    color: #333 !important;
}


.numt{
    padding-left: 10px;
    vertical-align: middle;
    display: block;
    margin-left: 40px;
    line-height: 1.4;

}

.qholder{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
}

.qwrapper{
    padding: 10px 10px 20px 10px;
    background-color: #ddd;
    border-radius: 7px;
    box-sizing: border-box;
    flex: 1 1 100%;
}

/* Responsive flex-basis for .qwrapper columns */
@media (min-width: 600px) {
  .qwrapper {
    flex: 1 1 calc(50% - 10px);
  }
}

@media (min-width: 900px) {
  .qwrapper {
    flex: 1 1 calc(33.333% - 13.333px);
  }
}

@media (min-width: 1200px) {
  .qwrapper {
    flex: 1 1 calc(25% - 15px);
    max-width: calc(25% - 15px);
  }
}

/* Override flex for carousel items - let carousel grid handle sizing */
.carousel-item.qwrapper {
  flex: none;
  max-width: none;
}

.qwrapper img{
    border-radius: 7px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}


#toolpanel{
    width: 100%; 
    border-radius: 7px;
    position: relative;
}

.bigpbase{
    line-height: 1.3;
    font-size: 20px;
}

#articlebody, #bookletbody{
    line-height: 1.5;
}

#articlebody img, #bookletbody img{
    display: block;
    width: 100%;
    margin: 10px 0;
}

.inlinetabheading{
    width: 280px;
    float: left;
}
.inlinetabheadingtab{
    margin-right: 10px;
    border-radius: 0 7px 7px 0;
}


.articlenumber{
    font-size: 38px;
    font-weight: 600;
    padding: 5px 0 0 0;
    float: left;
    text-align: center;
    width: 75px;
}

.articleheading{
    font-size: 16px;
    margin-left: 65px;
}


.articleheading a {
    display: block;
    padding: 10px;
    font-weight: bold;
}

#articlebody p a, #bookletbody a, .promises a{
    font-weight: bold;
    white-space: nowrap;
}

#articlebody p{
    padding-left: 75px;
}




#bookletbody {
    padding-left: 20px;
}

.pboxpad{
    
    padding: 0px 20px;
}


span.fn a, .fnfn{
    background-color: #ddd;
    padding: 1px 5px;
    display: inline-block;
    text-align: center;
    margin: auto 4px;
    width: 22px;
    /* vertical-align: baseline; */
    /* position: relative; */
    /* top: -0.0em; */
    border-radius: 5px;
    font-size: 13px;
    font-weight: bold;
    color: #777;
    
}

.fnfn{
    margin: auto 4px auto 0;
}

.footnotes { 
    font-size: 95% !important;
    list-style-type: none;
    padding: 0 0 0 5px;
}

.footnotes li{
    padding-bottom: 20px;
    font-size: 14px;
}


.kp span{
    float: left;
    font-size: 30px;
    width: 28px;
    text-align: center;
    font-weight: bold;

}

.kp p{
    margin-left: 38px;
    line-height: 1.5;
}




  .video-js .vjs-control-bar { 
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  
  .vjs-big-play-button{
      display: none !important;
  }
  
  
  .video-js {
    
    background-color: #bbb;
    position: relative !important;
    width: 100% !important;
    height: 30px !important;
    
}

.vjs-fullscreen-control{
    display: none !important;
}

.hv, .qv, .bv, .backtq, .qvREAD{
    font-size: 19px;
    font-family: 'Noto Serif', serif;
}

.qparabr{
    font-size: 10px;
}

.qv a, .bref a, .backtq{
    background-color: #eee;
    padding: 0 4px;
    font-size: 14px;
    font-family: 'Noto Serif', serif;
    margin-right: 5px;
    vertical-align: middle;
}
.qv a:hover, .bref a:hover { background-color: #ddd; }

.qv, .bv{
    border-top: solid 1px #ccc;
    padding-top: 10px;
    margin: 5px 0;
}




.qvREAD{
    display: inline !important;
    border: none !important;
    border-right: 10px !important;
    margin-right: 4px;
}

.qvREAD .qchr{
    display: none !important;
}

.qvREAD .qref .ch{
    display: none;
}

.qvREAD .qref{
    vertical-align: super;
    font-size: 9px;
    margin-right: 3px;
}


.qvREAD .qref{
    background-color: none !important;
    color: #000 !important;
    vertical-align: super !important;
    font-size: 14px !important;

}

.qreadmodesp{
    border-top: solid 1px #ccc;
    padding-top: 15px;
    margin-top: 10px;
}



.hva, .qva, .qvacomp{
    font-family: 'Amiri', serif;
    font-size: 30px;
    margin: 0;
    padding: 20px 0 20px 0;
    text-align: right;
}

.libtag, .tltag{
    
    padding: 3px 7px;
    margin-right: 3px;
    border-radius: 4px;
    font-size: 14px;
    white-space: nowrap;
    
}

.libedit{
    
    padding: 3px 7px;
    margin-right: 3px;
    border-radius: 4px;
    font-size: 14px;
    font-family: 'Pragati Narrow';
    
}

.qtools .fa-solid, .btools .fa-solid {
    font-size: 20px;
    color: #777;
    white-space: nowrap;
}

.qtools span, .btools span{
    display: inline-block;
    white-space: nowrap;
    padding: 0 20px 0 3px;
}
.qtools, .btools{
    padding: 0 0 10px 0;
    font-family: 'Pragati Narrow', sans-serif !important;
    
}

.qtools a, .btools a{
    font-size: 17px;
    color: #555;
    cursor: pointer;
}

.libtag a {
    color: #fff;
}

#indextools, #timelinetools{
    padding: 5px;
    background-color: #ddd;
    margin: 5px 0 10px 0;
    line-height: 2;
    max-height: 100px;
    overflow: auto;
}

#indextools span, #timelinetools span{
    white-space: nowrap;
}
#usercats{
    display: inline;
}

.libaddtool{
    background-color: #5db17d;
    padding: 5px 7px;
    margin-right: 3px;
    border-radius: 4px;
    font-size: 14px;
    border: none;
}

.butaddtolib{
    background-color: #5db17d;
    padding: 3px 6px 2px 6px !important;
    color: #000;
    font-family: 'Oxygen', serif;
    font-size: 14px;
    border-radius: 0 !important;    
    border: none;
}

.quranselector{
    border: 2px solid #ccc;
    border-radius: 4px;
    padding: 0px 4px;
    font-size: 16px;
    color: #777;
    font-family: 'Pragati Narrow', sans-serif;
}

#indextools input, #timelinetools input {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 4px;
}

.libcatselector, .libcatselector2, .tlcatselector {
    cursor: pointer;
}

.libedit{
    cursor: pointer;
}
.libeditform{
    margin: 10px 0;
    padding: 10px;
    background-color: #eee;
    border: solid 1px #ccc;
    border-radius: 5px;
    font-family: 'Pragati Narrow';
    font-size: 14px;
    line-height: 2;
}

.libeditform input, .libeditform textarea {
    padding: 3px 7px;
    font-family: 'Pragati Narrow';
    font-size: 17px;
    border-top: solid 1px #ccc;
    border-left: solid 1px #ccc;
    border-right: solid 1px #bbb;
    border-bottom: solid 1px #bbb;
    border-radius: 4px;
}

.libeditform span{
    
    white-space: nowrap;
}

.libeditform button{
    font-family: 'Pragati Narrow';
    font-size: 17px;
    white-space: nowrap;
    width: 100px;
    border-top: solid 1px #ccc;
    border-left: solid 1px #ccc;
    border-right: solid 1px #bbb;
    border-bottom: solid 1px #bbb;
    border-radius: 4px;
}

button{
    cursor: pointer;
}

.libeditform label{
    vertical-align: top;
    padding: 1px 3px 0 0;
    width: 84px;
    text-align: right;
    display: inline-block;
    font-size: 17px;
}
    
.libnotestext{
    background-color: #eee;
    margin: 15px 0;
    padding: 10px;
}
.libnotesverses{
    padding: 0 10px;
}


.bibletools{
    padding: 0 5px;
}

.extcnt{
    font-size: 13px;
    padding: 4px 6px;
}

.tool{
    display: inline-block;
    background-color: #93cacc;
    padding: 3px 6px 2px 6px !important;
    color: #000;
    font-family: 'Oxygen', serif;
    font-size: 14px;
    border-radius: 0 !important;
}
.toolnotes{
    display: inline-block;
    background-color: #e69900;
    padding: 3px 6px 2px 6px;
    color: #fff;
    font-family: 'Oxygen', serif;
    font-size: 14px;
}

.entryincontextpad{
    padding: 10px 10px 35px 10px;
}

.entryincontext{
    position: relative;
    height: 100%;
}

.entryincontextpad h3{
    margin: 0;
    font-size: 15px;
}
.entryincontextpad p{
    margin: 7px 0;
}

.notesholder{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    grid-gap: .5rem;
    align-items: start;
    margin-top: 10px;
    margin-bottom: 10px;
}

.entryincontext{
    border-radius: 7px;
}

.entryincontext-img {
    line-height: 0;
    border-radius: 7px 7px 0 0;
    overflow: hidden;
    padding-bottom: 10px;
}

.entryincontext-img img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    display: block;
}

.sr-entry-img-wrap {
    line-height: 0;
    margin-bottom: 6px;
}

.sr-entry-img {
    width: 100%;
    max-height: 160px;
    object-fit: cover;
    display: block;
    border-radius: 5px;
}

.entryincontext p{
  
    font-family: 'Oxygen', serif !important;
    font-size: 14px !important;  
}


#qtools, #btools{
    text-align: right;

    line-height: 2.5;

    /*border-bottom: solid 1px #888;
    padding-bottom: 6px;
    margin-bottom: 15px;    */
}

#qtoolsl, #btoolsl{
    text-align: right;
    border-top: solid 1px #ccc;
    padding-top: 6px;
    margin-top: 15px;    
}

#qtoolsupper{
    margin-bottom: 5px;
}

#qtools a, #qtoolsl a, #qtoolsupper a, #btools a, #btoolsl a, #btoolsupper a, .qtoolfull, #qorder a{
    font-family: 'Pragati Narrow', sans-serif;
    display: inline-block;
    background-color: #eee;
    padding: 3px 7px;
    border-radius: 4px;
    margin-left: 10px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
}


/*@media (max-width: 446px) {*/
    #qtools a span, #qtoolsl a span, #qtoolsupper a span{
        display: none;
    }
    
/*}*/


#bverseholder p, #bibleverses p, #verseholder p{
    font-size: 19px;
    font-family: 'Noto Serif', serif;
}


#bverseholder p span, #bibleverses p span, #verseholder p span{
    
    background-color: #ddd;
    padding: 4px;
    font-size: 13px;
}

.tagtype{
    
    position: absolute;
    bottom: 6px;
    /*right: 16px;*/
    font-family: 'Pragati Narrow';
    color: #555;
    
}

.taglabel{
    
   
    padding: 5px 10px;
    display: inline-block;
    border-radius: 5px;
    font-size: 12px;
    
}


.qtoolsl::after, .btoolsl::after {
  content: "";
  clear: both;
  display: table;
}


.libnotesholder{
    
    background-color: #ddd;
    border: solid 1px #ccc;
    padding: 10px;
    
}


#q200list{
    list-style-type: none;      
    margin: 0;
    padding: 0 0 0 0px;
    
}

#q200list li{
    padding: 7px;
    text-align: left;
    font-size: 14px;
    line-height: 1.6;
}

#q200list li span{
    padding: 0px 5px;
    border-radius: 3px;
    margin-right: 5px; 
    float: left;
    min-width: 16px;
    text-align: center;
}


.q200results{
    height: 37px;
    font-size: 25px;
    padding: 0 5px;
}

.q200results .l{
    float: left;
}

.q200results .r{
    float: right;
}

.q200results .yes{
    color: green;
    font-size: 30px;
    font-weight: 900;
}
.q200results .no{
    color: #b80f0a;
    font-size: 30px;
    font-weight: 900;
}

.q200notes h3{
    padding: 0;
    margin: 5px;
    
}
.q200notes{
    background-color: #b7c8c4;
    border-radius: 7px;
    padding: 5px 7px;
    margin: 15px 0;
}

.q200text{
    font-size: 19px;
    font-family: 'Noto Serif', serif;  
    margin-bottom: 20px;
}

.q200ref{
    font-weight: bold;
    background-color: #ddd;
    padding: 4px;
    font-size: 13px;    
    margin-right: 7px;
    
    
}


.q200nextprev{
    height: 30px;
}

.q200npl{
    float: left;
}
.q200npr{
    float: right;
}





/* The Modal (background) */
.modal {
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.7); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
    position: relative;
  margin: 15% auto; /* 15% from the top and centered */
  padding: 10px;
  width: 90%; /* Could be more or less, depending on screen size */
}


.ytincontext{
    /*margin-top: 10px;*/
            
}



.bookletholder{
    line-height: 1.5;
}

.bookletholder div{
    margin-bottom: 20px;
}

.bookletholder div img{
    width: 100%;
}

.bookletholder h2, .bookletholder h3, .bookletholder p {
    padding: 0;
    margin: 5px 0;
}
  

.bkprevnext a, .bkbuttpdf a, .bkbuttweb a{
    -webkit-appearance: button;
    -moz-appearance: button;
    display: inline-block;
    margin-top: 10px;
    padding: 5px 15px;
    font-size: 17px;
    border: none; 
    border-radius: 4px;
    font-family: 'Pragati Narrow', serif;
}

.bkbuttpdf a{
    background-color: #ffde19;
    float: right;
}

.bkprevnext a{
    background-color: #ffde19;
}

.bkbuttweb a{
    background-color: #ffde19;
    float: left;
}
#audioholder{
    margin-top: 10px;
}
.bookletholder::after {
  content: "";
  clear: both;
  display: table;
}

.timelineholder{
    display: grid;
    grid-template-columns: 100px 20px calc(100% - 120px); 
}

.timelinedate{
    font-family: 'Pragati Narrow';
    line-height: 1;
    font-size: 24px;
    padding: 10px 10px 20px 0;
    text-align: right;
    
}

.timelinetitle{
    display: block; 
    padding: 10px;
}

.tlverses{
    display: block; 
    padding: 10px;
    margin: 10px;
    background-color: #eee;
}
.tlverses p{
    display: inline;
    padding-right: 10px;

}
.timelinetype{
    display: inline-block;
    font-family: 'Pragati Narrow';
    font-size: 14px;    
    padding: 10px 0  0 10px;
    float: right;
    
}


.answersectiondivider{
    margin-top: 20px;
}

.answersectiondivider p:first-of-type{
    padding-top: 0;
}
.answersectiondivider p{
    margin: 0;
    padding: 10px 0;
}

.answersectiondivider p:last-of-type{
    padding-bottom: 0;
}

.answersectiondivider::after {
  content: "";
  clear: left;
  display: table;
}

#sourceverselist a{
    font-weight: bold;
}

.unicolor{
    color: #b80f0a;
}

#toolpanelwrap{
    margin: 20px 20px 0 20px;
}

#articlebody, #bookletbody{
    margin: 0 20px 0 0;
}

#refwrapper{
   margin: 0 20px;
}


.pagewhitebg blockquote.main, #articlebody blockquote.main{
    
    position: relative;
    margin-inline-start: 75px;
    font-size: 25px;
    color: #777;
    font-family: Mulish;
}

.pagewhitebg blockquote.main i, #articlebody blockquote.main i{
    position: absolute;
    left: -48px;
    font-size: 38px;
    color: #777;
}

.pagewhitebg blockquote.main a, #articlebody blockquote.main a{
    font-size: 20px;
}

#articlebody blockquote.inlinequote{
    padding-left: 100px;
    font-style: italic;
}

/*

TABLE IN THE ARTICLE DOC

*/

#articlebody table {

    border-collapse: collapse;
}
/* Zebra striping */
#articlebody tr:nth-of-type(odd) {
    background: #eee;
}
#articlebody th {
    background: #333;
    color: white;
    font-weight: bold;
}
#articlebody td, #articlebody th {
    padding: 6px;
    border: 1px solid #ccc;
    text-align: left;
    min-width: 180px;
}

.answersectiondivider h4{

    margin: 0 0 0 75px;

}

.submitkeysource{
    background-color: #b8d3b8;
    padding: 5px 10px;
    margin-bottom: 12px;
    display: inline-block;
    border-radius: 4px;
}


.articleimg{
    padding-top: 10px;
}

.articleimg img{
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
}

.ytt{
    padding: 10px 0px;
}

#resourcewrapper iframe{
    border-radius: 7px;
}


/*
 * FSS
 */

summary {list-style: none}
summary::-webkit-details-marker {display: none; }

details summary::before {
    content:"+ ";
    color: #000000;

}
details[open] summary::before {
    content:"- ";
    color: #000000
}

details summary{
    cursor: pointer;
    font-weight: bold;
}

.fssh1{
    padding: 20px;
    background-color: #ddd;
    border: solid 1px #555555;
    margin-bottom: 10px;
}

.fssh1 a{
    font-weight: bold;
}

.fssh2{
    margin-bottom: 10px;
}

.fssh2 .dhold{
    margin-left: 10px;
}

.fsstitle {
    font-family: 'Pragati Narrow', serif;
    font-size: 20px;
    line-height: 1.2em;
}

.fsscard{
    border-radius: 7px;
    background-color: #fff;
    padding: 13px 20px 10px 20px;
    margin-bottom: 20px;
    box-shadow: none;
    border: 1px solid #e5e7eb;
    /*transition: transform 0.3s ease, box-shadow 0.3s ease;*/
    max-height: 350px;
    overflow-y: auto;
    position: relative;
    background-image: none;
}

/* Gradient fade indicator using background gradient - stays fixed at bottom */
.fsscard.has-scroll {
    background:
        linear-gradient(white 30%, rgba(255,255,255,0)),
        linear-gradient(rgba(255,255,255,0), white 70%) 0 100%,
        radial-gradient(farthest-side at 50% 0, rgba(0,0,0,.2), rgba(0,0,0,0)),
        radial-gradient(farthest-side at 50% 100%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
    background-color: white;
    background-repeat: no-repeat;
    background-attachment: local, local, scroll, scroll;
    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
}

/* Mobile single-column view: No height restriction on cards */
@media (max-width: 479px) {
    .fsscard {
        max-height: none;
        overflow-y: visible;
    }

    /* Remove scroll indicator on mobile single column */
    .fsscard.has-scroll {
        background: white;
    }
}

/* Scrollbar styling for fsscard */
.fsscard::-webkit-scrollbar {
    width: 8px;
}

.fsscard::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.fsscard::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.fsscard::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

.fsscard a{
    font-weight: bold;
}

.fsscard p{
    padding: 0;
    margin-top: 0;
    margin-bottom: 5px;
}

/* WhatsApp share button */
.fss-share {
    margin-top: 8px;
    text-align: right;
    clear: both;
}
.fss-share a[target="_blank"]::after{
    content: none !important;
}

.fss-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #fff !important;
    background-color: #128C7E;
    padding: 6px 12px;
    border-radius: 4px;
    border: 1px solid #128C7E;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.fss-share-btn:hover {
    background-color: #128C7E;
    color: #fff !important;
    transform: translateY(-1px);
}

.fss-share-btn i {
    font-size: 1.1rem;
}

.fsscardgrid{
    display: grid;
    align-content: center;
    /*justify-content: end;*/
    grid-column-gap: 20px;
    justify-items: stretch;
}

.fssalso{
    font-size: 90%;
    line-height: 1.6;
}

.fsssources a{
    font-weight: bold;
}

.quotep {
    padding-left: 45px !important;
    position: relative;
}

.quotepq{
    position: absolute;
    left: 5px;
    top: 5px;
    font-size: 30px;
    color: #777;
}

/*
popup
 */

body {
    position: relative;
}

.qpp, .bpp, .hpp{
    position: relative;
}
.anchor-highlight {
    background-color: #fff176;
    border-radius: 3px;
    padding: 1px 3px;
}
.anchor-highlight.anchor-fade {
    background-color: transparent;
    transition: background-color 1.5s ease-out;
}

.messagepopholder{
    z-index: 99;
    position: absolute;
    width: 400px;
}

@media (max-width:500px) {
    .messagepopholder {
        width: calc(100% - 40px) !important;
        left: 20px !important;
    }
}
.messagepop{
    background-color: #f6f6f6;
    border: solid #ccc 1px;
    box-shadow: #ccc 3px 3px 3px;
    border-radius: 7px;
}

.messagepopinner{
    padding: 10px 20px;
}

.messagepop a{
    font-weight: bold;
}

.nago a{
    font-weight: bold;
    font-family: 'Pragati Narrow';
    font-size: 16px !important;
}

.nago a:after {
    content: " \00BB";
}
.nago{
    font-family: 'Pragati Narrow';
    position: absolute;
    text-align: right;
    bottom: 0px;
    right: 20px;
}

.subholder{
    display: inline;
}
.fssselector{
    line-height: 20px;
}
.fssselector input{
    display: none;
}
.fssselector span{
    user-select: none;
    display: inline-block;
    padding: 8px 10px;
    background-color: #ddd;
    margin: 0 10px 10px 0;
    border-radius: 4px;
    cursor: pointer;
}

.fssselector label{
    cursor: pointer;
}

.fssissel{
    background-color: #b9d5b9 !important;
}

.fssHighlight{
    background-color: #058705 !important;
    color: #fff;

}

.fsspointup i{
    font-size: 60px;
}

.fsspointup{
    font-size: 25px;
    padding: 20px;
}

.fsspointup i {
    display: block;
}

.fsscardlowernotes {
    background-color: #c1c1c142;
    padding: 10px;
    margin-top: 10px;
    border-radius: 8px;
    font-family: Mulish, sans-serif;
    font-size: 15px;
}


.ffscardq{
    background-color: #fff !important;
}

.ffscardb{
    background-color: #fff !important;
}

/* Colored icons and titles for source cards */
.ffscardb .quotepq,
.ffscardb .fsstitle,
.ffscardb .fsstitle a {
    color: #3aa4d0 !important;
}

.ffscardq .quotepq,
.ffscardq .fsstitle,
.ffscardq .fsstitle a {
    color: #3ca287 !important;
}

/* Source category label styling */
.fsscard .source-category {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 4px;
    margin: 8px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ffscardb .source-category {
    color: #3aa4d0;
    background-color: rgba(58, 164, 208, 0.1);
}

.ffscardq .source-category {
    color: #c2185b;
    background-color: rgba(194, 24, 91, 0.1);
}


#fsssearchboxoutsm{
    border: solid 2px #ccc;
    border-radius: 7px;
    height: 38px;
    background-color: #fff;
}

.qrcodearticle{
    position: absolute;
    right: 8px;
    top: 26px;
    z-index: 1000;

}

.fsshl{
    background-color: rgba(247, 255, 0, 0.66);
}


/* ── Dialogue menu (home page) ───────────────────────────────────────── */

.dlg-cat-heading {
    margin: 28px 0 10px;
    padding-bottom: 6px;
    border-bottom: 2px solid #ddd;
    font-size: 1.1rem;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.dlg-menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
    margin-bottom: 10px;
}

.dlg-menu-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 10px;
    border: 2px solid #e0e0e0;
    background: #fafafa;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.15s, border-color 0.15s, transform 0.15s;
}

.dlg-menu-card:hover {
    border-color: #b19cd9;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10);
    transform: translateY(-2px);
    text-decoration: none;
}

.dlg-menu-speakers {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.dlg-sp-cx,
.dlg-sp-mx {
    font-size: 0.72rem;
    font-weight: bold;
    padding: 2px 9px;
    border-radius: 20px;
    white-space: nowrap;
}

.dlg-sp-cx {
    background-color: #ddf0f8;
    color: #1a4a5e;
}

.dlg-sp-mx {
    background-color: #eddff8;
    color: #3b1a5e;
}

.dlg-menu-title {
    font-weight: bold;
    font-size: 1rem;
    color: #222;
    line-height: 1.3;
}

.dlg-menu-subtitle {
    font-size: 0.88rem;
    color: #666;
    font-style: italic;
    line-height: 1.3;
}

.dlg-menu-desc {
    font-size: 0.82rem;
    color: #888;
    line-height: 1.4;
    margin-top: 4px;
}

/* ── Dialogue detail page ─────────────────────────────────────────────── */

.dlg-intro {
    color: #555;
    font-style: italic;
    margin-bottom: 16px;
}

.dialogueholder {
    width: 100%;
}

.dlg-threecol {
    display: grid;
    grid-template-columns: 1fr 16px 480px 16px 1fr;
    column-gap: 0;
    align-items: stretch;
    background-image: url(/assets/images/dialoguebg.png);
    background-repeat: repeat;
}

.dlg-bubble-cell {
    min-width: 0;
}

.dlg-spacer {
}

.dlg-verse-cell {
    min-width: 0;
    padding: 8px;
    background: transparent;
}

.dlg-verse-left {
    text-align: right;
}

.dlg-verse-left .dlg-verse-card {
    text-align: left;
}

.dlg-verse-card {
    border-radius: 8px;
    padding: 9px 13px;
    margin-bottom: 8px;
    font-size: 0.86rem;
    line-height: 1.45;
    border-left: 4px solid #ccc;
    background: #f7f7f7;
}

.dlg-verse-quran {
    border-left-color: #b19cd9;
    background: #f5f0ff;
}

.dlg-verse-bible {
    border-left-color: #7ab8d8;
    background: #f0f7fc;
}

.dlg-verse-hadith {
    border-left-color: #f0a060;
    background: #fff8f0;
}

.dlg-verse-ref {
    display: block;
    font-weight: bold;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777;
    margin-bottom: 5px;
}

.dlg-verse-ref a {
    color: inherit;
    text-decoration: none;
}

.dlg-verse-ref a:hover {
    text-decoration: underline;
}

.dlg-verse-more {
    font-size: 0.78rem;
    white-space: nowrap;
    color: #888;
}

.dlg-verse-more:hover {
    color: #444;
    text-decoration: underline;
}

.dlg-verse-card p {
    margin: 0 0 4px;
    color: #333;
}

.dlg-verse-card p:last-child {
    margin-bottom: 0;
}

.dlg-verse-card sup {
    color: #999;
    font-size: 0.7em;
    margin-right: 2px;
}

/* Collapse to single column on small screens */
@media (max-width: 800px) {
    .dlg-threecol {
        grid-template-columns: 1fr;
        background-image: none;
    }

    .dlg-bubble-cell {
        grid-column: 1 !important;
    }

    .dlg-verse-cell,
    .dlg-spacer {
        display: none;
    }
}

/* Legacy single-column max-width kept for .dialogueholder without the grid layout */
.dialogueholder:not(:has(.dlg-threecol)) {
    max-width: 600px;
}

.dialogueholder .cx a, .dialogueholder .mx a{
    color: #000;
    font-weight: bold;
}

.dialogueholder .cx{
    text-align: left;
    background-color: #ddf0f8;
    font-weight: normal;
    color: #000;
    margin: 10px 100px 10px 20px;
    padding: 20px;
    border-radius: 10px;

}
.dialogueholder .cx div, .dialogueholder .mx div{
    min-height: 40px;
}
.dialogueholder .cx span, .dialogueholder .mx span{
    font-weight: bold;
}
.dialogueholder .mx{
    text-align: right;
    background-color: #eddff8; /* BG */
    font-weight: normal;
    color: #000;
    margin: 10px 20px 10px 100px;
    padding: 20px;
    border-radius: 10px;
}

.arrow_boxcx {
    position: relative;
    background: #ddf0f8; /* BG */
    border: 6px solid #fff; /* Border */
}
.arrow_boxcx:after, .arrow_boxcx:before {
    right: 100%;
    top: 40px;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.arrow_boxcx:after {
    border-color: rgba(221, 240, 248, 0);
    border-right-color: #ddf0f8;
    border-width: 20px;
    margin-top: -20px;
}
.arrow_boxcx:before {
    border-color: rgba(221, 240, 248, 0);
    border-right-color: #fff; /* Border */
    border-width: 28px;
    margin-top: -28px;
}
.arrow_boxmx {
    position: relative;
    background: #eddff8;   /* BG */
    border: 6px solid #fff;  /* Border */
}
.arrow_boxmx:after, .arrow_boxmx:before {
    left: 100%;
    top: 40px;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.arrow_boxmx:after {
    border-color: rgba(237, 223, 248, 0);
    border-left-color: #eddff8;   /* BG  */
    border-width: 20px;
    margin-top: -20px;
}
.arrow_boxmx:before {
    border-color: rgba(237, 223, 248, 0);
    border-left-color: #fff;  /* Border */
    border-width: 28px;
    margin-top: -28px;
}

#qorder{

    margin-top: 10px;

}

.faqgrid h3{
    margin: 0;
    padding: 0 0 0 0;
}

.faqgrid h3{
    margin: 0;
    padding: 7px 0 0 0;
}

.faqgrid{
    margin: 20px 10px 0px 0;
    padding: 20px;
    border: #ccc;
    background-color: #eee;
    border-radius: 10px;
    line-height: 1.5;
}

.faqgrid hr{
    height: 2px;
    color: #ccc;
    background: #ccc;
    font-size: 0;
    border: 0;
    margin-top: 10px;
}

/* ═══════════════════════════════════════════════════════════════════════
   Quran 2 — two-column layout
   ═══════════════════════════════════════════════════════════════════════ */

#q2toolbar, #q2toolbarl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 6px 0;
    border-bottom: 1px solid #ddd;
    line-height: 2.5;
}
#q2toolbarl {
    border-bottom: none;
    border-top: 1px solid #ddd;
    margin-top: 16px;
}
#q2toolbar a, #q2toolbarl a {
    font-family: 'Pragati Narrow', sans-serif;
    display: inline-block;
    background-color: #eee;
    padding: 3px 7px;
    border-radius: 4px;
    margin-left: 6px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
    color: #000;
    text-decoration: none;
    white-space: nowrap;
}
#q2toolbar a:hover, #q2toolbarl a:hover { background-color: #ddd; }
#q2toolbar a.q2tbdisabled, #q2toolbarl a.q2tbdisabled {
    color: #bbb;
    background-color: #f5f5f5;
    cursor: default;
    pointer-events: none;
}
#q2toolbar select, #q2toolbarl select { font-size: 0.85rem; margin-right: 4px; }

/* Two-column flex container */
.q2layout {
    display: flex;
    align-items: flex-start;
    gap: 0;
}

/* LEFT: verse column */
.q2verses {
    flex: 1 1 0;
    min-width: 0;
    margin: 0 0 20px;
    border-right: 1px solid #e0d8f0;
}

/* RIGHT: resources panel */
.q2resources {
    flex: 0 0 320px;
    width: 320px;
    padding: 12px 14px 20px;
    /*background: #faf8fe;*/
    position: sticky;
    top: 0;
    max-height: 100vh;
    overflow-y: auto;
}

/* Expand buttons */
.q2expand {
    text-align: center;
    padding: 6px 0;
}
.q2expand a {
    display: inline-block;
    color: #7c5cbf;
    font-size: 0.85rem;
    text-decoration: none;
    padding: 4px 12px;
    border: 1px solid #c9b8e8;
    border-radius: 4px;
}
.q2expand a:hover { background: #ede8f8; }

/* Individual verse row — spacing via .qv margin; no extra padding needed */
.q2verserow {
    /*margin-bottom: 2px;*/
    padding-left: 14px;
    padding-right: 14px;
    border-top: 1px solid #ccc;
}
#q2verseholder .q2verserow:first-child {
    border-top: none;
}
/* Suppress .qv's own border-top inside q2verseholder — row carries it instead */
#q2verseholder .qv {
    border-top: none;
    padding-top: 6px;
}

@media (min-width: 901px) {
    .q2verserow.q2hasnotes {
        border-right: 3px solid #b19cd9;
    }
}

/* Resource cards in the right panel */
.q2rescard {
    margin-bottom: 12px;
    outline: 2px solid rgb(0 0 0 / 0);
    border-radius: 4px;
    cursor: pointer;
}
.q2nores {
    color: #999;
    font-size: 0.85rem;
    padding: 8px 0;
}

/* Collapse to single column on narrow screens */
@media (max-width: 900px) {
    .q2layout {
        flex-direction: column;
    }
    /* Right panel hidden on mobile — cards shown inline instead */
    .q2resources {
        display: none;
    }
    .q2verses {
        border-right: none;
        width: 100%;
    }
    /* Toolbar: hide text labels, keep icons */
    #q2toolbar .q2tbtext, #q2toolbarl .q2tbtext {
        display: none;
    }
    /* Inline cards injected by JS below each verse row */
    .q2mobilecards {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 10px;
        margin-top: 6px;
        padding: 10px 0 6px 0;
        border-top: 1px dashed #d6d1ea;
    }
    .q2mobilecards .q2rescard {
        display: block !important;
        min-width: 0;
        margin-bottom: 0;
    }
    .q2mobilecards .q2resref {
        display: none;
    }
}

/* Verse reference label above each resource card in the right panel */
.q2resref {
    font-size: 0.75rem;
    font-weight: 700;
    color: #7c5cbf;
    letter-spacing: 0.03em;
    margin-bottom: 2px;
    padding: 1px 4px;
    border-radius: 3px;
}

/* Hover highlight: verse row when a linked card is hovered, and vice versa */
.q2verserow.q2highlight {
    background-color: #ede6fa;
    transition: background-color 0.15s;
}
.q2rescard.q2highlight {
    outline: 2px solid #7c5cbf;
    background-color: #7c5cbf;
    border-radius: 4px;
    transition: outline 0s;
}
.q2rescard.q2highlight .q2resref {
    background-color: #7c5cbf;
    color: #f0ebff;
    border-radius: 3px;
    padding: 1px 4px;
}
.q2rescard.q2highlight .extcnt {
    padding: 4px 6px;
    color: #f0ebff;
}

/* Read mode: collapse q2verserow wrappers so verses flow as inline paragraph.
   The <p class="qvREAD"> inside is already made inline by fnReadModeOn();
   the containing div must also be inline for the text to join up. */
#q2verseholder.qreadmodesp .q2verserow {
    display: inline;
    border-top: none;
    border-bottom: none;
    padding: 0;
    margin-bottom: 0;
}

/* Read mode: suppress underline on the superscript verse reference link */
.qvREAD .qref a {
    text-decoration: none;
}

/* Read mode: hide inline mobile cards */
#q2verseholder.qreadmodesp .q2mobilecards,
#b2verseholder.qreadmodesp .q2mobilecards { display: none; }

/* Read mode: underline verses with related cards; suppress the right border */
#q2verseholder.qreadmodesp .q2verserow.q2hasnotes {
    text-decoration: underline;
    text-decoration-color: #b19cd9;
    text-decoration-thickness: 2px;
    border-right: none;
}


/* ═══════════════════════════════════════════════════════════════════════
   BIBLE TWO-COLUMN LAYOUT  (#b2…)
   ═══════════════════════════════════════════════════════════════════════ */

#b2toolbar, #b2toolbarl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 6px 0;
    border-bottom: 1px solid #ddd;
    line-height: 2.5;
}
#b2toolbarl { border-bottom: none; border-top: 1px solid #ddd; margin-top: 16px; }
#b2toolbar a, #b2toolbarl a {
    font-family: 'Pragati Narrow', sans-serif;
    display: inline-block;
    background-color: #eee;
    padding: 3px 7px;
    border-radius: 4px;
    margin-left: 6px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
    color: #000;
    text-decoration: none;
    white-space: nowrap;
}
#b2toolbar a:hover, #b2toolbarl a:hover { background-color: #ddd; }
#b2bookdropdown a {
    font-family: inherit;
    display: block;
    background-color: transparent;
    padding: 2px 5px;
    border-radius: 3px;
    margin-left: 0;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: inherit;
    color: #333;
    white-space: nowrap;
}
#b2bookdropdown a:hover { background-color: #f0ebff; color: #5a3fa0; }
#b2bookdropdown .b2bdchapters a {
    display: inline-block;
    font-size: 0.88rem;
    padding: 2px 6px;
    background: #f5f5f5;
    color: #555;
    min-width: 26px;
    text-align: center;
}
#b2bookdropdown .b2bdchapters a:hover { background: #e0d8f0; color: #5a3fa0; }
#b2bookdropdown a.b2bdcurrchapt { background: #b19cd9 !important; color: #fff !important; font-weight: 600; }
#b2bookdropdown .b2bdcurrent > a { font-weight: 600; color: #5a3fa0; background: #f0ebff; }
#b2toolbar a.q2tbdisabled, #b2toolbarl a.q2tbdisabled {
    color: #bbb;
    background-color: #f5f5f5;
    cursor: default;
    pointer-events: none;
}
#b2toolbar select, #b2toolbarl select { font-size: 0.85rem; margin-right: 4px; }

.b2verserow {
    /*margin-bottom: 2px;*/
    padding-left: 14px;
    padding-right: 14px;
    border-top: 1px solid #ccc;
}
#b2verseholder .b2verserow:first-child { border-top: none; }
#b2verseholder .bv { border-top: none; padding-top: 6px; }

.bref a, .qv a { text-decoration: none; }

#b2verseholder.qreadmodesp p.bvREAD.bpb::before { content: none; }
#b2verseholder.qreadmodesp br.qparabr { display: block; margin-bottom: 0.6em; }

.btools { font-size: 0.8rem; color: #888; padding: 4px 6px; }
.btools span { margin-right: 8px; }
.btools a { color: #888; text-decoration: none; }
.btools a:hover { text-decoration: underline; }

@media (min-width: 901px) {
    .b2verserow.b2hasnotes { border-right: 3px solid #b19cd9; }
}

.b2verserow.q2highlight {
    background-color: #ede6fa;
    transition: background-color 0.15s;
}

@media (max-width: 900px) {
    #b2toolbar .q2tbtext, #b2toolbarl .q2tbtext { display: none; }
}

#b2verseholder.qreadmodesp .b2verserow {
    display: inline;
    border-top: none;
    border-bottom: none;
    padding: 0;
    margin-bottom: 0;
}

.bvREAD {
    display: inline !important;
    border: none !important;
    font-size: 19px;
    font-family: 'Noto Serif', serif;
}
.bvREAD .bref { vertical-align: super; font-size: 9px; }
.bvREAD .bref a { text-decoration: none; }
.bvREAD .bref .ch { display: none; }

#b2verseholder.qreadmodesp .b2verserow.b2hasnotes {
    text-decoration: underline;
    text-decoration-color: #b19cd9;
    text-decoration-thickness: 2px;
    border-right: none;
}

/* ── Bible book/chapter navigation dropdown ──────────────────────────────── */
.b2bookwrap { position: relative; display: inline-block; }
#b2bookdropdown {
    position: absolute;
    top: 0;
    left: 0;
    max-width: min(820px, 95vw);
    max-height: 80vh;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.15);
    z-index: 500;
    padding: 16px 20px 20px;
}
.b2bdcols {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}
.b2bdot { flex: 1 1 0; min-width: 0; }
.b2bdnt { flex: 0 0 38%; min-width: 0; }
.b2bdot h4, .b2bdnt h4 {
    margin: 0 0 8px;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #888;
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 4px;
}
.b2bdot ul, .b2bdnt ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.b2bdot ul { columns: 3; column-gap: 10px; }
.b2bdnt ul { columns: 2; column-gap: 10px; }
.b2bdot li, .b2bdnt li { break-inside: avoid; margin-bottom: 1px; }
.b2bdot li a, .b2bdnt li a {
    display: block;
    font-size: 0.95rem;
    padding: 2px 5px;
    border-radius: 3px;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.b2bdot li a:hover, .b2bdnt li a:hover { background: #f0ebff; color: #5a3fa0; }
.b2bdcurrent > a {
    font-weight: 600;
    color: #5a3fa0 !important;
    background: #f0ebff;
    border-radius: 3px;
    padding: 2px 5px;
    display: block;
    font-size: 0.95rem;
    text-decoration: none;
}
.b2bdchapters {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    padding: 5px 0 8px 5px;
}
.b2bdchapters a {
    font-size: 0.88rem;
    padding: 2px 6px;
    border-radius: 3px;
    background: #f5f5f5;
    color: #555;
    text-decoration: none;
    min-width: 26px;
    text-align: center;
}
.b2bdchapters a:hover { background: #e0d8f0; color: #5a3fa0; }
a.b2bdcurrchapt {
    background: #b19cd9 !important;
    color: #fff !important;
    font-weight: 600;
}
@media (max-width: 700px) {
    .b2bdcols { flex-direction: column; }
    .b2bdot, .b2bdnt { flex: none; width: 100%; }
    .b2bdot ul, .b2bdnt ul { columns: 2; }
}
@media (max-width: 420px) {
    .b2bdot ul { columns: 1; }
    .b2bdnt ul { columns: 1; }
}

/* ── Quran surah navigation dropdown ────────────────────────────────────── */
.q2surahwrap { position: relative; display: inline-block; }
#q2surahdropdown {
    position: absolute;
    top: 0;
    left: 0;
    max-width: min(820px, 95vw);
    max-height: 80vh;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.15);
    z-index: 500;
    padding: 16px 20px 20px;
}
.q2sdlist {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 3;
    column-gap: 10px;
}
.q2sdlist li { break-inside: avoid; margin-bottom: 4px; }
.q2sdlist li a {
    display: flex;
    flex-direction: column;
    font-size: 0.95rem;
    padding: 2px 5px;
    border-radius: 3px;
    color: #333;
    text-decoration: none;
}
.q2sdname { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.q2sdbar {
    display: block;
    height: 3px;
    border-radius: 2px;
    background: rgba(0,0,0,0.18);
    margin-top: 2px;
}
.q2sdlist li a:hover { background: #f0ebff; color: #5a3fa0; }
.q2sdcurrent a { font-weight: 600; color: #5a3fa0 !important; background: #f0ebff; }
#q2surahdropdown .q2sd-em a { background-color: #ddf0d8; }
#q2surahdropdown .q2sd-mm a { background-color: #fefce6; }
#q2surahdropdown .q2sd-lm a { background-color: #fae8d0; }
#q2surahdropdown .q2sd-md a { background-color: #f7d8d4; }
#q2surahdropdown .q2sd-em a:hover, #q2surahdropdown .q2sd-mm a:hover,
#q2surahdropdown .q2sd-lm a:hover, #q2surahdropdown .q2sd-md a:hover { filter: brightness(0.94); }
#q2surahdropdown .q2sdcurrent a { background: #f0ebff; }
.q2sdlegend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
    font-size: 0.78rem;
    color: #555;
}
.q2sdlegend span {
    padding: 2px 8px;
    border-radius: 3px;
}
.q2sdlegend .q2sd-em { background-color: #ddf0d8; }
.q2sdlegend .q2sd-mm { background-color: #fefce6; }
.q2sdlegend .q2sd-lm { background-color: #fae8d0; }
.q2sdlegend .q2sd-md { background-color: #f7d8d4; }
#q2toolbar a:not(#q2surahdropdown a), #q2toolbarl a:not(#q2surahdropdown a) { }
#q2surahdropdown a {
    font-family: inherit;
    display: flex;
    flex-direction: column;
    background-color: transparent;
    padding: 2px 5px;
    border-radius: 3px;
    margin-left: 0;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: inherit;
    color: #333;
}
#q2surahdropdown a:hover { background: #f0ebff; color: #5a3fa0; }
#q2surahdropdown .q2sdcurrent a { font-weight: 600; color: #5a3fa0 !important; background: #f0ebff; border-radius: 3px; }
@media (max-width: 700px) {
    .q2sdlist { columns: 3; }
}
@media (max-width: 420px) {
    .q2sdlist { columns: 2; }
}

/* ── Quran translation picker dropdown ──────────────────────────────────── */
.q2tranwrap { position: relative; display: inline-block; }
#q2trandropdown {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 220px;
    max-height: 80vh;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.15);
    z-index: 500;
    padding: 10px 14px 14px;
}
.q2trlist {
    list-style: none;
    margin: 0;
    padding: 0;
}
.q2trlist li { margin-bottom: 3px; }
.q2trlist li a {
    display: block;
    font-size: 0.95rem;
    padding: 4px 8px;
    border-radius: 3px;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
}
.q2trlist li a:hover { background: #f0ebff; color: #5a3fa0; }
.q2trcurrent a { font-weight: 600; color: #5a3fa0 !important; background: #f0ebff; border-radius: 3px; }
#q2trandropdown a {
    font-family: inherit;
    display: block;
    background-color: transparent;
    padding: 4px 8px;
    border-radius: 3px;
    margin-left: 0;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: inherit;
    color: #333;
    white-space: nowrap;
}
#q2trandropdown a:hover { background: #f0ebff; color: #5a3fa0; }
#q2trandropdown .q2trcurrent a { font-weight: 600; color: #5a3fa0 !important; background: #f0ebff; }
