/* =========================================
   ANUSHRI JAIN — CV PAGE
   ========================================= */

body {
  background: #f7f6f2;
}


/* MAIN LAYOUT */

.cv-page {
  width: min(1180px, calc(100% - 44px));
  margin: 0 auto;
  padding: 54px 0 76px;

  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 56px;

  align-items: start;
}


/* =========================================
   LEFT SIDEBAR
   ========================================= */

.cv-sidebar {
  position: sticky;
  top: 26px;

  text-align: center;
  color: #24323a;
}


/* PHOTO */

.sidebar-photo-wrap {
  width: 174px;
  height: 174px;

  margin: 0 auto 22px;

  border-radius: 50%;
  overflow: hidden;

  background: white;

  box-shadow:
    0 1px 0 rgba(0,48,73,.12);
}

.sidebar-photo {
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center 32%;
}


/* NAME */

.cv-sidebar h1 {
  margin: 0 0 8px;

  color: #003049;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
}


/* TITLE */

.sidebar-role {
  margin: 0 0 9px;

  color: #780000;

  font-size: 15px;
  font-weight: 600;
}


/* SCHOOL */

.sidebar-school {
  margin: 0 auto 21px;

  max-width: 220px;

  color: #4f5c62;

  font-size: 14px;
  line-height: 1.55;
}


/* CONTACT DETAILS */

.sidebar-details {
  padding: 18px 0;

  border-top:
    1px solid rgba(0,48,73,.16);

  border-bottom:
    1px solid rgba(0,48,73,.16);
}

.sidebar-details p {
  margin: 4px 0;

  font-size: 14px;
}


/* LINKS */

.cv-sidebar a {
  color: #003049;
  text-decoration: none;
}

.cv-sidebar a:hover {
  color: #780000;

  text-decoration: underline;
  text-underline-offset: 3px;
}

.sidebar-links {
  padding-top: 18px;

  display: flex;
  flex-direction: column;

  gap: 8px;

  font-size: 14px;
}


/* =========================================
   CV AREA
   ========================================= */

.cv-main {
  min-width: 0;
}


/* TITLE + BUTTONS */

.cv-heading-row {
  margin-bottom: 20px;

  display: flex;

  align-items: flex-end;
  justify-content: space-between;

  gap: 26px;
}


.eyebrow {
  margin: 0 0 3px;

  color: #669BBC;

  font-size: 12px;
  font-weight: 700;

  letter-spacing: .12em;

  text-transform: uppercase;
}


.cv-main h2 {
  margin: 0;

  color: #003049;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 38px;
  font-weight: 400;

  line-height: 1.15;
}


/* =========================================
   BUTTONS
   ========================================= */

.cv-actions {
  display: flex;

  gap: 10px;

  flex-wrap: wrap;

  justify-content: flex-end;
}


.cv-button {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 40px;

  padding: 9px 15px;

  border:
    1px solid #003049;

  border-radius: 4px;

  color: #003049;

  background: transparent;

  font-size: 14px;
  font-weight: 600;

  text-decoration: none;
}


.cv-button:hover {
  background:
    rgba(0,48,73,.06);

  color: #003049;
}


.cv-button.primary {
  background: #003049;

  color: white;
}


.cv-button.primary:hover {
  background: #12465f;

  color: white;
}


/* =========================================
   EMBEDDED PDF
   ========================================= */

.cv-frame-wrap {
  overflow: hidden;

  border:
    1px solid rgba(0,48,73,.18);

  border-radius: 3px;

  background: white;

  box-shadow:
    0 8px 28px rgba(31,41,48,.08);
}


.cv-frame {
  display: block;

  width: 100%;
  height: 1080px;

  border: 0;

  background: white;
}


/* PDF FALLBACK */

.cv-fallback {
  margin: 12px 0 0;

  color: #6a7378;

  font-size: 13px;
}

.cv-fallback a {
  color: #780000;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 860px) {

  .cv-page {
    grid-template-columns: 1fr;

    gap: 38px;

    padding-top: 38px;
  }

  .cv-sidebar {
    position: static;
  }

  .sidebar-links {
    flex-direction: row;

    justify-content: center;

    flex-wrap: wrap;

    gap: 10px 18px;
  }

  .cv-heading-row {
    align-items: flex-start;

    flex-direction: column;
  }

  .cv-actions {
    justify-content: flex-start;
  }

  .cv-frame {
    height: 900px;
  }
}


/* =========================================
   PHONE
   ========================================= */

@media (max-width: 560px) {

  .cv-page {
    width:
      min(100% - 28px, 1180px);
  }

  .sidebar-photo-wrap {
    width: 150px;
    height: 150px;
  }

  .cv-main h2 {
    font-size: 32px;
  }

  .cv-actions {
    width: 100%;
  }

  .cv-button {
    flex: 1 1 150px;
  }

  .cv-frame {
    height: 720px;
  }
}
