@font-face {
  /* For license and copyright see https://www.fontsquirrel.com/license/source-sans-pro */
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(SourceSansPro-Regular.otf) format('opentype'), url(SourceSansPro-Regular.ttf) format('truetype');
}
@font-face {
  /* For license and copyright see https://www.fontsquirrel.com/license/source-sans-pro */
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 700;
  src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(SourceSansPro-Bold.otf) format('opentype'), url(SourceSansPro-Bold.ttf) format('truetype');
}

* {
  box-sizing: border-box;
}

body {
  background: #f0f8fb;
  color: #627886;
  margin: 0px;
  font: 16px "Source Sans Pro","Open Sans","Helvetica Neue",sans-serif;
  -webkit-font-size-adjust: none;
  -webkit-font-smoothing: antialiased;
}

h1 {
  text-align: center;
  font-size: 200%;
  padding: 40px 0px;
  margin: 0px;
  background: #aed1ec;
}

.bio {
  padding-bottom: 30px;
  padding-top: 30px;
  background: #627886;
  color: #f0f8fb;
}

.bio .text {
  margin-left: auto;
  margin-right: auto;
  width: 94%;
  text-align: justify;
}

.bio .image {
  text-align: center;
}

.bio a {
  text-decoration: none;
  color: #aed1ec;
}

a {
  color: #627886;
}

ul {
  list-style-type: square;
}

h2 {
  font-style: italic;
  text-align: center;
  margin-top: 40px;
}

.right,.left {
  width: 100%;
  padding: 0px 3%;
}

.tabs {
  list-style: none;
  position: relative;
  margin: 0px 0px 400px;
  padding: 0px;
}

.tabs > li {
  float: left;
  display: block;
}

.tabs input[type="radio"] {
  position: absolute;
  top: 100px;
}

.tabs label {
  display: block;
  width: 50px;
  overflow-x: hidden;
  padding: 10px 16px;
  border-radius: 5px;
  font-size: 120%;
  background: #627886;
  color: #f0f8fb;
  border: 1px solid #627886;
  cursor: pointer;
  position: relative;
  top: 4px;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.tabs label:hover {
  background: black;
}

.tabs .tab_content {
  z-index: 2;
  display: none;
  overflow: auto;
  height: 400px;
  width: 99%;
  position: absolute;
  top: 46px;
  left: 1px;
  background: white;
}

.tabs > li::after {
  content: "_";
  z-index: -1;
  border: 1px solid #627886;
  height: 400px;
  width: 99%;
  position: absolute;
  top: 45px;
  left: 0px;
  display: block;
  box-sizing: content-box;
}

.tab_content > p {
  padding: 0px 16px;
}

.tabs [id^="tab"]:checked + label {
  top: 0;
  width: auto;
  color: #627886;
  background: white;
  padding-top: 14px;
}

.tabs [id^="tab"]:checked ~ .tab_content {
  display: block;
}

.tabs::after {
  content: "";
  clear: both;
  display: block;
}

.conferencelist {
  padding: 0px;
  list-style: none;
}

.conferencelist .future {
  background: #e0f0f8;
}

.conferencelist .confname {
  font-size: 80%;
  float: right;
  margin-top: 10px;
  text-align: right;
  margin-left: 16px;
  padding-right: 8px;
}

.conferencelist .talktitle {
  font-weight: bold;
  margin-bottom: 0px;
  margin-top: 0px;
  padding-top: 8px;
  padding-left: 8px;
}

.conferencelist .text {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-bottom: 8px;
  padding-left: 8px;
}

.articles .date {
  float: right;
  margin-top: 0px;
  font-size: 80%;
  margin-left: 16px;
  padding-right: 8px;
}

.article {
  font-weight: bold;
}

.flowright {
  float: right;
  width: 160px;
  padding: 8px;
  margin-left: 8px;
  background-color: white;
}

.flowright p {
  text-align: center;
  margin-top: 0px;
  margin-bottom: 0px;
}

.footer {
  font-size: 70%;
  padding: 50px;
  text-align: center;
  clear: both;
}

.reactive {
  display: none;
}

@media only screen and (min-width: 1200px) {
  h1 {
    font-size: 400%;
  }
  .bio .image {
    padding: 6px 15px 6px 0px;
    float: left;
  }
  .bio .text {
    width: 635px;
  }
  .left {
    float: left;
    width: 50%;
    padding-left: 6%;
    padding-right: 4%;
  }
  .right {
    float: right;
    width: 50%;
    padding-left: 4%;
    padding-right: 6%;
  }
  .tabs {
    margin-bottom: 840px;
  }
  .tabs .tab_content {
    height: 840px;
  }
  .tabs > li::after {
    height: 840px;
  }
  .conferencelist {
    padding-left: 40px;
    list-style: square;
  }
  .conferencelist .talktitle {
    font-size: 120%;
  }
  .reactive {
    display: inline;
  }
}

@media only screen and (min-width: 600px) {
  .tabs label {
    width: auto;
  }
}

@media only screen and (max-height: 550px) {
  .tabs { margin-bottom: 300px; }
  .tabs .tab_content { height: 300px }
  .tabs > li::after { height: 300px; }
}

@media only screen and (max-height: 450px) {
  .tabs {margin-bottom: 250px; }
  .tabs .tab_content { height: 250px; }
  .tabs > li::after { height: 250px; }
}

