* { box-sizing: border-box }
*::-moz-selection { color: rgb(34,34,34); background: rgba(214,237,255,.5) }

@font-face {
 font-family: "Concourse T2";
 src: url("fonts/concourse_t2_regular.woff") format("woff");
}
@font-face { 
 font-family: "Concourse T3";
 src: url("fonts/concourse_t3_regular.woff") format("woff");
}
@font-face { 
 font-family: "Concourse C3";
 src: url("fonts/concourse_c3_regular.woff") format("woff");
}
@font-face {
 font-family: "Concourse C4";
 src: url("fonts/concourse_c4_regular.woff") format("woff");
}

@font-face {
 font-family: "Equity";
 src: url("fonts/equity_text_a_regular.woff") format("woff");
}
@font-face {
 font-family: "Equity";
 font-style: italic;
 src: url("fonts/equity_text_a_italic.woff") format("woff");
}
@font-face {
 font-family: "Equity";
 font-weight: bold;
 src: url("fonts/equity_text_a_bold.woff") format("woff");
}
@font-face {
 font-family: "Equity Caps";
 src: url("fonts/equity_caps_a_regular.woff") format("woff");
}

html {
 color: rgb(38,38,38);
 font-size: 22px;
 font-family: "Concourse T3", sans-serif;
 line-height: 1.35;
 text-rendering: optimizeLegibility;
 font-feature-settings: "liga" 1;
 tab-size: 4;
 -moz-tab-size: 4;
}
html#serif { font-family: "Equity", serif }
body { max-width: 50em; padding: 5em 1em 2em; margin-bottom: 3em; }

*:not(ul) + ul { padding: 0 }
ul li:before { content: none }
ul.sinking { text-align: center; margin-top: 0; }
ul.nobullet, ul.arrow { list-style: none }
ul.arrow li:before {
 content: "→";
 position: absolute;
 margin-left: -2em;
}
ul.arrow li {
 margin-bottom: .8em;
 padding-left: 2em;
}

h1, h2 { font-weight: 600; }
h1 { font: 285% "Equity" }
h2 { margin-top: 3em }
h2 span { display: none }

p + figure { margin: 2em inherit 2.5em }

nav, h2, h3, h4, h5, h6 {
 font-family: "Concourse T3", "Gill Sans", sans-serif;
}

nav {
 margin: 48px 0 0 54px;
 position: absolute;
 top: 0;
}
nav a { margin-right: .5em }
nav a:last-child { margin-right: 0 }

nav#sny {
 position: fixed;
 font-size: 110%;
 top: 0;
 left: 0;
 padding: 8px 30px;
 margin: 0;
 background: rgba(255,255,255,.8);
}
nav#sny img {
 height: 1.5em;
 width: auto;
 vertical-align: middle;
}
nav#sny a#logo { background: transparent }

header {
 font-size: 155%;
 line-height: 1.2;
 font-family: "Equity";
 margin-bottom: 2em;
}

footer a { margin-right: .8em }
footer a:last-of-type { margin-right: 0 }

table { border-collapse: collapse }
th, td { padding: .3em .5em }

blockquote {
 border-left: 4px solid rgb(230,230,230);
 padding-left: 12.5px;
 max-width: 660px;
}
code, tt { font: 13px "Lucida Grande", sans-serif }
pre { padding-left: 3em; font-size: 80%; }

.nineties {
 color: white;
 background: rgb(253,137,13);
 text-transform: lowercase;
 font: bold 70% "Concourse T3";
 padding: 0 3px;
 border-radius: 3px;
 animation: blink-animation 1.5s steps(2, start) infinite;
}
@keyframes blink-animation {
 to { visibility: hidden}
}

/* grid for laying out two-column pictures; should be configurable in the future */
section.pictures { display: flex; flex-flow: row wrap; justify-content: space-between; margin: 3em 0; max-width: none; }
section.pictures figure { position: relative; flex: 0 0 49.5%; padding: .2em 0; }
@media screen and (max-width: 750px) { section.pictures figure { flex: 0 0 100%; } }

a {
 background-image: linear-gradient(to bottom, transparent 60%, silver);
 background-repeat: repeat-x;
 background-size: 2px .1em;
 background-position: 0 1em;
 text-decoration: none;
 text-shadow:
  -1px 0 0 white,
  1px 0 0 white,
  0 -2px 0 white,
  0 1px 0 white;
}
a:link { color: rgb(0,119,204) }
a:visited { color: rgb(96,69,121) }
a:hover { background-color: rgba(240,240,240,.6) }
a:focus { background-color: rgba(214,237,255,.5) }
html#serif p a[href^="/"],
header p a:not(.norm)[href^="/"]
{
 font-family: "Equity Caps"; text-transform: lowercase
}

figure, img { width: 100% }
figure { margin: 0 auto; max-width: 1490px; }
figcaption { font-size: 72%; text-align: right; margin-bottom: .8em; }

@media only screen and (max-width: 600px) {
 html { font-size: 110% }
 main { padding: 2em 2% }
}
