.contacts {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 20px;
  row-gap: 0.5em;
  align-items: center;
  border: 2px solid #0003;
  
  /* center horizontally */
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.contacts dt, .contacts dd {
  padding: 6px 10px;
  margin: 0;
  display: flex;
  align-items: center;
}

.contacts dt {
  grid-column: 1;
}

.contacts dt:not(.sep) {
  font-weight: bold;
  display: flex;
  justify-content: flex-end;
}

.contacts dd {
  grid-column: 2;
  word-break: break-all;
}

.contacts dt:not(.sep) {
  background-color: rgba(255, 255, 255, 0.03);
}

.contacts dt:not(.sep):hover, .contacts dd:not(.sep):hover {
  background-color: rgba(40, 166, 154, 0.1);
}

.sep {
  height: 2px;
  padding: 0;
  margin-top: 8px;
  margin-bottom: 8px;
  color: transparent;
  background-image: linear-gradient(to right, #26a69a 50%, transparent 50%);
  background-size: 8px 1px;
  background-repeat: repeat-x;
  background-position: center;
}