
@view-transition { navigation: auto} :root { --hh-container-padding: 15px; --hh-demo-menu-bg: var(--hh-secondary); --hh-demo-menu-width: 280px; --hh-demo-speed: 0.3s} *, *::before, *::after { box-sizing: border-box} html { scroll-behavior: smooth; scroll-padding-top: 1em} body { margin: 0; padding: 0; font-family: var(--hh-font-family); color: var(--hh-default-font-color); font-size: var(--hh-font-size); line-height: 1.5} button { font-family: inherit; font-size: var(--hh-font-size)} h1 { font-size: var(--hh-h1-size)} h2 { font-size: var(--hh-h2-size)} h3 { font-size: var(--hh-h3-size)} header .logo-row .container { display: grid; width: 100%; grid-template-columns: 1fr; padding-top: var(--hh-container-padding); padding-bottom: var(--hh-container-padding)} @media (min-width: 768px) { header .logo-row .container { grid-template-columns: 1fr 4fr 1fr} } header .nav-row { border-top: 1px solid var(--hh-accent-dark); border-bottom: 1px solid var(--hh-accent-dark)} header .nav-row .container { text-align: center; padding: 0} header .nav-row .container a { display: inline-block; color: var(--hh-default-font-color); text-decoration: none; text-transform: uppercase; font-weight: bold; padding: calc(var(--hh-grid-gap) * 0.7) calc(var(--hh-grid-gap) * 0.5)} @media (min-width: 1024px) { header .nav-row .container a { padding: calc(var(--hh-grid-gap) * 1.5) var(--hh-grid-gap)} } header .nav-row .container a:hover, header .nav-row .container a:focus { color: var(--hh-primary)} header .logo-row .container .social-column { justify-content: start; display: none; grid-auto-flow: column} @media (min-width: 768px) { header .logo-row .container .social-column { display: inline-grid} } header .logo-column { text-align: center} header .logo-column img { display: block} header .logo-column img, footer a img { margin-inline: auto} header .logo-row .container .search-column { display: none} @media (min-width: 768px) { header .logo-row .container .search-column { display: grid; justify-content: end} } header a.hh-icon { padding: var(--hh-container-padding)} header a.hh-icon svg { fill: var(--hh-primary); height: 20px} .container { max-width: 1200px; padding: 0 calc(var(--hh-container-padding) * 2); margin: 0 auto} .container { padding-top: calc(var(--hh-grid-gap) * 2); padding-bottom: calc(var(--hh-grid-gap) * 2)} footer.hh-footer { background-color: var(--hh-secondary); padding: calc(var(--hh-grid-gap) * 4) var(--hh-grid-gap); color: white; line-height: 1.5} footer .container { text-align: center} footer .container .social-column { display: grid; justify-self: center; grid-auto-flow: column} footer img { width: 200px; margin-bottom: var(--hh-grid-gap)} footer a.hh-icon { padding: var(--hh-container-padding)} footer a.hh-icon svg { fill: white; height: 20px} .hh-demo-header { position: relative; width: 100%; z-index: 100; background-color: white; margin-block-end: 2rem; transition: transform var(--hh-demo-speed) ease-in-out, box-shadow var(--hh-demo-speed) ease-in-out} @media (max-width: 767px) { .hh-demo-header.fixed { position: fixed; top: 0; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); z-index: 1100; animation: hh-demo-fade-in var(--hh-demo-speed) ease-in-out} body.has-fixed-header { padding-top: var(--header-height, 0)} } @keyframes hh-demo-fade-in { from { opacity: 0; transform: translateY(-10px)} to { opacity: 1; transform: translateY(0)} } #mobile-menu-toggle { display: none; position: absolute; top: 1rem; right: 1rem; z-index: 1002; padding: 0.8rem; border: none; border-radius: 4px; background: none; cursor: pointer} #mobile-menu-toggle:focus-visible { outline: 2px solid var(--hh-focus-color); outline-offset: 2px} #mobile-menu-toggle svg, #close-menu svg { width: 28px; height: 28px; fill: var(--hh-primary)} #close-menu { display: none} @media (max-width: 767px) { .hh-demo-menu #mobile-menu-toggle { display: block} .hh-demo-menu .nav-row { position: fixed; top: 0; right: 0; z-index: 1001; display: flex; flex-direction: column; align-items: flex-start; width: var(--hh-demo-menu-width); height: 100vh; padding: 1.5rem; background: var(--hh-demo-menu-bg); color: white; box-shadow: -4px 0 10px rgba(0, 0, 0, 0.2); opacity: 0; visibility: hidden; transform: translateX(100%); transition: transform var(--hh-demo-speed) ease-in-out, opacity var(--hh-demo-speed) ease-in-out} .hh-demo-menu .nav-row.open { z-index: 1000; opacity: 1; visibility: visible; transform: translateX(0)} .hh-demo-menu .nav-row.closing { opacity: 0; transform: translateX(100%)} .hh-demo-menu #close-menu { position: absolute; top: 1rem; right: 1rem; z-index: 1003; padding: 0.8rem; border: none; border-radius: 4px; background: rgba(0, 0, 0, 0.2); cursor: pointer} .hh-demo-menu #close-menu:focus-visible { outline: 2px solid var(--hh-default-bg-color); outline-offset: 2px} .hh-demo-menu #close-menu svg { width: 24px; height: 24px; fill: var(--hh-default-bg-color)} .hh-demo-menu .nav-row.open div { display: grid; gap: var(--hh-grid-gap); margin-block-start: 5em} .hh-demo-menu .nav-row.open a { color: var(--hh-default-bg-color); border-radius: var(--hh-radius)} .hh-demo-menu .nav-row.open a:hover, .hh-demo-menu .nav-row.open a:focus { color: var(--hh-default-bg-color); text-decoration: underline} .hh-demo-menu .nav-row.open a:focus-visible { outline: 2px solid var(--hh-default-bg-color); outline-offset: 2px} } @media (prefers-reduced-motion: reduce) { .hh-demo-header, .hh-demo-header.fixed, .hh-demo-menu .nav-row { transition: none; animation: none} } .hh-back-to-top { --bottom-right-placement: 1rem; --size: 1.5rem; all: unset; position: fixed; z-index: 900; inset: auto; bottom: var(--bottom-right-placement); right: var(--bottom-right-placement); display: inline-flex; align-items: center; justify-content: center; box-sizing: content-box; block-size: var(--size); inline-size: var(--size); max-block-size: 100vh; padding: 0.625rem; border: 2px solid var(--hh-default-bg-color); border-radius: var(--hh-radius); background: var(--hh-primary-strong); color: var(--hh-default-bg-color); fill: currentColor; box-shadow: var(--hh-shadow); opacity: 1; cursor: pointer; transition: opacity var(--hh-demo-speed) ease-in-out, background-color var(--hh-demo-speed) ease-in-out, transform var(--hh-demo-speed) ease-in-out} .hh-back-to-top svg { inline-size: 100%; block-size: 100%} .hh-back-to-top:hover, .hh-back-to-top:focus-visible { background: var(--hh-secondary); opacity: 1; transform: translateY(-2px)} .hh-back-to-top.hh-hide-back-to-top { opacity: 0; max-block-size: 0; z-index: -1; visibility: hidden; pointer-events: none} .hh-back-to-top:focus-visible { outline: 2px solid var(--hh-focus-color); outline-offset: 2px; box-shadow: 0 0 0 2px var(--hh-default-bg-color), 0 0 0 4px var(--hh-primary-strong), var(--hh-shadow)} @media (min-width: 600px) { .hh-back-to-top { --bottom-right-placement: 2rem} } .skip-link { position: absolute; inset-block-start: 8px; inset-inline-start: 8px; z-index: 1200; padding: 12px 16px; border-radius: var(--hh-radius); background: var(--hh-primary-strong); box-shadow: var(--hh-shadow); color: #fff; font-weight: 600; text-decoration: none; transform: translateY(calc(-100% - 16px))} .skip-link:focus-visible { transform: none; outline: 2px solid var(--hh-primary-strong); outline-offset: 2px} @media (prefers-reduced-motion: no-preference) { .skip-link { transition: transform 0.2s ease-in-out} }  :root { --hh-container: 0; --hh-grid-gap: 20px; --hh-filter-min: 17rem; --hh-default-bg-color: #ffffff; --hh-default-font-color: #11151c; --hh-primary: #43739c; --hh-secondary: #2A3F5A; --hh-accent: #f5f5f5; --hh-accent-dark: #dddddd; --hh-accent-darker: #505050; --hh-primarybutton-paddding: 11px; --hh-primarybutton-text-color: var(--hh-default-bg-color); --hh-primarybutton-icon-color: var(--hh-default-bg-color); --hh-primarybuttonhover-icon-color: var(--hh-primary); --hh-primarybuttonhover-text-color: var(--hh-primary); --hh-secondarybutton-text-color: var(--hh-default-bg-color); --hh-secondarybutton-icon-color: var(--hh-default-bg-color); --hh-secondarybuttonhover-icon-color: var(--hh-secondary); --hh-secondarybuttonhover-text-color: var(--hh-secondary); --hh-font-family: Avenir, Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif; --hh-font-size: 16px; --hh-font-size-page-title: clamp(1.625rem, 1.2rem + 1.4vw, 2rem); --hh-font-size-detail-title: clamp(1.75rem, 1.3rem + 1.6vw, 2.25rem); --hh-font-size-row-title: clamp(1.1875rem, 1rem + .6vw, 1.375rem); --hh-font-size-card-title: 1.25rem; --hh-font-size-title: 1.125rem; --hh-font-size-sm: 1em; --hh-font-size-label: .8125rem; --hh-h1-size: 2em; --hh-h2-size: 1.5em; --hh-h3-size: 1.17em; --hh-border: #d5dbe1; --hh-muted: rgba(0, 0, 0, .72); --hh-tint: color-mix(in oklab, var(--hh-primary) 9%, white); --hh-hover-bg: #f4f6f9; --hh-radius: 3px; --hh-shadow: 0 2px 4px rgba(0, 0, 0, .16); --hh-focus-color: var(--hh-primary); --hh-input-border: #737c86; --hh-primary-strong: color-mix(in oklab, var(--hh-primary) 85%, black); --hh-cat-1: #43739c; --hh-cat-2: #007897; --hh-cat-3: #e6135f; --hh-cat-4: #ef6c00; --hh-cat-5: #4d6a78; --hh-cat-6: #2e7d32; --hh-cat-7: #6a1b9a; --hh-cat-8: #ad1457; --hh-status-cancelled: #d32f2f; --hh-status-postponed: #ef6c00; --hh-status-now: #2e7d32; --hh-status-full: #222630}  .hh-module *, .hh-module *::before, .hh-module *::after { box-sizing: border-box} .hh-module { background-color: var(--hh-default-bg-color)} .hh-module a { color: var(--hh-primary)} .hh-module a:hover, .hh-module a:focus { color: var(--hh-secondary); text-decoration: none} .hh-hide { display: none !important} .hh-container { margin-top: var(--hh-container); margin-bottom: var(--hh-container)} .hh-main { display: grid; gap: var(--hh-grid-gap); grid-template-columns: 1fr; grid-template-areas: "sidebar" "main"} @media (min-width: 992px) { .hh-main { grid-template-columns: 3fr 1fr; grid-template-areas: "main sidebar"} .hh-main.hh-main-flipped { grid-template-columns: 1fr 3fr; grid-template-areas: "sidebar main"} } @media (min-width: 1200px) { .hh-main { grid-template-columns: 4fr 1fr} .hh-main.hh-main-flipped { grid-template-columns: 1fr 4fr} } .hh-listing { grid-area: main} .hh-header { margin-bottom: var(--hh-grid-gap)} .hh-header>*:last-child { margin-bottom: 0} .hh-listing .hh-results { --animation-speed: 0.3s; --icon-size: 25px; display: flex; justify-content: space-between; align-items: center; background-color: var(--hh-accent); font-size: 1em; padding: calc(var(--hh-grid-gap) * 0.5); margin-bottom: var(--hh-grid-gap)} .hh-listing .hh-results span { font-weight: bold} .hh-listing .hh-results .hh-toggle-listing { position: relative; width: var(--icon-size); height: var(--icon-size)} .hh-listing .hh-results .hh-toggle-listing button { cursor: pointer; background: transparent; border: none; padding: 0; position: absolute; top: 0; left: 0; opacity: 1; transition: opacity var(--animation-speed) ease-in-out, transform var(--animation-speed) ease-in-out} .hh-listing .hh-results .hh-toggle-listing button svg { width: var(--icon-size)} .hh-listing .hh-results .hh-toggle-listing button.hidden { opacity: 0; transform: scale(0.8); pointer-events: none} @media (max-width: 530px) { .hh-listing .hh-results .hh-toggle-listing { display: none} } .hh-listing .hh-filters { display: flex; gap: calc(var(--hh-grid-gap) * 0.25); margin-bottom: var(--hh-grid-gap); flex-wrap: wrap} .hh-listing .hh-filters .hh-selected-filter { display: inline-flex; cursor: pointer; font-weight: 400; font-size: 1em; background-color: var(--hh-accent-dark); padding: calc(var(--hh-grid-gap) * 0.2); border-radius: 0.4em; align-items: center; gap: calc(var(--hh-grid-gap) * 0.2); white-space: nowrap; color: var(--hh-default-font-color); border: solid 1px var(--hh-accent-dark); box-shadow: rgba(0, 0, 0, 0.05) 0 6px 24px 0, rgba(0, 0, 0, 0.08) 0 0 0 1px} .hh-listing .hh-filters .filter-title { display: none; font-weight: 700} @media (min-width: 768px) { .hh-listing .hh-filters .filter-title { display: block} } .hh-listing .hh-filters .hh-active-filter { font-weight: 400} .hh-listing .hh-filters .hh-selected-filter svg { width: 1em; height: 1em; flex-shrink: 0; display: block} .hh-listing .hh-filters .hh-selected-filter:hover svg, .hh-listing .hh-filters .hh-selected-filter:focus svg { fill: red} .hh-listing .hh-items { display: grid; gap: calc(var(--hh-grid-gap) * 1.25)} .hh-listing .hh-item { display: grid; gap: calc(var(--hh-grid-gap) * 0.25); text-decoration: none; color: var(--hh-default-font-color); grid-template-columns: 1fr; position: relative; background-color: var(--hh-default-bg-color); box-shadow: rgba(0, 0, 0, 0.16) 0 1px 4px; padding: calc(var(--hh-grid-gap) * 0.75)} .hh-listing .hh-item .hh-details:only-child { grid-column: 1 / -1} .hh-listing .hh-item .hh-details a { position: absolute; content: ""; inset: 0; width: 100%; height: 100%; z-index: 5} @media (min-width: 600px) { .hh-listing .hh-item { grid-template-columns: 1fr 2fr; gap: var(--hh-grid-gap)} } @media (min-width: 992px) { .hh-listing .hh-item { grid-template-columns: 1fr 4fr} } @media (min-width: 1200px) { .hh-listing .hh-item { grid-template-columns: 1fr 5fr} } .hh-listing .hh-item:hover .hh-details .hh-name, .hh-listing .hh-item:focus .hh-details .hh-name { color: var(--hh-primary)} .hh-item .hh-image { aspect-ratio: 1 / 1} .hh-image { overflow: hidden; color: var(--hh-accent-dark); background-color: var(--hh-accent)} .hh-image img { width: 100%; height: 100%; object-fit: cover} .hh-item .hh-image img { min-height: 166px} .hh-details>* { line-height: 1.2} .hh-details .hh-name { font-size: var(--hh-h2-size); font-weight: bold; margin-bottom: 0; text-wrap: balance} @media (min-width: 768px) { .hh-details .hh-name { margin-bottom: calc(var(--hh-grid-gap) * 0.5)} } .hh-details .hh-departments, .hh-details .hh-title { display: block; font-size: 1em; text-transform: uppercase; margin-bottom: calc(var(--hh-grid-gap) * 0.5)} .hh-details .hh-departments { color: var(--hh-accent-darker)} .hh-details .hh-title { font-weight: bold; color: var(--hh-accent-darker)} .hh-listing .hh-items.hh-cards { --card-width: 240px; --image-height: 100%; --image-fit: cover; display: grid; gap: var(--hh-grid-gap); grid-template-columns: repeat(auto-fill, minmax(min(var(--card-width), 100%), 1fr))} .hh-listing .hh-items.hh-cards .hh-item { display: flex; flex-direction: column} .hh-listing .hh-items.hh-cards .hh-item .hh-image img { aspect-ratio: 1 / 1; width: 100%; max-height: var(--image-height); object-fit: var(--image-fit)} .hh-details .hh-summary { display: none; margin-block-end: calc(var(--hh-grid-gap) * 0.5); text-wrap: pretty} @media (min-width: 426px) { .hh-item .hh-details .hh-summary { display: block} } .hh-listing .hh-items.hh-cards .hh-item .hh-details .hh-summary { display: none} .hh-sidebar-item h2 { position: relative; font-size: var(--hh-h3-size); text-transform: uppercase} .hh-sidebar-item h2 span { background-color: var(--hh-default-bg-color); position: relative; z-index: 2; padding: 3px 8px 3px 0} .hh-sidebar-item h2:before { content: ""; display: inline-block; height: 2px; background-color: var(--hh-accent-dark); position: absolute; left: 0; right: 0; top: 50%; z-index: 1} .hh-sidebar-item input { font-size: calc(var(--hh-font-size)*.9); padding: var(--hh-primarybutton-paddding); color: var(--hh-accent-darker); display: inline-block; width: auto} .hh-sidebar { grid-area: sidebar} .hh-sidebar-item+.hh-sidebar-item { margin-top: calc(var(--hh-grid-gap) * 2)} .hh-sidebar-item.hh-sidebar-clear { margin-top: calc(var(--hh-grid-gap) * 1.5)} .hh-sidebar-item *:first-child { margin-top: 0} .hh-sidebar-item .hh-text-input, .hh-sidebar-item .hh-select { width: 100%} .hh-sidebar-item .hh-checkbox-filters label { display: block; padding: calc(var(--hh-grid-gap) * 0.2) 0; cursor: pointer; font-weight: 500} .hh-sidebar-item .hh-checkbox-filters label:hover, .hh-sidebar-item .hh-checkbox-filters label:focus { color: var(--hh-primary)} .hh-sidebar-item .hh-btn-primary+.hh-btn-primary { margin-top: calc(var(--hh-grid-gap) * 0.4)} .hh-checkbox-filters+.hh-checkbox-filters { margin-top: var(--hh-grid-gap)} .hh-sidebar .hh-sidebar-mobile-heading, .hh-sidebar .hh-sidebar-mobile-expand { display: none} @media (max-width: 991px) { .hh-sidebar .hh-sidebar-mobile { padding: var(--hh-grid-gap); border: 1px solid var(--hh-accent-dark); margin-top: calc(var(--hh-grid-gap) * -1.5)} .hh-sidebar .hh-sidebar-mobile .hh-gradient-overlay { margin-bottom: var(--hh-grid-gap)} .hh-sidebar .hh-sidebar-mobile.hh-collapsed .hh-gradient-overlay { color: black; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0)); -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 1)), to(rgba(0, 0, 0, 0))); max-height: 200px; overflow: auto} .hh-sidebar .hh-sidebar-mobile-heading span, .hh-sidebar .hh-sidebar-mobile-expand span { display: inline-block; padding: calc(var(--hh-grid-gap) * 0.5); background-color: var(--hh-default-bg-color)} .hh-sidebar .hh-sidebar-mobile-heading { display: block; font-size: var(--hh-h2-size); text-transform: uppercase; font-weight: bold; margin-left: calc(var(--hh-grid-gap) * 0.5)} .hh-sidebar .hh-sidebar-mobile-expand { display: block; text-align: center; margin-top: calc(var(--hh-grid-gap) * -1.3)} .hh-sidebar .hh-sidebar-mobile-expand button { cursor: pointer; border: none; background-color: var(--hh-primary); color: #fff; border-radius: 50%; height: 32px; width: 32px; line-height: 1; padding: 0; margin: 0} .hh-sidebar .hh-sidebar-mobile-expand button.hh-expand:after, .hh-sidebar .hh-sidebar-mobile-expand button.hh-expand.hh-expanded:after { display: block; text-align: center; font-size: 2em; font-weight: bold} .hh-sidebar .hh-sidebar-mobile-expand button.hh-expand:after { content: "+"} .hh-sidebar .hh-sidebar-mobile-expand button.hh-expand.hh-expanded:after { content: "-"; line-height: 0.4} } .hh-sidebar .hh-wysiwyg { overflow: hidden} .hh-listing-controls { display: flex; justify-content: center; gap: calc(var(--hh-grid-gap) * 0.5)} .hh-listing-controls button { margin: calc(var(--hh-grid-gap) * 1.5) 0} details.hh-accordion { --_duration: .2s} @media (prefers-reduced-motion: no-preference) { details.hh-accordion { interpolate-size: allow-keywords} } .hh-accordion>.hh-accordion-title { cursor: pointer; font-weight: bold; padding: calc(var(--hh-grid-gap)*.5) 0; list-style: none; position: relative} .hh-accordion>.hh-accordion-title:hover, .hh-accordion>.hh-accordion-title:focus { color: var(--hh-primary)} .hh-accordion>.hh-accordion-title::marker, .hh-accordion>.hh-accordion-title::-webkit-details-marker { display: none} .hh-accordion-title span { margin-inline-end: 1em} .hh-accordion .hh-accordion-title:after { content: "+"; float: right; font-size: 1.5em; font-weight: normal; position: absolute; right: 0; top: 50%; transform: translateY(-50%)} details.hh-accordion::details-content { opacity: 0; block-size: 0; overflow-y: clip; transition: content-visibility var(--_duration) allow-discrete, opacity var(--_duration), block-size var(--_duration)} details[open].hh-accordion::details-content { opacity: 1; block-size: auto} details[open].hh-accordion .hh-accordion-title:after { content: "-"; float: right; font-size: 1.5em; font-weight: normal} .hh-accordion .hh-accordion-content { padding: 0 calc(var(--hh-grid-gap)*.1)} .hh-icon svg { display: block; height: 20px} .hh-btn-primary { display: inline-block; cursor: pointer; padding: var(--hh-primarybutton-paddding) calc(var(--hh-primarybutton-paddding)*4); text-align: center; font-weight: bold; background-color: var(--hh-primary); color: var(--hh-primarybutton-text-color) !important; text-transform: uppercase; text-decoration: none; border: solid 2px var(--hh-primary)} .hh-btn-primary:hover, .hh-btn-primary:focus { background-color: var(--hh-primarybutton-text-color); color: var(--hh-primary) !important; border: solid 2px var(--hh-primary)} .hh-btn-primary-inverted { display: inline-block; cursor: pointer; padding: var(--hh-primarybutton-paddding) calc(var(--hh-primarybutton-paddding)*4); text-align: center; font-weight: bold; background-color: var(--hh-primarybutton-text-color); color: var(--hh-primary) !important; text-transform: uppercase; text-decoration: none; border: solid 2px var(--hh-primary)} .hh-btn-primary-inverted:hover, .hh-btn-primary-inverted:focus { background-color: var(--hh-primary); color: var(--hh-primarybutton-text-color) !important; border: solid 2px var(--hh-primary)} .hh-btn-secondary { display: inline-block; cursor: pointer; padding: var(--hh-primarybutton-paddding) calc(var(--hh-primarybutton-paddding)*4); text-align: center; font-weight: bold; background-color: var(--hh-secondary); color: var(--hh-secondarybutton-text-color) !important; text-transform: uppercase; text-decoration: none; border: solid 2px var(--hh-secondary)} .hh-btn-secondary:hover, .hh-btn-secondary:focus { background-color: var(--hh-secondarybutton-text-color); color: var(--hh-secondary) !important; border: solid 2px var(--hh-secondary)} .hh-text-input, .hh-select { font-size: calc(var(--hh-font-size)*.9); color: var(--hh-accent-darker)} .hh-select { padding: var(--hh-primarybutton-paddding) calc(var(--hh-primarybutton-paddding)*2) var(--hh-primarybutton-paddding) var(--hh-primarybutton-paddding); background: url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat; background-position: calc(100% - 0.75rem) center !important; -moz-appearance: none !important; -webkit-appearance: none !important; appearance: none !important; padding-right: var(--hh-primarybutton-paddding) !important} .hh-sr-only { position: absolute !important; display: block; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important} .hh-italics { font-style: italic} .hh-module { --hh-surface: var(--hh-default-bg-color); color: var(--hh-default-font-color); font-family: var(--hh-font-family)} .hh-module button, .hh-module input, .hh-module select { font: inherit; color: inherit} .hh-module :where(a, button, input, select, summary, [tabindex]):focus-visible { outline: 2px solid var(--hh-focus-color); outline-offset: 2px} .hh-module a { color: var(--hh-primary); text-decoration: none} .hh-module a:hover { color: color-mix(in oklab, var(--hh-primary) 75%, black); text-decoration: underline} .hh-module img { max-width: 100%} .hh-module .hh-ico { width: 16px; height: 16px; flex: none; fill: currentColor} .hh-module svg { flex: none} .hh-module .hh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin: 0; padding: 9px 16px; border: 1px solid var(--hh-border); border-radius: var(--hh-radius); background: var(--hh-surface); font-size: var(--hh-font-size-sm); font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; text-transform: none; color: inherit; cursor: pointer} .hh-module .hh-btn:hover, .hh-module .hh-btn:focus { border-color: var(--hh-primary); background: var(--hh-surface); color: var(--hh-primary); text-decoration: none} .hh-module .hh-btn-accent, .hh-module .hh-btn-accent:hover, .hh-module .hh-btn-accent:focus { border-color: var(--hh-primary); background: var(--hh-primary); color: var(--hh-primarybutton-text-color)} .hh-module .hh-btn-accent:hover, .hh-module .hh-btn-accent:focus { background: color-mix(in oklab, var(--hh-primary) 78%, black)} .hh-module .hh-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--hh-border); border-radius: var(--hh-radius); background: var(--hh-surface); color: inherit; line-height: 1; cursor: pointer} .hh-module .hh-icon-btn .hh-ico { width: 18px; height: 18px} .hh-module .hh-icon-btn:hover { border-color: var(--hh-primary); color: var(--hh-primary)} .hh-module .hh-link-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 8px; border: 0; border-radius: var(--hh-radius); background: none; font-size: var(--hh-font-size-sm); font-weight: 600; color: var(--hh-primary); cursor: pointer} .hh-module .hh-link-btn:hover { background: var(--hh-tint); color: var(--hh-primary-strong); text-decoration: none} .hh-module .hh-btn, .hh-module .hh-results .hh-toggle-listing button { line-height: 1.5} .hh-module .hh-btn>svg, .hh-module .hh-results .hh-toggle-listing button>svg { display: block} @supports (text-box: trim-both cap alphabetic) { .hh-module .hh-btn, .hh-module .hh-results .hh-toggle-listing button { text-box: trim-both cap alphabetic} } .hh-module .hh-page-head { margin-bottom: 24px} .hh-module .hh-page-head h1 { margin: 0 0 6px; font-size: var(--hh-font-size-page-title); font-weight: 300; line-height: 1.2; text-wrap: balance} .hh-module .hh-page-head p { margin: 0 0 .75em; font-size: var(--hh-font-size-sm); color: var(--hh-muted); text-wrap: pretty} .hh-module .hh-page-head> :last-child { margin-bottom: 0} .hh-module .hh-sidebar-item>h2::before { content: none} .hh-module .hh-section-label, .hh-module .hh-sidebar-item>h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: var(--hh-font-size-label); font-weight: 700; letter-spacing: .07em; line-height: 1.5; text-transform: uppercase; color: inherit} .hh-module .hh-section-label::after, .hh-module .hh-sidebar-item>h2::after { content: ""; flex: 1; height: 1px; background: var(--hh-border)} .hh-module .hh-section-label span, .hh-module .hh-sidebar-item>h2 span { padding: 0; background: none} .hh-module .hh-sidebar-item>h2 label { cursor: pointer} .hh-module .hh-listing { min-width: 0; container: hh-listing / inline-size} .hh-module .hh-results { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin: 0 0 20px; padding: 0; background: none; font-size: inherit} .hh-module .hh-results span { font-weight: inherit} .hh-module .hh-results .hh-toggle-listing { position: static; display: flex; width: auto; height: auto; border: 1px solid var(--hh-border); border-radius: var(--hh-radius); overflow: hidden} .hh-module .hh-results .hh-toggle-listing button { position: static; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border: 0; border-inline-end: 1px solid var(--hh-border); background: var(--hh-surface); font-size: var(--hh-font-size-sm); font-weight: 600; opacity: 1; transform: none; cursor: pointer} .hh-module .hh-results .hh-toggle-listing button:last-child { border-inline-end: 0} .hh-module .hh-results .hh-toggle-listing button svg { width: 14px; height: 14px; fill: currentColor} .hh-module .hh-results .hh-toggle-listing button[aria-pressed="true"] { background: var(--hh-primary); color: var(--hh-primarybutton-text-color)} .hh-module .hh-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px} .hh-module .hh-results-note { margin: 0; font-size: var(--hh-font-size-sm); color: var(--hh-muted)} .hh-module .hh-filters:empty { display: none} .hh-module .hh-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 4px 12px 4px 16px; overflow-wrap: anywhere; border: 1px solid var(--hh-border); border-radius: 25px; background: var(--hh-tint); font-size: var(--hh-font-size-sm); line-height: 1.5; color: var(--hh-default-font-color); cursor: pointer} .hh-module .hh-chip:hover { border-color: var(--hh-primary)} .hh-module .hh-chip .hh-chip-label { display: inline; font-weight: 700; color: inherit} .hh-module .hh-chip svg { width: 14px; height: 14px; fill: currentColor} .hh-module .hh-listing-controls { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 24px} .hh-module .hh-items { display: block} .hh-module .hh-skeleton { pointer-events: none} .hh-module .hh-skeleton-line { display: block; width: 70%; height: .8rem; border-radius: var(--hh-radius); background: var(--hh-tint)} .hh-module .hh-sidebar-item+.hh-sidebar-item { margin-top: 35px} .hh-module .hh-search-wrap { position: relative} .hh-module .hh-search-ico { position: absolute; inset-inline-start: 10px; top: 50%; display: flex; translate: 0 -50%; color: var(--hh-muted); pointer-events: none} .hh-module .hh-search-ico svg { width: 17px; height: 17px; fill: currentColor} .hh-module select.hh-select { width: 100%; min-height: 44px; padding: 6px 36px 6px 10px; border: 1px solid var(--hh-input-border); border-radius: var(--hh-radius); background-color: var(--hh-surface); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2311151c' d='M7.4 8.6 12 13.2l4.6-4.6L18 10l-6 6-6-6z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 20px; font-size: var(--hh-font-size-sm); line-height: 1.5; color: var(--hh-default-font-color); cursor: pointer} .hh-module select.hh-select:hover { border-color: var(--hh-primary)} .hh-module select.hh-select[multiple] { padding: 4px !important; background-image: none} .hh-module select.hh-select[multiple] option { padding: 10px; border-radius: var(--hh-radius)} @supports (appearance: base-select) { .hh-module select.hh-select, .hh-module select.hh-select::picker(select) { appearance: base-select !important} .hh-module select.hh-select::picker-icon { display: none} .hh-module select.hh-select:not([multiple]) { display: flex; align-items: center} .hh-module select.hh-select::picker(select) { max-height: 280px; margin-top: 4px; margin-bottom: 4px; padding: 4px; border: 1px solid var(--hh-input-border); border-radius: var(--hh-radius); background: var(--hh-surface); box-shadow: 0 8px 24px rgba(0, 0, 0, .14)} .hh-module select.hh-select option { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 5px 10px; border-radius: var(--hh-radius); font-size: var(--hh-font-size-sm); line-height: 1.5; color: var(--hh-default-font-color)} .hh-module select.hh-select option:hover, .hh-module select.hh-select option:focus-visible { background: var(--hh-tint); outline: 0} .hh-module select.hh-select option:checked { font-weight: 600; color: var(--hh-primary-strong)} .hh-module select.hh-select option::checkmark { order: 1; margin-inline-start: auto} } @media (forced-colors: active) { .hh-module select.hh-select option:focus-visible { outline: 2px solid Highlight; outline-offset: -2px} } .hh-module .hh-accordion+.hh-accordion { margin-top: 16px} .hh-module .hh-accordion>.hh-accordion-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 4px; padding: 2px 0; font-size: var(--hh-font-size-sm); font-weight: 600; color: var(--hh-muted); list-style: none; cursor: pointer} .hh-module .hh-accordion>.hh-accordion-title::-webkit-details-marker { display: none} .hh-module .hh-accordion>.hh-accordion-title:hover { color: var(--hh-primary)} .hh-module .hh-accordion .hh-accordion-title::after { content: ""; position: static; float: none; width: 8px; height: 8px; margin-inline-end: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; font-size: 0; transform: rotate(-45deg); transition: transform .15s ease} .hh-module details[open].hh-accordion>.hh-accordion-title::after { content: ""; transform: rotate(45deg)} .hh-module .hh-accordion .hh-accordion-content { padding: 0} .hh-module label.hh-check { position: relative; display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 0 -6px; padding: 0 6px; border-radius: var(--hh-radius); font-size: var(--hh-font-size-sm); font-weight: 400; cursor: pointer} .hh-module label.hh-check:hover { background: var(--hh-tint); color: var(--hh-primary-strong)} .hh-module .hh-check:has(input:disabled) { color: rgba(0, 0, 0, .6); cursor: default} .hh-module .hh-check:has(input:disabled) .hh-check-box { opacity: .4} .hh-module label.hh-check:has(input:disabled):hover { background: none; color: inherit} .hh-module .hh-check-label { flex: 1; min-width: 0} .hh-module .hh-check input { position: absolute; width: 1px; height: 1px; padding: 0; opacity: 0} .hh-module .hh-check-box { display: flex; align-items: center; justify-content: center; flex: none; width: 16px; height: 16px; border: 2px solid var(--c, var(--hh-primary)); border-radius: 50%} .hh-module .hh-check-box svg { width: 10px; height: 10px; fill: #fff; opacity: 0} .hh-module .hh-check input:checked+.hh-check-box { background: var(--c, var(--hh-primary))} .hh-module .hh-check input:checked+.hh-check-box svg { opacity: 1} .hh-module .hh-check input:focus-visible+.hh-check-box { outline: 2px solid var(--hh-focus-color); outline-offset: 2px} .hh-module .hh-check-count { font-size: var(--hh-font-size-label); color: var(--hh-muted)} .hh-module .hh-toolbar { display: none} @media (max-width: 991px) { .hh-module .hh-toolbar { display: flex; margin: 0 0 16px} .hh-module .hh-toolbar .hh-filters-btn { width: 100%; min-height: 44px} .hh-module .hh-sidebar { position: fixed; inset: 0; z-index: 9999; display: flex; flex-direction: column; padding: 0 20px; overflow-y: auto; background: var(--hh-surface); visibility: hidden; opacity: 0; transform: translateY(12px); transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms; scroll-padding-block: 72px 88px} .hh-module .hh-sidebar.hh-open { visibility: visible; opacity: 1; transform: none; transition: opacity 180ms ease, transform 180ms ease, visibility 0s} } @media (prefers-reduced-motion: reduce) { .hh-module .hh-sidebar, .hh-module .hh-sidebar.hh-open { transition: none} } .hh-module .hh-dialog-head, .hh-module .hh-dialog-foot { display: none} @media (max-width: 991px) { .hh-module .hh-dialog-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 8px; min-height: 60px; margin: 0 -20px; padding: 0 8px 0 20px; border-bottom: 1px solid var(--hh-border); background: var(--hh-surface)} .hh-module .hh-dialog-head h2 { flex: 1; margin: 0; font-size: var(--hh-font-size-title); font-weight: 600} .hh-module .hh-dialog-head .hh-icon-btn { width: 44px; height: 44px; border: 0} .hh-module .hh-dialog-foot { position: sticky; bottom: 0; z-index: 2; display: block; margin: auto -20px 0; padding: 12px 20px; border-top: 1px solid var(--hh-border); background: var(--hh-surface)} .hh-module .hh-dialog-foot .hh-btn { width: 100%; min-height: 48px; font-size: var(--hh-font-size-sm)} } html.hh-programs-locked { overflow: hidden} .hh-programs [data-desciption="no"] .hh-desciption, .hh-programs[data-desciption="no"] .hh-desciption { display: none} .hh-programs .hh-main { gap: 32px} @media (min-width: 992px) { .hh-programs .hh-main { grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start} .hh-programs .hh-main.hh-main-flipped { grid-template-columns: 300px minmax(0, 1fr)} } @media (min-width: 1200px) { .hh-programs .hh-main { grid-template-columns: minmax(0, 1fr) 320px} .hh-programs .hh-main.hh-main-flipped { grid-template-columns: 320px minmax(0, 1fr)} } .hh-programs .hh-empty { display: flex; flex-direction: column; align-items: center; gap: 16px; margin: 0 0 20px; padding: 48px 24px; border: 1px solid var(--hh-border); border-radius: var(--hh-radius); text-align: center; color: var(--hh-muted)} .hh-programs .hh-empty[role="alert"] { border-color: color-mix(in oklab, var(--hh-status-cancelled) 38%, white); background: color-mix(in oklab, var(--hh-status-cancelled) 9%, white); color: color-mix(in oklab, var(--hh-status-cancelled) 80%, black)} .hh-programs .hh-listing-controls button { margin: 0} .hh-programs .hh-items:not(.hh-cards) { display: grid; gap: 16px} .hh-programs .hh-item { position: relative; display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 24px; min-width: 0; padding: 20px; border: 1px solid var(--hh-border); border-radius: var(--hh-radius); background: var(--hh-surface); box-shadow: none; color: inherit} .hh-programs .hh-items .hh-item:is(:hover, :active, :has(:focus-visible)) { border-color: var(--hh-primary)} .hh-programs .hh-item:not(:has(> .hh-image)) { grid-template-columns: minmax(0, 1fr)} .hh-programs .hh-item .hh-image { width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: var(--hh-radius); background: var(--hh-tint); color: color-mix(in oklab, var(--hh-primary) 35%, white); overflow: hidden} .hh-programs .hh-item .hh-image img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover} .hh-programs .hh-item .hh-image svg { display: block; width: 100%; height: 100%} .hh-programs .hh-item .hh-details { display: flex; flex-direction: column; gap: 6px; min-width: 0} .hh-programs .hh-details > * { margin: 0; line-height: 1.5} .hh-programs .hh-item .hh-details a { position: static; width: auto; height: auto; z-index: auto} .hh-programs .hh-item .hh-details .hh-name a { padding-block: 10px; color: inherit} .hh-programs .hh-item .hh-details .hh-name a:hover { text-decoration: none} .hh-programs .hh-item .hh-details .hh-name a::after { content: ""; position: absolute; inset: 0; z-index: 5; border-radius: var(--hh-radius)} .hh-programs .hh-item .hh-details .hh-name a:focus-visible { outline: 0} .hh-programs .hh-item .hh-details .hh-name a:focus-visible::after { outline: 2px solid var(--hh-focus-color); outline-offset: 2px} .hh-programs .hh-details .hh-name { margin: 0; overflow-wrap: break-word; font-size: var(--hh-font-size-row-title); font-weight: 600; line-height: 1.25; text-wrap: balance} .hh-programs .hh-item:is(:hover, :active, :has(:focus-visible)) .hh-details .hh-name { color: var(--hh-primary-strong)} .hh-programs .hh-details .hh-abovename { order: -1; font-size: var(--hh-font-size-label); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--hh-muted)} .hh-programs .hh-details .hh-belowname { font-size: var(--hh-font-size-sm); font-weight: 600; text-transform: none; color: var(--hh-default-font-color)} .hh-programs .hh-item .hh-details .hh-desciption { display: -webkit-box; margin: 4px 0 0; overflow: hidden; font-size: var(--hh-font-size-sm); line-height: 1.6; color: var(--hh-muted); text-wrap: pretty; -webkit-line-clamp: 3; -webkit-box-orient: vertical} .hh-programs .hh-details .hh-desciption:empty { display: none} .hh-programs[data-desciption="no"] .hh-item .hh-details .hh-desciption { display: none} .hh-programs .hh-tags { display: block; margin-top: 6px; text-transform: none} .hh-programs .hh-tags ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none} .hh-programs .hh-tags li { display: inline-flex; align-items: center; min-height: 24px; padding: 1px 10px; border: 1px solid var(--hh-border); border-radius: 25px; background: var(--hh-surface); font-size: var(--hh-font-size-label); font-weight: 600; line-height: 1.5} .hh-programs .hh-item .hh-accordion-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px} .hh-programs .hh-item .hh-details .hh-accordion-actions a.hh-btn { position: relative; z-index: 6} .hh-programs .hh-item .hh-accordion-actions .hh-btn { white-space: nowrap} .hh-programs .hh-item .hh-card-head { display: flex; align-items: center; gap: 8px; min-height: 30px} .hh-programs .hh-item .hh-card-head .hh-abovename { flex: 1; min-width: 0} .hh-programs .hh-item .hh-card-head > :first-child:not(.hh-abovename) { margin-inline-start: auto} .hh-programs .hh-item.hh-featured, .hh-programs .hh-listing .hh-item.hh-featured { border-color: color-mix(in oklab, var(--hh-primary) 30%, white); background: var(--hh-tint)} .hh-programs .hh-items .hh-item.hh-featured:is(:hover, :active, :has(:focus-visible)) { border-color: var(--hh-primary)} .hh-programs .hh-item.hh-featured .hh-image { background: var(--hh-surface)} .hh-programs .hh-item .hh-star { display: none} .hh-programs .hh-item.hh-featured .hh-star { position: relative; display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--hh-primary)} .hh-programs .hh-item.hh-featured .hh-star::before, .hh-programs .hh-saved::before { content: ""; position: absolute; inset: 6px; border: 1px solid transparent; border-radius: 50%; background: color-mix(in srgb, var(--hh-surface) 75%, transparent); pointer-events: none} .hh-programs .hh-item.hh-featured .hh-star svg { position: relative; display: block; width: 18px; height: 18px; fill: currentColor} .hh-programs .hh-saved { position: relative; display: inline-flex; flex: none; align-items: center; justify-content: center; box-sizing: border-box; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--hh-primary); cursor: pointer} .hh-programs .hh-saved::before { border-color: var(--hh-border)} .hh-programs .hh-saved svg { position: relative; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round} .hh-programs .hh-saved:hover::before { border-color: var(--hh-primary); background: var(--hh-tint)} .hh-programs .hh-saved[aria-pressed="true"]::before { border-color: var(--hh-primary)} .hh-programs .hh-saved[aria-pressed="true"] svg { fill: currentColor} .hh-programs .hh-item > .hh-saved, .hh-programs .hh-item.hh-featured > .hh-star { position: absolute; top: 16px; right: 16px; z-index: 6} .hh-programs .hh-item.hh-featured:has(> .hh-saved) > .hh-star { right: 68px} .hh-programs .hh-item:is(:has(> .hh-saved), .hh-featured:has(> .hh-star)) .hh-details > .hh-name, .hh-programs .hh-item:is(:has(> .hh-saved), .hh-featured:has(> .hh-star)) .hh-details > .hh-abovename { padding-inline-end: 52px} .hh-programs .hh-item.hh-featured:has(> .hh-saved):has(> .hh-star) .hh-details > :is(.hh-name, .hh-abovename) { padding-inline-end: 112px} @container hh-listing (max-width: 720px) { .hh-programs .hh-items:not(.hh-cards, .hh-accordion-view) .hh-item { grid-template-columns: 160px minmax(0, 1fr); gap: 20px} } @container hh-listing (max-width: 520px) { .hh-programs .hh-items:not(.hh-cards, .hh-accordion-view) .hh-item { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 16px} .hh-programs .hh-items:not(.hh-cards, .hh-accordion-view) .hh-name { font-size: var(--hh-font-size-title)} .hh-programs .hh-items:not(.hh-cards, .hh-accordion-view) .hh-item > .hh-saved, .hh-programs .hh-items:not(.hh-cards, .hh-accordion-view) .hh-item.hh-featured > .hh-star { top: 12px; right: 12px} .hh-programs .hh-items:not(.hh-cards, .hh-accordion-view) .hh-item.hh-featured:has(> .hh-saved) > .hh-star { right: 64px} } .hh-programs .hh-items.hh-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 20px} .hh-programs .hh-cards .hh-item { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden} .hh-programs .hh-cards .hh-image { width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: 0} .hh-programs .hh-listing .hh-items.hh-cards .hh-item .hh-image img { aspect-ratio: auto; max-height: none} .hh-programs .hh-cards .hh-details { flex: 1; gap: 4px; padding: 12px 14px 16px} .hh-programs .hh-cards .hh-name { font-size: var(--hh-font-size-card-title); line-height: 1.25} .hh-programs .hh-cards .hh-item .hh-accordion-actions { margin-top: auto; padding-top: 10px} .hh-programs .hh-cards .hh-item > .hh-saved, .hh-programs .hh-cards .hh-item.hh-featured > .hh-star { top: 5px; right: 5px} .hh-programs .hh-cards .hh-item > .hh-saved::before, .hh-programs .hh-cards .hh-item.hh-featured > .hh-star::before { box-shadow: var(--hh-shadow)} .hh-programs .hh-cards .hh-item.hh-featured:has(> .hh-saved) > .hh-star { right: 47px} .hh-programs .hh-items.hh-cards .hh-item:has(> .hh-image) .hh-details > :is(.hh-name, .hh-abovename) { padding-inline-end: 0} .hh-programs .hh-items.hh-accordion-view { display: grid; gap: 0; border-top: 1px solid var(--hh-border)} .hh-programs .hh-items.hh-accordion-view .hh-item { display: block; padding: 0; border: 0; border-bottom: 1px solid var(--hh-border); border-radius: 0; background: none} .hh-programs .hh-items.hh-accordion-view .hh-item + .hh-item { margin-top: 0} .hh-programs .hh-items.hh-accordion-view .hh-item.hh-featured { border-color: var(--hh-border); background: none} .hh-programs .hh-items.hh-accordion-view .hh-item > .hh-accordion-title { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 8px; font-size: var(--hh-font-size-title); font-weight: 600; line-height: 1.5; color: var(--hh-default-font-color)} .hh-programs .hh-items.hh-accordion-view .hh-item > .hh-accordion-title:hover { background: var(--hh-hover-bg); color: var(--hh-primary-strong)} .hh-programs .hh-items.hh-accordion-view .hh-item > .hh-accordion-title .hh-name { flex: 1; min-width: 0; font-size: inherit} .hh-programs .hh-items.hh-accordion-view .hh-item > .hh-accordion-title::after { flex: none; margin-inline: 4px 6px} .hh-programs .hh-items.hh-accordion-view .hh-item.hh-featured .hh-star { width: 26px; height: 26px} .hh-programs .hh-items.hh-accordion-view .hh-item.hh-featured .hh-star::before { inset: 0; background: var(--hh-tint)} .hh-programs .hh-items.hh-accordion-view .hh-item.hh-featured .hh-star svg { width: 16px; height: 16px} .hh-programs .hh-items.hh-accordion-view .hh-accordion-body { display: grid; grid-template-columns: 200px minmax(0, 1fr); align-items: start; gap: 20px; padding: 4px 8px 20px} .hh-programs .hh-items.hh-accordion-view .hh-accordion-body:not(:has(> .hh-image)) { grid-template-columns: minmax(0, 1fr)} .hh-programs .hh-items.hh-accordion-view .hh-accordion-body .hh-desciption { display: block; -webkit-line-clamp: unset} @container hh-listing (max-width: 520px) { .hh-programs .hh-items.hh-accordion-view .hh-accordion-body { grid-template-columns: minmax(0, 1fr)} } .hh-programs .hh-skeleton-title { width: 45%; height: 1.15rem} .hh-programs .hh-skeleton-short { width: 30%; height: .7rem} @media (prefers-reduced-motion: no-preference) { .hh-programs .hh-skeleton-line { animation: hh-programs-pulse 1.4s ease-in-out infinite} } @keyframes hh-programs-pulse { 50% { opacity: .45} } .hh-programs .hh-sidebar-item.hh-sidebar-resetbutton .hh-btn { width: 100%} .hh-programs .hh-search { display: block; width: 100%; min-height: 44px; padding: 0 10px 0 34px; border: 1px solid var(--hh-input-border); border-radius: var(--hh-radius); background: var(--hh-surface); font-size: var(--hh-font-size-sm); color: var(--hh-default-font-color)} .hh-programs .hh-checkbox-filters label.hh-check { padding-block: 0} .hh-programs #hh-sidebar-item-saved .hh-check-label { font-weight: 600} @media (max-width: 991px) { .hh-programs .hh-main:has(> .hh-listing) { display: block} .hh-programs .hh-dialog-head + .hh-sidebar-filters { margin-top: 24px} .hh-programs .hh-sidebar-filters:has(+ .hh-dialog-foot) { padding-bottom: 24px} } .hh-programs.hh-related > h2 { margin: 0 0 16px} .hh-programs.hh-related .hh-items.hh-cards { grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr))} .hh-save-warning { position: fixed; right: 20px; bottom: 20px; z-index: 10000; max-width: 320px; padding: 12px 16px; border-radius: var(--hh-radius); background: var(--hh-default-font-color); box-shadow: var(--hh-shadow); font-family: var(--hh-font-family); font-size: 1rem; line-height: 1.5; color: var(--hh-default-bg-color); transition: opacity .3s} .hh-save-warning.hh-save-warning-out { opacity: 0} @media (prefers-reduced-motion: reduce) { .hh-save-warning { transition: none} }  .hh-program.hh-banner { margin-bottom: 40px} .hh-program .hh-header { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "image" "details"; margin: 0; border-radius: var(--hh-radius); background: var(--hh-hover-bg); overflow: hidden} @media (min-width: 768px) { .hh-program .hh-header:has(> .hh-image) { grid-template-columns: minmax(0, 3fr) minmax(240px, 2fr); grid-template-areas: "details image"} } @media (min-width: 1200px) { .hh-program .hh-header:has(> .hh-image) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)} } .hh-program .hh-header .hh-details { grid-area: details; display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: clamp(24px, 4vw, 40px)} .hh-program .hh-header:has(~.hh-quick-facts) .hh-details { margin-bottom: 40px} .hh-program .hh-header .hh-details>* { margin: 0} .hh-program .hh-header .hh-details h1 { font-size: var(--hh-font-size-detail-title); font-weight: 300; line-height: 1.15; text-wrap: balance} .hh-program .hh-header .hh-details .hh-abovename { order: -1; font-size: var(--hh-font-size-label); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--hh-muted)} .hh-program .hh-header .hh-details .hh-belowname { font-size: var(--hh-font-size-sm); font-weight: 600; text-transform: none} .hh-program .hh-header .hh-details .hh-desciption { font-size: 1.0625rem; line-height: 1.6; color: var(--hh-muted); text-wrap: pretty; padding: 10px 0} .hh-program .hh-header .hh-tags { margin: 0} .hh-program .hh-header .hh-tags ul { align-items: center} .hh-program .hh-header .hh-tags li:first-child { min-height: 0; margin-inline-end: 4px; padding: 0; border: 0; background: none; letter-spacing: .07em; text-transform: uppercase; color: var(--hh-muted)} .hh-program .hh-header .hh-details:has(> .hh-saved) { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; column-gap: 16px} .hh-program .hh-header .hh-details:has(> .hh-saved)>* { grid-column: 1 / -1} .hh-program .hh-header .hh-details:has(> .hh-saved)>h1 { grid-column: 1} .hh-program .hh-header .hh-details:has(> .hh-saved)>.hh-saved { grid-column: 2; align-self: start} .hh-program .hh-header .hh-image { grid-area: image; min-height: 220px; aspect-ratio: 16 / 9; border-radius: 0; background: var(--hh-tint); overflow: hidden} @media (min-width: 768px) { .hh-program .hh-header .hh-image { aspect-ratio: auto; min-height: 280px} } .hh-program .hh-header .hh-image img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover} .hh-program .hh-quick-facts { --hh-qf-cols: 1; position: relative; z-index: 1; display: flex; flex-wrap: wrap; margin: -40px clamp(12px, 3vw, 32px) 0; padding: 0; border: 0; border-radius: var(--hh-radius); background: var(--hh-primary); box-shadow: var(--hh-shadow); color: var(--hh-primarybutton-text-color); overflow: hidden} .hh-program .hh-quick-fact { flex: 1 1 calc(100% / var(--hh-qf-cols)); min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; margin: 0; padding: 14px 12px; border: 0; box-shadow: -1px 0 0 rgba(255, 255, 255, .35), 0 -1px 0 rgba(255, 255, 255, .35); text-align: center} @media (min-width: 360px) { .hh-program .hh-quick-facts { --hh-qf-cols: 2} } @media (min-width: 540px) { .hh-program .hh-quick-facts:has(> .hh-quick-fact:nth-child(3):last-child) { --hh-qf-cols: 3} } @media (min-width: 768px) { .hh-program .hh-quick-facts { --hh-qf-cols: 4} .hh-program .hh-quick-facts:has(> .hh-quick-fact:nth-child(5)):not(:has(> .hh-quick-fact:nth-child(7))) { --hh-qf-cols: 3} .hh-program .hh-quick-facts:has(> .hh-quick-fact:nth-child(9)) { --hh-qf-cols: 5} .hh-program .hh-quick-fact { padding: 18px 16px} } @media (min-width: 1200px) { .hh-program .hh-quick-facts:has(> .hh-quick-fact:nth-child(5):last-child) { --hh-qf-cols: 5} } .hh-program .hh-quick-fact-label { font-size: var(--hh-font-size-sm); font-weight: 700; letter-spacing: .04em; line-height: 1.4; text-transform: uppercase; text-wrap: balance; color: inherit} .hh-program .hh-quick-fact-text { font-size: var(--hh-font-size-title); line-height: 1.4; text-wrap: balance} .hh-container.hh-program { margin-top: 0} .hh-program .hh-content { grid-area: main; min-width: 0} .hh-program .hh-section { display: block; margin: 0; padding: 0; border: 0} .hh-program .hh-section+.hh-section { margin-top: 75px} .hh-program .hh-section>*:first-child { margin-top: 0} .hh-program .hh-section>*:last-child { margin-bottom: 0} .hh-program .hh-wysiwyg>*:first-child { margin-top: 0} .hh-program .hh-wysiwyg>*:last-child { margin-bottom: 0} .hh-program .hh-section :is(p, ul, ol) { line-height: 1.65} .hh-program .hh-section h2, .hh-programs.hh-related>h2 { margin: 0 0 12px; font-size: var(--hh-h2-size); font-weight: 600; line-height: 1.25; text-wrap: balance} .hh-program .hh-section:not(.hh-columns)>.hh-wysiwyg:not(:only-child) { margin-bottom: 24px} .hh-program .hh-tagline { display: block; margin: 0 0 6px; padding: 0; font-size: var(--hh-font-size-label); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--hh-muted)} .hh-program .hh-tagline+h2 { margin-top: 0} .hh-program .hh-stats .hh-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 16px} .hh-program .hh-stats .hh-stat-item { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 28px 20px; border: 0; border-radius: var(--hh-radius); background: var(--hh-hover-bg); text-align: center} .hh-program .hh-stats .hh-stat-value { margin: 0; font-size: clamp(2.125rem, 1.7rem + 1.3vw, 2.875rem); font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.5; color: var(--hh-primary-strong)} .hh-program .hh-stats .hh-stat-label { font-size: var(--hh-font-size-label); font-weight: 700; line-height: 1.5; text-transform: uppercase; letter-spacing: .07em; color: var(--hh-muted)} .hh-program .hh-table-wrap { margin: 16px 0 0; overflow-x: auto; border: 1px solid var(--hh-border); border-radius: var(--hh-radius)} .hh-program .hh-curriculum-table { width: 100%; margin: 0; border-collapse: collapse; background: var(--hh-surface); font-size: var(--hh-font-size-sm)} .hh-program .hh-curriculum-table th { padding: 11px 14px; border: 0; background: var(--hh-primary); font-size: var(--hh-font-size-label); font-weight: 700; letter-spacing: .07em; text-align: start; text-transform: uppercase; white-space: nowrap; color: var(--hh-primarybutton-text-color)} .hh-program .hh-curriculum-table td { padding: 11px 14px; border: 0; border-top: 1px solid var(--hh-border); line-height: 1.5; vertical-align: top} .hh-program .hh-curriculum-table td+td, .hh-program .hh-curriculum-table th+th { border-left: 1px solid var(--hh-border)} .hh-program .hh-curriculum-table th+th { border-left-color: rgba(255, 255, 255, .25)} .hh-program .hh-curriculum-table td:first-child { font-weight: 600; white-space: nowrap} .hh-program .hh-curriculum-table td a { padding-block: 11px} .hh-program .hh-curriculum-table td:last-child, .hh-program .hh-curriculum-table th:last-child { text-align: end} .hh-program .hh-curriculum-table tbody tr:nth-child(even) { background: var(--hh-hover-bg)} .hh-program .hh-curriculum-table tbody tr:hover { background: var(--hh-tint)} .hh-program .hh-accordions>.hh-accordion-item:first-of-type { border-top: 1px solid var(--hh-border)} .hh-program .hh-accordions .hh-accordion-item { margin: 0; border-bottom: 1px solid var(--hh-border); background: none; box-shadow: none} .hh-program .hh-accordions .hh-accordion-item+.hh-accordion-item { margin-top: 0} .hh-program .hh-accordions .hh-accordion>.hh-accordion-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 12px 8px; font-size: var(--hh-font-size-title); font-weight: 600; line-height: 1.5; color: var(--hh-default-font-color)} .hh-program .hh-accordions .hh-accordion>.hh-accordion-title:hover { background: var(--hh-hover-bg); color: var(--hh-primary-strong)} .hh-program .hh-accordions .hh-accordion-title span { font-size: inherit; font-weight: inherit; color: inherit} .hh-program .hh-accordions .hh-accordion-title::after { flex: none; margin-inline: 4px 6px} .hh-program .hh-accordions .hh-accordion-body { display: block; padding: 4px 8px 20px} .hh-program .hh-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 24px 40px} .hh-program .hh-columns-image { align-items: center} .hh-program .hh-columns .hh-wysiwyg>img { display: block; width: 100%; height: auto; border-radius: var(--hh-radius); object-fit: cover} .hh-program .hh-cta { padding: 0; border: 0; border-radius: var(--hh-radius); background: var(--hh-hover-bg)} .hh-program .hh-cta .hh-cta-content { max-width: 720px; margin: 0 auto; padding: 40px 24px; text-align: center} .hh-program .hh-cta .hh-cta-content h2 { font-weight: 600; font-size: var(--hh-font-size-page-title); color: var(--hh-primary-strong)} .hh-program .hh-cta .hh-cta-content p { margin: 0 0 20px; font-size: 1.0625rem; color: var(--hh-muted)} .hh-program .hh-cta .hh-cta-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px} .hh-program .hh-cta .hh-cta-buttons .hh-btn { min-width: 180px} .hh-programs .hh-btn.hh-btn-dark, .hh-programs .hh-btn.hh-btn-dark:hover, .hh-programs .hh-btn.hh-btn-dark:focus { border-color: var(--hh-secondary); background: var(--hh-secondary); color: var(--hh-secondarybutton-text-color)} .hh-programs .hh-btn.hh-btn-dark:hover, .hh-programs .hh-btn.hh-btn-dark:focus { background: color-mix(in oklab, var(--hh-secondary) 78%, black)} @media (max-width: 991px) { .hh-program .hh-sidebar { position: static; z-index: auto; display: block; padding: 0; overflow: visible; visibility: visible; opacity: 1; transform: none; transition: none} } .hh-program .hh-main>.hh-sidebar { min-width: 0} .hh-program .hh-sidebar-item.hh-program-details { display: grid; gap: 0; padding: 4px 16px; border: 0; border-radius: var(--hh-radius); background: var(--hh-hover-bg)} .hh-program .hh-sidebar-item.hh-program-details:empty { display: none} .hh-program .hh-sidebar-details { display: flex; flex-direction: column; gap: 2px; padding: 12px 0} .hh-program .hh-sidebar-details+.hh-sidebar-details { border-top: 1px solid var(--hh-border)} .hh-program .hh-sidebar-details-label { font-size: var(--hh-font-size-label); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--hh-muted)} .hh-program .hh-sidebar-details-text { font-size: var(--hh-font-size-sm); font-weight: 600; line-height: 1.5} .hh-program .hh-sidebar-item.hh-sidebar-cta { display: grid; gap: 8px} .hh-program .hh-sidebar-item.hh-sidebar-cta .hh-btn { width: 100%} .hh-program .hh-sidebar-anchors { margin: 0; padding: 0; list-style: none; border-inline-start: 2px solid var(--hh-border)} .hh-program .hh-sidebar-anchors li+li { margin-top: 0} .hh-program .hh-sidebar-anchors a { display: flex; align-items: center; min-height: 44px; margin-inline-start: -2px; padding: 6px 12px; border-inline-start: 2px solid transparent; font-size: var(--hh-font-size-sm); font-weight: 500; color: var(--hh-primary-strong); text-decoration: none} .hh-program .hh-sidebar-anchors a:hover { border-inline-start-color: var(--hh-primary); background: var(--hh-tint); color: var(--hh-primary-strong); text-decoration: none} .hh-program .hh-sidebar-contact { display: flex; flex-direction: column; gap: 8px; margin: 0} .hh-program .hh-sidebar-contact-name { font-size: var(--hh-font-size-title); font-weight: 600; line-height: 1.5} .hh-program .hh-sidebar-contact-title { margin-top: -6px; font-size: var(--hh-font-size-sm); color: var(--hh-muted)} .hh-program .hh-sidebar-contact-detail { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: var(--hh-font-size-sm); overflow-wrap: anywhere} .hh-program .hh-sidebar-contact-detail a { display: inline-flex; align-items: center; min-height: 44px} .hh-program .hh-fact-ico { display: flex; align-items: center; justify-content: center; flex: none; width: 36px; height: 36px; border: 1px solid var(--hh-border); border-radius: 50%; color: var(--hh-primary)} .hh-program .hh-fact-ico svg { width: 17px; height: 17px} @media (max-width: 991px) { .hh-program .hh-sidebar-anchors a { min-height: 44px} } .hh-programs .hh-main:not(:has(> .hh-sidebar)) { grid-template-columns: minmax(0, 1fr)} .hh-programs .align-left, .hh-programs .align-right { max-width: 100%; height: auto; margin: 1.5em 0; border-radius: var(--hh-radius)} @media (min-width: 600px) { .hh-programs .align-left, .hh-programs .align-right { max-width: 40%} .hh-programs .align-right { float: right; margin: .25em 0 1.5em 1.5em} .hh-programs .align-left { float: left; margin: .25em 1.5em 1.5em 0} } .hh-program .hh-section.hh-wysiwyg::after { content: ""; display: block; clear: both} .hh-programs .hh-wysiwyg p:has(> :is(.hh-btn-primary, .hh-btn-secondary, .hh-btn-primary-inverted)) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px} .hh-programs .hh-wysiwyg :is(.hh-btn-primary, .hh-btn-secondary, .hh-btn-primary-inverted) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 18px; border: 1px solid var(--hh-primary); border-radius: var(--hh-radius); font-size: var(--hh-font-size-sm); font-weight: 600; line-height: 1.5; text-transform: none; text-decoration: none} .hh-programs .hh-wysiwyg .hh-btn-primary { background: var(--hh-primary); color: var(--hh-primarybutton-text-color) !important} .hh-programs .hh-wysiwyg .hh-btn-secondary { border-color: var(--hh-secondary); background: var(--hh-secondary); color: var(--hh-secondarybutton-text-color) !important} .hh-programs .hh-wysiwyg .hh-btn-primary-inverted { background: var(--hh-surface); color: var(--hh-primary-strong) !important} .hh-programs .hh-wysiwyg .hh-btn-primary:hover { background: color-mix(in oklab, var(--hh-primary) 78%, black); color: var(--hh-primarybutton-text-color) !important} .hh-programs .hh-wysiwyg .hh-btn-secondary:hover { background: color-mix(in oklab, var(--hh-secondary) 78%, black); color: var(--hh-secondarybutton-text-color) !important} .hh-programs .hh-wysiwyg .hh-btn-primary-inverted:hover { background: var(--hh-tint); color: var(--hh-primary-strong) !important} .hh-program .hh-btn:not(.hh-btn-accent) { border-color: var(--hh-primary); color: var(--hh-primary-strong)} .hh-program .hh-btn:not(.hh-btn-accent):hover { background: var(--hh-tint)} @media (prefers-reduced-motion: no-preference) { .hh-programs details.hh-accordion { interpolate-size: allow-keywords} .hh-programs details.hh-accordion::details-content { opacity: 0; block-size: 0; overflow-y: clip; transition: content-visibility .2s allow-discrete, opacity .2s, block-size .2s} .hh-programs details[open].hh-accordion::details-content { opacity: 1; block-size: auto} } .hh-programs-block { --hh-focus-ring: 2px solid var(--hh-focus-color); --hh-pill-radius: 999px; --hh-numeric-font: Avenir, Montserrat, system-ui, "Segoe UI", sans-serif; background: var(--hh-accent); margin-bottom: 20px; padding: 1.5rem} @media (min-width: 768px) { .hh-programs-block { padding: 2.5rem} } .hh-programs-block .hh-intro { text-align: center; padding-bottom: 20px} .hh-programs-block .hh-intro .hh-filters-title { color: var(--hh-secondary); font-size: var(--hh-h2-size); margin-top: 0; margin-bottom: 20px} .hh-programs-block .hh-intro .hh-wysiwyg { max-width: 60rem; margin: auto; margin-bottom: 0} .hh-programs-block .hh-intro .hh-wysiwyg > :first-child { margin-top: 0} .hh-programs-block .hh-intro .hh-wysiwyg > :last-child { margin-bottom: 0} .hh-programs-block .hh-block-filters { gap: var(--hh-grid-gap); margin-bottom: 20px; --hh-filter-count: 2; --hh-filters-fit: calc(var(--hh-filter-count) * var(--hh-filter-min) + (var(--hh-filter-count) - 1) * var(--hh-grid-gap))} .hh-programs-block .hh-block-filters:has(> .hh-filter:nth-child(3 of .hh-filter)) { --hh-filter-count: 3} .hh-programs-block .hh-block-filters:has(> .hh-filter:nth-child(4 of .hh-filter)) { --hh-filter-count: 4; --hh-filter-min: 15rem} .hh-programs-block .hh-block-filters:has(> .hh-filter:nth-last-child(1 of .hh-filter):nth-child(odd of .hh-filter)) > .hh-filter:has(.hh-search) { flex-basis: max(var(--hh-filter-min), (var(--hh-filters-fit) - 100%) * 999)} .hh-programs-block .hh-block-filters .hh-select, .hh-programs-block .hh-block-filters .hh-select option:first-child, .hh-programs-block .hh-block-filters .hh-text-input { font-weight: 600} .hh-programs-block .hh-block-filters .hh-select option:not(:first-child) { font-weight: 400} .hh-programs-block .hh-block-filters .hh-select option:checked { font-weight: 600} .hh-programs-block .hh-block-filters .hh-text-input::placeholder { color: var(--hh-default-font-color); opacity: 1} .hh-programs-block .hh-block-filters .hh-select, .hh-programs-block .hh-block-filters .hh-text-input { padding-top: var(--hh-grid-gap); padding-bottom: var(--hh-grid-gap)} .hh-programs-block .hh-filter { --hh-filter-pair: calc(50% - var(--hh-grid-gap) / 2); flex: 1 1 max(var(--hh-filter-min), min(var(--hh-filter-pair), (var(--hh-filters-fit) - 100%) * 999)); min-width: min(100%, var(--hh-filter-min)); font-size: var(--hh-font-size)} .hh-programs-block .hh-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: var(--hh-grid-gap); text-align: center} .hh-programs-block .hh-buttons:not(:has(*)) { display: none} .hh-programs-block .hh-buttons .hh-btn { margin: 0; min-height: 2.8125rem} .hh-programs-block .hh-search-wrap { position: relative} .hh-autocomplete-list { position: absolute; top: calc(100% + 0.25rem); left: 0; right: 0; z-index: 100; margin: 0; padding: 0.25rem 0; list-style: none; background: var(--hh-default-bg-color); border: 1px solid var(--hh-border); border-radius: var(--hh-radius); box-shadow: var(--hh-shadow); max-height: 20rem; overflow-y: auto} .hh-autocomplete-item { margin: 0; padding: 0} .hh-autocomplete-option { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.65rem 1rem; min-height: 2.8125rem; box-sizing: border-box; text-decoration: none; color: var(--hh-default-font-color); border-bottom: 1px solid var(--hh-border)} .hh-autocomplete-item:last-child .hh-autocomplete-option { border-bottom: 0} .hh-autocomplete-option:hover, .hh-autocomplete-option:focus-visible, .hh-autocomplete-option.is-active { background: var(--hh-hover-bg); color: var(--hh-secondary)} .hh-autocomplete-option:focus-visible, .hh-autocomplete-option.is-active { outline: 2px solid var(--hh-focus-color); outline-offset: -2px} .hh-autocomplete-title { font-weight: 700; color: var(--hh-secondary)} .hh-autocomplete-meta { font-size: var(--hh-font-size-label); color: var(--hh-muted)} .hh-autocomplete-empty { padding: 0.75rem 1rem; color: var(--hh-muted); font-style: italic} .hh-listing .hh-items.hh-cards.hh-slider { --slider-card-width: var(--card-width); grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(var(--slider-card-width), 85%); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 4px; padding: 4px 4px var(--hh-grid-gap); scrollbar-width: thin} .hh-listing .hh-items.hh-cards.hh-slider > .hh-item { scroll-snap-align: start} @media (hover: hover) and (pointer: fine) { .hh-listing .hh-items.hh-cards.hh-slider { cursor: grab} } .hh-listing .hh-items.hh-cards.hh-slider.hh-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none} .hh-listing .hh-items.hh-cards.hh-slider.hh-dragging * { pointer-events: none} .hh-listing .hh-items.hh-cards.hh-slider:focus-visible { outline: 2px solid var(--hh-primary); outline-offset: 2px} .hh-slider-controls { display: flex; justify-content: flex-end; gap: calc(var(--hh-grid-gap) * 0.5); margin-top: calc(var(--hh-grid-gap) * 0.25)} .hh-slider-controls[hidden] { display: none} .hh-slider-btn { --size: 45px; display: grid; place-items: center; inline-size: var(--size); block-size: var(--size); padding: 0; cursor: pointer; border: solid 2px var(--hh-primary); border-radius: 50%; background-color: var(--hh-primarybutton-text-color); color: var(--hh-primary); transition: background-color 0.15s ease, color 0.15s ease} .hh-slider-btn svg { inline-size: 1em; block-size: 1em} .hh-slider-btn:hover, .hh-slider-btn:focus-visible { background-color: var(--hh-primary); color: var(--hh-primarybutton-text-color)} .hh-slider-btn:disabled, .hh-slider-btn:disabled:hover { cursor: not-allowed; border-color: var(--hh-accent-dark); background-color: var(--hh-accent); color: var(--hh-accent-dark)} .hh-programs-block.filterbar .hh-block-filters { margin-bottom: 0} .hh-programs-block.search { overflow: visible} .hh-programs-block.search .hh-block-filters { --hh-filter-count: 1; --hh-filter-min: 0; width: 100%; max-width: 46rem; margin-left: auto; margin-right: auto} .hh-programs-block.search .hh-filter { flex: 1 1 100%; width: 100%; min-width: 0} .hh-programs-block.splitsearch { display: grid; grid-template-columns: minmax(0, 1fr); padding: 0; overflow: visible} .hh-programs-block.splitsearch .hh-listing { grid-area: auto; min-width: 0; padding: 1.5rem; display: flex; flex-direction: column; justify-content: center} @media (min-width: 768px) { .hh-programs-block.splitsearch .hh-listing { padding: 2.5rem} } .hh-programs-block.splitsearch .hh-intro { text-align: left} .hh-programs-block.splitsearch .hh-intro .hh-wysiwyg { margin-left: 0; margin-right: 0} .hh-programs-block.splitsearch .hh-block-filters { --hh-filter-count: 1; --hh-filter-min: 0; margin-bottom: 0} .hh-programs-block.splitsearch .hh-filter { flex: 1 1 100%; min-width: 0} .hh-programs-block.splitsearch .hh-buttons { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: var(--hh-grid-gap); text-align: left} .hh-programs-block.splitsearch .hh-buttons .hh-btn { margin: 0} .hh-programs-block.splitsearch .hh-image { min-width: 0; width: 100%; aspect-ratio: 16 / 10} .hh-programs-block.splitsearch .hh-image img { width: 100%; height: 100%; object-fit: cover; display: block} @media (min-width: 1024px) { .hh-programs-block.splitsearch { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)} .hh-programs-block.splitsearch .hh-listing { padding: 3.5rem} .hh-programs-block.splitsearch .hh-image { aspect-ratio: auto; min-height: 17.5rem} } .hh-programs-block.tabbedsearch { overflow: visible} .hh-programs-block.tabbedsearch .hh-filter-tabs { --hh-tab-rail: color-mix(in oklab, var(--hh-input-border) 35%, var(--hh-border)); display: flex; flex-wrap: nowrap; align-items: stretch; gap: 0.25rem; width: 100%; max-width: 46rem; margin: 0 auto var(--hh-grid-gap); padding: 0.25rem 0 0; overflow-x: auto; scrollbar-width: none; background: linear-gradient(to top, var(--hh-tab-rail) 2px, transparent 2px)} .hh-programs-block.tabbedsearch .hh-filter-tabs::-webkit-scrollbar { display: none} .hh-programs-block.tabbedsearch .hh-tab-btn { position: relative; flex-shrink: 0; appearance: none; background: transparent; color: var(--hh-muted); border: 0; border-radius: var(--hh-radius) var(--hh-radius) 0 0; padding: 0.7rem 1.25rem 0.85rem; min-height: 2.8125rem; font-family: inherit; font-size: var(--hh-font-size); font-weight: 600; white-space: nowrap; cursor: pointer} .hh-programs-block.tabbedsearch .hh-tab-btn:first-child { margin-inline-start: auto} .hh-programs-block.tabbedsearch .hh-tab-btn:last-child { margin-inline-end: auto} .hh-programs-block.tabbedsearch .hh-tab-btn::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 3px; border-radius: var(--hh-radius) var(--hh-radius) 0 0; background: var(--hh-primary); opacity: 0; transform: scaleX(0.5); transition: transform 0.2s ease, opacity 0.2s ease} .hh-programs-block.tabbedsearch .hh-tab-btn:hover:not(.is-active) { color: var(--hh-secondary)} .hh-programs-block.tabbedsearch .hh-tab-btn:hover:not(.is-active)::after { background: color-mix(in oklab, var(--hh-secondary) 45%, var(--hh-border)); opacity: 1; transform: scaleX(1)} .hh-programs-block.tabbedsearch .hh-tab-btn:focus-visible { outline: var(--hh-focus-ring); outline-offset: -2px} .hh-programs-block.tabbedsearch .hh-tab-btn.is-active { color: var(--hh-secondary)} .hh-programs-block.tabbedsearch .hh-tab-btn.is-active::after { opacity: 1; transform: scaleX(1)} @media (prefers-reduced-motion: reduce) { .hh-programs-block.tabbedsearch .hh-tab-btn::after { transition: none} } .hh-programs-block.tabbedsearch .hh-block-filters { --hh-filter-count: 1; --hh-filter-min: 0; width: 100%; max-width: 46rem; margin-left: auto; margin-right: auto} .hh-programs-block.tabbedsearch .hh-filter { flex: 1 1 100%; width: 100%; min-width: 0} .hh-programs-block.pathways .hh-pathways { --hh-card-cols: 1; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--hh-grid-gap)} .hh-programs-block.pathways .hh-pathway { display: flex; flex-direction: column; flex: 0 0 calc((100% - (var(--hh-card-cols) - 1) * var(--hh-grid-gap)) / var(--hh-card-cols) - 0.05px); max-width: calc((100% - (var(--hh-card-cols) - 1) * var(--hh-grid-gap)) / var(--hh-card-cols) - 0.05px); min-width: 0; background: var(--hh-default-bg-color); border: 1px solid var(--hh-border); border-radius: var(--hh-radius); box-shadow: var(--hh-shadow); overflow: hidden} .hh-programs-block.pathways .hh-pathway-media { position: relative; aspect-ratio: 16 / 10; background: var(--hh-hover-bg); overflow: hidden} .hh-programs-block.pathways .hh-pathway-media img { width: 100%; height: 100%; object-fit: cover; display: block} .hh-programs-block.pathways .hh-pathway-count { position: absolute; top: 0.75rem; right: 0.75rem; background: var(--hh-secondary); color: var(--hh-default-bg-color); font-family: var(--hh-numeric-font); font-size: var(--hh-font-size-label); font-weight: 700; font-variant-numeric: lining-nums tabular-nums; line-height: 1.2; padding: 0.3rem 0.75rem; border-radius: var(--hh-pill-radius)} .hh-programs-block.pathways .hh-pathway-body { display: flex; flex-direction: column; flex: 1; padding: clamp(1.125rem, 1.5vw, 1.5rem); gap: 0.75rem} .hh-programs-block.pathways .hh-pathway-title { margin: 0; font-size: var(--hh-h3-size); color: var(--hh-secondary); text-wrap: balance} .hh-programs-block.pathways .hh-pathway-desc { margin: 0; color: var(--hh-default-font-color); flex: 1} .hh-programs-block.pathways .hh-pathway-link { align-self: flex-start; max-width: 100%; margin-top: 0.5rem} @media (min-width: 640px) { .hh-programs-block.pathways .hh-pathways { --hh-card-cols: 2} } @media (min-width: 1024px) { .hh-programs-block.pathways .hh-pathways:has(> .hh-pathway:nth-child(3)) { --hh-card-cols: 3} .hh-programs-block.pathways .hh-pathways:has(> .hh-pathway:nth-child(4)) { --hh-card-cols: 4} .hh-programs-block.pathways .hh-pathways:has(> .hh-pathway:nth-child(5)):not(:has(> .hh-pathway:nth-child(7))), .hh-programs-block.pathways .hh-pathways:has(> .hh-pathway:nth-child(9)):not(:has(> .hh-pathway:nth-child(10))) { --hh-card-cols: 3} } .hh-programs-block.filterlinks .hh-block-filters { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; width: 100%; gap: 1.5rem; margin-bottom: 0; --hh-filter-min: 0} .hh-programs-block.filterlinks .hh-filter { width: 100%; min-width: 0} .hh-programs-block.filterlinks .hh-filter-links-heading { margin: 0 0 0.75rem; font-size: var(--hh-h3-size); color: var(--hh-secondary)} .hh-programs-block.filterlinks .hh-filter-links-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; list-style: none; margin: 0; padding: 0} .hh-programs-block.filterlinks .hh-filter-links-item { display: flex; margin: 0; padding: 0} .hh-programs-block.filterlinks .hh-filter-pill { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; width: 100%; height: 100%; min-height: 3rem; padding: 0.65rem 0.85rem; box-sizing: border-box; background: var(--hh-default-bg-color); color: var(--hh-secondary); border: 1px solid var(--hh-border); border-radius: var(--hh-radius); text-decoration: none; font-size: 0.9375rem; font-weight: 600; line-height: 1.25; box-shadow: var(--hh-shadow); transition: transform 0.2s ease, opacity 0.2s ease} .hh-programs-block.filterlinks .hh-filter-pill:hover { background: var(--hh-hover-bg); border-color: var(--hh-secondary); transform: translateY(-2px)} .hh-programs-block.filterlinks .hh-filter-pill:focus-visible { outline: var(--hh-focus-ring); outline-offset: 2px} .hh-programs-block.filterlinks .hh-filter-pill-badge { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 2rem; padding: 0.2rem 0.6rem; border-radius: var(--hh-pill-radius); background: var(--hh-accent); color: var(--hh-secondary); font-family: var(--hh-numeric-font); font-size: var(--hh-font-size-label); font-weight: 700; font-variant-numeric: lining-nums tabular-nums; line-height: 1.2} @media (min-width: 640px) { .hh-programs-block.filterlinks .hh-filter-links-list { grid-template-columns: repeat(2, minmax(0, 1fr))} } @media (min-width: 1024px) { .hh-programs-block.filterlinks .hh-block-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem} .hh-programs-block.filterlinks .hh-block-filters:has(> .hh-filter:only-child) { grid-template-columns: minmax(0, 1fr)} } .hh-programs-block.searchstats { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; overflow: visible} .hh-programs-block.searchstats .hh-listing { grid-area: auto; min-width: 0; display: flex; flex-direction: column; justify-content: center} .hh-programs-block.searchstats .hh-intro { text-align: left} .hh-programs-block.searchstats .hh-intro .hh-wysiwyg { margin-left: 0; margin-right: 0} .hh-programs-block.searchstats .hh-block-filters { --hh-filter-count: 1; --hh-filter-min: 0; margin-bottom: 0} .hh-programs-block.searchstats .hh-filter { flex: 1 1 100%; min-width: 0} .hh-programs-block.searchstats .hh-buttons { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: var(--hh-grid-gap); text-align: left} .hh-programs-block.searchstats .hh-buttons .hh-btn { margin: 0} .hh-programs-block.searchstats .hh-stats-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--hh-grid-gap); align-content: center} .hh-programs-block.searchstats .hh-stat-card, .hh-programs-block.searchstats .hh-stat-item { display: flex; flex-direction: column; justify-content: center; gap: 0.35rem; padding: 1.5rem; background: var(--hh-default-bg-color); border: 1px solid var(--hh-border); border-left: 4px solid var(--hh-primary); border-radius: var(--hh-radius); box-shadow: var(--hh-shadow)} .hh-programs-block.searchstats .hh-stat-number, .hh-programs-block.searchstats .hh-stat-value { font-family: var(--hh-numeric-font); font-size: var(--hh-h2-size); font-weight: 800; font-variant-numeric: lining-nums tabular-nums; line-height: 1.1; color: var(--hh-secondary)} .hh-programs-block.searchstats .hh-stat-label { font-size: var(--hh-font-size); font-weight: 600; color: var(--hh-default-font-color)} .hh-programs-block.searchstats .hh-stat-link { display: inline-flex; align-items: center; align-self: flex-start; min-height: 2.8125rem; margin-top: 0.25rem; color: var(--hh-secondary); font-size: var(--hh-font-size-label); font-weight: 700; text-decoration: underline} .hh-programs-block.searchstats .hh-stat-link:hover { color: var(--hh-default-font-color)} .hh-programs-block.searchstats .hh-stat-link:focus-visible { outline: var(--hh-focus-ring); outline-offset: 2px} @media (min-width: 768px) { .hh-programs-block.searchstats .hh-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr))} .hh-programs-block.searchstats .hh-stats-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr))} } @media (min-width: 1024px) { .hh-programs-block.searchstats { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center} .hh-programs-block.searchstats .hh-stats-grid:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr)} .hh-programs-block.searchstats .hh-stats-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr))} .hh-programs-block.searchstats .hh-stats-grid:has(> :nth-child(3):last-child) > :last-child { grid-column: 1 / -1} }  
