body {
  margin: 0;
}

* {
  color: #000;
  text-decoration: none;
  font-family: 'Overpass Mono', monospace;
}

a {
  text-decoration: overline;
}

nav a {
  text-decoration: none;
}

nav a:hover {
  letter-spacing: 0.3em;
}

.cover {
  width: 25vw;
  margin: auto;
  display: block;
  margin-top: calc(15vh / 2);
  margin-bottom: calc(15vh / 2);
  max-width: 25vh;
}

h1 {
  font-family: 'lora', serif;
}

.center {
  text-align: center;
}

h1#front {
  margin-top: 15vh;
}

.separator {
  margin-top: calc(25vh / 4);
}

header {
  min-height: 50vh;
}

header nav {
  text-align: center;
}

header nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

header nav ul li {
  margin: 5px 0;
}

header nav .active {
  font-style: italic;
}

main {
  margin-top: calc(25vh / 4);
  text-align: center;
}

footer {
  margin-top: calc(25vh / 4);
}

.episode audio {
  width: 50vw;
  max-width: 600px;
  margin: 0 20px;
}

.pagination a {
  margin: 0 10px;
}


.mosaiks {
  width: 90vh;
  margin: auto;
  margin-top: 25vh;
  display: flex;
  flex-direction: row;
  border: 3px solid black;
  flex: 1;
}

.mosaik { 
  margin: 0;
  flex-grow: 1;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: flex;
  flex-wrap: wrap;
}

.ratio {
  position: relative;
  flex-grow: 1;
  background-color: #000;
}

.ratio:before {
	content: "";
	display: block;
	padding-top: 100%; 	/* initial ratio of 1:1*/
}

.innerRatio {
  position: relative;
  width: 33%;
  flex-grow: 1;
}

.innerRatio::before {
  content: "";
  padding-top: 100%;
  display: block;
}

.mosaik .innerRatio div {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  background-color: rgba(255, 255, 255, 1);
  border-color: #000;
  
}

.mosaik .innerRatio.q0 div {
  display: none;
}

.mosaik .innerRatio.q1 div {
  border-radius: 0 100% 0 0;
}

.mosaik .innerRatio.q2 div {
  border-radius: 100% 0 0 0;  
}

.mosaik .innerRatio.q3 div {
  border-radius: 0 0 0 100%;    
}

.mosaik .innerRatio.q4 div {
  border-radius: 0 0 100% 0; 
}

@media all and (max-width: 100vh) {
  .mosaiks {
    flex-direction: column;
    width: 20vh;
    margin-top: 5vh;
  }

  h1#front {
    margin-top: 5vh;
  }

  .cover {
    width: calc(20vh + 6px);
    margin: auto;
    margin-top: calc(15vh / 2);
    margin-bottom: calc(15vh / 2);
    display: block;
  }
}