html {
    font-size: 1em;
    line-height: 1.5;
    height: 100%;
}

body {
  color: black;
  font-size: 17px;
}

body, h1, h2, h3 {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
}

.wf-active h1, .wf-active h2 {
   opacity: 1;
   transition: opacity .1s
}

h1 {
  color: white;
  font-size: 1.3rem;
}

h2 {
  color: white;
  font-size: 1.2rem;
}


@supports(display: grid) {
  .notice {
    display: none;
  }
}

h3 {
  color: white;
  font-size: 1.1rem;
}

a, a:link    { color: white; }

a:visited { color: lightgrey; }

a[aria-current] { color: gold; } 

.hidden {
    display: none;
}
.text-center, footer, header {
  text-align: right;
  padding-right: 10px;
}




.container {
  display: grid;
  grid-template-areas:
    "header header header"
    "nav content side"
    "footer footer footer";
  height: 100vh;
  grid-template-columns: 200px 1fr auto;
  grid-template-rows: auto 1fr;
}

header {
  background: #CD1719;
  color: white;
  grid-area: header;
  padding: 7px 7px 0 7px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

aside {
  grid-area: side;	
  background: #4A4A49;
  color: white;
  margin: 0;
  padding: 0;
}

nav {
  background: #4A4A49;
}

nav, main {
  color: white;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

nav {
  grid-area: nav;
  margin-left: 0;
}

main {
  grid-area: content;
  width: 100%;
  background: #4A4A49;
  padding: 7px 0 0 0;
}

footer {
  background: #CD1719;
  grid-area: footer;
  color: white;
}

@media (max-width: 768px) {
  .container {
    grid-template-areas:
      "header"
      "nav"
      "content"
      "footer";
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr auto;
  }

}
nav a {
  	text-decoration: none;
}

nav {
	font-family: Arial, Helvetica, sans-serif;
	margin: 0;
}

nav ul {
  	background: #4A4A49;
	list-style: none;
	margin: 0.1em;
	padding: 0.1em;
  	display: flex;
  	flex-direction: column;
  	width: auto;
}

nav li {
	color: white;
  	background: #CD1719;
	display: block;
	margin: 0.3em;
	float: left;
	padding: 0.2em;
	position: relative;
	text-decoration: none;
  	transition-duration: 0.5s;
}
  
nav li a {
  	color: white;
}

nav ul li[aria-current] a {
	color: gold;
}

nav ul li ul li[aria-current] a{
	color: gold;
}

nav ul li[aria-current] ul li a{
	color: white;
}

nav li:hover,
nav li:focus-within {
	background: #CD1719;
	cursor: pointer;
  	border: 1px solid white;
	border-radius: 5px;
	box-shadow: 0 0 0.1em white inset;

}

nav li:focus-within a {
  	outline: none;
}

nav ul li ul {
	background: #4A4A49;
	visibility: hidden;
  	opacity: 0;
  	min-width: 5rem;
	position: absolute;
  	transition: all 1.5s ease;
  	margin-top: 1rem;
	left: 0;
  	display: none;
  	height: auto;
	width: auto;
}

nav ul li:hover > ul,
nav ul li:focus-within > ul,
nav ul li ul:hover,
nav ul li ul:focus {
   	visibility: visible;
   	opacity: 1;
   	display: block;
   	position: absolute;
   	top: -1.4em;
   	left: 7.9em;
}

nav ul li ul li {
	clear: both;
  	width: 100%;
}