html, body {
    margin: 0;
    padding: 0;
}

html {-webkit-text-size-adjust: 100%;}

body {
  background-color: #eeeef0;
  color: #585858;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  margin:0;
}

a:link {
    color: #8020ff;
    text-decoration: none;
    }
a:visited {
    color: #5018bb;
    text-decoration: none;
    }
a:hover {
    color: #8020ff;
    text-decoration: underline;
    }
a:active {
    color: #8020ff;
    text-decoration: none;
    }

ul.topnav {
  background-color: #eeeef0;
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-align: right;
  overflow: hidden;
}

ul.topnav li {display: inline-block;}

ul.topnav li a {
  color: #a0a0a0;
  display: inline-block;
  font-size: 100%;
  line-height: 1.2;
  margin: 0 0 0 -5px;
  padding: 16px 16px;
  text-align: center;
  text-decoration: none;
  transition: 0.2s;
}

ul.topnav li a:hover {
  background-color: #3300aa;
  color: #ffffff;
}

ul.topnav li.icon {
  display: none;
}

p.title{
	color: #383838;
	font-size: 190%;
	margin: 20px 0px 0px 0px;
}
p.subtitle{
	font-size: 140%;
	color: #606060;
	margin: 20px 0px 15px 0px;
}
p.heading{
	font-size: 130%;
	color: #909090;
	margin: 20px 0px 15px 0px;
}
p.text{
	color: #101010;
    font-family: 'Source Serif Pro', serif;
	font-size: 100%;
	margin: 0px 0px 15px 0px;
}
p.footer{
	font-size: 75%;
    text-align: right;
	color: #606060;
	margin: 0px 0px 0px 0px;
}

#container {
  background-color: #eeeef0;
  margin: 0 auto;
	overflow: hidden;
  position: relative;
  text-align: left;
	width: 1000px;
}

#content{
  animation: fadein 0.5s;
  -moz-animation: fadein 0.5s; /* Firefox */
  -webkit-animation: fadein 0.5s; /* Safari and Chrome */
  -o-animation: fadein 0.5s; /* Opera */
  background-color: #eeeef0;
  margin: 0 0 20px 0;
  padding: 16px;
  position: relative;
}

#portrait_image {
  border-style: none;
	float: right;
	width: 270px;
}

#portrait_credit {}

#publications{
  list-style-position:outside;
	margin-left:40px;
	padding-left:0;
	}

#publications li{
	margin-bottom:10px;
}

@media screen and (max-width:1000px) {
  #container { width: 100%;}
}

@media screen and (max-width:800px) {
  #portrait_image {width: 33.75%;}
}

@media screen and (max-width:680px) {
  #portrait_image {display: none;}
  #portrait_credit {display: none;}
  ul.topnav li:not(:first-child) {display: none;}
  ul.topnav li.icon {
    display: inline-block;
    float: right;
  }
  ul.topnav.responsive {
    background-color: #a0a0a0;
    position: relative;
  }
  ul.topnav.responsive li.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  ul.topnav.responsive li {
    color: #ffffff;
    display: block;
    float: none;
  }
  ul.topnav.responsive li a {
    color: #ffffff;
    display: block;
    text-align: left;
  }
  ul.topnav.responsive li.icon a {
    background-color: #a0a0a0;
    color: #ffffff;
  }
  ul.topnav.responsive li.icon a:hover {
    background-color: #ff0066;
  }
}

@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-moz-keyframes fadein { /* Firefox */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-webkit-keyframes fadein { /* Safari and Chrome */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-o-keyframes fadein { /* Opera */
    from {
        opacity:0;
    }
    to {
        opacity: 1;
    }
}

.cryptedmail:after {
  content: attr(data-name) "@" attr(data-domain) "." attr(data-tld); 
}
