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;
  width: auto;
  font-family: Verdana, Geneva, sans-serif;
}

x-cloak {
  visibility: hidden;
}

.email-icon {
  display: inline;
}


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

.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: 1fr;
  grid-gap: 60px 40px;
  justify-content: space-between;
  list-style: none;
}

@media screen and (min-width: 450px) {
  .projects {
    grid-template-columns: repeat(auto-fit, minmax(400px, auto));
  }
}

.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;

  display: flex;
  flex-wrap: wrap;
  gap: .5em;
}

[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;
  }
}