
.hero {
  position: relative;
  color: white;
  background: #4a00e2 no-repeat right 15%;
  background-size: cover;
  min-height: 400px;
  background-image: none;
}
.hero-inner {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
}
.hero.bkgd-media {
  background: #110057;
  padding-bottom: 3vw;
}

.hero .bkgd-img-container {
  position: relative;
  width: calc(100% + 2em);
  margin-left: -1em;
  margin-right: -1em;
  max-height: 60vh;
  object-fit: cover;
}
.hero .bkgd-media-container {
  position: relative;
  width: calc(100% + 2em);
  margin-left: -1em;
  margin-right: -1em;
  max-height: 60vh;
  object-fit: cover;
}
.ch-theme .bkgd-media-container {
  -webkit-clip-path: url(#secondaryHeroBannerMask);
  clip-path: url(#secondaryHeroBannerMask);
}

.hero .topbar {
  position: relative;
  z-index: 100;
  max-width: 1200px;
  margin: auto;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.12);
}
.hero .topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2em;
  padding: .75em 1em;
}
.hero .ch-logo {
  max-height: 60px;
  max-width: 40vw;
}

.topbar a.btn-primary-outline-on-dark {
  padding: 8px 16px;
  text-transform: uppercase;
  font-size: .875em;
}
.topbar a.btn-primary-outline-on-dark span {
    white-space: nowrap;
}

.bkgd-media .topbar {
  background: #fff;
  max-width: 100%;
}
.bkgd-media .topbar-inner {
  max-width: 1400px;
  padding: .75em 1em;
  margin: auto;
}

.hero-content {
  padding: 1.5em;
  box-sizing: border-box;
}
.bkgd-media .hero-content {
  color: white;
  background: #110057;
  padding: 3em 4em;
}
.hero-content h1 {
  font-size: 2em;
  font-weight: 500;
  margin-top: 0;
  text-wrap: balance;
}
.bkgd-media h1 {
  margin: 0;
}
.hero-content p {
  font-size: 18px;
  line-height: 1.8;
}
.hero-callout {
  padding: 1em 2em;
  max-width: 70%;
  background: rgba(17, 0, 87, .5);
  margin: 1.5em 0;
}
.link-white {
  color: white;
}
#select-location-container {
    display: flex;
    flex-direction: column;
}
select#choose-location-menu {
  font-size: 1em;
  color: #4a00e2;
  border-radius: 3em;
  padding: 10px 24px;
  border: 2px solid #fefefe;
  max-width: 87vw;
}
.hero select + a {
    margin: 1em 0;
}
.hero-image {
  width: 100%;
  text-align: center;
}
.hero-image img {
  max-width: 100%;
}
.hero-image iframe {
    width: 100%;
    height: 210px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
a.card-category {
  color: #4a00e2;
  background: white;
  text-decoration: none;
  border-radius: 2em;
  padding: 1.5em;
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1em;
  flex-grow: 1;
  flex-basis: 36%;
}
a.card-category:hover {
  background: #E9E6FC;
}
a.card-category:hover .card-icon {
  background: #fff;
}

.card-icon {
  background: #f0eef4;
  border-radius: 3em;
  padding: .375em .5em;
}
.card-icon img {
  width: 36px;
  height: 36px;
}
.card-label {
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
}



/* Media Query Breakpoints */


/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) { 
  #select-location-container {
    flex-direction: row;
  }
  .hero select + a { margin: 0 1em; }
  .hero-image iframe {
    width: 100%;
    height: 360px;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) { 
  .hero {
    background-image: inherit;
  }
  .hero-content {
    /* max-width: 42em; */
    margin: auto;
  }
  .bkgd-media .hero-content {
    margin: 0;
    border-radius: 4em;
  }
  .hero-content h1 { font-size: 2.25em; }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) { 
  .hero.bkgd-media {
    background: inherit;
  }
  .hero-content {
    max-width: calc(50% - 1em);
    padding: 3em;
  }
  .hero-inner {
    flex-direction: row;
    padding: 1.5em;
  }
  .bkgd-media .hero-inner {
    margin-top: -300px;
  }
  .secondary-hero-wrapper {
    padding-bottom: 2em;
  }
  .hero-image {
    width: 50%;
  }
  .hero .topbar { background: transparent; }
  .bkgd-media .topbar { background: #fff; }
  .hero.bkgd-media .topbar-inner { 
    justify-content: space-between;
  }
  .hero .topbar-inner { 
    justify-content: flex-start;
  }
  .hero .bkgd-img-container {
    position: absolute;
    object-fit: cover;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 
  .bkgd-media .hero-inner {
    margin-top: -340px;
  }
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) { 
  .hero-inner {
    max-width: 1200px;
    margin: auto;
    padding: 0 2em;
  }
  .bkgd-media .hero-inner {
    max-width: 1440px;
  }
  .hero-content {
    max-width: 45em;
    min-height: 480px;
    padding: 2em 3em 3em 0;
  }
  .bkgd-media .hero-content {
    max-width: calc(45% - 1em);
    min-height: auto;
    padding: 4em;
  }
}




