@keyframes slidein {
  from {
    transform: scale(0) translate(-100%, -100%);
    opacity: 0;
  }
  to {
    height: auto; /*This will change for each element */
    transform: scale(1) translate(-50%, -50%);
    opacity: 1;
  }
}

.form-alt { opacity:0; position:absolute; top:0; left:0; height:0; width:0; z-index:-1; pointer-events:none; }

body {
  margin: 0;
  padding: 0;
  font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
  text-align: center;
  background-color: #d7cec7;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
}

div {
  padding: 0;
  margin: 0;
}

a {
  font-weight: bold;
  color: #91001b;
  text-decoration: none;
  cursor: pointer;
}

a:hover {
  color: #cc0025;
}

.mainContent {
  height: auto;
  padding: 40px 0px;
  text-align: center;
}

.middleBlock {
  margin: 0 auto;
  margin-bottom: 20px;
  text-align: center;
  padding: 0px 3vw;
  max-width: 1000px;
  border-radius: 0px;
  background-color: #ffffffe5;
  box-shadow: 10px 10px 10px #00000080;
}

label, button {
    user-select: none;
}

.leftFloat {
    float: none;
    padding: 10px 10px;
}

h1,
h2,
h3,
h4 {
  padding: 0;
  margin: 0;
  user-select: none;
}

h1 {
  font-size: 45vw;
  margin: 0;
}

h2 {
  font-size: 13vw;
}

h3 {
  font-size: 10vw;
  font-weight: normal;
}

h4 {
  font-size: 10vw;
  text-align: left;
}

p {
    font-size: 12px;
    line-height: 170%;
}

.banner {
  z-index: 1;
  position: relative;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.829);
  background-color: #565656;
  color: #fff;
}

.home {
    color: #fff;
    font-size: 120%;
    letter-spacing: 3px;
}

.home:hover {
    color: #cdcdcd;
}

.eingeloggtAls {
  margin: 0;
  padding: 0;
  line-height: 180%;
}

.logout,
.loginButton,
.registerButton {
  margin: 0;
  padding: 15px 0;
}

.logout a,
.loginButton a,
.registerButton a {
  font-weight: normal;
  background-color: #882436;
  border-radius: 3px;
  padding: 5px 10px;
  color: #fff;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.589);
}

.logout a:hover,
.loginButton a:hover,
.registerButton a:hover {
  background-color: #9c001d;
  color: #fff;
}

audio::-webkit-media-controls-play-button,
 audio::-webkit-media-controls-panel {
 background-color: #cdcdcd;
 color: #cdcdcd;
 }

.audioWrapper {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}

.audioWrapper > figure {
    margin: 5px;
    margin-right: 10px;
    flex: 100%;
}

.audioWrapper figcaption {
    text-align: left;
    padding: 10px 5px;
}

.audioWrapper audio {
    width: 100%;
    height: 40px;
    float: left;
}

#changeLanguage {
    width: 100px;
    display: inline-block;
    height: 0px;
}

.languageExpand {
    padding: 15px 0;
}

#language {
    padding: 0 30px;
    background: none;
    border-radius:0;
    box-shadow: none;
}

#language:hover {
    color: #d3d3d3;
}

.textWrapper {
    padding: 10px 20px;
    max-width: 900px;
    margin:0 auto;
}

.close {
    float: right;
    padding-left: 20px;
    font-size: 30px;
    cursor: pointer;
}

.blackOut {
    display: none;
    position:fixed;
    background-color: #ffffffaa;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 4;
}

.noSelect {
    user-select: none;
}

#whereToXml {
    display:none;
    opacity: 60%;
    padding: 8px 30px;
    border-radius: 8px;
    color: #ffffff;
    background-color: #505050;
    box-shadow: 6px 6px 6px #00000080;
}

.xmlDownloads ul, li {
    list-style-type: none;
    text-align: left;
}

.xmlDownloads li {
  text-indent: -5px;
  padding:5px;
  font-style: italic;
}

.xmlDownloads li:before {
  content: "- ";
  text-indent: -5px;
}

.xmlDownloads a {
    color: #fff;
    font-weight: normal;
}

.xmlDownloads a:hover {
    text-decoration: underline;
}

.wieNutze, .warum {
    display: none;
    position: absolute;
    background-color: #222222ee;
    color: #fff;
    max-width: 700px;
    padding: 20px;
    top:160px;
    left: 0;
    right: 0;
    margin: auto;
    margin-top: 30px;
    border-radius: 0px;
    z-index: 5;
    box-shadow: 10px 10px 10px #00000066;
}

.wieNutze p, .warum p {
    text-align: justify;
    font-size:15px;
    line-height: 170%;
}

.wieNutze h2, .warum h2 {
    text-align: left;
}

.textWrapper p {
    text-align: justify;
}

button,
.buttonLike {
  border: none;
  background-color: #882436;
  border-radius: 3px;
  padding: 10px 15px;
  color: #fff;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.589);
  cursor: pointer;
}

button:hover,
.buttonLike:hover {
  background-color: #265fa4;
  color: #fff;
}

.downloadButton {
  border: none;
  background-color: #882436;
  border-radius: 3px;
  padding: 10px 40px;
  color: #fff;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.589);
  cursor: pointer;
}

.downloadButton:hover {
  background-color: #265fa4;
  color: #fff;
}

.processing {
    display:none;
    -webkit-animation: color_change 0.5s infinite alternate;
    -moz-animation: color_change 0.5s infinite alternate;
    -ms-animation: color_change 0.5s infinite alternate;
    -o-animation: color_change 0.5s infinite alternate;
    animation: color_change 0.5s infinite alternate;
}
#subForm {
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    line-height:150%;
}

.randNumVis, .cadNumVis {
    display: none;
}

.uploadedXml {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

#insertFileName {
    padding: 30px;
}

.processForm {
    height: 20px;
}

#xmlSubmitButton {
    visibility: hidden;
    font-size: 120%;
    font-weight: bold;
    padding-left: 50px;
    padding-right: 50px;
}

.pickFile {
   border: none;
   background-color: #882436;
   border-radius: 3px;
   padding: 10px 15px;
   color: #fff;
   box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.589);
   cursor: pointer;
}

.logos img {
    max-width: min(400px, 100%);
    max-height: 100px;
    padding: 20px;
}

.warumLink {
    color: #69adff;
}

.warumLink:hover {
    text-decoration: underline;
    color: #69adff;
}

@-webkit-keyframes color_change {
 from { opacity: 0.1; }
 to { opacity: 1; }
}
@-moz-keyframes color_change {
 from { opacity: 0.1; }
 to { opacity: 1; }
}
@-ms-keyframes color_change {
 from { opacity: 0.1; }
 to { opacity: 1; }
}
@-o-keyframes color_change {
 from { opacity: 0.1; }
 to { opacity: 1; }
}
@keyframes color_change {
 from { opacity: 0.1; }
 to { opacity: 1; }
}

.notVisible {
    display:none;
}

.popupContent {
  position: absolute;
  padding: 30px 50px;
  z-index: 5;
  background-color: rgba(0, 115, 168, 0.95);
  left: 50%;
  top: 10%;
  transform: translate(-50%, 0);
  border-radius: 5px;
  color: #fff;
  font-size: 18px;

  animation: slidein 0.4s forwards;
}

@media only screen and (min-width: 200px) {
  h3 {
    font-size: 18px;
  }
  h4 {
    font-size: 22px;
  }
  p {
    font-size: 13px;
    }
}

@media only screen and (min-width: 250px) {
  .buttonWrapper div {
    display: inline-block;
    padding: 15px 5px;
  }
}

@media only screen and (min-width: 300px) {
  h1 {
    font-size: 140px;
  }
  h2 {
    font-size: 40px;
  }
  h4 {
    font-size: 25px;
  }
  p {
    font-size: 14px;
    }
  .wieNutze, .warum {
    top:100px;
    }
  .wieNutze p, .warum p {
    font-size:17px;
  }
  .close {
        font-size: 40px;
    }
}

@media only screen and (min-width: 400px) {
   h4 {
       font-size: 30px;
   }
   .leftFloat {
        float: left;
        padding: 10px 0px 10px 10px;
    }
    .home {
        color: #fff;
        font-size: 120%;
        letter-spacing: 3px;
    }
    p {
    font-size: 15px;
    }

}

@media only screen and (min-width: 500px) {
    h4 {
       font-size: 30px;
   }
   p {
    font-size: 16px;
    }
  .bannerContent {
    display: flex;
  }
  .eingeloggtAls {
    flex-grow: 1;
    text-align: left;
    padding-left: 10px;
    height: 49px;
    line-height: 49px;
  }
  .logout {
    flex-grow: 1;
    text-align: right;
    padding-right: 10px;
  }
  .leftFloat {
    float: left;
    padding: 10px 20px;
   }
   .home {
    color: #fff;
    font-size: 120%;
    letter-spacing: 3px;
   }
   .wieNutze, .warum {
     padding: 30px 60px;
   }
   .wieNutze p, .warum p {
     font-size:19px;
   }

}

@media only screen and (min-width: 600px) {
    p {
        font-size: 17px;
    }
    .audioWrapper > figure {
        flex: 40%;
    }

}

@media only screen and (min-width: 760px) {
    .wieNutze, .warum {
        border-radius: 15px;
    }
    .wieNutze p, .warum p {
        font-size:20px;
    }
    .wieNutze h2, .warum h2 {
        text-align: center;
    }
    .close {
        float: left;
        padding: 0;
    }
}

@media only screen and (min-width: 1090px) {
    .middleBlock {
      border-radius: 20px;
    }
}


