/* Fontana location section only; the introduction and course list are independent. */
.cce-fontana-location { margin-top: 2.5rem; color: #19232b; font-family: 'Open Sans', Arial, sans-serif; }
.cce-fontana-location__map { height: 450px; overflow: hidden; border: 1px solid #e5e5e5; border-radius: 1.25rem; background: #f7f7f7; }
.cce-fontana-location__map iframe { display: block; width: 100%; height: 100%; border: 0; }
.cce-fontana-location__panel { padding: 1.75rem; border: 1px solid #e5e5e5; border-radius: 1.25rem; background: #fff; box-shadow: 0 .5rem 1.5rem rgb(0 0 0 / 5%); }
.cce-fontana-location h2 { margin: 0 0 1.25rem; color: #080808; font: 700 clamp(1.75rem, 2.3vw, 2rem)/1.2 Georgia, 'Times New Roman', serif; letter-spacing: normal; }
.cce-fontana-location__item { display: flex; gap: .875rem; padding: .875rem 0; border-top: 1px solid #ececec; }
.cce-fontana-location__item > div { min-width: 0; }
.cce-fontana-location svg { flex: 0 0 auto; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cce-fontana-location__item > svg { margin-top: .125rem; color: var(--cce-primary-red); }
.cce-fontana-location h3 { margin: 0 0 .25rem; color: #080808; font: 700 1rem/1.5 'Open Sans', Arial, sans-serif; }
.cce-fontana-location address,
.cce-fontana-location__item a { margin: 0; color: #525b63; font-size: 1rem; font-style: normal; line-height: 1.65; overflow-wrap: anywhere; }
.cce-fontana-location__item a:hover { color: var(--cce-primary-red); }
.cce-fontana-location .cce-fontana-location__directions { display: inline-flex; align-items: center; justify-content: center; gap: .625rem; min-height: 52px; margin-top: .625rem; padding: .875rem 1.5rem; border: 1px solid var(--cce-primary-red); border-radius: .6rem; background: var(--cce-primary-red); color: #fff; font-size: .9375rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
.cce-fontana-location .cce-fontana-location__directions:hover { border-color: #171717; background: #171717; color: #fff; }
.cce-fontana-location a:focus-visible { outline: 3px solid var(--cce-primary-red); outline-offset: 4px; }
@media (max-width: 991.98px) {
    .cce-fontana-location__panel { margin-bottom: 1.5rem; }
    .cce-fontana-location__map { height: 400px; }
}
@media (max-width: 575.98px) {
    .cce-fontana-location__panel { padding: 1.25rem; }
    .cce-fontana-location__map { height: 350px; }
    .cce-fontana-location .cce-fontana-location__directions { width: 100%; padding-right: .75rem; padding-left: .75rem; }
}
