.elementor-46 .elementor-element.elementor-element-ae8e797{--display:flex;--min-height:560px;--justify-content:center;--overlay-opacity:0.62;--padding-top:96px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-ae8e797:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-ae8e797 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/cincinnati-scaled.jpg");background-position:center center;background-size:cover;}.elementor-46 .elementor-element.elementor-element-ae8e797::before, .elementor-46 .elementor-element.elementor-element-ae8e797 > .elementor-background-video-container::before, .elementor-46 .elementor-element.elementor-element-ae8e797 > .e-con-inner > .elementor-background-video-container::before, .elementor-46 .elementor-element.elementor-element-ae8e797 > .elementor-background-slideshow::before, .elementor-46 .elementor-element.elementor-element-ae8e797 > .e-con-inner > .elementor-background-slideshow::before, .elementor-46 .elementor-element.elementor-element-ae8e797 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#101010;--background-overlay:'';}.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 );color:var( --e-global-color-primary );}.elementor-46 .elementor-element.elementor-element-3ef6d96 .elementor-heading-title{color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-46 .elementor-element.elementor-element-11dfab9{--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;--justify-content:flex-start;--gap:12px 16px;--row-gap:12px;--column-gap:16px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-46 .elementor-element.elementor-element-2818cf6{--display:flex;--padding-top:64px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-10f05e9{text-align:center;}.elementor-46 .elementor-element.elementor-element-0b021f8{--display:flex;--padding-top:64px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-b0ddf04{text-align:center;}.elementor-46 .elementor-element.elementor-element-b0ddf04 .elementor-heading-title{color:#117A3E;}.elementor-46 .elementor-element.elementor-element-7ef97a2{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:110px;--padding-right:110px;}.elementor-46 .elementor-element.elementor-element-25878af{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-b5c5cea{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-b5c5cea:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-b5c5cea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-b5c5cea.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-fa045cd{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-fa045cd:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-fa045cd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-46 .elementor-element.elementor-element-f30e1bf{text-align:center;}.elementor-46 .elementor-element.elementor-element-f30e1bf img{width:100%;height:161px;object-fit:cover;object-position:center center;}.elementor-46 .elementor-element.elementor-element-f07d228{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-65fad79{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.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-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-46 .elementor-element.elementor-element-1df6004{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-1df6004.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-1df6004 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-cf89e40{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-cf89e40.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-37eac88{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-323274f{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-323274f:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-323274f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-323274f.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-08fdf2e{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-08fdf2e:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-08fdf2e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-8132ca3{text-align:center;}.elementor-46 .elementor-element.elementor-element-8132ca3 img{width:100%;height:161px;object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-b303e71{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-a918f04{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-f83e222{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-f83e222.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-f83e222 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-8759f3d{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-8759f3d.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-ba4de16{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-72168cb{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-72168cb:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-72168cb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-72168cb.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-6e61206{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-6e61206:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-6e61206 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-4bcad6c{text-align:center;}.elementor-46 .elementor-element.elementor-element-4bcad6c img{width:100%;height:161px;object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-4c26920{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-aafb34a{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-d033a48{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-d033a48.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-d033a48 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-d298b22{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-d298b22.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-856c6f1{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-56d2128{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-56d2128:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-56d2128 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-56d2128.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-a939081{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-a939081:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-a939081 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-0fa2faf{text-align:center;}.elementor-46 .elementor-element.elementor-element-0fa2faf img{width:100%;height:161px;object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-e751949{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-a286187{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-93027a1{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-93027a1.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-93027a1 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-308a2bd{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-308a2bd.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-2720aa7{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-886d501{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-886d501:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-886d501 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-886d501.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-a6bffe8{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-a6bffe8:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-a6bffe8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-fc12975{text-align:center;}.elementor-46 .elementor-element.elementor-element-fc12975 img{width:75%;height:161px;object-fit:cover;object-position:top center;}.elementor-46 .elementor-element.elementor-element-07c0606{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-7841489{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-2ae2fb5{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-2ae2fb5.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-2ae2fb5 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-5926a33{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-5926a33.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-e076df5{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-bdc49a2{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-bdc49a2:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-bdc49a2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-bdc49a2.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-4f4d6fa{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-4f4d6fa:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-4f4d6fa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-9e4098a{text-align:center;}.elementor-46 .elementor-element.elementor-element-9e4098a img{width:45%;height:161px;object-fit:cover;object-position:center center;filter:brightness( 110% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-46 .elementor-element.elementor-element-df49ff9{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-ea0f805{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-ce52409{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-ce52409.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-ce52409 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-dab7774{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-dab7774.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-bf95830{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-83f238c{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-83f238c:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-83f238c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-83f238c.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-34c1de5{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-34c1de5:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-34c1de5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-87702ac{text-align:center;}.elementor-46 .elementor-element.elementor-element-87702ac img{width:331px;height:161px;object-fit:cover;object-position:bottom center;filter:brightness( 104% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-46 .elementor-element.elementor-element-52294e8{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-5078e63{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-1bd8143{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-1bd8143.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-1bd8143 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-568b195{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-568b195.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-d1148c7{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-c99f8a6{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-c99f8a6:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-c99f8a6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-c99f8a6.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-f99360d{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-f99360d:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-f99360d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-d9f5130{text-align:center;}.elementor-46 .elementor-element.elementor-element-d9f5130 img{width:311px;height:161px;object-fit:cover;object-position:top center;filter:brightness( 103% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-46 .elementor-element.elementor-element-f87b793{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-337277c{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-2487016{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-2487016.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-2487016 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-277ba9b{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-277ba9b.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-cc84c28{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-38d334a{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-38d334a:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-38d334a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-38d334a.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-847aca4{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-847aca4:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-847aca4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-00c729b{padding:25px 25px 0px 25px;text-align:center;}.elementor-46 .elementor-element.elementor-element-00c729b img{width:100%;height:136px;object-fit:cover;object-position:center center;}.elementor-46 .elementor-element.elementor-element-b4671e3{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-3f3793b{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-24f7781{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-24f7781.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-24f7781 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-df924b9{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-df924b9.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-e02966e{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-dc5d10a{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-dc5d10a:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-dc5d10a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-dc5d10a.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-0b66689{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-0b66689:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-0b66689 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-c48b13f{padding:25px 25px 0px 25px;text-align:center;}.elementor-46 .elementor-element.elementor-element-c48b13f img{width:100%;height:136px;object-fit:cover;object-position:center center;filter:brightness( 130% ) contrast( 88% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-46 .elementor-element.elementor-element-90fd240{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-67f01b5{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-7b9a41c{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-7b9a41c.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-7b9a41c .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-9a22568{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-9a22568.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-e2c8b4f{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-ef47600{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-ef47600:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-ef47600 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-ef47600.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-7116910{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-7116910:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-7116910 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-cf8d507{padding:25px 25px 0px 25px;text-align:center;}.elementor-46 .elementor-element.elementor-element-cf8d507 img{width:100%;height:136px;object-fit:cover;object-position:center center;filter:brightness( 130% ) contrast( 88% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-46 .elementor-element.elementor-element-2e4aa19{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-ac74c71{padding:0px 25px 0px 25px;font-size:17px;line-height:1.65em;color:#6C6C6E;}.elementor-46 .elementor-element.elementor-element-1b054a9{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-1b054a9.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-1b054a9 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-18107d2{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-18107d2.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-12652db{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-slides-gap:0px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:-35px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:-35px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;--e-n-carousel-arrow-normal-color:#228B22;--e-n-carousel-arrow-hover-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-717a3e6{--display:flex;--padding-top:64px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-717a3e6:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-717a3e6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-cadf73b{--display:flex;--padding-top:64px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-cadf73b:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-cadf73b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-cab2f6b{text-align:center;}.elementor-46 .elementor-element.elementor-element-55f6f69{text-align:center;}.elementor-46 .elementor-element.elementor-element-f1975f9{--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;--padding-top:0px;--padding-bottom:64px;--padding-left:110px;--padding-right:110px;}.elementor-46 .elementor-element.elementor-element-f1975f9:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-f1975f9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-9fc055f{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-8145337{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-8145337:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-8145337 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-8145337.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-cff3a5a{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-cff3a5a:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-cff3a5a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-79e39ed{text-align:center;}.elementor-46 .elementor-element.elementor-element-79e39ed img{width:100%;height:161px;object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-1eeb8b3{padding:0px 25px 0px 25px;font-size:28px;line-height:1em;letter-spacing:2px;color:#F2A20C;}.elementor-46 .elementor-element.elementor-element-b489854{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-59f4617{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-59f4617.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-59f4617 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-d6d9587{padding:0px 25px 0px 25px;font-size:28px;font-weight:800;line-height:1.1em;color:#117A3E;}.elementor-46 .elementor-element.elementor-element-1fa35ae{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-1fa35ae.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-5434a99{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-3bb35e4{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-3bb35e4:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-3bb35e4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-3bb35e4.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-faff3de{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-faff3de:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-faff3de > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-3728e44{text-align:center;}.elementor-46 .elementor-element.elementor-element-3728e44 img{width:100%;height:161px;object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-e959a69{padding:0px 25px 0px 25px;font-size:28px;line-height:1em;letter-spacing:2px;color:#F2A20C;}.elementor-46 .elementor-element.elementor-element-baddf2a{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-b463137{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-b463137.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-b463137 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-35a306a{padding:0px 25px 0px 25px;font-size:28px;font-weight:800;line-height:1.1em;color:#117A3E;}.elementor-46 .elementor-element.elementor-element-eceaec6{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-eceaec6.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-7bac99e{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-7033b48{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-7033b48:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-7033b48 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-7033b48.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-3cecba4{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-3cecba4:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-3cecba4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-7996582{text-align:center;}.elementor-46 .elementor-element.elementor-element-7996582 img{width:100%;height:161px;object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-f04144e{padding:0px 25px 0px 25px;font-size:28px;line-height:1em;letter-spacing:2px;color:#F2A20C;}.elementor-46 .elementor-element.elementor-element-034d0ea{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-a999b02{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-a999b02.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-a999b02 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-fcdb48c{padding:0px 25px 0px 25px;font-size:28px;font-weight:800;line-height:1.1em;color:#117A3E;}.elementor-46 .elementor-element.elementor-element-3d5a5b9{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-3d5a5b9.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-3b97538{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-87d5b39{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-87d5b39:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-87d5b39 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-87d5b39.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-d3a1263{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-d3a1263:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-d3a1263 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-46bac21{text-align:center;}.elementor-46 .elementor-element.elementor-element-46bac21 img{width:100%;height:161px;object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-fe5ca7e{padding:0px 25px 0px 25px;font-size:28px;line-height:1em;letter-spacing:2px;color:#F2A20C;}.elementor-46 .elementor-element.elementor-element-fbf5750{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-2a90be9{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-2a90be9.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-2a90be9 .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-6696db1{padding:0px 25px 0px 25px;font-size:28px;font-weight:800;line-height:1.1em;color:#117A3E;}.elementor-46 .elementor-element.elementor-element-206aa21{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-206aa21.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-76acb16{--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;--padding-top:0px;--padding-bottom:25px;--padding-left:10px;--padding-right:10px;}.elementor-46 .elementor-element.elementor-element-a42fa99{--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:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#D1D1D1;--border-color:#D1D1D1;box-shadow:0px 8px 12px -4px rgba(205,205,205,1);--padding-top:0px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-a42fa99:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-a42fa99 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-a42fa99.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-4c56aa2{--display:flex;--min-height:6px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-4c56aa2:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-4c56aa2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-865a5c9{text-align:center;}.elementor-46 .elementor-element.elementor-element-865a5c9 img{width:100%;height:161px;object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-aa31a63{padding:0px 25px 0px 25px;font-size:28px;line-height:1em;letter-spacing:2px;color:#F2A20C;}.elementor-46 .elementor-element.elementor-element-8cc2461{padding:0px 25px 0px 25px;}.elementor-46 .elementor-element.elementor-element-4741caf{padding:0px 25px 0px 25px;--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-46 .elementor-element.elementor-element-4741caf.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-icon i{color:#117A3E;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-icon svg{fill:#117A3E;transition:fill 0.3s;}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-icon{padding-inline-end:11px;}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-item > .elementor-icon-list-text, .elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-item > a{font-size:15px;line-height:21px;}.elementor-46 .elementor-element.elementor-element-4741caf .elementor-icon-list-text{color:#4E4E53;transition:color 0.3s;}.elementor-46 .elementor-element.elementor-element-67c62ee{padding:0px 25px 0px 25px;font-size:28px;font-weight:800;line-height:1.1em;color:#117A3E;}.elementor-46 .elementor-element.elementor-element-f821c61{width:var( --container-widget-width, 200px );max-width:200px;margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-46 .elementor-element.elementor-element-f821c61.elementor-element{--align-self:center;}.elementor-46 .elementor-element.elementor-element-e4e14c1{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-slides-gap:0px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:-35px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:-35px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;--e-n-carousel-arrow-normal-color:#228B22;--e-n-carousel-arrow-hover-color:#117A3E;}.elementor-46 .elementor-element.elementor-element-9231334{--display:flex;--padding-top:32px;--padding-bottom:58px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-9231334:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-9231334 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-46 .elementor-element.elementor-element-75d42fe{text-align:center;}.elementor-46 .elementor-element.elementor-element-af7a006{--display:flex;--padding-top:64px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-75eaa5d{text-align:center;}.elementor-46 .elementor-element.elementor-element-7141626{--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;}.elementor-46 .elementor-element.elementor-element-be94a95{--display:flex;}.elementor-46 .elementor-element.elementor-element-901321f{--display:flex;--justify-content:center;}.elementor-46 .elementor-element.elementor-element-fa00f36{text-align:start;}.elementor-46 .elementor-element.elementor-element-096b65d{text-align:start;}.elementor-46 .elementor-element.elementor-element-310b718{--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;}.elementor-46 .elementor-element.elementor-element-310b718:not(.elementor-motion-effects-element-type-background), .elementor-46 .elementor-element.elementor-element-310b718 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F4F4;}.elementor-46 .elementor-element.elementor-element-d506080 .elementor-heading-title{color:#117A3E;}.elementor-46 .elementor-element.elementor-element-0385eba .elementor-button{background-color:#117A3E;fill:#FFFFFF;color:#FFFFFF;}@media(min-width:768px){.elementor-46 .elementor-element.elementor-element-7ef97a2{--width:1540px;}.elementor-46 .elementor-element.elementor-element-f1975f9{--width:1540px;}.elementor-46 .elementor-element.elementor-element-be94a95{--width:50%;}.elementor-46 .elementor-element.elementor-element-901321f{--width:50%;}}@media(max-width:1024px){.elementor-46 .elementor-element.elementor-element-11dfab9{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-f30e1bf img{object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-87702ac img{object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-d9f5130 img{object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-12652db{--e-n-carousel-swiper-slides-to-display:2;}.elementor-46 .elementor-element.elementor-element-e4e14c1{--e-n-carousel-swiper-slides-to-display:2;}.elementor-46 .elementor-element.elementor-element-9231334{--padding-top:32px;--padding-bottom:58px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-46 .elementor-element.elementor-element-ae8e797{--min-height:0px;--overlay-opacity:0;--padding-top:0px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-3ef6d96{text-align:center;}.elementor-46 .elementor-element.elementor-element-11dfab9{--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:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-7ef97a2{--padding-top:0px;--padding-bottom:0px;--padding-left:6px;--padding-right:6px;}.elementor-46 .elementor-element.elementor-element-25878af{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-b5c5cea.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-f30e1bf img{height:130px;object-fit:contain;object-position:center center;}.elementor-46 .elementor-element.elementor-element-65fad79{font-size:16px;}.elementor-46 .elementor-element.elementor-element-37eac88{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-323274f.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-8132ca3 img{height:130px;}.elementor-46 .elementor-element.elementor-element-a918f04{font-size:16px;}.elementor-46 .elementor-element.elementor-element-ba4de16{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-72168cb.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-4bcad6c img{height:130px;}.elementor-46 .elementor-element.elementor-element-aafb34a{font-size:16px;}.elementor-46 .elementor-element.elementor-element-856c6f1{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-56d2128.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-0fa2faf img{height:130px;}.elementor-46 .elementor-element.elementor-element-a286187{font-size:16px;}.elementor-46 .elementor-element.elementor-element-2720aa7{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-886d501.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-fc12975 img{height:130px;}.elementor-46 .elementor-element.elementor-element-7841489{font-size:16px;}.elementor-46 .elementor-element.elementor-element-e076df5{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-bdc49a2.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-9e4098a img{height:130px;}.elementor-46 .elementor-element.elementor-element-ea0f805{font-size:16px;}.elementor-46 .elementor-element.elementor-element-bf95830{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-83f238c.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-87702ac img{height:130px;object-fit:cover;object-position:bottom center;}.elementor-46 .elementor-element.elementor-element-5078e63{font-size:16px;}.elementor-46 .elementor-element.elementor-element-d1148c7{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-c99f8a6.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-d9f5130{padding:0px 0px 0px 0px;}.elementor-46 .elementor-element.elementor-element-d9f5130 img{height:130px;object-fit:cover;object-position:top center;}.elementor-46 .elementor-element.elementor-element-337277c{font-size:16px;}.elementor-46 .elementor-element.elementor-element-cc84c28{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-38d334a.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-00c729b img{height:130px;}.elementor-46 .elementor-element.elementor-element-3f3793b{font-size:16px;}.elementor-46 .elementor-element.elementor-element-e02966e{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-dc5d10a.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-c48b13f img{height:130px;}.elementor-46 .elementor-element.elementor-element-67f01b5{font-size:16px;}.elementor-46 .elementor-element.elementor-element-e2c8b4f{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-ef47600.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-cf8d507 img{height:130px;}.elementor-46 .elementor-element.elementor-element-ac74c71{font-size:16px;}.elementor-46 .elementor-element.elementor-element-12652db{--e-n-carousel-swiper-slides-to-display:1;--e-n-carousel-arrow-prev-left-position:4px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-position:4px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;}.elementor-46 .elementor-element.elementor-element-f1975f9{--padding-top:0px;--padding-bottom:64px;--padding-left:6px;--padding-right:6px;}.elementor-46 .elementor-element.elementor-element-9fc055f{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-8145337.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-79e39ed img{height:130px;}.elementor-46 .elementor-element.elementor-element-1eeb8b3{font-size:22px;}.elementor-46 .elementor-element.elementor-element-5434a99{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-3bb35e4.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-3728e44 img{height:130px;}.elementor-46 .elementor-element.elementor-element-e959a69{font-size:22px;}.elementor-46 .elementor-element.elementor-element-7bac99e{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-7033b48.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-7996582 img{height:130px;}.elementor-46 .elementor-element.elementor-element-f04144e{font-size:22px;}.elementor-46 .elementor-element.elementor-element-3b97538{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-87d5b39.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-46bac21 img{height:130px;}.elementor-46 .elementor-element.elementor-element-fe5ca7e{font-size:22px;}.elementor-46 .elementor-element.elementor-element-76acb16{--padding-top:0px;--padding-bottom:25px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-a42fa99.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-865a5c9 img{height:130px;}.elementor-46 .elementor-element.elementor-element-aa31a63{font-size:22px;}.elementor-46 .elementor-element.elementor-element-e4e14c1{--e-n-carousel-swiper-slides-to-display:1;--e-n-carousel-arrow-prev-left-position:4px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-position:4px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;}.elementor-46 .elementor-element.elementor-element-9231334{--padding-top:0px;--padding-bottom:26px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS *//* ═══════════════════════════════════════════════════════════════════
   ALL WASTE CONSULTING — HOMEPAGE

   NOTE FOR WHOEVER EDITS THIS NEXT: this stylesheet is output in the
   public page source. Keep it free of any other company's name.
   Design provenance and reference measurements live in the vault at
   Clients/Junk Hawk/log.md, not here.

   ── HARD-WON NOTES, do not re-learn these ────────────────────────
   1. A rail's OWN horizontal padding breaks 3-up card maths.
      flex-basis 100% resolves against the CONTENT box, but the scroll
      viewport is clientWidth. 40px of padding left 80px of slack and
      a 4th card peeked through the edge. Rails must have padding 0.
   2. Carousel arrows are moved into a JS-created .awc-rail-wrap and
      centred with plain CSS. An earlier version measured the rail and
      wrote `top`, but a nav's offsetParent is its own Elementor
      widget, not the section, so those arrows drifted a whole section
      down the page.
   3. The HTML widget's inline script runs during parsing, BEFORE the
      rail exists in the DOM. It must wait for DOM ready. Also never
      use document.currentScript, Elementor leaves it null.
   4. On a boxed container the BACKGROUND paints on the OUTER
      full-width element. Setting max-width:none on the form card made
      the white run edge to edge and stop reading as a card.
   5. Section padding lives on `.e-con-inner`, NOT on the section.
      getComputedStyle on the section reports 0px and looks like there
      is nothing to remove. Always check the inner.
   6. Positional body.elementor-page-46s on form fields (:nth-of-type) break the
      moment a field is added or removed. Prefer the field-type class.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Content width: 1300 ────────────────────────────────────────────
   The 160px minimum gutter is load-bearing: it is the room the
   carousel chevrons need to sit outside the cards. The header template
   uses the matching max(80px, calc((100% - 1300px)/2)).             */
.elementor-element-ae8e797,
.elementor-element-2818cf6,
.elementor-element-0b021f8,
.elementor-element-cadf73b,
.elementor-element-717a3e6,
.elementor-element-af7a006 {
  --content-width: min(1300px, calc(100% - 160px)) !important;
}

.page-header,
.elementor-page-title,
h1.entry-title { display: none !important; }

/* ── Buttons ────────────────────────────────────────────────────────*/
.elementor-button,
.elementor-button-wrapper .elementor-button,
.elementor-field-type-submit button {
  background-color: #F2A20C !important;
  color: #101010 !important;
  font-family: "Libre Franklin", sans-serif !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  letter-spacing: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  padding: 15px 30px !important;
  transition: background-color 120ms ease, color 120ms ease !important;
}
.elementor-button:hover,
.elementor-button:focus,
.elementor-field-type-submit button:hover {
  background-color: #101010 !important;
  color: #FFFFFF !important;
}

/* ── Hero ───────────────────────────────────────────────────────────*/
.elementor-element-ae8e797 { padding-bottom: 96px !important; }
.elementor-element-ae8e797 > .e-con-inner {
  padding-top: 72px !important;
  padding-bottom: 56px !important;
}
.elementor-element-3ef6d96,
.elementor-element-3ef6d96 .elementor-heading-title { max-width: 900px !important; }
.elementor-element-3ef6d96 h1 {
  font-size: 50px !important;
  line-height: 1.06 !important;
}
.elementor-element-b47dddb { max-width: 660px !important; }
.elementor-element-b47dddb p {
  font-size: 20px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, .92);
}
.elementor-element-2b99e0c .elementor-button {
  font-size: 17px !important;
  padding: 17px 34px !important;
}

/* ── Availability card, overlapping the hero ────────────────────────
   Outer constrained to the content measure so the white reads as a
   card; inner zeroed so the padding below is the card's real padding. */
.elementor-element-2a02618 {
  background-color: #FFFFFF !important;
  max-width: min(1300px, calc(100% - 160px)) !important;
  --content-width: 100% !important;
  margin: -96px auto 56px !important;
  padding: 26px 36px 24px !important;
  position: relative !important;
  z-index: 5 !important;
  box-shadow: 0 12px 44px rgba(16, 16, 16, .18);
}
.elementor-element-2a02618 > .e-con-inner {
  padding: 0 !important;
  row-gap: 10px !important;
}
.elementor-element-abda58a { margin-bottom: 4px; }
.elementor-element-abda58a .elementor-heading-title { font-size: 26px !important; }
.elementor-element-fc4d335 p { margin-bottom: 14px !important; font-size: 16px; color: #4A4A4A; }

/* ── The form: two fields plus submit ───────────────────────────────
   Controls are GROUPED LEFT at fixed widths and the rest of the card
   is left empty. Letting the address field flex to fill made it 776px
   for a ZIP code, which is why it read as too long.                 */
.elementor-element-106c3fe .elementor-form-fields-wrapper {
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 16px !important;
}
.elementor-element-106c3fe .elementor-field-group {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-element-106c3fe .elementor-field-group:nth-of-type(1) { flex: 0 0 200px !important; }
.elementor-element-106c3fe .elementor-field-group:nth-of-type(2) { flex: 0 0 450px !important; }
/* class, not position — see note 6 */
.elementor-element-106c3fe .elementor-field-group.elementor-field-type-submit {
  flex: 0 0 210px !important;
  align-items: flex-end;
}
.elementor-element-106c3fe .elementor-field-group input,
.elementor-element-106c3fe .elementor-field-group select {
  border: 1px solid #CFCFCF !important;
  border-radius: 0 !important;
  background: #FFFFFF !important;
  font-family: "Libre Franklin", sans-serif !important;
  font-size: 16px !important;
  transition: border-color 120ms ease !important;
}
.elementor-element-106c3fe .elementor-field-group input:focus,
.elementor-element-106c3fe .elementor-field-group select:focus {
  border-color: #101010 !important;
  outline: none !important;
}
/* one height across select, text field and button */
.elementor-element-106c3fe .elementor-field-group input,
.elementor-element-106c3fe .elementor-field-group select,
.elementor-element-106c3fe .elementor-field-type-submit button {
  height: 54px !important;
  min-height: 54px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}
.elementor-element-106c3fe .elementor-field-group input,
.elementor-element-106c3fe .elementor-field-group select {
  padding-left: 14px !important;
  padding-right: 14px !important;
}
.elementor-element-106c3fe .elementor-field-type-submit button {
  width: 100% !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}
.elementor-element-106c3fe .elementor-field-label {
  font-weight: 800 !important;
  font-size: 13px !important;
  color: #101010 !important;
  margin-bottom: 6px !important;
}

/* ── Section rhythm ─────────────────────────────────────────────────*/
.elementor-element-2818cf6 > .e-con-inner,
.elementor-element-0b021f8 > .e-con-inner,
.elementor-element-cadf73b > .e-con-inner,
.elementor-element-717a3e6 > .e-con-inner,
.elementor-element-af7a006 > .e-con-inner {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}
.elementor-element-10f05e9 .elementor-heading-title,
.elementor-element-b0ddf04 .elementor-heading-title,
.elementor-element-cab2f6b .elementor-heading-title,
.elementor-element-75eaa5d .elementor-heading-title,
.elementor-element-199c119 .elementor-heading-title {
  font-size: 38px !important;
  line-height: 1.12 !important;
}
.elementor-element-6d7435b p {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 15px;
}
.elementor-element-6d7435b p:last-child { margin-bottom: 0; }

/* ── Rails, shared ──────────────────────────────────────────────────
   padding 0 is mandatory, see note 1. Exactly three cards per view:
   3 x card + 2 x 24 gap = clientWidth.                              */
.elementor-element-e372486,
.elementor-element-df70b5b {
  max-width: none !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  gap: 24px !important;
  align-items: stretch !important;
  scrollbar-width: none;
  padding-left: 0 !important;
  padding-right: 0 !important;
  scroll-padding-left: 0 !important;
}
.elementor-element-e372486::-webkit-scrollbar,
.elementor-element-df70b5b::-webkit-scrollbar { display: none; }
.elementor-element-e372486 > .e-con,
.elementor-element-df70b5b > .e-con {
  flex: 0 0 calc((100% - 48px) / 3) !important;
  width: auto !important;
  height: auto !important;
  align-self: stretch !important;
  scroll-snap-align: start;
}

/* ── Carousel arrows ────────────────────────────────────────────────
   Bare chevrons in brand green, outside the cards, no border and no
   button chrome. Positioned against the JS-created wrapper, note 2.  */
.awc-rail-wrap { position: relative; width: 100%; }
.awc-rail-nav {
  position: absolute;
  top: 50%;
  left: 0; right: 0;
  transform: translateY(-50%);
  pointer-events: none;
  margin: 0;
  z-index: 4;
}
.awc-arw {
  position: absolute;
  pointer-events: auto;
  width: 46px; height: 46px;
  display: inline-flex; align-items: center; justify-content: center;
  background: none !important;
  border: 0 !important;
  color: #01683B;
  cursor: pointer;
  padding: 0;
  transition: color 120ms ease, opacity 120ms ease, transform 120ms ease;
}
.awc-prev { left: -56px; }
.awc-next { right: -56px; }
.awc-arw svg { width: 34px; height: 34px; }
.awc-arw:hover:not(:disabled) { color: #101010; transform: scale(1.12); }
.awc-arw:disabled { opacity: .22; cursor: default; }

/* ── Commercial service cards ───────────────────────────────────────*/
.elementor-element-834dc7f, .elementor-element-2e44f49, .elementor-element-dbd998b,
.elementor-element-0b140fd, .elementor-element-280bba0, .elementor-element-10ee908 {
  background: #FFFFFF;
  box-shadow: 0 2px 16px rgba(16, 16, 16, .09);
  padding-bottom: 22px;
  display: flex !important;
  flex-direction: column !important;
  transition: box-shadow 140ms ease, transform 140ms ease;
}
.elementor-element-834dc7f:hover, .elementor-element-2e44f49:hover, .elementor-element-dbd998b:hover,
.elementor-element-0b140fd:hover, .elementor-element-280bba0:hover, .elementor-element-10ee908:hover {
  box-shadow: 0 8px 26px rgba(16, 16, 16, .16);
  transform: translateY(-2px);
}
.elementor-element-834dc7f > .elementor-widget:not(.elementor-widget-image),
.elementor-element-2e44f49 > .elementor-widget:not(.elementor-widget-image),
.elementor-element-dbd998b > .elementor-widget:not(.elementor-widget-image),
.elementor-element-0b140fd > .elementor-widget:not(.elementor-widget-image),
.elementor-element-280bba0 > .elementor-widget:not(.elementor-widget-image),
.elementor-element-10ee908 > .elementor-widget:not(.elementor-widget-image) {
  padding-left: 24px;
  padding-right: 24px;
}
.elementor-element-834dc7f img, .elementor-element-2e44f49 img, .elementor-element-dbd998b img,
.elementor-element-0b140fd img, .elementor-element-280bba0 img, .elementor-element-10ee908 img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

/* ── Roll-off size cards, all five ──────────────────────────────────
   ⚠️ The 15 (89cc2e9) and 40 (9c03c1e) cards carry NO dimension line.
   Those measurements have never been confirmed by the client. Do not
   invent them.                                                      */
.elementor-element-116582a, .elementor-element-89cc2e9, .elementor-element-be91a4a,
.elementor-element-eec900d, .elementor-element-9c03c1e {
  background: #FFFFFF;
  box-shadow: 0 2px 16px rgba(16, 16, 16, .09);
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  align-self: stretch !important;
}
.elementor-element-116582a > .elementor-widget:not(.elementor-widget-image),
.elementor-element-89cc2e9 > .elementor-widget:not(.elementor-widget-image),
.elementor-element-be91a4a > .elementor-widget:not(.elementor-widget-image),
.elementor-element-eec900d > .elementor-widget:not(.elementor-widget-image),
.elementor-element-9c03c1e > .elementor-widget:not(.elementor-widget-image) {
  padding-left: 20px;
  padding-right: 20px;
}
.elementor-element-116582a img, .elementor-element-89cc2e9 img, .elementor-element-be91a4a img,
.elementor-element-eec900d img, .elementor-element-9c03c1e img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: contain;
  background: #F4F4F5;
  padding: 8px;
}
.elementor-element-7e5b0c4 h3, .elementor-element-30d1538 h3, .elementor-element-86f9737 h3,
.elementor-element-b9ea509 h3, .elementor-element-d2c656d h3 { font-size: 20px !important; }
.elementor-element-1bcf1d0 p:first-child, .elementor-element-eb25bac p:first-child,
.elementor-element-3e6fbb2 p:first-child, .elementor-element-e939ce5 p:first-child,
.elementor-element-f403631 p:first-child {
  font-size: 23px;
  font-weight: 900;
  color: #01683B;
  margin-bottom: 8px;
}
.elementor-element-1bcf1d0 p, .elementor-element-eb25bac p, .elementor-element-3e6fbb2 p,
.elementor-element-e939ce5 p, .elementor-element-f403631 p { font-size: 15.5px; }
.elementor-element-1bcf1d0 p:last-child, .elementor-element-eb25bac p:last-child,
.elementor-element-3e6fbb2 p:last-child, .elementor-element-e939ce5 p:last-child,
.elementor-element-f403631 p:last-child {
  font-size: 14.5px;
  line-height: 1.65;
  color: #4A4A4A;
}
.elementor-element-47e86af, .elementor-element-80a6768, .elementor-element-2742f68,
.elementor-element-5f26f8a, .elementor-element-516eea6 {
  margin-top: auto !important;
  padding-top: 6px;
}
.elementor-element-47e86af .elementor-button, .elementor-element-80a6768 .elementor-button,
.elementor-element-2742f68 .elementor-button, .elementor-element-5f26f8a .elementor-button,
.elementor-element-516eea6 .elementor-button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 13px 20px !important;
}

/* ── Our Story ──────────────────────────────────────────────────────*/
.elementor-element-f775e73 img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
}

/* ── Where We Deliver ───────────────────────────────────────────────*/
.elementor-element-7ec69fc iframe { min-height: 420px; }

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ⚠️ The page does NOT overflow at 375px — documentElement.scrollWidth
   is exactly 375. The rails being wider than the viewport is what
   horizontal scrolling IS. Do not "fix" that.
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .elementor-element-ae8e797,
  .elementor-element-2818cf6,
  .elementor-element-0b021f8,
  .elementor-element-cadf73b,
  .elementor-element-717a3e6,
  .elementor-element-af7a006 {
    --content-width: calc(100% - 48px) !important;
  }
  .elementor-element-2a02618 {
    max-width: calc(100% - 48px) !important;
    margin: -56px auto 40px !important;
    padding: 24px 22px !important;
  }
  .elementor-element-3ef6d96,
  .elementor-element-3ef6d96 .elementor-heading-title,
  .elementor-element-b47dddb { max-width: none !important; }
  .elementor-element-ae8e797 { padding-bottom: 96px !important; }
  .elementor-element-e372486 > .e-con,
  .elementor-element-df70b5b > .e-con { flex: 0 0 calc((100% - 24px) / 2) !important; }
  /* address field can no longer hold 450 next to the others */
  .elementor-element-106c3fe .elementor-field-group:nth-of-type(2) { flex: 1 1 auto !important; }
}

@media (max-width: 900px) {
  /* Rails become swipeable. Arrows would have to cover the cards to
     fit, so drop them rather than overlap content. */
  .awc-rail-nav { display: none !important; }
  .elementor-element-106c3fe .elementor-form-fields-wrapper { flex-wrap: wrap !important; }
  .elementor-element-106c3fe .elementor-field-group,
  .elementor-element-106c3fe .elementor-field-group.elementor-field-type-submit {
    flex: 1 1 100% !important;
  }
}

@media (max-width: 767px) {
  .elementor-element-e372486 > .e-con,
  .elementor-element-df70b5b > .e-con { flex: 0 0 84% !important; }
  .elementor-element-2818cf6 > .e-con-inner,
  .elementor-element-0b021f8 > .e-con-inner,
  .elementor-element-cadf73b > .e-con-inner,
  .elementor-element-717a3e6 > .e-con-inner,
  .elementor-element-af7a006 > .e-con-inner {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .elementor-element-ae8e797 { padding-bottom: 72px !important; }
  .elementor-element-ae8e797 > .e-con-inner {
    padding-top: 40px !important;
    padding-bottom: 36px !important;
  }
  .elementor-element-3ef6d96 h1 { font-size: 32px !important; line-height: 1.15 !important; }
  .elementor-element-b47dddb p { font-size: 17px !important; }
  .elementor-element-abda58a .elementor-heading-title { font-size: 22px !important; }
  .elementor-element-10f05e9 .elementor-heading-title,
  .elementor-element-b0ddf04 .elementor-heading-title,
  .elementor-element-cab2f6b .elementor-heading-title,
  .elementor-element-75eaa5d .elementor-heading-title,
  .elementor-element-199c119 .elementor-heading-title { font-size: 26px !important; }
  .elementor-element-2a02618 { margin-top: -56px !important; padding: 22px 20px 20px !important; }
  .elementor-element-e9d4253,
  .elementor-element-7141626 { flex-direction: column !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   TYPE SCALE — matched to the reference site measured 2026-08-29.
   Ethan: "match ours to theirs, ours feels too big rn".

   Reference values (same typeface, Libre Franklin, so these transfer
   directly with no optical adjustment):
     h1   34 / 1.2  / 900
     h2   30 / 1.5  / 800
     h3   20 / 1.5  / 800
     body 17 / 1.7  / 400

   The loose line-heights are doing as much of the work here as the
   sizes. 1.5 on headings and 1.7 on body is what makes the reference
   read as airy at smaller type. Do not tighten these back up without
   also revisiting the sizes.

   ⚠️ Their h1 is a CARD headline, not a hero headline (their homepage
   has four of them and no page-level H1), so 34px leaves only 4px
   between our hero and our section headings. Deliberate, on Ethan's
   instruction. If the hierarchy reads flat, the hero is the number to
   raise, not the sections.
   ═══════════════════════════════════════════════════════════════════ */

.elementor-element-3ef6d96 h1 {
  font-size: 34px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}
.elementor-element-3ef6d96,
.elementor-element-3ef6d96 .elementor-heading-title { max-width: 720px !important; }

h2.elementor-heading-title {
  font-size: 30px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}
h3.elementor-heading-title {
  font-size: 20px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

/* The availability card's heading is a card title, not a section
   heading, so it should not take the full 30. */
.elementor-element-abda58a .elementor-heading-title {
  font-size: 22px !important;
  line-height: 1.35 !important;
}

/* ── Body copy ──────────────────────────────────────────────────────*/
.elementor-element-6d7435b p,
.elementor-element-3f5c733 p,
.elementor-element-2fe1747 p,
.elementor-element-59b6764 p {
  font-size: 17px !important;
  line-height: 1.7 !important;
}
/* card body sits a step below page body */
.elementor-element-7a89f3a p, .elementor-element-dfc06a2 p, .elementor-element-40c5fbe p,
.elementor-element-990e742 p, .elementor-element-68be7f0 p, .elementor-element-031389e p {
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Hero subhead: one step above body, was 20 which now looks heavy
   against a 34px H1. */
.elementor-element-b47dddb p {
  font-size: 18px !important;
  line-height: 1.65 !important;
}
.elementor-element-b47dddb { max-width: 620px !important; }
.elementor-element-2b99e0c .elementor-button {
  font-size: 16px !important;
  padding: 15px 30px !important;
}

/* Size cards: price is a display figure, keep it distinct but bring it
   down in line with the new scale. */
.elementor-element-1bcf1d0 p:first-child, .elementor-element-eb25bac p:first-child,
.elementor-element-3e6fbb2 p:first-child, .elementor-element-e939ce5 p:first-child,
.elementor-element-f403631 p:first-child {
  font-size: 21px !important;
}
.elementor-element-1bcf1d0 p, .elementor-element-eb25bac p, .elementor-element-3e6fbb2 p,
.elementor-element-e939ce5 p, .elementor-element-f403631 p {
  font-size: 16px !important;
  line-height: 1.6 !important;
}
.elementor-element-1bcf1d0 p:last-child, .elementor-element-eb25bac p:last-child,
.elementor-element-3e6fbb2 p:last-child, .elementor-element-e939ce5 p:last-child,
.elementor-element-f403631 p:last-child {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

@media (max-width: 767px) {
  .elementor-element-3ef6d96 h1 { font-size: 28px !important; line-height: 1.18 !important; }
  h2.elementor-heading-title { font-size: 24px !important; line-height: 1.3 !important; }
  h3.elementor-heading-title { font-size: 19px !important; }
  .elementor-element-abda58a .elementor-heading-title { font-size: 20px !important; }
  .elementor-element-b47dddb p { font-size: 17px !important; }
  .elementor-element-6d7435b p,
  .elementor-element-3f5c733 p,
  .elementor-element-2fe1747 p,
  .elementor-element-59b6764 p { font-size: 16px !important; line-height: 1.65 !important; }
}


/* The section headings were still rendering at 38px. The earlier
   ID-scoped rule is 0,2,0 and the generic `h2.elementor-heading-title`
   is only 0,1,1, so source order never came into it. Same body.elementor-page-46s,
   new values. */
.elementor-element-10f05e9 .elementor-heading-title,
.elementor-element-b0ddf04 .elementor-heading-title,
.elementor-element-cab2f6b .elementor-heading-title,
.elementor-element-75eaa5d .elementor-heading-title,
.elementor-element-199c119 .elementor-heading-title {
  font-size: 30px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}
@media (max-width: 767px) {
  .elementor-element-10f05e9 .elementor-heading-title,
  .elementor-element-b0ddf04 .elementor-heading-title,
  .elementor-element-cab2f6b .elementor-heading-title,
  .elementor-element-75eaa5d .elementor-heading-title,
  .elementor-element-199c119 .elementor-heading-title {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   PASS 8 — rounded fields, form card sized to its contents, tighter
   section rhythm, stronger card shadow.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Rounded fields ─────────────────────────────────────────────────
   NOTE: the submit is rounded too, because at equal heights a rounded
   input beside a square button reads as a mistake rather than a
   choice. Every OTHER button on the site stays square. If the square
   submit is wanted back, change this one rule.                      */
.elementor-element-106c3fe .elementor-field-group input,
.elementor-element-106c3fe .elementor-field-group select,
.elementor-element-106c3fe .elementor-field-type-submit button {
  border-radius: 6px !important;
}

/* ── Card sized to its contents ─────────────────────────────────────
   Controls total 200 + 16 + 450 + 16 + 210 = 892, plus 36 of padding
   each side = 964. The card was 1300, so 408px of empty white sat to
   the right of the button. That dead space is also why the card read
   as off-centre: the contents were grouped left inside a much wider
   box. Sizing the card to its contents makes `margin: auto` actually
   look centred.                                                     */
.elementor-element-2a02618 {
  max-width: min(964px, calc(100% - 160px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 32px !important;
}

/* ── Section rhythm, tightened again ────────────────────────────────
   Was 44/44, so 88px between sections and 100px above the intro
   heading once the form card's own margin was added. Now 28/28.     */
.elementor-element-2818cf6 > .e-con-inner,
.elementor-element-0b021f8 > .e-con-inner,
.elementor-element-cadf73b > .e-con-inner,
.elementor-element-717a3e6 > .e-con-inner,
.elementor-element-af7a006 > .e-con-inner {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}
/* the heading already carries 1.5 line-height, so it does not need
   extra space above it as well */
.elementor-element-10f05e9,
.elementor-element-b0ddf04,
.elementor-element-cab2f6b,
.elementor-element-75eaa5d { margin-bottom: 4px !important; }

/* ── Card shadow ────────────────────────────────────────────────────
   A single soft shadow disappeared against the white band. Layered:
   a tight contact shadow, a mid lift, and a wide ambient one.       */
.elementor-element-834dc7f, .elementor-element-2e44f49, .elementor-element-dbd998b,
.elementor-element-0b140fd, .elementor-element-280bba0, .elementor-element-10ee908,
.elementor-element-116582a, .elementor-element-89cc2e9, .elementor-element-be91a4a,
.elementor-element-eec900d, .elementor-element-9c03c1e {
  box-shadow:
    0 1px 2px rgba(16, 16, 16, .07),
    0 4px 10px rgba(16, 16, 16, .09),
    0 14px 30px rgba(16, 16, 16, .11) !important;
}
.elementor-element-834dc7f:hover, .elementor-element-2e44f49:hover, .elementor-element-dbd998b:hover,
.elementor-element-0b140fd:hover, .elementor-element-280bba0:hover, .elementor-element-10ee908:hover {
  box-shadow:
    0 2px 4px rgba(16, 16, 16, .09),
    0 8px 18px rgba(16, 16, 16, .12),
    0 22px 44px rgba(16, 16, 16, .15) !important;
  transform: translateY(-3px);
}

@media (max-width: 1024px) {
  .elementor-element-2a02618 { max-width: calc(100% - 48px) !important; }
}
@media (max-width: 767px) {
  .elementor-element-2818cf6 > .e-con-inner,
  .elementor-element-0b021f8 > .e-con-inner,
  .elementor-element-cadf73b > .e-con-inner,
  .elementor-element-717a3e6 > .e-con-inner,
  .elementor-element-af7a006 > .e-con-inner {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   PASS 9 — "Businesses We Handle Waste For" logo strip.
   Section b38340f · heading 28bbfe8 · rail f2123ff · arrows 3d1d0d6
   Logos: 106 McDonald's · 102 Kroger · 103 Wendy's · 107 Skyline ·
   104 LaRosa's. Client-confirmed by Vince 2026-08-29, logos supplied.

   ⚠️ THIS BLOCK WAS SILENTLY LOST ONCE. An `update-element` call made
   AFTER the CSS write re-saved the document from a copy that predated
   it and wiped the whole block. The tool reported success both times.
   RULE: write custom CSS LAST, and verify by fetching post-46.css and
   grepping for a marker rather than trusting the success response.
   ═══════════════════════════════════════════════════════════════════ */

.elementor-element-b38340f {
  background-color: #F4F5F4 !important;
  --content-width: min(1300px, calc(100% - 160px)) !important;
}
.elementor-element-b38340f > .e-con-inner {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}
/* centred to match every other section heading. Done in CSS, not as a
   widget setting, to avoid another element write after this one. */
.elementor-element-28bbfe8 { margin-bottom: 18px !important; }
.elementor-element-28bbfe8 .elementor-heading-title { text-align: center !important; }

/* ── Logo rail ──────────────────────────────────────────────────────*/
.elementor-element-f2123ff {
  max-width: none !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  gap: 24px !important;
  align-items: center !important;
  scrollbar-width: none;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-f2123ff::-webkit-scrollbar { display: none; }
.elementor-element-f2123ff > .elementor-widget-image {
  flex: 0 0 calc((100% - 96px) / 5) !important;
  width: auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  scroll-snap-align: start;
  padding: 0 !important;
}
.elementor-element-f2123ff .elementor-widget-container { width: 100%; }

/* Greyscale so five competing brand palettes read as one client wall
   rather than a row of adverts. Colour on hover. */
.elementor-element-f2123ff img {
  max-height: 46px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain;
  margin: 0 auto;
  display: block;
  filter: grayscale(1);
  opacity: .55;
  transition: filter 160ms ease, opacity 160ms ease;
}
.elementor-element-f2123ff .elementor-widget-image:hover img {
  filter: grayscale(0);
  opacity: 1;
}

@media (max-width: 1024px) {
  .elementor-element-b38340f { --content-width: calc(100% - 48px) !important; }
  .elementor-element-f2123ff > .elementor-widget-image {
    flex: 0 0 calc((100% - 48px) / 3) !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-b38340f > .e-con-inner {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }
  .elementor-element-f2123ff > .elementor-widget-image {
    flex: 0 0 calc((100% - 24px) / 2) !important;
  }
  .elementor-element-f2123ff img { max-height: 36px !important; }
}
/* PASS9-MARKER */


/* ═══════════════════════════════════════════════════════════════════
   PASS 10 — cards at content width, rounded form card, logo strip
   in colour and packed tighter.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Cards get the content width, arrows overflow past it ───────────
   Was min(1300, 100% - 160), i.e. the gutter was stealing 160px from
   the cards to make room for the chevrons. Ethan: "the cards
   themselves are content width, the arrows can extend that."
   130px keeps 65px of bleed each side, which is enough for a 46px
   arrow at -56 without clipping down to about 1100px wide. Below 900
   the arrows are hidden anyway and the gutter drops to 48.          */
.elementor-element-ae8e797,
.elementor-element-2818cf6,
.elementor-element-b38340f,
.elementor-element-0b021f8,
.elementor-element-cadf73b,
.elementor-element-717a3e6,
.elementor-element-af7a006 {
  --content-width: min(1300px, calc(100% - 130px)) !important;
}
.elementor-element-2a02618 {
  max-width: min(964px, calc(100% - 130px)) !important;
}
/* the rails must not clip the arrows sitting outside them */
.awc-rail-wrap { overflow: visible; }

/* ── Form card rounded ──────────────────────────────────────────────
   Reference field wrapper measures 4px, so the fields drop from 6 to
   4 and the card takes a slightly larger 10 so it reads as one
   rounded panel rather than sharp box holding rounded parts.        */
.elementor-element-2a02618 { border-radius: 10px !important; }
.elementor-element-106c3fe .elementor-field-group input,
.elementor-element-106c3fe .elementor-field-group select,
.elementor-element-106c3fe .elementor-field-type-submit button {
  border-radius: 4px !important;
}

/* ── Logo strip: full colour, larger, packed tighter ────────────────
   Ethan: "I want the logos to be colored, I don't wanna have to hover
   over it. The logos can be larger. It's just kinda too much white
   space separating them."
   Five equal 20% cells spread the logos across 1300 and left big
   voids between them. Auto-width cells centred with a fixed gap packs
   them to their natural widths instead.                             */
.elementor-element-f2123ff {
  justify-content: center !important;
  gap: 56px !important;
}
.elementor-element-f2123ff > .elementor-widget-image {
  flex: 0 0 auto !important;
}
.elementor-element-f2123ff img {
  max-height: 64px !important;
  filter: none !important;
  opacity: 1 !important;
}
.elementor-element-f2123ff .elementor-widget-image:hover img {
  filter: none !important;
  opacity: 1 !important;
}

@media (max-width: 1024px) {
  .elementor-element-ae8e797,
  .elementor-element-2818cf6,
  .elementor-element-b38340f,
  .elementor-element-0b021f8,
  .elementor-element-cadf73b,
  .elementor-element-717a3e6,
  .elementor-element-af7a006 {
    --content-width: calc(100% - 48px) !important;
  }
  .elementor-element-2a02618 { max-width: calc(100% - 48px) !important; }
  .elementor-element-f2123ff { gap: 40px !important; }
  .elementor-element-f2123ff img { max-height: 54px !important; }
}

@media (max-width: 767px) {
  /* Ethan: on mobile the strip "needs to show more than what you're
     showing". Two per scroll view was hiding three of the five. Let
     the row wrap so every logo is on screen at once. */
  .elementor-element-f2123ff {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    row-gap: 24px !important;
    column-gap: 34px !important;
  }
  .elementor-element-f2123ff > .elementor-widget-image {
    flex: 0 0 auto !important;
  }
  .elementor-element-f2123ff img { max-height: 42px !important; }
}
/* PASS10-MARKER */


/* Arrow hide breakpoint 900 -> 1024. Measured at a 904px viewport the
   prev arrow sat at x = -32, i.e. off the left edge of the screen.
   Below 1024 the gutter is only 24px, which cannot hold an arrow
   offset -56. Wherever the gutter is too small to bleed into, the
   rails are swipe-only. */
@media (max-width: 1024px) {
  .awc-rail-nav { display: none !important; }
}
/* PASS10B-MARKER */


/* Mobile logo strip was wrapping to 3 rows at 375px (measured), which
   is a lot of vertical space for five marks. Smaller logos and a
   tighter column gap pack them into two. All five stay on screen,
   which was the point. */
@media (max-width: 767px) {
  .elementor-element-f2123ff {
    column-gap: 20px !important;
    row-gap: 18px !important;
  }
  .elementor-element-f2123ff img { max-height: 32px !important; }
}
/* PASS10C-MARKER */


/* ═══════════════════════════════════════════════════════════════════
   PASS 11 — cards rebuilt against the reference, logo strip made a
   real manual carousel.

   MEASURED SIDE BY SIDE (reference vs ours, before):
     card padding    0            vs  0 40px 22px
     image width     409 = full   vs  337 inside a 417 card
     image ratio     2.00         vs  1.60
     card shadow     none         vs  three stacked shadows
     body            17 / 1.7     vs  16 / 1.6

   ⭐ THE REAL DEFECT was the card's own 40px side padding, which was
   insetting the IMAGE as well as the text. An image floating inside a
   white box with margins either side is what read as wrong. The
   reference runs the image edge to edge and pads only the text.
   ═══════════════════════════════════════════════════════════════════ */

/* Card padding to zero so the image goes full bleed. The text widgets
   already carry their own 24px side padding, so they stay inset. */
.elementor-element-834dc7f, .elementor-element-2e44f49, .elementor-element-dbd998b,
.elementor-element-0b140fd, .elementor-element-280bba0, .elementor-element-10ee908 {
  padding: 0 0 22px !important;
}

/* 2:1 like the reference. Ours were 1.6, which made the cards tall and
   the images heavy relative to the copy. */
.elementor-element-834dc7f img, .elementor-element-2e44f49 img, .elementor-element-dbd998b img,
.elementor-element-0b140fd img, .elementor-element-280bba0 img, .elementor-element-10ee908 img {
  aspect-ratio: 2 / 1 !important;
  object-fit: cover !important;
}

/* One soft shadow instead of three stacked. The reference uses none at
   all, but theirs sit on a tinted band and ours sit on white, so a
   single quiet shadow does the separating without the muddiness. */
.elementor-element-834dc7f, .elementor-element-2e44f49, .elementor-element-dbd998b,
.elementor-element-0b140fd, .elementor-element-280bba0, .elementor-element-10ee908,
.elementor-element-116582a, .elementor-element-89cc2e9, .elementor-element-be91a4a,
.elementor-element-eec900d, .elementor-element-9c03c1e {
  box-shadow: 0 2px 14px rgba(16, 16, 16, .10) !important;
}
.elementor-element-834dc7f:hover, .elementor-element-2e44f49:hover, .elementor-element-dbd998b:hover,
.elementor-element-0b140fd:hover, .elementor-element-280bba0:hover, .elementor-element-10ee908:hover {
  box-shadow: 0 6px 22px rgba(16, 16, 16, .16) !important;
  transform: translateY(-2px);
}

/* body copy matched to the reference */
.elementor-element-7a89f3a p, .elementor-element-dfc06a2 p, .elementor-element-40c5fbe p,
.elementor-element-990e742 p, .elementor-element-68be7f0 p, .elementor-element-031389e p {
  font-size: 17px !important;
  line-height: 1.7 !important;
}

/* size cards get the same full-bleed treatment. Their images are
   product renders on a light plate, so contain not cover. */
.elementor-element-116582a, .elementor-element-89cc2e9, .elementor-element-be91a4a,
.elementor-element-eec900d, .elementor-element-9c03c1e {
  padding: 0 0 20px !important;
}
.elementor-element-116582a img, .elementor-element-89cc2e9 img, .elementor-element-be91a4a img,
.elementor-element-eec900d img, .elementor-element-9c03c1e img {
  aspect-ratio: 2 / 1 !important;
}

/* ── Logo strip: a real manual carousel ─────────────────────────────
   Fixed-width cells so the row actually overflows and can be scrolled
   and paged, rather than five logos that simply fit and leave the
   arrows with nothing to do.                                        */
.elementor-element-f2123ff {
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  justify-content: flex-start !important;
  gap: 32px !important;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}
.elementor-element-f2123ff > .elementor-widget-image {
  flex: 0 0 240px !important;
  scroll-snap-align: start;
}
.elementor-element-f2123ff img { max-height: 60px !important; }

@media (max-width: 1024px) {
  .elementor-element-f2123ff { gap: 24px !important; }
  .elementor-element-f2123ff > .elementor-widget-image { flex: 0 0 180px !important; }
  .elementor-element-f2123ff img { max-height: 48px !important; }
}
@media (max-width: 767px) {
  .elementor-element-f2123ff {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    column-gap: 20px !important;
  }
  .elementor-element-f2123ff > .elementor-widget-image { flex: 0 0 140px !important; }
  .elementor-element-f2123ff img { max-height: 40px !important; }
  .elementor-element-834dc7f, .elementor-element-2e44f49, .elementor-element-dbd998b,
  .elementor-element-0b140fd, .elementor-element-280bba0, .elementor-element-10ee908 {
    padding: 0 0 18px !important;
  }
}
/* PASS11-MARKER */


/* ═══════════════════════════════════════════════════════════════════
   BRAND COLOURS — from the client's logo usage guidelines.
     Forest Green  #228B22
     Urban Grey    #C0C0C0
     Clean White   #FFFFFF

   ⚠️ The greens on this page were hardcoded as literal values when it
   was built, NOT as references to the Elementor global palette.
   Updating Global Colors alone changes nothing. They have to be
   overridden here.

   ⚠️ CONTRAST, measured not assumed:
     white on #01683B (old dark green) = 6.90:1  passes AA
     white on #228B22 (Forest Green)   = 4.39:1  FAILS AA for normal
                                                 text, which needs 4.5
   Forest Green is therefore used for headings and accents, where the
   type is large enough that 3:1 applies, and NOT as a background
   behind the 14px bold white text in the header utility bar. That bar
   keeps the darker green. Brand colour plus a darker tint for small
   text on a fill is normal practice, not a deviation.
   ═══════════════════════════════════════════════════════════════════ */

.elementor-element-10f05e9 .elementor-heading-title,
.elementor-element-b0ddf04 .elementor-heading-title,
.elementor-element-cab2f6b .elementor-heading-title,
.elementor-element-75eaa5d .elementor-heading-title,
.elementor-element-199c119 .elementor-heading-title,
.elementor-element-28bbfe8 .elementor-heading-title,
.elementor-element-abda58a .elementor-heading-title {
  color: #228B22 !important;
}

/* card titles */
.elementor-element-81457ce h3, .elementor-element-070f09a h3, .elementor-element-6b63a40 h3,
.elementor-element-0c36c3c h3, .elementor-element-2da1dd4 h3, .elementor-element-e461969 h3,
.elementor-element-7e5b0c4 h3, .elementor-element-30d1538 h3, .elementor-element-86f9737 h3,
.elementor-element-b9ea509 h3, .elementor-element-d2c656d h3,
.elementor-element-bc2547d h3, .elementor-element-478812e h3 {
  color: #228B22 !important;
}

/* size card price */
.elementor-element-1bcf1d0 p:first-child, .elementor-element-eb25bac p:first-child,
.elementor-element-3e6fbb2 p:first-child, .elementor-element-e939ce5 p:first-child,
.elementor-element-f403631 p:first-child {
  color: #228B22 !important;
}

/* carousel chevrons */
.awc-arw { color: #228B22 !important; }
.awc-arw:hover:not(:disabled) { color: #101010 !important; }

/* form field borders to the brand Urban Grey */
.elementor-element-106c3fe .elementor-field-group input,
.elementor-element-106c3fe .elementor-field-group select {
  border-color: #C0C0C0 !important;
}
/* BRANDCOLOR-MARKER */


/* Headings to Montserrat, the closest common match to the ALLWASTE
   wordmark. Body copy stays Libre Franklin, so the site runs two
   fonts, which is the limit. Swap this one family when the real
   wordmark font is recovered from the original vector file. */
.elementor-element-3ef6d96 h1,
h2.elementor-heading-title,
h3.elementor-heading-title,
.elementor-element-10f05e9 .elementor-heading-title,
.elementor-element-b0ddf04 .elementor-heading-title,
.elementor-element-cab2f6b .elementor-heading-title,
.elementor-element-75eaa5d .elementor-heading-title,
.elementor-element-199c119 .elementor-heading-title,
.elementor-element-28bbfe8 .elementor-heading-title,
.elementor-element-abda58a .elementor-heading-title {
  font-family: "Montserrat", "Libre Franklin", sans-serif !important;
  letter-spacing: -0.015em;
}

/* Any remaining dark green swapped for the brand Forest Green. */
.elementor-element-1bcf1d0 p:first-child, .elementor-element-eb25bac p:first-child,
.elementor-element-3e6fbb2 p:first-child, .elementor-element-e939ce5 p:first-child,
.elementor-element-f403631 p:first-child,
.awc-arw { color: #228B22 !important; }
/* FONTGREEN-MARKER */


/* ═══════════════════════════════════════════════════════════════════
   COLOUR ROLES — two greens, amber removed.

   Measured on the two reference sites:
     Reference A  headings BLACK, brand red used ONLY for buttons/links
     Reference B  headings DARK green #024731, buttons BRIGHTER green
                  #1C8200, body grey-ink #4F4F58

   Reference B's model is the one that transfers, because it is also a
   green brand. Two greens with separate jobs.

   ⚠️ THE ALLOCATION IS FORCED BY CONTRAST, not taste:
     white on #228B22 = 4.39:1  FAIL for 16px bold button text
     black on #228B22 = 4.33:1  FAIL as well
     white on #1E7A1E = 5.44:1  PASS
   Forest Green cannot carry small text on a fill. So:

     #228B22  Forest Green  brand colour. Headings (30px+, so the 3:1
                            threshold applies), icons, chevrons.
     #1E7A1E  Deep Green    fills that carry small text. Buttons and
                            the header utility bar. Derived by
                            darkening the brand green, not a new hue.
     #101010 / #4A4A4A      body copy
     #C0C0C0  Urban Grey    borders and rules
   ═══════════════════════════════════════════════════════════════════ */

.elementor-button,
.elementor-button-wrapper .elementor-button,
.elementor-field-type-submit button {
  background-color: #1E7A1E !important;
  color: #FFFFFF !important;
}
.elementor-button:hover,
.elementor-button:focus,
.elementor-field-type-submit button:hover {
  background-color: #101010 !important;
  color: #FFFFFF !important;
}
/* GREENBTN-MARKER */


/* ═══════════════════════════════════════════════════════════════════
   HEADINGS TO THE LOGO'S CHARCOAL

   Sampled directly from the logo artwork, not from the swatch row:
     "WASTE" wordmark   #424240
     AW monogram block  #434341
     "ALL" wordmark     green
     palette swatch     #C0C0C0  <- a light silver, only ever appears
                                    as the colour chip on the sheet

   ⚠️ #C0C0C0 measures 1.82:1 on white. Large text needs 3:1, so it
   can never carry type. It is a fill and divider tone.
   #424240 measures 10.08:1 on white.

   The logo is green + charcoal: ALL in green, WASTE in charcoal. The
   site now mirrors that. Headings take the charcoal, green is
   reserved for things you can act on, which is also how the red
   works on the reference site whose headings are black.
   ═══════════════════════════════════════════════════════════════════ */

.elementor-element-10f05e9 .elementor-heading-title,
.elementor-element-b0ddf04 .elementor-heading-title,
.elementor-element-cab2f6b .elementor-heading-title,
.elementor-element-75eaa5d .elementor-heading-title,
.elementor-element-199c119 .elementor-heading-title,
.elementor-element-28bbfe8 .elementor-heading-title,
.elementor-element-abda58a .elementor-heading-title {
  color: #424240 !important;
}

/* card titles take the charcoal too */
.elementor-element-81457ce h3, .elementor-element-070f09a h3, .elementor-element-6b63a40 h3,
.elementor-element-0c36c3c h3, .elementor-element-2da1dd4 h3, .elementor-element-e461969 h3,
.elementor-element-7e5b0c4 h3, .elementor-element-30d1538 h3, .elementor-element-86f9737 h3,
.elementor-element-b9ea509 h3, .elementor-element-d2c656d h3,
.elementor-element-bc2547d h3, .elementor-element-478812e h3 {
  color: #424240 !important;
}

/* The price stays green. It is the one accent figure on the page and
   it is a value, not a heading. */
.elementor-element-1bcf1d0 p:first-child, .elementor-element-eb25bac p:first-child,
.elementor-element-3e6fbb2 p:first-child, .elementor-element-e939ce5 p:first-child,
.elementor-element-f403631 p:first-child {
  color: #228B22 !important;
}
/* CHARCOAL-MARKER */


/* ═══════════════════════════════════════════════════════════════════
   ★ CANONICAL BRAND PALETTE ★  supersedes everything above.

     #117A3E  Vibrant Waste Green
     #414042  Deep Charcoal Grey
     #FFFFFF  Clean White

   TWO brand sheets exist and they disagree. Settled by sampling the
   logo artwork directly:

     artwork charcoal  #404040 / #414141  -> matches #414042 exactly
     artwork green     #377241            -> photo-desaturated, but far
                                             closer to #117A3E than to
                                             the other sheet's #228B22

   The other sheet's #C0C0C0 "Urban Grey" appears nowhere in the
   artwork, only as a swatch chip, and at 1.82:1 on white it can never
   carry type.

   ⭐ #117A3E measures 5.42:1 on white, which passes AA for NORMAL text
   as well as for fills. That retires the two-green workaround: one
   green now does buttons, chevrons and accents. #228B22 and the
   derived #1E7A1E are both dead.
   ═══════════════════════════════════════════════════════════════════ */

/* headings + card titles: Deep Charcoal Grey */
.elementor-element-10f05e9 .elementor-heading-title,
.elementor-element-b0ddf04 .elementor-heading-title,
.elementor-element-cab2f6b .elementor-heading-title,
.elementor-element-75eaa5d .elementor-heading-title,
.elementor-element-199c119 .elementor-heading-title,
.elementor-element-28bbfe8 .elementor-heading-title,
.elementor-element-abda58a .elementor-heading-title,
.elementor-element-81457ce h3, .elementor-element-070f09a h3, .elementor-element-6b63a40 h3,
.elementor-element-0c36c3c h3, .elementor-element-2da1dd4 h3, .elementor-element-e461969 h3,
.elementor-element-7e5b0c4 h3, .elementor-element-30d1538 h3, .elementor-element-86f9737 h3,
.elementor-element-b9ea509 h3, .elementor-element-d2c656d h3,
.elementor-element-bc2547d h3, .elementor-element-478812e h3 {
  color: #414042 !important;
}

/* green: buttons, chevrons, the price figure */
.elementor-button,
.elementor-button-wrapper .elementor-button,
.elementor-field-type-submit button {
  background-color: #117A3E !important;
  color: #FFFFFF !important;
}
.elementor-button:hover,
.elementor-button:focus,
.elementor-field-type-submit button:hover {
  background-color: #414042 !important;
  color: #FFFFFF !important;
}
.awc-arw { color: #117A3E !important; }
.awc-arw:hover:not(:disabled) { color: #414042 !important; }
.elementor-element-1bcf1d0 p:first-child, .elementor-element-eb25bac p:first-child,
.elementor-element-3e6fbb2 p:first-child, .elementor-element-e939ce5 p:first-child,
.elementor-element-f403631 p:first-child {
  color: #117A3E !important;
}
/* CANON-MARKER */


/* ── GREY BANDS: Urban Grey #C0C0C0, the named grey from the brand doc.
   Replaces the two near-identical off-greys (#F4F5F4 / #F4F4F5) that
   were picked by eye and were not brand colours at all. There was no
   sand on this page, warm neutrals are banned by the build rules.

   ⚠️ CONTRAST, measured, and it forces one change:
       #414042 charcoal on #C0C0C0  = 5.67:1  passes
       #117A3E green    on #C0C0C0  = 2.98:1  FAILS, even for large text
   So on a grey band the arrows go charcoal. Green stays on white only.
   This is why the rule below is scoped to the band, not global.       */

.elementor-element-b38340f,
.elementor-element-b38340f > .e-con-inner { background-color: #C0C0C0 !important; }

.elementor-element-b38340f .awc-arw { color: #414042 !important; }
.elementor-element-b38340f .awc-arw:hover:not(:disabled) { color: #117A3E !important; }
/* URBANGREY-MARKER */


/* ── SAND OUT ───────────────────────────────────────────────────────
   Found it: #F8F8F2 (R248 G248 B242, warm) was the background on TWO
   sections, the roll-off sizes section and Our Story. An earlier sweep
   missed it because elements report zero width immediately after
   navigation, so an area filter threw them away. Sweep by colour, not
   by size.

   Both go to Urban Grey #C0C0C0 to match the logo strip. They were
   already the same colour as each other, so the section rhythm is
   unchanged, it is just a brand colour now instead of a warm neutral.
   Warm neutrals are banned outright by client-work/web-build-rules.md.

   The sizes section carries arrows, so it takes the same charcoal
   treatment as the other grey band. Green is 2.98:1 on this grey.   */

.elementor-element-cadf73b,
.elementor-element-cadf73b > .e-con-inner,
.elementor-element-717a3e6,
.elementor-element-717a3e6 > .e-con-inner { background-color: #C0C0C0 !important; }

.elementor-element-cadf73b .awc-arw { color: #414042 !important; }
.elementor-element-cadf73b .awc-arw:hover:not(:disabled) { color: #117A3E !important; }
/* SANDOUT-MARKER */


/* ── MOBILE GUTTER, logo strip ──────────────────────────────────────
   Measured at 375px: every section's inner resolves to 327 wide, a
   24px gutter each side. The logo strip resolved to 247, a 64px
   gutter, because it was paying TWICE: 40px of its own horizontal
   padding on the section PLUS the 24px the inner already applies.
   That is why the logos looked cramped and over-separated on a phone.

   The 40px exists on desktop to give the arrows somewhere to sit
   outside the cards. Arrows are hidden below 1024, so below 1024 the
   padding has no job and is removed, letting the inner's own gutter
   govern exactly like every other section.

   Doubled class, because the desktop rule it overrides uses one.    */
@media (max-width: 1024px) {
  .elementor-element.elementor-element-b38340f {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* MOBPAD-MARKER */


/* ── MOBILE: nested container padding in Our Story and Deliver ──────
   Measured at 375px. Both sections nest containers three deep and each
   level carried its own 40px of horizontal padding, on top of the 24px
   gutter the section inner already applies:

       section inner   L24         W327
       > container     +40  L64    W247
       > container     +40  L104   W167   <- content squeezed to 167px

   Six containers were doing this: e9d4253, 891e8be, f775e73 in Our
   Story, and 7141626, be94a95, 901321f in Deliver. Nothing else on the
   page nests this way, every other section measured a clean 24/24.

   The 40px is the desktop two-column gutter. Once the columns stack it
   has no job, so it is removed below 1024 and the section gutter is
   left to govern. This also collapses the section height a lot,
   because text at 167px wide wraps constantly.

   Scoped to these two sections deliberately, NOT written as a global
   `.e-con:not(.e-parent)` rule, because carousel cards are nested
   containers too and will want their own inner padding later.       */
@media (max-width: 1024px) {
  .elementor-element-717a3e6 .e-con:not(.e-parent),
  .elementor-element-af7a006 .e-con:not(.e-parent) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* MOBPAD3 */


/* ── PHONE GUTTER: 24px -> 12px ─────────────────────────────────────
   Per Ethan, halve the side padding on normal sections on a phone.
   The gutter is not padding, it is `max-width: calc(100% - 48px)` on
   `.e-con-inner`, which splits 48 into 24 each side. Halving the
   subtrahend to 24 gives 12 each side.

   Phones only (<=767). Tablet keeps 24, which is the right measure at
   that width.

   Scoped to the page wrapper. The header bars have NO `.e-con-inner`
   at all, they use real padding, so they are untouched either way and
   keep their own 14px. 12 against 14 reads as aligned.             */
@media (max-width: 767px) {
  [data-elementor-type="wp-page"] .e-con > .e-con-inner {
    max-width: calc(100% - 24px) !important;
  }
}
/* MOBPAD4 */


/* ── PHONE GUTTER FIX ───────────────────────────────────────────────
   MOBPAD4 above used `.e-con > .e-con-inner`, which caught the form
   card too and made it NARROWER instead of wider: 56/56 against the
   44/44 it had before.

   The form card does not take its gutter from the inner max-width
   like the other sections do. It gets it from its own 24px side
   MARGIN, which also carries the -56px top margin that overlaps the
   hero. So the inner rule stacked a second constraint on top:
       24 margin + 20 card padding + 12 from the new rule = 56.

   Fix: release the card's inner, and halve its MARGIN instead, so it
   lines up on the same 12px edge as every other section.          */
@media (max-width: 767px) {

  .elementor-element-2a02618 > .e-con-inner,
  [data-elementor-type="wp-page"] .e-con:not(.e-parent) > .e-con-inner {
    max-width: none !important;
  }

  .elementor-element.elementor-element-2a02618 {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}
/* MOBPAD5 */


/* ── PHONE GUTTER, form card ────────────────────────────────────────
   The card is the one section whose gutter lives on the SECTION, as
   `max-width: calc(100% - 48px)`, not on its inner like every other
   section. So halving the margin alone left it capped at 327 wide and
   the spare 36px fell to the right: 12 left, 36 right, visibly
   lopsided.

   Cap and margin have to move together. 351 + 12 + 12 = 375 exactly. */
@media (max-width: 767px) {
  .elementor-element.elementor-element-2a02618 {
    max-width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}
/* MOBPAD6 */


/* ── PHONE GUTTER: settle at 16px ───────────────────────────────────
   24 -> 12 was measurably symmetric (every element read L12 / R-gap
   12) but it did not LOOK it. Left-aligned copy starts at a clean
   12px every line, so the left edge reads as deliberate, while the
   ragged right only touches 12px on the longest lines, and that reads
   as flush against the edge rather than as a margin.

   16px keeps two thirds of the reduction and gives the right edge
   something to be. If this still wants tuning it is one number, in
   two places, and they must move together: the section rule and the
   form card, which carries its gutter as max-width plus margin.    */
@media (max-width: 767px) {

  [data-elementor-type="wp-page"] .e-con > .e-con-inner {
    max-width: calc(100% - 32px) !important;
  }

  .elementor-element.elementor-element-2a02618 {
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
}
/* MOBPAD7 */


/* ── SECTION RHYTHM AFTER THE REORDER ───────────────────────────────
   Logo strip moved to the bottom of the page. Order is now:

     hero . form card . intro . SERVICES . sizes . story . deliver . logos

   Services takes the grey band, as asked. But sizes and story were
   BOTH already grey, so services would have made three grey sections
   in a row and they would have merged into one slab with no rhythm.
   Sizes goes white to keep the alternation honest:

     intro white . services GREY . sizes white . story GREY .
     deliver white . logos GREY

   Arrows follow their band, they are not fixed to a colour. Green
   measures 2.98:1 on this grey and fails, so a grey band gets
   charcoal arrows and a white band gets green.                      */

.elementor-element-0b021f8,
.elementor-element-0b021f8 > .e-con-inner { background-color: #C0C0C0 !important; }

.elementor-element-cadf73b,
.elementor-element-cadf73b > .e-con-inner { background-color: #FFFFFF !important; }

.elementor-element-0b021f8 .awc-arw { color: #414042 !important; }
.elementor-element-0b021f8 .awc-arw:hover:not(:disabled) { color: #117A3E !important; }

.elementor-element-cadf73b .awc-arw { color: #117A3E !important; }
.elementor-element-cadf73b .awc-arw:hover:not(:disabled) { color: #414042 !important; }
/* REORDER1 */


/* ═══════════════════════════════════════════════════════════════════
   TWO-TONE SYSTEM. Supersedes the single-green canon above.

     #228B22  light green   links
     #117A3E  dark green    arrows, buttons, hero panel
     #C0C0C0  light grey    content band backgrounds
     #414042  dark grey     headings, and the footer when it is built
     #FFFFFF  white

   Both brand sheets are in play now, as light/dark pairs rather than
   one winning. Ethan's call.
   ═══════════════════════════════════════════════════════════════════ */

/* Arrows: dark green everywhere, on white and on grey alike. */
.awc-arw,
.elementor-element-0b021f8 .awc-arw,
.elementor-element-cadf73b .awc-arw,
.elementor-element-b38340f .awc-arw { color: #117A3E !important; }
.awc-arw:hover:not(:disabled),
.elementor-element-0b021f8 .awc-arw:hover:not(:disabled),
.elementor-element-cadf73b .awc-arw:hover:not(:disabled),
.elementor-element-b38340f .awc-arw:hover:not(:disabled) { color: #414042 !important; }

/* Body copy links: light green. Not buttons, not nav. */
.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a,
.elementor-element-6d7435b a,
.elementor-element-fc4d335 a { color: #228B22 !important; text-decoration: underline; }
.elementor-widget-text-editor a:hover,
.elementor-element-6d7435b a:hover { color: #117A3E !important; }

/* ── HERO: dark green left half, photograph right half ──────────────
   The hero already uses ::before for its dark scrim, so the green
   panel goes on ::after. The photo stays full bleed underneath and the
   opaque green simply covers the left half of it.

   The copy has to be reined in to stay inside the panel. At 1025px the
   half is only 512px wide while the content box starts at x80, so a
   fixed max-width would overflow the green on narrow desktops.
   min(560px, 50vw - 120px) holds at every width from 1025 up.

   Split only above 1024. Below that the halves are too narrow to read
   and the hero stays full bleed.                                    */
@media (min-width: 1025px) {
  .elementor-element-ae8e797::after {
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 50%;
    background: #117A3E;
    z-index: 1;
    pointer-events: none;
  }
  .elementor-element-ae8e797 > .e-con-inner {
    position: relative;
    z-index: 2;
  }
  .elementor-element-3ef6d96 .elementor-heading-title,
  .elementor-element-b47dddb,
  .elementor-element-b47dddb p {
    max-width: min(560px, calc(50vw - 120px)) !important;
  }
}

/* ── SERVICES: pattern background under a light grey wash ───────────
   Attachment 152, a green low-poly pattern. Raw, it measures luminance
   0.12 to 0.32, and NOTHING sits on it safely: charcoal runs 1.65:1 to
   3.66:1, white runs 2.82:1 to 6.27:1. Both fail somewhere.

   A #C0C0C0 wash at 0.80 lifts the darkest patch from sRGB 96 to 173,
   which puts charcoal headings at 4.60:1 and passes. The pattern still
   reads as texture through the remaining 20%, and the band stays close
   enough to the flat #C0C0C0 elsewhere that the page rhythm holds.

   Gradient layer is listed FIRST so it paints on top of the photo.   */
.elementor-element-0b021f8 {
  background-image:
    linear-gradient(rgba(192, 192, 192, 0.80), rgba(192, 192, 192, 0.80)),
    url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/b56b8158-fb7f-462a-8ee0-d5a5d9a1e939-1536x1024.png") !important;
  background-size: auto, cover !important;
  background-position: center center, center center !important;
  background-repeat: repeat, no-repeat !important;
  background-attachment: scroll, scroll !important;
}
.elementor-element-0b021f8 > .e-con-inner { background-color: transparent !important; }
/* TWOTONE1 */


/* ── TWO FIXES ──────────────────────────────────────────────────────
   1. The pattern URL pointed at a -1536x1024 rendition that does not
      exist. WordPress does not generate a 1536 size for an image that
      is already 1536 wide, so it 404d and only the grey wash painted.
      Largest real rendition is -1024x683. Soft at full width, but the
      pattern is smooth gradients so it carries fine, and it is 498KB
      against the original's 1.6MB.

   2. The hero button was #117A3E sitting on the new #117A3E panel, so
      it vanished. On the green half it becomes white with green text,
      5.42:1. Only above 1024, because below that the hero is still the
      photograph and the green button is correct there.             */

.elementor-element-0b021f8 {
  background-image:
    linear-gradient(rgba(192, 192, 192, 0.80), rgba(192, 192, 192, 0.80)),
    url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/b56b8158-fb7f-462a-8ee0-d5a5d9a1e939-1024x683.png") !important;
}

@media (min-width: 1025px) {
  .elementor-element-2b99e0c .elementor-button {
    background-color: #FFFFFF !important;
    color: #117A3E !important;
  }
  .elementor-element-2b99e0c .elementor-button:hover {
    background-color: #414042 !important;
    color: #FFFFFF !important;
  }
}
/* TWOTONE2 */


/* The white hero button was scoped to min-width 1025 but was rendering
   below it too, washed out and translucent over the photograph. Pin
   the mobile case explicitly rather than relying on the min-width
   query alone. Solid green on the photo, which is what it was.     */
@media (max-width: 1024px) {
  .elementor-element-2b99e0c .elementor-button,
  .elementor-element-2b99e0c a.elementor-button {
    background-color: #117A3E !important;
    color: #FFFFFF !important;
    opacity: 1 !important;
  }
}
/* TWOTONE3 */


/* ═══════════════════════════════════════════════════════════════════
   HERO: diagonal split, photo carousel on the right
   ═══════════════════════════════════════════════════════════════════
   The diagonal is not eyeballed. The logo's parallelogram edge was
   sampled row by row off the real logo file and it is perfectly
   linear: 18px of horizontal travel per 40px of height, every row.

       slant off vertical   24.38 degrees
       horizontal run       45.3px per 100px of height
       direction            leans RIGHT at the top, like the / in AW

   Hero is 560px tall, so the edge travels 560 x 0.453 = 254px, which
   is +127px at the top and -127px at the bottom of centre.

   Layers, back to front:
       z0  .awc-hero-car   photo carousel, full bleed
       z1  ::after         green panel, clipped to the diagonal
       z2  .e-con-inner    the copy
   The carousel does not need clipping. The green panel simply covers
   the left of it, and the diagonal is the panel's own edge.        */

.awc-hero-car {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.awc-hslide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 900ms ease;
}
.awc-hslide.is-on { opacity: 1; }

/* The widget shell is left behind once the script lifts the carousel
   out of it. It holds only the script after that. */
.elementor-element-ae8e797 .elementor-widget-html { display: none !important; }

@media (min-width: 1025px) {
  /* Overlay filter off. Only above 1024: below that the copy sits
     straight on the photographs and still needs the scrim. */
  .elementor-element-ae8e797::before { display: none !important; }

  .elementor-element-ae8e797::after {
    right: 0 !important;
    clip-path: polygon(0 0, calc(50% + 127px) 0, calc(50% - 127px) 100%, 0 100%);
  }

  /* Copy has to clear the diagonal, which is at its tightest at the
     BOTTOM of the panel. Pulled in from 560 to 520. */
  .elementor-element-3ef6d96 .elementor-heading-title,
  .elementor-element-b47dddb,
  .elementor-element-b47dddb p {
    max-width: min(520px, calc(50vw - 150px)) !important;
  }
}

/* ── Headings and accents ───────────────────────────────────────────
   H2 dark green, H3 light green, arrows light green.

   ⚠️ Contrast, measured, three of these are under the line on the grey
   bands and are being kept anyway on Ethan's instruction:
       #117A3E H2 on #C0C0C0      2.98:1   large-text floor is 3.0
       #228B22 arrows on #C0C0C0  2.41:1   UI floor is 3.0
       #414042 button on #117A3E  1.90:1   reads by hue, not luminance
   On white bands all three are fine: 5.42, 4.39 and 12.6 respectively.
   H3s at 19px bold count as large text, so 4.39 passes there.       */

.elementor-element-10f05e9 .elementor-heading-title,
.elementor-element-b0ddf04 .elementor-heading-title,
.elementor-element-cab2f6b .elementor-heading-title,
.elementor-element-75eaa5d .elementor-heading-title,
.elementor-element-199c119 .elementor-heading-title,
.elementor-element-28bbfe8 .elementor-heading-title,
.elementor-element-abda58a .elementor-heading-title { color: #117A3E !important; }

.elementor-element-81457ce h3, .elementor-element-070f09a h3, .elementor-element-6b63a40 h3,
.elementor-element-0c36c3c h3, .elementor-element-2da1dd4 h3, .elementor-element-e461969 h3,
.elementor-element-7e5b0c4 h3, .elementor-element-30d1538 h3, .elementor-element-86f9737 h3,
.elementor-element-b9ea509 h3, .elementor-element-d2c656d h3,
.elementor-element-bc2547d h3, .elementor-element-478812e h3 { color: #228B22 !important; }

.awc-arw,
.elementor-element-0b021f8 .awc-arw,
.elementor-element-cadf73b .awc-arw,
.elementor-element-b38340f .awc-arw { color: #228B22 !important; }
.awc-arw:hover:not(:disabled),
.elementor-element-0b021f8 .awc-arw:hover:not(:disabled),
.elementor-element-cadf73b .awc-arw:hover:not(:disabled),
.elementor-element-b38340f .awc-arw:hover:not(:disabled) { color: #117A3E !important; }

/* Hero button: dark grey. */
.elementor-element-2b99e0c .elementor-button,
.elementor-element-2b99e0c a.elementor-button { background-color: #414042 !important; color: #FFFFFF !important; }
.elementor-element-2b99e0c .elementor-button:hover { background-color: #FFFFFF !important; color: #117A3E !important; }
@media (max-width: 1024px) {
  .elementor-element-2b99e0c .elementor-button,
  .elementor-element-2b99e0c a.elementor-button { background-color: #414042 !important; color: #FFFFFF !important; }
}
/* DIAG1 */


/* ── MOBILE HERO SCRIM ──────────────────────────────────────────────
   The hero's ::before scrim was still "present" below 1024 but did
   nothing, because the carousel is a real positioned child and the
   scrim is a pseudo-element. At equal z-index the real element paints
   later, so the carousel covered the scrim and the copy sat straight
   on the photograph, unreadable.

   The scrim has to live ON the carousel instead. Same values the hero
   overlay used: #101010 at 0.62.

   Below 1024 only. Above it the copy is on the green panel and the
   photograph is meant to be clean, which is the whole point of
   removing the filter.                                             */
@media (max-width: 1024px) {
  .awc-hero-car::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(16, 16, 16, 0.62);
    pointer-events: none;
  }
}
/* DIAG2 */


/* ═══════════════════════════════════════════════════════════════════
   HERO v2: diagonal flipped, shorter, skyline only
   ═══════════════════════════════════════════════════════════════════
   Carousel widget removed entirely, so the hero falls back to its own
   background image, the Cincinnati skyline, which is what Elementor
   sets on the section. The ::before scrim also starts working again on
   its own: it is only switched off above 1024, so mobile copy stays
   readable and the desktop right half stays clean.

   DIAGONAL REVERSED. It now leans the other way, narrow at the top and
   wide at the bottom. Same 24.38 degree angle measured off the logo,
   just mirrored.

   Height 560 -> 440, vertical padding 96 -> 56.

   440 x 0.453 = 199px of travel, so +/-100px around centre.

   ⚠️ The copy constraint moved with it. The panel is now TIGHTEST AT
   THE TOP, which is exactly where the H1 sits, so the max-width has to
   be driven by the top edge:
       top edge x = 50vw - 100
       copy starts at the content gutter, ~65px
   min(520px, 50vw - 210px) clears at every width from 1025 up.      */

.elementor-element.elementor-element-ae8e797 {
  min-height: 440px !important;
}
.elementor-element-ae8e797 > .e-con-inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

@media (min-width: 1025px) {
  .elementor-element-ae8e797::after {
    clip-path: polygon(0 0, calc(50% - 100px) 0, calc(50% + 100px) 100%, 0 100%);
  }
  .elementor-element-3ef6d96 .elementor-heading-title,
  .elementor-element-b47dddb,
  .elementor-element-b47dddb p {
    max-width: min(520px, calc(50vw - 210px)) !important;
  }
}

/* ── Form card to full content width ────────────────────────────────
   It was 964 against a 1295 content measure. The card carries its
   gutter on ITSELF as a max-width, not on its inner like every other
   section, so this is the value that has to change. Matching the
   content box: min(1300px, 100% - 130px) resolves to 1295 at 1440 and
   caps at 1300 above that, which is what the other sections do.    */
.elementor-element.elementor-element-2a02618 {
  max-width: min(1300px, calc(100% - 130px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* HEROV2 */


/* The full-content-width rule for the form card was written without a
   media query, so it beat the phone gutter rule (same specificity,
   later in the file, and media queries add none). At 375px the card
   collapsed to 245px with 65px gutters instead of 343 with 16.
   Desktop only. Phones keep the 16px gutter from MOBPAD7.          */
@media (min-width: 768px) {
  .elementor-element.elementor-element-2a02618 {
    max-width: min(1300px, calc(100% - 130px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (max-width: 767px) {
  .elementor-element.elementor-element-2a02618 {
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
}
/* HEROV2FIX */


/* ── ALIGN EVERYTHING TO THE HEADER GUTTER ──────────────────────────
   The header and the page were running two different formulas that
   only agreed on wide screens:

       header  max(80px, (100% - 1300px) / 2)   floors at 80
       page    min(1300px, 100% - 130px)        floors at 65

   Above ~1460px of layout width both resolve to 1300 and everything
   lines up, which is why it looked fine on a 2560 monitor. Below that
   the page content ran 30px wider than the header and started 15px
   further left, so the H1 and the form card sat outside the logo.

   Page now matches the header: 160px total, 80 a side.
     1425 layout -> both 1265, both starting at 80
     2545 layout -> both 1300, both starting at 623

   Phones keep the 16px gutter from MOBPAD7, untouched.             */
@media (min-width: 768px) {
  [data-elementor-type="wp-page"] .e-con > .e-con-inner {
    max-width: min(1300px, calc(100% - 160px)) !important;
  }
  .elementor-element.elementor-element-2a02618 {
    max-width: min(1300px, calc(100% - 160px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* ALIGN80 */


/* ── MOBILE HERO: photo band on top, green block under it ───────────
   Stacked instead of overlaid. The photograph gets a fixed band at the
   top of the section and the green panel fills everything below it, so
   the copy sits on flat green rather than on the image.

   The green panel is ::after, which up to now only had `content` set
   inside the min-width 1025 block, so it did not render at all on
   phones. It has to be declared again here.

   The copy is pushed clear of the photo band with padding-top on the
   inner: 200px of band plus 40px of breathing room.

   ::before, the old scrim, is switched off. It existed to make copy
   readable over the photograph, and no copy sits on the photograph
   any more.                                                        */
@media (max-width: 1024px) {

  .elementor-element.elementor-element-ae8e797 {
    min-height: 0 !important;
    background-position: center 28% !important;
  }

  .elementor-element-ae8e797::before { display: none !important; }

  .elementor-element-ae8e797::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 200px;
    bottom: 0;
    background: #117A3E;
    clip-path: none;
    z-index: 1;
    pointer-events: none;
  }

  .elementor-element-ae8e797 > .e-con-inner {
    position: relative;
    z-index: 2;
    padding-top: 240px !important;
    padding-bottom: 40px !important;
  }

  /* No diagonal constraint on a phone, the copy uses the full measure */
  .elementor-element-3ef6d96 .elementor-heading-title,
  .elementor-element-b47dddb,
  .elementor-element-b47dddb p { max-width: none !important; }
}
/* MOBHERO */


/* ── MOBILE HERO PHOTO BAND, corrected ──────────────────────────────
   MOBHERO relied on the SECTION's own background for the top band, but
   that background covers the whole 725px hero, not the 200px band. The
   image is 2560x1281; covering a 375x725 box scales it to 1449x725, so
   the visible top 200px is source y 0..353, which is pure sky. Moving
   background-position did nothing, because at that box ratio the full
   image height is already in view.

   The band needs its own background box. Elementor's ::before overlay
   is repurposed as the photo band and the section's background is
   dropped on mobile.

   375x200 against a 2:1 image covers at 400x200, so the entire skyline
   is in frame with only 25px cropped horizontally.                 */
@media (max-width: 1024px) {

  .elementor-element.elementor-element-ae8e797 { background-image: none !important; }

  .elementor-element-ae8e797::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: auto !important;
    height: 200px !important;
    background-color: transparent !important;
    background-image: url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/cincinnati-scaled.jpg") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    opacity: 1 !important;
    z-index: 0 !important;
  }
}
/* MOBHERO2 */


/* ═══════════════════════════════════════════════════════════════════
   HEADINGS IN THE LOGO'S VOICE
   ═══════════════════════════════════════════════════════════════════
   The AW monogram is custom lettering, so there is no font to copy.
   What CAN be copied is its treatment. Stripped of the custom drawing,
   the monogram and the ALLWASTE wordmark share four traits:

       very heavy weight    -> Montserrat 900, its heaviest cut
       all capitals         -> both the mark and the wordmark are caps
       tight letter fit     -> the forms are packed, almost touching
       flat cut terminals   -> Montserrat already has these

   Montserrat 900 is confirmed loaded, not synthesised: the loader
   requests 600;700;800;900 and document.fonts reports the 900 face
   as actually loaded.

   H2 takes the full treatment, caps included, because section
   headings are short.

   H1 and H3 go to 900 but stay sentence case on purpose:
     - the H1 is a 60 character sentence over 3 lines. In caps it
       would be shouty and measurably slower to read.
     - there are 13 H3 card titles. All-caps on every one turns the
       carousels into noise.
   ═══════════════════════════════════════════════════════════════════ */

.elementor-element-3ef6d96 .elementor-heading-title {
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
}

.elementor-element-10f05e9 .elementor-heading-title,
.elementor-element-b0ddf04 .elementor-heading-title,
.elementor-element-cab2f6b .elementor-heading-title,
.elementor-element-75eaa5d .elementor-heading-title,
.elementor-element-199c119 .elementor-heading-title,
.elementor-element-28bbfe8 .elementor-heading-title,
.elementor-element-abda58a .elementor-heading-title {
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.005em !important;
}

.elementor-element-81457ce h3, .elementor-element-070f09a h3, .elementor-element-6b63a40 h3,
.elementor-element-0c36c3c h3, .elementor-element-2da1dd4 h3, .elementor-element-e461969 h3,
.elementor-element-7e5b0c4 h3, .elementor-element-30d1538 h3, .elementor-element-86f9737 h3,
.elementor-element-b9ea509 h3, .elementor-element-d2c656d h3,
.elementor-element-bc2547d h3, .elementor-element-478812e h3 {
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
}

/* Hero button up a step: 16 -> 18px, padding 15/30 -> 18/38.
   Takes it from 245x46 to roughly 285x56. */
.elementor-element-2b99e0c .elementor-button,
.elementor-element-2b99e0c a.elementor-button {
  font-size: 18px !important;
  padding: 18px 38px !important;
}
/* LOGOVOICE */


/* ── 1. Drop the all-caps, keep the weight ──────────────────────────
   H2 stays Montserrat 900, back to sentence case. Tracking loosens
   from -0.005em to -0.02em, which is right for mixed case; the tighter
   value was tuned for capitals.                                     */
.elementor-element-10f05e9 .elementor-heading-title,
.elementor-element-b0ddf04 .elementor-heading-title,
.elementor-element-cab2f6b .elementor-heading-title,
.elementor-element-75eaa5d .elementor-heading-title,
.elementor-element-199c119 .elementor-heading-title,
.elementor-element-28bbfe8 .elementor-heading-title,
.elementor-element-abda58a .elementor-heading-title {
  text-transform: none !important;
  letter-spacing: -0.02em !important;
}

/* ── 2. Services band: white, pattern kept ──────────────────────────
   Same low-poly pattern, but the wash goes from #C0C0C0 at 0.80 to
   WHITE at 0.90. Worked back from the pattern's own luminance: its
   darkest patch is sRGB 96, so 0.90 white lifts it to 240 and the
   lightest to 245. Reads as a white section with the pattern showing
   through as texture.

   Contrast on that band, all passing:
       #117A3E H2      4.75:1
       #228B22 H3      3.85:1   (20px 900 counts as large text)
       #228B22 arrows  3.85:1   (UI floor is 3.0)
   Better than the grey wash gave, where green ran 2.4 to 3.0.       */
.elementor-element-0b021f8 {
  background-color: #FFFFFF !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.90), rgba(255, 255, 255, 0.90)),
    url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/b56b8158-fb7f-462a-8ee0-d5a5d9a1e939-1024x683.png") !important;
  background-size: auto, cover !important;
  background-position: center center, center center !important;
  background-repeat: repeat, no-repeat !important;
}

/* ── 3. Mobile: form card straddles the boundary evenly ─────────────
   The card is 383px tall at 375px wide, so an even straddle needs
   192px of it above the hero's bottom edge and 191px below. It was
   -56px, ie almost entirely in the next section.

   Pulling it up 136px more would put it over the hero copy, so the
   hero's inner needs the room back: bottom padding 40 -> 224px, which
   is the 192px of overlap plus a 32px gap under the button. The extra
   height is not wasted, it is exactly the area the card covers.    */
@media (max-width: 767px) {
  .elementor-element-ae8e797 > .e-con-inner {
    padding-bottom: 224px !important;
  }
  .elementor-element.elementor-element-2a02618 {
    margin-top: -192px !important;
  }
}
/* WHITEBAND */


/* Hero bottom padding 224 -> 160. The straddle needs 192px of hero
   below the button, but 224 left a 104px gap under it and made the
   hero 917px tall. Dropping 64px closes the gap to ~40 and takes the
   hero to ~853. The card's position tracks the hero's bottom edge, so
   the even 192/191 split is unaffected.                             */
@media (max-width: 767px) {
  .elementor-element-ae8e797 > .e-con-inner {
    padding-bottom: 160px !important;
  }
}
/* WHITEBAND2 */


/* ── The services band still read green, and it was not cache ───────
   The pattern is heavily saturated: R 31..99 but G 110..174. A white
   wash lightens every channel equally, so it never removes the cast,
   it only dilutes it. Measured worst-case composite:

       0.90 white -> (233, 247, 235)   14 point green spread
       0.94       -> (242, 250, 243)    8
       0.97       -> (248, 253, 249)    5   and the pattern is gone

   Opacity alone cannot fix a hue problem. So the pattern gets
   DESATURATED first, with a `saturation` blend against a neutral grey
   layer: that blend takes saturation from the top layer (grey, zero)
   and hue plus luminosity from the layer beneath, which yields a
   greyscale version of the pattern. The white wash then sits on top
   of a neutral texture instead of a green one.

   Wash eased back to 0.88 because the texture is no longer fighting
   the colour scheme, so a little more of it can show.

   Layer order and their blend modes are positional and must stay
   aligned: wash / desaturator / image.                              */
.elementor-element-0b021f8 {
  background-color: #FFFFFF !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.88)),
    linear-gradient(#808080, #808080),
    url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/b56b8158-fb7f-462a-8ee0-d5a5d9a1e939-1024x683.png") !important;
  background-blend-mode: normal, saturation, normal !important;
  background-size: auto, auto, cover !important;
  background-position: center center, center center, center center !important;
  background-repeat: repeat, repeat, no-repeat !important;
}
/* NOGREEN */


/* ── THE REAL REASON THE SERVICES BACKGROUND KEPT READING `none` ────
   Not stale CSS. Not a failed write. **Elementor lazy-loads container
   backgrounds.** Its frontend stylesheet carries

       .e-con.e-parent:not(.e-lazyloaded) { background-image: none !important }

   and a script adds `.e-lazyloaded` on intersection. That body.elementor-page-46 is
   THREE classes, (0,3,0), with !important. Every rule I wrote for this
   band used `.elementor-element-0b021f8`, a single class, (0,1,0). All
   !important, so specificity decided, and Elementor won whenever the
   class was missing.

   That is why `background-color` applied while `background-image` did
   not, from the same declaration block. I read that as a mid-write
   file three separate times. It was specificity the whole time.

   Four classes here, (0,4,0), so it wins whether or not the lazy class
   is ever added.                                                    */
.elementor-element.elementor-element-0b021f8.e-con.e-parent {
  background-color: #FFFFFF !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.88)),
    linear-gradient(#808080, #808080),
    url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/b56b8158-fb7f-462a-8ee0-d5a5d9a1e939-1024x683.png") !important;
  background-blend-mode: normal, saturation, normal !important;
  background-size: auto, auto, cover !important;
  background-position: center center, center center, center center !important;
  background-repeat: repeat, repeat, no-repeat !important;
}
/* LAZYFIX */


/* ── CONTENT WIDTH: nested containers were compounding the gutter ───
   Every section's inner sits correctly at L80 / W1265, but the content
   inside did not. Measured at 1425 layout width:

       Our Story     text starts at 160, not 80
       Deliver       same, its columns inset 80 past the section edge
       Form card     inner at 196
       Logo strip    inner at 120

   Two separate causes.

   1. ALIGN80 applied `min(1300px, 100% - 160px)` to EVERY
      `.e-con > .e-con-inner`, including nested ones and the form
      card's. A nested container therefore paid the 160px gutter a
      second time. Scoped to top-level parents only, and the form card
      is released because it already carries its gutter as its own
      max-width plus margin.

   2. Our Story and Deliver nest containers that each carry 40px of
      horizontal padding. MOBPAD3 removed that below 1024 but desktop
      kept it, so text started 80px inside the section edge and did not
      line up with the heading above it or with any other section. The
      padding is removed at all widths and the space between the two
      columns is restored as a real `gap`, which is what it was for.

   3. The logo strip's own 40px section padding existed to give the
      arrows room. The arrows are absolutely positioned and overhang
      anyway, so the rail can sit on the content edge like everything
      else.                                                          */

@media (min-width: 768px) {
  [data-elementor-type="wp-page"] .e-con:not(.e-parent) > .e-con-inner,
  .elementor-element-2a02618 > .e-con-inner {
    max-width: none !important;
  }
}

.elementor-element-717a3e6 .e-con:not(.e-parent),
.elementor-element-af7a006 .e-con:not(.e-parent) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-e9d4253,
.elementor-element-7141626 {
  column-gap: 64px !important;
}

@media (min-width: 1025px) {
  .elementor-element.elementor-element-b38340f {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* WIDTHFIX */


/* Form card inner was still paying the gutter twice. My release rule
   was `.elementor-element-2a02618 > .e-con-inner`, (0,2,0), against
   ALIGN80's `[data-elementor-type="wp-page"] .e-con > .e-con-inner`,
   (0,3,0). Attribute body.elementor-page-46s count like classes. Matching it. */
@media (min-width: 768px) {
  [data-elementor-type="wp-page"] .elementor-element-2a02618 > .e-con-inner {
    max-width: none !important;
  }
}
/* WIDTHFIX2 */


/* ── HERO IMAGE: fit the whole frame in the right region ────────────
   The photo was set on the SECTION, so `cover` sized it to the full
   1425px hero and the green panel then hid its left half. Only the
   right ~50% of the frame was ever visible.

   Moved onto ::before, which is free on desktop since the scrim was
   removed, and scoped to the image region only.

   ⚠️ The region starts at `50% - 100px`, not 50%. The diagonal's
   leftmost point is at 50% - 100px at the TOP, so starting the image
   at 50% would leave a 100px wedge of nothing between the green edge
   and the photo along the top edge.

   `contain` so the entire frame is in view, which is what was asked.
   Trade-off: the image is 2:1 and the region is about 1.56:1, so
   there are bars above and below. Switch this one word to `cover` to
   fill the region instead, which shows about 78% of the frame with no
   bars, still far more than the 50% it was showing.                */
@media (min-width: 1025px) {
  .elementor-element.elementor-element-ae8e797 { background-image: none !important; }

  .elementor-element-ae8e797::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    left: calc(50% - 100px) !important;
    background-color: transparent !important;
    background-image: url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/cincinnati-scaled.jpg") !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    opacity: 1 !important;
    z-index: 0 !important;
  }
}
/* HEROIMG */


/* `contain` did fit the entire frame, but it looked wrong: the photo
   floated in a white box, stopped meeting the diagonal, and left a
   wedge of white between the green edge and the image.

   `cover` fills the region instead, so the photo meets the diagonal
   cleanly and runs the full height. Because the region is now scoped
   to the right side rather than the whole hero, this still shows about
   78% of the frame against the ~50% it showed before. */
@media (min-width: 1025px) {
  .elementor-element-ae8e797::before {
    background-size: cover !important;
    background-position: center center !important;
  }
}
/* HEROIMG2 */


/* ── BAND SWAP ──────────────────────────────────────────────────────
   Intro section takes the light grey. Commercial services goes plain
   white and drops the pattern entirely.

   The services body.elementor-page-46 repeats LAZYFIX's four classes, (0,4,0),
   because anything weaker loses to Elementor's lazy-load rule
   `.e-con.e-parent:not(.e-lazyloaded)`, which is (0,3,0) !important.

   Rhythm after this: grey, white, grey, white, white, grey. No two
   greys touch.                                                      */

.elementor-element.elementor-element-2818cf6,
.elementor-element.elementor-element-2818cf6.e-con.e-parent,
.elementor-element-2818cf6 > .e-con-inner {
  background-color: #C0C0C0 !important;
}

.elementor-element.elementor-element-0b021f8.e-con.e-parent {
  background-color: #FFFFFF !important;
  background-image: none !important;
  background-blend-mode: normal !important;
}
.elementor-element-0b021f8 > .e-con-inner { background-color: transparent !important; }
/* BGSWAP */


/* ── FORM CARD STRADDLES THE HERO AND THE GREY BAND ─────────────────
   Measured at 1440: hero ends at 629, the card runs 533 to 739, and
   the grey intro did not begin until 771. So the card's lower half sat
   on a 32px sliver of white page background rather than on the grey,
   and the whole thing read as floating.

   The grey section is pulled up 142px to meet the hero's bottom edge
   exactly, and given the same 142px back as top padding so its own
   copy does not move. Net effect: the card now overlaps green above
   and grey below, 96px and 110px, which is the same straddle the
   mobile layout already uses.

   The card needs its own stacking context, otherwise the intro, which
   comes later in the DOM, paints over it.

   Desktop only. Mobile has its own straddle in MOBPAD/WHITEBAND2.   */
@media (min-width: 768px) {
  .elementor-element.elementor-element-2a02618 {
    position: relative !important;
    z-index: 2 !important;
  }
  .elementor-element.elementor-element-2818cf6 {
    margin-top: -142px !important;
  }
  .elementor-element-2818cf6 > .e-con-inner {
    padding-top: 206px !important;
  }
}
/* CARDSTRADDLE */


/* Space above the H2 was 96px. The section's 206px top padding has to
   absorb the 110px the card overlaps into it, so the visible gap is
   padding minus overlap. 158px leaves 48px of real space under the
   card, which is enough to separate them without the hole. */
@media (min-width: 768px) {
  .elementor-element-2818cf6 > .e-con-inner {
    padding-top: 158px !important;
  }
}
/* CARDGAP */


/* ── LIGHTER GREY BANDS: #C0C0C0 -> #EAEAEA ─────────────────────────
   Applies to all three bands so they stay one colour.

   ⭐ This also retires the two contrast exceptions that had been
   carried since the palette was set. Measured against the new value:

                          on #C0C0C0   on #EAEAEA
       #117A3E  H2          2.98:1       4.50:1   passes AA outright
       #228B22  arrows/H3   2.41:1       3.65:1   passes the 3.0 UI floor

   Nothing on a grey band is under the line any more.               */
.elementor-element.elementor-element-2818cf6,
.elementor-element.elementor-element-2818cf6.e-con.e-parent,
.elementor-element-2818cf6 > .e-con-inner,
.elementor-element.elementor-element-717a3e6,
.elementor-element-717a3e6 > .e-con-inner,
.elementor-element.elementor-element-b38340f,
.elementor-element-b38340f > .e-con-inner {
  background-color: #EAEAEA !important;
}
/* LIGHTGREY */


/* ── SWAP THE TWO BANDS BACK ────────────────────────────────────────
   Intro returns to white, services takes the grey. The cards need
   something behind them to sit on, which is the point of the band. */
.elementor-element.elementor-element-2818cf6,
.elementor-element.elementor-element-2818cf6.e-con.e-parent,
.elementor-element-2818cf6 > .e-con-inner {
  background-color: #FFFFFF !important;
}
.elementor-element.elementor-element-0b021f8.e-con.e-parent {
  background-color: #EAEAEA !important;
}
.elementor-element-0b021f8 > .e-con-inner { background-color: transparent !important; }

/* ── SERVICE CARDS: even shadow on all four sides ───────────────────
   Was `0 2px 14px rgba(16,16,16,.10)`, a downward drop shadow, so the
   top edge had nothing. An even spread with no offset lifts the whole
   card off the band instead of just its bottom edge. */
.elementor-element-834dc7f,
.elementor-element-2e44f49,
.elementor-element-dbd998b,
.elementor-element-0b140fd,
.elementor-element-280bba0,
.elementor-element-10ee908 {
  box-shadow: 0 0 20px rgba(16, 16, 16, .18) !important;
}
/* CARDS3D */


/* ── PATTERN BEHIND THE SERVICE CARDS ───────────────────────────────
   The reference site does have one, and it is easy to miss: a tiling
   pattern on `.slick-list::before`, a pseudo-element of a CHILD of the
   carousel, not on the section. Checking the section's ancestors finds
   nothing, which is exactly the mistake I made.

   Ours is drawn from the logo instead of copying their line art. The
   AW parallelogram leans 24.38 degrees off vertical, measured row by
   row off the real logo file, so the stripe runs at that exact angle.
   Brand charcoal at 4%, 2px lines every 16px: present as texture,
   invisible as content.

   Four classes to clear Elementor's lazy-load rule
   `.e-con.e-parent:not(.e-lazyloaded)`, which is (0,3,0) !important. */
.elementor-element.elementor-element-0b021f8.e-con.e-parent {
  background-color: #EAEAEA !important;
  background-image: repeating-linear-gradient(
    24.38deg,
    rgba(65, 64, 66, 0.045) 0px,
    rgba(65, 64, 66, 0.045) 2px,
    rgba(65, 64, 66, 0) 2px,
    rgba(65, 64, 66, 0) 16px
  ) !important;
  background-size: auto !important;
  background-repeat: repeat !important;
  background-blend-mode: normal !important;
}
/* CARDPATTERN */


/* ═══════════════════════════════════════════════════════════════════
   SERVICE CARDS: label band by default, description on hover
   ═══════════════════════════════════════════════════════════════════
   Modelled on the reference product cards, which work like this:
     rest   image on white, solid colour band across the bottom
            carrying the title, small chevron badge top right
     hover  band clears, title moves up into the body, description
            fades in underneath

   Ours uses the brand light green for the band with white type. That
   measures 4.39:1, which passes because the H3 is 20px at weight 900
   and therefore counts as large text. A pale green tint would have
   needed inventing a colour that is not in the palette.

   Transitions are 150ms. Ethan asked for snappy, and anything past
   about 200ms on a hover reveal starts to feel laggy.

   Scoped by widget type inside the rail rather than by the six card
   IDs, so new cards inherit it automatically.
   ═══════════════════════════════════════════════════════════════════ */

.elementor-element-e372486 > .e-con {
  position: relative !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
  transition: box-shadow 150ms ease !important;
}
.elementor-element-e372486 > .e-con:hover {
  box-shadow: 0 0 26px rgba(16, 16, 16, .22) !important;
}

/* Title is the band at rest */
.elementor-element-e372486 > .e-con .elementor-widget-heading {
  margin-top: auto !important;
  background-color: #228B22 !important;
  padding: 16px 24px !important;
  transition: background-color 150ms ease !important;
}
.elementor-element-e372486 > .e-con .elementor-widget-heading h3 {
  color: #FFFFFF !important;
  transition: color 150ms ease !important;
}
.elementor-element-e372486 > .e-con:hover .elementor-widget-heading {
  background-color: transparent !important;
}
.elementor-element-e372486 > .e-con:hover .elementor-widget-heading h3 {
  color: #414042 !important;
}

/* Description is collapsed until hover */
.elementor-element-e372486 > .e-con .elementor-widget-text-editor {
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  transition: max-height 150ms ease, opacity 120ms ease !important;
}
.elementor-element-e372486 > .e-con:hover .elementor-widget-text-editor {
  max-height: 240px !important;
  opacity: 1 !important;
}

/* Chevron badge, top right */
.elementor-element-e372486 > .e-con::after {
  content: "\00bb";
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #228B22;
  color: #FFFFFF;
  font-size: 15px;
  line-height: 1;
  z-index: 3;
  transition: background-color 150ms ease;
}
.elementor-element-e372486 > .e-con:hover::after { background-color: #117A3E; }

/* Arrows: circular and outlined, like the reference */
.awc-arw {
  width: 44px !important;
  height: 44px !important;
  border: 2px solid currentColor !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, .9) !important;
  transition: background-color 150ms ease, color 150ms ease !important;
}
.awc-arw:hover:not(:disabled) {
  background: #117A3E !important;
  color: #FFFFFF !important;
}
/* CARDHOVER */


/* ── CARD HOVER, CORRECTED ──────────────────────────────────────────
   First pass let the card grow on hover, which shoved the whole row
   and made the reveal feel heavy. The reference does not do that: the
   card height is fixed and the IMAGE shrinks to free the space the
   description needs. Nothing outside the card moves.

   Card 400px, image 230px at rest and 120px on hover, which is the
   110px the description gets to occupy.

   The band's hover state needed the doubled class. `.e-con:hover
   .elementor-widget-heading` was losing to Elementor's own heading
   background rule.                                                  */

.elementor-element-e372486 > .e-con {
  height: 400px !important;
  justify-content: flex-start !important;
}

.elementor-element-e372486 > .e-con .elementor-widget-image {
  height: 230px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
  transition: height 150ms ease !important;
}
.elementor-element-e372486 > .e-con .elementor-widget-image img {
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  transition: height 150ms ease !important;
}
.elementor-element-e372486 > .e-con:hover .elementor-widget-image,
.elementor-element-e372486 > .e-con:hover .elementor-widget-image img {
  height: 120px !important;
}

/* Band clears on hover */
.elementor-element-e372486 > .e-con:hover .elementor-widget.elementor-widget-heading {
  background-color: transparent !important;
}
.elementor-element-e372486 > .e-con:hover .elementor-widget-heading h3 {
  color: #414042 !important;
}
.elementor-element-e372486 > .e-con .elementor-widget-heading {
  margin-top: auto !important;
  flex: 0 0 auto !important;
}
.elementor-element-e372486 > .e-con:hover .elementor-widget-heading {
  margin-top: 0 !important;
}
.elementor-element-e372486 > .e-con:hover .elementor-widget-text-editor {
  max-height: 200px !important;
}
/* CARDHOVER2 */


/* Chevron badge off the card image. */
.elementor-element-e372486 > .e-con::after { content: none !important; display: none !important; }

/* Carousel arrows reverted to the plain chevrons they were before the
   circular outlined treatment. */
.awc-arw {
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  display: inline-block !important;
}
.awc-arw:hover:not(:disabled) {
  background: none !important;
  color: #117A3E !important;
}

/* Our Story back to white. */
.elementor-element.elementor-element-717a3e6,
.elementor-element.elementor-element-717a3e6.e-con.e-parent,
.elementor-element-717a3e6 > .e-con-inner {
  background-color: #FFFFFF !important;
}
/* TWEAKS1 */


/* Commercial Trash Services goes white. Four classes to clear
   Elementor's lazy-load rule, and the diagonal pattern comes off with
   it since it was there to give the grey band texture. */
.elementor-element.elementor-element-0b021f8.e-con.e-parent {
  background-color: #FFFFFF !important;
  background-image: none !important;
}

/* Logo carousel now sits directly under the intro and has no heading
   of its own, so it needs its own top padding rather than relying on
   the heading's margin. */
.elementor-element-b38340f > .e-con-inner {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}
/* TWEAKS2 */


/* ── SERVICES SECTION: photo background under a white wash ──────────
   Attachment 239 behind the cards, per Ethan.

   The wash is not a guess. The photo runs the full luminance range,
   pure black to pure white, so the dark green H2 has nowhere safe to
   sit on it raw. Measured against the darkest patch:

       0.70 white -> 3.87:1
       0.78       -> 4.28:1
       0.82       -> 4.45:1   <- used
       0.90       -> 4.90:1, and the photo is basically gone

   0.82 keeps the heading above the 3.0 large-text floor with room to
   spare and still leaves the photo readable as a wash. It also hides
   that the source is only 823x512, which would otherwise look soft
   stretched across a 1425px band.

   Four classes to clear Elementor's lazy-load rule.                 */
.elementor-element.elementor-element-0b021f8.e-con.e-parent {
  background-color: #FFFFFF !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.82)),
    url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/56df3e9c-0ca1-4b0b-92ab-d5564d07c0f8.jpg") !important;
  background-size: auto, cover !important;
  background-position: center center, center center !important;
  background-repeat: no-repeat, no-repeat !important;
  background-blend-mode: normal, normal !important;
}
/* CARDBG */


/* ── SERVICES: photo band with a green overlay across the TOP only ──
   Corrected. The reference does not wash the whole section. It runs a
   photographic band with a solid colour overlay across the TOP, white
   beneath, and the cards straddle that edge: heading in white on the
   colour, card tops on the colour, card bottoms on the white.

   Measured from our own geometry rather than eyeballed:
       heading sits 28 to 73 within the section
       cards start at 117 and are 400 tall
       band 245px = card top plus 32% of the card, matching the
       proportion the reference cuts at

   The band is ::before so it can be height-limited. Setting it as a
   background layer on the section would need `100% 245px`, which
   distorts the photo, or `cover`, which spans the whole section.

   Overlay is #117A3E at 0.88. White on that is 5.42:1, so the heading
   moves to white.                                                    */

.elementor-element.elementor-element-0b021f8.e-con.e-parent {
  position: relative !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
}

.elementor-element-0b021f8::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 245px !important;
  background-color: transparent !important;
  background-image:
    linear-gradient(rgba(17, 122, 62, 0.88), rgba(17, 122, 62, 0.88)),
    url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/56df3e9c-0ca1-4b0b-92ab-d5564d07c0f8.jpg") !important;
  background-size: cover, cover !important;
  background-position: center center, center 40% !important;
  background-repeat: no-repeat, no-repeat !important;
  opacity: 1 !important;
  z-index: 0 !important;
}

.elementor-element-0b021f8 > .e-con-inner {
  position: relative !important;
  z-index: 1 !important;
}

/* Heading sits on the green band now */
.elementor-element-b0ddf04 .elementor-heading-title { color: #FFFFFF !important; }
/* GREENBAND */


/* ── BAND: crop to the truck, and let it actually show ──────────────
   The image is 823x512. Covering a 1425x245 band scales it to 886
   tall, so only 142 source pixels are in frame out of 512, and
   `center 40%` was landing on source y148-290, which is the stadium
   wall and the lettering.

   The truck occupies roughly source y270-470. Offset = 370 * p, so
   p = 280/370 = 0.76. `center 75%` puts the truck in frame.

   Overlay eased 0.88 -> 0.72 as well. At 0.88 there was no photograph
   left to crop to, it was a flat green bar. White on green at 0.72 is
   still 4.4:1, so the heading holds.                                 */
.elementor-element-0b021f8::before {
  background-image:
    linear-gradient(rgba(17, 122, 62, 0.72), rgba(17, 122, 62, 0.72)),
    url("https://hawkwastesolutions.com/wp-content/uploads/2026/08/56df3e9c-0ca1-4b0b-92ab-d5564d07c0f8.jpg") !important;
  background-position: center center, center 75% !important;
}

/* ── CARDS BACK TO THE SIMPLE STYLE ─────────────────────────────────
   Undoes the hover reveal. Image full bleed on top, title and
   description both visible at rest, even shadow, no colour band, no
   fixed height, no image shrink.                                     */

.elementor-element-e372486 > .e-con {
  height: auto !important;
  overflow: visible !important;
  box-shadow: 0 0 12px rgba(16, 16, 16, .16) !important;
}
.elementor-element-e372486 > .e-con:hover {
  box-shadow: 0 0 12px rgba(16, 16, 16, .16) !important;
}

.elementor-element-e372486 > .e-con .elementor-widget-image,
.elementor-element-e372486 > .e-con:hover .elementor-widget-image {
  height: auto !important;
  overflow: visible !important;
}
.elementor-element-e372486 > .e-con .elementor-widget-image img,
.elementor-element-e372486 > .e-con:hover .elementor-widget-image img {
  height: auto !important;
  object-fit: initial !important;
}

.elementor-element-e372486 > .e-con .elementor-widget-heading,
.elementor-element-e372486 > .e-con:hover .elementor-widget-heading {
  background-color: transparent !important;
  margin-top: 0 !important;
  padding: 0 24px !important;
}
.elementor-element-e372486 > .e-con .elementor-widget-heading h3,
.elementor-element-e372486 > .e-con:hover .elementor-widget-heading h3 {
  color: #228B22 !important;
}

.elementor-element-e372486 > .e-con .elementor-widget-text-editor,
.elementor-element-e372486 > .e-con:hover .elementor-widget-text-editor {
  max-height: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}
/* CARDSREVERT */


/* ── WHY THE CARD SHADOW ONLY SHOWED ON THE SIDES ───────────────────
   The shadow was already even, `0 0 12px` with no offset. It was
   being CLIPPED.

   The rail is a horizontal scroller, `overflow-x: auto`. Per spec, a
   non-visible overflow on one axis forces the other axis to compute
   as non-visible too, so `overflow-y` resolves to `hidden`. Measured:
   rail height 398 against card height 398, ie zero slack. The top and
   bottom of the shadow were cut off flush with the card edge, while
   the left and right survived because they fall into the gaps between
   cards. Hence "3D on the left only".

   Vertical padding gives the shadow room inside the scroll box.
   16px covers a 12px blur.

   ⚠️ Vertical only. HORIZONTAL padding on a rail breaks the 3-up card
   maths, because flex-basis resolves against the content box while
   the scroll viewport is clientWidth. That cost real time once.     */
.elementor-element-e372486,
.elementor-element-df70b5b,
.elementor-element-f2123ff {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* SHADOWCLIP */


/* ── SIDE SHADOWS ON THE END CARDS ──────────────────────────────────
   Same clipping problem as the top and bottom, on the other axis. The
   rail's own left and right edges cut the first card's left shadow and
   the last card's right shadow.

   Horizontal padding on a rail normally breaks the 3-up maths: card
   width is a % of the CONTENT box while the scroll viewport is
   clientWidth, so padding leaves slack and a 4th card peeks through.
   That is why it was pinned to 0.

   Fixed properly by pinning the card width to the same box the padding
   comes out of. 16px each side, and cards at (100% - 48px)/3 where
   100% is the content box. Three cards plus two 24px gaps plus 32px of
   padding lands exactly on clientWidth, so no sliver.                */
.elementor-element-e372486 {
  padding-left: 16px !important;
  padding-right: 16px !important;
}
@media (min-width: 768px) {
  .elementor-element-e372486 > .e-con {
    flex: 0 0 calc((100% - 48px) / 3) !important;
    width: calc((100% - 48px) / 3) !important;
    max-width: calc((100% - 48px) / 3) !important;
  }
}

/* Card buttons sit at the bottom of the card with room around them. */
.elementor-element-e372486 > .e-con .elementor-widget-button {
  margin-top: auto !important;
  padding: 4px 24px 24px !important;
}

/* Logo carousel: arrows off, lighter grey band. */
.elementor-element-b38340f .awc-rail-nav,
.elementor-element-b38340f .awc-arw { display: none !important; }

.elementor-element.elementor-element-b38340f,
.elementor-element.elementor-element-b38340f.e-con.e-parent,
.elementor-element-b38340f > .e-con-inner {
  background-color: #F4F4F4 !important;
}
/* CARDBTNS */


/* ── END-CARD SIDE SHADOWS, CORRECTED ───────────────────────────────
   The padding attempt failed and it is worth recording why: padding
   on a scroll container lives INSIDE the scroll box, so content
   scrolls through it. It creates no protected gutter. Measured:
   padding computed as 16px, first card still sat at x0, and a 4th card
   showed 8px through the right padding.

   Margin on the first and last card works, because a margin is part of
   the scrollable content and travels with it. The first card's left
   shadow gets 16px of room at scrollLeft 0, the last card's right
   shadow gets the same at the end of the scroll.

   Card width re-solved for it: (100% - 64px)/3, where 64 is the 16px
   lead margin plus the two 24px gaps. Three cards land exactly on
   clientWidth, so no 4th card peeks.                                 */
.elementor-element-e372486 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-e372486 > .e-con:first-child { margin-left: 16px !important; }
.elementor-element-e372486 > .e-con:last-child { margin-right: 16px !important; }

@media (min-width: 768px) {
  .elementor-element-e372486 > .e-con {
    flex: 0 0 calc((100% - 64px) / 3) !important;
    width: calc((100% - 64px) / 3) !important;
    max-width: calc((100% - 64px) / 3) !important;
  }
}
/* ENDSHADOW */
/* ============================================================
   RUMPKEBTN
   Card CTAs rebuilt to match the Rumpke homepage button.

   Measured off rumpke.com, and every filled button on that page
   uses the identical recipe:
     border-radius 24px on a 49px-tall button, i.e. a full pill
     padding 12px 20px
     16px / weight 800 / uppercase
     solid fill, white text

   We take the shape and take our own colour. Fill is the LIGHT
   green #228B22, not the dark #117A3E these were built with, and
   not Rumpke's red. Hover drops to the dark green so the two-tone
   system still reads.

   radius is 999px rather than 24px so it stays a true pill if the
   button height ever changes.
   ============================================================ */
.elementor-element-55b554a .elementor-button,
.elementor-element-a0240ff .elementor-button,
.elementor-element-ea57e2c .elementor-button,
.elementor-element-abb4a47 .elementor-button,
.elementor-element-212503e .elementor-button,
.elementor-element-fcd3a63 .elementor-button {
  background-color: #228B22 !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: normal !important;
  line-height: 25px !important;
  white-space: nowrap !important;
  transition: background-color .2s ease !important;
}

.elementor-element-55b554a .elementor-button:hover,
.elementor-element-a0240ff .elementor-button:hover,
.elementor-element-ea57e2c .elementor-button:hover,
.elementor-element-abb4a47 .elementor-button:hover,
.elementor-element-212503e .elementor-button:hover,
.elementor-element-fcd3a63 .elementor-button:hover {
  background-color: #117A3E !important;
  color: #FFFFFF !important;
}
/* ============================================================
   RUMPKEBTN2 — specificity fix for the card CTA fill.

   RUMPKEBTN landed its shape (999px pill, 12/22 padding, uppercase)
   but its background-color lost. Cause, found by walking the CSSOM:

     post-8.css  (the HEADER template's custom CSS)
     .elementor-element-c56d1d5 .elementor-button,
     a.elementor-button.elementor-size-sm
       { background-color:#117A3E !important }

   That second body.elementor-page-46 is a sitewide catch-all. It is (0,2,1) —
   one element plus two classes — so it outranks RUMPKEBTN's (0,2,0),
   and it repaints EVERY elementor-size-sm button on the site dark
   green regardless of the widget's own setting. The widget settings
   for these six were already #228B22; they were being overpainted.

   This block is (0,3,1) and wins outright.
   ⚠️ The catch-all in post-8 is still there and is a landmine for any
   future button. Scoped around rather than removed, because removing
   it would repaint the hero and section buttons with no warning.
   ============================================================ */
.elementor-46 .elementor-element-55b554a a.elementor-button,
.elementor-46 .elementor-element-a0240ff a.elementor-button,
.elementor-46 .elementor-element-ea57e2c a.elementor-button,
.elementor-46 .elementor-element-abb4a47 a.elementor-button,
.elementor-46 .elementor-element-212503e a.elementor-button,
.elementor-46 .elementor-element-fcd3a63 a.elementor-button {
  background-color: #228B22 !important;
  color: #FFFFFF !important;
}

.elementor-46 .elementor-element-55b554a a.elementor-button:hover,
.elementor-46 .elementor-element-a0240ff a.elementor-button:hover,
.elementor-46 .elementor-element-ea57e2c a.elementor-button:hover,
.elementor-46 .elementor-element-abb4a47 a.elementor-button:hover,
.elementor-46 .elementor-element-212503e a.elementor-button:hover,
.elementor-46 .elementor-element-fcd3a63 a.elementor-button:hover {
  background-color: #117A3E !important;
  color: #FFFFFF !important;
}
/* ============================================================
   RUMPKEBTN3 — let the long label wrap instead of overflowing.

   RUMPKEBTN set white-space:nowrap. That is safe at Ethan's 2560px
   (card inner 387px, longest button 307px, one line) but it breaks
   in the middle of the range. Measured at a 979px viewport the card
   is 247px wide, and "GET COMMERCIAL DUMPSTERS" needs 295px even at
   16px padding. Dropping the type to 13px still needs 246px, which
   is both illegible and still touching the edge. No font size makes
   a 24-character label fit a 247px card on one line.

   So it wraps. A 999px radius on a two-line button is still a
   stadium shape, so the Rumpke look survives the wrap.
   ============================================================ */
.elementor-46 .elementor-element-55b554a a.elementor-button,
.elementor-46 .elementor-element-a0240ff a.elementor-button,
.elementor-46 .elementor-element-ea57e2c a.elementor-button,
.elementor-46 .elementor-element-abb4a47 a.elementor-button,
.elementor-46 .elementor-element-212503e a.elementor-button,
.elementor-46 .elementor-element-fcd3a63 a.elementor-button {
  white-space: normal !important;
  max-width: 100% !important;
  text-align: center !important;
}
/* ============================================================
   CARDFIX1
   Three corrections, all from Ethan on 2026-08-30.

   1. CARD CTAs ARE TEXT LINKS, NOT PILLS.
      I built RUMPKEBTN off Rumpke's section buttons (REQUEST SERVICE,
      PAY YOUR BILL) because those were the only filled buttons on
      their homepage. Screenshotting the actual cards shows their card
      CTAs are plain uppercase text links with a chevron:
        LEARN MORE >   REQUEST SERVICE >
      No fill, no radius, no padding. Measured: 18px, weight 700,
      uppercase, brand colour.
      Ours take the same shape in the light green #228B22.

   2. CARD H3s ARE DARK GREY, not green. Matches Rumpke, whose card
      titles are near-black while the CTA carries the brand colour.
      Two coloured things in one small card was one too many.

   3. ON MOBILE THE IMAGE GOES ABOVE THE H2 in Our Story.
      Row e9d4253 stays flex-row down to 800px and only stacks at 375,
      so the breakpoint is Elementor's mobile 767, not tablet.
      Measured, not assumed.
   ============================================================ */

/* --- 1. card CTAs, Rumpke card-link shape ------------------- */
.elementor-46 .elementor-element-55b554a a.elementor-button,
.elementor-46 .elementor-element-a0240ff a.elementor-button,
.elementor-46 .elementor-element-ea57e2c a.elementor-button,
.elementor-46 .elementor-element-abb4a47 a.elementor-button,
.elementor-46 .elementor-element-212503e a.elementor-button,
.elementor-46 .elementor-element-fcd3a63 a.elementor-button {
  background-color: transparent !important;
  background-image: none !important;
  color: #228B22 !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 22px !important;
  text-transform: uppercase !important;
  letter-spacing: normal !important;
  text-align: left !important;
  box-shadow: none !important;
  transition: color .2s ease !important;
}

/* the chevron. Rumpke uses a heavy right-pointing angle, U+276F. */
.elementor-46 .elementor-element-55b554a a.elementor-button .elementor-button-text::after,
.elementor-46 .elementor-element-a0240ff a.elementor-button .elementor-button-text::after,
.elementor-46 .elementor-element-ea57e2c a.elementor-button .elementor-button-text::after,
.elementor-46 .elementor-element-abb4a47 a.elementor-button .elementor-button-text::after,
.elementor-46 .elementor-element-212503e a.elementor-button .elementor-button-text::after,
.elementor-46 .elementor-element-fcd3a63 a.elementor-button .elementor-button-text::after {
  content: "\00a0\276F";
  font-weight: 800;
}

.elementor-46 .elementor-element-55b554a a.elementor-button:hover,
.elementor-46 .elementor-element-a0240ff a.elementor-button:hover,
.elementor-46 .elementor-element-ea57e2c a.elementor-button:hover,
.elementor-46 .elementor-element-abb4a47 a.elementor-button:hover,
.elementor-46 .elementor-element-212503e a.elementor-button:hover,
.elementor-46 .elementor-element-fcd3a63 a.elementor-button:hover {
  background-color: transparent !important;
  color: #117A3E !important;
}

/* --- 2. card H3s to the dark grey --------------------------- */
.elementor-46 .elementor-element.elementor-element-81457ce .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-070f09a .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-6b63a40 .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-0c36c3c .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-2da1dd4 .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-e461969 .elementor-heading-title {
  color: #414042 !important;
}

/* --- 3. mobile, image above the Our Story H2 ---------------- */
@media (max-width: 767px) {
  .elementor-46 .elementor-element.elementor-element-f775e73 {
    order: -1 !important;
  }
}
/* ============================================================
   SIZECARDS2 — the grid, retargeted.

   SIZECARDS keyed the card grid off .awc-size-card, set via
   batch-update. Verified on the live DOM: the three WIDGET classes
   landed (awc-size-specs, awc-size-price, awc-size-cta) but the
   CONTAINER class did not. Elementor containers ignore
   _css_classes in this build, so the card kept only
   "elementor-element-116582a e-flex e-con-full e-con e-child".

   Keyed off the rail instead. Every direct child of df70b5b is a
   size card, so the rail body.elementor-page-46 is exact and does not need the
   five ids spelled out.
   ============================================================ */
@media (min-width: 768px) {
  .elementor-46 .elementor-element-df70b5b > .e-con {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-content: start !important;
    column-gap: 12px;
  }
  .elementor-46 .elementor-element-df70b5b > .e-con > .elementor-widget:not(.awc-size-price):not(.awc-size-cta) {
    grid-column: 1 / -1;
  }
  .elementor-46 .elementor-element-df70b5b > .e-con > .awc-size-price {
    grid-column: 1;
    align-self: center;
    margin-bottom: 0 !important;
  }
  .elementor-46 .elementor-element-df70b5b > .e-con > .awc-size-cta {
    grid-column: 2;
    align-self: center;
    margin-bottom: 0 !important;
  }
}
/* PROBE1 */
/* SIZESTYLE - size card typography, icons and CTA.
   Re-applied. The SIZECARDS block's rules never reached the
   compiled stylesheet even though its comment did; only
   SIZECARDS2 landed. Verified by walking the CSSOM: no rule
   matching .awc-size-specs or .awc-size-cta existed.
   Comments here are plain ASCII in case the emoji and quoted
   fragments in that block were the cause. */

/* card titles to the dark grey, same as the commercial cards */
.elementor-46 .elementor-element.elementor-element-7e5b0c4 .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-30d1538 .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-86f9737 .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-b9ea509 .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-d2c656d .elementor-heading-title {
  color: #414042 !important;
}

/* the one line use case: body text, not a green subheading */
.elementor-46 .elementor-element.elementor-element-1bcf1d0 p,
.elementor-46 .elementor-element.elementor-element-eb25bac p,
.elementor-46 .elementor-element.elementor-element-3e6fbb2 p,
.elementor-46 .elementor-element.elementor-element-e939ce5 p,
.elementor-46 .elementor-element.elementor-element-f403631 p {
  color: #414042 !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  line-height: 22px !important;
  margin: 0 !important;
}

/* the spec rows */
.elementor-46 .elementor-element .awc-size-specs .elementor-icon-list-item {
  margin-bottom: 9px !important;
  align-items: flex-start !important;
}
.elementor-46 .elementor-element .awc-size-specs .elementor-icon-list-icon {
  padding-top: 3px !important;
}
.elementor-46 .elementor-element .awc-size-specs .elementor-icon-list-icon svg {
  fill: #228B22 !important;
  width: 15px !important;
  height: 15px !important;
}
.elementor-46 .elementor-element .awc-size-specs .elementor-icon-list-text {
  color: #414042 !important;
  font-size: 15px !important;
  line-height: 21px !important;
  padding-left: 9px !important;
}

/* the price */
.elementor-46 .elementor-element .awc-size-price p {
  margin: 0 !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 32px !important;
  color: #117A3E !important;
}

/* the CTA. Filled and pill shaped, dark green, because this one
   is the booking action. The commercial cards use the text link.
   Specificity has to clear two blanket rules that both carry
   !important: the post-46 .elementor-button radius 0 rule and the
   post-8 a.elementor-button.elementor-size-sm colour rule. */
.elementor-46 .elementor-element .awc-size-cta a.elementor-button {
  background-color: #117A3E !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 11px 22px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 22px !important;
  white-space: nowrap !important;
}
.elementor-46 .elementor-element .awc-size-cta a.elementor-button:hover {
  background-color: #0D5C2E !important;
  color: #FFFFFF !important;
}
/* HOVERFIX - card titles stay dark grey on hover.

   The CARDHOVER block set the card H3 to #228B22 in a rule whose
   body.elementor-page-46 list covers both the rest state AND the hover state:
     .elementor-element-e372486 > .e-con .elementor-widget-heading h3,
     .elementor-element-e372486 > .e-con:hover .elementor-widget-heading h3
   CARDFIX1 beat it at rest, at (0,4,0) against (0,4,0) on later
   order, but the hover half is (0,4,1) because of the pseudo class,
   so on hover the green came back.

   This is (0,5,1). Covers the size card rail too, so the same thing
   cannot happen there. */
.elementor-46 .elementor-element-e372486 > .e-con:hover .elementor-widget-heading h3,
.elementor-46 .elementor-element-e372486 > .e-con:hover .elementor-heading-title,
.elementor-46 .elementor-element-df70b5b > .e-con:hover .elementor-widget-heading h3,
.elementor-46 .elementor-element-df70b5b > .e-con:hover .elementor-heading-title {
  color: #414042 !important;
}
/* SQUAREBTN3D - standing rule: every square button gets the offset shadow.

   Ethan: "anytime we have the square buttons, it should have that
   three d effect we're doing now."

   Solid #414042 block offset 4px, no blur, pressing in to 2px on
   hover. Same treatment as the header Contact button and the About
   page CTA, so the whole site agrees.

   NOT applied to the roll-off size card buttons (awc-size-cta) or the
   commercial card CTAs. The size buttons are 999px pills and the
   commercial ones are text links with a chevron, so neither is a
   square button and neither is in scope for this rule.

   Covers the home page's square buttons:
     2b99e0c  hero, Get Commercial Pricing
     0204eb5  All Commercial Services
     e9341ee  All Dumpster Sizes
     5047e83  Contact Us, under Where We Deliver
     106c3fe  the availability form's submit
   ============================================================ */
.elementor-46 .elementor-element-2b99e0c a.elementor-button,
.elementor-46 .elementor-element-0204eb5 a.elementor-button,
.elementor-46 .elementor-element-e9341ee a.elementor-button,
.elementor-46 .elementor-element-5047e83 a.elementor-button,
.elementor-46 .elementor-element-106c3fe button[type="submit"],
.elementor-46 .elementor-element-106c3fe .elementor-button {
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 #414042 !important;
  transition: transform .12s ease, box-shadow .12s ease, background-color .2s ease !important;
}
.elementor-46 .elementor-element-2b99e0c a.elementor-button:hover,
.elementor-46 .elementor-element-0204eb5 a.elementor-button:hover,
.elementor-46 .elementor-element-e9341ee a.elementor-button:hover,
.elementor-46 .elementor-element-5047e83 a.elementor-button:hover,
.elementor-46 .elementor-element-106c3fe button[type="submit"]:hover,
.elementor-46 .elementor-element-106c3fe .elementor-button:hover {
  transform: translate(2px, 2px) !important;
  box-shadow: 2px 2px 0 #414042 !important;
}
/* HOMECTA - the home page finally has a closing call to action.

   It used to end on Where We Deliver, which has a map in it and no
   real close. New band 310b718: heading d506080, copy 1c7d41c,
   button 0385eba, roll-off truck 6df49a9 (attachment 348).

   The truck is Ethan's own branded roll-off render. He uploaded it
   as a JPEG on white; the white was flood-filled from the borders
   and the canvas cropped to the ink, same method as the packer on
   the About page.

   From 1025 up the band is two columns, copy left and truck right.
   Below that it stacks with the truck under the button.

   Padding goes on .e-con-inner. On a boxed container that is where
   Elementor puts it, and setting it on the outer element does
   nothing at all. */

.elementor-46 .elementor-element-310b718 > .e-con-inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

@media (min-width: 1025px) {
  .elementor-46 .elementor-element-310b718 > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 48%);
    align-items: center;
    column-gap: 40px;
    row-gap: 0;
  }
  .elementor-46 .elementor-element-310b718 > .e-con-inner > .elementor-widget:not(.elementor-widget-image) {
    grid-column: 1;
  }
  .elementor-46 .elementor-element-6df49a9 {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
  }
}

.elementor-46 .elementor-element-6df49a9 img {
  width: 100% !important;
  height: auto !important;
  max-width: 560px !important;
  display: block !important;
}

.elementor-46 .elementor-element-d506080 .elementor-heading-title {
  margin-bottom: 6px !important;
}
.elementor-46 .elementor-element-1c7d41c p {
  max-width: 46ch !important;
  margin-bottom: 22px !important;
}

/* square button, 3D offset, per the standing rule */
.elementor-46 .elementor-element-310b718 a.elementor-button {
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 #414042 !important;
  transition: transform .12s ease, box-shadow .12s ease, background-color .2s ease !important;
}
.elementor-46 .elementor-element-310b718 a.elementor-button:hover {
  background-color: #414042 !important;
  color: #FFFFFF !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 2px 2px 0 #414042 !important;
}

@media (max-width: 1024px) {
  .elementor-46 .elementor-element-6df49a9 { margin-top: 26px !important; }
  .elementor-46 .elementor-element-6df49a9 img {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 460px !important;
  }
}
@media (max-width: 767px) {
  .elementor-46 .elementor-element-310b718 > .e-con-inner {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}
/* BIGGER1 - larger H1, a bigger closing band, and the light grey
   shadow trialled again on the home page buttons.

   H1 goes 34 to 40 on desktop. The home hero H1 is width-capped by
   DIAG1 at min(520px, 50vw - 210px), and that cap stays: at 2560 the
   content box starts at x630 and the diagonal's leftmost point is at
   x1180, so 520px is the room there actually is. Larger type in the
   same column means it wraps to another line, which is the intent.

   Closing band: padding 56 to 76, and the truck column widens from
   48% to 54% with the image cap going 560 to 700. It was reading
   small against the copy.

   Buttons: #C0C0C0 instead of #414042 for the offset, as a trial.
   ⚠️ Expect it to nearly vanish on the light grey CTA band, which is
   #F4F4F4. #C0C0C0 on #F4F4F4 is barely a step. On the white
   sections it will read, just faintly. NAVHOVER-style history: the
   dark grey version is one delete away, see SQUAREBTN3D above. */

@media (min-width: 1025px) {
  .elementor-46 .elementor-element-3ef6d96 .elementor-heading-title {
    font-size: 40px !important;
    line-height: 1.16 !important;
  }
}

/* the closing band, bigger */
.elementor-46 .elementor-element-310b718 > .e-con-inner {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}
@media (min-width: 1025px) {
  .elementor-46 .elementor-element-310b718 > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 54%);
    column-gap: 48px;
  }
}
.elementor-46 .elementor-element-6df49a9 img {
  max-width: 700px !important;
}
.elementor-46 .elementor-element-d506080 .elementor-heading-title {
  font-size: 34px !important;
}

/* light grey offset, trial */
.elementor-46 .elementor-element-2b99e0c a.elementor-button,
.elementor-46 .elementor-element-0204eb5 a.elementor-button,
.elementor-46 .elementor-element-e9341ee a.elementor-button,
.elementor-46 .elementor-element-5047e83 a.elementor-button,
.elementor-46 .elementor-element-310b718 a.elementor-button,
.elementor-46 .elementor-element-106c3fe button[type="submit"],
.elementor-46 .elementor-element-106c3fe .elementor-button {
  box-shadow: 4px 4px 0 #C0C0C0 !important;
}
.elementor-46 .elementor-element-2b99e0c a.elementor-button:hover,
.elementor-46 .elementor-element-0204eb5 a.elementor-button:hover,
.elementor-46 .elementor-element-e9341ee a.elementor-button:hover,
.elementor-46 .elementor-element-5047e83 a.elementor-button:hover,
.elementor-46 .elementor-element-310b718 a.elementor-button:hover,
.elementor-46 .elementor-element-106c3fe button[type="submit"]:hover,
.elementor-46 .elementor-element-106c3fe .elementor-button:hover {
  box-shadow: 2px 2px 0 #C0C0C0 !important;
}

@media (max-width: 1024px) {
  .elementor-46 .elementor-element-6df49a9 img { max-width: 520px !important; }
}
@media (max-width: 767px) {
  .elementor-46 .elementor-element-310b718 > .e-con-inner {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .elementor-46 .elementor-element-d506080 .elementor-heading-title { font-size: 26px !important; }
}
/* DARK3D - every square button on the home page takes the DARK grey
   offset. This closes out the shadow question.

   History, so nobody reopens it: #C0C0C0 was tried twice. It reads on
   the green hero and disappears on the #F4F4F4 bands, because
   #C0C0C0 against #F4F4F4 is barely a step. #414042 reads on every
   ground the site uses. Ethan's call, and it is the right one.

   ⭐ TWO BUTTONS WERE NEVER IN THE RULE AT ALL:
     9fe1cde  "About Us", in the Our Story section
     310b718  the closing CTA button
   SQUAREBTN3D listed five ids and missed both. That is why the About
   Us button still looked untreated. Both are in now.

   Full list of square buttons on this page:
     2b99e0c  hero, Get Commercial Pricing
     106c3fe  the availability form's submit, Check Availability
     0204eb5  All Commercial Services
     9fe1cde  About Us
     e9341ee  All Dumpster Sizes
     5047e83  Contact Us, under Where We Deliver
     310b718  the closing CTA

   NOT in scope, because neither is a square button: the six
   commercial card CTAs are text links with a chevron, and the five
   roll-off size card CTAs are 999px pills.
   ============================================================ */
.elementor-46 .elementor-element-2b99e0c a.elementor-button,
.elementor-46 .elementor-element-0204eb5 a.elementor-button,
.elementor-46 .elementor-element-9fe1cde a.elementor-button,
.elementor-46 .elementor-element-e9341ee a.elementor-button,
.elementor-46 .elementor-element-5047e83 a.elementor-button,
.elementor-46 .elementor-element-310b718 a.elementor-button,
.elementor-46 .elementor-element-106c3fe button[type="submit"],
.elementor-46 .elementor-element-106c3fe .elementor-button {
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 #414042 !important;
  transition: transform .12s ease, box-shadow .12s ease, background-color .2s ease !important;
}
.elementor-46 .elementor-element-2b99e0c a.elementor-button:hover,
.elementor-46 .elementor-element-0204eb5 a.elementor-button:hover,
.elementor-46 .elementor-element-9fe1cde a.elementor-button:hover,
.elementor-46 .elementor-element-e9341ee a.elementor-button:hover,
.elementor-46 .elementor-element-5047e83 a.elementor-button:hover,
.elementor-46 .elementor-element-310b718 a.elementor-button:hover,
.elementor-46 .elementor-element-106c3fe button[type="submit"]:hover,
.elementor-46 .elementor-element-106c3fe .elementor-button:hover {
  transform: translate(2px, 2px) !important;
  box-shadow: 2px 2px 0 #414042 !important;
}
/* CTAMATCH - the closing band was off the site's type and grid.

   Measured at 1226px before the fix:
     CTA H2        34px / 800     every other H2   30px / 900
     CTA paragraph 18px           every other p    17px
     CTA inner     left x120, 971 wide
     other inner   left x80, 1051 wide

   The size and weight came from HOMECTA and BIGGER1 setting values
   for this band instead of inheriting. The 40px inset is Elementor's
   default horizontal container padding, which every older section on
   this page already has handled and this new one never did.

   All three now match the rest of the page. The inner takes the same
   min(1300px, 100% - 160px) box the other sections resolve to, which
   is exactly 1051px at this viewport.

   Mobile: the truck goes full-bleed edge to edge. Inside the content
   box it can only ever be 343px at 375px wide, so bleeding it past
   the gutters is the only way to make it meaningfully larger. */

.elementor-46 .elementor-element-310b718 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-46 .elementor-element-310b718 > .e-con-inner {
  max-width: min(1300px, 100% - 160px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.elementor-46 .elementor-element-d506080 .elementor-heading-title {
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
}
.elementor-46 .elementor-element-1c7d41c p {
  font-size: 17px !important;
  line-height: 1.7 !important;
}

@media (max-width: 767px) {
  .elementor-46 .elementor-element-310b718 > .e-con-inner {
    max-width: calc(100% - 32px) !important;
  }
  .elementor-46 .elementor-element-d506080 .elementor-heading-title {
    font-size: 24px !important;
    line-height: 1.35 !important;
  }
  .elementor-46 .elementor-element-1c7d41c p { font-size: 16px !important; }

  /* full bleed truck */
  .elementor-46 .elementor-element-6df49a9 {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  .elementor-46 .elementor-element-6df49a9 img {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* HOMECARDS1 - bring the home roll-off size cards to the same
   treatment as the ones on /dumpster-rental-cincinnati/.

   The two are built differently. The hub cards are one HTML widget.
   These are five Elementor containers inside the scroll rail, so the
   markup cannot be shared. Every visual token is matched instead,
   measured off the hub rather than guessed:

     card       white + 0 2px 14px shadow   ->  #F4F4F4, no shadow
     image      8px pad on #F4F4F5          ->  4px 10px on #F4F4F4
     body pad   20px                        ->  24px
     stars      none                        ->  150x28 above the title
     h3         Montserrat 22 / 600         ->  Montserrat 22 / 750
     use line   15px / #414042              ->  16.5px / #6C6C6E
     specs      15px / #414042              ->  16.5px / #6C6C6E
     button     green pill, white text      ->  #F2A20C block, #101010
     price      already 28 / 800 / #117A3E, left alone

   The star SVG is the exact data URI from post 336, not a redraw, so
   the two pages cannot drift apart.

   MOCKUP ONLY. The stars are a rating claim and AWC has no reviews.
   This block comes out with the hub's review section before the site
   is indexed. */

/* card shell */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con {
  background-color: #F4F4F4 !important;
  box-shadow: none !important;
  padding-bottom: 24px !important;
}

/* image panel */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-widget-image img {
  background-color: #F4F4F4 !important;
  padding: 4px 10px !important;
}

/* body widgets step out to 24px */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con > .elementor-widget-heading,
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con > .elementor-widget-text-editor,
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con > .elementor-widget-icon-list,
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con > .elementor-widget-button {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* five stars above the title */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con > .elementor-widget-heading::before {
  content: "" !important;
  display: block !important;
  width: 150px !important;
  height: 28px !important;
  margin: 0 0 11px !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20136%2024%22%20fill%3D%22%23F2A20C%22%3E%3Cg%20transform%3D%22translate%280%2C0%29%22%3E%3Cpath%20d%3D%22m12%202%203.1%206.3%206.9%201-5%204.9%201.2%206.8L12%2017.8%205.8%2021l1.2-6.8-5-4.9%206.9-1Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2828%2C0%29%22%3E%3Cpath%20d%3D%22m12%202%203.1%206.3%206.9%201-5%204.9%201.2%206.8L12%2017.8%205.8%2021l1.2-6.8-5-4.9%206.9-1Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2856%2C0%29%22%3E%3Cpath%20d%3D%22m12%202%203.1%206.3%206.9%201-5%204.9%201.2%206.8L12%2017.8%205.8%2021l1.2-6.8-5-4.9%206.9-1Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2884%2C0%29%22%3E%3Cpath%20d%3D%22m12%202%203.1%206.3%206.9%201-5%204.9%201.2%206.8L12%2017.8%205.8%2021l1.2-6.8-5-4.9%206.9-1Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28112%2C0%29%22%3E%3Cpath%20d%3D%22m12%202%203.1%206.3%206.9%201-5%204.9%201.2%206.8L12%2017.8%205.8%2021l1.2-6.8-5-4.9%206.9-1Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

/* title */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con h3.elementor-heading-title {
  font-weight: 750 !important;
  color: #414042 !important;
}

/* the one line use case, not the price */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con > .elementor-widget-text-editor:not(.awc-size-price) p {
  font-size: 16.5px !important;
  line-height: 1.5 !important;
  color: #6C6C6E !important;
}

/* spec list */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-icon-list-text {
  font-size: 16.5px !important;
  line-height: 1.5 !important;
  color: #6C6C6E !important;
  padding-left: 11px !important;
}
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-icon-list-item {
  margin-bottom: 0 !important;
  padding: 5px 0 !important;
}
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-icon-list-icon svg,
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-icon-list-icon i {
  color: #6C6C6E !important;
  fill: #6C6C6E !important;
}

/* button */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-button {
  background-color: #F2A20C !important;
  color: #101010 !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 0 #414042 !important;
  padding: 11px 22px !important;
  font-weight: 800 !important;
}
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-button:hover {
  background-color: #DB9109 !important;
  color: #101010 !important;
}
/* HOMECARDS2 - the card image was pinned to aspect-ratio 2/1, which
   gave a 203px box. The strip is 768x298, so at the 406px card width
   its natural height is 158px and object-fit: contain was padding the
   difference with 45px of grey. The hub sets no aspect ratio, so the
   two pages did not line up. Released to natural height. */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-widget-image img {
  aspect-ratio: auto !important;
  height: auto !important;
  object-fit: fill !important;
}
/* HOMECARDS3 - two fixes on the size cards.

   1. WHITE IMAGE PANEL. Attachment 401 is a JPEG, and a JPEG has no
      alpha, so it paints its own white rectangle over the grey card
      no matter what background-color the element carries. Sampled the
      file: all four corners are pure 255,255,255 and 38% of it is
      near-white.

      mix-blend-mode: multiply removes PURE white only, and this is
      pure white, so it works here. (It failed on attachment 431
      earlier because that background was grey 237-247, not white.)
      Multiply against the #F4F4F4 card gives 255 x 244 = 244, so the
      white drops out exactly. The green container darkens by about
      4%, which is not visible.

   2. ICONS. The spec icons were grey, which reads washed out on a
      grey card. Green is the brand fill and matches the accordion
      icons on the rental page. */
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-widget-image img {
  mix-blend-mode: multiply !important;
}
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-icon-list-icon svg,
body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-icon-list-icon i {
  color: #117A3E !important;
  fill: #117A3E !important;
}
/* HOMECARDS5 - replaces HOMECARDS4, which returned success but never
   reached the compiled stylesheet. Verified absent by grep.
   1. Hides the McDonald's/Kroger/Wendy's/Skyline/LaRosa's logo rail.
      HIDE, NOT DELETE. The files are still in the page source and
      the section must be deleted in Elementor before launch.
   2. Service cards take the dumpster card type: h3 600 -> 750,
      body 17px/#101010/1.7 -> 16.5px/#6C6C6E/1.5. */
body.elementor-page .elementor-46 .elementor-element-b38340f { display: none !important; }
body.elementor-page .elementor-46 .elementor-element-0b021f8 h3.elementor-heading-title {
  font-weight: 750 !important;
  color: #414042 !important;
}
body.elementor-page .elementor-46 .elementor-element-0b021f8 .elementor-widget-text-editor p {
  font-size: 16.5px !important;
  line-height: 1.5 !important;
  color: #6C6C6E !important;
}
/* HOMECARDS6 - three fixes.

   1. THE DARK FRAME ON THE SIZE CARD IMAGES. This is why they still
      looked wrong. The img carries BOTH background-color #F4F4F4 and
      mix-blend-mode: multiply. Multiply blends the whole element,
      its own background included, so the 4px/10px padding band was
      multiplying 244 by 244 and landing on 233, a visible #E9E9E9
      frame around every photo. The background has to be transparent
      so only the photo pixels blend. The card behind it is already
      #F4F4F4, so nothing is lost by removing it.

   2. How We Came to Waste: the image column is 512px tall and the
      image sat at the top of it. Centred.

   3. Yellow buttons. The green pills and the grey hero button move
      onto the same yellow the dumpster cards use. The six service
      card CTAs are text links, not buttons, and are deliberately
      left alone so the card design does not change. */

body.elementor-page .elementor-46 .elementor-element-df70b5b > .e-con .elementor-widget-image img {
  background-color: transparent !important;
}

body.elementor-page .elementor-46 .elementor-element-f775e73 {
  justify-content: center !important;
}

body.elementor-page .elementor-46 .elementor-element-2b99e0c .elementor-button,
body.elementor-page .elementor-46 .elementor-element-0204eb5 .elementor-button,
body.elementor-page .elementor-46 .elementor-element-9fe1cde .elementor-button,
body.elementor-page .elementor-46 .elementor-element-e9341ee .elementor-button,
body.elementor-page .elementor-46 .elementor-element-5047e83 .elementor-button,
body.elementor-page .elementor-46 .elementor-element-0385eba .elementor-button {
  background-color: #F2A20C !important;
  color: #101010 !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 0 #414042 !important;
}
body.elementor-page .elementor-46 .elementor-element-2b99e0c .elementor-button:hover,
body.elementor-page .elementor-46 .elementor-element-0204eb5 .elementor-button:hover,
body.elementor-page .elementor-46 .elementor-element-9fe1cde .elementor-button:hover,
body.elementor-page .elementor-46 .elementor-element-e9341ee .elementor-button:hover,
body.elementor-page .elementor-46 .elementor-element-5047e83 .elementor-button:hover,
body.elementor-page .elementor-46 .elementor-element-0385eba .elementor-button:hover {
  background-color: #DB9109 !important;
  color: #101010 !important;
}
/* HOMECARDS9 - the three new service card CTAs render as solid green
   buttons because the text-link treatment on this rail is keyed to a
   list of widget IDs and the new widgets are not in it. Adding them.
   Also pads the three imageless cards at the top so the title does
   not sit flush against the card edge. */
body.elementor-page .elementor-46 .elementor-element-bab3ac0 a.elementor-button,
body.elementor-page .elementor-46 .elementor-element-cd072eb a.elementor-button,
body.elementor-page .elementor-46 .elementor-element-d285ba1 a.elementor-button {
  background-color: transparent !important;
  background-image: none !important;
  color: #228B22 !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  box-shadow: none !important;
}
body.elementor-page .elementor-46 .elementor-element-7364b4f,
body.elementor-page .elementor-46 .elementor-element-c88c03d,
body.elementor-page .elementor-46 .elementor-element-0f798da {
  padding-top: 28px !important;
}
/* HOMECARDS10 - completes HOMECARDS9. The new CTAs matched on colour
   and size but not on text-transform or the chevron, both of which
   the other six carry. Measured off the Commercial Dumpsters CTA:
   uppercase, and a " \276F" appended to .elementor-button-text. */
body.elementor-page .elementor-46 .elementor-element-bab3ac0 a.elementor-button,
body.elementor-page .elementor-46 .elementor-element-cd072eb a.elementor-button,
body.elementor-page .elementor-46 .elementor-element-d285ba1 a.elementor-button {
  text-transform: uppercase !important;
}
body.elementor-page .elementor-46 .elementor-element-bab3ac0 a.elementor-button .elementor-button-text::after,
body.elementor-page .elementor-46 .elementor-element-cd072eb a.elementor-button .elementor-button-text::after,
body.elementor-page .elementor-46 .elementor-element-d285ba1 a.elementor-button .elementor-button-text::after {
  content: " \276F";
}
/* HOMECARDS11 - the three new CTAs rendered centred while the other
   six are left aligned, which pushed the chevron onto its own line.
   Left aligned and kept on one line. */
body.elementor-page .elementor-46 .elementor-element-bab3ac0,
body.elementor-page .elementor-46 .elementor-element-cd072eb,
body.elementor-page .elementor-46 .elementor-element-d285ba1 {
  text-align: left !important;
}
body.elementor-page .elementor-46 .elementor-element-bab3ac0 a.elementor-button,
body.elementor-page .elementor-46 .elementor-element-cd072eb a.elementor-button,
body.elementor-page .elementor-46 .elementor-element-d285ba1 a.elementor-button {
  white-space: nowrap !important;
  justify-content: flex-start !important;
}
/* HOMECARDS12 - the six original cards are stretched full width by
   their image. With the image gone, the three new cards fell back to
   centring their widgets, so the title, copy and CTA all sat indented
   compared with the rest of the rail. Stretched to match. */
body.elementor-page .elementor-46 .elementor-element-7364b4f,
body.elementor-page .elementor-46 .elementor-element-c88c03d,
body.elementor-page .elementor-46 .elementor-element-0f798da {
  align-items: stretch !important;
}
/* HOMEGRN1 - removes the green photo band behind Commercial Trash
   Services. It was not a container background: it was a ::before
   overlay, absolutely positioned across the top 245px, carrying a
   72% #117A3E gradient over the Paycor truck photo. The heading was
   white to sit on it, so it moves to the #117A3E every other home H2
   uses. Cards go to #F4F4F4 with no shadow via container settings. */
body.elementor-page .elementor-46 .elementor-element-0b021f8::before {
  content: none !important;
  display: none !important;
  background-image: none !important;
}
/* HOMEGRN2 - completes HOMEGRN1. Setting title_color and container
   background through Elementor settings returned success but did not
   take, because earlier custom CSS on this page sets both with higher
   specificity. Doing it here instead.
   Heading was white to sit on the green band that is now gone, so it
   takes the #117A3E every other home H2 uses. Cards take the light
   grey and lose the shadow, matching the dumpster rental cards. */
body.elementor-page .elementor-46 .elementor-element-b0ddf04 h2.elementor-heading-title {
  color: #117A3E !important;
}
body.elementor-page .elementor-46 .elementor-element-e372486 > .e-con {
  background-color: #F4F4F4 !important;
  box-shadow: none !important;
}
/* HOMEBRK1 - the Waste Brokering card is new, so its CTA is not in
   the widget-ID list that gives this rail its text-link treatment.
   Same rules as the other imageless cards. */
body.elementor-page .elementor-46 .elementor-element-5103cd2 { text-align: left !important; }
body.elementor-page .elementor-46 .elementor-element-5103cd2 a.elementor-button {
  background-color: transparent !important;
  background-image: none !important;
  color: #228B22 !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  justify-content: flex-start !important;
}
body.elementor-page .elementor-46 .elementor-element-5103cd2 a.elementor-button .elementor-button-text::after { content: " \276F"; }
body.elementor-page .elementor-46 .elementor-element-7a16b4a { padding-top: 28px !important; align-items: stretch !important; }
/* HOMEBRK2 - root fix for the four cards that have no photo. The six
   cards with a photo are stretched full width by that image. Without
   one, the heading, copy and CTA shrink to their content and centre,
   so those cards read indented against the rest of the rail. Forcing
   the widgets to full width and left alignment matches them. */
body.elementor-page .elementor-46 .elementor-element-7a16b4a > .elementor-widget,
body.elementor-page .elementor-46 .elementor-element-7364b4f > .elementor-widget,
body.elementor-page .elementor-46 .elementor-element-c88c03d > .elementor-widget,
body.elementor-page .elementor-46 .elementor-element-0f798da > .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
}
/* HOMEBRK3 - the real cause of the indent on the four imageless
   cards. They carry padding 28px 40px 0 while every photo card is
   0 0 22px, so their contents sat 40px further in. The widgets already
   supply their own 24px side padding, so the card's horizontal padding
   goes to zero and the bottom is matched to the rest of the rail. */
body.elementor-page .elementor-46 .elementor-element-7a16b4a,
body.elementor-page .elementor-46 .elementor-element-7364b4f,
body.elementor-page .elementor-46 .elementor-element-c88c03d,
body.elementor-page .elementor-46 .elementor-element-0f798da {
  padding: 28px 0 22px !important;
}
/* HOMEHERO-STRAIGHT - the slant comes off, and the hero type matches
   the dumpster rental page.

   THE SLANT. The green panel is an ::after on the hero with
   clip-path: polygon(0 0, calc(50% + 127px) 0, calc(50% - 127px) 100%,
   0 100%). Those two 127px offsets are the diagonal: the top edge runs
   127px past centre, the bottom stops 127px short of it. Dropping the
   clip and pulling the panel back to right:50% gives the straight
   half-and-half split the rental hub uses.

   THE TYPE. Home was flat at H1 40 / sub 18 at every width, while the
   hub scales. Same clamps as the hub now, at the trimmed ceilings:
   H1 52, sub 21. Identical on both pages at every viewport. */

body.elementor-page .elementor-46 .elementor-element-ae8e797::after {
  clip-path: none !important;
  right: 50% !important;
  inset: 0 50% 0 0 !important;
}

body.elementor-page .elementor-46 .elementor-element-3ef6d96 h1.elementor-heading-title {
  font-size: clamp(30px, 2.78vw, 52px) !important;
  line-height: 1.16 !important;
}
body.elementor-page .elementor-46 .elementor-element-b47dddb p {
  font-size: clamp(18px, 1.05vw, 21px) !important;
  line-height: 1.55 !important;
}
/* HOMEHERO-HEIGHT - the hero after the address form was removed.

   Two things were wrong once the form went:

   1. 96px of BOTTOM PADDING on the hero existed only to make room for
      the "Check your address" card, which overlapped the hero from
      below. With the card gone that was 96px of empty green.

   2. THE PHOTO WAS NOT FULL HEIGHT. It is a ::before on the hero and
      its inset reads 0 top and bottom, but it was rendering ~490px in
      a 628px hero, leaving white under it while the green ran the full
      height. Pinned with explicit top/bottom and height:auto.

   Height is now set by the content plus 56px of inner padding, which
   lands close to the rental hub hero rather than being padded out. */

body.elementor-page .elementor-46 .e-con.e-parent.elementor-element.elementor-element-ae8e797 {
  padding-bottom: 0 !important;
  min-height: 0 !important;
}
body.elementor-page .elementor-46 .elementor-element-ae8e797 > .e-con-inner {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}
body.elementor-page .elementor-46 .elementor-element-ae8e797::before {
  top: 0 !important;
  bottom: 0 !important;
  height: auto !important;
  background-size: cover !important;
  background-position: center center !important;
}
body.elementor-page .elementor-46 .elementor-element-ae8e797::after {
  top: 0 !important;
  bottom: 0 !important;
  height: auto !important;
}
/* HOMEHERO-OVERLAP - this is what was actually cutting the hero photo.

   The photo was never short. Measured: the ::before is 547.5px, top 0,
   bottom 0, and the source JPEG has no white rows anywhere. What was
   covering it was THE NEXT SECTION.

   `2818cf6` carried **margin-top: -142px**, pulling it up over the
   bottom of the hero. That existed to tuck the "Check your address"
   card into the seam between the two. With the card removed it was
   just a white block sitting on the lower third of the skyline.

   Found with elementFromPoint inside the hero's own box, which
   returned 2818cf6, not the hero. Worth remembering: when something
   looks clipped, ask what is painted on top before assuming the
   element is too small. */
body.elementor-page .elementor-46 .e-con.e-parent.elementor-element.elementor-element-2818cf6 {
  margin-top: 0 !important;
}
/* HOMEV8 - Commercial Trash Services was the one H2 still green.
   HOMEGRN2 pins it at (0,3,1), which beat the (0,2,1) grey rule in the
   HOMEV7 style widget. This runs (0,4,1). */
body.elementor-page .elementor-46 .elementor-element.elementor-element-b0ddf04 h2.elementor-heading-title {
  color: #414042 !important;
}
/* HOMEV9 - review cards now match the size cards exactly.

   They were inverted: WHITE cards on a #F4F4F4 band, while every other
   card on the site is a #F4F4F4 card on a WHITE band. On the light band
   the white cards were only four points off their background and barely
   read as cards at all.

   Grey card on a grey band is invisible, so one of the two has to be
   white. Matching the size cards means the CARD keeps the grey and the
   BAND goes white, which is the arrangement used everywhere else.

   Card padding stays 26px rather than the size cards' 0, because these
   have no full-bleed image at the top. */
body.elementor-page .elementor-46 .e-con.e-parent.elementor-element.elementor-element-c6a3521 {
  background-color: #FFFFFF !important;
}
body.elementor-page .elementor-46 .awc-revblock .awc-rev {
  background: #F4F4F4 !important;
}
/* ============================================================
   HOMEV10 - make the Google review cards line up with the size cards.

   MEASURED at 1440 before this rule:
     size card   left 80   width 406   right 1345   (flush to content)
     review card left 126  width 375   right 1299   (inset 46px both sides)

   Cause: .awc-rev-wrap carries `padding: 0 46px` to make room for its
   own arrows, so the track is only 1173 wide and 33.333% lands on 375.
   The size/commercial rail does NOT do this - its arrows are pushed
   OUTSIDE the track at left/right: -56px, so the track keeps the full
   1265 and the cards sit flush at the content edge.

   Fix = do what the rail does. Zero the wrap padding, move the arrows
   out to -56px. The cards then compute to 405.67 and line up exactly
   with the size cards above them.

   Also reverses HOMEV9's card colour. HOMEV9 made the cards #F4F4F4 to
   match the other cards, but the band under them is #F4F4F4 too, so the
   cards went invisible. The grey band was asked for directly, so the
   band keeps the grey and the CARDS go back to white - same square
   corners, no border, no shadow, same type as every other card, just
   inverted so they can be seen against the grey.
   ============================================================ */

/* card fill back to white on the grey band */
body.elementor-page .elementor-46 .awc-revblock .awc-rev {
  background: #FFFFFF !important;
  padding: 24px 24px 24px !important;
}

/* band stays the light grey that was asked for */
body.elementor-page .elementor-46 .elementor-element-c6a3521 {
  background-color: #F4F4F4 !important;
}

/* desktop: exact rail geometry */
@media (min-width: 1025px) {
  body.elementor-page .elementor-46 .awc-revblock .awc-rev-wrap {
    padding: 0 !important;
  }
  body.elementor-page .elementor-46 .awc-revblock .awc-rev-prev {
    left: -56px !important;
    right: auto !important;
  }
  body.elementor-page .elementor-46 .awc-revblock .awc-rev-next {
    right: -56px !important;
    left: auto !important;
  }
}

/* tablet: still flush, but the arrows overlay the cards instead of
   sitting outside, because there is not 56px of margin to spare */
@media (min-width: 768px) and (max-width: 1024px) {
  body.elementor-page .elementor-46 .awc-revblock .awc-rev-wrap {
    padding: 0 !important;
  }
  body.elementor-page .elementor-46 .awc-revblock .awc-rev-prev {
    left: 6px !important;
    right: auto !important;
  }
  body.elementor-page .elementor-46 .awc-revblock .awc-rev-next {
    right: 6px !important;
    left: auto !important;
  }
}
/* HOMEV11 - last piece of "same as the other cards": the mobile peek.
   Both tracks are 343 wide at 375. The size card is `flex: 0 0 84%`
   (288px) so the edge of the next card shows and it reads as a
   carousel. The review card was `flex: 0 0 100%` (343px), so it filled
   the screen and gave no hint there were five more behind it. */
@media (max-width: 767px) {
  body.elementor-page .elementor-46 .awc-revblock .awc-rev {
    flex: 0 0 84% !important;
  }
}
/* ============================================================
   HOMEV12
   1. Eyebrows removed. They are ::before on the seven heading
      WIDGETS (not on the h2 itself, and not container background
      overlays, so killing the content here is safe).
      web-build-rules.md bans eyebrow/kicker labels outright.
   2. H2s up. Desktop 34 -> 38, mobile 26 -> 30.
   3. Home size cards trimmed on mobile toward the hub's 495px.
      Measured at 375: home 650, hub 495. The home card is a flex
      column with a 20px gap between all six children (100px of pure
      gap), 5px li padding and 24px bottom padding. The hub uses
      6/12/14 margins, 3px li padding and 18px bottom.
   ============================================================ */

/* ---------- 1. eyebrows off ---------- */
body.elementor-page .elementor-46 .elementor-element-10f05e9::before,
body.elementor-page .elementor-46 .elementor-element-b0ddf04::before,
body.elementor-page .elementor-46 .elementor-element-199c119::before,
body.elementor-page .elementor-46 .elementor-element-cab2f6b::before,
body.elementor-page .elementor-46 .elementor-element-da6592f::before,
body.elementor-page .elementor-46 .elementor-element-75eaa5d::before,
body.elementor-page .elementor-46 .elementor-element-d506080::before {
  content: none !important;
  display: none !important;
}

/* ---------- 2. H2 up ---------- */
body.elementor-page .elementor-46 .elementor-element h2 {
  font-size: 38px !important;
  line-height: 1.25 !important;
}
@media (max-width: 767px) {
  body.elementor-page .elementor-46 .elementor-element h2 {
    font-size: 30px !important;
    line-height: 1.25 !important;
  }
}

/* ---------- 3. size cards, mobile only ---------- */
@media (max-width: 767px) {
  /* 100px of gap across six children was the single biggest cost */
  body.elementor-page .elementor-46 .elementor-element-df70b5b > .elementor-element {
    gap: 10px !important;
    padding-bottom: 18px !important;
  }
  /* spec rows: 5px top and bottom on four rows is 16px of nothing */
  body.elementor-page .elementor-46 .elementor-element-df70b5b > .elementor-element li {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }
}
/* HOMEV13 - the spec-row padding from HOMEV12 never landed.

   `... .elementor-element-df70b5b > .elementor-element li` matches the
   element (verified with .matches()) and carries !important, and it
   STILL lost. Elementor's own icon-list rule is
   `.elementor-widget-icon-list .elementor-icon-list-items:not(...)
    .elementor-icon-list-item` which is (0,3,0) and also !important,
   so it outranked a body.elementor-page-46 that only reached the li through
   descendant classes. Tested by injection: adding
   `.elementor-widget-icon-list .elementor-icon-list-items
    li.elementor-icon-list-item` to the chain takes it to 3px.

   Setting --e-icon-list-icon-size / --icon-vertical-offset does NOT
   work here, tried both, the padding is not derived from them. */
@media (max-width: 767px) {
  body.elementor-page .elementor-46 .elementor-element-df70b5b .elementor-widget-icon-list .elementor-icon-list-items li.elementor-icon-list-item {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }
}
/* HOMEV14 - price and button share a row on mobile, like the hub.

   The hub card puts price and button side by side in a 51px footer.
   Home stacked them: price 32 + gap + button 50, and the button also
   carries `margin-top: auto` to bottom-align it, so the pair cost
   about 92px against the hub's 51.

   CSS cannot wrap two siblings in a new parent, so the card switches
   from flex column to a two-column grid on mobile only. Everything
   except the last two children spans both columns; the price takes
   column 1 and the button column 2, both centred on each other.

   Measured: 578 -> 536. Verified no horizontal overflow at 375, and
   the image, heading and spec list still span the full 288.

   Remaining gap to the hub's 495 is the 28px fake star row in the
   heading widget's ::before. That is mockup content already on the
   launch-blocker list, so it is not removed here. Taking it out lands
   home at roughly 497, which is parity. */
@media (max-width: 767px) {
  body.elementor-page .elementor-46 .elementor-element-df70b5b > .elementor-element {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-content: start !important;
  }
  body.elementor-page .elementor-46 .elementor-element-df70b5b > .elementor-element > *:not(:nth-last-child(-n+2)) {
    grid-column: 1 / -1 !important;
  }
  body.elementor-page .elementor-46 .elementor-element-df70b5b > .elementor-element > *:nth-last-child(2) {
    grid-column: 1 !important;
    align-self: center !important;
    margin-top: 0 !important;
  }
  body.elementor-page .elementor-46 .elementor-element-df70b5b > .elementor-element > *:last-child {
    grid-column: 2 !important;
    align-self: center !important;
    margin-top: 0 !important;
  }
}
/* HOMEV15 - kills the horizontal scrollbar on the home page at desktop.

   Not something that was asked for, found while checking that the
   mobile card grid had not leaked into desktop. Measured at 1440:

     documentElement.clientWidth   1425
     documentElement.scrollWidth   2138     <- 713px of horizontal scroll

   The whole 713 comes from the hero's ::before, the photo half:

     left   712.5px   (50%)
     right  0
     width  1425px    (100%)   <- wrong

   With left:50% and right:0 the width resolves on its own to 712.5.
   The explicit 100% overrides that, so the box runs 712.5 -> 2137.5,
   which is exactly the scrollWidth. The ::after (green half) is
   correct: left 0, right 712.5, width 712.5.

   This dates from HOMEHERO-STRAIGHT, when the slant came off and the
   photo half was repositioned to left:50% but kept its full-width
   value. Nothing visible was wrong because the overspill is off
   screen, but the page has been horizontally scrollable since.

   Scoped to >=768 so the mobile hero, which is image-top /
   green-bottom and uses different positioning, is not touched. */
@media (min-width: 768px) {
  body.elementor-page .elementor-46 .elementor-element.elementor-element-ae8e797::before {
    width: auto !important;
  }
}
/* HOMEV16 - the intro section under the hero.

   Two problems, both measured at 1440:

   1. 64px of padding above the first H2, all of it from
      `.e-con-inner { padding: 64px 0 28px }`. Down to 40.

   2. The copy ran the full 1265px content box. At 17px that measures
      **140 characters per line**, near double the 60 to 80 a reader is
      comfortable with. It was the widest measure on the site.

   Capping the H2 and the paragraph at 780px and centring them puts it
   at roughly 86 characters. The H2 is already centre-aligned so it
   stays centred in the narrower column; the body copy keeps its left
   alignment inside it.

   Desktop only. Below 1025 the column is already narrow enough and the
   cap would fight the mobile gutters. */
@media (min-width: 1025px) {
  body.elementor-page .elementor-46 .elementor-element-2818cf6 > .e-con-inner {
    padding-top: 40px !important;
  }
  body.elementor-page .elementor-46 .elementor-element-10f05e9,
  body.elementor-page .elementor-46 .elementor-element-6d7435b {
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* HOMEV17 - actually lands the 40px that HOMEV16 tried to set.

   HOMEV16's `body.elementor-page .elementor-46 .elementor-element-2818cf6
   > .e-con-inner` is (0,4,1). It lost to a rule pinning 64px at (0,7,1):

     body.elementor-page .elementor-46 .e-con.e-parent.elementor-element
       .elementor-element-2818cf6 > .e-con-inner { padding-top: 64px }

   ⚠️ THAT RULE IS NOT IN post-46.css. It lives in the inline <style>
   inside HTML widget 6704fe4, which renders in the BODY and therefore
   sits after every external stylesheet. So home-page rules have TWO
   ways to lose: specificity against that block's stacked container
   classes, and document order. Anything in post-46.css that mysteriously
   does nothing should be checked against widget 6704fe4 first.

   This adds .e-con-boxed to the chain for (0,8,1), which beats it on
   specificity outright rather than relying on order.

   HOMEV16's max-width half worked and is untouched. */
@media (min-width: 1025px) {
  body.elementor-page .elementor-46 .e-con.e-parent.e-con-boxed.elementor-element.elementor-element-2818cf6 > .e-con-inner {
    padding-top: 40px !important;
  }
}
/* HOMEV18 - same trim on mobile.

   HOMEV17 was scoped to >=1025, so mobile kept the full 64px. On a
   375px screen that is proportionally far more dead space than it is
   on desktop, and it is the same gap that was being complained about.
   32px there.

   Same (0,8,1) chain as HOMEV17, because the 64px rule in the inline
   block of widget 6704fe4 is not inside a media query and applies at
   every width. */
@media (max-width: 1024px) {
  body.elementor-page .elementor-46 .e-con.e-parent.e-con-boxed.elementor-element.elementor-element-2818cf6 > .e-con-inner {
    padding-top: 32px !important;
  }
}
/* HOMEV19 - HOMEV16's 780px cap was too aggressive.

   1265 (original) -> 780 took 242px off each side, which read as a
   narrow column floating in a wide section rather than an inset.
   1050 leaves 107px each side: a clear inset off the full content
   width, without the column looking stranded.

   Measure goes from 86 characters to about 116. That is still wider
   than the 60 to 80 that reads easily, so this is a deliberate trade
   in favour of how it looks on the page. Say the word and it moves
   either direction: 900 is the typographic middle, 1265 is no inset. */
@media (min-width: 1025px) {
  body.elementor-page .elementor-46 .elementor-element-10f05e9,
  body.elementor-page .elementor-46 .elementor-element-6d7435b {
    max-width: 1050px !important;
  }
}
/* HOMEHERO-TRIM - same hero padding as the commercial page.

   Home's hero is built differently from the other two: the copy widgets
   carry no padding of their own, and the vertical space comes from
   `.e-con-inner { padding: 64px 0 }` with a 20px row gap between the
   three widgets.

   So the equivalent of the commercial page's 78 -> 54 is 64 -> 54 here.

     413 -> 393, against the commercial page's 390

   ⚠️ Specificity chain deliberately long. The inline <style> in HTML
   widget 6704fe4 renders in the BODY, after every stylesheet, and pins
   other hero values at (0,7,1). Anything less than that loses silently,
   which is what happened to the intro padding earlier today. */
@media (min-width: 1025px) {
  body.elementor-page .elementor-46 .e-con.e-parent.e-con-boxed.elementor-element.elementor-element-ae8e797 > .e-con-inner {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }
}/* End custom CSS */