/* === Page Height Constraint === */
html,
body {
  height: 310px; /* Reducing will compress layout; increasing can break intended iframe fit on jam page. */
}

/* === Debug === */
/* .container { background-color: #641c75; }
.section { outline: 2px dashed red; } */

/* CTA Branding */
.custom-cta-h2 {
  text-align: center;
  color: #fff;
  margin-bottom: 30px;
  font-size: 1.5em;
}
.custom-cta-h2 a {
  color: #ee95e7 !important; /* GLJ Pink */
  text-decoration: underline;
}

/* Calendar Styles */
#jam-archive-calendar .jam-header {
  display: flex;
  align-items: center;
  margin: 0 auto 20px auto;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 2px;
  justify-content: center;
}
#jam-archive-calendar .jam-header::before,
#jam-archive-calendar .jam-header::after {
  content: "";
  flex: 1;
  border-bottom: 2px solid #446;
}
#jam-archive-calendar .jam-header:not(:empty)::before { margin-right: 15px; }
#jam-archive-calendar .jam-header:not(:empty)::after { margin-left: 15px; }

#jam-archive-calendar .jam-calendar { margin: 10px auto; width: 100%; max-width: 960px; }
#jam-archive-calendar .jam-row { display: flex; align-items: stretch; position: relative; }
#jam-archive-calendar .jam-year-box { border: 2px solid #446; padding: 0 10px; color: #fff; flex: 0 0 80px; margin: 5px; height: 34px; display: flex; align-items: center; justify-content: center; }
#jam-archive-calendar .jam-year-box h3 { margin: 0 !important; font-size: 1.17em; }
#jam-archive-calendar .jam-cell { padding: 10px; min-width: 100px; color: #446; flex: 1 1 0; display: flex; align-items: center; justify-content: center; }
#jam-archive-calendar .jam-cell a { color: #fff; text-decoration: underline; }
#jam-archive-calendar .jam-cell:has(a), #jam-archive-calendar .active { color: #fff !important; }
#jam-archive-calendar .jam-divider-v { width: 2px; background: #446; align-self: stretch; }
#jam-archive-calendar .jam-divider-h { height: 3px; background: #446; width: 100%; }
#jam-archive-calendar .active { border-color: #fff !important; background: rgba(255, 255, 255, 0.066); }

#jam-archive-calendar .attention a {
  display: inline-block;
  transform-origin: center bottom;
  animation: throb-attention 1.5s ease-in-out infinite !important;
}

@keyframes throb-attention {
  0%, 100% { 
    transform: scale(1);
    color: #fff;
  }
  50% { 
    transform: scale(1.15);
    color: #ee95e7;
  }
}

@media (max-width: 768px) {
  #jam-archive-calendar .jam-divider-v { display: none; }
  #jam-archive-calendar .jam-row { flex-direction: column; align-items: center; }
  #jam-archive-calendar .jam-cell { width: 100%; border-bottom: 1px solid #446; }
}