/*
 * Headco theme: section styles.
 * theme.json owns the tokens (colours, fonts, sizes, button, headings). This file owns what
 * theme.json cannot express: the sticky header and mega menu, responsive show/hide, the angled
 * facility banner, check-mark lists, cards, accordion, slider, contact boxes, footer and the
 * Elementor breakpoints the old site used (tablet <= 1024px, phone <= 767px).
 */

/* ---------- Responsive helpers (same breakpoints as the Elementor site) ---------- */
@media (max-width: 1024px) {
	.hc-desktop-only { display: none !important; }
}
@media (min-width: 1025px) {
	.hc-mobile-only { display: none !important; }
}
@media (max-width: 767px) {
	.hc-not-phone { display: none !important; }
}
@media (min-width: 768px) {
	.hc-phone-only { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.hc-not-tablet { display: none !important; }
}
@media (min-width: 1025px), (max-width: 767px) {
	.hc-tablet-only { display: none !important; }
}
/* Elementor keeps rows side by side down to 768px and stacks only on phones (<=767px). Core's columns block
   stacks below 782px, so between 768 and 781px undo core's stacking (the generated tablet rules below set
   the real tablet widths where Elementor had them). */
@media (min-width: 768px) and (max-width: 781px) {
	.wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap: nowrap !important; }
	.wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 0 !important; flex-grow: 1 !important; }
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 130px; }
body { margin: 0; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
.hc-main > * + *,
.hc-main .wp-block-post-content > * + * { margin-block-start: 0; }
.wp-block-image img { display: block; }
.wp-block-image.aligncenter { margin-left: auto; margin-right: auto; }
.hc-section-title { font-size: 32px; line-height: 44px; }
@media (max-width: 1024px) {
	.hc-section-title { font-size: 28px !important; line-height: 38px !important; }
}
@media (max-width: 767px) {
	.hc-center-phone { text-align: center !important; }
	.hc-section-title { font-size: 24px !important; line-height: 30px !important; }
	.hc-buttons--center-mobile { justify-content: center; }
	.hc-buttons--center-mobile .wp-block-button__link { font-size: 20px; }
	.hc-btn-phone-20 .wp-block-button__link { font-size: 20px !important; } /* START A PROJECT, as on live */
}

/* Buttons: light-blue variant (block style "Light blue") */
.wp-block-button.is-style-light .wp-block-button__link { background-color: var(--wp--preset--color--light-blue); }
.wp-block-button.is-style-light .wp-block-button__link:hover,
.wp-block-button.is-style-light .wp-block-button__link:focus { background-color: var(--wp--preset--color--blue); }
.wp-block-button__link { transition: background-color .3s, color .3s; }

/* Check-mark lists (block styles "Check marks" and "Check marks (dark)") */
.wp-block-list.is-style-checklist,
.wp-block-list.is-style-checklist-dark { list-style: none; padding-left: 0; margin: 0; }
.wp-block-list.is-style-checklist li,
.wp-block-list.is-style-checklist-dark li { position: relative; padding-left: 22px; line-height: 1.5; }
.wp-block-list.is-style-checklist li + li,
.wp-block-list.is-style-checklist-dark li + li { margin-top: 10px; }
.wp-block-list.is-style-checklist li::before,
.wp-block-list.is-style-checklist-dark li::before {
	content: ""; position: absolute; left: 0; top: .55em; width: 12px; height: 12px;
	background-color: var(--wp--preset--color--sky);
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M173.9 439.4l-166.4-166.4c-10-10-10-26.2 0-36.2l36.2-36.2c10-10 26.2-10 36.2 0L192 312.7 432.1 72.6c10-10 26.2-10 36.2 0l36.2 36.2c10 10 10 26.2 0 36.2l-294.4 294.4c-10 10-26.2 10-36.2 0z'/></svg>") no-repeat center / contain;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M173.9 439.4l-166.4-166.4c-10-10-10-26.2 0-36.2l36.2-36.2c10-10 26.2-10 36.2 0L192 312.7 432.1 72.6c10-10 26.2-10 36.2 0l36.2 36.2c10 10 10 26.2 0 36.2l-294.4 294.4c-10 10-26.2 10-36.2 0z'/></svg>") no-repeat center / contain;
}
.wp-block-list.is-style-checklist-dark li::before { background-color: var(--wp--preset--color--heading); width: 14px; height: 14px; top: 6px; }
@media (max-width: 767px) {
	.wp-block-list.is-style-checklist li { font-size: 18px; }
	.wp-block-list.is-style-checklist li + li { margin-top: 15px; }
}

/* Rich-text lists inside Services rows (bold label + text) */
.hc-capabilities { padding-left: 22px; }
.hc-capabilities li { margin-bottom: 8px; line-height: 1.5; }

/* ---------- Header ---------- */
/* Template parts sit flush (WordPress adds the 20px block gap between header, main, Stay Connected, footer). */
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
/* A group with a background gets 1.25em padding from WordPress; the header bar sets its own height. */
.hc-header.has-background { padding-top: 0; padding-bottom: 0; }
.hc-header {
	position: sticky; top: 0; z-index: 99;
	background: var(--wp--preset--color--white);
}
.hc-header__bar { min-height: 120px; }
.hc-header__logo { margin: 0; }
.hc-header__logo img { display: block; }
.hc-header__cta { margin: 0; }
.hc-header__cta .wp-block-button__link { line-height: 1; }
.hc-nav { font-family: var(--wp--preset--font-family--system); }
.hc-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; height: 80px; }
.hc-nav__item { margin: 0; }
.hc-nav__link {
	display: flex; align-items: center; gap: 6px; padding: 0 15px; height: 80px;
	color: #000; font-size: 15px; font-weight: 500; line-height: 1.5; text-decoration: none;
	transition: color .3s;
}
.hc-nav__link:hover, .hc-nav__link:focus,
.hc-nav__item--current > .hc-nav__link { color: var(--wp--preset--color--gray); }
.hc-nav__chevron { width: 7px; height: 7px; border-right: 1.5px solid #101010; border-bottom: 1.5px solid #101010; transform: translateY(-3px) rotate(45deg); }
.hc-nav__link:hover .hc-nav__chevron { border-color: var(--wp--preset--color--gray); }

/* Mega menu: full-width white panel under the bar (was an ElementsKit mega menu with an image) */
.hc-megamenu {
	position: absolute; left: 0; right: 0; top: 100%;
	background: var(--wp--preset--color--white);
	border-top: 1px solid #E3EAF3; border-bottom: 1px solid #E3EAF3;
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .25s, transform .25s, visibility 0s .25s;
}
.hc-nav__item--has-panel:hover > .hc-megamenu,
.hc-nav__item--has-panel:focus-within > .hc-megamenu { opacity: 1; visibility: visible; transform: none; transition: opacity .25s, transform .25s; }
.hc-megamenu__inner { max-width: 1120px; margin: 0 auto; padding: 20px 10px; display: flex; align-items: flex-start; gap: 0; }
.hc-megamenu__links { list-style: none; margin: 0; padding: 0; width: 30%; }
.hc-megamenu__links li { padding: 7px 0; }
.hc-megamenu__links a { font-family: var(--wp--preset--font-family--circular); font-size: 16px; font-weight: 400; color: var(--wp--preset--color--heading); text-decoration: none; transition: color .3s; }
.hc-megamenu__links a:hover { color: var(--wp--preset--color--blue); }
.hc-megamenu__spacer { width: 42%; }
.hc-megamenu__image { width: 33%; height: 240px; object-fit: cover; border-radius: 6px; }

/* Mobile bar (tablet and phone) */
.hc-header__bar--mobile { min-height: auto; padding: 15px 0; }
/* The hidden desktop bar comes first, so WordPress' 20px block gap landed on the mobile bar and pushed the whole
   page down 20px on tablet and phone; the logo link's line box added 8px more. Live: 80px bar on phones (15px
   padding), 115px on tablets (10px padding). */
.hc-header > .hc-header__bar { margin-block-start: 0 !important; }
.hc-header__bar--mobile .hc-header__logo, .hc-header__bar--mobile .hc-header__logo a { display: block; line-height: 0; margin: 0; }
@media (min-width: 768px) and (max-width: 1024px) { .hc-header__bar--mobile { padding: 10px 0; } }
.hc-header__logo--mobile img { width: 200px; }
@media (max-width: 1024px) { .hc-header__logo--mobile img { width: 123px; } }
@media (max-width: 767px) { .hc-header__logo--mobile img { width: 65px; } }
.hc-menu-toggle { background: none; border: 0; padding: 0; cursor: pointer; line-height: 0; }
.hc-menu-toggle img { width: 26px; height: 26px; }
.hc-offcanvas { position: fixed; inset: 0; z-index: 1000; background: rgba(0,0,0,.4); }
.hc-offcanvas[hidden] { display: none; }
.hc-offcanvas__panel { width: min(350px, 85vw); height: 100%; background: #fff; padding: 20px; box-sizing: border-box; overflow-y: auto; display: flex; flex-direction: column; gap: 20px; }
.hc-offcanvas__close { align-self: flex-end; background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: #333; }
.hc-offcanvas__logo img { display: block; width: 200px; }
.hc-offcanvas__menu { list-style: none; margin: 0; padding: 0; }
.hc-offcanvas__menu a { display: block; padding: 12px 0; font-family: var(--wp--preset--font-family--montserrat); font-size: 16px; font-weight: 600; color: #000; text-decoration: none; border-bottom: 1px solid #eee; }
.hc-offcanvas__menu a:hover { color: var(--wp--preset--color--light-blue); }
.hc-offcanvas__cta { align-self: flex-start; font-family: var(--wp--preset--font-family--montserrat) !important; font-size: 16px !important; font-weight: 600 !important; padding: 20px !important; }

/* ---------- Banners and hero ---------- */
.hc-banner { min-height: 450px; }
.hc-banner .wp-block-cover__inner-container { padding: 0 10px; }
.hc-banner__title { margin: 0; font-size: 42px; line-height: 60px; }
.hc-banner__title.has-display-font-size { font-size: 60px; }
.hc-banner__title--post { font-size: 60px; line-height: 70px; }
@media (max-width: 1024px) {
	.hc-banner { min-height: 300px !important; }
	.hc-banner__title, .hc-banner__title.has-display-font-size { font-size: 44px !important; line-height: 48px; }
}
@media (max-width: 767px) {
	.hc-banner { min-height: 250px !important; }
	.hc-banner__title, .hc-banner__title.has-display-font-size { font-size: 32px !important; line-height: 40px; }
	.hc-banner__title--post { font-size: 28px !important; line-height: 34px; }
}
.hc-hero { min-height: 500px; }
.hc-hero__title { font-size: 50px; line-height: 1.2; }
.hc-hero__tagline { line-height: 1.3; }
@media (max-width: 1024px) {
	.hc-hero--mobile { min-height: 573px !important; }
	.hc-hero__title { font-size: 44px; }
}
@media (max-width: 767px) {
	.hc-hero--mobile { min-height: 320px !important; }
	.hc-hero__title { font-size: 34px; }
	.hc-hero__tagline { font-size: 22px !important; margin-top: 0; }
}

/* ---------- Facility list (Home) ---------- */
/* The blue shape starts at the very left edge of the screen, flush with the hero above (Sam, 2026-11-01: the
   10px global padding left a white gap that Elementor had too). */
.hc-facility-banner { position: relative; }
.hc-facility-banner.has-global-padding { padding-left: 0 !important; }
.hc-facility-banner::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--wp--preset--color--blue); z-index: 1; }
.hc-facility-banner__shape {
	position: relative; z-index: 2; width: 33%; margin-right: auto !important; margin-left: 0 !important;
	background: var(--wp--preset--color--blue);
	--banner-height: 56px;
	clip-path: polygon(0 0, calc(100% - var(--banner-height)) 0, 100% 100%, 0 100%);
	padding: 18px 40px 18px 30px; box-sizing: border-box;
}
.hc-facility-banner__title { margin: 0; text-align: left; font-weight: 700; line-height: 1.2; }
@media (max-width: 767px) {
	/* measured on live at 390px: banner 20px under the hero, 60px tall, 18/40/18/30 padding, 20px/24px title */
	.hc-facility-banner { margin-top: 20px !important; }
	.hc-facility-banner__shape { width: 60%; clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%); padding: 18px 40px 18px 30px; }
	.hc-facility-banner__title { white-space: nowrap; font-size: 20px !important; line-height: 24px !important; }
}
.hc-facility-row { margin-top: 40px; }
.hc-facility-row__columns { gap: 20px; align-items: flex-start; }
.hc-facility-row__text { margin-left: -25px; }
.hc-facility-row__image img { width: 100%; }
.hc-facility-row + .hc-facility-row { margin-top: 40px; }
/* Converted Home rows are plain columns inside .hc-facility-list. Elementor's default 10px container padding
   (row + inner image/list containers) put 40px between rows and ~46px under the banner, with the text column
   starting ~10px below the photo top. Tablet and desktop only; phones have their own rhythm below. */
@media (min-width: 768px) {
	.hc-facility-list > .hc-facility-row__columns { margin-block-start: 40px !important; }
	.hc-facility-list > .hc-facility-row__columns:first-child { margin-block-start: 46px !important; }
	.hc-facility-list > .hc-facility-row__columns > .wp-block-column:last-child { padding-top: 10px; }
}
/* Desktop: the rows sit in the same 1120px column as the header logo/button and every other section, so the photo
   and the text read as one centred block (Sam, 2026-11-01; Elementor had them at 95% of the screen). Photo 60%,
   text 40% so the lists keep a comfortable line length in the narrower column. */
@media (min-width: 1025px) {
	.hc-facility-list > .hc-facility-row__columns { max-width: var(--wp--style--global--content-size, 1120px) !important; }
	.hc-facility-list > .hc-facility-row__columns > .wp-block-column:first-child { flex-basis: 60% !important; }
	.hc-facility-list > .hc-facility-row__columns > .wp-block-column:last-child { flex-basis: 40% !important; }
}
@media (max-width: 767px) {
	.hc-facility-row__text { margin-left: 0; margin-top: -10px; text-align: center; }
	.hc-facility-row__text .wp-block-list { text-align: left; }
	.hc-facility-row__image img { height: 251px; object-fit: cover; }
}

/* ---------- Split sections ---------- */
.hc-split__columns { gap: 50px; }
@media (max-width: 1024px) { .hc-split__columns { gap: 20px; } }
@media (max-width: 767px) {
	.hc-split__columns--reverse-mobile { flex-direction: column-reverse; }
	.hc-section { padding-top: 40px !important; padding-bottom: 40px !important; }
	.hc-split--dark { margin-top: 50px !important; }
}
@media (min-width: 1025px) {
	.hc-sticky { position: sticky; top: 130px; align-self: flex-start; z-index: 2; }
}
.hc-split .wp-block-image img { width: 100%; border-radius: 10px; }
.hc-split--dark .wp-block-image img, .hc-split .wp-block-image img { display: block; }

/* ---------- Cards ---------- */
.hc-cards { gap: 20px; }
/* No soft shadows on the site (Sam, 2026-11-01: they look dated); the hover is a thin light-blue outline. */
.hc-card { border-radius: 10px; border: 1px solid transparent; transition: border-color .3s; }
.hc-card:hover { border-color: var(--wp--preset--color--light-blue); }
.hc-card--left { text-align: left; }
.hc-card__icon { margin-bottom: 20px; opacity: .9; }
.hc-card__icon img { border-radius: 10px; }
@media (max-width: 1024px) and (min-width: 768px) {
	.hc-cards { flex-wrap: wrap; }
	.hc-cards > .wp-block-column { flex-basis: 48% !important; flex-grow: 0; }
}
@media (max-width: 767px) {
	.hc-cards { gap: 20px; }
}

/* ---------- Logo slider ---------- */
.hc-slider { position: relative; padding: 0 40px; --hc-show: 7; }
@media (max-width: 1024px) { .hc-slider { --hc-show: 3; } }
@media (max-width: 767px) { .hc-slider { --hc-show: 2; } }
.hc-slider__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.hc-slider__viewport::-webkit-scrollbar { display: none; }
.hc-slider__track { list-style: none; margin: 0; padding: 0; display: flex; }
.hc-slider__slide { flex: 0 0 calc(100% / var(--hc-show)); scroll-snap-align: start; display: flex; align-items: center; justify-content: center; padding: 20px 15px; box-sizing: border-box; margin: 0; }
.hc-slider__slide img { width: 100%; height: auto; }
.hc-slider__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border: 0; background: none; cursor: pointer; }
.hc-slider__arrow::before { content: ""; display: block; width: 12px; height: 12px; border-left: 2px solid #bbb; border-bottom: 2px solid #bbb; margin: auto; }
.hc-slider__arrow--prev { left: 0; } .hc-slider__arrow--prev::before { transform: rotate(45deg); }
.hc-slider__arrow--next { right: 0; } .hc-slider__arrow--next::before { transform: rotate(-135deg); }
/* 6px dots as on live, inside 24px buttons so they are big enough to tap (Lighthouse "target-size"). */
.hc-slider__dots { display: flex; justify-content: center; gap: 0; margin-top: 1px; }
.hc-slider__dot { position: relative; width: 24px; height: 24px; border: 0; padding: 0; background: none; cursor: pointer; }
.hc-slider__dot::before { content: ""; position: absolute; left: 9px; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: #bbb; }
.hc-slider__dot.is-active::before { background: var(--wp--preset--color--light-blue); }
/* Marquee mode (theme.js adds .is-marquee unless the visitor asked for reduced motion): the logos glide slowly and
   endlessly to the left, the second copy of the list makes the loop seamless, hovering or focusing pauses it.
   Arrows and dots only make sense for the step-by-step slider, so they hide here (Sam, 2026-11-01). */
.hc-slider.is-marquee { padding: 0; }
.hc-slider.is-marquee .hc-slider__viewport { overflow: hidden; scroll-snap-type: none; container-type: inline-size; }
.hc-slider.is-marquee .hc-slider__track { width: max-content; animation: hcMarquee var(--hc-marquee-time, 40s) linear infinite; }
.hc-slider.is-marquee .hc-slider__slide { flex: 0 0 calc(100cqw / var(--hc-show)); width: calc(100cqw / var(--hc-show)); }
.hc-slider.is-marquee:hover .hc-slider__track, .hc-slider.is-marquee:focus-within .hc-slider__track { animation-play-state: paused; }
.hc-slider.is-marquee .hc-slider__arrow, .hc-slider.is-marquee .hc-slider__dots { display: none; }
@keyframes hcMarquee { to { transform: translateX(-50%); } }

/* ---------- Accordion (Industries) ---------- */
.hc-accordion { display: flex; flex-direction: column; gap: 10px; }
/* As in Elementor's nested accordion: the colour belongs to the title bar only (cloud, light-blue tint on hover and
   when open); the open text sits below it on white with 30px padding, one clean block (Sam, 2026-11-01: the tint
   used to show as stripes between the paragraphs). */
.hc-accordion__item { border-radius: 10px; }
.hc-accordion__item summary { background: var(--wp--preset--color--cloud); border-radius: 10px; padding: 20px; transition: background-color .3s; }
.hc-accordion__item summary:hover, .hc-accordion__item[open] > summary { background: #5299D333; }
.hc-accordion__item summary { list-style: none; cursor: pointer; font-family: var(--wp--preset--font-family--circular); font-size: 25px; font-weight: 500; color: var(--wp--preset--color--heading); display: flex; align-items: center; gap: 12px; }
.hc-accordion__item summary::-webkit-details-marker { display: none; }
.hc-accordion__item summary::before { content: "+"; font-size: 24px; line-height: 1; width: 16px; }
.hc-accordion__item[open] summary::before { content: "\2212"; }
.hc-accordion__item > p { margin: 0; padding: 0 30px; }
.hc-accordion__item > summary + p { padding-top: 30px; }
.hc-accordion__item > p + p { margin-top: 1em; }
.hc-accordion__item > p:last-child { padding-bottom: 30px; }
/* Breathing room between the last industry and the dark Stay Connected band: the page's section rhythm,
   80px on desktop and tablet, 40px on phones (the same as .hc-section). */
.wp-block-post-content > .wp-block-group:has(> .hc-accordion), .hc-accordion-section { padding-bottom: 80px; }
@media (max-width: 767px) {
	.wp-block-post-content > .wp-block-group:has(> .hc-accordion), .hc-accordion-section { padding-bottom: 40px; }
}
@media (max-width: 767px) {
	.hc-accordion__item summary { font-size: 20px; }
	.hc-accordion__item > p { font-size: 16px !important; }
	.hc-accordion-section { padding-left: 10px; padding-right: 10px; }
}

/* ---------- Intro, contact boxes, form box, map ---------- */
.hc-intro__lead { max-width: 83%; margin-left: auto !important; margin-right: auto !important; }
/* Framed boxes (Contact and Quote forms): a thin flat border instead of the soft shadow halo (Sam, 2026-11-01). */
.hc-frame { border: 1px solid #DCE6F2 !important; border-radius: 10px; }
.hc-contact-boxes { gap: 20px; }
/* The three boxes share one height (the address wraps to two lines), so their row lines up with the full-width form
   box below; content stays centred inside each box. */
.hc-contact-boxes > .wp-block-column { align-self: stretch !important; display: flex; flex-direction: column; justify-content: center; }
.hc-contact-box { text-align: center; }
.hc-contact-box__link { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--wp--preset--color--heading); text-decoration: none; }
.hc-contact-box__icon { width: 26px; height: 26px; color: var(--wp--preset--color--heading); transition: color .3s; }
.hc-contact-box__title { font-size: 22px; font-weight: 500; line-height: 1.3; transition: color .3s; }
.hc-contact-box__text { font-size: 16px; font-weight: 400; line-height: 1.5; }
.hc-contact-box__link:hover .hc-contact-box__icon, .hc-contact-box__link:hover .hc-contact-box__title { color: var(--wp--preset--color--blue); }
/* beats WordPress' constrained-layout max-width (same specificity, printed later) */
/* Form boxes span the full 1120px content column: on Contact Us they line up with the three contact boxes, on
   Request A Quote with the intro text above (Sam, 2026-11-01; Elementor had them at 80%). */
.is-layout-constrained > .wp-block-group.hc-form-box { max-width: var(--wp--style--global--content-size, 1120px); }
/* Request A Quote: 50px between the intro text and the form box (it was 10px and read as cramped). */
.wp-block-post-content > .alignfull:has(> .hc-form-box):not(:has(.hc-contact-boxes)) { margin-top: 50px !important; }
/* Tablets: the intro keeps Elementor's 20px bottom padding there and the generated tablet rule zeroes this margin,
   so 30px more (repeated classes outrank the generated six-class rule) = the same 50px as on desktop. */
@media (min-width: 768px) and (max-width: 1024px) {
	.wp-block-post-content.wp-block-post-content.wp-block-post-content > .alignfull.alignfull.alignfull:has(> .hc-form-box):not(:has(.hc-contact-boxes)) { margin-top: 30px !important; }
}
@media (max-width: 767px) {  /* the intro has 40px bottom padding on phones: 40 + 10 = 50px */
	.wp-block-post-content > .alignfull:has(> .hc-form-box):not(:has(.hc-contact-boxes)) { margin-top: 10px !important; }
}
@media (max-width: 767px) {
	.is-layout-constrained > .wp-block-group.hc-form-box { max-width: 100%; padding: 20px !important; }
	.hc-frame { padding: 0 10px !important; }
}
.hc-map__frame { display: block; width: 100%; height: 395px; border: 0; }
@media (max-width: 1024px) { .hc-map__frame { height: 300px; } }
@media (max-width: 767px) { .hc-map__frame { height: 250px; } }

/* ---------- Posts grid, single post ---------- */
.hc-posts__grid { gap: 20px; }
.hc-posts .wp-block-post-featured-image img { border-radius: 10px; }
.hc-posts__title { font-size: 22px; font-weight: 500; color: var(--wp--preset--color--dark); line-height: 1.3; }
.hc-posts__title a { color: inherit; text-decoration: none; }
.hc-posts__excerpt { font-size: 16px; font-weight: 500; }
.hc-posts__excerpt .wp-block-post-excerpt__more-link { display: inline-block; margin-top: 12px; font-family: var(--wp--preset--font-family--roboto); font-size: 16px; font-weight: 500; color: var(--wp--preset--color--light-blue); text-decoration: none; }
.hc-post-body .wp-block-post-featured-image img { border-radius: 20px; }
.hc-post-content { font-size: 19px; font-weight: 400; }
.hc-post-content > * + * { margin-block-start: 20px; }
@media (max-width: 1024px) { .hc-post-body { margin-top: 60px !important; margin-bottom: 50px !important; } }
@media (max-width: 767px) { .hc-post-body { margin-top: 40px !important; margin-bottom: 40px !important; } .hc-posts-section { margin: 0 !important; } }

/* ---------- Entrance animations ---------- */
/* The Elementor entrance animations, back (Sam, 2026-11-01): convert_elementor.py tags each animated element with
   hc-anim + hc-anim--<name> (+ hc-anim--d500 delay, hc-anim-m--<name> for phones); theme.js adds .is-in when it
   scrolls into view. Same keyframes and 1.25s timing as Elementor (animate.css). Only active when the head script
   set html.hc-anim-on (JavaScript on, no reduced-motion preference), so nothing is ever hidden without it. */
.hc-anim-on .hc-anim:not(.is-in) { opacity: 0; }
.hc-anim.is-in { animation-duration: 1.25s; animation-fill-mode: both; }
.hc-anim--fadeInLeft.is-in { animation-name: hcFadeInLeft; }
.hc-anim--fadeInRight.is-in { animation-name: hcFadeInRight; }
.hc-anim--fadeInUp.is-in { animation-name: hcFadeInUp; }
.hc-anim--fadeIn.is-in { animation-name: hcFadeIn; }
.hc-anim--d500.is-in { animation-delay: .5s; }
@media (max-width: 767px) { .hc-anim-m--fadeIn.is-in { animation-name: hcFadeIn; } }
@keyframes hcFadeInLeft { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes hcFadeInRight { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes hcFadeInUp { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@keyframes hcFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ---------- Stay Connected band ---------- */
.hc-stay__row { gap: 0; align-items: center; }
.hc-stay__intro { width: 27%; }
.hc-stay__title { margin: 0; }
/* 12px of air between "Stay Connected!" and the icons (Sam, 2026-11-01: they were almost touching; Elementor
   pulled them up with -15px under a 60px line height). */
.hc-stay__title.hc-stay__title { line-height: 1.2 !important; }
.hc-social { list-style: none; margin: 12px 0 0; padding: 0; display: flex; gap: 10px; }
.hc-social a { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--wp--preset--color--white); color: var(--wp--preset--color--dark); transition: background-color .3s, color .3s, transform .3s; }
.hc-social svg { width: 18px; height: 18px; }
.hc-social a:hover { background: var(--wp--preset--color--dark); color: var(--wp--preset--color--light-blue); transform: scale(.9); }
.hc-subscribe { width: 66.6666%; display: flex; gap: 10px; align-items: stretch; margin: 0; padding: 0 0 0 15px; box-sizing: border-box; }
.hc-subscribe__field { flex: 1 1 33%; min-width: 0; height: 58px; padding: 0 20px; box-sizing: border-box; border: 1px solid var(--wp--preset--color--dark); border-radius: 7px; background: var(--wp--preset--color--ice); font-family: var(--wp--preset--font-family--circular); font-size: 16px; font-weight: 400; color: #000; }
.hc-subscribe__field::placeholder { color: #333; font-weight: 400; }
.hc-subscribe__button { flex: 1 1 33%; height: 58px; border: 0; border-radius: 7px; background: var(--wp--preset--color--blue); color: #fff; font-family: var(--wp--preset--font-family--circular); font-size: 15px; font-weight: 500; cursor: pointer; transition: background-color .3s, transform .3s; }
.hc-subscribe__button:hover { background: var(--wp--preset--color--dark); transform: scale(.95); }
@media (max-width: 1024px) { .hc-stay__intro { width: 31%; } }
@media (max-width: 767px) {
	.hc-stay__intro, .hc-subscribe { width: 100%; }
	.hc-stay__title { text-align: center; }
	.hc-social { justify-content: center; }
	.hc-subscribe { flex-direction: column; padding: 20px 0 0; }
	.hc-subscribe__field, .hc-subscribe__button { flex: 0 0 auto; width: 100%; }
}

/* ---------- Footer ---------- */
.hc-footer__columns { gap: 0 !important; }
.hc-footer__about { padding-right: 40px; }
.hc-footer__logo { margin-bottom: 20px; }
.hc-footer__logo img { width: 115px; }
.hc-footer__address, .hc-footer__contact { color: var(--wp--preset--color--white); }
.hc-footer__contact a { color: var(--wp--preset--color--white); text-decoration: none; }
.hc-footer__heading { color: var(--wp--preset--color--white); margin-bottom: 20px; }
.hc-footer__links { list-style: none; padding: 0 !important; margin: 0; }
.hc-footer__links li { margin: 0 0 14px; line-height: 1.5; }
.hc-footer__links a { color: var(--wp--preset--color--white); text-decoration: none; }
.hc-footer__links a:hover { color: var(--wp--preset--color--light-blue); }
.hc-footer__bottom { border-top-style: solid; }
.hc-footer__bottom p { margin: 0; }
@media (max-width: 1024px) {
	.hc-footer__logo img { width: 150px; }
}
/* Tablet footer as on live (Elementor footer template 34): address column full width, then the three link
   columns at 38 / 32 / 25 % with 20px top margin on Services and Helpful Links. Three classes to beat core's
   "flex-wrap: nowrap !important" on columns from 782px up. */
@media (min-width: 768px) and (max-width: 1024px) {
	.hc-footer .hc-footer__columns.hc-footer__columns.hc-footer__columns.hc-footer__columns { flex-wrap: wrap !important; }
	.hc-footer .hc-footer__columns > .hc-footer__about.hc-footer__about.hc-footer__about.hc-footer__about { flex-basis: 100% !important; flex-grow: 0 !important; padding: 0 10px; }
	.hc-footer .hc-footer__columns > .hc-footer__col--services.hc-footer__col--services.hc-footer__col--services.hc-footer__col--services { flex-basis: 38% !important; flex-grow: 0 !important; margin-top: 20px; }
	.hc-footer .hc-footer__columns > .hc-footer__col--industries.hc-footer__col--industries.hc-footer__col--industries.hc-footer__col--industries { flex-basis: 32% !important; flex-grow: 0 !important; }
	.hc-footer .hc-footer__columns > .hc-footer__col--links.hc-footer__col--links.hc-footer__col--links.hc-footer__col--links { flex-basis: 25% !important; flex-grow: 0 !important; margin-top: 20px; }
}
@media (max-width: 767px) {
	.hc-footer { padding-bottom: 20px !important; }
	.hc-footer__about { text-align: center; padding: 0 0 0 10px; }
	.hc-footer__logo img { width: 90px; margin: 0 auto; }
	.hc-footer__address { font-size: 16px !important; }
	.hc-footer__columns > .wp-block-column { text-align: center; }
	.hc-footer__links li { margin-bottom: 10px; }
}

/* ---------- Ported from the Customizer "Additional CSS" of Hello Elementor (post 290) ----------
   WordPress stores Additional CSS per theme, so it disappears when the theme changes. These are the rules
   that still apply without Elementor (original in reference/site/customizer-additional-css-290.css). */
input, textarea { background: var(--wp--preset--color--ice) !important; border-radius: 7px !important; }
span.select2-selection.select2-selection--single { background: var(--wp--preset--color--ice) !important; border-radius: 7px; }
html span.forminator-select-dropdown.forminator-custom-form-1045.forminator-dropdown--flat.forminator-select-dropdown--below { background: #fff !important; }
.forminator-select-dropdown-container--open .forminator-custom-form-1045.forminator-dropdown--flat .select2-results .select2-results__options .select2-results__option.select2-results__option--selected { background-color: #000 !important; color: #fff; }
.forminator-select-dropdown-container--open .forminator-custom-form-1045.forminator-dropdown--flat .select2-results .select2-results__options .select2-results__option:not(.select2-results__option--selected).select2-results__option--highlighted,
.forminator-select-dropdown-container--open .forminator-custom-form-1045.forminator-dropdown--flat .select2-results .select2-results__options .select2-results__option:not(.select2-results__option--selected).select2-results__option--highlighted span:not(.forminator-checkbox-box) { background-color: #000 !important; color: #fff !important; }
.forminator-label { font-size: 16px !important; }
.forminator-field.forminator-merge-tags .forminator-label { font-size: 26px !important; }
.forminator-ui label { font-family: var(--wp--preset--font-family--circular) !important; font-weight: 400 !important; }
.forminator-row button { background-color: var(--wp--preset--color--light-blue) !important; font-family: var(--wp--preset--font-family--circular); font-weight: 500 !important; border-radius: 7px !important; padding: 15px 20px !important; color: #fff !important; }
button.forminator-button.forminator-button-submit { background-color: var(--wp--preset--color--blue) !important; font-family: var(--wp--preset--font-family--circular); font-weight: 500 !important; border-radius: 7px !important; padding: 15px 20px !important; color: #fff !important; }
button.forminator-button.forminator-button-submit:hover { background-color: var(--wp--preset--color--light-blue) !important; }
.hc-subscribe__field { padding: 20px !important; }
/* Card icons flip on hover (".col-hvr" in Elementor) */
.hc-card { perspective: 1000px; }
.hc-card img { transition: transform .6s; transform-style: preserve-3d; }
.hc-card:hover img { transform: rotateY(180deg); }
/* Footer logo shown white (".lgo-ftr") */
.hc-footer__logo img { filter: brightness(0) invert(1); }
/* Post titles and excerpts clamp to two lines (".blog-sec") */
.hc-posts__title, .hc-posts__excerpt .wp-block-post-excerpt__excerpt { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
/* Lists inside the Services rows (".li-txt") */
.hc-capabilities { padding-left: 16px !important; padding-bottom: 10px; }
.hc-capabilities li { padding-top: 7px; margin-bottom: 0; }

/* Facility list photos: Elementor showed "large" images at most 800px wide (Hello's content width). */
.hc-facility-list .wp-block-image img { width: auto !important; max-width: min(100%, 800px); }
.hc-facility-list .wp-block-column:first-child .wp-block-image { display: flex; justify-content: flex-end; }

/* Phone side margins: Elementor's nested containers each added 10px, so content sat 20px from the edge
   (30px in the Facility List rows). */
@media (max-width: 767px) {
	.hc-main .wp-block-post-content > .alignfull.has-global-padding:not(.wp-block-cover):not(.hc-facility-banner):not(.hc-map) { padding-left: 20px !important; padding-right: 20px !important; }
	.hc-main .wp-block-post-content > .alignfull.hc-facility-list { padding-left: 30px !important; padding-right: 30px !important; }
}

/* Elementor's posts widget defaults to 2 columns on tablets (a default it does not store in the page data). */
@media (min-width: 768px) and (max-width: 1024px) {
	.hc-posts__grid.hc-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Stay Connected form = Forminator form (since 2026-11-01), laid out like the old Elementor box: Name | Email |
   Subscribe in one row of 58px fields (stacked on phones), labels kept for screen readers only. */
.hc-subscribe--forminator { display: block; }
.hc-subscribe--forminator form.forminator-custom-form { display: flex !important; flex-wrap: wrap; gap: 10px; align-items: stretch; margin: 0 !important; padding: 0 !important; background: none !important; }
.hc-subscribe--forminator .forminator-row { display: flex; gap: 10px; margin: 0 !important; flex: 2 1 0; }
.hc-subscribe--forminator .forminator-row-last { flex: 1 1 0; }
.hc-subscribe--forminator .forminator-col { flex: 1 1 0; min-width: 0; max-width: none; padding: 0 !important; margin: 0 !important; }
.hc-subscribe--forminator .forminator-field { margin: 0 !important; }
.hc-subscribe--forminator .forminator-label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hc-subscribe--forminator .forminator-input { height: 58px !important; padding: 0 20px !important; box-sizing: border-box; border: 1px solid var(--wp--preset--color--dark) !important; border-radius: 7px !important; background: var(--wp--preset--color--ice) !important; font-family: var(--wp--preset--font-family--circular) !important; font-size: 16px !important; font-weight: 400; color: #000 !important; }
.hc-subscribe--forminator .forminator-input::placeholder { color: #333; }
.hc-subscribe--forminator .forminator-button-submit { display: block !important; width: 100% !important; height: 58px !important; padding: 0 !important; margin: 0 !important; border: 0; border-radius: 7px !important; background: var(--wp--preset--color--blue) !important; color: #fff !important; font-family: var(--wp--preset--font-family--circular) !important; font-size: 15px !important; font-weight: 500; cursor: pointer; transition: background-color .3s, transform .3s; }
.hc-subscribe--forminator .forminator-button-submit:hover { background: var(--wp--preset--color--dark) !important; transform: scale(.95); }
.hc-subscribe--forminator .forminator-response-message { flex-basis: 100%; margin: 0 !important; }
.hc-subscribe--forminator .forminator-response-message[aria-hidden="true"] { display: none !important; }
.hc-subscribe--forminator .forminator-error-message { position: absolute; font-size: 13px; color: #ffb4b4 !important; background: none !important; padding: 2px 0 0 !important; }
.hc-subscribe--forminator .forminator-field { position: relative; }
@media (max-width: 767px) {
	.hc-subscribe--forminator form.forminator-custom-form, .hc-subscribe--forminator .forminator-row { flex-direction: column; }
	.hc-subscribe--forminator .forminator-row, .hc-subscribe--forminator .forminator-col { flex: 0 0 auto; width: 100%; }
}

/* ==== TABLET: generated by convert_elementor.py, do not edit by hand ==== */
@media (min-width: 768px) and (max-width: 781px) {
	.wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis:35%"] { flex-basis: 35% !important; flex-grow: 0 !important; }
	.wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis:65%"] { flex-basis: 65% !important; flex-grow: 0 !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.hc-t-465ad8a.hc-t-465ad8a.hc-t-465ad8a.hc-t-465ad8a.hc-t-465ad8a.hc-t-465ad8a { min-height: 573px !important; }
	.hc-t-275c491.hc-t-275c491.hc-t-275c491.hc-t-275c491.hc-t-275c491.hc-t-275c491 { min-height: 573px !important; }
	.hc-t-5f909c2.hc-t-5f909c2.hc-t-5f909c2.hc-t-5f909c2.hc-t-5f909c2.hc-t-5f909c2 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-55689f8.hc-t-55689f8.hc-t-55689f8.hc-t-55689f8.hc-t-55689f8.hc-t-55689f8 .wp-block-button__link { font-size: 18px !important; }
	.hc-t-ee6c660.hc-t-ee6c660.hc-t-ee6c660.hc-t-ee6c660.hc-t-ee6c660.hc-t-ee6c660 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-8384422.hc-t-8384422.hc-t-8384422.hc-t-8384422.hc-t-8384422.hc-t-8384422 .wp-block-button__link { font-size: 18px !important; }
	.hc-t-82ea168.hc-t-82ea168.hc-t-82ea168.hc-t-82ea168.hc-t-82ea168.hc-t-82ea168 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-c57b5c9.hc-t-c57b5c9.hc-t-c57b5c9.hc-t-c57b5c9.hc-t-c57b5c9.hc-t-c57b5c9 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-5e00129.hc-t-5e00129.hc-t-5e00129.hc-t-5e00129.hc-t-5e00129.hc-t-5e00129 { padding-top: 60px !important; padding-right: 10px !important; padding-bottom: 60px !important; padding-left: 10px !important; }
	.hc-t-709b6cb.hc-t-709b6cb.hc-t-709b6cb.hc-t-709b6cb.hc-t-709b6cb.hc-t-709b6cb { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-5f06d2a-r.hc-t-5f06d2a-r.hc-t-5f06d2a-r.hc-t-5f06d2a-r.hc-t-5f06d2a-r.hc-t-5f06d2a-r { flex-wrap: wrap !important; }
	.hc-t-4d5562f.hc-t-4d5562f.hc-t-4d5562f.hc-t-4d5562f.hc-t-4d5562f.hc-t-4d5562f { flex-basis: 48% !important; flex-grow: 0 !important; }
	.hc-t-96e7d58.hc-t-96e7d58.hc-t-96e7d58.hc-t-96e7d58.hc-t-96e7d58.hc-t-96e7d58 { font-size: 22px !important; }
	.hc-t-274582b.hc-t-274582b.hc-t-274582b.hc-t-274582b.hc-t-274582b.hc-t-274582b { flex-basis: 48% !important; flex-grow: 0 !important; }
	.hc-t-d8a9d26.hc-t-d8a9d26.hc-t-d8a9d26.hc-t-d8a9d26.hc-t-d8a9d26.hc-t-d8a9d26 { font-size: 22px !important; }
	.hc-t-758cc55.hc-t-758cc55.hc-t-758cc55.hc-t-758cc55.hc-t-758cc55.hc-t-758cc55 { flex-basis: 48% !important; flex-grow: 0 !important; }
	.hc-t-21b5cac.hc-t-21b5cac.hc-t-21b5cac.hc-t-21b5cac.hc-t-21b5cac.hc-t-21b5cac { font-size: 22px !important; }
	.hc-t-32500fe.hc-t-32500fe.hc-t-32500fe.hc-t-32500fe.hc-t-32500fe.hc-t-32500fe { flex-basis: 48% !important; flex-grow: 0 !important; }
	.hc-t-d5694bc.hc-t-d5694bc.hc-t-d5694bc.hc-t-d5694bc.hc-t-d5694bc.hc-t-d5694bc { font-size: 22px !important; }
	.hc-t-e8dca19.hc-t-e8dca19.hc-t-e8dca19.hc-t-e8dca19.hc-t-e8dca19.hc-t-e8dca19 { margin-top: 0 !important; margin-bottom: 20px !important; font-size: 28px !important; line-height: 38px !important; }
	.hc-t-a0909e9.hc-t-a0909e9.hc-t-a0909e9.hc-t-a0909e9.hc-t-a0909e9.hc-t-a0909e9 { font-size: 44px !important; line-height: 38px !important; }
	.hc-t-e685320.hc-t-e685320.hc-t-e685320.hc-t-e685320.hc-t-e685320.hc-t-e685320 { min-height: 300px !important; }
	.hc-t-3651686.hc-t-3651686.hc-t-3651686.hc-t-3651686.hc-t-3651686.hc-t-3651686 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-3651686-r.hc-t-3651686-r.hc-t-3651686-r.hc-t-3651686-r.hc-t-3651686-r.hc-t-3651686-r { column-gap: 20px !important; }
	.hc-t-2016482.hc-t-2016482.hc-t-2016482.hc-t-2016482.hc-t-2016482.hc-t-2016482 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-21ac788.hc-t-21ac788.hc-t-21ac788.hc-t-21ac788.hc-t-21ac788.hc-t-21ac788 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-21ac788-r.hc-t-21ac788-r.hc-t-21ac788-r.hc-t-21ac788-r.hc-t-21ac788-r.hc-t-21ac788-r { column-gap: 20px !important; }
	.hc-t-e5a5d13.hc-t-e5a5d13.hc-t-e5a5d13.hc-t-e5a5d13.hc-t-e5a5d13.hc-t-e5a5d13 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-85c62d1.hc-t-85c62d1.hc-t-85c62d1.hc-t-85c62d1.hc-t-85c62d1.hc-t-85c62d1 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-85c62d1-r.hc-t-85c62d1-r.hc-t-85c62d1-r.hc-t-85c62d1-r.hc-t-85c62d1-r.hc-t-85c62d1-r { column-gap: 20px !important; }
	.hc-t-84ffc6d.hc-t-84ffc6d.hc-t-84ffc6d.hc-t-84ffc6d.hc-t-84ffc6d.hc-t-84ffc6d { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-6680597.hc-t-6680597.hc-t-6680597.hc-t-6680597.hc-t-6680597.hc-t-6680597 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-6680597-r.hc-t-6680597-r.hc-t-6680597-r.hc-t-6680597-r.hc-t-6680597-r.hc-t-6680597-r { column-gap: 20px !important; }
	.hc-t-e5ca7b9.hc-t-e5ca7b9.hc-t-e5ca7b9.hc-t-e5ca7b9.hc-t-e5ca7b9.hc-t-e5ca7b9 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-5bb3b97.hc-t-5bb3b97.hc-t-5bb3b97.hc-t-5bb3b97.hc-t-5bb3b97.hc-t-5bb3b97 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-5bb3b97-r.hc-t-5bb3b97-r.hc-t-5bb3b97-r.hc-t-5bb3b97-r.hc-t-5bb3b97-r.hc-t-5bb3b97-r { column-gap: 20px !important; }
	.hc-t-12ad06b.hc-t-12ad06b.hc-t-12ad06b.hc-t-12ad06b.hc-t-12ad06b.hc-t-12ad06b { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-e959192.hc-t-e959192.hc-t-e959192.hc-t-e959192.hc-t-e959192.hc-t-e959192 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-e959192-r.hc-t-e959192-r.hc-t-e959192-r.hc-t-e959192-r.hc-t-e959192-r.hc-t-e959192-r { column-gap: 20px !important; }
	.hc-t-3aedf5e.hc-t-3aedf5e.hc-t-3aedf5e.hc-t-3aedf5e.hc-t-3aedf5e.hc-t-3aedf5e { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-5d89b7e.hc-t-5d89b7e.hc-t-5d89b7e.hc-t-5d89b7e.hc-t-5d89b7e.hc-t-5d89b7e { font-size: 44px !important; line-height: 38px !important; }
	.hc-t-101dc94.hc-t-101dc94.hc-t-101dc94.hc-t-101dc94.hc-t-101dc94.hc-t-101dc94 { min-height: 300px !important; }
	.hc-t-2b2b13d.hc-t-2b2b13d.hc-t-2b2b13d.hc-t-2b2b13d.hc-t-2b2b13d.hc-t-2b2b13d { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-2b2b13d-r.hc-t-2b2b13d-r.hc-t-2b2b13d-r.hc-t-2b2b13d-r.hc-t-2b2b13d-r.hc-t-2b2b13d-r { column-gap: 20px !important; }
	.hc-t-b4697ec.hc-t-b4697ec.hc-t-b4697ec.hc-t-b4697ec.hc-t-b4697ec.hc-t-b4697ec { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-dc10158.hc-t-dc10158.hc-t-dc10158.hc-t-dc10158.hc-t-dc10158.hc-t-dc10158 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-dc10158-r.hc-t-dc10158-r.hc-t-dc10158-r.hc-t-dc10158-r.hc-t-dc10158-r.hc-t-dc10158-r { column-gap: 20px !important; }
	.hc-t-9085d0a.hc-t-9085d0a.hc-t-9085d0a.hc-t-9085d0a.hc-t-9085d0a.hc-t-9085d0a { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-a759d9c.hc-t-a759d9c.hc-t-a759d9c.hc-t-a759d9c.hc-t-a759d9c.hc-t-a759d9c { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-a759d9c-r.hc-t-a759d9c-r.hc-t-a759d9c-r.hc-t-a759d9c-r.hc-t-a759d9c-r.hc-t-a759d9c-r { column-gap: 20px !important; }
	.hc-t-f0dfb09.hc-t-f0dfb09.hc-t-f0dfb09.hc-t-f0dfb09.hc-t-f0dfb09.hc-t-f0dfb09 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-a7181d8.hc-t-a7181d8.hc-t-a7181d8.hc-t-a7181d8.hc-t-a7181d8.hc-t-a7181d8 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-a7181d8-r.hc-t-a7181d8-r.hc-t-a7181d8-r.hc-t-a7181d8-r.hc-t-a7181d8-r.hc-t-a7181d8-r { column-gap: 20px !important; }
	.hc-t-00562a0.hc-t-00562a0.hc-t-00562a0.hc-t-00562a0.hc-t-00562a0.hc-t-00562a0 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-56d5146.hc-t-56d5146.hc-t-56d5146.hc-t-56d5146.hc-t-56d5146.hc-t-56d5146 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-56d5146-r.hc-t-56d5146-r.hc-t-56d5146-r.hc-t-56d5146-r.hc-t-56d5146-r.hc-t-56d5146-r { column-gap: 20px !important; }
	.hc-t-f24793b.hc-t-f24793b.hc-t-f24793b.hc-t-f24793b.hc-t-f24793b.hc-t-f24793b { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-a0dbbd0.hc-t-a0dbbd0.hc-t-a0dbbd0.hc-t-a0dbbd0.hc-t-a0dbbd0.hc-t-a0dbbd0 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; }
	.hc-t-a0dbbd0-r.hc-t-a0dbbd0-r.hc-t-a0dbbd0-r.hc-t-a0dbbd0-r.hc-t-a0dbbd0-r.hc-t-a0dbbd0-r { column-gap: 20px !important; }
	.hc-t-f2db804.hc-t-f2db804.hc-t-f2db804.hc-t-f2db804.hc-t-f2db804.hc-t-f2db804 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-4affbbf.hc-t-4affbbf.hc-t-4affbbf.hc-t-4affbbf.hc-t-4affbbf.hc-t-4affbbf { font-size: 44px !important; line-height: 38px !important; }
	.hc-t-e86e6e5.hc-t-e86e6e5.hc-t-e86e6e5.hc-t-e86e6e5.hc-t-e86e6e5.hc-t-e86e6e5 { min-height: 300px !important; }
	.hc-t-90d60bd.hc-t-90d60bd.hc-t-90d60bd.hc-t-90d60bd.hc-t-90d60bd.hc-t-90d60bd { padding-top: 0 !important; padding-right: 20px !important; padding-bottom: 0 !important; padding-left: 20px !important; }
	.hc-t-62ea98b.hc-t-62ea98b.hc-t-62ea98b.hc-t-62ea98b.hc-t-62ea98b.hc-t-62ea98b { font-size: 44px !important; line-height: 38px !important; }
	.hc-t-a126714.hc-t-a126714.hc-t-a126714.hc-t-a126714.hc-t-a126714.hc-t-a126714 { min-height: 300px !important; }
	.hc-t-66c3287.hc-t-66c3287.hc-t-66c3287.hc-t-66c3287.hc-t-66c3287.hc-t-66c3287 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 0 !important; padding-left: 10px !important; }
	.hc-t-66c3287-r.hc-t-66c3287-r.hc-t-66c3287-r.hc-t-66c3287-r.hc-t-66c3287-r.hc-t-66c3287-r { column-gap: 20px !important; }
	.hc-t-cf8e882.hc-t-cf8e882.hc-t-cf8e882.hc-t-cf8e882.hc-t-cf8e882.hc-t-cf8e882 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-4c7033a.hc-t-4c7033a.hc-t-4c7033a.hc-t-4c7033a.hc-t-4c7033a.hc-t-4c7033a { font-size: 18px !important; }
	.hc-t-8619e10.hc-t-8619e10.hc-t-8619e10.hc-t-8619e10.hc-t-8619e10.hc-t-8619e10 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; margin-top: 50px !important; margin-bottom: 0 !important; }
	.hc-t-8619e10-r.hc-t-8619e10-r.hc-t-8619e10-r.hc-t-8619e10-r.hc-t-8619e10-r.hc-t-8619e10-r { column-gap: 20px !important; }
	.hc-t-544998f.hc-t-544998f.hc-t-544998f.hc-t-544998f.hc-t-544998f.hc-t-544998f { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-46ec7de.hc-t-46ec7de.hc-t-46ec7de.hc-t-46ec7de.hc-t-46ec7de.hc-t-46ec7de { font-size: 18px !important; }
	.hc-t-eb01e4a.hc-t-eb01e4a.hc-t-eb01e4a.hc-t-eb01e4a.hc-t-eb01e4a.hc-t-eb01e4a { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 0 !important; padding-left: 10px !important; }
	.hc-t-eb01e4a-r.hc-t-eb01e4a-r.hc-t-eb01e4a-r.hc-t-eb01e4a-r.hc-t-eb01e4a-r.hc-t-eb01e4a-r { column-gap: 20px !important; }
	.hc-t-3564f32.hc-t-3564f32.hc-t-3564f32.hc-t-3564f32.hc-t-3564f32.hc-t-3564f32 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-2a74d53.hc-t-2a74d53.hc-t-2a74d53.hc-t-2a74d53.hc-t-2a74d53.hc-t-2a74d53 { font-size: 18px !important; }
	.hc-t-f164b20.hc-t-f164b20.hc-t-f164b20.hc-t-f164b20.hc-t-f164b20.hc-t-f164b20 { padding-top: 50px !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; margin-top: 50px !important; margin-bottom: 0 !important; }
	.hc-t-f164b20-r.hc-t-f164b20-r.hc-t-f164b20-r.hc-t-f164b20-r.hc-t-f164b20-r.hc-t-f164b20-r { column-gap: 20px !important; }
	.hc-t-577d1b5.hc-t-577d1b5.hc-t-577d1b5.hc-t-577d1b5.hc-t-577d1b5.hc-t-577d1b5 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-454e978.hc-t-454e978.hc-t-454e978.hc-t-454e978.hc-t-454e978.hc-t-454e978 { font-size: 18px !important; }
	.hc-t-989726f.hc-t-989726f.hc-t-989726f.hc-t-989726f.hc-t-989726f.hc-t-989726f { font-size: 44px !important; line-height: 38px !important; }
	.hc-t-7ed6f05.hc-t-7ed6f05.hc-t-7ed6f05.hc-t-7ed6f05.hc-t-7ed6f05.hc-t-7ed6f05 { min-height: 300px !important; }
	.hc-t-7b7865d.hc-t-7b7865d.hc-t-7b7865d.hc-t-7b7865d.hc-t-7b7865d.hc-t-7b7865d { padding-top: 60px !important; padding-right: 10px !important; padding-bottom: 60px !important; padding-left: 10px !important; }
	.hc-t-e804d4e-r.hc-t-e804d4e-r.hc-t-e804d4e-r.hc-t-e804d4e-r.hc-t-e804d4e-r.hc-t-e804d4e-r { flex-wrap: wrap !important; }
	.hc-t-9642213.hc-t-9642213.hc-t-9642213.hc-t-9642213.hc-t-9642213.hc-t-9642213 { flex-basis: 47% !important; flex-grow: 0 !important; }
	.hc-t-6581199.hc-t-6581199.hc-t-6581199.hc-t-6581199.hc-t-6581199.hc-t-6581199 { font-size: 22px !important; }
	.hc-t-50aea58.hc-t-50aea58.hc-t-50aea58.hc-t-50aea58.hc-t-50aea58.hc-t-50aea58 { flex-basis: 47% !important; flex-grow: 0 !important; }
	.hc-t-150dd66.hc-t-150dd66.hc-t-150dd66.hc-t-150dd66.hc-t-150dd66.hc-t-150dd66 { font-size: 22px !important; }
	.hc-t-cdc1e8d.hc-t-cdc1e8d.hc-t-cdc1e8d.hc-t-cdc1e8d.hc-t-cdc1e8d.hc-t-cdc1e8d { padding-top: 0 !important; padding-right: 10px !important; padding-bottom: 50px !important; padding-left: 10px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
	.hc-t-cdc1e8d-r.hc-t-cdc1e8d-r.hc-t-cdc1e8d-r.hc-t-cdc1e8d-r.hc-t-cdc1e8d-r.hc-t-cdc1e8d-r { column-gap: 20px !important; }
	.hc-t-819326d.hc-t-819326d.hc-t-819326d.hc-t-819326d.hc-t-819326d.hc-t-819326d { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-98f6397.hc-t-98f6397.hc-t-98f6397.hc-t-98f6397.hc-t-98f6397.hc-t-98f6397 { font-size: 44px !important; line-height: 38px !important; }
	.hc-t-f7f2a25.hc-t-f7f2a25.hc-t-f7f2a25.hc-t-f7f2a25.hc-t-f7f2a25.hc-t-f7f2a25 { min-height: 300px !important; }
	.hc-t-3c02bc6f.hc-t-3c02bc6f.hc-t-3c02bc6f.hc-t-3c02bc6f.hc-t-3c02bc6f.hc-t-3c02bc6f { padding-top: 40px !important; padding-right: 0 !important; padding-bottom: 20px !important; padding-left: 0 !important; }
	.hc-t-5784fa78.hc-t-5784fa78.hc-t-5784fa78.hc-t-5784fa78.hc-t-5784fa78.hc-t-5784fa78 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-2d31bff1-r.hc-t-2d31bff1-r.hc-t-2d31bff1-r.hc-t-2d31bff1-r.hc-t-2d31bff1-r.hc-t-2d31bff1-r { flex-direction: column !important; }
	.hc-t-2d31bff1-r.hc-t-2d31bff1-r.hc-t-2d31bff1-r.hc-t-2d31bff1-r.hc-t-2d31bff1-r.hc-t-2d31bff1-r > .wp-block-column { flex-basis: auto !important; width: 100%; }
	.hc-t-77472007.hc-t-77472007.hc-t-77472007.hc-t-77472007.hc-t-77472007.hc-t-77472007 { margin-top: 0 !important; margin-bottom: 40px !important; }
	.hc-t-6a9189a1.hc-t-6a9189a1.hc-t-6a9189a1.hc-t-6a9189a1.hc-t-6a9189a1.hc-t-6a9189a1 { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-8a939ed.hc-t-8a939ed.hc-t-8a939ed.hc-t-8a939ed.hc-t-8a939ed.hc-t-8a939ed { font-size: 44px !important; line-height: 38px !important; }
	.hc-t-553ee68.hc-t-553ee68.hc-t-553ee68.hc-t-553ee68.hc-t-553ee68.hc-t-553ee68 { min-height: 300px !important; }
	.hc-t-8117031.hc-t-8117031.hc-t-8117031.hc-t-8117031.hc-t-8117031.hc-t-8117031 { padding-top: 40px !important; padding-right: 0 !important; padding-bottom: 20px !important; padding-left: 0 !important; }
	.hc-t-4f2e0ff.hc-t-4f2e0ff.hc-t-4f2e0ff.hc-t-4f2e0ff.hc-t-4f2e0ff.hc-t-4f2e0ff { font-size: 28px !important; line-height: 38px !important; }
	.hc-t-2afbbc2.hc-t-2afbbc2.hc-t-2afbbc2.hc-t-2afbbc2.hc-t-2afbbc2.hc-t-2afbbc2 { margin-top: 0 !important; margin-bottom: 40px !important; }
}
/* ==== /TABLET ==== */
