* { box-sizing: border-box; }

.right,
.left { margin-bottom: .8em; }
.right { float: right; margin-left: 1em; }
.left { float: left; margin-right: 1em; }
.print-only { display: none !important; }
.smallcaps { font-variant: small-caps }
.indent { margin-left: 1.8em }
.red { color: red }
.inline { display: inline }
.hidden { display: none; }
.sans-serif { font-family: 'Open Sans', sans-serif; }
.crossword { font-family: 'Open Sans', sans-serif; font-size: 95% }
.crossword li { margin-bottom: .1em }
.smaller { font-size: 90% }
.attribution { 
  display: block;
  font-family: 'Open Sans', sans-serif;
  font-weight: italic
}
code { font-weight: bold }

body { font-family: 'Open Sans', sans-serif; }
a:link { text-decoration: none }
section.body a:link { text-decoration: underline }

main > .summary:first-child,
section.head > *:first-child,
section.body > h2:first-of-type,
section.body > p:first-of-type,
section.body > *:first-child {
  margin-top: 0;
  padding-top: 0;
}
.issue main a:link,
.collection main a:link { text-decoration: none }
address { font-style: normal; display: inline }
h1, h2, h3, h4, h5, h6 { line-height: 1.2em; }
h1    { font-size: 180% }
h2    { font-size: 165% }
h3    { font-size: 150% }
h4    { font-size: 130% }
h5,h6 { font-size: 110% }
abbr, acronym { text-decoration: none }
dt { font-weight: bold }
dd { margin: 0 0 1em 1.5em }
/*
hgroup > h1 {
  margin-bottom: 0.2em;
  font-size: 180%;
}
hgroup > h2 {
  margin-top: 0em;
  font-size: 180%;
  color: #000;
}
*/
/* --- inline unordered lists --- */

ul.inline {
  display: inline;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ul.inline li {
  display: inline;
  white-space: nowrap;
  margin: 0;
  padding: 0;
}
ul.inline li:after {
  content: " | ";
  opacity: 0.6;
}
ul.inline li:last-child:after {
  content: none 
}

/* --- compact lists --- */

ul.compact{
  /* list-style-type: none; */
}
ul.compact li {
  margin: .1em !important;
}

/* --- tables --- */

table.zebra tr:nth-child(even) {
  background-color: #eee
}
thead, tfoot { 
  background-color: #373;
  color: #fff;
}
td, th { padding: .2em .5em }

/* --- targeted fragments --- */

/* (treat reverse footnote links <sup> elements differently) */

:target:before {
  content: "☞";
  color: red; 
  font-size: 200%;
  vertical-align: middle;
}
:target:not(sup):before {
  margin-right: .5rem;
  vertical-align: bottom;
}
:target:not(sup):before { float: left }
:target:not(sup) > :first-child { margin-top: 0 }

/* --- figures --- */

body:not(.year) .figure > a > img,
body:not(.year) figure > a > img {
  cursor: zoom-in;
}

.figure,
figure {
  width: 100%;
  margin: .5em 0 1.5em 0;
  break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid; /* Firefox */
}

figure img,
.figure img {
  width: 100%;
}

.figure,
figcaption {
  font-family: 'Open Sans', sans-serif;
  text-align: center;
  color: #444;
  font-size: 90%;
  line-height: 1.3em;
}

.issue .figure img,
.issue figure img {
  border: 1px solid #888;
}


/* --- #site-nav --- */

#logo {
  display: block;
  width: 12em;
  margin: 0 auto 1em auto;
}

#main-pulldown {
  display: none;
}


article > main {
  line-height: 1.4em;
}

article .timestamp {
  font-size: 90%;
  font-style: italic;
  color: #555;
  text-align: right;
  clear: both;
}

/* --- for the SVG map on groups pages --- */
#usmap {
  background-color: #fff;
  margin: 0 0 .2em 0; 
  border: 1px solid #999;
  border-radius: 0.3em;
  box-shadow: .1em .1em .3em #ddd;
  width: 100%;
  min-width: 10em;
}
#usmap path {
  fill: #d3d3d3;
  transition: .6s fill;
} 
#usmap a.active path,
#usmap a:hover path {
  fill: #8282ff !important;
}

#usmap a.active {
  text-decoration: underline;
}

/*--- local group listings ----*/
ul.cities {
  padding-left: 1.8em;
}
ul.cities > li > h3 { 
  color: #252;
  margin-bottom: .5em;
}
ul.group {
  padding-left: 1em;
  list-style-type: none;
  margin: 0 0 .8em 0;
}
#inline-region-list {
  font-size: 90%; 
}

/*--- bulteno ----*/

/* change horizontal rule to ivy leaves */
.n-bulteno main hr { 
  text-indent: 0;
  width: 7em;
  border: none; 
  height: auto;
  padding: auto;
  margin: .9em auto .5em auto;
  color: transparent;
}
.n-bulteno main hr:after { 
  color: #040;
  font-size: 180%;
  content: "❧   ❧   ❧";
}

ul.issue-list {
  list-style-type: none;
  margin: .5em 0;
  padding: 0;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
}

.year figure.issue-thumbnail {
  text-align: center;
  /* white-space: nowrap; */
  width: 182px;
  margin: 0 1em 1.5em 1em;
}
.year figure.issue-thumbnail img {
  border: 1px solid #aaa;
  width: 100%;
  height: auto;
  box-shadow: .3em .3em .3em #aaa;
  -moz-box-shadow: .3em .3em .3em #aaa;
  -webkit-box-shadow: .3em .3em .3em #aaa;
}

article > header > h1 {
  margin: .4em 0 .8em 0;
  line-height: 1.1em;
}

.n-bulteno .byline {
  font-family: 'Open Sans', sans-serif;
  /* margin: 1em 0 1em inherit; */
  margin-top: 0;
  margin-bottom: 0;
}

.n-bulteno.collection .byline {
  font-size: 90%;
}

.n-bulteno .column-name {
  /* font-style: italic; */
  font-weight: bold;
}

/*
.n-bulteno dd.column-authors {
  font-weight: bold;
  font-family: sans-serif;
  margin-bottom: 0;
}
*/

.n-bulteno .summary {
  font-family: 'Open Sans', sans-serif;
  font-size: 88%;
  margin-top: 0;
}

.n-bulteno article > h1,
.n-bulteno article > main {
  font-family: Georgia, serif;
  font-size: 110%;
  line-height: 1.45em;
}

.n-bulteno article > header > h1 {
  font-size: 180%;
  line-height: 1.1em;
  margin: .5em 0 .3em 0;
}

.n-bulteno article > header > h1.issue-name {
  font-size: 180%;
  color: #252;
  text-shadow: 
    1px 0px 1px #ccc, 0px 1px 1px #eee, 
    2px 1px 1px #ccc, 1px 2px 1px #eee;
}

.n-bulteno main {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}

.n-bulteno main h1 { font-size: 150%; }
.n-bulteno main h2 { font-size: 140%; }
.n-bulteno main h3 { font-size: 120%; }
.n-bulteno main h4 { font-size: 110%; }

.n-bulteno h2.subtitle { font-size: 120%; }

.n-bulteno .subarticle .body h1 { font-size: 140%; }
.n-bulteno .subarticle .body h2 { font-size: 120%; }
.n-bulteno .subarticle .body h3 { font-size: 110%; }
.n-bulteno .subarticle .body h4 { font-size: 105%; }

.n-bulteno .subarticle > h2 {
  font-family: 'Open Sans', sans-serif;
  padding-top: 2em; 
}
.n-bulteno .subarticle > h2:first-child {
  padding-top: 0;
}

.n-bulteno .subarticle section.body p:last-child {
  margin-bottom: .5em; 
}

.n-bulteno .subarticle .byline {
  font-style: italic;
  margin-top: 1em;
  margin-bottom: 2em;
}

.n-bulteno blockquote {
  margin-left: 1em;
  margin-right: 0.5em;
  font-family: 'Open Sans', sans-serif;
  font-size: 95%;
}

.n-bulteno .surname {
  font-variant: small-caps;
}

.n-bulteno .question {
  font-weight: bold;
  font-style: italic;
}

.n-bulteno .dropcap > p:first-of-type:first-letter {
  font-size: 505%;
  float: left; 
  margin: .07em .03em 0 0; 
  line-height: .75em;
  vertical-align: top;
  letter-spacing: -.01em;
  color: #050;
  break-after: avoid;
}

.n-bulteno .head,
.n-bulteno .foot {
  font-family: 'Open Sans', sans-serif;
  border-top: 1px solid green;
  border-bottom: 1px solid green;
  margin: 1em 0;
  font-size: 90%;
  line-height: 1.3em;
  padding: .4em 0 0 0;
}
.n-bulteno .head {
  margin-top: 0; 
}
.n-bulteno .head p:first-child,
.n-bulteno .foot p:first-child {
  margin: 0;
}

.n-bulteno .head p:last-child,
.n-bulteno .foot p:last-child {
  padding-bottom: .5em;
  margin: 0;
}

.n-bulteno .author-info {
  font-family: 'Open Sans', sans-serif;
  font-size: 85%;
  line-height: 1.3em;
  margin: 1.5em .4em 1.5em 0;
  padding: .8em 0 0 0;
  background: #eff5e5;
  border: .1em solid #484;
  max-width: 36em;
  border-radius: .5em;
  box-shadow: .2em .2em .3em #ccc;
  width: 100%;
  overflow: hidden;
}
.n-bulteno .author-info header h2 {
  margin-top: 0;
  margin-left: 1rem;
  font-size: 130%;
}
.n-bulteno .author-info img {
  float: left;
  margin: 0 1em .5em 1em;
  border: 1px solid #444;
  width: 7em;
}
.n-bulteno .author-info p {
  margin: 1rem;
}
.n-bulteno .author-info footer {
  color: #fff;
  width: 100%;
  text-align: center;
  clear: left;
  background-color: #467239;
  padding: .5em 0;
}
.n-bulteno .author-info footer a {
  color: #fff;
  font-weight: bold;
}

/*--- blog post list, converted from RSS ---*/

.blog-posts a:link { text-decoration: none }

.blog-posts ul {
  padding-left: 2em;
}
.blog-posts li div {
  color: #444;
  margin-bottom: .5em;
  font-size: 90%;
  line-height: 1.4em;
  font-style: italic;
}
.blog-posts time {
  display: inline;
  margin: 0;
  padding: 0;
}

/* --- misc --- */

.noto {
  font-family: sans-serif;
  padding: 1em !important;
  background-color: #ffa;
  border: 1px solid #dd6;
}
