body {
  width: auto;
  font-family: Verdana, Geneva, sans-serif;
}

x-cloak {
  visibility: hidden;
}

.resume h3 {
  margin-bottom: 0;
}

.resume p {
  margin-top: 0;
}

.ed {
  width: 700px;
  max-width: 100%;
}

.resume {
  font-size: .7em;
}

@media screen {
  html {
    font-size: 125%;
    scroll-behavior: smooth;
  }

  /* https://www.joshwcomeau.com/gradient-generator?colors=dcfffe|efffbb&angle=155&colorMode=hcl&precision=8&easingCurve=0.30603448275862066|0.7674434267241379|0.3706896551724138|0.42692618534482757
*/
  body {
    background-image: linear-gradient(155deg,
        hsl(178deg 100% 93%) 0%,
        hsl(174deg 100% 92%) 12%,
        hsl(169deg 100% 91%) 22%,
        hsl(161deg 100% 91%) 31%,
        hsl(152deg 100% 91%) 39%,
        hsl(139deg 100% 91%) 49%,
        hsl(121deg 100% 92%) 59%,
        hsl(101deg 100% 90%) 71%,
        hsl(86deg 100% 89%) 85%,
        hsl(74deg 100% 87%) 100%);
    background-attachment: fixed;
    color: rgb(65, 4, 61);
    line-height: 1.75;
  }

  h1,
  h2 {
    color: navy;
    font-weight: 400;
  }

  .wrap {
    width: 100em;
    max-width: 90%;
    margin: auto;
  }

  hr {
    border-color: darkslateblue;
    border-top: 0;
    margin: 2em auto;
    ;
  }

  a {
    color: darkcyan;
    font-weight: bold;
    text-decoration: none;
    border-bottom: 1px solid darkcyan;
    transition: .2s;
  }

  a:visited {
    color: darkcyan;
  }

  a:hover {
    color: mediumorchid;
  }

  .projects {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, 400px);
    grid-gap: 60px 40px;
    justify-content: space-between;
    list-style: none;
  }

  .projects>li {
    padding: 1em;
    border: 1px solid darkorchid;
    background: rgba(255, 255, 255, .4);
    box-shadow: 0 0 0 5px rgba(255, 255, 255, .4);
  }

  .projects ul {
    padding-left: 1em;
  }

  .projects li li,
  .projects li p {
    font-size: .9em;
    margin-top: 10px;
  }

  .project-tags {
    --tag-bg: darkslategray;
    --tag-color: #fff;
  }

  [data-project-type=design] {
    --tag-bg: darkred;
  }

  [data-project-type=listjs] {
    --tag-bg: darkmagenta;
  }

  [data-project-type=modx] {
    --tag-bg: darkgreen;
  }

  [data-project-type=fusejs] {
    --tag-bg: saddlebrown;
  }

  [data-project-type=alpinejs] {
    --tag-bg: teal;
  }

  [data-project-type=migration] {
    --tag-bg: darkblue;
  }

  [data-project-type="d3js"] {
    --tag-bg: Sienna;
  }

  [data-project-type="map"] {
    --tag-bg: indigo;
  }

  .project-type-radio {
    width: 0;
    height: 0;
    opacity: 0;
    margin: 0;
  }

  .project-type-label,
  .tag {
    display: inline-block;
    font-size: .8em;
    font-weight: bold;
    border-radius: 5px;
    padding: 3px 5px;
  }

  .project-type-label {
    border: 3px solid var(--tag-bg);
    background-color: transparent;
    color: var(--tag-bg);
  }

  .tag {
    font-size: .7em;
  }

  input:not(:checked)+.project-type-label:hover {
    filter: brightness(1.25);
    background-color: #fff;
  }

  .tag,
  input:checked+.project-type-label {
    color: var(--tag-color);
    background-color: var(--tag-bg);
    border-color: transparent;
  }

  @media (min-width: 800px) {
    .two-columns {
      display: grid;
      grid-template-columns: minMax(0, 2fr) minmax(0, 1fr);
      grid-gap: 30px;
    }
  }


}

@media print {
  html {
    font-size: 15px;
  }

  body {
    margin: .25in;
  }

  .wrap {
    max-width: 100%;
  }

  .two-columns {
    display: grid;
    grid-template-columns: minMax(0, 3fr) minmax(0, 1fr);
    grid-gap: 30px;
  }

  a {
    font-weight: bold;
    color: blue;
  }

  h3,
  h4,
  dl {
    margin: 0 10px 0 0;
  }

  p {
    margin-bottom: 10px;
  }

}

.project-go {
  background-color: teal;
  color: #fff;
  display: block;
  width: max-content;
  padding: 10px;
  margin-top: 10px;
}

a:hover .project-go {
  background-color: darkmagenta;
}