.elementor-990545 .elementor-element.elementor-element-39ad7661{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:var( --e-global-color-dnrule );--border-color:var( --e-global-color-dnrule );--padding-top:62px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-39ad7661:not(.elementor-motion-effects-element-type-background), .elementor-990545 .elementor-element.elementor-element-39ad7661 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-dnwhite );}.elementor-990545 .elementor-element.elementor-element-654c2e26{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:30px 28px;--row-gap:30px;--column-gap:28px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-990545 .elementor-element.elementor-element-7cb08e05{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-990545 .elementor-element.elementor-element-a5dcef1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -32px) 0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-990545 .elementor-element.elementor-element-107d31f9{text-align:center;}.elementor-990545 .elementor-element.elementor-element-107d31f9 .elementor-heading-title{font-family:"Fraunces", sans-serif;font-size:21px;font-weight:600;line-height:1.28em;color:var( --e-global-color-accent );}.elementor-990545 .elementor-element.elementor-element-7c50d05a{--grid-template-columns:repeat(5, auto);text-align:center;--icon-size:15px;--grid-column-gap:9px;--grid-row-gap:0px;}.elementor-990545 .elementor-element.elementor-element-7c50d05a .elementor-social-icon{--icon-padding:10px;}.elementor-990545 .elementor-element.elementor-element-7c50d05a .elementor-icon{border-radius:8px 8px 8px 8px;}.elementor-990545 .elementor-element.elementor-element-7533ec8c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-5a78aa8e .elementor-heading-title{font-family:"Public Sans", sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2.2px;color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), sans-serif;font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-990545 .elementor-element.elementor-element-68b8db2d .elementor-nav-menu .elementor-item{font-family:"Public Sans", sans-serif;font-size:15px;font-weight:400;}.elementor-990545 .elementor-element.elementor-element-68b8db2d .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );padding-left:0px;padding-right:0px;padding-top:6px;padding-bottom:6px;}.elementor-990545 .elementor-element.elementor-element-68b8db2d .elementor-nav-menu--main .elementor-item:hover,
					.elementor-990545 .elementor-element.elementor-element-68b8db2d .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-990545 .elementor-element.elementor-element-68b8db2d .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-990545 .elementor-element.elementor-element-68b8db2d .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-990545 .elementor-element.elementor-element-26a7b278{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-7abfb306 .elementor-heading-title{font-family:"Public Sans", sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2.2px;color:var( --e-global-color-text );}.elementor-990545 .elementor-element.elementor-element-7cf5f53b .elementor-nav-menu .elementor-item{font-family:"Public Sans", sans-serif;font-size:15px;font-weight:400;}.elementor-990545 .elementor-element.elementor-element-7cf5f53b .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );padding-left:0px;padding-right:0px;padding-top:6px;padding-bottom:6px;}.elementor-990545 .elementor-element.elementor-element-7cf5f53b .elementor-nav-menu--main .elementor-item:hover,
					.elementor-990545 .elementor-element.elementor-element-7cf5f53b .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-990545 .elementor-element.elementor-element-7cf5f53b .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-990545 .elementor-element.elementor-element-7cf5f53b .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-990545 .elementor-element.elementor-element-492d8d3f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-6906dc76 .elementor-heading-title{font-family:"Public Sans", sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2.2px;color:var( --e-global-color-text );}.elementor-990545 .elementor-element.elementor-element-2a3d653a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:20px 22px;--row-gap:20px;--column-gap:22px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-4215768c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-2a06008a .elementor-heading-title{font-family:"Public Sans", sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-990545 .elementor-element.elementor-element-f4ff4e4{font-family:"Public Sans", sans-serif;font-size:13px;line-height:1.55em;color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-990545 .elementor-element.elementor-element-28dc1f1f .elementor-icon-list-icon i{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-990545 .elementor-element.elementor-element-28dc1f1f .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );transition:fill 0.3s;}.elementor-990545 .elementor-element.elementor-element-28dc1f1f{--e-icon-list-icon-size:11px;--icon-vertical-offset:0px;}.elementor-990545 .elementor-element.elementor-element-28dc1f1f .elementor-icon-list-item > .elementor-icon-list-text, .elementor-990545 .elementor-element.elementor-element-28dc1f1f .elementor-icon-list-item > a{font-family:"Public Sans", sans-serif;font-size:13px;font-weight:600;}.elementor-990545 .elementor-element.elementor-element-28dc1f1f .elementor-icon-list-text{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-990545 .elementor-element.elementor-element-3fa8165f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-ac7486a .elementor-heading-title{font-family:"Public Sans", sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var( --e-global-color-primary );}.elementor-990545 .elementor-element.elementor-element-2eba5c37{font-family:"Public Sans", sans-serif;font-size:13px;line-height:1.55em;color:var( --e-global-color-text );}.elementor-990545 .elementor-element.elementor-element-7aef89ac .elementor-icon-list-icon i{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-990545 .elementor-element.elementor-element-7aef89ac .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );transition:fill 0.3s;}.elementor-990545 .elementor-element.elementor-element-7aef89ac{--e-icon-list-icon-size:11px;--icon-vertical-offset:0px;}.elementor-990545 .elementor-element.elementor-element-7aef89ac .elementor-icon-list-item > .elementor-icon-list-text, .elementor-990545 .elementor-element.elementor-element-7aef89ac .elementor-icon-list-item > a{font-family:"Public Sans", sans-serif;font-size:13px;font-weight:600;}.elementor-990545 .elementor-element.elementor-element-7aef89ac .elementor-icon-list-text{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-990545 .elementor-element.elementor-element-7b543f9c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-147af45a .elementor-heading-title{font-family:"Public Sans", sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var( --e-global-color-primary );}.elementor-990545 .elementor-element.elementor-element-65669465{font-family:"Public Sans", sans-serif;font-size:13px;line-height:1.55em;color:var( --e-global-color-text );}.elementor-990545 .elementor-element.elementor-element-55352554 .elementor-icon-list-icon i{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-990545 .elementor-element.elementor-element-55352554 .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );transition:fill 0.3s;}.elementor-990545 .elementor-element.elementor-element-55352554{--e-icon-list-icon-size:11px;--icon-vertical-offset:0px;}.elementor-990545 .elementor-element.elementor-element-55352554 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-990545 .elementor-element.elementor-element-55352554 .elementor-icon-list-item > a{font-family:"Public Sans", sans-serif;font-size:13px;font-weight:600;}.elementor-990545 .elementor-element.elementor-element-55352554 .elementor-icon-list-text{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-990545 .elementor-element.elementor-element-2842715c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-71583788 .elementor-heading-title{font-family:"Public Sans", sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var( --e-global-color-primary );}.elementor-990545 .elementor-element.elementor-element-1e3abbf1{font-family:"Public Sans", sans-serif;font-size:13px;line-height:1.55em;color:var( --e-global-color-text );}.elementor-990545 .elementor-element.elementor-element-190b74b7 .elementor-icon-list-icon i{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-990545 .elementor-element.elementor-element-190b74b7 .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );transition:fill 0.3s;}.elementor-990545 .elementor-element.elementor-element-190b74b7{--e-icon-list-icon-size:11px;--icon-vertical-offset:0px;}.elementor-990545 .elementor-element.elementor-element-190b74b7 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-990545 .elementor-element.elementor-element-190b74b7 .elementor-icon-list-item > a{font-family:"Public Sans", sans-serif;font-size:13px;font-weight:600;}.elementor-990545 .elementor-element.elementor-element-190b74b7 .elementor-icon-list-text{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-990545 .elementor-element.elementor-element-1377e1f7{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:var( --e-global-color-dnrule );--border-color:var( --e-global-color-dnrule );--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-990545 .elementor-element.elementor-element-1377e1f7:not(.elementor-motion-effects-element-type-background), .elementor-990545 .elementor-element.elementor-element-1377e1f7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-dnwhite );}.elementor-990545 .elementor-element.elementor-element-658b2f08{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:12px 24px;--row-gap:12px;--column-gap:24px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-990545 .elementor-element.elementor-element-750ed83{width:initial;max-width:initial;font-family:"Public Sans", sans-serif;font-size:13px;color:var( --e-global-color-text );}.elementor-990545 .elementor-element.elementor-element-57a150ff{width:initial;max-width:initial;}.elementor-990545 .elementor-element.elementor-element-57a150ff .elementor-nav-menu .elementor-item{font-family:"Public Sans", sans-serif;font-size:13px;}.elementor-990545 .elementor-element.elementor-element-57a150ff .elementor-nav-menu--main .elementor-item{color:#8C8C8C;fill:#8C8C8C;padding-left:9px;padding-right:9px;padding-top:2px;padding-bottom:2px;}.elementor-990545 .elementor-element.elementor-element-57a150ff .elementor-nav-menu--main .elementor-item:hover,
					.elementor-990545 .elementor-element.elementor-element-57a150ff .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-990545 .elementor-element.elementor-element-57a150ff .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-990545 .elementor-element.elementor-element-57a150ff .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-990545 .elementor-element.elementor-element-654c2e26{--content-width:1200px;}.elementor-990545 .elementor-element.elementor-element-7cb08e05{--width:27%;}.elementor-990545 .elementor-element.elementor-element-7533ec8c{--width:12%;}.elementor-990545 .elementor-element.elementor-element-26a7b278{--width:19%;}.elementor-990545 .elementor-element.elementor-element-492d8d3f{--width:35%;}.elementor-990545 .elementor-element.elementor-element-4215768c{--width:47%;}.elementor-990545 .elementor-element.elementor-element-3fa8165f{--width:47%;}.elementor-990545 .elementor-element.elementor-element-7b543f9c{--width:47%;}.elementor-990545 .elementor-element.elementor-element-2842715c{--width:47%;}.elementor-990545 .elementor-element.elementor-element-658b2f08{--content-width:1200px;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS *//*
 * DNExpress — FOOTER design layer.
 *
 * INSTALL
 *   WPCode > + Add Snippet > Add Your Custom Code (New Snippet)
 *   Title:     DNExpress - Footer design layer
 *   Code Type: CSS Snippet
 *   Location:  Site Wide Header
 *   Save, Activate.
 *
 *   ⚠ THIS SNIPPET ALONE FIXES A LIVE DEFECT — paste it even if the template import waits.
 *   All three footer menus currently collapse into hamburger buttons below 1024px (gotcha 39,
 *   measured 2026-08-26: 3 nav-menu widgets, 3 `--dropdown-tablet`, 3 `elementor-menu-toggle`).
 *   Section 6 below un-collapses them without touching the template.
 *
 * ── DESIGN INTENT — "the colophon" ───────────────────────────────────────────
 * The header is the head of the document; this is its back matter. A printed instrument ends
 * with a colophon: who issued it, where they can be found, under what terms. That is exactly
 * what these two bands already contained — a brand, three link registers, four offices and a
 * legal line — set on nine variations of white with nothing to say the document had ended.
 *
 * So: warm paper ground instead of page white, an engraved double rule where the content stops,
 * foil tick-rules under the column labels, the four offices set as a RULED LEDGER rather than a
 * paragraph, and the page closing on the house tricolour thread — the same thread the masthead
 * draws when it sticks. The document opens on a security band and closes on the thread.
 *
 * ── SCOPE ────────────────────────────────────────────────────────────────────
 * This snippet loads SITE WIDE (gotcha 18). Every .elementor-990545 is anchored to a `dn-ftr-*` class
 * emitted by build-templates.js, so nothing here can reach page content.
 *
 * NO DARK MODE. Light only, by decision. Never add a prefers-color-scheme block here.
 */

/* ═══════════════════════════════════════════════════════════════════════════
   1 · TOKENS
   On the footer's own classes, not :root, so this file is self-sufficient — same reasoning
   as header.css. The footer renders on every request too.
   ═══════════════════════════════════════════════════════════════════════════ */
.dn-ftr {
  --dn-ftr-green: var(--e-global-color-primary, #0E7A3E);
  --dn-ftr-green-deep: var(--e-global-color-dngrndp, #0A5C2E);
  --dn-ftr-ink: var(--e-global-color-accent, #2C2C2C);
  --dn-ftr-body: var(--e-global-color-text, #666666);
  --dn-ftr-rule: var(--e-global-color-dnrule, #E4E4E4);
  --dn-ftr-gold: var(--e-global-color-dnfoil, #A8862E);
  --dn-ftr-red: var(--e-global-color-secondary, #CC1212);

  /* CLAUDE.md's documented paper tone. It is NOT one of the eleven global ids, which is exactly
     why it lives here and not in a widget (non-negotiable 1). */
  --dn-ftr-paper: #FBFAF6;
  --dn-ftr-label: #8C8C8C;

  --dn-ftr-ease: cubic-bezier(0.2, 0.7, 0.3, 1);

  --dn-ftr-thread: linear-gradient(
    to right,
    var(--dn-ftr-green) 0 33.33%,
    #FFFFFF 33.33% 66.66%,
    var(--dn-ftr-red) 66.66% 100%
  );

  --dn-ftr-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");

  /* Stroked GREEN here, unlike header.css's white one. gotcha 38 is about ink versus ground:
     green-on-green vanished on the announcement bar, but on paper green is exactly right. */
  --dn-ftr-guilloche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%230E7A3E' stroke-width='0.7'%3E%3Ccircle cx='120' cy='120' r='112'/%3E%3Ccircle cx='120' cy='120' r='96'/%3E%3Ccircle cx='120' cy='120' r='52'/%3E%3Cg transform='translate(120 120)'%3E%3Cellipse rx='92' ry='38'/%3E%3Cellipse rx='92' ry='38' transform='rotate(15)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(30)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(45)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(60)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(75)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(90)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(105)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(120)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(135)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(150)'/%3E%3Cellipse rx='92' ry='38' transform='rotate(165)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* ═══════════════════════════════════════════════════════════════════════════
   2 · THE PAPER, AND THE END-OF-DOCUMENT RULE
   ═══════════════════════════════════════════════════════════════════════════ */
.dn-ftr-top {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--dn-ftr-paper) !important;
  background-image: var(--dn-ftr-grain);
  background-repeat: repeat;
  background-size: 160px 160px;
  background-blend-mode: multiply;
}

/* The engraved DOUBLE RULE. The template already draws a 1px structural border along the top;
   this is its companion hairline 4px below, which is how a certificate marks the point where
   the instrument ends and its imprint begins. One rule is a divider. Two is a statement. */
.dn-ftr-top::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 4px;
  height: 1px;
  background: var(--dn-ftr-rule);
  pointer-events: none;
  z-index: 1;
}

/* A single guilloche rosette in the outer corner, barely there. On paper the green-stroked
   engraving reads correctly; it is the same figure the page layer prints behind heroes. */
.dn-ftr-top::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -78px;
  width: 300px;
  height: 300px;
  background-image: var(--dn-ftr-guilloche);
  background-repeat: no-repeat;
  background-size: 300px 300px;
  opacity: 0.05;
  pointer-events: none;
  z-index: 0;
}

.dn-ftr-top > .e-con-inner,
.dn-ftr-top > .elementor-element {
  position: relative;
  z-index: 2;
}

/* ═══════════════════════════════════════════════════════════════════════════
   3 · COLUMN LABELS — a foil tick-rule under each
   ═══════════════════════════════════════════════════════════════════════════ */
.dn-ftr-colhead {
  position: relative;
  padding-bottom: 11px;
}
.dn-ftr-colhead::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 26px;
  height: 2px;
  background: var(--dn-ftr-gold);
  opacity: 0.7;
}
.dn-ftr-colhead .elementor-heading-title {
  color: var(--dn-ftr-label) !important;
  font-size: 0.6875rem !important;
  letter-spacing: 0.2em !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   4 · THE LINK REGISTERS
   gotcha 34: the kit owns `a` (0,1,1) and `a:hover` (0,2,1) in green. These run (0,3,1) and
   (0,4,1). A footer is almost entirely links, so this matters more here than anywhere.
   ═══════════════════════════════════════════════════════════════════════════ */
.dn-ftr-menu .elementor-nav-menu a.elementor-item,
.dn-ftr-menu .elementor-nav-menu a.elementor-item:link,
.dn-ftr-menu .elementor-nav-menu a.elementor-item:visited {
  position: relative;
  color: var(--dn-ftr-body) !important;
  font-size: 0.9375rem !important;
  line-height: 1.45;
  transition: color 0.22s ease, padding-left 0.24s var(--dn-ftr-ease);
}

/* A foil tick that rules itself in from the left. Restrained: no underline, no bold, no jump. */
.dn-ftr-menu .elementor-nav-menu a.elementor-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 7px;
  height: 1px;
  background: var(--dn-ftr-gold);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.24s var(--dn-ftr-ease);
}
.dn-ftr-menu .elementor-nav-menu a.elementor-item:hover::before,
.dn-ftr-menu .elementor-nav-menu a.elementor-item:focus::before,
.dn-ftr-menu .elementor-nav-menu .current-menu-item > a.elementor-item::before {
  transform: scaleX(1);
}
.dn-ftr-menu .elementor-nav-menu a.elementor-item:hover,
.dn-ftr-menu .elementor-nav-menu a.elementor-item:focus {
  color: var(--dn-ftr-green) !important;
  padding-left: 13px !important;
}
.dn-ftr-menu .elementor-nav-menu .current-menu-item > a.elementor-item {
  color: var(--dn-ftr-ink) !important;
  padding-left: 13px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   5 · THE OFFICE LEDGER
   Four entries, 2x2, each ruled off at the top. This replaces a single text-editor that held
   four <div style="margin-bottom:14px"> wrappers with inline colour on every name and number.
   ═══════════════════════════════════════════════════════════════════════════ */
.dn-ftr-office {
  border-top: 1px solid var(--dn-ftr-rule);
  padding-top: 11px !important;
}
.dn-ftr-office-name .elementor-heading-title {
  font-size: 0.6875rem !important;
  letter-spacing: 0.13em !important;
  line-height: 1.3;
}
.dn-ftr-office-addr p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--dn-ftr-body);
}

/* The number is the one thing in this block anybody acts on, so it is the one thing set in ink
   rather than body grey, and it is a real tap target. */
.dn-ftr-office-tel .elementor-icon-list-item {
  margin: 0;
  padding: 0;
}
.dn-ftr-office-tel .elementor-icon-list-item a,
.dn-ftr-office-tel .elementor-icon-list-item a:link,
.dn-ftr-office-tel .elementor-icon-list-item a:visited {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 3px 0;
  color: var(--dn-ftr-ink) !important;
  font-size: 0.8125rem;
  font-weight: 600;
  transition: color 0.22s ease;
}
.dn-ftr-office-tel .elementor-icon-list-item a:hover,
.dn-ftr-office-tel .elementor-icon-list-item a:focus {
  color: var(--dn-ftr-green) !important;
}
.dn-ftr-office-tel .elementor-icon-list-icon svg,
.dn-ftr-office-tel .elementor-icon-list-icon i {
  width: 11px;
  height: 11px;
  font-size: 11px;
  fill: var(--dn-ftr-green);
  color: var(--dn-ftr-green);
}

/* ═══════════════════════════════════════════════════════════════════════════
   6 · ⚠ THE THREE PHANTOM HAMBURGERS — GOTCHA 39, LIVE ON ALL THREE MENUS
   nav-menu defaults to toggle:'burger' and obeys its dropdown breakpoint no matter how many
   items it holds or which way it is laid out. Below 1024px every one of the footer's three
   VERTICAL menus collapsed into a grey square, putting the site's internal links behind a
   toggle for the majority of its traffic. build-templates.js now sets dropdown:'none' on all
   three; these rules make it true on the live site with no re-import.
   This is the sanctioned case for declaring `display` on a menu-toggle — one that is never
   wanted at any width. Never do it to a toggle Elementor is deciding about (see header.css).
   ═══════════════════════════════════════════════════════════════════════════ */
.dn-ftr-menu .elementor-menu-toggle,
.dn-ftr-legalmenu .elementor-menu-toggle {
  display: none !important;
}
.dn-ftr-menu nav.elementor-nav-menu--main,
.dn-ftr-legalmenu nav.elementor-nav-menu--main {
  display: block !important;
}
.dn-ftr-menu nav.elementor-nav-menu--dropdown,
.dn-ftr-legalmenu nav.elementor-nav-menu--dropdown {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   7 · BRAND COLUMN
   ═══════════════════════════════════════════════════════════════════════════ */
.dn-ftr-tagline .elementor-heading-title {
  font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.3125rem) !important;
  max-width: 20ch;
}
.dn-ftr-social .elementor-social-icon {
  transition: transform 0.24s var(--dn-ftr-ease), box-shadow 0.24s ease,
    background-color 0.24s ease;
}
.dn-ftr-social .elementor-social-icon:hover {
  transform: translateY(-2px);
  box-shadow: 0 2px 4px rgba(10, 60, 30, 0.16), 0 10px 18px -10px rgba(10, 60, 30, 0.5);
}

/* ═══════════════════════════════════════════════════════════════════════════
   8 · THE LEGAL ROW, AND THE CLOSE
   The page ends on the house tricolour thread — the same figure the masthead draws when it
   sticks. The document opens on a security band and closes on the thread.
   ═══════════════════════════════════════════════════════════════════════════ */
.dn-ftr-legal {
  position: relative;
  background-color: var(--dn-ftr-paper) !important;
}
.dn-ftr-legal::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 2px;
  background: var(--dn-ftr-gold);
  opacity: 0.34;
  pointer-events: none;
}
.dn-ftr-legal::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--dn-ftr-thread);
  pointer-events: none;
}

.dn-ftr-copy p {
  margin: 0;
  color: var(--dn-ftr-label);
  font-size: 0.75rem;
  letter-spacing: 0.01em;
}
.dn-ftr-legalmenu .elementor-nav-menu a.elementor-item,
.dn-ftr-legalmenu .elementor-nav-menu a.elementor-item:link,
.dn-ftr-legalmenu .elementor-nav-menu a.elementor-item:visited {
  color: var(--dn-ftr-label) !important;
  font-size: 0.75rem !important;
  transition: color 0.22s ease;
}
.dn-ftr-legalmenu .elementor-nav-menu a.elementor-item:hover,
.dn-ftr-legalmenu .elementor-nav-menu a.elementor-item:focus {
  color: var(--dn-ftr-green) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   9 · RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  /* Four columns become 2x2 rather than four slivers. */
  .dn-ftr-top .e-con-inner > .elementor-element {
    width: 47% !important;
  }
}

@media (max-width: 767px) {
  .dn-ftr-top .e-con-inner > .elementor-element {
    width: 100% !important;
  }
  /* The ledger goes single-file: two 47% entries inside a full-width phone column leave an
     address four words wide. */
  .dn-ftr-office {
    width: 100% !important;
  }
  .dn-ftr-top {
    padding-top: 40px !important;
    padding-bottom: 28px !important;
  }
  .dn-ftr-legal .e-con-inner {
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    text-align: center;
  }
  .dn-ftr-legalmenu .elementor-nav-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   10 · FOCUS AND MOTION
   The footer had no visible focus state on any of its ~25 links.
   ═══════════════════════════════════════════════════════════════════════════ */
.dn-ftr.dn-ftr a:focus-visible,
.dn-ftr .elementor-item:focus-visible,
.dn-ftr .elementor-social-icon:focus-visible {
  outline: 2px solid var(--dn-ftr-green);
  outline-offset: 3px;
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .dn-ftr,
  .dn-ftr *,
  .dn-ftr *::before,
  .dn-ftr *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}/* End custom CSS */