

html    { 
overflow:  -moz-scrollbars-vertical; 
overscroll-behavior-y: none;
overflow-y: scroll;
}

img     { border: none; }
span    { padding:0; margin:0; }
a       { text-decoration: none; color: #39c; }
a:hover { text-decoration: underline; }
a { cursor: pointer; }

body,html,p,h1,h2,h3 {
font-family: "PT Serif", "segoe ui", geneva, verdana, trebuchet, arial, sans-serif;
color:   #383838;
padding: 0;
margin:  0;
overscroll-behavior-y: none;
}
.sans {
font-family: "Open Sans", helvetica, verdana, sans-serif !important;
}

code.twitter {
font-size: 24px;
}

p {
margin-bottom: 0.5em;
line-height:   1.35em;
}

body {
font-size: 13px;
}

ul {
margin:  0 0.5em;
padding: 0.5em 1em;
}


div#pagewrap {
position: relative;
margin: 1em auto;
width:  975px;
}

div#sidelinks {
position: absolute;
text-align: center;
width: 100px;
left: -110px;
top: 15px;
/*padding-right: 5px;*/
/*border: 1px solid #aaa;*/
}

div#sidelinks h1 {
text-transform: uppercase;
margin:         20px 0 5px;
color:          #444 !important;
font-weight:    bold !important;
font-family: "Open Sans", helvetica, verdana, sans-serif !important;
}

div#sidelinks * {
font-family: "Open Sans", helvetica, verdana, sans-serif !important;
}

div#sidelinks p {
font-size: 10px;
margin-bottom: 10px;
}

div#sidelinks {
font-size: 12px;
}

div#sidelinks * img {
border:         1px solid white;
/*border-bottom:  1px solid #ddd;*/
padding-bottom: 5px;
}

div#sidelinks * img:hover {
border: 1px solid #ddd;
}

div#googlesearch {
position: relative;
}

div#page {
border: 1px solid #aaa;
background-color: #fff;
}

div#quotes {
position: relative;
left:           320px;
width:          650px;
text-align:     right;
color:          #aaa;
font-size:      11px;
padding-bottom: 0.25em;
}

div#icons {
position:  absolute;
color:     #aaa;
font-size: 11px;
top:       0px;
}

#quotes .quote .text {

}
#quotes .quote .author {
font-style: italic;
}
#quotes .quote a {

}

p.quote {
margin-left: 2em;
margin-right: 2em;
font-style: italic;
}
.norm {
font-style: normal;
}

div#header {
position: relative;
height: 40px;
text-align: center;
border-bottom: 2px solid #ddd;
border-top:    3px solid #aaa;
padding: 1em;
background: white;
}

div.slideshow1 {
position: absolute;
margin-left: 380px;
}

div.slideshow-hive {
position: relative;
height: 335px;
}

div.slideshow2 {
position: relative;
}

div#footer {
text-align: center;
border-bottom: 1px solid #ddd;
padding: 1em;
}

div#publicservice {
width:100%;
text-align: left;
font-family: "Open Sans", helvetica, verdana, sans-serif;
}
div#publicservice .banner {
background:#ed1e79;
text-align: center;
font-weight: bold;
color:#fff;
padding:10px;
text-transform: uppercase; 
letter-spacing:0.1em;
}

div#masthead {
position: relative;
}

div#badge {
padding: 0.5em;
}

div#badge img {
float:         left;
padding-right: 1em;
}
div.cell-v2 h1 {
padding:   5px 0 0 5px;
font-size: 10px;
}

div#aboutme {
padding:       0.5em;
}

div#quicklinks {
padding:       0.5em;
padding-top:   10px;
margin-bottom: -10px;
}
div.quicklink {
float: left;
text-align: center;
width: 60px;
padding: 0 7px;
}
div.quicklink div {
text-transform: uppercase;
font-family:    "PT Serif", georgia, serif;
font-weight:    normal;
font-size:      9px;
letter-spacing: 0.1em;
color:          #000;
padding-top:    0.5em;
}

div.ribbon {
font-size: 12px;
padding: 0.5em;
}
div.ribbon > a {
padding: 0 0.05em;
}

div#newsflash h1 {
left: 5px;
top:  50%;
margin-top: -0.6em;
font-size: 10px;
}

.sectiontitle {
font-size:      12px;
font-family:    "PT Serif", georgia, serif;
letter-spacing: 0.1em;
font-style:     normal;
font-weight:    normal;
text-transform: uppercase;
}

div#newsflash {
position:   relative;
text-align: center;
background: #ddd;
font-size:  13px;
padding:    0.4em;
font-style: italic;
color:      #666;
}

div#newsflash a {
color: #336592;
}
span.newsitem {
/*position: relative;*/
}

hr {
padding: 0;
margin:  0;
background-color: #e3e3e3;
border: none;
height: 1px;
clear: both;
}

hr.thick {
height: 2px;
}

.clear {
clear: both;
}

hr.separator {
margin: 0.75em 0;
}

div#projects {
width:        620px;
float:        left;
border-right: 1px solid #ddd;
padding:      0.5em;
}

/* new project pane layout */
div#page-container {
margin: 0.5em;
}
.page-container-full {
}
.page-container-partial {
width: 620px;
float: left;
}

.page-container-partial #project-container {
}
.page-container-full #project-container {
}

/* --- */

.full {
width:   100%  !important;
border:  none  !important;
float:   none  !important;
margin:  0.5em !important;
padding: 0     !important;
}

.debug {
font-family: Courier, monospace;
}

div#projects > hr {
margin-bottom: 0.5em;
}

div#slogan-badge {
text-transform: uppercase;
font-family:    "Open Sans", helvetica, verdana, sans-serif !important;
font-weight:    bold;
color:          #999;
font-size:      10px;
letter-spacing: 0.1em;
padding-bottom: 0.5em;
}

div#projects > h1 {
text-transform: uppercase !important;
font-family:    "Open Sans", helvetica, verdana, sans-serif !important;
font-weight:    bold !important;
color:          #999 !important;
}

ol.contents, ul.contents {
list-style-position: inside;
margin:      0 0 1em 0;
padding:     0;
text-indent: 0em;
}
ol.contents li:hover, ul.contents li:hover {
background: #eee;
}

div#projects > h1, div#thoughts > h1, div.ribbon > h1, div#sidelinks > h1 {
/*
text-transform: uppercase;
font-family:    "PT Serif", georgia, serif;
font-weight:    normal;
font-size:      10px;
letter-spacing: 0.1em;
color:          #222;
padding-bottom: 0.5em;
*/
text-transform: uppercase;
font-family:    "Open Sans", helvetica, verdana, sans-serif !important;
font-weight:    800;
color:          #444;
font-size:      10px;
letter-spacing: 0.1em;
padding-bottom: 0.5em;
}

div.project {
width: 300px;
float: left;
padding-right: 0.5em;
}
div.oneproject {
margin-left:   0em;
padding-right: 0.5em;
}

div.project > h1, div.oneproject > h1, div.thought > h1, div#project-container h1 {
text-transform: uppercase;
/*font-family:    "PT Serif", georgia, serif;*/
font-family:    "Open Sans", helvetica, verdana, sans-serif !important;
/*letter-spacing: -0.25px;*/
line-height:    1.25em;
font-size:      18px;
font-weight:    800;
color:          #444;
}

/* When news+thoughts are paneled on one page */
div.thought * img, div.thought div.image {
width: 300px !important;
}

div.oneproject > h1, #project-container h1 {
font-size:     18px;
margin-bottom: 0.5em;
}

h1.ribbon {
padding: 0           !important;
margin:  0           !important;
color:   #444        !important;
font-size:      14px !important;
letter-spacing: .2em !important;
}

h2, div.project > h2, div.oneproject h2, div.thought > h2, div#project-container h2 {
text-transform: uppercase;
font-family:    "Open Sans", helvetica, verdana, sans-serif !important;
font-size:      16px;
font-weight:    800;
color:          #666;
margin:         1em 0 0.5em 0;
}

h3, div.project > h3, div.oneproject > h3, div.thought > h3 {
text-transform: uppercase;
font-size:      14px;
font-family:    "Open Sans", helvetica, verdana, sans-serif !important;
color:          #999;
margin:         1em 0 0.5em;
}

h4, div.project > h4, div.oneproject > h4, div.thought > h4 {
text-transform: uppercase;
font-size:      11px;
font-weight: light;
/*font-family:    "PT Serif", helvetica, verdana, sans-serif;*/
font-family:    "Open Sans", helvetica, verdana, sans-serif !important;
color:          #ea2e49;
margin: 0.5em 0;
}

div#thoughts {
float: left;
padding: 0.5em;
width: 325px;
float: left;
border-left:1px solid #ddd;
}

div.thought {
border-bottom: 1px solid #ddd;
margin-bottom: 0.5em;
}

span.sep {
font-size: 10px;
font-weight: bold;
color:     #aaa;
margin: 0 -1px;
}

.center {
text-align: center;
}

.ucase {
text-transform: uppercase;
}

.bold {
font-weight: bold;
}

.loose {
margin: 0.5em;
}

.email {
font-family: courier, fixed;
padding: 1em;
font-size: 12px;
margin: 1em 2em;
border: 1px solid #ddd;
background-color: #eee;
}

.image {
text-align: center;
margin: 1em 0;
}
.image > div {
display:inline-block;
}

.caption {
width:       inherit;
text-align:  left;
font-size:   10px;
font-family: "Open Sans", helvetica, verdana, sans-serif;
color:       #686868;
}

.pull {
width:       200px;
border-left: 1px solid #ddd;
font-size:   12px;
float:       right;
margin-left: 1em;
margin:      0.5em;
padding:     0.5em;
}

.pullmed {
width:       200px;
border-left: 1px solid #ddd;
color:       #666;
font-size:   120%;
float:       right;
margin-left: 1em;
margin:      0.5em;
padding:     0.5em;
}


.pulllarge {
color:       #666;
width:       200px;
border-left: 1px solid #ddd;
font-size:   150%;
float:       right;
margin-left: 1em;
margin:      0.5em;
padding:     0.5em;
}

div.pull h1, div.pull h2 {
margin:  0;
padding: 0;
color:   #cc3333;
}

h1 a, h2 a, h3 a {
color: #888;
}

h1.tinyheading {
text-transform: uppercase;
font-family: "Open Sans", helvetica, verdana, sans-serif !important;
font-weight: bold !important;
color: #999 !important;
}
h1.tinyheading a {
color: inherit !important;
}

.right {
float: right;
}

.left {
float: left;
}

.pad5 {
padding: 5px;
}
.pad10 {
padding: 10px;
}
.pad15 {
padding: 15px;
}
.nopad {
padding: 0;
}
.nomargin {
margin: 0;
}
.nopadl {
padding-left: 0;
}
.nopadr {
padding-right: 0;
}
.nopadt {
padding-top: 0;
}
.nopadb {
padding-bottom: 0;
}

.small {
font-size: 90%;
}

.large {
font-size: 110%;
}

.p150 {
font-size: 150%;
}

sup {
padding-left:0.1em;
}

.vsmall {
font-size: 70%;
}

.wrap {
width:   750px;
display: table;
height:  15px;
he\ight: 150px;
}

.cell-v2 {
width:      33%;
float:      left;
}

.cell-border {
border-right: 1px solid #ddd;
border-left: 1px solid #ddd;
}

.timestamp {
font-size: 11px;
color: #666;
font-weight: bold;
}

.red {
color: #d00;
}


/* citation */

div.ref_citation {
padding: 0 0 0.25em 0;
}

.ref_id:after {
content: ". ";
}

.ref_author:after {
content: " ";
}

.ref_year:before {
content: "(";
}
.ref_year:after {
content: ") ";
}
/*
.ref_volume:before {
content: "(";
}
.ref_volume:after {
content: ") ";
}
*/

.ref_citation_brief .ref_id {
display: none;
}

.ref_citation_brief .ref_issue {
display: none;
}

.ref_citation_brief {
display: inline !important;
}

.ref_citation_brief .ref_title {
display: inline;
}

.ref_citation_brief .ref_year {
font-size:  100%;
position:   static;
background: inherit;
color:      inherit;
}

span.ref_volume {
font-weight: bold;
}

span.ref_etal {
font-style: italic;
}

span.ref_journal {
font-style: italic;
}

.indent {
text-indent: 1.5em;
}

.note {
margin: 2em;
background: #f9f9f9;
border: 1px solid #ddd;
padding: 1.5em;
color: #666;
font-size: 80%;
font-family: "Open Sans", helvetica, verdana, sans-serif;
}

.download {
background: #f9f9ef;
border:     1px solid #dfdfd5;
}

a.image-purchase {
position:    absolute;
top:         10px;
right:       10px;
padding:     3px;
border:      1px solid #fff;
background:  #ddd;
font-weight: bold;
font-size:   10px;
font-family:        "Open Sans", helvetica, verdana, sans-serif;
text-transform:     uppercase;
color:              black;
-moz-border-radius: 5px;
border-radius:      5px;
z-index:            100;
}
div.image-buttons {
position:    absolute;
top:         10px;
right:       10px;
padding:     3px;
}
a.image-button, span.image-button {
padding:     3px;
border:      1px solid #fff;
background:  #ddd;
font-weight: bold;
font-size:   10px;
font-family:        "Open Sans", helvetica, verdana, sans-serif;
text-transform:     uppercase;
color:              black;
-moz-border-radius: 5px;
border-radius:      5px;
z-index:            100;
}
a.image-purchase:hover {
background: #8dc53a;
text-decoration: none;
}

em {
text-transform: uppercase;
letter-spacing: 0.25px;
font-style:     normal;
/*font-weight:    bold;*/
font-size:      80%;
color:          #ea2e49;
/*color: #999;*/
font-family:    "Open Sans", helvetica, verdana, sans-serif !important;
}

/* download button */

div.button {
font-family: "Open Sans", helvetica, verdana, sans-serif;
margin: 15px;
border: 1px solid #ccc;
background: #ababab;
padding: 10px 15px;
text-align: center;
text-decoration: none;
display: inline-block;
-moz-border-radius: 5px;
border-radius: 5px;
}
div.button .label {
font-weight: bold;
display:   block;
font-size: 90%;
color:     white;
text-transform: uppercase;
}
div.button .sublabel {
display:   block;
font-size: 80%;
color:     #333;
}
div.button:hover a{
text-decoration: none;
}
div.button:hover {
background:      #f7931e;
}

.oneproject h1.subtitle, #project-container h1.subtitle {
font-family:    Open Sans, helvetica, verdana, arial, sans-serif;
margin:         -0.5em 0 1em;
font-weight:    700;
text-transform: none;
font-size:      14px; 
color:          #999;
}

.note-grid {
display:     grid;
grid-template-columns: 60px 1fr;
grid-gap:    8px;
margin:      1em 1em 1em;
background:  #f9f9f9;
border:      1px solid #ddd;
border-radius: 3px;
padding:     1.5em;
}
.note-image img {
width:  100%;
height:   auto;
}
.note-caption {
color:       #666;
font-size:   80%;
font-family: "Open Sans", helvetica, verdana, sans-serif;
border-left: 1px solid #ccc;
padding-left: 8px;
}

.size110 {
font-size: 110%;
}
.size120 {
font-size: 120%;
}
.size90 {
font-size: 90%;
}

