footer {
  border-top: 1px dotted gray;
  display: grid;
  font: 0.9em Inconsolata, monospace; /*same size as class MENU*/
  grid-gap: 1em; /*allow for space between grid elements*/
  grid-template-columns: calc( 50% - (1em / 2) ) calc( 50% - (1em / 2) ); /*1 total horizontal gap = 1em*/
  height: fit-content;
  padding: var(--em);
  position: relative; /*Isaac*/
}
footer > img { /*Isaac*/
  left: calc( 50% - (35px / 2) );
  position: absolute;
  top: calc(-35px / 1.4);
}
footer div:first-of-type p {
  letter-spacing: 0.062em;
  line-height: calc(0.9em * 1.5);
  margin-bottom: 0.5em;
  padding-left: 0;
  padding-right: 0;
}
footer div:first-of-type p:last-of-type { margin-bottom: 1em }
footer div:first-of-type .errata {
  color: red;
  text-decoration-color: rgba(255, 0, 0, calc(1.0 / 3)); /*red*/
}
footer div:first-of-type .errata:hover, footer div:first-of-type .errata:focus { color: darkred }
footer div:first-of-type > div {
  display: grid;
  grid-gap: 0;
  grid-template-columns: calc(100% / 3) calc(100% / 3) calc(100% / 3);
}
footer div:first-of-type > div .home nav a {
  float: left;
  font-size: 0; /*hack*/
  width: 100%;
}
footer div:first-of-type > div .IPv6 img { width: 100% }
footer div:first-of-type > div .license a { font-size: 0 } /*hack*/
footer div:first-of-type > div .license a img { padding: 1px } /*looks better*/
footer div:last-of-type .milk {
  cursor: help;
  display: block;
  width: 100%;
}
footer > div:last-of-type a { /*ECU*/
  float: left;
  width: calc(75% - 2px); /*class IMAGE has 1px border*/
}
footer > div:last-of-type a .ECU { width: 100% }
footer div:last-of-type .HTML5CSS3JS {
  margin-top: 4.8%;
  width: 25%;
}

@media only screen and (max-width: 600px) { /*ruler breakpoint*/
  footer { display: inherit }
  footer > div:last-of-type { margin-top: 1em }
}