:root {
  --page-base: #fff;
  --pane-base: #fff;
  --contrast-base: #232327;
  --contrast-base-marks: #3d3d44;
  --contrast-text: #9b9bb2;
  --contrast-link: #c2c2c2;
  --contrast-link-under: #5d5d5d;
  --contrast-link-hover: #dfdfdf;
  --contrast-link-hover-under: #b0b0b0;

  --subtle-text: #9b9bb2;

  --blue-grad-end: #234a93;
  --blue-grad-start: #2b5ea1;


  --nav-glyph: #ccddef;
  --nav-glyph-hover: #ffffff;
  --nav-glyph-subtle: #8899aa;
  --nav-glyph-brand: #ffffff;
  --nav-primary-grad-start: #226e7c;
  --nav-primary-grad-end: #1c3c77;
  --nav-secondary-grad-start: #2b8ea1;
  --nav-secondary-grad-end: #234a93;
  --nav-light-grad-start: #59a6c0;
  --nav-light-grad-end: #4183ca;
  --nav-search: white;
  --nav-search-contrast: #206876;
  --nav-search-text: #1c3c77;
  --nav-search-contrast-glyph: white;

  --positive: rgb(72, 144, 72);
  --negative: rgb(151, 66, 66);

  --primary-grad: linear-gradient(90deg, var(--nav-secondary-grad-start), var(--nav-secondary-grad-end));
  --light-grad: linear-gradient(90deg, var(--nav-light-grad-start), var(--nav-light-grad-end));

  --bs-body-font-family: "Nunito Sans", serif;
}


@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
html { background: linear-gradient(to top, var(--page-base) 0%,var(--page-base) 95%,var(--contrast-base) 99%,var(--contrast-base) 100%); background-size: contain; font-size: 14px; min-height: 100%; position: relative; }
body { display: flex; flex-direction: column; min-height: 100svh; }
body.halocheck { background: linear-gradient(90deg, var(--nav-secondary-grad-start), var(--nav-secondary-grad-end)); }

#app { display: flex; flex-grow: 1; padding: 3rem 0; }

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

svg.hc-sprites { display: none; } 
/** .nav-link-primary { background: linear-gradient(#46c94e, #208c27); border-radius: 5px; padding: 0.5rem 1.0rem !important; } */
.hc-brand { flex-basis: 60px; }
.hc-brand svg { fill: var(--nav-glyph-brand); transition: transform 0.2s ease-in-out; }
.hc-brand:hover svg { transform: scale(1.2); }
.nav-link-primary { background-color: rgba(0, 0, 0, 0.25); border: 2px solid transparent; border-radius: 2rem; height: 3rem; text-align: center; width: 3rem; } 
.nav-link-primary:hover { background-color: transparent; border: 2px solid white; color: white; } 
.nav-link-primary svg { fill: white; }
.nav-link-primary span { display: none; margin-left: 0.25rem; }
.navbar-toggler { background-color: #152a53; border: 2px solid #152a53; border-radius: 2rem; height: 3rem; text-align: center; width: 3rem;  }
@media (min-width: 576px) { 
  .nav-link-primary { width: 9rem;}
  .nav-link-primary span { display: inline-block;  }
}
.halocheck .hc-navbar-primary > .container { flex-wrap: nowrap; gap: 0.5rem; justify-content: stretch; }
.halocheck .hc-navbar-secondary { padding: 0; gap: 0.2rem; }

.halocheck .hc-navbar-primary { background: linear-gradient(90deg, var(--nav-primary-grad-start), var(--nav-primary-grad-end)); }
.halocheck .hc-navbar .nav-link { color: white; }

body > header { display: block; position: sticky; top: 0; z-index: 5; user-select: none; --webkit-user-select: none;  }
.hc-nav-search-container { display: flex; flex-grow: 1; justify-content: center; padding: 0 1.5rem; }
.hc-nav-search { background-color: var(--nav-search); border: 2px solid var(--nav-search); display: flex; justify-content: center; border-radius: 1.5rem; max-width: 50rem; width: 100%; }
.hc-nav-search input { background-color: var(--nav-search); border: none; border-radius: 1.25rem 0 0 1.25rem; color: var(--nav-search-text); display: flex; padding: 0.5rem 0.25rem 0.5rem 1rem; width: 100%; }
.hc-nav-search input::placeholder { color: var(--nav-search-contrast); font-style: italic; }
.hc-nav-search input:focus { outline: none; }
.hc-nav-search button { background-color: var(--nav-search); border: none; border-radius: 1.25rem; display: flex; font-size: 0; transition: background-color 0.25s; width: 2.5rem; }
.hc-nav-search button svg { fill: var(--nav-search-contrast); transition: fill 0.25s; }
.hc-nav-search button:hover { background-color: var(--nav-search-contrast); }
.hc-nav-search button:hover svg { fill: var(--nav-search-contrast-glyph); }

#hc-mega { background-color: rgba(0,0,0,0.1); border-radius: 2rem; display: none; margin: 10px 0;  padding: 1rem 2rem; user-select: none; --webkit-user-select: none; }
#hc-mega-toggle { display: none; }
#hc-nav-ham { cursor: pointer; user-select: none; --webkit-user-select: none; }
#hc-nav-ham > svg { cursor: pointer; user-select: none; --webkit-user-select: none; }
#hc-mega-toggle:checked + label + #hc-mega { display: flex; flex-basis: 100%; }
#hc-mega > ul { display: flex; flex-grow: 1; flex-wrap: wrap; justify-content: space-between; list-style-type: none; margin-bottom: 0; padding-left: 0; }
#hc-mega > ul > li { color: var(--nav-glyph-subtle); cursor: default; display: flex; flex-basis: 10%; flex-direction: column; flex-grow: 1; font-size: 1em; font-weight: bold; padding: 0.75rem 0 0.75rem 0; text-transform: uppercase; }
#hc-mega > ul > li > a { color: var(--nav-glyph); text-decoration: none; }
#hc-mega > ul > li > ul { list-style-type: none; margin-bottom: 0; padding: 0.5rem 0 0 1rem; }
#hc-mega > ul > li > ul > li { font-weight: normal;  text-transform: none; }
#hc-mega > ul > li > ul > li > a { color: var(--nav-glyph); font-size: 1.4em; text-decoration: none; }
#hc-mega > ul > li > ul > li > a:hover { color: var(--nav-glyph-hover); }
@media (max-width: 993px) { #hc-mega > ul > li { font-size: 0.9em; } }
@media (max-width: 767px) { #hc-mega > ul > li { flex-basis: 100%; font-size: 0.8em;} }

.hc-nav-ham-line { fill: var(--nav-glyph); transform-box: fill-box; transform-origin: center; transition: transform 0.2s ease-in-out; }
#hc-mega-toggle + label:hover .hc-nav-ham-line { fill: var(--nav-glyph-hover); }
#hc-mega-toggle:checked + label #hc-nav-ham1 { transform: translate(4px, 18px) rotateZ(45deg); }
#hc-mega-toggle:checked + label #hc-nav-ham2 { transform: scaleX(0); }
#hc-mega-toggle:checked + label #hc-nav-ham3 { transform: translate(4px, -18px) rotateZ(-45deg);  }

table { border-collapse: separate; border-radius: 5px; border-spacing: 2px; box-shadow: 0px 5px 10px rgba(0,0,0,0.18); }
td { border-left: 1px solid #f0f0f0; border-bottom: 1px solid #f0f0f0; padding: 0.5rem 1rem; }
td:first-child { border-left: none; }

th { border-left: 1px solid #f0f0f0; border-bottom: 1px solid #e0e0e0; padding: 0.5rem 1rem; }
th:first-child { border-left: none; }

.hc-hero-nav { display: flex; flex-direction: row; justify-content: space-between; margin: 2rem 0 2rem 0; padding: 0; width: 100%; }
.hc-hero-nav li { display: flex; justify-content: space-between; margin: -0; width: 30%; }
.hc-hero-nav a { align-items: center; background-color: rgba(0, 0, 0, 0.2); border: 3px solid transparent; border-radius: 2rem; color: white; display: flex; flex-direction: row; font-size: 1.7rem; justify-content: center; min-height: 6rem; padding: 0.85rem; text-align: center; text-decoration: none; width: 100%; }
.hc-hero-nav a svg { display: flex; fill: white; margin-right: 1rem; }
.hc-hero-nav a:hover { background-color: rgba(0, 0, 0, 0.3); border: 3px solid white; color: white; }
.hc-hero-nav a:active { transform: scale(0.9); }
.hc-hero-nav a.hc-hero-nav-primary { background: linear-gradient(90deg, #ff7522, #e4c34f); border: 3px solid #bd6a37; }
.hc-hero-nav a.hc-hero-nav-primary:hover { border-color: white; }
@media (max-width: 993px) { .hc-hero-nav a { font-size: 1.2rem; } }
@media (max-width: 767px) {.hc-hero-nav a { font-size: 1rem; }}
@media (max-width: 575px) {
  .hc-hero-nav a { flex-direction: column; }
  .hc-hero-nav a svg { margin: 0 0 0.5rem 0; }
}

.hc-hero { border-radius: 2rem; display: flex; height: 400px; margin: 0 auto; overflow: hidden; padding: 0; position: relative; }

.hc-hero-text { color: #cde5f3; height: 700px ;}
.hc-hero-text h1 { color: white; font-size: 4em; font-weight: bold; max-width: 60%; padding: 1.5em 0px 0.25em 20px; text-shadow: 2px 2px 5px rgba(0,0,0,0.4); }
.hc-hero-text p { font-size: 2em; max-width: 50%; padding: 0.25em 0px 0px 20px; text-shadow: 2px 2px 5px rgba(0,0,0,0.4); }
.hc-hero-text .hc-cta { display: flex; justify-content: center; max-width: 50%; }
.hc-hero-patients { background-image: url("https://cdn.halocheck.co.uk/images/hero/patients.svg"); background-size: cover; background-position: center center; background-repeat: no-repeat; max-height: 800px;}
.hc-hero-providers { background-image: url("https://cdn.halocheck.co.uk/images/hero/providers.svg"); background-size: cover; background-position: center center; background-repeat: no-repeat; max-height: 800px;}
@media (max-width: 991px) { .hc-hero-text { font-size: 0.8em; } }
@media (max-width: 767px) { .hc-hero-text { font-size: 0.7em; height: 600px; } }
@media (max-width: 575px) { .hc-hero-text { font-size: 0.55em; height: 450px; } }

.hc-fancy { height: 275px; margin-left: -40px; margin-top: -150px; width: 275px;}
.hc-fancy-logo { background-color: #1c3c77; background-image: url("https://cdn.halocheck.co.uk/bimi.svg"); background-size: 70%; background-position: center center; background-repeat: no-repeat; border-radius: 50%; }
@media (max-width: 767px) { .hc-fancy {  height: 225px; margin-left: -20px; margin-top: -130px; width: 225px; }  }
@media (max-width: 575px) { .hc-fancy {  height: 150px; margin-left: -20px; margin-top: -110px; width: 150px; } }

.hc-wide { color: #cde5f3; font-size: 1.5rem; line-height: 2.8rem; padding: 50px 20px; }
.hc-wide h2 { color: white; font-size: 1.8em; font-weight: bold; padding: 0.5em 0 1em 0; }
.hc-wide-white { background-color: white; color: #222222;  }
.hc-wide-white h2 { color: black; }
.hc-wide-light { background-color: #f4f4f4; color: #222222;  }
.hc-wide-light h2 { color: black; }
.hc-wide-navy { background-color: #1c3c77; color: #cde5f3; }
.hc-wide-navy p {  }

.hc-button-primary { background: linear-gradient(to right, #0f7483, #234470);  border: 0; border-radius: 1.5rem; color: white; padding: 1rem 2rem; width: 12rem; }
.hc-button-primary span { color: white; font-size: 1.2rem; font-weight: bold; text-shadow: 2px 2px 2px #1d515a;  }

.hc-made { align-content: stretch; flex-direction: column; justify-content: center; text-align: center; }
.hc-made img { margin: 0 auto 1rem auto; text-align: center; }
.hc-made p { text-align: center; }
.btn-cta { background-color: #ff7522; border: 3px solid #ff7522; border-radius: 1.5em; box-shadow: 5px 5px 10px rgba(0,0,0,0.4); color: white; font-size: 1.5em; padding: 0.5rem 1.5rem; text-shadow: 2px 2px 5px rgba(0,0,0,0.4); }
.btn-cta:hover { background-color: #e75900; border: 3px solid #e75900; color: white; }

.hc-list-ticks { padding-bottom: 2em; }
.hc-list-ticks li { list-style-type: none; }
.hc-list-ticks li strong { color: white; }
.hc-list-ticks li::before { background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjIiIGJhc2VQcm9maWxlPSJ0aW55LXBzIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPSJncmVlbkZhZGUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjU2IiB5MT0iNzAiIHgyPSIyNTYiIHkyPSIzNjUiPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzOGUxNDMiIC8+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzI0YTMyYyIgLz4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPHBhdGggZmlsbD0idXJsKCNncmVlbkZhZGUpIiBkPSJNIDQ2NS41MzM3NSw2MC44MzI0OTcgMjMyLjc4NDgzLDI2MS40MjMwMiAxNjEuODAwMzMsMTc4LjgzOTEgMTA3LjgzMjM1LDIyNS4yMzYxNiAyMjUuMjE0MDYsMzYxLjg1NzEgNTExLjk5OTk5LDExNC42NjEzNCBaIiAvPgo8L3N2Zz4=); background-repeat: no-repeat; background-position: 0.1em 0.25em; background-size: 1em 1em; content: " "; display: inline-block; height: 1em; width: 1.6em; }

.hc-list-panes { column-gap: 30px; display: flex; flex-wrap: wrap; margin: 0; justify-content: space-between; padding: 0; row-gap: 30px; }
.hc-list-panes li { align-items: center; background-color: #ffffff; border-radius: 1rem; box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; flex-grow: 1; margin: 0; max-width: 300px; padding: 1rem 2rem }
.hc-list-panes li svg { margin-bottom: 1em; }
.hc-list-panes li h3 { font-weight: bold; text-align: center; }
.hc-list-panes li p { text-align: center; }
@media (max-width: 1399px) {
  .hc-list-panes { column-gap: 10px; }
  .hc-list-panes li { max-width: 500px; }
}
@media (max-width: 1199px) {
  .hc-list-panes { column-gap: 10px; }
  .hc-list-panes li { max-width: 425px; }
}
@media (max-width: 991px) {
  .hc-list-panes { column-gap: 10px; }
  .hc-list-panes li { max-width: 325px; }
}
@media (max-width: 767px) {
  .hc-list-panes li { max-width: 100%; width: 100%; }
}

.hc-icon-categories { column-gap: 1rem; display: flex; flex-direction: row; justify-content: space-evenly; list-style-type: none; margin: 2rem -0.5rem 5rem -0.5rem; padding: 0; row-gap: 2rem; flex-wrap: wrap; }
.hc-home-categories h2 { color: white; font-weight: bold; margin-top: 2rem; text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4); }
.hc-icon-categories li { height: 12rem; }
.hc-icon-categories li a { align-items: center; background: rgba(0, 0, 0, 0.2); border-radius: 2rem; color: white; display: flex; flex-direction: column; height: 12rem; justify-content: stretch; padding: 1rem 2rem; text-decoration: none; width: 12rem; }
.hc-icon-categories li a:active { transform: scale(0.9); }
.hc-icon-categories li:hover svg { transform: scale(1.1);}
.hc-icon-categories li a svg { fill: rgb(222, 240, 239); height: 96px; transition: transform 0.15s ease-out; width: 96px; }
.hc-icon-categories li a h3 { align-items: center; border-radius: 2rem; display: flex; flex-basis: 4rem; flex-direction: column; font-size: 1.3rem; justify-content: center; padding: 0; margin: 0; text-align: center; }
@media (max-width: 767px) {
  .hc-icon-categories li  { flex-basis: 30%; }
}

.tt-dropdown-menu {
  background-color: white;
  border-radius: 0 0 0.25rem 0.25rem;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.4);
  text-align: left;
  padding: 0.15rem 0;
}
.tt-suggestion { cursor: pointer !important; height: 2.5rem; line-height: 2.5rem; margin: 0; overflow: hidden; text-overflow: ellipsis; padding: 0 1rem 0 1rem; white-space: nowrap; }
.tt-suggestion:hover {
  background-color: #eeeeee;
  
}

.hc-availability-time-closed { font-style: italic; }

.hc-filter-list { display: flex; flex-direction: row; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-start; margin: 2rem 0 1rem 0; }
.hc-filter { align-items: stretch; color: #f0f0f0; display: flex; flex-direction: row; flex-wrap: nowrap; font-size: 0.85rem; font-weight: normal; gap: 0.75rem; height: 2rem; overflow: hidden; padding: 0; }
.hc-filter-text { align-items: center; display: flex;  margin-left: 0.75rem; }
.hc-filter-remove { align-items: center; border-left: 1px solid rgba(0,0,0,0.25); color: #f0f0f0; display: flex; flex-basis: 2rem; font-size: 1.4rem; justify-content: center; margin-top: -0.2em; text-align: center; text-decoration: none; width: 2rem; }
.hc-filter-remove:hover { background-color: rgba(0,0,0,0.1); color: #ffffff; }

.hc-filter-type-apps .hc-filter-text::before { content: "App:"; margin-right: 0.25rem; }
.hc-filter-type-categories .hc-filter-text::before { content: "Category:"; margin-right: 0.25rem; }
.hc-filter-type-channels .hc-filter-text::before { content: "Channel:"; margin-right: 0.25rem; }
.hc-filter-type-insurance .hc-filter-text::before { content: "Insurance:"; margin-right: 0.25rem; }
.hc-filter-type-categories .hc-filter-text::before { content: "Category:"; margin-right: 0.25rem; }
.hc-filter-type-categories .hc-filter-text::before { content: "Category:"; margin-right: 0.25rem; }
.hc-filter-type-presence .hc-filter-text::before { content: "Presence:"; margin-right: 0.25rem; }
.hc-filter-type-services .hc-filter-text::before { content: "Service:"; margin-right: 0.25rem; }
.hc-filter-type-site .hc-filter-text::before { content: "Site:"; margin-right: 0.25rem; }

article { background-color: white; border-radius: 1rem; color: #111111; display: flex; flex-direction: column; line-height: 1.8rem; font-size: 1rem; margin: 1rem 0 1rem 0; padding: 1rem 1rem; }
article > header { flex-basis: 100%; margin-bottom: 1.5rem; margin: 0; padding: 0 0 0 0rem; }
article > header h1 { color: black; font-size: 3rem; margin-bottom: 1rem; margin-top: 1rem; margin-left: 0; margin-right: 0; text-shadow: 2px 2px 2px rgba(0,0,0,0.2); padding: 0; }
article > .hc-article-body { column-gap: 50px; display: flex; flex-direction: column; justify-content: stretch; }
article > .hc-article-body > .hc-article-content { flex-basis: 1; flex-grow: 1; width: 100%; }
article > .hc-article-body > .hc-article-aside { display: flex; flex-direction: column; flex-grow: 1; margin-top: 2rem; }
article > .hc-article-body > .hc-article-nav { align-self: flex-start; display: none; flex-direction: column; position: sticky; top: 75px; flex-basis: 500px; }
.hc-article-nav > .hc-article-nav-header { color: #888; font-size: 1rem; font-weight: bold; margin-bottom: 1.5rem; text-transform: uppercase; }
.hc-article-nav > ul { border-left: 5px solid #ccc; padding-left: 1rem; }
.hc-article-nav ul { list-style-type: none;}
.hc-article-nav li { margin: 0.2rem 0 0.2rem 0; }
.hc-article-nav a::before { color: transparent; content: "\00BB"; font-size: 1.5rem; margin-right: 0.375rem; }
.hc-article-nav a { color: #333; font-size: 1.2rem; text-decoration: none; }
.hc-article-nav a:hover { color: #258cfb; }
.hc-article-nav a.active { color: black; font-weight: bold; }
.hc-article-nav a.active:hover { color: #258cfb; }
.hc-article-nav a.active::before { color: black; font-weight: normal !important; text-decoration: none !important; }
article .lede { color: #666666; font-size: 1.3em; line-height: 1.25em; margin-bottom: 1.5rem; }
article details summary { background-color: #bccfd9; border-radius: 2rem; cursor: pointer; padding: 0.5rem 1rem; text-align: left; width: 100%; user-select: none; }
article details summary h3 { display: inline-block; font-weight: normal; margin: 0; padding: 0; user-select: none; }
.hc-article-content address { margin: 0 0 0 2rem; }
.hc-article-content dl { margin: 0 0 0 2rem; }
.hc-article-content dd { margin: 0 0 1rem 1rem; }
.hc-article-content h2 { margin: 3rem 0 1rem 0; }
.hc-article-content h3 { margin: 2.5rem 0 1rem 0; }
.hc-article-content .struct ol { counter-reset: section; margin: 2.5rem 0 1rem 0; }
.hc-article-content .struct li { counter-increment: section; list-style-type: none; position: relative; }
.hc-article-content .struct li:before { content: counters(section, ".") " "; font-weight: bold; left: -2.75em; position: absolute; text-align: right; width: 2.75rem; }
.hc-article-content .struct li ol { margin-top: 1rem; }
.hc-article-content .struct li ol ol { counter-reset: alpha; }
.hc-article-content .struct li ol ol > li::before { content: counter(alpha, lower-alpha) '.'; counter-increment: alpha;}
.hc-article-content .struct li ol ul li { list-style-type: square; }
.hc-article-content .struct li ol ul li::before { content: none; }
@media (min-width: 768px) {
  article { border-radius: 2rem; line-height: 2rem; font-size: 1.25rem; margin: 4rem 0 4rem 0; padding: 3rem 3rem; } 
  article > header { padding-bottom: 1rem; }
  article > h1 { border-radius: 2rem 2rem 0 0; margin-bottom: 3rem; margin-top: -3rem; margin-left: -3rem; margin-right: -3rem; padding: 2rem 2rem; }
  article .lede { font-size: 1.5em; line-height: 1.25em; margin-bottom: 2rem; }
}
@media (min-width: 992px) {
  article > header { padding-bottom: 2rem; }
  article > .hc-article-body { flex-direction: row; }
  article > .hc-article-body > .hc-article-nav { display: flex; }
  .hc-article-aside { margin-top: 0rem; }
  article .hc-article-aside .hc-icon-label { display: none; }
}

.hc-bio { column-gap: 40px; display: flex; flex-direction: row; margin-bottom: 3rem; }
.hc-bio .hc-bio-image img { border-radius: 10px; height: 200px; width: 200px; }
.hc-bio .hc-bio-person { display: flex; flex-direction: column; }
.hc-bio .hc-bio-person h2 { margin-bottom: 0; margin-top: 10px; }
.hc-bio .hc-bio-role { color: #666; font-size: 1.5rem; margin-top: 0rem; }
@media (max-width: 767px) {
  .hc-bio { column-gap: 20px; }
  .hc-bio .hc-bio-person h2 { margin-top: 0px; }
  .hc-bio .hc-bio-image img { border-radius: 5px; height: 100px; width: 100px; }
}

.hc-mega-search-row { background-color: #25C5D2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2000 1500'%3E%3Cdefs%3E%3CradialGradient id='a' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%232D60BF'/%3E%3Cstop offset='1' stop-color='%2325C5D2'/%3E%3C/radialGradient%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='0' y1='750' x2='1550' y2='750'%3E%3Cstop offset='0' stop-color='%232993c9'/%3E%3Cstop offset='1' stop-color='%2325C5D2'/%3E%3C/linearGradient%3E%3Cpath id='s' fill='url(%23b)' d='M1549.2 51.6c-5.4 99.1-20.2 197.6-44.2 293.6c-24.1 96-57.4 189.4-99.3 278.6c-41.9 89.2-92.4 174.1-150.3 253.3c-58 79.2-123.4 152.6-195.1 219c-71.7 66.4-149.6 125.8-232.2 177.2c-82.7 51.4-170.1 94.7-260.7 129.1c-90.6 34.4-184.4 60-279.5 76.3C192.6 1495 96.1 1502 0 1500c96.1-2.1 191.8-13.3 285.4-33.6c93.6-20.2 185-49.5 272.5-87.2c87.6-37.7 171.3-83.8 249.6-137.3c78.4-53.5 151.5-114.5 217.9-181.7c66.5-67.2 126.4-140.7 178.6-218.9c52.3-78.3 96.9-161.4 133-247.9c36.1-86.5 63.8-176.2 82.6-267.6c18.8-91.4 28.6-184.4 29.6-277.4c0.3-27.6 23.2-48.7 50.8-48.4s49.5 21.8 49.2 49.5c0 0.7 0 1.3-0.1 2L1549.2 51.6z'/%3E%3Cg id='g'%3E%3Cuse href='%23s' transform='scale(0.12) rotate(60)'/%3E%3Cuse href='%23s' transform='scale(0.2) rotate(10)'/%3E%3Cuse href='%23s' transform='scale(0.25) rotate(40)'/%3E%3Cuse href='%23s' transform='scale(0.3) rotate(-20)'/%3E%3Cuse href='%23s' transform='scale(0.4) rotate(-30)'/%3E%3Cuse href='%23s' transform='scale(0.5) rotate(20)'/%3E%3Cuse href='%23s' transform='scale(0.6) rotate(60)'/%3E%3Cuse href='%23s' transform='scale(0.7) rotate(10)'/%3E%3Cuse href='%23s' transform='scale(0.835) rotate(-40)'/%3E%3Cuse href='%23s' transform='scale(0.9) rotate(40)'/%3E%3Cuse href='%23s' transform='scale(1.05) rotate(25)'/%3E%3Cuse href='%23s' transform='scale(1.2) rotate(8)'/%3E%3Cuse href='%23s' transform='scale(1.333) rotate(-60)'/%3E%3Cuse href='%23s' transform='scale(1.45) rotate(-30)'/%3E%3Cuse href='%23s' transform='scale(1.6) rotate(10)'/%3E%3C/g%3E%3C/defs%3E%3Cg transform='translate(2000 0)'%3E%3Cg transform='translate(0 750)'%3E%3Ccircle fill='url(%23a)' r='3000'/%3E%3Cg opacity='0.5'%3E%3Ccircle fill='url(%23a)' r='2000'/%3E%3Ccircle fill='url(%23a)' r='1800'/%3E%3Ccircle fill='url(%23a)' r='1700'/%3E%3Ccircle fill='url(%23a)' r='1651'/%3E%3Ccircle fill='url(%23a)' r='1450'/%3E%3Ccircle fill='url(%23a)' r='1250'/%3E%3Ccircle fill='url(%23a)' r='1175'/%3E%3Ccircle fill='url(%23a)' r='900'/%3E%3Ccircle fill='url(%23a)' r='750'/%3E%3Ccircle fill='url(%23a)' r='500'/%3E%3Ccircle fill='url(%23a)' r='380'/%3E%3Ccircle fill='url(%23a)' r='250'/%3E%3C/g%3E%3Cg transform='rotate(-129.6 0 0)'%3E%3Cuse href='%23g' transform='rotate(10)'/%3E%3Cuse href='%23g' transform='rotate(120)'/%3E%3Cuse href='%23g' transform='rotate(240)'/%3E%3C/g%3E%3Ccircle fill-opacity='0' fill='url(%23a)' r='3000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-attachment: fixed;
  background-size: cover; border-radius: 1rem 1rem 0 0; margin: -1rem -1rem 0 -1rem; padding: 3rem 3rem 1rem 3rem; }
.hc-mega-search { background-color: white; border: 1px solid #bbbbbb; border-radius: 2rem; display: flex; margin-bottom: 2rem; padding: 0; }
.hc-mega-search input { border: none; border-radius: 2rem 0 0 2rem; font-size: 300%; padding: 1rem 1rem 1rem 2rem; }
.hc-mega-search input::placeholder { color: #ccc; font-style: italic; }
.hc-mega-search input:focus { box-shadow: none !important; }
.hc-mega-search button { align-items: center; background-color: var(--blue-grad-end); border-radius: 2rem; border-width: 0; display: flex; font-size: 42pt; justify-content: center; margin: 0.5rem 0.5rem 0.5rem 0; width: 8rem; }
.hc-mega-search button svg { fill: white; }
.hc-mega-search-filter-row  { background-color: #f4f4f4; margin: 0 -3rem 0 -3rem; padding: 0 2rem 1rem 2rem; }
.hc-mega-search-content { background-color: white; border-bottom: 2px solid #f4f4f4; display: flex; margin: 0 -1rem 1rem -1rem; }
.hc-mega-search-content-graphic { flex-basis: 50%; margin: 0; padding: 0; position: relative; }
.hc-mega-search-content-graphic img { height: 100%; object-fit: cover; width: 100%; user-drag: none; user-select: none; -webkit-user-select: none; }
.hc-mega-search-content-graphic h1 { color: white; font-size: 300%; font-weight: bold; left: 10%; padding: 0; position: absolute; top: 35%; text-shadow: 3px 3px 10px black; transform: translateY(-50%); }
.hc-mega-search-content-graphic p { align-items: center; background-color: rgba(255, 255, 255, 0.9); bottom: 0; color: black; display: flex; font-size: 100%; margin-bottom: 0; padding: 2rem; position: absolute; }
.hc-mega-search-content-text { flex-basis: 50%; margin: 0; padding: 2rem 3rem; }
.hc-mega-search-content-text ul { padding-left: 3rem; }
.hc-mega-search-content-text *:last-child { margin-bottom: 0; }
@media (max-width: 991px) {
  .hc-mega-search-content-graphic { flex-basis: 100%; }
  .hc-mega-search-content-text { flex-basis: 100%; }
}

#searchToggleFilters { display: none; }
.hc-results-mob-filters { display: none; justify-content: end; }
@media (max-width: 1199px) {
  .hc-results-container .hc-facet-ui { flex-basis: 33% !important; }
  .hc-results-container .hc-results-list { flex-basis: 67% !important; }
}
@media (max-width: 991px) {
  .hc-results-container .hc-facet-ui { flex-basis: 50% !important; }
  .hc-results-container .hc-results-list { flex-basis: 50% !important; }
}
@media (max-width: 767px) {
  #toggleFilterButton { align-items: center; border: 1px solid #444444; border-radius: 5px; display: flex; justify-content: center; height: 2.5rem; width: 9rem; } 
  .hc-results-mob-filters { align-items: flex-end; background-color: #f4f4f4; display: flex; margin: -1rem; padding: 2rem; }
  .hc-results-mob-filters label { background: linear-gradient(#ffffff, #f6f6f6); cursor: pointer; user-select: none; -webkit-user-select: none; }
  #searchToggleFilters + .hc-results-mob-filters #filterShow { display: inline; }
  #searchToggleFilters + .hc-results-mob-filters #filterHide { display: none; }
  #searchToggleFilters + .hc-results-mob-filters + .hc-results-container .hc-facet-ui { display: none; }
  #searchToggleFilters:checked + .hc-results-mob-filters #filterShow { display: none; }
  #searchToggleFilters:checked + .hc-results-mob-filters #filterHide { display: inline; }
  #searchToggleFilters:checked + .hc-results-mob-filters + .hc-results-container .hc-facet-ui { display: flex; }
  .hc-results-container { flex-direction: column !important; }
  .hc-mega-search-filter-row { margin: 0 -1rem 0 -1rem; }
}
@media (min-width: 768px) {
  .hc-mega-search-row { margin-top: -3rem; margin-left: -3rem; margin-right: -3rem; }
}

.hc-results-container { column-gap: 2rem; display: flex; flex-direction: row; margin-top: 1rem; padding-top: 1.5rem; }
.hc-filter-row { padding: 1rem 0; }
.hc-facet { border-top: 1px dotted #bbbbbb; padding-top: 1rem; }
.hc-facet-ui { display: flex; flex-basis: 25%; flex-direction: column; }
.hc-facet-title { font-size: 1rem; }
.hc-facet-list { list-style-type: disc; }
.hc-facet-item { color: #bbbbbb; }
.hc-facet-count { color: #555555; }

.hc-results-list { display: flex; flex-basis: 75%; flex-direction: column; padding-left: 1rem; row-gap: 2rem; }
.hc-result { display: flex; flex-direction: column; }
.hc-result a { text-decoration: none; }
.hc-result a:hover { text-decoration: underline; }
.hc-result-title { display: flex; flex-direction: row; }
.hc-result-title h3 { flex-basis: 100%; font-size: 175%; padding-top: 2px; }
.hc-result-title h3 img { margin-right: 0.5rem; margin-top: -4px; }
.hc-result-title h3 .badge { display: inline-block; font-size: 0.35em; margin-left: 0.5rem; vertical-align: middle; }
.hc-result-categories { font-size: 0.9rem; }
.hc-result-categories ul { display: inline-block; list-style-type: none; margin: 0; padding: 0 0 0 0.25rem; }
.hc-result-categories li { display: inline-block; margin: 0; padding: 0; }
.hc-result-categories li::after { color: var(--subtle-text); content: "\00B7"; font-size: 1.2rem; font-weight: bold; margin: 0 0.25rem 0 0.25rem; }
.hc-result-categories li:last-child::after { content: "";  }

.hc-results-none { margin: 7rem 0 5rem 0; text-align: center; }
.hc-results-none h2 { color: #666666; }
.hc-results-none p { color: #444444; }

.hc-listing { margin-top: 3rem; }
.hc-listing header { border-radius: 2rem 2rem 0 0; display: flex; flex-direction: column; margin-left: -3rem !important; margin-right: -3rem !important; margin-top: -3rem !important; max-width: none !important; overflow: hidden; padding: 0 !important; position: relative; width: calc(100% + 6rem) !important; }
.hc-listing header .hc-listing-banner { height: 150px; object-fit: cover; min-width: 100%; }
.hc-listing header .hc-listing-testdata { background-color: var(--negative); color: white; cursor: default; padding: 0.5rem 0; pointer-events: none; text-align: center; text-transform: uppercase; user-select: none; }
.hc-listing header .hc-listing-header-content { align-items: stretch; display: flex; flex-direction: row; }
.hc-listing header .hc-listing-header-identity { align-items: flex-start; display: flex; flex-basis: 66%; flex-direction: row; flex-grow: 2; justify-content: flex-start; margin: 0 0 0 3.5rem; padding: 2rem 0 2rem 0; }
.hc-listing header .hc-listing-header-identity .hc-listing-header-logo { margin-right: 1.5rem; }
.hc-listing header .hc-listing-header-identity .hc-listing-header-logo .hc-listing-logo { height: 64px; pointer-events: none; width: 64px; }
.hc-listing header .hc-listing-header-identity .hc-listing-header-text { display: flex; flex-direction: column; }
.hc-listing header .hc-listing-header-identity .hc-listing-header-text h1 { font-size: 32px; min-height: 32px; line-height: 1em; margin: 4px 0 8px 0; padding: 0; text-overflow: ellipsis; }
.hc-listing header .hc-listing-header-identity .hc-listing-header-text p { color: #888888; font-size: 16px; height: 16px; line-height: 1em; margin: 0 0 4px 0; padding: 0; }
.hc-listing header .hc-listing-header-cta { align-items: center; display: flex; flex-basis: 33%; flex-direction: column; flex-basis: 25%; flex-grow: 1; justify-content: flex-start; padding: 2rem 0; }
.hc-listing header .hc-listing-header-cta .btn { border-radius: 1.5rem; font-size: 1.4rem; font-weight: bold; margin: 0 2rem; padding: 1rem 2rem; }

.hc-listing section { border-top: 1px dotted #dddddd; padding-bottom: 1rem; padding-top: 1.5rem; }
.hc-listing section:first-child { border-top: none; margin-top: 0; padding-top: 0;}
.hc-listing #hc-listing-map { height: 20rem; width: 100%; }
.hc-listing-map-buttons { margin-top: 1rem; text-align: center; }
.hc-listing-map-buttons .btn { padding: 0.375rem 0.5rem; }
.hc-listing-map-buttons .btn svg { margin-right: 0.375rem; }
.hc-listing .hc-listing-aside-list ul { padding-left: 1rem; }
.hc-listing .hc-listing-aside-list li { list-style-type: none; margin-left: 0; margin-bottom: 0.75rem; margin-top: 0.75rem; }
.hc-listing .hc-listing-aside-list li a { overflow: hidden; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.hc-listing .hc-listing-aside-list li a:hover { text-decoration: underline; }
.hc-listing .hc-listing-aside-list li svg { margin-right: 0.5rem; }
.hc-listing h2 { color: #aaaaaa; font-size: 1.2rem; margin-bottom: 1rem; margin-top: 1rem;  text-transform: uppercase; }
.hc-listing h2:first-child { margin-top: 0; }
.hc-listing aside p { color: #888888; font-size: 0.85rem; line-height: 1.3rem; margin: 0; padding: 0 0 0.5rem 0; }

.hc-listing .hc-long-list input { display: none; }
.hc-listing .hc-long-list input ~ span:nth-child(n+10){ display: none;  }
.hc-listing .hc-long-list input:checked ~ span:nth-child(n+10){ display: inline-block; }
.hc-listing .hc-long-list input ~ ul .hc-trimmed { display: none; }
.hc-listing .hc-long-list input:checked ~ ul .hc-trimmed { display: flex; }
.hc-listing .hc-long-list input ~ .hc-see-more { display: inline-block; }
.hc-listing .hc-long-list input ~ .hc-see-fewer { display: none; }
.hc-listing .hc-long-list input:checked ~ .hc-see-more { display: none; }
.hc-listing .hc-long-list input:checked ~ .hc-see-fewer { display: inline-block; }
.hc-listing .hc-long-list label { cursor: pointer; font-size: 0.8em; margin-left: 5px; text-decoration: underline; text-decoration-color: #ccccce; text-decoration-style: dotted; user-select: none; --webkit-user-select: none; }
.hc-listing .hc-long-list label:hover { text-decoration-color: #aaaaac; text-decoration-style: solid; }
.hc-listing .hc-long-list ul { column-count: 2; column-gap: 20px; padding: 0 0 0 0.5rem; }
.hc-listing .hc-long-list ul li { list-style-type: none; }
.hc-listing .hc-long-list ul > li { color: #aaa; margin-top: 5px; font-size: 1rem; text-transform: uppercase; }
.hc-listing .hc-long-list ul > li > ul { column-count: 1; }
.hc-listing .hc-long-list ul > li > ul > li { color: #666666; font-size: 1.2rem; text-transform: none; }
.hc-listing .hc-listing-draft { align-items: center; display: flex; flex-direction: column; justify-content: center; width: 100%; }
.hc-listing .hc-listing-draft h1 { display: flex; flex-direction: row; justify-content: center; width: 100%; }
.hc-listing .hc-listing-draft h2 { display: flex; flex-direction: row; justify-content: center; margin: 0 0 2rem 0; }
.hc-listing .hc-listing-draft p { display: flex; flex-direction: row; justify-content: center; max-width: 650px; padding: 0 5rem; }
@media (max-width: 991px) {
  .hc-listing header .hc-listing-header-cta .btn { border-radius: 1rem; font-size: 1.2rem; font-weight: bold; padding: 0.75rem 1rem; }
}
@media (max-width: 767px) {
  .hc-listing header { border-radius: 1rem 1rem 0 0; margin-left: -1rem !important; margin-right: -1rem !important; margin-top: -1rem !important; width: calc(100% + 2rem) !important; }
  .hc-listing header .hc-listing-header-identity { display: flex; flex-direction: row; justify-content: flex-start; margin: 0 0 0 1.5rem; }
  .hc-listing header .hc-listing-banner { height: 100px; }
  .hc-listing header .hc-listing-header-cta .btn { font-size: 1rem; }
}
@media (max-width: 575px) {
  .hc-listing { margin-top: 0 !important; }
  .hc-listing header { border-radius: 0; }
  .hc-listing header .hc-listing-banner { height: 75px; }

  .hc-listing header .hc-listing-header-identity .hc-listing-header-logo .hc-listing-logo { height: 48px; pointer-events: none; width: 48px; }
  .hc-listing header .hc-listing-header-identity .hc-listing-header-text h1 { font-size: 24px; min-height: 24px; line-height: 1em; margin: 2px 0 6px 0; padding: 0; text-overflow: ellipsis; }
  .hc-listing header .hc-listing-header-identity .hc-listing-header-text p { color: #888888; font-size: 12px; height: 12px; line-height: 1em; margin: 0 0 4px 0; padding: 0; }
  .hc-listing header .hc-listing-header-cta { margin: 0; }
  .hc-listing header .hc-listing-header-cta .btn { padding: 0.5rem 0.75rem; }
}

.hc-listing-people { row-gap: 1rem; display: flex; flex-direction: column; }
.hc-listing-person { column-gap: 1rem; display: flex; flex-direction: row; }
.hc-listing-person h3 { margin: 0; }
.hc-listing-person-info-pronouns { color: #666666; font-size: 0.9rem; margin-bottom: 0; }
.hc-listing-person-badges ul { display: flex; flex-direction: row; list-style-type: none; }

.hc-listing .hc-listing-patienttype-list { display: flex; flex-direction: row; list-style-type: none; margin-top: 1.5rem; padding-left: 0; }
.hc-listing .hc-listing-patienttype-list li { align-items: center;  column-gap: 0.25rem; display: flex; flex-direction: row; flex-basis: 50%; justify-content: center; list-style-type: none; padding-left: 0; }
.hc-listing .hc-listing-operating-hours { width: 100%; }
.hc-listing .hc-listing-operating-hours .hc-availability-time-closed { text-align: center; }
.hc-listing .hc-listing-operating-hours .hc-listing-operating-hours-open-title { text-align: center; }
.hc-listing .hc-listing-operating-hours .hc-listing-operating-hours-close-title { text-align: center; }
.hc-listing .hc-listing-operating-hours .hc-listing-operating-hours-open-cell { text-align: center; }
.hc-listing .hc-listing-operating-hours .hc-listing-operating-hours-close-cell { text-align: center; }

/* Super basic image gallery */
.hc-gallery { background-color: #eeeeee; border-radius: 1.5rem; padding: 1rem; }
.hc-gallery .hc-gallery-viewer { background-color: #dddddd; border-radius: 1.5rem; height: 300px; overflow: hidden; }
.hc-gallery .hc-gallery-viewer img { height: 100%; object-fit: contain; width: 100%; }
.hc-gallery .hc-gallery-nav ul { column-gap: 0.5rem; display: flex; flex-direction: row; justify-content: center; list-style-type: none; margin-bottom: 0;  margin-top: 1rem; padding-left: 0; }
.hc-gallery .hc-gallery-nav li { padding: 0; }
.hc-gallery .hc-gallery-nav img { cursor: pointer; object-fit: cover; }
.hc-gallery .hc-gallery-nav img:hover { border: 3px solid white; }

img.hc-logo-square { border-radius: 0%; }
img.hc-logo-rounded { border-radius: 25%; }
img.hc-logo-circle { border-radius: 50%; }

.btn .hc-icon { fill: white; }

.footer { background-color: var(--contrast-base); display: flex; margin-top: auto; white-space: nowrap; width: 100%; }
.footer .container { background-color: var(--contrast-base); }
.footer .col { background-color: var(--contrast-base); color: var(--contrast-text); padding-top: 2rem;}
.footer ul { list-style: none; padding-left: 1rem; }
.footer ul li:before { content: "\25BA\0020"; font-size: 0.75rem; padding-right: 0.25rem; }
.footer li { line-height: 1.75rem; }
.footer a { border-bottom: 1px dotted var(--contrast-link-under); color: var(--contrast-link); text-decoration: none; }
.footer a:hover { border-bottom: 1px solid var(--contrast-link-hover-under); color: var(--contrast-link-hover); text-decoration: none; }

.btn-hero { background: linear-gradient(90deg, #2f84b0, #234a93, #2f84b0); background-size: 200% auto; color: white; transition: background-position 0.2s ease-in-out; }
.btn-hero:hover, .btn-hero:active, .btn-hero:focus { background-position-x: 100%; color: white !important; } 

.hc-icon-subtle { fill: #aaaaaa; }
.hc-icon-positive { fill: var(--positive); }
.hc-icon-negative { fill: var(--negative); }

.hc-halocheck { font-style: normal;font-weight: bold;  background: linear-gradient(90deg, #48a9da, #346fdc); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}

table { margin-bottom: 2em; }
.hc-table-header-lg { font-size: 1.5em; }
.hc-table-header-intro { color: #888; font-size: 0.7em; font-weight: normal; line-height: 1.5em; }
.hc-table-header-price { color: #888; font-size: 0.7em; font-weight: normal; line-height: 1.5em; padding-top: 5px; }
.hc-table-header-price strong { color: #48a9da; font-size: 2em; padding: 5px 2px;  }
.hc-table-center { text-align: center; }
.hc-table-full { width: 100%; }


.hc-svg-sprite { position: absolute; height: 0; font-size: 0; margin: 0; padding: 0; width: 0; }

.hc-btn-block { margin: 2em 0; text-align: center; }

.container-wrap { flex-wrap: wrap !important; }
.hc-effect-tilt { align-self: stretch; border-radius: 0; flex-shrink: 0; object-fit: cover; position: relative; width: 100%; }

@media (max-width: 1199px) {
  .hidden-lg { display: none; }
}
@media (max-width: 991px) {
  .hidden-md { display: none; }
}
@media (max-width: 767px) {
  .hidden-sm { display: none; }
}
@media (max-width: 575px) {
  .hidden-xs { display: none; }
}
