/* Local replacements for behavior previously provided by the hosted runtime. */
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 10000; background: white; color: black; padding: 12px; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.header-nav .header-nav-item--folder:focus-within .header-nav-folder-content { display: block; opacity: 1; pointer-events: auto; visibility: visible; }
.location-map { width: 100%; height: 100%; border: 0; }
main .location-map { min-height: 180px; }
footer .sqs-block-map .sqs-block-content { position: relative; }
footer .location-map { position: absolute; inset: 0; }
.sqs-block-map .sqs-block-content { height: 100%; }
.accordion-item__dropdown { transition: height 0.25s ease; }
.accordion-item__dropdown:not([hidden]) { display: block !important; opacity: 1; visibility: visible; }
#mobile-navigation { position: fixed; inset: 100px 0 0; background: #fafafa; z-index: 99; overflow: auto; padding: 30px 6vw; box-sizing: border-box; }
#mobile-navigation summary { padding: 14px 0; cursor: pointer; font-size: 26px; }
#mobile-navigation a { display: block; padding: 10px 20px; font-size: 20px; }
.local-menu-open { overflow: hidden; }
.contact-form { font-size: 16px; letter-spacing: .05em; }
.contact-form label { display: block; margin-bottom: 24px; }
.contact-form input, .contact-form textarea { display: block; box-sizing: border-box; width: 100%; border: 1px solid transparent; background: #fafafa; color: #000; padding: 8px 15px; margin-top: 8px; font: inherit; border-radius: 0; }
.name-fields { display: flex; gap: 16px; }
.name-fields label { flex: 1; min-width: 0; }
.contact-form button { background: #000; color: #fafafa; border: 0; border-radius: 300px; padding: 19.2px 32px; font: inherit; cursor: pointer; transition: opacity 0.1s linear; }
@media (hover: hover) { .contact-form button:hover { opacity: 0.8; } }
.form-note, .form-status { font-size: 14px; line-height: 1.5; }
@media (min-width: 800px) { #mobile-navigation { display: none !important; } }
.fluid-image-container .content-fit { position: relative; display: block; width: 100%; height: 100%; }
@media (min-width: 800px) {
  .header-layout-nav-center .header-nav { position: absolute; left: 50%; transform: translateX(-50%); width: max-content; }
}
/* The hosted section controller used to reserve space for the absolute header. */
body:not(.home-page) main .page-section:first-child { padding-top: var(--local-header-height, 103px) !important; }
.header-nav-folder-content .folder-landing { display: none; }
.header-nav-folder-title { display: inline-flex; align-items: center; }
.home-mobile-links { display: none; }
.map-directions { position: absolute; bottom: 4px; left: 4px; background: #fafafa; padding: 4px 8px; font-size: 12px; z-index: 1; }
@media (max-width: 799px) {
  .home-page .fe-block:has(.sqs-block-button) { display: none; }
  .home-mobile-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 24px; padding: 24px 16px; font-size: 14px; font-weight: 500; text-transform: uppercase; }
}
#mobile-navigation { pointer-events: auto; top: var(--local-header-height, 100px); }

@media (prefers-reduced-motion: no-preference) {
  @keyframes local-motion-fallback { to { transform: scale(1); } }
  .fe-block-yui_3_17_2_1_1784111258379_3688,
  .fe-block-yui_3_17_2_1_1784118744054_3834,
  .fe-block-2d83e9ef9250017ce62d,
  .fe-block-29852ac7d91f0b3d1897,
  .fe-block-yui_3_17_2_1_1784298559975_2248,
  .fe-block-yui_3_17_2_1_1784305937098_2448,
  .fe-block-yui_3_17_2_1_1784128883061_4524,
  .fe-block-6a95454da3d5fb4525ab,
  .fe-block-ef04fc192ec28a772b0a,
  .fe-block-yui_3_17_2_1_1784303052762_1247,
  .fe-block-yui_3_17_2_1_1784289441901_1693,
  .fe-block-yui_3_17_2_1_1784289441901_2299,
  .fe-block-c5a757d7ef6f59ad17d0,
  .fe-block-yui_3_17_2_1_1784300586493_1373,
  .fe-block-yui_3_17_2_1_1784203577923_663,
  .fe-block-yui_3_17_2_1_1784203725291_844,
  .fe-block-yui_3_17_2_1_1784203725291_1789 {
    transform: scale(0.001);
    animation: local-motion-fallback 0s linear 3.8s forwards;
  }
}
