:root {
  --main-bg-color: #efefee;
  --main-fg-color: #5a6162;
  --main-bg-color-hover: #90afc5;
  --main-fg-color-hover: #efefee; 
  --frame-bg-color: #336b87;
  --frame-fg-color: #efefee;
}

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(static/MaterialSymbolsRounded.woff2) format('woff2');
}

.material-icons {
 font-family: 'Material Icons';
 font-weight: normal;
 font-style: normal;
 display: inline-block;
 line-height: 1;
 text-transform: none;
 vertical-align: text-bottom;
 letter-spacing: normal;
 word-wrap: normal;
 white-space: nowrap;
 direction: ltr;

 /* Support for all WebKit browsers. */
 -webkit-font-smoothing: antialiased;
 /* Support for Safari and Chrome. */
 text-rendering: optimizeLegibility;

 /* Support for Firefox. */
 -moz-osx-font-smoothing: grayscale;

 /* Support for IE. */
 font-feature-settings: 'liga';
}

.material-icons::before {
  content: attr(data-icon);
}

body {
  font-family: 'Segoe UI',Verdana,sans-serif;
  display: flex;
  flex-direction: column;
  height: 100vh;
  margin: 0;
  padding: 0;
}

header, main, footer {
  padding: 8px;
}
header, footer {
  background-color: var(--frame-bg-color);
  color: var(--frame-fg-color);
  z-index: 1;
}
header {
  text-align: center;
  box-shadow: 0 4px 4px #7a8182;
}
footer {
  box-shadow: 0 -4px 4px #7a8182;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 10px 2em;
  gap: 2em;
}
main {
  flex-grow: 1;
  color: var(--main-fg-color);
  background-color: var(--main-bg-color);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  gap: 2em;
  padding: 2em 4em;
}
main a {
  text-decoration: none;
}
main i {
  font-size: 4em;
}
h2 {
  border: var(--frame-bg-color) 1px solid;
  border-radius: 5px;
  padding: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1em;
  width: 8em;
  height: 8em;
  box-shadow: 4px 4px 4px #7a8182;
  text-align: center;
  margin: 0;
}
h2:hover {
  background-color: var(--main-bg-color-hover);
  color: var(--main-fg-color-hover);
}
a {
  color: inherit;
}
address {
  font: inherit;
}
address span {
  white-space: nowrap;
}