body{
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #444444;
    padding:0 12px;
    margin:12px 0 0 0;
    font-size:1.15rem;
    line-height:1.3;
    font-weight: 400; 
}

.infobox p{
	margin:0;
}

h1 + p, h2 + p, h3 + p{
	margin-top:0;
}


.flexbox{
    display:flex;
    wrap:none;
}

.flexbox div{
    margin-right:1.5rem;
}

.flexbox .personimage img{
	width:196px;
	
}


h1, h2 {
    font-family: Baskerville, Georgia, Palatino, serif;
    color: #222222;
    padding:6px 0 0 0;
    margin:0;
}

h1{
    font-size:2.5rem;
    margin-bottom:12px;
}

h2{
    font-size:1.5rem;
}

h3{
	font-size:1.2rem;
    margin:0;
}

a {
    color: #0099ff;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}
a:hover {
    text-decoration: none;
    color: #ff6600;
}
a:visited {
    color: purple;
}

ul, ol {
    padding: 0;
    margin: 0;
    list-style-type: none;
    margin-left:24px;
}

li:before{
    content:"›";   
    margin-left: -18px;
    margin-right:12px;
    color:#999;
}

li:first-line{
    margin-left:36px;
}

li {
    margin:4px 0 0 18px;
}
li ul, li ul {
    margin-left: 18px;
}
p, ul, ol {
    margin:18px 0;
}

hr {
    width: 540px;
    margin: 24px auto;
    color: #aaa;
    border-top: none;
    border-left: none;
}

#publications ~ p {margin-bottom: 18px;}

@media only screen and (-webkit-min-device-pixel-ratio:2) and (max-device-width:667px){
    .flexbox .personimage img{
    	width:128px;
    }
    body{font-size:0.9rem;}
    h1{font-size:1.5rem;}
    h2{font-size:1.05rem;}
    h3{font-size:0.8rem;}
}

@media only screen and (min-resolution: 4x) and (device-width: 360px){
    body{
        font-size:1rem;
    }
    h1{
    	font-size:1.8rem;
    }
    h2{
    	font-size:1.25rem;
    }
    .flexbox .personimage img{
    	width:128px;
    }
    .flexbox .infobox{
    }
}

@media only screen and (min-device-width:1000px) {
    body{
        max-width:900px;
        margin: 0 auto;
    }
    h1{
        margin-top:24px;
    }
}