dt:not(.institution) {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }

.social-link {
  display: inline-block;
  margin: 0.5em; }
  .social-link a[href]:not(:hover) {
    border: none; }
  .social-links {
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 55em) {
  .social-links {
    white-space: nowrap; } }

.social-media-links {
  margin: 1em 0; }

.resume {
  display: flex;
  flex-wrap: wrap;
  background: #1b1b1b; }

.contact-heading, .qualifications {
  padding: 1em;
  margin: 1em;
  box-sizing: border-box; }

.contact-heading {
  text-align: center;
  max-width: 100%; }
  @media screen and (min-width: 55em) {
  .contact-heading {
    flex: 0; } }

.avatar-image {
  margin: 1em auto; }

.locality-meta dd {
  display: inline-block; }

.education-item {
  margin: 1.5em 0;
  padding: 0 2em; }

.education-meta {
  display: flex;
  flex-wrap: wrap; }

.degree {
  flex: 1; }

.minor {
  font-size: 85%;
  opacity: 0.9;
  margin: 0 1em; }

.institution {
  margin: 1rem 0;
  font-size: 1.4em; }

.qualifications {
  flex: 1;
  max-width: 70em; }
  .qualifications h2, .qualifications h3, .qualifications h4 {
    margin-bottom: 1rem; }

.company-name {
  font-size: 1.25em; }
  .company-name ~ .role-name {
    margin: 0 1em; }

.role-name {
  flex: 1; }

.experience-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end; }
  .experience-meta dd ~ dd:not(.description) {
    margin-left: 1em; }
  .experience-meta dd {
    display: inline-block; }

.description {
  width: 100%;
  margin: 1em 0; }

.from-date ~ .to-date:before {
  content: "—";
  margin: 0 1em 0 0; }

.timeline-item {
  margin: 1em;
  padding: 1em;
  box-sizing: border-box; }
