@import url('https://fonts.googleapis.com/css?family=Lexend+Deca&display=swap&subset=latin-ext'); /* MAIN */
@import url('https://fonts.googleapis.com/css?family=Vollkorn+SC&display=swap&subset=latin-ext'); /* H */

@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');

body {
  margin:0 auto;
  font-family: 'Spectral', sans-serif;
  font-weight:600;
}

header, nav, main, aside, footer, article, section {
  display:block;
}

h1, h2, h3, h4 {
  font-family: 'Cormorant Infant', 'Spectral', sans-serif;
  font-weight:700;
  letter-spacing: -0.06em;
  margin:0;
}

h1 {
  font-size:2.12em;
}

img {
  max-width:100%;
  max-height:100%;
}

/*****************/

#wrapper {
  display:block;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

header, main, footer {
  display:block;
  width:100%;
}

header {
  position:fixed;
  z-index:9;
  height:80px;
}

main {
  position:relative;
  top:80px;
  min-height:calc(100% - 230px);
}

footer {
  position:relative;
  top:80px;
  height:150px;
  font-size:14px;
  text-align:center;
}

footer p {
  margin:3px;
}

.content {
  display:block;
  max-width:1800px;
  margin:0 auto;
  box-sizing:border-box;
}

#sidebar, #page, footer {
  box-sizing:border-box;
  padding:10px 15px;
}

#logo {
  line-height:80px;
  text-align:center;
}

#logo span {
  font-family: 'Spectral', sans-serif;
  font-weight:700;
  font-size:2em;
}

#logo, #topnav {
  height:100%;
}

#logo, #sidebar {
  width:250px;
}

#logo, #sidebar, #topnav, #page {
  display:inline-block;
  vertical-align:top;
}

#topnav, #page {
  width:calc(100% - 250px);
}

#page {
  box-sizing:border-box;
}

.sidenav-h {
  text-transform:uppercase;
  font-size:1.3em;
}

.topright { /* Should always be put before the relevant text. */ 
  display:block;
  text-align:center;
}

.topright img {
  max-width:100%;
  max-height:100%;
}

#mobilenav {
    display:none;
  }

nav a {
  text-decoration:none;
}

nav#mainnav a {
  display:block;
}

/**/

@media screen and (max-width: 768px) { /* Small Devices */  
  #logo {
    width:50%;
  }
  
  #mobilenav {
    position:absolute;
    right:0;
    width:400px;
    max-width:100%;
    z-index:10;
    text-align:center;
    border-top:none;
    border-bottom-left-radius:5px;
    height:400px;
    overflow-y: scroll;
  }
  
  #mobilenav a {
    display:block;
    width:100%;
    padding:10px 0;
  }
  
  #topnav {
    display:none;
  }
  
  #sidebar {
    display:none;
  }
  
  #page {
    width:100%;
  }
  
  .content {
    width:100%;
  }
  
  .topright {
    width:100%;
  }
  
  .navbars {
    color: inherit;
    font-size: 46px;
    position: absolute;
    right: 0;
    display: inline-block;
    padding: 8px 20px;
    border-radius: 8px;
    margin: 8px 20px 0 0
  }
}

/*********/

@media screen and (min-width: 769px) { /* Medium & Large Devices */
  .navbars {
    display:none;
  }
  
  .topright {
    float:right;
    width:300px;
  }
  
  #sidebar {
    position:fixed;
    overflow-y:auto;
    max-height:calc(100% - 300px);
  }
  
  #page {
    position:relative;
    left:250px;
  }
  
  nav#topnav {
    font-family:'Vollkorn SC', 'Lexend Deca', sans-serif;
    text-align:center;
    text-transform:uppercase;
    font-size:18px;
  }
  
  nav#topnav a {
    display:inline-block;
    width:120px;
    padding:0 20px;
    line-height:80px;
    transition:box-shadow ease 0.6s, color ease 0.6s;
  }
  
  nav#topnav a:first-child {
    border-left:1px solid;
  }
  
  nav#mainnav h2 {
    margin-top:20px;
  }
  
  nav#mainnav h2:first-child {
    margin-top:0;
  }
  
  nav#topnav a.activenav {
    font-weight:bold;
    text-decoration:underline;
  }
}

@media screen and (min-width: 769px) and (max-width: 1200px) { /* Medium Devices */  
  .content {
    width:100%;
  }
}

@media screen and (min-width: 1201px) { /* Large Devices */
  .content {
    min-width:1200px;
  }
}