/* global styles */

* {
    box-sizing: border-box;
 }
body {
    font-family: 'Lato', Calibri, Arial, sans-serif;
    color: #333;
    margin: 0;
 }
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover {
  color: #004d88;
}

h2, h3, h4 {
  margin: 0;
  margin-top: 20px;
}

/* parts of the layout component  */

header {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#152836), to(#1b3647));
}
main {
  padding: 20px;
  padding-bottom: 180px;
}
footer {
  position: fixed;
  left: 0px;
  bottom: 0px;
  width: 100%;
}

.navigation {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
}
.mainContainer {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.colums {
  display: flex;
  flex-direction: column;
  margin: 0 60px;
}

/* Landing Page Jumbotron and Danger Styles */

.jumbotron {
  margin: 20px;
  padding: 40px;
  padding-top: 20px;
  min-height: 300px;
  background-color: #1691be;
  color: whitesmoke;
  border-radius: 6px;
}
.jumbotron h1 {
  font-size: 3em;
}
.jumbotron h2 {
  font-size: 1.5em;
  font-weight: normal;
}
.jumbotron h3 {
  font-size: 1.25em;
  font-weight: normal;
}

.internationalCopyrightLawInfo {
  padding: 20px 20px;
  margin: 0;
  border: 1px solid transparent;
  background-color: rgba(250, 158, 158, 0.75);
  color: maroon;
  font-weight: bold;
  font-weight: 400;
  border-color: #a94442;
  position: relative;
}
.internationalCopyrightLawInfo > span {
  display: block;
  position: absolute;
  right: 10px;
  top: 10px;
}
.internationalCopyrightLawInfo > span:hover {
  cursor: pointer;
}
.internationalCopyrightLawInfo > p {
  margin: 0;
  padding: 0 6%;
}
.hideCopyrightInfo {
  display: none;
}
.dsgvo-annotation {
  padding: 10px;
  border: 1px solid transparent;
  background-color: rgba(250, 158, 158, 0.5);
}

.track {
  position: relative;
  border: 1px solid transparent;
  background-color: silver;
  border-color: grey;
  padding: 20px 20px;
  margin: 0;
}
.trackAudioContainer {
  max-width: 500px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.trackAudio {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 10px;
}
.trackTitle {
  margin-top: 10px;
  text-align: center;
}

.metaInfo {
  font-weight: bold;
  color: maroon;
}

.closeX {
  position: absolute;
  right: 20px;
  top: 20px;
}
.closeX span {
  display: block;
  padding: 10px;
  background-color: maroon;
  color: white;
  font-weight: bold;
}

.videoContainer video {
  width: 80%;
}
audio {
  max-height: 30px;
}
img {
  max-width: 100%;
  margin: 0; 
}

.searchInput {
  width: 460px;
  height: 36px;
}
.searchKeys {
  display: flex;
  margin: 10px 0;
}
.fieldOfCheckboxes {
  display: flex;
}

.highlighted {
  color: maroon;
  font-weight: bold;
}
.obHighlighted {
  color: rgb(27, 54, 71);
  font-weight: bold;
}

/* Navigation */

#hamburgerRow {
  padding: 20px;
  display: none;
}
.active {
   background: #4a6b8a;
}
.videoContainer {
  display: flex;
  justify-content: center;
  align-items: center;
}

nav {
      flex: 0 1 100%;
}
nav > ul {
   margin: 0;
   padding: 0;
   list-style: none;
   display: flex;
   justify-content: center;
}
nav > ul > li {
  width: 160px;
  max-width: 160px;
}
nav > ul > li > a {
   color: white;
   text-decoration: none;
   padding: 20px 5px;
   display: inline-block;
   text-align: center;
   width: 100%;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
nav > ul > li > a:hover {
   background: maroon;
   color: white;
    text-decoration: none;
}
nav > ul > li > a.brand {
  padding: 18px 0 20px;
  font-size: 1.1em;
  font-weight: 900;
  letter-spacing: 2px;
}

.hamburg {
   display: block;
   background: #29516D;
   width: 75px;
   height: 50px;
   position: relative;
   margin: 0 auto;
   border-radius: 4px;
   transition: border-radius .5s;
}
.line {
   position: absolute;
   left:10px;
   height: 4px; width: 55px;
   background: #fff; border-radius: 2px;
   display: block;
   transition: 0.5s;
   transform-origin: center;
}
.line:nth-child(1) { top: 12px; }
.line:nth-child(2) { top: 24px; }
.line:nth-child(3) { top: 36px; }

.hamburg.checked .line:nth-child(1){
   transform: translateY(12px) rotate(-45deg);
}
.hamburg.checked .line:nth-child(2){
   opacity:0;
}
.hamburg.checked .line:nth-child(3){
   transform: translateY(-12px) rotate(45deg);
}

.mobileExpanded {
  display: block;
}

p.recordingItemLink {
  margin: 0;
  padding: 0;
}
.recordingIsVisible {
  display: block;
}

.checkbox {
  margin-right: 4px;
}

div.twoColumns {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-around;
  align-content: flex-start;
}
div.twoColumns > div {
  flex: 1 1 50%;
  padding: 0 10px;
  margin: 0; 
}

div.threeColumns {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-around;
  align-content: flex-start;
}
div.threeColumns > div {
  padding: 10px;
  flex: 1 1 33%;
  background-color: #E8E8E8;
  border-left: 1px solid gray;
  border-right: 1px solid gray;
}

.blockquote {
  display: block;
  padding: 15px 20px 15px 45px;
  margin: 40px 40px;
  position: relative;
  border-left: 15px solid #1691be;
  border-right: 2px solid #1691be;
  box-shadow: 2px 2px 15px #bfbfbf;
}
.reference {
  width: 100%;
  padding-left: 40%;
  text-align: right;
  font-size: 12px;
  margin-bottom: 20px;
}

/* media queries */

@media all and (max-width: 1100px) {
   nav > ul {
     flex-direction: column;
     justify-content: center;
     align-items: center;
   }
   nav > ul > li {
     width: 100%;
     max-width: 100%;
  }
  .colums {
   flex-direction: column;
  }
  #hamburgerRow {
    display: block;
  }
  .hamburg:hover {
    cursor: pointer;
  }
  .mobileExpanded {
    display: none;
  }
}

@media all and (max-width: 1000px) {
  .searchKeys, .fieldOfCheckboxes {
    flex-direction: column;
  }
}

@media all and (max-width: 800px) {
  .searchInput {
    max-width: 400px;
  }  
  div.twoColumns {
    flex-direction: column;
  }
  div.twoColumns > div {
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  div.twoColumns > div > img {
    max-width: 90%;
  }
}

@media all and (max-width: 600px) {
  .searchKeys, .fieldOfCheckboxes {
    flex-direction: column;
  }  
  .searchInput {
    width: 300px;
  }
}

@media all and (max-width: 500px) {
  .searchKeys, .fieldOfCheckboxes {
    flex-direction: column;
  }  
  .searchInput {
    width: auto;
  }
}
