/* ==========================================================================
   GreekReligion.org — restoration stylesheet
   Faithful to the original 2003–2012 capture: white ground, Verdana body,
   Times New Roman headings, crimson links, navy / dark-red section bars and
   pastel content boxes. Hand-written, responsive, no framework.
   ========================================================================== */

:root{
  --ink:#1a1a1a;
  --cream:#faf8f0;        /* interior page ground (from original body bg) */
  --navy:#000099;         /* COURSE CENTER bar */
  --blue:#0000cc;         /* section bars */
  --darkred:#990033;      /* section bars / accents */
  --maroon:#330000;
  --crimson:#cc0033;      /* original link colour */
  --crimson-dk:#990033;
  --purple:#683195;       /* interior-page link colour */
  --pink:#ffcccc;
  --lavender:#ccccff;
  --cyan:#ccffff;
  --paleblue:#e8f9ff;
  --yellow:#ffffcc;
  --green:#ccffcc;
  --rule:#d8d2c4;
  --maxw:1180px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:#ffffff;
  color:var(--ink);
  font-family:Verdana,Arial,Helvetica,sans-serif;
  font-size:15px;
  line-height:1.6;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
img{max-width:100%;height:auto}

a{color:var(--crimson);text-decoration:none}
a:hover{color:var(--crimson-dk);text-decoration:underline}

h1,h2,h3,h4{font-family:"Times New Roman",Times,Georgia,serif;color:var(--maroon);line-height:1.2}

.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:8px 14px;z-index:100}
.skip:focus{left:8px;top:8px}

/* ---------- Header + nav ------------------------------------------------- */
.site-header{background:var(--navy);color:#fff;border-bottom:4px solid var(--darkred)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.brand a{display:flex;flex-direction:column;padding:12px 0;color:#fff;text-decoration:none}
.brand-title{font-family:"Times New Roman",Times,serif;font-size:1.65rem;font-weight:bold;letter-spacing:.5px;line-height:1.05}
.brand-site{font-family:Verdana,Arial,sans-serif;font-size:.62rem;font-weight:bold;font-style:italic;letter-spacing:.14em;text-transform:uppercase;color:#f3c9d6}

.nav-toggle{display:none;background:var(--darkred);color:#fff;border:0;padding:9px 14px;font:bold .8rem Verdana,sans-serif;border-radius:4px;cursor:pointer}

.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.site-nav>ul>li{position:relative}
.site-nav a{
  display:block;color:#fff;padding:10px 13px;
  font:bold .72rem Verdana,Arial,sans-serif;font-style:italic;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
}
.site-nav a:hover,.site-nav a.active{background:var(--darkred);color:#fff}
.site-nav .caret{font-style:normal;font-size:.7em}
.site-nav .sub{display:none;position:absolute;left:0;top:100%;min-width:210px;background:var(--darkred);
  box-shadow:0 6px 16px rgba(0,0,0,.3);z-index:40;flex-direction:column}
.site-nav .has-sub:hover .sub,.site-nav .has-sub.open .sub{display:flex}
.site-nav .sub a{text-transform:none;font-style:normal;font-weight:normal;font-size:.78rem;padding:9px 16px;border-top:1px solid rgba(255,255,255,.12)}
.site-nav .sub a:hover{background:var(--navy)}

/* ---------- Page scaffolding -------------------------------------------- */
.page{padding:26px 0 50px}
.page .wrap>h1{font-size:2rem;text-align:center;margin:.2em 0 .1em}
.pagehead{text-align:center;padding:10px 0 4px}
.pagehead .kicker{font:bold .68rem Verdana,sans-serif;font-style:italic;letter-spacing:.14em;text-transform:uppercase;color:var(--darkred)}
.rule{border:0;border-top:1px solid var(--rule);width:45%;margin:14px auto}

/* Section bar — the navy/dark-red title strips from the original */
.bar{background:var(--darkred);color:#fff;text-align:center;padding:6px 10px;margin:0;
  font:bold .72rem Verdana,Arial,sans-serif;font-style:italic;letter-spacing:.12em;text-transform:uppercase}
.bar.navy{background:var(--navy)}
.bar.blue{background:var(--blue)}

/* Pastel content boxes */
.box{border:1px solid rgba(0,0,0,.12);margin:0 0 22px;background:#fff}
.box .body{padding:14px 18px}
.box.pink .body{background:var(--pink)}
.box.lavender .body{background:var(--lavender)}
.box.cyan .body{background:var(--paleblue)}
.box.yellow .body{background:var(--yellow)}
.box.green .body{background:var(--green)}
.box .body p{margin:.2em 0 .8em}
.box .body p:last-child{margin-bottom:.2em}

/* ---------- Home: hero + resource directory ----------------------------- */
.hero{text-align:center;padding:22px 0 10px}
.hero img{border:1px solid var(--rule);max-height:460px}
.hero .cap{font-family:"Times New Roman",Times,serif;font-size:1.15rem;color:var(--maroon);margin:12px 0 2px}

.intro{max-width:760px;margin:6px auto 26px;text-align:center;color:#333}

.directory{column-gap:26px}
@media(min-width:720px){.directory{columns:2}}
@media(min-width:1040px){.directory{columns:3}}
.directory .box{break-inside:avoid;display:inline-block;width:100%}
.directory ul{list-style:none;margin:0;padding:0}
.directory li{padding:7px 0;border-top:1px dotted rgba(0,0,0,.14)}
.directory li:first-child{border-top:0}
.directory li a{font-weight:bold;font-size:.82rem}
.directory li .note{display:block;color:#555;font-weight:normal;font-size:.76rem;line-height:1.5;margin-top:2px}

/* pull-quote / epigraphy block (Lycosura etc.) */
.quote{background:#ffebff;border-left:4px solid var(--darkred);padding:16px 20px;margin:0 0 20px;
  font-size:.92rem;color:#3a1030}
.quote .src{display:block;text-align:right;color:var(--darkred);font-weight:bold;font-size:.8rem;margin-top:8px}

/* content pages: a cream panel with readable measure */
.panel{background:var(--cream);border:1px solid var(--rule);padding:26px 30px;margin:0 auto;max-width:900px}
.panel h2{color:var(--blue);font-size:1.4rem;margin:1.6em 0 .4em}
.panel h2:first-child{margin-top:.2em}
.panel h3{color:var(--darkred);font-size:1.12rem;margin:1.3em 0 .3em}
.panel a{color:var(--purple);text-decoration:underline}
.panel a:hover{color:var(--crimson-dk)}
.panel ul{padding-left:1.3em}
.panel li{margin:.3em 0}
.panel .meta{color:#666;font-size:.82rem}
.figure{text-align:center;margin:18px 0}
.figure img{border:1px solid var(--rule)}
.figure figcaption{font-size:.76rem;font-weight:bold;font-style:italic;color:var(--darkred);margin-top:6px}

.weeklist{list-style:none;padding:0}
.weeklist li{padding:8px 0;border-top:1px dotted rgba(0,0,0,.16);font-size:.86rem}
.weeklist .wk{color:#990099;font-weight:bold}

/* two-column staff / about cards */
.people{display:grid;grid-template-columns:1fr;gap:18px;margin-top:14px}
@media(min-width:640px){.people{grid-template-columns:1fr 1fr}}
.person{background:#fff;border:1px solid var(--rule);padding:16px 18px}
.person .av{width:46px;height:46px;border-radius:50%;background:var(--darkred);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:"Times New Roman",serif;font-size:1.3rem;margin-bottom:8px}
.person h3{margin:.1em 0;color:var(--maroon)}
.person .role{color:var(--darkred);font-weight:bold;font-size:.78rem;font-style:italic}
.person p{font-size:.85rem;color:#333}

/* ---------- Forms (feedback) -------------------------------------------- */
.form-field{margin:0 0 16px}
.form-field label{display:block;font-weight:bold;font-size:.85rem;margin-bottom:5px;color:#003399}
.form-field input,.form-field textarea,.form-field select{
  width:100%;padding:9px 10px;border:1px solid #b9c0cf;border-radius:4px;
  font:inherit;font-size:.9rem;background:#fff}
.form-field textarea{min-height:90px;resize:vertical}
.btn{display:inline-block;background:var(--darkred);color:#fff;border:0;padding:12px 28px;
  font:bold .82rem Verdana,sans-serif;letter-spacing:.05em;text-transform:uppercase;border-radius:5px;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--navy);color:#fff;text-decoration:none}
.flash{padding:12px 16px;border-radius:5px;margin:0 0 20px;font-size:.9rem}
.flash.ok{background:var(--green);border:1px solid #6ab06a;color:#1f5d1f}
.flash.err{background:var(--pink);border:1px solid #cc6677;color:#7a1026}

/* ---------- Blog -------------------------------------------------------- */
.blog{max-width:1040px}
.blog .lead{max-width:680px;margin:2px auto 30px;text-align:center;color:#444}
.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px}
.pcard{background:#fff;border:1px solid var(--rule);display:flex;flex-direction:column}
.pcard .thumb{height:92px;background:var(--darkred);display:flex;align-items:center;justify-content:center}
.pcard .thumb span{font-family:"Times New Roman",serif;color:#fff;font-size:1.6rem;letter-spacing:.08em}
.pcard .pad{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.cat{align-self:flex-start;font:bold .62rem Verdana,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:var(--navy);padding:3px 9px;border-radius:3px;margin-bottom:10px}
.pcard h2{font-size:1.1rem;margin:0 0 8px;line-height:1.3}
.pcard h2 a{color:var(--maroon)}
.pcard p{font-size:.85rem;color:#444;flex:1;margin:0 0 12px}
.pcard .meta{color:#777;font-size:.76rem}

.pager{display:flex;justify-content:center;gap:8px;margin-top:34px}
.pager a{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--rule);color:var(--ink);text-decoration:none;font-weight:bold}
.pager a.on{background:var(--darkred);color:#fff;border-color:var(--darkred)}

.post{max-width:760px;margin:0 auto}
.post .back{font-size:.82rem}
.post h1{font-size:2rem;color:var(--maroon);margin:.3em 0 .1em}
.post .meta{color:#777;font-size:.82rem;margin:0 0 22px}
.post .cover{margin:0 0 22px}
.post .body{font-size:.98rem;line-height:1.8;color:#262626}
.post .body h2{color:var(--blue);font-size:1.35rem;margin:1.7em 0 .4em}
.post .body h3{color:var(--darkred);font-size:1.1rem;margin:1.3em 0 .3em}
.post .body p{margin:0 0 1.05em}
.post .body ul{padding-left:1.4em}
.post .body a{color:var(--purple);text-decoration:underline}
.post .body a:hover{color:var(--crimson-dk)}
.post .body blockquote{background:#ffebff;border-left:4px solid var(--darkred);margin:0 0 1.1em;padding:12px 18px;color:#3a1030}
.authorbox{display:flex;gap:16px;align-items:flex-start;margin-top:36px;padding:20px;background:var(--cream);border:1px solid var(--rule)}
.authorbox .av{flex:0 0 50px;width:50px;height:50px;border-radius:50%;background:var(--darkred);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:"Times New Roman",serif;font-size:1.4rem}
.authorbox .an{font-weight:bold;color:var(--maroon);margin:0}
.authorbox .an span{font-weight:normal;font-style:italic;color:#777}
.authorbox .ab{font-size:.85rem;color:#444;margin:.3em 0 0}

/* ---------- Footer ------------------------------------------------------ */
.site-footer{background:var(--maroon);color:#e8dcd0;margin-top:40px;padding:34px 0 24px;font-size:.84rem}
.foot-cols{display:grid;grid-template-columns:1fr;gap:26px}
@media(min-width:760px){.foot-cols{grid-template-columns:2fr 1fr 1fr}}
.site-footer a{color:#f3c9d6}
.site-footer a:hover{color:#fff}
.foot-brand{font-family:"Times New Roman",serif;font-size:1.2rem;color:#fff;margin:0 0 6px}
.foot-h{font:bold .7rem Verdana,sans-serif;font-style:italic;letter-spacing:.12em;text-transform:uppercase;color:#f3c9d6;margin:0 0 8px}
.foot-nav ul{list-style:none;margin:0;padding:0;columns:1}
.foot-nav li{padding:3px 0}
.site-footer hr{border:0;border-top:1px solid rgba(255,255,255,.18);margin:24px 0 14px}
.copy{margin:0;color:#c9b3a6;font-size:.78rem;text-align:center}

/* ---------- Responsive nav ---------------------------------------------- */
@media(max-width:860px){
  .nav-toggle{display:inline-block}
  .site-nav{flex-basis:100%;display:none}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column}
  .site-nav .sub{position:static;box-shadow:none;background:rgba(0,0,0,.25)}
  .site-nav .has-sub>a .caret{float:right}
  .brand a{padding:10px 0}
}
