@font-face 
{
    font-family: 'din1451e';
    src: url('assets/fonts/din1451e.ttf') format('truetype');
}

/*For non-black background in full screen*/
/*See https://github.com/hakimel/reveal.js/issues/668*/
html { background-color: inherit; }

body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  font-size: 2vmin;
}

html {
  font-family: 'din1451e';
  color: #fff4e5;
  /*text-shadow: 1px 1px rgba(0,0,0,.25);*/

  height: 100%;

  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

a {
  color: #fff4e5;
  text-decoration: none;
  /*border-bottom: 0.5px solid rgba(255,255,255,0.4);*/
}
a:hover {
  cursor: pointer;
  border-bottom: 0.5px solid rgba(255,255,255,0.8);
}
a img {
  border: none;
}

#supersized {
  z-index: 0 !important; /*Default was -999, webkit doen’t seem to support negative z-index (with this fix it works in Chromium and Vivaldi*/
}

#overlay, #legal-notice {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;

  position: absolute;
  top: 0;
  left: 0;

  z-index: 500;
}

/*Headings*/
h1 {
  margin-top: 100px;
}
h2, h3 {
  margin-top: 60px;
}
h1, h2, h3 {
  margin-bottom: 0;
  font-weight: normal;
}
p {
  margin-top: 1em;
  margin-bottom: 0;
}
/*h1 ~ p, h2 ~ p, h3 ~ p {
  margin-bottom: 2em;
}*/
/*As the above is not working, add space this way:*/
h2 {
  margin-top: 2em;
}

/*Center vertically*/
/*#overlay {display: table;}
.card {
    display: table-cell;
    vertical-align: middle;
}*/
/*#overlay {position: relative;}
.card {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 0%;
    box-sizing: border-box;
    margin: auto;
}*/
#overlay {position: absolute;}
.card {
  position: fixed;
  top: 60%;
  -webkit-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
           -ms-transform: translateY(-50%);
            -o-transform: translateY(-50%);
       transform: translateY(-50%);
}


/*Card styles*/
.card {
  text-transform: uppercase;
  font-size: 500%;
  -webkit-perspective: 800px;
          -moz-perspective: 800px;
       perspective: 800px;
  -webkit-transform-style: preserve-3d;
          -moz-transform-style: preserve-3d;
       transform-style: preserve-3d;
  -webkit-perspective-origin:50% 50%;
          -moz-perspective-origin:50% 50%;
       perspective-origin:50% 50%;
}
.card div {
  display: inline-block;
  clear:both;
  float:left;

  background-color: rgba(255,44,33,1);
  margin: 0;
  padding-left: 4vmin;
  padding-right: 0.5em;
  /*box-shadow: 1px 1px rgba(0,0,0,.25);*/
  line-height: 1em;
}
.card .name,
.card .profession,
.card .detail {
  margin-bottom: -1px; /*Overlap*/
  padding-top: 1.5vh;
  padding-bottom: 1.5vh;

  white-space: nowrap;

  -webkit-transition: 1.5s;
          -moz-transition: 1.5s;
          -o-transition: 1.5s;
          transition: 1.5s;
  -webkit-transform-origin: left center;
          -moz-transform-origin: left center;
           -ms-transform-origin: left center;
            -o-transform-origin: left center;
       transform-origin: left center;
}
.card .profession {
  font-size: 50%;
}
.card .detail {
  text-transform: none;
  font-size: 30%;
  line-height: 1.2em;
}
.card hr {
  display: none;
}
.detail-small-screen {
  display: none;
}
.card .detail .fa,
.detail-small-screen .fa {
  margin-right: 0.4em;
}
.flipped {
  -webkit-transform: rotateY(-90deg);
          -moz-transform: rotateY(-90deg);
       transform: rotateY(-90deg);
}


/*Bottom info styles*/
#manual {
  position:fixed;
  bottom: 0;
  left: 0;

  -webkit-box-sizing: border-box;

     -moz-box-sizing: border-box;

          box-sizing: border-box;
  width: 100%;
  padding: 0.8em;
  padding-top: 0.4em;
  margin: 0;

  line-height: 1.5em;

  text-align: right;

  opacity: 0.7;
}
#manual a { /*Adds to the clickable area*/
  padding-left: 0.3em;
  padding-right: 0.8em;
  padding-top: 0.8em;
}
#license-small {
  /*display: none;*/
}
#license-big {
  display: none;
}

/*Legal notice styles*/
#legal-notice {
  z-index: 1000;

  -webkit-box-sizing: border-box;

     -moz-box-sizing: border-box;

          box-sizing: border-box;
  padding: 1.5em;
  padding-top: 0;

  /*DIV scrolling. For -webkit-overflow-scrolling overflow has to be scroll, not auto */
  overflow: scroll;
  -webkit-overflow-scrolling: touch;

  background-color: rgba(0,0,0,0.75);

  font-size: 150%;

  text-align: justify;
  text-justify: inter-word;

  -webkit-backdrop-filter: blur(10px);
}
#legal-notice-content h1,
#legal-notice-content h2,
#legal-notice-content h3,
#legal-notice-content div {
  text-align: center;
}
#legal-notice-content {
  margin: auto;
  max-width: 30em;
}
#legal-notice-close-button {
  -webkit-backface-visibility: hidden;
  position: fixed;
  top: 1em;
  right: 1em;
  text-shadow: 1px 1px rgba(0,0,0,.5);
}
@media screen and (max-width: 600px) {
  body {
    font-size: 2vmax;
  }
  .card {
    font-size: 8vmax;
    top: 50%;
  }
  #manual {
    font-size: 70%;
  }
  #legal-notice-close-button {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  body {
    font-size: 2vmax;
  }
  html {
    text-align: center;
  }
  .card .detail {
    display: none;
  }
  #manual {
    text-align: center;
  }

  .card {
    text-shadow: none;

    display: block;
    background-color: rgba(255,44,33,1);

    margin-top: 10vh;
    margin-left: auto;
    margin-right: auto;
    padding: 0.1em 0.3em;

    text-align: center;

    /*font-size: 3.4em;*/
    font-size: 12vw;
    max-width: 5.87em;

    position: relative;
    top: 0;
    -webkit-transform: translateY(0);
            -moz-transform: translateY(0);
             -ms-transform: translateY(0);
              -o-transform: translateY(0);
         transform: translateY(0);
  }
  .card div {
    padding: 0;
    margin: 0;

    display: block;
    float:none;

    -webkit-box-shadow: none;

       -moz-box-shadow: none;

            box-shadow: none;

    /*background-color: green;*/
    /*width: 100%;*/
  }
  .card .name,
  .card .profession,
  .card .detail {
    -webkit-transition: 0s;
    -moz-transition: 0s;
    -o-transition: 0s;
    transition: 0s;
  }
  .card .name,
  .card .profession {
    padding: 0;
    margin: 0;
  }
  .card .name {
    line-height: 1.1em;
  }
  .card .profession {
    font-size: 44.5%;
    line-height: 1.5em;
  }
  .card hr {
    display: block;
    /*height: 1px;*/
    border: 0;
    border-top: 0.05em solid #fff4e5;
    margin: 0;
    padding: 0;
  }
  .flipped {
    -webkit-transform: rotateY(0deg);
            -moz-transform: rotateY(0deg);
         transform: rotateY(0deg);
  }
  .detail-small-screen {
    display: inline-block;
    line-height: 1.5em;
    margin-top: 8vh;
    font-size: 5vmin;
    text-shadow: 0px 0px 5px rgba(0,0,0,.5);
  }
  #license-big {
    display: none;
  }
  #license-small {
    display: inline;
  }
}
