:root{--blue:#0002ff;--link:#0000ff;--label:#0000cc;--panel:#84c0e4;--purple:#800080;--nav:#4f94cd;--nav-border:#223311;--navy:#000080;--text:#000;--gold:#9a700e;--red:#ff0000;--grey:#777;--dots:#ccc;--rule:#ddd;--frame:#f3f3f3;--field:#817f84}
*{box-sizing:border-box}
body{margin:0;padding:0 20px;font:16px/1.4 Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
a{color:var(--link)}
.searchbar{padding:6px 0 10px 30px;color:var(--label)}
.searchbar .row{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.searchbar input[type=text]{width:340px;padding:4px 6px;border:1px solid var(--field);border-radius:4px}
.searchbar button{background:var(--gold);color:#fff;border:0;font-weight:bold;font-size:20px;padding:0 4px}
.searchbar select{width:290px;padding:5px;border:1px solid var(--field);border-radius:4px}
.searchbar .row:nth-child(2) select:last-child{width:350px}
.contact{color:var(--link);font-weight:bold;margin-left:100px}

.banner{line-height:0;background:#3d6b1f;position:relative}
.banner img{display:block;width:100%;height:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.topnav{background:var(--nav);border:1px solid var(--nav-border);border-top:2px solid var(--nav-border);position:relative;z-index:30}
.topnav ul{list-style:none;margin:0;padding:0}
.topnav ul.top{display:flex}
.topnav ul.top>li{position:relative;border-right:1px solid var(--nav-border)}
.topnav ul.top>li>a,.topnav ul.top>li>span{display:block;color:#fff;text-transform:uppercase;padding:5px 9px;font-size:14px;white-space:nowrap;text-decoration:none;cursor:default}
.topnav ul.top>li>a{cursor:pointer}
.topnav ul.top>li:hover>a,.topnav ul.top>li:hover>span{background:#3d7fb8}
.topnav ul.top>li.has-kids>a::after,.topnav ul.top>li.has-kids>span::after{content:" \00bb"}

/* flyout lists (top menu + sidebars) */
ul.sub{display:none;position:absolute;min-width:250px;max-width:380px;background:#f6f6f6;border:1px solid #bbb;box-shadow:2px 3px 6px #0003;z-index:40;list-style:none;margin:0;padding:4px 0;text-transform:none}
ul.sub li{position:relative}
ul.sub a,ul.sub span{display:block;padding:7px 14px;color:#000;font:bold 13px/1.3 Arial,Helvetica,sans-serif;text-decoration:none;text-transform:none}
ul.sub a:hover,ul.sub li:hover>span,ul.sub li:hover>a{background:#dfeaf3}
ul.sub li.has-kids>a::after,ul.sub li.has-kids>span::after{content:"\25B8";float:right;margin-left:10px;color:#555}
.topnav ul.top>li>ul.sub{top:100%;left:0}
ul.sub ul.sub{top:-4px;left:100%}
li:hover>ul.sub,li.open>ul.sub,.side-item:hover>ul.sub,.side-item.open>ul.sub{display:block}
.topnav ul.top>li:last-child>ul.sub,.topnav ul.top>li:nth-last-child(2)>ul.sub{left:auto;right:0}
.topnav ul.top>li:nth-last-child(-n+3) ul.sub ul.sub{left:auto;right:100%}

.cols{display:grid;grid-template-columns:260px 1fr 260px;gap:0;margin-top:14px}
.col-left,.col-right{padding:0 14px}
.col-left{border-right:1px dotted var(--dots)}
.col-right{border-left:1px dotted var(--dots)}
.col-main{padding:20px 20px 40px;min-width:0}

.tree-box{background:var(--panel);padding:2px 0 8px;margin-bottom:14px}
.tree-box h3,.side-heading{margin:0;color:var(--blue);font-size:16px;background:var(--panel);padding:2px 0}
.tree-ctl{font-size:13px}
.tree-box ul{list-style:none;margin:0;padding:0}
.tree-box ul ul{padding-left:14px;margin:2px 0 4px}
.tree-box li{padding:2px 0;font-size:14px;color:var(--navy);overflow-wrap:anywhere}
.tree-box .plus{display:inline-block;width:12px;font-size:11px;color:#667;border:1px solid #9bb;text-align:center;line-height:11px;cursor:pointer;user-select:none}
.tree-box a.tlabel,.tree-box li.leaf a{color:var(--navy);text-decoration:none}
.tree-box li.leaf{padding-left:18px;text-indent:-18px;margin-left:0}
.tree-box a.tlabel:hover,.tree-box li.leaf a:hover{text-decoration:underline}
.tree-box li.loading>span.msg{color:#456;font-style:italic;padding-left:6px}
.tree-ctl a{color:var(--blue);text-decoration:none}

.side-heading{margin-top:22px}
.side-item{position:relative}
.side-item>ul.sub{top:0;left:100%}
.col-right .side-item>ul.sub{left:auto;right:100%}
.col-right .side-item.has-kids>.side-btn::after{content:"\25C2";float:left;margin:0 10px 0 -4px}
.col-right .side-item>ul.sub ul.sub{left:auto;right:100%}
.side-item.has-kids>.side-btn::after{content:"\25B8";float:right;color:#fff}
.side-btn{display:block;cursor:pointer;background:var(--panel);color:var(--purple);font-weight:bold;font-size:14px;
  text-decoration:none;padding:9px 14px;border-top:4px solid var(--panel);border-bottom:4px solid var(--purple);
  margin-bottom:2px}
.side-btn:hover{background:#9ccdec}

.aphorism{margin:0 0 12px}
.author{color:var(--link);font-weight:bold;font-size:18px;margin:12px 0}
.author a{text-decoration:none}
.source{color:var(--red);font-size:13px}
hr{border:0;border-top:1px solid var(--rule);margin:16px 0 14px}
.feature{margin:0 auto;max-width:900px;border:1px solid var(--rule);padding:10px;background:var(--frame);border-radius:3px}
.feature img{display:block;width:100%;height:auto}

footer{margin-top:30px;border-top:1px dotted var(--dots);padding:16px;text-align:center;color:var(--grey);font-size:15px}

@media (max-width:980px){
  .cols{grid-template-columns:1fr}
  .col-left,.col-right{border:0}
  .topnav ul.top{flex-wrap:wrap}
  ul.sub{position:static;box-shadow:none;max-width:none}
  .searchbar .row{flex-wrap:wrap}
  .searchbar select,.searchbar .row:nth-child(2) select:last-child{width:100%}
}

.library-page{overflow-x:auto;line-height:1.5}
.library-page img{max-width:100%;height:auto}
.library-page table{max-width:100%}
.tree-box li.leaf.current>a{font-weight:bold;color:#000;background:#fff;padding:0 3px}

/* Savitri reader (Book / Canto navigation from the old pages) */
#allbooks{text-align:center;line-height:1.9;margin-bottom:10px}
#allcantos{text-align:center}
#bkcantos{line-height:1.9}
#loadcanto,#cantotext{text-align:left}
.booktitle{color:#800080;font-weight:bold;font-size:14px;margin:18px 0 6px;text-align:center}
#allbooks strong,#bkcantos strong{color:#000}
/* smaller text on the Savitri Audio pages only (overrides the old <font size> tags) */
.audiotext,.audiotext p,.audiotext font,.audiotext span,.audiotext b,.audiotext i,.audiotext td,.audiotext li,.audiotext div,.audiotext blockquote{font-size:13px !important;line-height:1.45}
/* Download Works pages: purple bold heading, bold blue underlined links in a bordered table */
.downloadpage h1,.downloadpage h2,.downloadpage h3,.downloadpage h4{color:#800080 !important;font-weight:bold !important;font-size:16px !important;margin:18px 0 8px}
.downloadpage table{border:2px solid #999;border-collapse:separate;border-spacing:2px;width:100%}
.downloadpage td{border:2px solid #999;text-align:center;padding:6px 4px;vertical-align:middle}
.downloadpage a,.downloadpage a *{color:#0000ff !important;font-weight:bold !important;font-size:14px !important;text-decoration:underline !important}
.downloadpage,.downloadpage *{font-family:Arial,Helvetica,sans-serif !important}
.photogrid{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.photogrid img{display:block;height:auto;border:1px solid #ccc;padding:2px;background:#fff}
.ddnav{display:flex;justify-content:space-between;gap:12px;margin:0 0 14px}
.ddnav .m{text-align:center;flex:0 0 auto}.ddnav .r{text-align:right}.ddnav .l,.ddnav .r{flex:1}
.ddnav a{font-weight:bold}
/* Discover the Divine pages: smaller serif reading text, bold blue Arial title */
.ddpage,.ddpage p,.ddpage span,.ddpage font,.ddpage div,.ddpage li,.ddpage td,.ddpage blockquote,.ddpage i,.ddpage em,.ddpage b{font-family:"Times New Roman",Times,serif !important;font-size:14px !important;line-height:1.45}
.ddpage p{text-align:justify;margin:0 0 12px}
.ddpage h1,.ddpage h2,.ddpage h3{font-family:Arial,Helvetica,sans-serif !important;font-size:20px !important;font-weight:bold !important;color:#0000ff !important;margin:16px 0 12px}
.ddpage .ddnav,.ddpage .ddnav *{font-family:Arial,Helvetica,sans-serif !important;font-size:14px !important;font-weight:bold !important}
.ddpage a{color:#0000ff}
/* White site title over the middle of the banner picture */
.banner-title{position:absolute;left:51.5%;top:43%;margin:0;transform:translate(-50%,-50%);white-space:nowrap;line-height:1;pointer-events:none}
.banner-title span{display:inline-block;transform:scaleX(.82);color:#fff;font:normal 3vw/1 "Helvetica Neue",Arial,sans-serif;font-size:min(2.6vw,37px);letter-spacing:-.5px;text-shadow:0 1px 3px rgba(0,0,0,.45)}
@media (max-width:700px){.banner-title span{font-size:4.2vw}}
/* slightly smaller text in the search bar */
.searchbar,.searchbar label,.searchbar input[type=text],.searchbar select,.searchbar .contact{font-size:14px}
.searchbar button{font-size:18px}
/* Contact form */
.contactform fieldset{border:1px solid #000;max-width:820px;padding:8px 14px 14px}
.contactform legend{background:#eee;border:1px solid #ccc;padding:3px 8px;font-size:16px}
.contactform label{display:block;margin-top:8px}
.contactform input[type=text],.contactform input[type=email]{width:370px;max-width:100%;padding:6px;border:1px solid #888;border-radius:4px;font-size:16px}
.contactform textarea{width:370px;max-width:100%;padding:6px;border:1px solid #888;border-radius:4px;font:16px Arial,sans-serif}
.contactform .captcha-row{margin-top:10px}.contactform .captcha-row a{font-size:20px;text-decoration:none;vertical-align:top;margin-left:6px}
.contactform button{background:#666;color:#fff;border:0;font-weight:bold;font-size:17px;padding:5px 8px;cursor:pointer}
.contact-err{color:#c00;margin:4px 0}.contact-ok{color:#080}
