html, body, nav, div, h1, h2, a {
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ef32d9 url(prmvr.jpg);
  background: url(prmvr.jpg), linear-gradient(to right bottom, #89fffd, #ef32d9);
  background-repeat: no-repeat;
  background-blend-mode: soft-light;
  background-size: cover;
}

.wrap {
  flex-basis: 340px;
  padding: 0 1em;
}

.xp {
  margin-top: 1em;
  margin-left: 2em;
  padding: 2em;
  background: white;
  box-shadow: 1px 1px black;
  display: grid;
  grid-template: 3fr 1fr 3fr / 1fr 5fr 1fr;
  grid-gap: 10px;
  justify-items: stretch;
  align-items: stretch;
}

.who {
  border: 1px solid;
  padding: .1em .3em 0;
  grid-row-end: span 2;
}

.a {
   border-top-color: #84d0f6;
   border-left-color: #84d0f6;
}

.b {
  grid-column-start: 3;
  grid-row-start: 2;
  border-bottom-color:  #a544d2;
  border-right-color:  #a544d2;
}

.xp-links {
  grid-column-end: span 2;
  align-self: start;
  justify-self: start;
}

.xp-links-b {
  text-align: right;
  align-self: end;
  justify-self: end;
}

.link {
  display: block;
  border-bottom: 1px solid;
  padding-right: 1em;
}

.xp-links-b .link {
  padding-right: 0;
  padding-left: 1em;
}
