@font-face {
    font-family: futuraM;
    src: url(webfonts/futura-medium.woff) format('woff');
}

body {
    background-color: #ccc;
    padding: 0px;
    margin: 0px;
    text-align: center;
}

#data{
  position: fixed;
  left:0px;
  top:0px;
  background: white;
  z-index: 1001;
}

a:link {/* unvisited link */
    color:#444;
}
a:visited {/* visited link */
    color:#444;
}
a:hover {/* mouse over link */
    color:#444;
}
a:active {/* selected link */
    color:#444;
}

/*--------------------------------------------------------- Menu */
#menu-wrapper {
  width: 100%;
  height: 40px;
  background: #ccc;
  display: block;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 999;
}

#menu {
  margin: 0 auto;
  display: table;
  table-layout: fixed;
  width: 100%;
  max-width: 877px;
  margin-bottom: 20px;
  z-index: 1000;
  font-family: futuraM;
  font-size: 22px;
  text-align: center;
}

#menu a:hover{
  background:#0af;
  color:white;
  animation-duration: .2s;
  animation-name: colorfade;
}

@keyframes colorfade {
  from {
  background: white;
  color: #bbb;
  }
  to {
    background:#0af;
    color:white;
  }
}
#diary{
    display: table-cell;
    width: 24%;
    height: 40px;
    vertical-align: middle;
    color: #aaa;
    background: white;
    text-decoration: none;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
}

#home{
    display: table-cell;
    width: 24%;
    height: 40px;
    vertical-align: middle;
    color: #aaa;
    background: white;
    text-decoration: none;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
}

#about{
    display: table-cell;
    width: 24%;
    height: 40px;
    vertical-align: middle;
    background: white;
    color: #aaa;
    text-decoration: none;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
}
#contact{
    display: table-cell;
    width: 24%;
    height: 40px;
    vertical-align: middle;
    background: white;
    color: #aaa;
    text-decoration: none;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
}
.menu-space{
  display: table-cell;
  width: 5px;
}

/*--------------------------------------------------------- content column incl banner */
#content-wrapper {
  width: 877px;
  margin:0 auto;
}

@media screen and (max-width: 877px) {
  #content-wrapper {
    width: 100%;
    margin:0 auto;
  }
}
/*--------------------------------------------------------- banner (Niklas Roy) */
#banner {
  width: 877px;
  display: block;
  margin:0px;
  padding: 0px;
  position: fixed;
  top: 45px;
  z-index: -1;
  font-family: futuraM;
  font-size: 85px;
  letter-spacing: 7px;
  text-align: center;
  color: white;
  font-weight: normal !important;
  text-shadow: 2px 2px 10px #aaa;
}

@media screen and (max-width: 877px) {
  #banner {
    width: 100%;
  }
}
@media screen and (max-width: 550px) {
  #banner {
    font-size: 60px;
  }
}

/*--------------------------------------------------------- article */
#article {
    position: relative;
    top: 160px;
    padding: 5px;
    padding-bottom: 50px;
    margin-bottom: 200px;
    background: white;
    box-shadow: 2px 2px 6px #aaa;
    text-align: left;
}

/* selected text*/
#article ::-moz-selection {
    color: black;
    background:#ccc;
}
#article ::selection {
    color: black;
    background:#ccc;
}

h2 {
    margin:0px;
    padding: 15px;
    text-align: center;
    font-family: Georgia, Times, serif;
    font-size: 40px;
    line-height: 45px;
    font-style: italic;
    font-weight: normal;
    color: white;
    background:#0af;
    text-shadow: 2px 2px 8px #09e;
    box-shadow: 2px 2px 6px #aaa;
}
@media screen and (max-width: 877px) {h2{font-size: 28px;line-height: 32px;}}

h3 {
    font-family: Georgia, Times, serif;
    font-size: 26px;
    font-weight: bold;
    color:#444;
    padding-top:20px;
}
#meta-info{
    font-family: Georgia, Times, serif;
    font-size: 21px;
    font-style: italic;
    color:#333;
}
.text-block{
    clear: both;
    padding-left: 165px;
    padding-top: 6px;
    padding-bottom: 10px;
    width: 685px;
    font-family: Georgia, Times, serif;
    font-size: 22px;
    line-height: 30px;
    color:#444;
}

@media screen and (max-width: 877px) {
  .text-block{
      clear: both;
      width: 90%;
      padding-left: 20px;
      font-size: 20px;
      line-height: 26px;
  }
}

/* --------------------------------------------------------- directly embedded audio */
audio {
  width: 100%;
  outline: none;
}

audio:focus {
   outline: none;
 }


 .audio{ /*image is a normal image with description*/
     clear: both;
     display: table;
     margin-bottom: 5px;
 }
 .audio-description{
     width:150px;
     font-family: Georgia, Times, serif;
     font-style: italic;
     font-size: 16px;
     line-height: 20px;
     display: table-cell;
     vertical-align: bottom;
     margin-left: 5px;
     text-align: right;
 }
 .audio audio{
   width:702px;
   display: table-cell;
   position: relative;
   left:15px;
 }

/* --------------------------------------------------------- embedded videos */
.video-container{
  position:relative;
	padding-bottom:56.25%;
	padding-top:0px;
	height:0;
	overflow:hidden;
    box-shadow: 2px 2px 6px #aaa;
}

.video-container4by3{
  position:relative;
	padding-bottom:75%;
	padding-top:0px;
	height:0;
	overflow:hidden;
  box-shadow: 2px 2px 6px #aaa;
}

.video-frame {
  position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.small-video{
    clear: both;
    display: table;
    margin-bottom: 5px;
}
.small-video-description{
    width:150px;
    font-family: Georgia, Times, serif;
    font-style: italic;
    font-size: 16px;
    line-height: 20px;
    display: table-cell;
    vertical-align: bottom;
    margin-left: 5px;
    text-align: right;
}
.small-video-container{
  position:relative;
  left:15px;
	padding-bottom:56.25%;
	padding-top:0px;
	height:100%;
  width:702px;
	overflow:hidden;
}

.small-video-container4by3{
  position:relative;
  left:15px;
	padding-bottom:75%;
	padding-top:0px;
	height:100%;
  width:702px;
	overflow:hidden;
}

.small-video-frame {
  position:absolute;
	top:0;
	left:0px;
	width:100%;
	height:100%;
}

/*------------------------------------------------ special video styles for smaller screens*/
@media screen and (max-width: 877px) {

  /*---------------------------------------- changing order of content and description */
  .small-video {
    display: flex;
    flex-direction: column;
  }
  .small-video > .small-video-description { order: 2; }
  .small-video > .small-video-container { order: 1; }

  .small-video-description{
    position: relative;
    left:-5px;
    z-index: 500;
    width: 100%;
    display:inline-block;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    text-align: left;
    padding: 5px;
    background: #f3f3f3;
  }
  .small-video-container{
    width: 100%;
    position: relative;
    left:0px;
  }
}

/*--------------------------------------------------------- 3d stl container */
#stl_cont1{

    width:auto;
    height:500px;
    cursor: move;
}
/*--------------------------------------------------------- images and videos */
.poster-image{ /*poster image is an image placed usually on top of the article with 100% width and shadow*/
}
.poster-image img{
    width: 100%;
    margin: 0px;
    padding: 0px;
    box-shadow: 2px 2px 6px #aaa;
}

.image{ /*image is a normal image with description*/
    clear: both;
    display: table;
    margin-bottom: 5px;
}
.image-description{
    width:150px;
    font-family: Georgia, Times, serif;
    font-style: italic;
    font-size: 16px;
    line-height: 20px;
    display: table-cell;
    vertical-align: bottom;
    margin-left: 5px;
    text-align: right;
}
.image img{
  width:702px;
  display: table-cell;
  position: relative;
  left:15px;
}
.video{ /*video is like image*/
    clear: both;
    display: table;
    margin-bottom: 5px;
}
.video-description{
    width:150px;
    font-family: Georgia, Times, serif;
    font-style: italic;
    font-size: 16px;
    line-height: 20px;
    display: table-cell;
    vertical-align: bottom;
    margin-left: 5px;
    text-align: right;
}
.video video{
  width:702px;
  display: table-cell;
  position: relative;
  left:15px;
}



/*------------------------------------------------ special image styles for smaller screens*/
@media screen and (max-width: 877px) {

  /*---------------------------------------- changing order of content and description */
  .image {
    display: flex;
    flex-direction: column;
  }
  .image > .image-description { order: 2; }
  .image > img { order: 1; }

  .image {
    width: 100%;
    position:relative;
    left: 0px;
    margin: 0px;
    padding: 0px;
  }
  .image img{
      width: 100%;
      float: none;
      position:relative;
      left: 0px;
      margin: 0px;
      padding: 0px;
  }
  .image-description{
    position: relative;
    left:-5px;
    z-index: 500;
    width: 100%;
    display:inline-block;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    text-align: left;
    padding: 5px;
    background: #f3f3f3;
  }

  --------------------
  .video {
    display: flex;
    flex-direction: column;
  }
  .video > .video-description { order: 2; }
  .video > video { order: 1; }

  .video {
    width: 100%;
    position:relative;
    left: 0px;
    margin: 0px;
    padding: 0px;
  }
  .video video{
      width: 100%;
      float: none;
      position:relative;
      left: 0px;
      margin: 0px;
      padding: 0px;
  }
  .video-description{
    position: relative;
    left:-5px;
    z-index: 500;
    width: 100%;
    display:inline-block;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    text-align: left;
    padding: 5px;
    background: #f3f3f3;
  }
}

/*--------------------------------------------------------- lists */
li{
  padding-bottom:5px;
    padding-top:5px;
}
/*--------------------------------------------------------- quotes */
blockquote{
  width: 662px;
  background: #f3f3f3;
  margin: 0px;
  padding: 20px;
  padding-top: 5px;
  padding-bottom: 5px;
  font-style: italic;
  color: #555;
}
@media screen and (max-width: 877px) {
  blockquote {
    width: 95%;
    margin-left:5%;
  }
}
/*--------------------------------------------------------- table */




.full-size-table{
  font-family: Georgia, Times, serif;
  font-size: 22px;
  line-height: 30px;
  color:#444;
}
@media screen and (max-width: 877px) {
  .full-size-table{
    font-size: 20px;
    line-height: 26px;
  }
}

table {
    border-collapse: collapse;
}
th, td{
  padding:5px;
  vertical-align: top;
  border: 2px solid #666;
  font-weight: normal;

}

/*--------------------------------------------------------- footer */
#random-button{
  width: 877px;
  margin-top: 50px;
/*  margin-bottom: 400px;*/
  padding-top: 6px;
  float: left;
  background: white;
  font-family: futuraM;
  font-size: 24px;
  text-align: center;
  box-shadow: 2px 2px 6px #aaa;
  color: #aaa;
  text-decoration: none;
}

a:hover#random-button{
  background: #0af;
  color: white;
  animation-duration: .2s;
  animation-name: colorfade;
}

#random-bar {
    width: 0%;
    height: 5px;
    background-color: #0af;
}
@media screen and (max-width: 877px) {
  #random-button{
    width: 100%;
  }
}

#eof{
    width: 10px;
   height: 100px;
}
