.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* ============================================================
   Footer
   ============================================================ */
body .elementor.elementor :is(.site-footer,[data-c~="site-footer"]) {
  background: var(--color-footer-bg);
  color: var(--color-white);
  padding-top: clamp(3rem, 6vw, 5rem);
  padding-bottom: 2rem;
}
body .elementor.elementor :is(.footer-top,[data-c~="footer-top"]) {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 1.4fr) minmax(240px, 0.9fr);
  gap: clamp(2rem, 5vw, 4rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
body .elementor.elementor :is(.footer-brand__mark,[data-c~="footer-brand__mark"]) {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
body .elementor.elementor :is(.footer-brand__swatch,[data-c~="footer-brand__swatch"]) {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: var(--color-teal);
  border: 2px solid var(--color-white);
  display: inline-block;
}
body .elementor.elementor :is(.footer-brand__name,[data-c~="footer-brand__name"]) {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
}
body .elementor.elementor :is(.footer-brand,[data-c~="footer-brand"]) p {
  font-family: var(--font-sans);
  color: var(--color-white);
  font-size: 1rem;
  line-height: 1.6;
  max-width: 36ch;
}

body .elementor.elementor :is(.footer-col,[data-c~="footer-col"]) { display: flex; flex-direction: column; gap: 1rem; }
body .elementor.elementor :is(.footer-col__title,[data-c~="footer-col__title"]) {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-teal);
  margin-bottom: 0.25rem;
}
body .elementor.elementor :is(.footer-col,[data-c~="footer-col"]) a {
  font-family: var(--font-sans);
  font-size: 1rem;
}
body .elementor.elementor :is(.footer-col,[data-c~="footer-col"]) a:hover { color: var(--color-teal); }

body .elementor.elementor :is(.footer-newsletter__title,[data-c~="footer-newsletter__title"]) {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-orange);
  margin-bottom: 0.5rem;
}
body .elementor.elementor :is(.footer-newsletter,[data-c~="footer-newsletter"]) > p {
  font-family: var(--font-sans);
  color: var(--color-white);
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}
body .elementor.elementor :is(.footer-newsletter__form,[data-c~="footer-newsletter__form"]) {
  display: flex;
  gap: 0.5rem;
}
body .elementor.elementor :is(.footer-newsletter__form,[data-c~="footer-newsletter__form"]) input {
  flex: 1;
  min-width: 0;
  background: var(--color-footer-input-bg);
  border: 1px solid var(--color-footer-border);
  border-radius: 4px;
  padding: 0.75rem 1rem;
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 1rem;
}
body .elementor.elementor :is(.footer-newsletter__form,[data-c~="footer-newsletter__form"]) input::placeholder { color: var(--color-gray-400); }
body .elementor.elementor :is(.footer-newsletter__form,[data-c~="footer-newsletter__form"]) button {
  background: var(--color-orange);
  border: none;
  border-radius: 4px;
  padding: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
body .elementor.elementor :is(.footer-newsletter__form,[data-c~="footer-newsletter__form"]) button img { width: 18px; height: 18px; }
body .elementor.elementor :is(.footer-newsletter__note,[data-c~="footer-newsletter__note"]) {
  min-height: 1.25em;
  margin-top: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--color-teal);
}

body .elementor.elementor :is(.footer-bottom,[data-c~="footer-bottom"]) :is(hr,[data-t="hr"]) {
  border: none;
  border-top: 1px solid var(--color-footer-border);
  margin: 0 0 1.5rem;
}
body .elementor.elementor :is(.footer-bottom__row,[data-c~="footer-bottom__row"]) {
  display: flex;
  flex-direction: row;
  align-items: normal;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  justify-content: space-between;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--color-gray-500);
}


@media (max-width: 960px) {

  body .elementor.elementor :is(.footer-top,[data-c~="footer-top"]) {
    grid-template-columns: 1fr 1fr;
  }

  body .elementor.elementor :is(.footer-brand,[data-c~="footer-brand"]) { grid-column: 1 / -1; }
}
@media (max-width: 1180px) {
  body .elementor.elementor :is(.site-footer,[data-c~="site-footer"]) { padding-bottom: 6.5rem; }
}
@media (max-width: 760px) {

  body .elementor.elementor :is(.footer-top,[data-c~="footer-top"]) { grid-template-columns: 1fr; }
}
body .elementor.elementor :is(.sr-only,[data-c~="sr-only"]){
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body .elementor.elementor [data-c~="footer-col"] .elementor-nav-menu{display:flex;flex-direction:column;gap:1rem}
body .elementor.elementor [data-c~="footer-col"] .elementor-nav-menu a.elementor-item{display:block;position:static;padding:0;line-height:normal;font-family:var(--font-sans);font-size:1rem;color:inherit;background:none}
body .elementor.elementor [data-c~="footer-col"] .elementor-nav-menu a.elementor-item:hover{color:var(--color-teal);background:none}
body .elementor.elementor [data-c~="footer-col"] .elementor-widget-nav-menu .elementor-widget-container{padding:0}

body .elementor.elementor [data-c~="footer-col"] .elementor-nav-menu--dropdown,body .elementor.elementor [data-c~="footer-col"] .elementor-menu-toggle{display:none !important}

/* footer self-sufficiency */
:where(.elementor-location-footer .e-con.e-atomic-element){display:flex;flex-direction:column;box-sizing:border-box;width:100%;min-width:0}
:where(.elementor-location-footer .e-con.e-atomic-element) :where(p,h1,h2,h3,h4,ul){margin:0}
body .elementor.elementor :is(.site-footer,[data-c~="site-footer"]){display:block;width:100%}
body .elementor.elementor :is(.footer-top,[data-c~="footer-top"]){display:grid}
body .elementor.elementor :is(.footer-col,[data-c~="footer-col"]){display:flex;flex-direction:column}
body .elementor.elementor :is(.footer-links-grid,[data-c~="footer-links-grid"]){display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));grid-template-rows:auto;gap:1.5rem}
@media (max-width:760px){body .elementor.elementor :is(.footer-links-grid,[data-c~="footer-links-grid"]){grid-template-columns:1fr 1fr;grid-template-rows:auto}}

/* footer base reset */
.elementor-904 .e-con.e-atomic-element{padding:0;margin:0;box-sizing:border-box}
body .elementor.elementor [data-c~="footer-col"] .elementor-nav-menu::before,body .elementor.elementor [data-c~="footer-col"] .elementor-nav-menu::after{display:none}

/* footer container gutter: independent of per-page CSS (post detail pages have none) */
body .elementor.elementor :is(.site-footer,[data-c~="site-footer"]) :is(.container,[data-c~="container"]){max-width:var(--container-max,1760px);margin-inline:auto;padding-inline:var(--gutter,clamp(1.25rem,4vw,5rem));box-sizing:border-box;width:100%}/* End custom CSS */