* {
  box-sizing: border-box;
}

body {
  background-color: #40407A;
  font-family: Verdana, Arial, sans-serif;
  margin: 0;
}

#wrapper {
  background-color: #F5F5F5;
  padding: 2em;
}

header {
  background-color: #40407A;
  background-image: url("sunrise.jpg");
  color: #FFFFFF;
  background-size: 100% 100%;
  margin-top: 50px;
  font-size: 90%;
  min-height: 200px;
}

header a:link,
header a:visited {
  color: #FFFFFF;
  text-decoration: none;
}

header a:hover {
  color: #EDF5F5;
}

.home {
  height: 20vh;
  padding-top: 2em;
  padding-left: 10%;
}

.content {
  height: 20vh;
  padding-top: 2em;
  padding-left: 10%;
}

#mathero {
  background-image: url("yogamat.jpg");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  display: none;
}

#loungehero {
  background-image: url("yogalounge.jpg");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  display: none;
}

#flow {
  display: block;
}

nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: auto;
  text-align: right;
  font-weight: bold;
  background-color: white;
  margin: 0;
  padding-top: 0.5em;
  padding-bottom: 1em;
  padding-right: 0;
}

nav ul {
  list-style: none;
  margin: 0;
  padding-right: 2em;
  font-size: 1.2em;
}

nav li {
  display: inline;
  padding-left: 4em;
}

nav a:link {
  color: #3f2860;
}

nav a:visited {
  color: #497777;
}

nav a:hover {
  color: #A26100;
}

footer {
  font-size: small;
  font-style: italic;
  text-align: center;
  clear: right;
}

li,
dd {
  font-size: 90%;
}

section {
  padding-left: .5em;
  padding-right: .5em;
}

table {
  border: 1px solid #40407A;
  margin-bottom: 1em;
  border-collapse: collapse;
}

td, th {
  padding: 0.5em;
  border: 1px solid #40407A;
}

tr:nth-of-type(even) {
  background-color: #D7E8E9;
}

caption {
  margin: 1em;
  font-weight: bold;
  font-size: 120%;
}

@media (min-width: 600px) {

  nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }

  section {
    padding-left: 2em;
    padding-right: 2em;
    flex: 1;
  }

  #mathero,
  #loungehero {
    background-size: 100% 100%;
    background-repeat: no-repeat;
    display: block;
    height: 300px;
    margin-bottom: 1em;
  }

  #flow {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (min-width: 1024px) {

  header {
    font-size: 120%;
  }

  .home {
    height: 50vh;
    padding-top: 5em;
    padding-left: 8em;
  }

  .content {
    height: 30vh;
    padding-top: 2em;
    padding-left: 8em;
  }

  #wrapper {
    margin: auto;
    width: 80%;
  }

  #mathero,
  #loungehero {
    background-size: 100% 100%;
    background-repeat: no-repeat;
    display: block;
    height: 300px;
    margin-bottom: 1em;
  }
}
