/* Contact band: the synced pattern content/patterns/contact-band.html used at the foot of most pages.
   Started from the converted home contact section; edit here (not generated). */
.pbx-contact-band { --primary: #D43D27; --primary-ink: #FFFFFF; --ink: #312E27; --white: #FFFFFF; --muted: #5E5952; --primary-dark: #B5311D; --font: "nexa-text", system-ui, -apple-system, "Segoe UI", sans-serif; --container: 1240px; --radius: 18px; --font-display: "nexa", "nexa-text", system-ui, -apple-system, "Segoe UI", sans-serif; --gutter: clamp(20px, 4vw, 48px); --section-y: clamp(72px, 8.5vw, 120px); --ease: cubic-bezier(.2, .7, .2, 1) }
.pbx-contact-band, .pbx-contact-band *, .pbx-contact-band::before, .pbx-contact-band *::before, .pbx-contact-band::after, .pbx-contact-band *::after { box-sizing: border-box }
.pbx-contact-band { scroll-behavior: smooth; scroll-padding-top: 100px }
.pbx-contact-band { font-family: var(--font); color: var(--ink); font-size: 17px; line-height: 1.65; font-weight: 400; -webkit-font-smoothing: antialiased }
img:is(.pbx-contact-band, .pbx-contact-band *) { display: block; max-width: 100%; height: auto }
h2:is(.pbx-contact-band, .pbx-contact-band *), p:where(:not(.pbx-run, [class*="pbx-tag-"])):is(.pbx-contact-band, .pbx-contact-band *) { margin: 0px }
button:is(.pbx-contact-band, .pbx-contact-band *) { font: inherit }
:focus-visible:is(.pbx-contact-band, .pbx-contact-band *) { outline: 2px solid var(--primary) !important; outline-offset: 3px !important }
[hidden]:is(.pbx-contact-band, .pbx-contact-band *) { display: none !important }
h2:is(.pbx-contact-band, .pbx-contact-band *), .h3:is(.pbx-contact-band, .pbx-contact-band *) { font-family: var(--font-display); color: var(--primary) }
.h3:is(.pbx-contact-band, .pbx-contact-band *) { font-size: clamp(22px, 1.9vw, 26px); line-height: 1.2; letter-spacing: -0.01em; font-weight: 700 }
.container:is(.pbx-contact-band, .pbx-contact-band *) { width: 100%; max-width: calc(var(--container) + var(--gutter) * 2); margin: 0px auto; padding: 0 var(--gutter) }
.btn:is(.pbx-contact-band, .pbx-contact-band *) { display: inline-flex; align-items: center; gap: 10px; padding: 13px 24px; border: 0px; border-radius: 999px; font-family: var(--font); font-size: 15px; font-weight: 700; line-height: 1.2; cursor: pointer; transition: transform .3s var(--ease), background-color .3s, color .3s, box-shadow .3s }
.btn:hover:is(.pbx-contact-band, .pbx-contact-band *) { transform: translateY(-2px) !important }
.btn--primary:is(.pbx-contact-band, .pbx-contact-band *) { background: var(--primary); color: var(--primary-ink) }
.btn--primary:hover:is(.pbx-contact-band, .pbx-contact-band *) { background: var(--primary-dark) !important }
.rings:is(.pbx-contact-band, .pbx-contact-band *) { display: block; width: 100%; aspect-ratio: 1 / 1; background: currentcolor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 183 183'%3E%3Cpath fill-rule='evenodd' d='M173.86 45.60C169.95 35.11 161.61 28.32 153.81 21.64C147.23 16.01 137.52 7.60 128.17 3.87C117.22 -0.49 103.49 0.01 90.66 0.01C71.68 0.04 55.34 5.18 41.97 13.49C27.03 22.77 15.80 36.01 8.68 50.54C5.33 57.43 2.35 63.42 0.40 77.25C-1.57 91.08 4.08 119.00 10.00 132.06C19.08 152.14 35.44 164.61 54.27 172.97C67.33 178.78 82.00 184.44 97.17 182.59C115.62 180.37 135.26 170.68 146.57 162.69C168.14 147.39 181.48 123.22 182.91 90.85C183.75 71.64 178.43 57.91 173.84 45.57M164.03 115.30C162.43 122.14 154.73 134.35 151.12 138.75C139.22 153.22 120.29 164.25 97.27 167.06C75.85 169.70 44.39 154.20 33.38 139.96C23.09 126.59 13.97 106.74 15.95 80.51C18.31 49.71 45.48 22.23 74.14 18.24C103.34 14.15 120.90 13.64 145.58 31.07C160.93 41.90 172.74 77.56 164.05 115.28'/%3E%3Cpath fill-rule='evenodd' d='M140.65 50.95C136.25 45.03 123.01 34.80 117.09 33.00C100.78 28.07 82.48 31.79 71.48 33.88C59.28 36.22 45.05 47.61 39.81 54.96C28.28 71.23 27.24 102.27 35.52 118.70C39.51 126.62 49.19 137.44 54.96 141.53C63.60 147.67 83.29 152.94 94.93 152.38C118.18 151.27 126.34 143.94 138.57 132.19C142.22 128.70 144.23 125.25 145.81 122.96C158.69 104.07 154.04 68.92 140.65 50.92M132.80 119.03C125.81 129.78 109.85 138.16 97.37 139.88C87.59 141.22 72.65 136.31 62.76 127.44C54.50 120.03 48.61 109.00 46.95 98.85C44.92 86.35 46.95 69.77 58.01 58.51C71.43 44.83 97.07 40.07 112.49 47.55C129.93 55.99 138.51 73.73 140.67 83.60C143.16 94.89 139.89 108.05 132.75 119.03'/%3E%3Cpath fill-rule='evenodd' d='M122.86 74.78C114.25 58.20 95.54 54.75 82.61 60.15C54.70 71.75 52.11 113.30 84.92 124.1C97.70 128.31 107.49 126.69 118.03 114.38C130.46 99.88 130.08 88.69 122.86 74.81M106.11 105.15C88.45 125.33 64.67 88.85 81.95 74.24C89.60 67.76 102.28 69.10 109.09 77.94C115.16 85.84 113.43 96.82 106.11 105.17'/%3E%3Cpath fill-rule='evenodd' d='M87.28 91.65C86.83 87.48 90.18 81.88 94.27 82.73C98.39 83.55 100.12 88.61 100.35 91.62C100.63 95.25 97.88 99.31 93.92 99.21C89.93 99.10 87.61 94.78 87.28 91.65Z'/%3E%3Cpath fill-rule='evenodd' d='M87.28 91.65C86.83 87.48 90.18 81.88 94.27 82.73C98.39 83.55 100.12 88.61 100.35 91.62C100.63 95.25 97.88 99.31 93.92 99.21C89.93 99.10 87.61 94.78 87.28 91.65Z'/%3E%3C/svg%3E") 50% 50% / contain no-repeat }
.contact-band:is(.pbx-contact-band, .pbx-contact-band *) { position: relative; overflow: hidden; margin-top: -72px; padding: calc(var(--section-y) + 72px) 0 var(--section-y); background: rgb(59, 50, 43); color: var(--white); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath d='M0 26 C 240 54, 520 58, 760 38 S 1220 2, 1440 26 L1440 72 L0 72 Z'/%3E%3C/svg%3E") 50% 0% / 100% 72px no-repeat, linear-gradient(rgb(0, 0, 0), rgb(0, 0, 0)) 0px 71px / 100% calc(100% - 71px) no-repeat }
.contact-band__bg:is(.pbx-contact-band, .pbx-contact-band *) img { width: 100%; height: 100%; object-fit: cover }
.contact-band__inner:is(.pbx-contact-band, .pbx-contact-band *) { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center }
.contact-band__map:is(.pbx-contact-band, .pbx-contact-band *) { display: grid; gap: 28px }
.contact-band__map:is(.pbx-contact-band, .pbx-contact-band *) h2 { color: var(--white); font-size: clamp(24px, 2.2vw, 30px) }
.ozmap:is(.pbx-contact-band, .pbx-contact-band *) { position: relative; width: min(100%, 480px) }
.ozmap__land:is(.pbx-contact-band, .pbx-contact-band *) { display: block; width: 100%; height: auto; overflow: visible }
.ozmap__land:is(.pbx-contact-band, .pbx-contact-band *) path { fill: rgba(196, 180, 168, 0.9); fill-opacity: 0; stroke: rgba(255, 255, 255, 0.9); stroke-width: 1.4; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 2.6s cubic-bezier(0.4, 0, 0.2, 1), fill-opacity 1.2s 1.6s, stroke 0.8s 2.4s }
.ozmap.is-visible:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__land path { stroke-dashoffset: 0 !important; fill-opacity: 1 !important; stroke: rgba(255, 255, 255, 0) !important }
.ozmap__pin:is(.pbx-contact-band, .pbx-contact-band *) { position: absolute; left: var(--x); top: var(--y); width: 36px; height: 36px; margin-top: -18px; margin-right: 0px; margin-bottom: 0px; margin-left: -18px; color: var(--primary); opacity: 0; transform: translateY(-24px) scale(0.6); transition: opacity .5s var(--ease), transform .7s cubic-bezier(.3, 1.6, .5, 1); transition-delay: calc(var(--i) * 120ms + 1.6s) }
.ozmap.is-visible:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__pin { opacity: 1 !important; transform: none !important }
.ozmap__pin:is(.pbx-contact-band, .pbx-contact-band *) .rings { width: 100% }
.ozmap__pin:is(.pbx-contact-band, .pbx-contact-band *)::before { content: ""; position: absolute; inset: 0px; border-radius: 50%; background: var(--primary); opacity: 0.35; animation-duration: 2.8s; animation-timing-function: ease-out; animation-iteration-count: infinite; animation-direction: normal; animation-fill-mode: none; animation-play-state: running; animation-name: pin-pulse; animation-timeline: auto; animation-range: normal; animation-delay: calc(var(--i) * 400ms) }
.ozmap__label:is(.pbx-contact-band, .pbx-contact-band *) { position: absolute; left: 50%; bottom: calc(100% + 8px); padding: 5px 10px; border-radius: 999px; background: var(--white); color: var(--ink); font-size: 13px; font-weight: 700; white-space: nowrap; opacity: 0; transition: opacity .25s, transform .3s var(--ease); transform: translate(-50%, 6px); pointer-events: none }
.ozmap__pin:hover:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__label, .ozmap__pin:focus-within:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__label { opacity: 1 !important; transform: translate(-50%, 0px) !important }
.form-card:is(.pbx-contact-band, .pbx-contact-band *) { padding: clamp(24px, 3vw, 36px); background: var(--white); border-radius: var(--radius); color: var(--ink); box-shadow: rgba(0, 0, 0, 0.5) 0px 30px 70px -30px }
.form-card:is(.pbx-contact-band, .pbx-contact-band *) h2 { margin-bottom: 18px; font-size: clamp(24px, 2.2vw, 30px) }
@media (max-width: 900px) {
  .contact-band__inner:is(.pbx-contact-band, .pbx-contact-band *) { grid-template-columns: minmax(0px, 1fr) }
}
.gf-preview:is(.pbx-contact-band, .pbx-contact-band *) { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px 18px }
.gf-preview:is(.pbx-contact-band, .pbx-contact-band *) label { display: grid; gap: 6px; font-size: 15px }
.gf-preview:is(.pbx-contact-band, .pbx-contact-band *) .is-wide { grid-column: 1 / -1 }
.gf-preview:is(.pbx-contact-band, .pbx-contact-band *) input, .gf-preview:is(.pbx-contact-band, .pbx-contact-band *) textarea { width: 100%; padding: 12px 14px; border: 1px solid rgba(212, 61, 39, 0.2); border-radius: 10px; background: rgb(253, 247, 245); font: inherit; color: var(--ink) }
.gf-preview:is(.pbx-contact-band, .pbx-contact-band *) textarea { min-height: 130px; resize: vertical }
.gf-preview:is(.pbx-contact-band, .pbx-contact-band *) .btn { justify-self: start; white-space: nowrap }
.reveal:is(.pbx-contact-band, .pbx-contact-band *) { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .9s var(--ease) }
.reveal.is-visible:is(.pbx-contact-band, .pbx-contact-band *) { opacity: 1 !important; transform: none !important }
@media (prefers-reduced-motion: reduce) {
  .reveal:is(.pbx-contact-band, .pbx-contact-band *) { opacity: 1; transform: none; transition: none }
  .pbx-contact-band { scroll-behavior: auto }
  .ozmap__pin:is(.pbx-contact-band, .pbx-contact-band *) { opacity: 1; transform: none }
  .ozmap__land:is(.pbx-contact-band, .pbx-contact-band *) path { transition: none; stroke-dashoffset: 0; fill-opacity: 1 }
}
.contact-band__text:is(.pbx-contact-band, .pbx-contact-band *) { max-width: 520px; color: rgba(255, 255, 255, 0.88) }
.form-card__intro:is(.pbx-contact-band, .pbx-contact-band *) { margin: -8px 0px 18px; color: var(--muted) }
.contact-band__map:is(.pbx-contact-band, .pbx-contact-band *) h2 + .contact-band__text { margin-top: -14px }
:is(.wp-block-quote):where(.pbx-contact-band, .pbx-contact-band *) { border: 0; padding: 0; margin: 0 }
:is(.wp-block-columns):where(.pbx-contact-band, .pbx-contact-band *) { margin-block-end: 0 }
:is(.is-layout-flex, .is-layout-grid, .wp-block-columns):where(.pbx-contact-band, .pbx-contact-band *) { gap: 0 }
:is(.wp-block-column, .wp-block-button__link):where(.pbx-contact-band, .pbx-contact-band *) { overflow-wrap: inherit; word-break: inherit }
:where(.pbx-contact-band, .pbx-contact-band *):where(.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-cover).has-background { padding: 0 }
.pbx-contact-band__1.pbx-contact-band__1 { min-height: 0 }
.pbx-contact-band__2.pbx-contact-band__2 > .wp-block-cover__inner-container { align-self: stretch; display: flex; flex-direction: column }
.pbx-contact-band__3.pbx-contact-band__3 { flex-grow: 1 }
.pbx-contact-band__4.pbx-contact-band__4 > .wp-block-cover__inner-container { width: 100% !important }
.pbx-contact-band__5.pbx-contact-band__5 { --x: 13.9%; --y: 29.5%; --i: 0 }
.pbx-contact-band__6.pbx-contact-band__6 { --x: 20.9%; --y: 60.7%; --i: 1 }
.pbx-contact-band__7.pbx-contact-band__7 { --x: 7.4%; --y: 62.6%; --i: 2 }
.pbx-contact-band__8.pbx-contact-band__8 { --x: 62.7%; --y: 73.3%; --i: 3 }
.pbx-contact-band__9.pbx-contact-band__9 { --x: 78.2%; --y: 81.9%; --i: 4 }
.pbx-contact-band__10.pbx-contact-band__10 { --x: 95.2%; --y: 40.6%; --i: 5 }
.pbx-contact-band__11.pbx-contact-band__11 { --x: 97.6%; --y: 53.4%; --i: 6 }

/* Place names always shown; dots scale with the map; east-coast labels sit to the left so nothing runs off the edge. */
.ozmap:is(.pbx-contact-band, .pbx-contact-band *) { --pin: clamp(16px, 7.5%, 36px) }
.ozmap__pin:is(.pbx-contact-band, .pbx-contact-band *) { width: var(--pin); height: auto; aspect-ratio: 1 / 1; margin: 0 !important; translate: -50% -50% }
.ozmap__label:is(.pbx-contact-band, .pbx-contact-band *) { bottom: calc(100% + 4px); padding: 3px 9px; font-size: 12.5px; line-height: 1.3; opacity: 1; transform: translate(-50%, 0px); box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .45) }
.ozmap__pin--below:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__label { bottom: auto; top: calc(100% + 4px) }
.ozmap__pin--left:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__label { left: auto; right: calc(100% + 4px); bottom: auto; top: 50%; transform: translateY(-50%) }
.ozmap__pin--left:hover:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__label, .ozmap__pin--left:focus-within:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__label { transform: translateY(-50%) !important }
.ozmap__pin--start:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__label, .ozmap__pin--start:hover:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__label, .ozmap__pin--start:focus-within:is(.pbx-contact-band, .pbx-contact-band *) .ozmap__label { left: 0; transform: none !important }
@media (max-width: 600px) {
  .ozmap__label:is(.pbx-contact-band, .pbx-contact-band *) { padding: 2px 7px; font-size: 11px }
}
