/* =====================================================
   HIGHER DEGREES PAGE
   File: higher-degrees.css
   ===================================================== */

.higher-degrees-page {
  max-width: 1180px;
  margin: 0 auto;
}


/* MAIN PAGE CONTAINER */

.higher-degrees-shell {
  margin-bottom: 34px;
  padding: 34px;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      var(--cream) 100%
    );

  border: 1px solid var(--line);
  border-top: 5px solid var(--gold);
  border-radius: 14px;

  box-shadow: var(--shadow);
}


/* INTRODUCTION */

.higher-degrees-introduction {
  max-width: 900px;
  margin: 0 auto 36px;
  text-align: center;
}

.higher-degrees-introduction h3 {
  margin: 0 0 15px;

  color: var(--navy);

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

  font-size: 1.75rem;
  line-height: 1.2;
}

.higher-degrees-introduction p {
  margin: 8px auto;

  color: #444;

  font-size: 1.08rem;
  line-height: 1.55;
}


/* =====================================================
   DEGREE HIERARCHY
   ===================================================== */

.degree-hierarchy {
  display: grid;

  grid-template-columns:
    minmax(175px, 1fr)
    minmax(300px, 390px)
    minmax(175px, 1fr);

  grid-template-rows:
    repeat(3, minmax(185px, auto));

  grid-template-areas:
    "pilgrim center regents"
    "fellowship center recorder"
    "legion center academy";

  column-gap: 34px;
  row-gap: 22px;

  max-width: 1080px;
  margin: 0 auto;
  padding: 12px 0 30px;

  align-items: center;
}


/* INDIVIDUAL DEGREE CARDS */

.degree-emblem {
  width: 100%;
  max-width: 220px;
  margin: auto;
  padding: 15px 15px 12px;

  background: #fff;

  border: 2px solid var(--gold);
  border-radius: 13px;

  box-shadow:
    0 6px 16px rgba(0,0,0,.15);

  text-align: center;

  transition:
    transform .18s ease,
    box-shadow .18s ease;
}

.degree-emblem:hover {
  box-shadow:
    0 9px 22px rgba(0,0,0,.2);
}

.degree-emblem-image {
  display: block;

  width: 100%;
  height: 145px;

  margin: 0 auto 10px;

  object-fit: contain;
  object-position: center;

  background: #fff;
}

.degree-emblem h4 {
  min-height: 42px;
  margin: 0;

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

  color: var(--navy);

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

  font-size: 1.02rem;
  line-height: 1.2;
  text-transform: uppercase;
}


/* GRID POSITIONS */

.degree-pilgrim {
  grid-area: pilgrim;
  transform: translateX(28px);
}

.degree-regents {
  grid-area: regents;
  transform: translateX(-28px);
}

.degree-fellowship {
  grid-area: fellowship;
  transform: translateX(-4px);
}

.degree-recorder {
  grid-area: recorder;
  transform: translateX(4px);
}

.degree-legion {
  grid-area: legion;
  transform: translateX(28px);
}

.degree-academy {
  grid-area: academy;
  transform: translateX(-28px);
}


/* Preserve the curved layout during hover */

.degree-pilgrim:hover,
.degree-legion:hover {
  transform:
    translateX(28px)
    translateY(-3px);
}

.degree-regents:hover,
.degree-academy:hover {
  transform:
    translateX(-28px)
    translateY(-3px);
}

.degree-fellowship:hover {
  transform:
    translateX(-4px)
    translateY(-3px);
}

.degree-recorder:hover {
  transform:
    translateX(4px)
    translateY(-3px);
}


/* =====================================================
   CENTER HIGHER DEGREE LOGO
   ===================================================== */

.degree-center {
  grid-area: center;

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

  min-width: 0;
}

.center-degree-link {
  display: block;

  width: 100%;
  max-width: 390px;

  padding: 18px;

  color: var(--navy);
  text-align: center;
  text-decoration: none;

  background:
    radial-gradient(
      circle at center,
      #ffffff 0%,
      #ffffff 62%,
      var(--cream) 100%
    );

  border: 4px solid var(--gold);
  border-radius: 50%;

  box-shadow:
    0 10px 28px rgba(0,0,0,.2),
    inset 0 0 0 7px rgba(6,37,83,.07);

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.center-degree-link:hover,
.center-degree-link:focus {
  color: var(--navy);

  transform:
    translateY(-4px)
    scale(1.015);

  box-shadow:
    0 15px 34px rgba(0,0,0,.25),
    inset 0 0 0 7px rgba(6,37,83,.1);
}

.center-degree-image-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;

  display: flex;
  justify-content: center;
  align-items: center;
}

.center-degree-image {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
  object-position: center;

  border-radius: 50%;
}

.center-degree-link h3 {
  margin: -8px 20px 5px;

  color: var(--navy);

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

  font-size: 1.4rem;
  line-height: 1.15;
  text-transform: uppercase;
}

.center-degree-link p {
  margin: 0 20px 16px;

  color: #9b1c1c;

  font-size: .96rem;
  font-weight: bold;
  font-style: italic;
}


/* =====================================================
   NEW YORK STATE COUNCILS
   ===================================================== */

.higher-degree-councils {
  max-width: 1020px;

  margin: 28px auto 0;
  padding: 28px;

  background: #fff;

  border: 3px solid var(--navy);
  border-radius: 13px;

  box-shadow:
    0 7px 20px rgba(0,0,0,.15);

  text-align: center;
}

.higher-degree-councils h3 {
  margin: 0 0 10px;

  color: var(--navy);

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

  font-size: 1.65rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.council-introduction {
  max-width: 790px;
  margin: 0 auto 22px;

  color: #444;

  font-size: 1.03rem;
  line-height: 1.5;
}

.council-button-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 15px;

  max-width: 850px;
  margin: 0 auto;
}

.council-link {
  min-height: 62px;
  padding: 13px 18px;

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

  background:
    linear-gradient(
      135deg,
      #071f46 0%,
      #0b326d 55%,
      #071f46 100%
    );

  color: #fff;

  border: 2px solid var(--gold);
  border-radius: 8px;

  box-shadow:
    0 5px 13px rgba(0,0,0,.2),
    inset 0 1px 0 rgba(255,255,255,.13);

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

  font-size: 1.07rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.council-link-pending {
  cursor: default;
}

a.council-link {
  transition:
    transform .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

a.council-link:hover,
a.council-link:focus {
  color: #fff;

  background:
    linear-gradient(
      135deg,
      #0a3472 0%,
      #1250a2 55%,
      #0a3472 100%
    );

  transform: translateY(-2px);

  box-shadow:
    0 8px 17px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.16);
}

.council-page-note {
  margin: 18px 0 0;

  color: var(--muted);

  font-size: .92rem;
  font-weight: bold;
  font-style: italic;
}


/* BOTTOM BUTTONS */

.higher-degrees-shell .content-button-row {
  margin-top: 30px;
}


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

@media (max-width: 960px) {

  .higher-degrees-shell {
    padding: 28px 22px;
  }

  .degree-hierarchy {
    grid-template-columns:
      minmax(150px, 1fr)
      minmax(260px, 330px)
      minmax(150px, 1fr);

    column-gap: 18px;
  }

  .degree-emblem {
    max-width: 190px;
  }

  .degree-emblem-image {
    height: 125px;
  }

  .degree-pilgrim,
  .degree-regents,
  .degree-fellowship,
  .degree-recorder,
  .degree-legion,
  .degree-academy {
    transform: none;
  }

  .degree-pilgrim:hover,
  .degree-regents:hover,
  .degree-fellowship:hover,
  .degree-recorder:hover,
  .degree-legion:hover,
  .degree-academy:hover {
    transform: translateY(-3px);
  }

}


/* =====================================================
   SMARTPHONE
   ===================================================== */

@media (max-width: 720px) {

  .higher-degrees-shell {
    padding: 24px 15px;
    border-radius: 10px;
  }

  .higher-degrees-introduction {
    margin-bottom: 24px;
  }

  .higher-degrees-introduction h3 {
    font-size: 1.45rem;
  }

  .higher-degrees-introduction p {
    font-size: 1rem;
  }

  .degree-hierarchy {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    grid-template-rows: auto;

    grid-template-areas:
      "center center"
      "pilgrim regents"
      "fellowship recorder"
      "legion academy";

    column-gap: 12px;
    row-gap: 16px;

    padding-top: 0;
  }

  .degree-center {
    margin-bottom: 10px;
  }

  .center-degree-link {
    max-width: 330px;
  }

  .degree-emblem {
    max-width: none;
    padding: 11px 9px 10px;
  }

  .degree-emblem-image {
    height: 115px;
    margin-bottom: 8px;
  }

  .degree-emblem h4 {
    min-height: 38px;
    font-size: .9rem;
  }

  .higher-degree-councils {
    padding: 24px 16px;
  }

  .higher-degree-councils h3 {
    font-size: 1.38rem;
  }

  .council-button-grid {
    grid-template-columns: 1fr;
  }

  .council-link {
    min-height: 56px;
    font-size: 1rem;
  }

}


/* SMALL SMARTPHONE */

@media (max-width: 430px) {

  .center-degree-link {
    max-width: 270px;
    padding: 13px;
  }

  .center-degree-link h3 {
    margin-top: -4px;
    font-size: 1.12rem;
  }

  .center-degree-link p {
    margin-bottom: 12px;
    font-size: .84rem;
  }

  .degree-emblem-image {
    height: 98px;
  }

  .degree-emblem h4 {
    font-size: .78rem;
  }

}

