h2 {
  font-size: 2rem;
}

p {
  font-size: 1.5rem;
}

article p {
  font-size: 1.25rem;
}

button {
  cursor: pointer;
}

hr {
  border: 1px solid var(--text);
}

.job {
  padding: 10px 40px;
  position: relative;
  width: 50%;
  background-color: transparent;
  color: var(--bg);
  display: block;
  border: none;
}

.info {
  color: var(--text);
  border-radius: 1rem;
  border: 2px solid var(--text);
  overflow: hidden;
  position: relative;
}

.icon {
  position: relative;
  top: -5rem;
  z-index: 1;
  background-color: var(--bg);
  padding: 0;
  border-radius: 50%;
}

.left {
  left: 0;
}

.right {
  left: 50%;
}

.right::after {
  left: -12.5px;
}
.hypothetical .info,
.hypothetical .info hr,
.hypothetical a,
.hypothetical a:visited {
  color: #abfcec;
  border-color: #abfcec;
  border-style: dotted;
}

.hypothetical.icon {
  color: #abfcec;
}

.current .info,
.current .info hr,
.current a,
.current a:visited,
.current.icon {
  color: #8cff98;
  border-color: #8cff98;
}

.former .info,
.former .info hr,
.former a,
.former a:visited,
.former.icon {
  color: #ff94fd;
  border-color: #ff94fd;
}

.date,
.desc {
  font-style: italic;
}

.logo {
  max-height: 100px;
  border-radius: 50%;
}

.icon {
  font-size: 2rem;
}

@media screen and (max-width: 600px) {
  .job {
    width: 100%;
    padding-left: 70px;
    padding-right: 25px;
  }
  .right {
    left: 0;
  }
  .left::after,
  .right::after {
    left: 17.5px;
  }
  .icon {
    left: calc(37.5px - 50vw);
  }
}
