*,
*:before,
*:after {
  box-sizing: border-box;
  max-width: 100%;
}

main {
  width: 100%;
  margin: 1rem auto 6rem auto;
  padding: 0 1rem;
}

.layout {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
}


img {
  width: 100%;
  max-width: 100%;
  height: auto;
}


li {
  margin-bottom: 0.25rem;
}

.icon-link {
  position: relative;
}

.icon-link::before {
  content: url("/link.svg");
  fill: currentColor;
  position: absolute;
  left: -1rem;
  width: 1rem;
  height: 1rem;
  top: 0;
  opacity: 0.2;
  transition: opacity 0.2s;
}

@media (min-width: 48rem) {
  .icon-link::before {
    left: -1.5rem;
  }
}

.icon-link:hover::before {
  opacity: 1;
}
