:root {
  --darkgray: #353535;
  --green: #3c6e71;
  --white: #ffffff;
  --lightgray: #d9d9d9;
  --blue: #284b63;
  --footer-height: 75px;
}



html {
  height: 100%;
}

body {
  font-family: Helvetica;
  display: grid;
  grid-template-columns: 1fr min(80%, 1000px) 1fr;
  grid-template-rows: 100px auto var(--footer-height);
  height: 100%;
  margin: 0;
}

body * {
  grid-column: 2;
}

header {
  display: flex;
  flex-flow: row nowrap;
  align-items: end;
  justify-content: space-between;
  border-bottom: 2px solid var(--lightgray);
}

h1 {
  font-size: 48px;
  font-weight: bold;
  color: var(--darkgray);
  margin: 0;
  word-spacing: -0.25em;
}

h1 span{
  color: var(--green);
  white-space: collapse;
}

nav {
  display: flex;
  align-items: end;
}

nav ul {
  list-style-type: none;
  padding: 0;
  display: flex;
  flex-flow: row nowrap;
  gap: 30px;
  align-items: end;
}

main {
  grid-row: 2;
  /*border-bottom: 2px solid var(--darkgray);*/
}

footer {
  grid-row: -2;
  grid-column-start: span 3;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: var(--lightgray);
  background: var(--blue);
}

@media screen and (max-width: 1100px) {
  header {
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
    height: min-content;
  }

  body {
    grid-template-columns: 40px auto 40px;
    grid-template-rows: min-content auto var(--footer-height);
  }
}

@media screen and (max-width: 600px) {
  body {
    grid-template-columns: 10px auto 10px;
  }

  nav {
    align-self: stretch;
  }

  nav ul {
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 40px;
    gap: 15px;
  }

  nav li {
    width: 100%;
    background: var(--blue);
    color: var(--lightgray);
    text-align: center;
    padding: 15px 0px;
    /*text-decoration: underline;*/
    border-radius: 20px;
  }
}
