
#about {
  /*background-image: url('../images/granfondo.jpg');*/
  /*background-size: cover;*/
  /*background-position: center center;*/
  overflow: hidden;
}
#about .grid-wrapper {
  grid-template-rows: 1fr;
  grid-template-areas: "content";
}
#about .content {
  display: flex;
  max-height: 100%;
}
#about .content img {
  display: block;
  width: 70%;
  margin: -20vmin 0 -10vmin -10vmin;
}
#about a {
  color: rgb(51, 51, 51);
}
#about aside {
  margin-left: 10vmin;
  background-color: rgba(255, 255, 255, .8);
  color: #000;
  float: right;
  font-size: 1.5em;
  text-align: center;
  width: 30%;
}
#about aside hr {
  color: rgba(0,0,0, 0.075);
  margin: 2.5vmin 0;
}
#about aside ul {
  display: block;
  font-size: inherit;
  list-style: none;
  margin: 2.5vmin 0 0;
  width: auto;
}
#about .country-flag {
  font-size: 200%;
}
#about .projects {
  text-align: center;
}

#about .accounts a:hover .fab + span,
#about .projects a:hover {
  text-decoration: underline rgba(51, 51, 51, 0.65);
}
#about .accounts {
  display: grid;
  justify-content: center;
}
#about .accounts li {
  margin-bottom: 0.25em;
}
#about .accounts a {
  display: flex;
  align-items: center;
}
#about .accounts .fab {
  margin-right: 0.25ex;
  width: 1.8ex;
}
@media (orientation: portrait) and (max-width: 480px) {
  #about .content img {
    display: none;
  }
  #about aside {
    width: 100%;
  }
}

#are-you-afraid {
  background-color: #000;
}

#coinhive figure pre {
  text-wrap: normal;
  white-space: normal;
}

#do-you-know {
  background-color: #111;
  color: #fff;
}
#do-you-know .grid-wrapper {
  grid-template-rows: 1fr;
  grid-template-areas: "content";
}
#do-you-know figure {
  display: grid;
  grid-template-columns: 1fr 3fr;
  grid-template-areas: "time when";
  grid-column-gap: 2rem;
  text-transform: uppercase;
  align-items: center;
}
#do-you-know .do-you-know--time {
  font-size: 34vmin;
  text-align: center;
  line-height: 1;
  color: #d94448;
  text-shadow: 0 0 .5vmin #fff, 0 0 1vmin #f24e53, 0 0 2vmin #d94448, 0 0 3vmin #d94448, 0 0 4vmin #d94448;
}
#do-you-know .do-you-know--where {
  font-size: 15vmin;
  line-height: 1.2;
  text-shadow: 0 0 .5vmin #fff, 0 0 1vmin #fff, 0 0 2vmin #808080, 0 0 3vmin #808080;
}
@media (orientation: portrait) {
  #do-you-know figure {
    grid-template-columns: auto;
    grid-template-rows: auto auto;
    grid-template-areas: "time" "when";
  }
  #do-you-know .do-you-know--time br {
    display: none;
  }
  #do-you-know .do-you-know--where {
    text-align: center;
  }
}
/** square-ish viewports don't fit full text as well **/
@media (orientation: landscape) and (max-aspect-ratio: 4/3), (orientation: portrait) and (min-aspect-ratio: 3/4) {
  #do-you-know .do-you-know--time {
    font-size: 30vmin;
  }
  #do-you-know .do-you-know--where {
    font-size: 13vmin;
  }
}

#security-layers h1 {
  font-size: 5vw;
}
#security-layers .fragment {
  /* Disable default fade-in transition.*/
  transition: all 0s;
}
#security-layers .shrek-layers h1 {
  font-size: 10vw;
  text-transform: uppercase;
}
@media (orientation: portrait) {
  #security-layers .grid-wrapper {
    padding: 20vh 0;
  }
  #security-layers .shrek-like-an-onion img {
    object-position: 60% 50%;
  }
  #security-layers .shrek-it-stinks img {
    object-position: 20% 50%;
  }
  #security-layers .shrek-layers img {
    object-position: 65% 50%;
  }
}

#csp-support figure {
  display: grid;
  grid-auto-columns: auto;
  grid-auto-flow: column;
  grid-column-gap: 5vmin;
  grid-row-gap: 5vmin;
  grid-template-columns: auto;
  grid-template-rows: auto auto;
}
@media (orientation: landscape) {
  #csp-support figure {
    padding: 0 10vmin;
  }
}

#csp-support table {
  font-size: 10vmin;
  width: 80%;
}
@media (orientation: portrait) {
  #csp-support table {
    width: 100%;
  }
}
#csp-support table th,
#csp-support table td {
  padding: .1em;
  text-align: center;
  vertical-align: middle;
}
/** Firefox doesn't hide cell border if row opacity is 0 **/
#csp-support .fragment th,
#csp-support .fragment td {
  transition: all 0.2s linear;
}
#csp-support .fragment:not(.visible) th,
#csp-support .fragment:not(.visible) td {
  border-bottom-color: transparent;
}
#csp-support th:first-child {
  font-size: 5vmin;
}
#csp-support .yes {
  color: green;
}
#csp-support .warning {
  color: orange;
}
#csp-support .no {
  color: red;
}

#umami-install {
  background-color: #000;
}
#umami-install video {
  width: 80%;
  height: 80%;
  justify-self: center;
  align-self: center;
}

#basic-directives sup {
  font-size: .5em;
}

#inline-load-api div.fragment {
  display: block;
  margin: 1em 0;
}

#need-inline .content {
  text-align: center;
  font-size: 3rem;
}
#need-inline .content > div {
  margin: 1em;
}
