/* CV */

body .cv-header {
  display: flex;
  align-items: center;
  padding: 0.5rem;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}

body .cv-header h1 {
  font-size: 2rem;
  font-weight: bolder;
  flex: 1 0 auto;
}

body .cv-header h1 span {
  font-size: 1.1rem;
  font-weight: 300;
}

body .cv-header address {
  flex: 1 0 auto;
  align-self: end;
  text-align: end;
  font-style: normal;
  font-size: 0.9rem;
  line-height: 1.6;
}

body .cv-header address a {
  display: block;
  white-space: pre;
}

body .cv-header address a::after {
  margin-inline-start: 0.5rem;
  display: inline-block;
  position: relative;
  right: 0.5pt;
  background-size: 1rem 1rem;
  width: 1rem;
  height: 1rem;
  bottom: -2pt;
  right: 2pt;
}

body .cv-header address a[href*="drewedgar.com"]::after {
  content: '🌐';
}

body .cv-header address a[href^="mailto"]::after {
  content: '📧';
}

body .cv-header address a[href^="tel"]::after {
  content: '📞';
}

body .cv-header address a[href^="https://www.linkedin.com"]::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M8,72 L64,72 C68.418278,72 72,68.418278 72,64 L72,8 C72,3.581722 68.418278,-8.11624501e-16 64,0 L8,0 C3.581722,8.11624501e-16 -5.41083001e-16,3.581722 0,8 L0,64 C5.41083001e-16,68.418278 3.581722,72 8,72 Z' fill='%23007EBB'/%3E%3Cpath d='M62,62 L51.315625,62 L51.315625,43.8021149 C51.315625,38.8127542 49.4197917,36.0245323 45.4707031,36.0245323 C41.1746094,36.0245323 38.9300781,38.9261103 38.9300781,43.8021149 L38.9300781,62 L28.6333333,62 L28.6333333,27.3333333 L38.9300781,27.3333333 L38.9300781,32.0029283 C38.9300781,32.0029283 42.0260417,26.2742151 49.3825521,26.2742151 C56.7356771,26.2742151 62,30.7644705 62,40.051212 L62,62 Z M16.349349,22.7940133 C12.8420573,22.7940133 10,19.9296567 10,16.3970067 C10,12.8643566 12.8420573,10 16.349349,10 C19.8566406,10 22.6970052,12.8643566 22.6970052,16.3970067 C22.6970052,19.9296567 19.8566406,22.7940133 16.349349,22.7940133 Z M11.0325521,62 L21.769401,62 L21.769401,27.3333333 L11.0325521,27.3333333 L11.0325521,62 Z' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E");
}

body .cv-header address a[href^="https://bsky.app/"]::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 320'%3E%3Cpath fill='%2318a2f7' d='M180 142c-16.3-31.7-60.7-90.8-102-120C38.5-5.9 23.4-1 13.5 3.4 2.1 8.6 0 26.2 0 36.5c0 10.4 5.7 84.8 9.4 97.2 12.2 41 55.7 55 95.7 50.5-58.7 8.6-110.8 30-42.4 106.1 75.1 77.9 103-16.7 117.3-64.6 14.3 48 30.8 139 116 64.6 64-64.6 17.6-97.5-41.1-106.1 40 4.4 83.5-9.5 95.7-50.5 3.7-12.4 9.4-86.8 9.4-97.2 0-10.3-2-27.9-13.5-33C336.5-1 321.5-6 282 22c-41.3 29.2-85.7 88.3-102 120Z'/%3E%3C/svg%3E");
}

body .cv-header address a[href^="https://scholar.google.com"]::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctitle%3EGoogle Scholar icon%3C/title%3E%3Cpath d='M12 24a7 7 0 1 1 0-14 7 7 0 0 1 0 14zm0-24L0 9.5l4.838 3.94A8 8 0 0 1 12 9a8 8 0 0 1 7.162 4.44L24 9.5z' fill='%23007BFF'/%3E%3C/svg%3E");
}

/* CV content */
body .cv-content {
  display: grid;
  grid-template-columns: max-content 1fr;
  row-gap: 0.75rem;
}

body .cv-content > section {
  grid-column: 1 / 3;
  width: 100%;
  display: grid;
  grid-template-columns: subgrid;
  justify-items: stretch;
  align-items: start;
  row-gap: 0.75rem;
  column-gap: 1rem;
  border-block-start: 2px solid var(--accent-color-normal);
  padding-block-start: 0.75rem;
  padding-inline: 0.5rem;
  margin-inline: 0.25rem;
  line-height: 1.4;
}

body .cv-content > section > h2 {
  grid-column: 1 / span 1;
  margin-block-start: 0.2rem;
  line-height: 1;
  font-size: 1.1rem;
  font-weight: 200;
  text-transform: uppercase;
}

body .cv-content > section > p,
body .cv-content > section > section {
  grid-column: 2 / 3;
}

body .cv-content > section > section {
  display: grid;
  gap: 0.25rem;
}

body .cv-content > section > section > header {
  display: grid;
  grid-template-columns: 1fr max-content;
  column-gap: 0.25rem;
}

body .cv-content > section > section > header > h3 {
  grid-column: 1 / span 1;
  font-size: 1rem;
  font-weight: bolder;
  white-space: wrap;
  overflow: hidden;
}

body .cv-content > section > section > header > span {
  grid-column: 1;
  font-weight: 200;
}

body .cv-content > section > section > header > span.date {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
}

body .cv-content > section > section > ul {
  padding-inline-start: 1rem;
}

@media screen and (max-width: 50rem) {
  body {
    padding-inline: 1rem;

  }
  body .cv-content > section {
    margin-bottom: 1rem;
    row-gap: 1.5rem;
  }
  body .cv-content > section > section {
    margin-bottom: 2rem;
    row-gap: 1rem;
  }
  body .cv-content > section > section,
  body .cv-content > section > p {
    grid-column-start: 1;
  }
  body .cv-content > section > section > header > h3 {
    grid-column-end: span 2;
  }
  body .cv-content > section > section > header > span.date {
    grid-row: 2;
  }
  body .cv-content > section > h2 {
    grid-column-end: span 2;
    justify-self: center;
    font-size: 1.25rem;
  }
}

.specialisation,
.publisherNote,
.noteLink {
  font-style: italic;
}

.author {
  text-decoration-line: underline;
  text-decoration-style: dotted;
}

#profilePic {
  object-fit: cover;
  height: 4em;
  width: 4em;
  box-shadow: 0.25em 0.25em var(--accent-color-normal);
}

/* supervisor: inline on wide, block (no pipe) on narrow */
.supervisor {
  display: inline;
}

@media screen and (max-width: 50rem) {
  .supervisor {
    display: block;
    margin-top: 0.25rem;
  }
  .supervisor::before {
    content: "";
  }
}

/* specialisation: inline on wide, block (no pipe) on narrow */
.specialisation {
  display: inline;
}
.specialisation::before {
  content: "| ";
}

@media screen and (max-width: 50rem) {
  .specialisation {
    display: block;
    margin-top: 0.25rem;
  }
  .specialisation::before {
    content: "";
  }
}

/* skills */
.skills span {
  font-size: 0.8rem;
}

/* repeated information */
.repeated {
  font-style: italic;
  font-weight: 300;
}

/* CV print button */
.printButton {
  position: fixed;
  text-decoration: none;
  border: max(0.15vw, 1.5px) solid var(--border-color-normal);
  padding: max(0.4vw, 4px) max(0.8vw, 8px);
  border-right: none;
  border-top-left-radius: max(0.5vw, 5px);
  border-bottom-left-radius: max(0.5vw, 5px);
  right: 0%;
  bottom: 10%;
  box-shadow: -0.2vw 0.2vw 0.5vw rgba(0,0,0,0.15);
  background-color: var(--background);
  z-index: 1;
}

.printButton svg {
  width: max(1.5vw, 1.5vh, 25px);
  height: max(2vw, 2vh, 40px);
  fill: var(--background);
  stroke: var(--text-color-normal);
}

.printButton:hover {
  background-color: var(--active-color-normal);
}
