/* carried over from the Oxygen build: cookie bar, exit popup, quote modal, CF7 messages */
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal !important;word-break:normal !important}
.wpcf7 form .wpcf7-response-output{margin:2em 0.5em 1em;padding:0.2em 1em;border:2px solid #00a0d2}
.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}
.wpcf7 form.sent .wpcf7-response-output{border-color:#46b450}
.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:#dc3232}
.wpcf7 form.spam .wpcf7-response-output{border-color:#f56e28}
.wpcf7 form.invalid .wpcf7-response-output{border-color:#ffb900}
.wpcf7-not-valid-tip{color:#dc3232;font-size:1em;font-weight:normal;display:block}
.wpcf7-spinner{visibility:hidden;display:inline-block;background-color:#23282d;opacity:0.75;width:24px;height:24px;border:none;border-radius:100%;padding:0;margin:0 24px;position:relative}
form.submitting .wpcf7-spinner{visibility:visible}
.wpcf7-spinner::before{content:'';position:absolute;background-color:#fbfbfc;top:4px;left:4px;width:6px;height:6px;border:none;border-radius:100%;transform-origin:8px 8px;animation-name:spin;animation-duration:1000ms;animation-timing-function:linear;animation-iteration-count:infinite}
@media (prefers-reduced-motion: reduce){.wpcf7-spinner::before{animation-name:blink;animation-duration:2000ms}}
#cookie-law-info-bar{font-size:15px;margin:0 auto;padding:12px 10px;position:absolute;text-align:center;box-sizing:border-box;width:100%;z-index:9999;display:none;left:0px;font-weight:300;box-shadow:0 -1px 10px 0 rgba(172, 171, 171, 0.3)}
#cookie-law-info-again{font-size:10pt;margin:0;padding:5px 10px;text-align:center;z-index:9999;cursor:pointer;box-shadow:#161616 2px 2px 5px 2px}
#cookie-law-info-bar span{vertical-align:middle}
.cli-plugin-button,.cli-plugin-button:visited{display:inline-block;padding:9px 12px;color:#fff;text-decoration:none;position:relative;cursor:pointer;margin-left:5px;text-decoration:none}
.cli-plugin-button:hover{background-color:#111;color:#fff;text-decoration:none}
.small.cli-plugin-button,.small.cli-plugin-button:visited{font-size:11px}
.cli-plugin-button,.cli-plugin-button:visited,.medium.cli-plugin-button,.medium.cli-plugin-button:visited{font-size:13px;font-weight:400;line-height:1}
.cli-plugin-button{margin-top:5px}
.cli-bar-popup{-moz-background-clip:padding;-webkit-background-clip:padding;background-clip:padding-box;-webkit-border-radius:30px;-moz-border-radius:30px;border-radius:30px;padding:20px}
.cli-container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}
.cli-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}
.cli-align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}
.cli-px-0{padding-left:0;padding-right:0}
.cli-btn{cursor:pointer;font-size:14px;display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1.25rem;line-height:1;border-radius:.25rem;transition:all .15s ease-in-out}
.cli-btn:hover{opacity:.8}
.cli-btn:focus{outline:0}
.cli-modal-backdrop.cli-show{opacity:.8}
.cli-modal-open{overflow:hidden}
.cli-barmodal-open{overflow:hidden}
.cli-modal-open .cli-modal{overflow-x:hidden;overflow-y:auto}
.cli-modal.cli-fade .cli-modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}
.cli-modal.cli-show .cli-modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}
.cli-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000;display:none}
.cli-modal-backdrop.cli-fade{opacity:0}
.cli-modal-backdrop.cli-show{opacity:.5;display:block}
.cli-modal.cli-show{display:block}
.cli-modal a{text-decoration:none}
.cli-modal .cli-modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}
@media (min-width: 576px){.cli-modal .cli-modal-dialog{max-width:500px;margin:1.75rem auto;min-height:calc(100% - (1.75rem * 2))}}
@media (min-width: 992px){.cli-modal .cli-modal-dialog{max-width:900px}}
.cli-modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border-radius:.3rem;outline:0}
.cli-modal .row{margin:0 -15px}
.cli-modal .cli-modal-close{position:absolute;right:10px;top:10px;z-index:1;padding:0;background-color:transparent !important;border:0;-webkit-appearance:none;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff}
.cli-modal .cli-modal-close:focus{outline:0}
.cli-switch{display:inline-block;position:relative;min-height:1px;padding-left:70px;font-size:14px}
.cli-switch input[type="checkbox"]{display:none}
.cli-switch .cli-slider{background-color:#e3e1e8;height:24px;width:50px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}
.cli-switch .cli-slider:before{background-color:#fff;bottom:2px;content:"";height:20px;left:2px;position:absolute;transition:.4s;width:20px}
.cli-switch input:checked + .cli-slider{background-color:#00acad}
.cli-switch input:checked + .cli-slider:before{transform:translateX(26px)}
.cli-switch .cli-slider{border-radius:34px}
.cli-switch .cli-slider:before{border-radius:50%}
.cli-tab-content{background:#ffffff}
.cli-fade{transition:opacity .15s linear}
.cli-tab-content{width:100%;padding:30px}
@media (max-width: 767px){.cli-tab-content{padding:30px 10px}}
.cli-tab-content p{color:#343438;font-size:14px;margin-top:0}
.cli-tab-content h4{font-size:20px;margin-bottom:1.5rem;margin-top:0;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}
.cli-container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}
.cli-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}
.cli-align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}
.cli-px-0{padding-left:0;padding-right:0}
.cli-btn{cursor:pointer;font-size:14px;display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1.25rem;line-height:1;border-radius:.25rem;transition:all .15s ease-in-out}
.cli-btn:hover{opacity:.8}
.cli-btn:focus{outline:0}
.cli-modal-backdrop.cli-show{opacity:.8}
.cli-modal-open{overflow:hidden}
.cli-barmodal-open{overflow:hidden}
.cli-modal-open .cli-modal{overflow-x:hidden;overflow-y:auto}
.cli-modal.cli-fade .cli-modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}
.cli-modal.cli-show .cli-modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}
.cli-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000;-webkit-transform:scale(0);transform:scale(0);transition:opacity ease-in-out 0.5s}
.cli-modal-backdrop.cli-fade{opacity:0}
.cli-modal-backdrop.cli-show{opacity:.5;-webkit-transform:scale(1);transform:scale(1)}
.cli-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;transform:scale(0);overflow:hidden;outline:0;display:none}
.cli-modal a{text-decoration:none}
.cli-modal .cli-modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}
@media (min-width: 576px){.cli-modal .cli-modal-dialog{max-width:500px;margin:1.75rem auto;min-height:calc(100% - (1.75rem * 2))}}
.cli-modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border-radius:.2rem;box-sizing:border-box;outline:0}
.cli-modal .row{margin:0 -15px}
.cli-modal .cli-modal-close:focus{outline:0}
.cli-switch{display:inline-block;position:relative;min-height:1px;padding-left:38px;font-size:14px}
.cli-switch input[type="checkbox"]{display:none}
.cli-switch .cli-slider{background-color:#e3e1e8;height:20px;width:38px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}
.cli-switch .cli-slider:before{background-color:#fff;bottom:2px;content:"";height:15px;left:3px;position:absolute;transition:.4s;width:15px}
.cli-switch input:checked + .cli-slider{background-color:#61a229}
.cli-switch input:checked + .cli-slider:before{transform:translateX(18px)}
.cli-switch .cli-slider{border-radius:34px;font-size:0}
.cli-switch .cli-slider:before{border-radius:50%}
.cli-tab-content{background:#ffffff}
.cli-tab-content{width:100%;padding:5px 30px 5px 5px;box-sizing:border-box}
@media (max-width: 767px){.cli-tab-content{padding:30px 10px}}
.cli-tab-content p{color:#343438;font-size:14px;margin-top:0}
.cli-tab-content h4{font-size:20px;margin-bottom:1.5rem;margin-top:0;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}
#cookie-law-info-bar .cli-tab-content{background:transparent}
#cookie-law-info-bar .cli-nav-link,#cookie-law-info-bar .cli-tab-container p,#cookie-law-info-bar span.cli-necessary-caption,#cookie-law-info-bar .cli-switch .cli-slider:after{color:inherit}
#cookie-law-info-bar .cli-tab-header a:before{border-right:1px solid currentColor;border-bottom:1px solid currentColor}
#cookie-law-info-bar .cli-row{margin-top:20px}
#cookie-law-info-bar .cli-tab-content h4{margin-bottom:0.5rem}
#cookie-law-info-bar .cli-tab-container{display:none;text-align:left}
.cli-tab-footer .cli-btn{background-color:#00acad;padding:10px 15px;text-decoration:none}
.cli-tab-footer .wt-cli-privacy-accept-btn{background-color:#61a229;color:#ffffff;border-radius:0}
.cli-tab-footer{width:100%;text-align:right;padding:20px 0}
.cli-col-12{width:100%}
.cli-tab-header{display:flex;justify-content:space-between}
.cli-tab-header a:before{width:10px;height:2px;left:0;top:calc(50% - 1px)}
.cli-tab-header a:after{width:2px;height:10px;left:4px;top:calc(50% - 5px);-webkit-transform:none;transform:none}
.cli-tab-header a:before{width:7px;height:7px;border-right:1px solid #4a6e78;border-bottom:1px solid #4a6e78;content:" ";transform:rotate(-45deg);-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;margin-right:10px}
.cli-tab-header a.cli-nav-link{position:relative;display:flex;align-items:center;font-size:14px;color:#000;text-transform:capitalize}
.cli-tab-header.cli-tab-active .cli-nav-link:before{transform:rotate(45deg);-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}
.cli-tab-header{border-radius:5px;padding:12px 15px;cursor:pointer;transition:background-color 0.2s ease-out 0.3s, color 0.2s ease-out 0s;background-color:#f2f2f2}
.cli-modal .cli-modal-close{position:absolute;right:0;top:0;z-index:1;-webkit-appearance:none;width:40px;height:40px;padding:0;border-radius:50%;padding:10px;background:transparent;border:none;min-width:40px}
.cli-tab-container h4,.cli-tab-container h1{font-family:inherit;font-size:16px;margin:10px 0}
#cliSettingsPopup .cli-tab-section-container{padding-top:12px}
.cli-tab-container p,.cli-privacy-content-text{font-size:14px;line-height:1.4;margin-top:0;padding:0;color:#000}
.cli-tab-content{display:none}
.cli-tab-section .cli-tab-content{padding:10px 20px 5px 20px}
.cli-tab-section{margin-top:5px}
@media (min-width: 992px){.cli-modal .cli-modal-dialog{max-width:645px}}
.cli-switch .cli-slider:after{content:attr(data-cli-disable);position:absolute;right:50px;color:#000;font-size:12px;text-align:right;min-width:80px}
.cli-switch input:checked + .cli-slider:after{content:attr(data-cli-enable)}
.cli-privacy-overview:not(.cli-collapsed) .cli-privacy-content{max-height:60px;transition:max-height 0.15s ease-out;overflow:hidden}
a.cli-privacy-readmore{font-size:12px;margin-top:12px;display:inline-block;padding-bottom:0;cursor:pointer;color:#000;text-decoration:underline}
.cli-modal-footer{position:relative}
a.cli-privacy-readmore:before{content:attr(data-readmore-text)}
.cli-collapsed a.cli-privacy-readmore:before{content:attr(data-readless-text)}
.cli-collapsed .cli-privacy-content{transition:max-height 0.25s ease-in}
.cli-privacy-content p{margin-bottom:0}
.cli-modal-close svg{fill:#000}
span.cli-necessary-caption{color:#000;font-size:12px}
#cookie-law-info-bar .cli-privacy-overview{display:none}
.cli-tab-container .cli-row{max-height:500px;overflow-y:auto}
.cli-tab-section .cookielawinfo-row-cat-table td,.cli-tab-section .cookielawinfo-row-cat-table th{font-size:12px}
.cli_settings_button{cursor:pointer}
.wt-cli-sr-only{display:none;font-size:16px}
.cli-bar-container{float:none;margin:0 auto;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;justify-content:space-between;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}
.cli-bar-btn_container{margin-left:20px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;flex-wrap:nowrap}
.cli-style-v2 a{cursor:pointer}
.cli-bar-btn_container a{white-space:nowrap}
.cli-style-v2{font-size:11pt;line-height:18px;font-weight:normal}
#cookie-law-info-bar[data-cli-type="widget"] .cli-bar-container,#cookie-law-info-bar[data-cli-type="popup"] .cli-bar-container{display:block}
.cli-style-v2 .cli-bar-message{width:70%;text-align:left}
#cookie-law-info-bar[data-cli-type="widget"] .cli-bar-message,#cookie-law-info-bar[data-cli-type="popup"] .cli-bar-message{width:100%}
#cookie-law-info-bar[data-cli-type="widget"] .cli-style-v2 .cli-bar-btn_container{margin-top:8px;margin-left:0px;flex-wrap:wrap}
#cookie-law-info-bar[data-cli-type="popup"] .cli-style-v2 .cli-bar-btn_container{margin-top:8px;margin-left:0px}
.cli-style-v2 .cli-bar-btn_container .cli_action_button,.cli-style-v2 .cli-bar-btn_container .cli_settings_button{margin-left:5px}
#cookie-law-info-bar[data-cli-style="cli-style-v2"]{padding:14px 25px}
#cookie-law-info-bar[data-cli-style="cli-style-v2"][data-cli-type="widget"]{padding:32px 30px}
#cookie-law-info-bar[data-cli-style="cli-style-v2"][data-cli-type="popup"]{padding:32px 45px}
.cli-style-v2 .cli_settings_button:not(.cli-plugin-button),.cli-style-v2 .cli_action_button:not(.cli-plugin-button){text-decoration:underline}
.cli-style-v2 .cli-bar-btn_container .cli-plugin-button{margin-top:5px;margin-bottom:5px}
.wt-cli-necessary-checkbox{display:none !important}
@media (max-width: 985px){.cli-style-v2 .cli-bar-message{width:100%}.cli-style-v2.cli-bar-container{justify-content:left;flex-wrap:wrap}.cli-style-v2 .cli-bar-btn_container{margin-left:0px;margin-top:10px}#cookie-law-info-bar[data-cli-style="cli-style-v2"],#cookie-law-info-bar[data-cli-style="cli-style-v2"][data-cli-type="widget"],#cookie-law-info-bar[data-cli-style="cli-style-v2"][data-cli-type="popup"]{padding:25px 25px}}
.wt-cli-privacy-overview-actions{padding-bottom:0}
@media only screen and (max-width: 479px) and (min-width: 320px){.cli-style-v2 .cli-bar-btn_container{flex-wrap:wrap}}
.wt-cli-cookie-description{font-size:14px;line-height:1.4;margin-top:0;padding:0;color:#000}
.oxy-modal-backdrop{display:flex;align-items:center;justify-content:center}
.oxy-modal-backdrop.live{position:fixed;top:0px;left:0px;width:100%;height:100%;z-index:1400}
.oxy-modal-backdrop.hidden{display:none}
.oxy-modal-backdrop.left{flex-direction:column;align-items:flex-start}
.oxy-modal-backdrop.right{flex-direction:column;align-items:flex-end}
.oxy-modal-backdrop.top{flex-direction:row;align-items:flex-start}
.oxy-modal-backdrop.bottom{flex-direction:row;align-items:flex-end}
.oxy-modal-backdrop .ct-modal{background-color:white;max-height:100vh;overflow-y:auto}
.cookielawinfo-column-1{width:25%}
.cookielawinfo-column-3{width:15%}
.cookielawinfo-column-4{width:50%}
table.cookielawinfo-winter{font:85% "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", sans-serif;padding:0;margin:10px 0 20px;border-collapse:collapse;color:#333;background:#F3F5F7}
table.cookielawinfo-winter a{color:#3A4856;text-decoration:none;border-bottom:1px solid #C6C8CB}
table.cookielawinfo-winter a:visited{color:#777}
table.cookielawinfo-winter a:hover{color:#000}
table.cookielawinfo-winter caption{text-align:left;text-transform:uppercase;padding-bottom:10px;font:200% "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", sans-serif}
table.cookielawinfo-winter thead th{background:#3A4856;padding:15px 10px;color:#fff;text-align:left;font-weight:normal}
table.cookielawinfo-winter tbody{border-left:1px solid #EAECEE;border-right:1px solid #EAECEE}
table.cookielawinfo-winter tbody{border-bottom:1px solid #EAECEE}
table.cookielawinfo-winter tbody td,table.cookielawinfo-winter tbody th{padding:10px;background:url("../../images/td_back.gif") repeat-x;text-align:left}
table.cookielawinfo-winter tbody tr{background:#F3F5F7}
table.cookielawinfo-winter tbody tr:hover{background:#EAECEE;color:#111}
table.cookielawinfo-winter tfoot td,table.cookielawinfo-winter tfoot th,table.cookielawinfo-winter tfoot tr{text-align:left;font:120% "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", sans-serif;text-transform:uppercase;background:#fff;padding:10px}
@media(max-width:800px){table.cookielawinfo-row-cat-table td,table.cookielawinfo-row-cat-table th{width:23%;font-size:12px;word-wrap:break-word}table.cookielawinfo-row-cat-table .cookielawinfo-column-4,table.cookielawinfo-row-cat-table .cookielawinfo-column-4{width:45%}}
.cookielawinfo-row-cat-table{width:99%;margin-left:5px}
.wpcf7 form.sent .wpcf7-response-output{border-color:#00d8e5!important}
.wpcf7-not-valid-tip{color:#ff8282;font-size:14px;font-weight:normal;display:grid;position:absolute;top:-10px;right:5px;font-style:italic;background:#00d8e51f}
.wpcf7 form.sent .wpcf7-response-output input{border-color:red}
.wpcf7 form .wpcf7-response-output{display:none}
.wpcf7-spinner{position:absolute}
#cookie-law-info-bar.cli-bar-popup{background-color:#fff;color:#333;font-family:inherit;position:fixed;width:500px;height:auto;max-height:calc(100vh - 40px);top:50%;left:50%;transform:translate(-50%,-50%);overflow:auto}
@media (max-width:400px){#cookie-law-info-bar.cli-bar-popup{width:calc(100vw - 20px)}}
#div_block-141-22{width:100%;text-align:left;align-items:flex-start;padding-top:15px;padding-bottom:15px;border-bottom-color:#efefef;border-bottom-width:1px;border-bottom-style:solid;padding-left:40px;padding-right:15px;flex-direction:row;display:flex}
#div_block-142-22{width:95%;padding-top:5px;padding-bottom:5px;align-items:center;text-align:center}
#div_block-145-22{width:5%;text-align:left;align-items:flex-end}
#div_block-147-22{width:100%;padding-left:20px;padding-right:40px;padding-top:21px;padding-bottom:0px;background-repeat:no-repeat;text-align:left;flex-direction:row;display:flex}
#div_block-148-22{width:50%}
#div_block-150-22{width:60%;text-align:left;align-items:center;padding-left:0px;padding-right:0px;padding-top:10px}
@media (max-width:991px){#div_block-141-22{padding-left:19px}#div_block-147-22{padding-right:15px}#div_block-150-22{padding-left:20px;padding-right:20px;flex-direction:column;display:flex;align-items:center}}
@media (max-width:767px){#div_block-141-22{display:flex}#div_block-142-22{flex-direction:column;display:flex;align-items:center}#div_block-147-22{padding-right:20px;padding-left:20px;flex-direction:column;display:flex;align-items:center;padding-bottom:20px}#div_block-150-22{width:100%}}
@media (max-width:479px){#div_block-142-22{padding-top:0px}#div_block-147-22{text-align:center;padding-left:20px;padding-right:20px;padding-bottom:30px}#div_block-150-22{padding-right:0px;padding-left:0px}}
#headline-143-22{font-weight:900;font-size:49px;line-height:1;margin-top:0px;margin-bottom:0px;color:#2c873e}
#headline-144-22{font-weight:900;font-size:52px;color:color(42);line-height:1;margin-top:20px;margin-bottom:0px;display:none}
@media (max-width:767px){#headline-143-22{text-align:center;font-size:40px;display:none}#headline-144-22{text-align:center;font-size:40px;display:block;margin-top:0px;font-weight:700}}
@media (max-width:479px){#headline-143-22{font-size:36px;text-align:center;margin-top:0px;font-weight:600;display:none}#headline-144-22{font-size:30px;text-align:center;margin-top:0px;font-weight:600}}
#text_block-152-22{text-align:center;font-size:18px;margin-bottom:25px}
#image-149-22{width:285px;height:395px}
@media (max-width:767px){#image-149-22{display:none}}
#fancy_icon-146-22{background-color:#ffffff;border:1px solid #ffffff;padding:0px;color:color(40)}
#fancy_icon-146-22>svg{width:20px;height:20px}
#modal-140-22{width:760px;background-color:#ffffff;padding-top:0px;padding-left:0px;padding-right:0px;padding-bottom:0px;border-radius:12px}
@media (max-width:991px){#modal-140-22{margin-left:20px;margin-right:20px}}
@media (max-width:767px){#modal-140-22{margin-left:20px;margin-right:20px;padding-bottom:0px}}
.ct-modal{flex-direction:column;align-items:flex-start}
@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}
.ays-pb-modals{position:fixed;left:0;top:0;right:0;bottom:0;z-index:9999999999;text-align:center;height:100%}
input.ays-pb-modal-check[type=checkbox]{display:none!important}
.ays-pb-modals:not(.ays-pb-modals.ays-pb-notification-modal)::before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-.25em}
.ays-pb-modal-check{pointer-events:auto}
.ays-pb-dismiss-ad>button#ays_pb_dismiss_ad .ays_pb_dismiss_ad_text_mobile,.ays_pb_display_none{display:none}
div[class*=ays-pb-modal_].ays_template_window{left:0;bottom:0;max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:fill;animation-duration:.5s;display:none;animation-fill-mode:forwards;position:absolute;right:0;font-family:monospace,arial,sans-serif;z-index:1;top:0;cursor:default;max-width:100%}
.ays_template_window .ays_template_header .close-template-btn{font-size:19px;min-width:30px;text-align:start;z-index:1;position:absolute;line-height:1;cursor:pointer}
.ays_content_box{padding:20px}
div.ays_pb_description{word-break:break-word;word-wrap:break-word}
.ays_template_window .ays_template_header .close-template-btn{font-weight:lighter;text-decoration:none!important}
div[class*=ays-pb-modal_].ays_template_window{margin:auto;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #111;border-bottom:1px solid #111;user-select:none;overflow:hidden}
.ays_template_window .ays_template_header h2{margin:auto;font-size:26px;line-height:100%;word-break:break-all}
.ays_template_window .ays_template_header .ays_template_title{height:100%;display:flex}
.ays_template_window .ays_template_content{width:65%;padding:0 10px;overflow:hidden}
.ays_template_window p.ays_pb_timer{position:absolute;bottom:-8px;right:0;width:inherit;text-align:center}
.ays_template_window header.ays_template_head{height:12%;border:none}
.ays_template_window .ays_bg_image_box{width:35%}
.ays_template_window footer.ays_template_footer{display:flex;height:88%;padding:0;background:unset;box-shadow:unset}
.ays_template_window .ays_template_main{font-family:monospace,arial,sans-serif;letter-spacing:-1px;max-height:93%;overflow-y:auto;scrollbar-width:none}
.ays_template_window .ays_template_header{height:100%;display:flex;justify-content:center;align-items:center}
.ays_template_window footer.ays_template_footer .ays_template_content p{margin-bottom:5px!important}
.ays-pb-modals div.ays_pb_description{margin:0;padding:10px;text-align:center;font-size:18px}
.ays_pb_description>*,.ays_pb_timer{color:inherit}
.ays_template_window:not(.ays-pb-show-scrollbar)::-webkit-scrollbar{width:0!important;scrollbar-width:none}
.ays-pb-modals .ays_content_box{word-break:break-word;max-width:100%}
.ays-pb-dismiss-ad>button#ays_pb_dismiss_ad{cursor:pointer;font-size:12px}
.ays-pb-dismiss-ad>button#ays_pb_dismiss_ad:hover{text-decoration:underline}
div.ays_template_window header.ays_template_head div.ays_template_header .close-template-btn-container{min-width:auto;margin:0;color:#000}
.ays-pb-visually-hidden-label{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;white-space:nowrap;clip:rect(0 0 0 0);overflow:hidden}
@media screen and (max-width:768px){.ays-pb-dismiss-ad>button#ays_pb_dismiss_ad .ays_pb_dismiss_ad_text_pc{display:none}.ays-pb-dismiss-ad>button#ays_pb_dismiss_ad .ays_pb_dismiss_ad_text_mobile{display:inline}.ays_pb_show_desc_on_mobile,.ays_pb_show_title_on_mobile{display:block!important}}
.ays_template_content{margin-top:0px !important;padding-top:18px !important}
.ays_bg_image_box{margin-top:0px !important;margin-bottom:0px !important}
.ays_template_content h1,.ays_template_content h2,.ays_template_content h3{margin-bottom:12px !important}
.ays_template_content p{margin-top:8px !important;margin-bottom:18px !important}
.ays_template_content input[type="text"],.ays_template_content input[type="tel"],.ays_template_content input[type="email"],.ays_template_content textarea,.ays_template_content select{padding:14px 16px !important;margin-bottom:14px !important;box-sizing:border-box}
.ays_template_content button,.ays_template_content input[type="submit"]{margin-top:10px !important;padding:16px 26px !important}
.ays_template_content form{padding-top:6px !important}
@media screen and (min-width: 320px) and (max-width: 780px){.ays_template_content{padding-top:14px !important}.ays_template_content input[type="text"],.ays_template_content input[type="tel"],.ays_template_content input[type="email"]{margin-bottom:12px !important}.ays_template_content button,.ays_template_content input[type="submit"]{width:100% !important}}
.ays_template_content{margin-top:0 !important;padding-top:18px !important;padding-bottom:22px !important}
.ays_bg_image_box{margin-top:0 !important;margin-bottom:0 !important}
.ays_template_footer{padding:28px 40px 36px !important}
.ays_template_content h1,.ays_template_content h2,.ays_template_content h3{margin:0 0 10px !important}
.ays_template_content p{margin:0 0 18px !important}
.ays_template_content form{display:flex !important;flex-direction:column !important;gap:16px !important;margin-top:6px !important}
.ays_template_content input[type="text"],.ays_template_content input[type="tel"],.ays_template_content input[type="email"],.ays_template_content select,.ays_template_content textarea{padding:16px 18px !important;box-sizing:border-box !important}
.ays_template_content button,.ays_template_content input[type="submit"]{margin-top:4px !important;padding:18px 28px !important}
@media screen and (min-width: 320px) and (max-width: 780px){.ays_template_footer{padding:18px !important}.ays_template_content{padding-top:14px !important;padding-bottom:18px !important}.ays_template_content form{gap:12px !important}}
.ays_template_footer,.ays_template_content,.ays_template_content form{overflow:visible !important;height:auto !important}
.ays_template_content [class*="btn"],.ays_template_content [class*="submit"],.ays_template_content [class*="button"]{overflow:visible !important;height:auto !important;min-height:0 !important}
.ays_template_content button,.ays_template_content input[type="submit"]{padding:14px 26px !important;line-height:1.2 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}
@media (max-width: 780px){.ays_bg_image_box{display:none !important;width:0 !important;height:0 !important;margin:0 !important;padding:0 !important}.ays_template_footer{display:flex !important;flex-direction:column !important;align-items:stretch !important;justify-content:flex-start !important;padding:16px !important;gap:14px !important}.ays_template_content{width:100% !important;margin:0 !important;padding:10px 10px 18px !important;align-self:flex-start !important}.ays_template_footer,.ays_template_content{max-height:calc(100vh - 60px) !important;overflow-y:auto !important;-webkit-overflow-scrolling:touch !important}.ays_pb_title_styles_1{font-size:34px !important;line-height:1.05 !important;margin:10px 0 10px !important}.ays_template_content input,.ays_template_content select,.ays_template_content textarea{width:100% !important;box-sizing:border-box !important}.ays_template_content button,.ays_template_content input[type="submit"]{width:100% !important}}
.ays-pb-modal_1{max-height:none}
.ays-pb-modal_1,.av_pop_modals_1{display:none}
.ays-pb-modal-check:checked ~ #ays-pb-screen-shade_1{opacity:0.5;pointer-events:auto}
.ays-pb-modal_1 .ays_pb_description > *,.ays-pb-modal_1 .ays_pb_timer,.ays-pb-modal_1 .ays_content_box p,.ays-pb-modal_1 .ays-pb-dismiss-ad > button#ays_pb_dismiss_ad{color:#339933;font-family:inherit}
.ays-pb-modal_1 .close-template-btn:hover{color:#000000 !important}
#ays-pb-screen-shade_1{opacity:0;background:rgb(255,255,255);position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;transition:opacity 0.8s}
.ays-pb-modal_1.fadeIn{animation-duration:1s !important}
.ays-pb-modal_1.fadeOutUpBig{animation-duration:1s !important}
.ays-pb-modals .ays-pb-modal_1 .ays_pb_description + hr{}
.ays-pb-modals.av_pop_modals_1 .ays-pb-modal_1 .ays_pb_description ~ ays-pb-modal .ays_pb_description{}
@media screen and (max-width: 768px){.ays-pb-modal_1{width:100% !important;max-width:100% !important;height:445px !important;box-shadow:unset !important;box-sizing:border-box;max-height:none}#ays-pb-screen-shade_1{background:rgb(255,255,255)}.ays-pb-modal_1.ays-pb-bg-styles-mobile_1,footer.ays_template_footer.ays-pb-bg-styles-mobile_1 div.ays_bg_image_box{background-image:unset !important}.ays-pb-bg-styles-mobile_1{background-color:#ffffff !important}.ays-pb-border-mobile_1{border:1px solid #d1d1d1 !important;border-radius:13px !important}.ays_pb_title_styles_1{text-shadow:unset !important}.ays-pb-modal_1 .ays_pb_description > p{font-size:13px !important;word-break:break-word !important;word-wrap:break-word}.ays-pb-modal_1.ays_template_window p.ays_pb_timer.ays_pb_timer_1{right:20%;bottom:0}.ays-pb-modal_1.ays_template_window footer.ays_template_footer{flex-direction:column;align-items:center;justify-content:start}.ays-pb-modal_1.ays_template_window div.ays_bg_image_box{width:100%;height:180px}#ays-pb-screen-shade_1{-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0.5 !important}.ays-pb-modal_1.fadeIn{animation-duration:1s !important}.ays-pb-modal_1.fadeOutUpBig{animation-duration:1s !important}.ays-pb-modals .ays-pb-modal_1 .ays_pb_description + hr{display:block}.ays-pb-modals.av_pop_modals_1 .ays-pb-modal_1 .ays_pb_description ~ ays-pb-modal .ays_pb_description{padding:0}}
/* Environ Drainage Services — design system (Oct 2026 redesign, from the approved /v2/ home page).
   Same brand as the site has always had: Helvetica, the #00BB31 brand green, #242424 ink. Buttons use a deeper green
   (#1D7F35) so white text passes WCAG AA (5.1:1). One stylesheet for every page; legacy.css (prepended at build)
   carries the cookie bar, exit popup and quote modal rules from the old build, and the overrides below restyle them.
   Section rhythm: ~130px between sections on desktop, ~85px on phones (--sec, clamp). */

:root {
  --g: #1D7F35; --g-dark: #17692B; --g-bright: #00BB31; --g-tint: #F2F8F3; --g-tint-2: #E5F2E8;
  --ink: #242424; --text: #404040; --muted: #595959; --line: #E6E6E6; --tint: #F7F8F7; --dark: #161616; --dark-2: #222222;
  --radius: 10px; --radius-lg: 14px;
  --sec: clamp(36px, 4vw, 54px);
  --gap: clamp(28px, 4vw, 56px);
  --font: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --shadow-sm: 0 2px 8px rgba(36, 36, 36, .05);
  --shadow-md: 0 14px 32px rgba(36, 36, 36, .12);
  --ease: cubic-bezier(.16, 1, .3, 1);
}

/* ---------------------------------------------------------------- base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; }
body.ds { margin: 0; background: #ffffff; color: var(--text); font-family: var(--font); font-size: 17px; line-height: 1.65;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
.ds ::selection { background: #CDEFD6; color: var(--ink); }
.ds :focus-visible { outline: 3px solid var(--g-bright); outline-offset: 3px; border-radius: 4px; }
.ds img { max-width: 100%; height: auto; }
.ds h1, .ds h2, .ds h3, .ds h4, .ds h5, .ds h6 { font-family: var(--font); color: var(--ink); font-weight: 700; margin: 0; text-wrap: balance; letter-spacing: -0.01em; }
.ds h1 { font-size: clamp(33px, 4.2vw, 52px); line-height: 1.08; letter-spacing: -0.022em; }
.ds h2 { font-size: clamp(25px, 2.5vw, 34px); line-height: 1.18; letter-spacing: -0.015em; }
.ds h3 { font-size: clamp(20px, 1.7vw, 23px); line-height: 1.3; }
.ds h4 { font-size: 19px; line-height: 1.35; }
.ds h5, .ds h6 { font-size: 17px; line-height: 1.4; }
.ds :is(h1, h2, h3, h4):empty { display: none; }
.ds p { margin: 0; }
.ds a { color: var(--g); text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color .18s var(--ease); }
.ds a:hover { color: var(--g-dark); }
.ds strong, .ds b { color: var(--ink); }
.ds table { border-collapse: collapse; width: 100%; font-size: 15px; font-variant-numeric: tabular-nums; }
.ds th, .ds td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; vertical-align: top; }
.ds th { background: var(--g-tint); color: var(--ink); }
.ds-hidden { display: none !important; }
.ds-i { flex-shrink: 0; }
.ds-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ds-skip { position: absolute; left: 12px; top: -60px; z-index: 200; background: var(--ink); color: #ffffff !important; padding: 10px 14px; border-radius: 6px; text-decoration: none; }
.ds-skip:focus { top: 12px; }
.ds-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
html { scrollbar-color: #B9C7BC #F2F4F2; }

/* ---------------------------------------------------------------- buttons */
.ds-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ds-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 12px 22px; border-radius: 8px;
  border: 2px solid var(--g); background: var(--g); color: #ffffff !important; font: 700 17px/1.2 var(--font); text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(20, 20, 20, .14); font-variant-numeric: tabular-nums; cursor: pointer;
  transition: background-color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease); }
.ds-btn:hover { background: var(--g-dark); border-color: var(--g-dark); box-shadow: 0 4px 10px rgba(20, 20, 20, .18); }
.ds-btn:active { transform: translateY(1px); }
.ds-btn--sm { min-height: 44px; padding: 9px 16px; font-size: 15px; border-radius: 6px; box-shadow: 0 2px 6px rgba(20, 20, 20, .12); }
.ds-btn--lg { min-height: 56px; padding: 14px 26px; font-size: 19px; }
.ds-btn--ghost, .ds-btn--line { background: #ffffff; color: var(--g) !important; box-shadow: none; }
.ds-btn--ghost:hover, .ds-btn--line:hover { background: var(--g-tint); border-color: var(--g-dark); color: var(--g-dark) !important; box-shadow: none; }
.ds-btns .ds-btn + .ds-btn.show-modal:not(.ds-btn--ghost) { background: #ffffff; color: var(--g) !important; box-shadow: none; }
.ds-btns .ds-btn + .ds-btn.show-modal:not(.ds-btn--ghost):hover { background: var(--g-tint); color: var(--g-dark) !important; }
.ds-icon-btn { width: 46px; height: 46px; border-radius: 10px; border: 0; background: #F2F2F2; color: var(--ink); display: inline-flex; align-items: center;
  justify-content: center; cursor: pointer; padding: 0; text-decoration: none; }
.ds-icon-btn--green { background: var(--g); color: #ffffff !important; }
.ds-icon-btn--green:hover { background: var(--g-dark); }
.ds-textlink { font-weight: 700; }

/* ---------------------------------------------------------------- header */
.ds-header { position: sticky; top: 0; z-index: 90; background: rgba(255, 255, 255, .97); border-bottom: 1px solid #E8E8E8; transition: box-shadow .2s var(--ease); }
.ds-scrolled .ds-header { box-shadow: 0 4px 18px rgba(36, 36, 36, .08); }
.ds-header__in { display: flex; align-items: center; gap: 28px; min-height: 76px; }
.ds-logo { display: flex; flex-shrink: 0; }
.ds-logo img { width: 190px; height: auto; display: block; }
.ds-nav { margin-left: auto; }
.ds-menu { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.ds-menu > li { position: relative; }
.ds-menu > li > a { display: inline-flex; align-items: center; gap: 5px; padding: 10px 12px; border-radius: 6px; color: var(--ink); text-decoration: none;
  font-size: 16px; line-height: 1.3; }
.ds-menu > li > a:hover, .ds-menu > li > a[aria-current="page"], .ds-menu > li.current-menu-item > a, .ds-menu > li.current-menu-ancestor > a { color: var(--g); background: var(--g-tint); }
.ds-sub-btn[aria-expanded="true"] .ds-chev { transform: rotate(180deg); }
.ds-chev { transition: transform .18s var(--ease); }
.ds-sub { position: absolute; top: calc(100% + 8px); left: 0; min-width: 270px; margin: 0; padding: 8px; list-style: none; background: #ffffff;
  border-radius: 10px; box-shadow: 0 2px 4px rgba(36, 36, 36, .08), 0 16px 32px rgba(36, 36, 36, .14); display: none; }
.ds-sub--wide { min-width: 380px; }
.ds-sub.ds-open { display: block; }
.ds-sub a { display: block; padding: 9px 12px; border-radius: 6px; color: var(--ink); text-decoration: none; font-size: 15px; line-height: 1.35; }
.ds-sub a:hover, .ds-sub a[aria-current="page"] { background: var(--g-tint); color: var(--g); }
@media (hover: hover) and (min-width: 1100px) {
  .ds-has-sub:hover > .ds-sub { display: block; }
  .ds-has-sub::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 10px; }
}
.ds-header__cta { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.ds-head-phone { display: flex; flex-direction: column; align-items: flex-end; text-decoration: none; line-height: 1.15; }
.ds-head-phone__label { font-size: 13px; color: var(--muted); }
.ds-head-phone__num { display: inline-flex; align-items: center; gap: 7px; font-size: 21px; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.ds-head-phone__num .ds-i { color: var(--g); width: 18px; height: 18px; }
.ds-head-phone:hover .ds-head-phone__num { color: var(--g); }
.ds-show-sm, .ds-show-md { display: none !important; }
@media (max-width: 1099px) {
  .ds-show-md { display: inline-flex !important; }
  .ds-header__cta { margin-left: auto; }
  .ds-nav { position: absolute; left: 0; right: 0; top: 100%; margin: 0; background: #ffffff; border-bottom: 1px solid var(--line);
    box-shadow: 0 18px 40px rgba(36, 36, 36, .14); max-height: calc(100vh - 76px); overflow: auto; display: none; }
  .ds-nav.ds-open { display: block; }
  .ds-menu { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 16px 16px; }
  .ds-menu > li { border-bottom: 1px solid #F0F0F0; }
  .ds-menu > li > a { width: 100%; justify-content: space-between; min-height: 52px; font-size: 17px; padding: 12px 8px; }
  .ds-sub, .ds-sub--wide { position: static; min-width: 0; border: 0; box-shadow: none; padding: 0 0 10px 8px; }
  .ds-sub a { min-height: 44px; display: flex; align-items: center; }
}
@media (max-width: 640px) {
  .ds-header__in { min-height: 64px; gap: 8px; }
  .ds-logo img { width: 150px; }
  .ds-head-phone, .ds-hide-sm { display: none !important; }
  .ds-show-sm { display: inline-flex !important; }
  .ds-header__cta { gap: 8px; }
  .ds-nav { max-height: calc(100vh - 64px); }
}

/* ---------------------------------------------------------------- hero */
.ds-hero { position: relative; background: linear-gradient(180deg, #F4F7F4 0%, #ffffff 100%); }
/* Hero photo (1 Nov 2026): the old banner-2-1-1.jpg had an 84% white wash baked in; environ-team-van-hero.jpg is the same
   photo with that wash reversed, so the team and van show in colour. White only behind the copy, clear on the right. */
.ds-hero:not(.ds-hero--media) { background: #E9EEE9 url(/media/2023/11/environ-team-van-hero.jpg) 70% center / cover no-repeat; }
.ds-hero:not(.ds-hero--media)::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.9) 34%, rgba(255,255,255,.55) 52%, rgba(255,255,255,.08) 72%, rgba(255,255,255,0) 100%); }
@media (max-width: 899px) {
  .ds-hero:not(.ds-hero--media)::before { background: linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.82) 100%); }
}
.ds-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gap); align-items: center;
  padding-top: clamp(40px, 6vw, 88px); padding-bottom: clamp(36px, 5.5vw, 80px); }
.ds-hero--media .ds-hero__in { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.ds-hero__copy { display: flex; flex-direction: column; gap: 20px; max-width: 680px; }
.ds-hero__copy > p, .ds-hero__copy .ds-prose { font-size: 18px; line-height: 1.6; color: #333333; max-width: 62ch; }
.ds-hero__copy h2 { font-size: clamp(21px, 1.9vw, 26px); }
.ds-hero__copy .ds-btns { margin-top: 6px; }
.ds-hero__copy .ds-btn { min-height: 56px; font-size: 19px; padding: 14px 24px; }
.ds-hero__copy .ds-btns .ds-btn:first-child.show-modal { background: var(--g); color: #ffffff !important; }
.ds-hero__copy .ds-badge { width: 92px; height: auto; }
.ds-hero__media img, .ds-hero__media .ds-video { width: 100%; border-radius: var(--radius-lg); box-shadow: 0 24px 48px rgba(36, 36, 36, .14); display: block; }
.ds-hero__media img { aspect-ratio: 4 / 3; object-fit: cover; }
.ds-trustbar { background: #ffffff; border-top: 1px solid #EDEDED; border-bottom: 1px solid #EDEDED; }
.ds-trust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 22px; padding: 22px 0; }
.ds-trust img { height: 46px; width: auto; max-width: 104px; object-fit: contain; display: block; }
.ds-trustbar .ds-wrap > .ds-trust { padding-left: 0; padding-right: 0; }

/* ---------------------------------------------------------------- sections + content flow */
.ds-sec { padding: var(--sec) 0; }
.ds-sec + .ds-sec { padding-top: var(--sec); }
.ds-sec--tint { background: var(--tint); }
.ds-sec > .ds-wrap { display: flex; flex-direction: column; gap: 22px; }
.ds-sec > .ds-wrap > :is(p, h2, h3, h4, h5, ul, ol, .ds-prose, .ds-text, table) { max-width: 78ch; }
.ds-loose { display: flex; flex-direction: column; gap: 18px; padding-top: 24px; padding-bottom: 24px; }
.ds-prose, .ds-text { display: flex; flex-direction: column; gap: 16px; }
.ds-prose > *, .ds-text > * { margin: 0; }
.ds-prose :is(h2, h3, h4) { margin-top: 14px; }
.ds-prose ul, .ds-prose ol, .ds-sec ul:not([class]), .ds-sec ol:not([class]) { padding-left: 0; margin: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ds-sec ul:not([class]) > li, .ds-prose ul > li { position: relative; padding-left: 30px; }
.ds-sec ul:not([class]) > li::before, .ds-prose ul > li::before { content: ''; position: absolute; left: 2px; top: .38em; width: 18px; height: 18px; border-radius: 50%;
  background: var(--g-tint-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D7F35' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 11px no-repeat; }
.ds-sec ol:not([class]), .ds-prose ol { counter-reset: ds; }
.ds-sec ol:not([class]) > li, .ds-prose ol > li { position: relative; padding-left: 34px; counter-increment: ds; }
.ds-sec ol:not([class]) > li::before, .ds-prose ol > li::before { content: counter(ds); position: absolute; left: 0; top: .1em; width: 24px; height: 24px; border-radius: 50%;
  background: var(--g-tint-2); color: var(--g); font-size: 13px; font-weight: 700; display: grid; place-items: center; }
.ds-sec img:not(.ds-logo):not(.ds-badge):not(.ds-review__mark) { border-radius: var(--radius); }
.ds-sec .ds-prose img { margin: 6px 0; }
.ds-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; background: #E9ECEA; }
.ds-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ds-blocklink { color: inherit; text-decoration: none; display: flex; flex-direction: column; gap: 12px; }
.ds-head { display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.ds-head::after { content: ''; width: 56px; height: 4px; background: var(--g-bright); border-radius: 2px; }
.ds-sec > .ds-wrap > h2:first-child::after { content: ''; display: block; width: 56px; height: 4px; margin-top: 16px; background: var(--g-bright); border-radius: 2px; }

/* columns: Oxygen's column rows, kept as a responsive grid */
.ds-cols { display: grid; gap: var(--gap); align-items: start; width: 100%; max-width: none !important; }
.ds-cols--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ds-cols--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ds-cols--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ds-col { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.ds-col > :is(p, ul, ol, .ds-prose) { max-width: 72ch; }

/* article + sticky sidebar ("Need More Info?" / "Request a Callback") */
.ds-cols--aside { grid-template-columns: minmax(0, 1fr) minmax(300px, 370px); gap: clamp(32px, 5vw, 72px); }
.ds-col--aside { position: sticky; top: 100px; background: #ffffff; border-radius: var(--radius-lg); padding: 28px;
  box-shadow: 0 2px 4px rgba(36, 36, 36, .06), 0 16px 32px rgba(36, 36, 36, .10); gap: 12px; }
.ds-col--aside h2 { font-size: 23px; }
.ds-col--aside h2 ~ h2 { margin-top: 18px; padding-top: 22px; border-top: 1px solid var(--line); }
.ds-col--aside .ds-btns { margin: 4px 0; }
.ds-col--aside .ds-btn { width: 100%; font-size: 20px; min-height: 56px; }
.ds-col--aside > p { color: var(--muted); font-size: 16px; }
.ds-col--col > h2:not(:first-child) { margin-top: 18px; }

/* ---------------------------------------------------------------- service cards */
.ds-sec--services > .ds-wrap { gap: 36px; }
.ds-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; max-width: none !important; }
.ds-card { position: relative; display: flex; flex-direction: column; background: #ffffff; border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow-sm); transition: box-shadow .25s var(--ease), transform .25s var(--ease); }
.ds-card:hover { box-shadow: 0 8px 18px rgba(36, 36, 36, .10); transform: translateY(-2px); }
.ds-card:focus-within { outline: 3px solid var(--g-bright); outline-offset: 3px; }
.ds-card__media { position: relative; aspect-ratio: 16 / 9; background: #E9ECEA; overflow: hidden; }
.ds-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .5s var(--ease); }
.ds-card:hover .ds-card__media img { transform: scale(1.03); }
.ds-card__tag { position: absolute; left: 12px; bottom: 12px; padding: 5px 10px; border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--g);
  font-size: 12px; font-weight: 700; letter-spacing: .04em; line-height: 1; }
.ds-card__body { display: flex; flex-direction: column; gap: 12px; padding: 20px 22px 22px; flex: 1; }
.ds-card h2, .ds-card h3 { font-size: 20px; line-height: 1.3; letter-spacing: -0.005em; }
.ds-card h2 a, .ds-card h3 a { color: var(--ink); text-decoration: none; }
.ds-card h2 b, .ds-card h3 b { font-weight: 700; }
.ds-card__more { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-decoration: none; }
.ds-card__more::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.ds-card__more:focus-visible { outline: none; }
.ds-card:hover .ds-card__more { color: var(--g-dark); }

/* ---------------------------------------------------------------- reviews */
.ds-sec--reviews > .ds-wrap > p:first-child { font-size: 15px; font-weight: 700; color: var(--g); }
.ds-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; width: 100%; max-width: none !important; margin-top: 8px; }
.ds-review { position: relative; margin: 0; background: #ffffff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 26px 24px;
  display: flex; flex-direction: column; gap: 14px; box-shadow: var(--shadow-sm); }
.ds-review__mark { position: absolute; top: 24px; right: 24px; width: 26px; opacity: .55; }
.ds-stars { width: 106px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 18'%3E%3Cg fill='%23FFB400'%3E%3Cpath id='s' d='M9 0l2.78 5.63 6.22.9-4.5 4.39 1.06 6.2L9 14.2l-5.56 2.92 1.06-6.2L0 6.53l6.22-.9z'/%3E%3Cuse href='%23s' x='22'/%3E%3Cuse href='%23s' x='44'/%3E%3Cuse href='%23s' x='66'/%3E%3Cuse href='%23s' x='88'/%3E%3C/g%3E%3C/svg%3E") left center / contain no-repeat; }
.ds-review blockquote { margin: 0; font-size: 17px; line-height: 1.6; color: #333333; }
.ds-review figcaption { margin-top: auto; font-weight: 700; font-size: 14px; letter-spacing: .06em; color: var(--ink); }

/* ---------------------------------------------------------------- FAQ (Oxygen toggles, opened/closed by site.js) */
.ds-faq__item { border-bottom: 1px solid #E1E1E1; max-width: 860px; width: 100%; }
.ds-faq__item:first-of-type, :not(.ds-faq__item) + .ds-faq__item { border-top: 1px solid #E1E1E1; }
.ds-faq__item .oxy-toggle { display: flex; align-items: center; flex-direction: row-reverse; justify-content: space-between; gap: 20px; padding: 20px 4px;
  cursor: pointer; min-height: 64px; }
.ds-faq__item .oxy-toggle :is(h2, h3, h4, p) { font-size: 18px; line-height: 1.4; letter-spacing: 0; }
.ds-faq__item .oxy-toggle:hover :is(h2, h3, h4, p) { color: var(--g); }
.ds-faq__item .oxy-expand-collapse-icon { position: relative; flex-shrink: 0; width: 32px; height: 32px; border-radius: 999px; background: var(--g); transition: background-color .18s var(--ease); }
.ds-faq__item .oxy-expand-collapse-icon::before, .ds-faq__item .oxy-expand-collapse-icon::after { content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 2.5px;
  margin: -1.25px 0 0 -7px; background: #ffffff; border-radius: 2px; transition: transform .2s var(--ease), background-color .18s var(--ease); }
.ds-faq__item .oxy-expand-collapse-icon::after { transform: rotate(90deg) scaleX(0); }
.ds-faq__item .oxy-expand-collapse-icon.oxy-eci-collapsed { background: #EEF4EF; }
.ds-faq__item .oxy-expand-collapse-icon.oxy-eci-collapsed::before, .ds-faq__item .oxy-expand-collapse-icon.oxy-eci-collapsed::after { background: var(--g); }
.ds-faq__item .oxy-expand-collapse-icon.oxy-eci-collapsed::after { transform: rotate(90deg); }
.ds-faq__a { padding: 0 56px 22px 4px; font-size: 16px; line-height: 1.65; display: flex; flex-direction: column; gap: 12px; }
.ds-faq__a > * { max-width: 72ch; }

/* ---------------------------------------------------------------- call band */
.ds-sec--cta { padding-top: calc(var(--sec) * .35); }
.ds-cta { background: var(--ink); border-radius: var(--radius-lg); overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: end; }
.ds-cta__copy { padding: clamp(26px, 3.6vw, 46px); display: flex; flex-direction: column; gap: 14px; }
.ds-cta__copy h2 { color: #ffffff; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; }
.ds-cta__copy h2::after { display: none !important; }
.ds-cta__copy p { color: #D9D9D9; font-size: 18px; }
.ds-cta__copy > p:first-child { color: var(--g-bright); font-size: 15px; font-weight: 700; }
.ds-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 10px; }
.ds-cta__actions > p { font-size: 14px !important; font-weight: 700; color: #A6A6A6 !important; }
.ds-cta__actions > p:first-child { flex-basis: 100%; color: #CFCFCF !important; margin-bottom: -4px; }
.ds-cta__actions .ds-btn.show-modal { background: transparent; color: #ffffff !important; border-color: #5C5C5C; box-shadow: none; }
.ds-cta__actions .ds-btn.show-modal:hover { background: #333333; border-color: #8A8A8A; }
.ds-cta__actions .ds-btn { min-height: 56px; font-size: 19px; }
.ds-cta__img img { width: 100%; max-width: 360px; display: block; border-radius: 0 !important; margin-left: auto; }

/* single-form section (home "Request A Callback") */
.ds-sec--callback { background: var(--g); }
.ds-sec--callback .grid-form .pointer, .ds-sec--callback .grid-form .pointer2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: start; }
.ds-sec--callback .wpcf7-submit { background: var(--ink) !important; border-color: var(--ink) !important; }
.ds-sec--callback .wpcf7-submit:hover { background: #000000 !important; }

/* ---------------------------------------------------------------- posts + archives */
.ds-sec--posts > .ds-wrap { gap: 32px; }
.ds-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; width: 100%; max-width: none !important; }
.ds-post { position: relative; display: flex; flex-direction: column; background: #ffffff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
  box-shadow: var(--shadow-sm); transition: box-shadow .25s var(--ease), transform .25s var(--ease); }
.ds-post:hover { box-shadow: 0 8px 18px rgba(36, 36, 36, .10); transform: translateY(-2px); }
.ds-post:focus-within { outline: 3px solid var(--g-bright); outline-offset: 3px; }
.ds-post__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #E9ECEA; }
.ds-post__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; display: block; transition: transform .5s var(--ease); }
.ds-post:hover .ds-post__media img { transform: scale(1.03); }
.ds-post__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 22px; flex: 1; }
.ds-post__meta { font-size: 14px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ds-post__title, .ds-post :is(h2, h3, h4) a { font-size: 19px; line-height: 1.35; font-weight: 700; color: var(--ink) !important; text-decoration: none; }
.ds-post :is(h2, h3, h4) { font-size: 19px; line-height: 1.35; }
.ds-post__ex { font-size: 15px; color: var(--text); }
.ds-post__more { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; text-decoration: none; }
.ds-post__more::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.ds-post__more:focus-visible { outline: none; }
.ds-pager { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; width: 100%; max-width: none !important; }
.ds-pager a, .ds-pager span { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px;
  border: 1px solid var(--line); background: #ffffff; color: var(--ink); text-decoration: none; font-weight: 700; font-variant-numeric: tabular-nums; }
.ds-pager a:hover { border-color: var(--g); color: var(--g); }
.ds-pager .current { background: var(--g); border-color: var(--g); color: #ffffff; }

/* blog posts: reading measure, figures */
.single-post .ds-hero__copy { max-width: 760px; }
.single-post .ds-sec > .ds-wrap > :is(p, h2, h3, ul, ol, .ds-prose, .ds-text, table) { max-width: 74ch; }
.ds-prose--solo { max-width: 76ch; }
.ds-prose table { display: block; overflow-x: auto; }

/* ---------------------------------------------------------------- forms (CF7 markup from includes/forms.php) */
.ds .wpcf7 { width: 100%; }
.ds .wpcf7-form p { margin: 0; }
.ds .grid-form .pointer, .ds .grid-form .pointer2 { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
.ds .wpcf7-form-control-wrap { display: block; }
.ds .wpcf7 :is(input[type="text"], input[type="tel"], input[type="email"], textarea, select) { width: 100%; min-height: 54px; padding: 14px 16px; border: 1.5px solid #CFCFCF;
  border-radius: 8px; background: #ffffff; color: var(--ink); font: 17px/1.3 var(--font); transition: border-color .18s var(--ease), box-shadow .18s var(--ease); }
.ds .wpcf7 textarea { min-height: 140px; resize: vertical; }
.ds .wpcf7 ::placeholder { color: #6B6B6B; opacity: 1; }
.ds .wpcf7 :is(input, textarea):focus { outline: none; border-color: var(--g); box-shadow: 0 0 0 4px rgba(0, 187, 49, .18); }
.ds .wpcf7 .wpcf7-not-valid { border-color: #B3261E !important; background: #FFF8F7; }
.ds .wpcf7-not-valid-tip { display: block; margin-top: 6px; color: #8C1D18; font-size: 14px; font-weight: 700; }
.ds .wpcf7 input[type="file"] { font: 15px var(--font); }
.ds .wpcf7-submit { width: 100%; min-height: 56px; padding: 0 28px; border: 2px solid var(--g); border-radius: 8px; background: var(--g); color: #ffffff; cursor: pointer;
  font: 700 18px/1 var(--font); box-shadow: 0 2px 6px rgba(20, 20, 20, .14); -webkit-appearance: none; appearance: none;
  transition: background-color .18s var(--ease), box-shadow .18s var(--ease); }
.ds .wpcf7-submit:hover { background: var(--g-dark); border-color: var(--g-dark); }
.ds .wpcf7-form.submitting .wpcf7-submit { opacity: .75; cursor: progress; }
.ds .wpcf7-spinner { margin: 8px 0 0; }
.ds .wpcf7 form .wpcf7-response-output { margin: 12px 0 0; border-radius: 8px; padding: 12px 16px; font-size: 15px; }
.ds .wpcf7 form.init .wpcf7-response-output { display: none; }

/* ---------------------------------------------------------------- pre-footer, footer, group band */
.ds-prefoot { background: var(--g-tint); padding: clamp(36px, 4vw, 52px) 0; }
.ds-prefoot__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 40px; }
.ds-prefoot__copy { display: flex; flex-direction: column; gap: 8px; max-width: 640px; }
.ds-prefoot h2 { font-size: clamp(24px, 2.4vw, 30px); }
.ds-foot { background: var(--dark); color: #CFCFCF; font-size: 15px; }
.ds-foot a { color: #E6E6E6; text-decoration: none; }
.ds-foot a:hover { color: #ffffff; text-decoration: underline; text-underline-offset: 3px; }
.ds-foot h2, .ds-foot__title { color: #ffffff !important; font-size: 17px !important; font-weight: 700; margin-bottom: 10px; letter-spacing: 0; }
.ds-foot__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 2fr) minmax(0, 4fr); gap: 40px; padding-top: 72px; padding-bottom: 36px; }
.ds-foot__brand { display: flex; flex-direction: column; gap: 18px; }
.ds-foot__brand img { width: 190px; }
.ds-foot p { font-size: 15px; line-height: 1.6; }
.ds-foot ul { list-style: none; margin: 0; padding: 0; }
.ds-foot__col li a { display: flex; align-items: center; min-height: 36px; }
.ds-social { display: flex; gap: 14px; margin-top: 4px; }
.ds-social a { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.ds-social img, .ds-fb svg { width: 32px; height: 32px; display: block; }
.ds-fb svg { fill: #1877F2; }
.ds-foot__info { background: var(--dark-2); border-radius: 12px; padding: 26px 28px; display: flex; flex-direction: column; gap: 16px; align-self: start; }
.ds-foot__info h2 { margin: 0; }
.ds-foot__name { font-weight: 700; }
.ds-info { display: flex !important; gap: 14px; align-items: flex-start; }
.ds-info .ds-i { color: var(--g-bright); margin-top: 3px; }
.ds-info span { display: flex; flex-direction: column; overflow-wrap: anywhere; }
.ds-info strong { color: #ffffff; }
.ds-info strong br { display: none; }
.ds-foot__map { display: block; padding-bottom: 40px; }
.ds-foot__map iframe { display: block; width: 100%; height: 220px; border: 0; border-radius: 12px; filter: grayscale(.35); }
.ds-group { border-top: 1px solid #2B2B2B; padding: 28px 0; text-align: center; }
.ds-group p { font-size: 14px; color: #BDBDBD; margin-bottom: 18px; }
.ds-group__logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px 36px; }
.ds-group__logos a { display: inline-flex; padding: 8px; border-radius: 8px; transition: background-color .18s var(--ease); }
.ds-group__logos a:hover { background: #222222; }
.ds-group__logos img { height: 30px; width: auto; display: block; }
.ds-legal { background: #0F0F0F; padding: 18px 0; font-size: 14px; color: #A6A6A6; text-align: center; }
.ds-callbar { display: none; }

/* ---------------------------------------------------------------- quote modal (Oxygen), exit popup, cookie bar */
.ds .oxy-modal-backdrop { position: fixed; inset: 0; z-index: 2147483640; display: none; align-items: center; justify-content: center; padding: 16px;
  background: rgba(22, 22, 22, .55) !important; }
.ds .oxy-modal-backdrop.live { display: flex; }
.ds #modal-140-22 { width: min(760px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: #ffffff; border-radius: var(--radius-lg); padding: 0;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .3); display: block; }
.ds #div_block-141-22 { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 26px; background: var(--ink); width: 100%; }
.ds #div_block-141-22 h2 { color: #ffffff; font-size: 24px; }
.ds #headline-144-22 { display: none; }
.ds #fancy_icon-146-22 { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 8px; color: #ffffff; cursor: pointer; background: rgba(255,255,255,.08); }
.ds #fancy_icon-146-22 svg { width: 18px; height: 18px; fill: currentColor; }
.ds #div_block-147-22 { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 0; align-items: end; width: 100%; }
.ds #div_block-148-22 { background: var(--g-tint); align-self: stretch; display: flex; align-items: flex-end; justify-content: center; padding-top: 20px; }
.ds #image-149-22 { width: 200px; height: auto; display: block; }
.ds #div_block-150-22 { padding: 26px; display: flex; flex-direction: column; gap: 10px; width: 100%; }
.ds #headline-151-22 { font-size: 22px; }
@media (max-width: 640px) {
  .ds #div_block-147-22 { grid-template-columns: minmax(0, 1fr); }
  .ds #div_block-148-22 { display: none; }
  .ds #div_block-141-22 h2 { font-size: 20px; }
}
.ds .ays_template_window { font-family: var(--font) !important; border-radius: var(--radius-lg) !important; border: 0 !important; box-shadow: 0 30px 80px rgba(0, 0, 0, .3) !important; }
.ds .ays_template_window .ays_template_header h2 { font-family: var(--font) !important; color: var(--ink) !important; letter-spacing: -0.01em; word-break: normal !important; }
.ds .ays_template_main, .ds .ays_pb_description { font-family: var(--font) !important; letter-spacing: 0 !important; }
.ds .ays-pb-modal_1 .ays_pb_description > p { color: var(--text) !important; }
.ds.cli-barmodal-open { overflow: auto !important; }
.ds .cli-popupbar-overlay { display: none !important; }
.ds #cookie-law-info-bar.cli-bar-popup { top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important; transform: none !important;
  width: 100% !important; max-width: none !important; max-height: none !important; border-radius: 0 !important; padding: 14px 24px !important; text-align: left;
  box-shadow: 0 -6px 18px rgba(0, 0, 0, .1) !important; border-top: 1px solid #E1E1E1; z-index: 95; background: #ffffff !important; }
.ds #cookie-law-info-bar .cli-bar-container { display: flex !important; flex-wrap: nowrap !important; align-items: center; gap: 20px; max-width: 1200px; margin: 0 auto; }
.ds #cookie-law-info-bar .cli-bar-message { flex: 1; width: auto !important; font-size: 13px; line-height: 1.5; color: #333333 !important; }
.ds #cookie-law-info-bar .cli-bar-btn_container { margin: 0 !important; flex-wrap: nowrap !important; gap: 8px; flex-shrink: 0; display: flex; }
.ds #cookie-law-info-bar .cli-plugin-button { margin: 0 !important; min-height: 44px; display: inline-flex; align-items: center; padding: 0 16px;
  border-radius: 6px; font-weight: 700; font-size: 14px; text-decoration: none !important; font-family: var(--font); }
.ds #cookie-law-info-bar .cli_settings_button { background: #ffffff !important; color: var(--ink) !important; border: 1px solid #BDBDBD; }
.ds #cookie-law-info-bar .wt-cli-accept-all-btn { background: var(--g) !important; color: #ffffff !important; }
.ds .cli-modal .cli-modal-dialog { font-family: var(--font); }
.ds .cli-modal .cli-modal-content { border-radius: var(--radius-lg); }


/* accreditation tiles (home "Our Accreditations") */
.ds-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; width: 100%; max-width: none !important; }
.ds-logos img.ds-logo { width: 100%; height: 112px; object-fit: contain; padding: 12px; border: 1px solid #ECECEC; border-radius: var(--radius); background: #ffffff; display: block; }

/* video tiles (home services) */
.ds-card--video .ds-card__media { aspect-ratio: 16 / 9; }
.ds-card--video .ds-video { position: absolute; inset: 0; border-radius: 0; aspect-ratio: auto; }
.ds-card--video .ds-card__more::after { top: 56.25%; }

/* section title that heads the content below it */
.ds-sec > .ds-wrap > .ds-head { margin-bottom: 8px; }
.ds-head > :is(p, .ds-text) { max-width: 70ch; }

/* contact page: details + form card */
.ds-sec--contact { background: linear-gradient(180deg, #F4F7F4 0%, #ffffff 100%); }
.ds-sec--contact .ds-cols { grid-template-columns: minmax(0, 1fr) minmax(320px, 460px); align-items: start; }
.ds-sec--contact .ds-col--form { order: 2; background: #ffffff; border-radius: var(--radius-lg); padding: 28px; box-shadow: 0 2px 4px rgba(36, 36, 36, .06), 0 16px 32px rgba(36, 36, 36, .10); }
.ds-sec--contact .ds-col:not(.ds-col--form) { gap: 10px; }
.ds-sec--contact .ds-col:not(.ds-col--form) h3 { margin-top: 18px; font-size: 19px; }
.ds-sec--contact h1 { margin-bottom: 6px; }

/* single-form section text on green */
.ds-sec--callback, .ds-sec--callback :is(p, h2, h3, h4, label) { color: #ffffff; }

/* Easy Posts label above the title (/locations/) */
.ds-post .ds-post__kicker { font-size: 13px !important; font-weight: 700; color: var(--g); letter-spacing: .02em; line-height: 1.3; }
.ds-post__media { position: relative; }

/* ---------------------------------------------------------------- tablet and phone */
@media (max-width: 1023px) {
  .ds-hero--media .ds-hero__in { grid-template-columns: minmax(0, 1fr); }
  .ds-hero__media { max-width: 640px; }
  .ds-cols--aside, .ds-sec--contact .ds-cols { grid-template-columns: minmax(0, 1fr); }
  .ds-sec--contact .ds-col--form { order: 0; }
  .ds-col--aside { position: static; }
  .ds-cols--3, .ds-cols--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ds-cards, .ds-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .ds-reviews { grid-template-columns: minmax(0, 1fr); }
  .ds-foot__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ds-cta { grid-template-columns: minmax(0, 1fr); }
  .ds-cta__img img { max-width: 240px; }
  .ds-sec--callback .grid-form .pointer, .ds-sec--callback .grid-form .pointer2 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 899px) {
  body.ds { padding-bottom: 72px; }
  .ds-callbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); border-top: 1px solid #E1E1E1; box-shadow: 0 -6px 18px rgba(36, 36, 36, .1); }
  .ds-callbar .ds-btn { font-size: 15px; padding: 12px 8px; box-shadow: none; white-space: nowrap; min-height: 50px; }
  .ds #cookie-law-info-bar.cli-bar-popup { bottom: 72px !important; }
  .ds #cookie-law-info-bar .cli-bar-container { flex-wrap: wrap !important; gap: 10px; }
  .ds #cookie-law-info-bar .cli-bar-message { flex: 1 1 100%; }
}
@media (max-width: 640px) {
  .ds-wrap { padding: 0 16px; }
  body.ds { font-size: 16.5px; }
  .ds-hero__copy { gap: 16px; }
  .ds-hero__copy > p, .ds-hero__copy .ds-prose { font-size: 17px; }
  .ds-hero__copy .ds-btns { flex-direction: column; align-items: stretch; gap: 10px; }
  .ds-hero__copy .ds-btn { width: 100%; }
  .ds-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); justify-items: center; gap: 14px 10px; padding: 18px 0; }
  .ds-trust img { height: 40px; max-width: 70px; }
  .ds-sec > .ds-wrap { gap: 18px; }
  .ds-cols--2, .ds-cols--3, .ds-cols--4 { grid-template-columns: minmax(0, 1fr); }
  .ds-col--aside { padding: 22px 18px; }
  .ds-cards { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ds-card { flex-direction: row; align-items: center; padding: 8px; gap: 14px; }
  .ds-card:hover { transform: none; }
  .ds-card__media { width: 104px; flex-shrink: 0; aspect-ratio: 3 / 2; border-radius: 6px; }
  .ds-card__tag { display: none; }
  .ds-card__body { padding: 0; gap: 4px; flex-direction: row; align-items: center; }
  .ds-card h2, .ds-card h3 { font-size: 17px; flex: 1; }
  .ds-card__more { font-size: 0; gap: 0; margin: 0 4px 0 0; }
  .ds-card__more .ds-i { width: 20px; height: 20px; }
  .ds-posts { grid-template-columns: minmax(0, 1fr); }
  .ds-faq__item .oxy-toggle { padding: 16px 2px; }
  .ds-faq__item .oxy-toggle :is(h2, h3, h4, p) { font-size: 17px; }
  .ds-faq__a { padding: 0 2px 18px; }
  .ds-cta__actions { flex-direction: column; align-items: stretch; }
  .ds-cta__actions > p:not(:first-child) { display: none; }
  .ds-cta__actions .ds-btn { width: 100%; }
  .ds-cta__img img { max-width: 200px; }
  .ds-prefoot .ds-btns { flex-direction: column; align-items: stretch; width: 100%; }
  .ds-foot__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 44px; }
  .ds-foot__col li a { min-height: 44px; border-bottom: 1px solid #262626; }
  .ds-pager a, .ds-pager span { min-width: 40px; height: 40px; padding: 0 10px; }
}
@media (prefers-reduced-motion: reduce) { .ds *, .ds *::before, .ds *::after { transition: none !important; animation: none !important; } }
.ds-cols > :is(.ds-logos, .ds-cards, .ds-reviews, .ds-posts) { grid-column: 1 / -1; }
.ds-sec--callback :is(b, strong) { color: #ffffff; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.2; display: inline-block; margin-bottom: 4px; }
.ds-sec--callback .wpcf7 { max-width: 820px; }
.ds-sec--callback .wpcf7 p { color: #E7F4EA; }
.ds-swap { display: contents; }
.ds-hero__copy .ds-btns .ds-btn--tel { order: -1; }
.ds-sec--contact .ds-col--form { order: 2 !important; }
.ds-prose p:empty, .ds-text p:empty { display: none; }
@media (max-width: 640px) {
  .ds-card--video { flex-direction: column; align-items: stretch; }
  .ds-card--video .ds-card__media { width: 100%; aspect-ratio: 16 / 9; }
  .ds-card--video .ds-card__body { padding: 6px 4px 4px; }
  .ds-card--video .ds-card__more::after { display: none; }
}
.ds-sec--callback .wpcf7 p { color: #ffffff; }
.ds-col > :is(.ds-text, .ds-prose), .ds-text > :is(div, p), .ds-cols--1 .ds-col > * { max-width: 74ch; }

/* ---------------------------------------------------------------- exit popup ("Wait! Before You Leave", Popup Box #1)
   The plugin printed a fixed 699x445 box (full width and fixed height under 768px) on a white wash. Restyled as a
   centred card that sizes to its content; site.js still opens/closes it and the markup/form are unchanged. */
.ds .ays-pb-modals { z-index: 2147483641 !important; }
.ds #ays-pb-screen-shade_1 { background: #161616 !important; position: fixed !important; inset: 0 !important; }
.ds .ays_template_window.ays-pb-modal_1 { width: min(720px, calc(100vw - 32px)) !important; height: fit-content !important; max-height: calc(100vh - 32px) !important;
  inset: 0 !important; margin: auto !important; padding: 0 !important; overflow: auto !important; background: #ffffff !important; border: 0 !important;
  border-radius: var(--radius-lg) !important; box-shadow: 0 30px 80px rgba(0, 0, 0, .35) !important; user-select: auto !important; cursor: auto !important; }
.ds .ays-pb-modal_1 header.ays_template_head { height: auto !important; background: #ffffff !important; padding: 20px 64px 18px 26px !important; border-bottom: 1px solid var(--line) !important; }
.ds .ays-pb-modal_1 .ays_template_header { height: auto !important; justify-content: flex-start !important; }
.ds .ays-pb-modal_1 .ays_template_title { height: auto !important; }
.ds .ays-pb-modal_1 .ays_template_header h2 { color: var(--g) !important; font-size: clamp(22px, 2.4vw, 28px) !important; line-height: 1.15 !important; margin: 0 !important;
  text-align: left !important; text-shadow: none !important; }
.ds .ays-pb-modal_1 .close-template-btn-container { position: absolute !important; top: 12px !important; right: 12px !important; left: auto !important; transform: none !important; margin: 0 !important; z-index: 2; }
.ds .ays-pb-modal_1 .close-template-btn { width: 44px; height: 44px; display: grid !important; place-items: center; border-radius: 8px;
  font-size: 20px !important; background: #F2F2F2; text-align: center !important; }
.ds .ays-pb-modal_1 .close-template-btn:hover { background: #E6E6E6; }
.ds .ays-pb-modal_1 footer.ays_template_footer { display: grid !important; grid-template-columns: 220px minmax(0, 1fr); height: auto !important; padding: 0 !important; gap: 0 !important;
  max-height: none !important; overflow: visible !important; }
.ds .ays-pb-modal_1 .ays_bg_image_box { width: auto !important; height: auto !important; display: block !important; background-color: var(--g-tint) !important;
  background-size: 92% auto !important; background-position: center bottom !important; }
.ds .ays-pb-modal_1 .ays_template_content { width: auto !important; padding: 24px 26px 26px !important; margin: 0 !important; max-height: none !important; overflow: visible !important; }
.ds .ays-pb-modal_1 .ays_pb_description { padding: 0 !important; text-align: left !important; font-size: 16px !important; display: flex !important; flex-direction: column; gap: 12px; }
.ds .ays-pb-modal_1 .ays_pb_description p { margin: 0 !important; color: var(--text) !important; font-size: 16px !important; line-height: 1.5 !important; }
.ds .ays-pb-modal_1 .ays_pb_description p:empty, .ds .ays-pb-modal_1 .ays_pb_description p:last-child:not(:has(*)) { display: none; }
.ds .ays-pb-modal_1 .ays_pb_description strong { color: var(--ink) !important; font-size: 20px; display: inline-block; margin-bottom: 2px; }
.ds .ays-pb-modal_1 .ays_pb_description span { color: inherit !important; }
.ds .ays-pb-modal_1 .ays_content_box { display: none !important; }
.ds .ays-pb-modal_1 .ays_template_content form { gap: 0 !important; }
.ds .ays-pb-modal_1 .ays_template_content input[type="text"], .ds .ays-pb-modal_1 .ays_template_content input[type="tel"] { padding: 14px 16px !important; margin: 0 !important; }
.ds .ays-pb-modal_1 .ays_template_content input.wpcf7-submit[type="submit"] { width: 100% !important; padding: 0 28px !important; margin: 4px 0 0 !important;
  min-height: 56px !important; height: 56px !important; display: block !important; line-height: 56px !important; }
@media (max-width: 640px) {
  .ds .ays-pb-modal_1 footer.ays_template_footer { grid-template-columns: minmax(0, 1fr); }
  .ds .ays-pb-modal_1 .ays_bg_image_box { display: none !important; }
  .ds .ays-pb-modal_1 header.ays_template_head { padding: 16px 60px 16px 18px !important; }
  .ds .ays-pb-modal_1 .ays_template_content { padding: 18px !important; }
}
.ds .ays-pb-modal_1 header.ays_template_head, .ds .ays-pb-modal_1 .ays_template_header, .ds .ays-pb-modal_1 .ays_template_title { width: auto !important; max-width: 100% !important; min-width: 0 !important; }
.ds .ays-pb-modal_1 .ays_template_btn-close { position: static !important; width: 0 !important; }
.ds .ays_template_window.ays-pb-modal_1 { overflow-x: hidden !important; overflow-y: auto !important; scrollbar-width: thin; }
.ds .ays-pb-modal_1 .ays_pb_description > p:not(:has(*)) { display: none !important; }
.ds .ays-pb-modal_1 .close-template-btn-container { width: 44px !important; height: 44px !important; min-width: 44px !important; }
.ds .ays-pb-modal_1 .close-template-btn { position: static !important; }
.ds .ays_template_window.ays-pb-modal_1 { height: auto !important; top: 50% !important; left: 50% !important; right: auto !important; bottom: auto !important; margin: 0 !important; transform: translate(-50%, -50%); animation-name: ds-pop-in !important; }
@keyframes ds-pop-in { from { opacity: 0; transform: translate(-50%, -48%); } to { opacity: 1; transform: translate(-50%, -50%); } }
.ds .ays_template_window.ays-pb-modal_1.fadeOutUpBig { animation-name: ds-pop-out !important; }
@keyframes ds-pop-out { to { opacity: 0; transform: translate(-50%, -54%); } }
.ds .ays-pb-modal_1 .btn { position: relative; }
.ds .ays-pb-modal_1 .wpcf7-spinner { position: absolute !important; top: 50% !important; right: 16px !important; left: auto !important; bottom: auto !important; margin: -12px 0 0 !important; }

/* ---------------------------------------------------------------- client photos (27 Oct 2026 brief)
   ds-fit-contain: show the whole picture (About team group, the portrait-format Benefits photo on Drain Services London).
   ds-cta-portrait: the transparent headset portrait, cut out against the dark call band, bottom-aligned. */
.ds-hero__media img.ds-fit-contain { aspect-ratio: auto; object-fit: contain; }
.ds-sec img.ds-fit-contain { width: 100%; aspect-ratio: 3 / 2; object-fit: contain; background: var(--tint); }
.ds-cta__img img.ds-cta-portrait { width: auto; max-width: 100%; height: clamp(230px, 24vw, 320px); object-fit: contain; object-position: bottom center;
  margin: 12px 24px 0 auto; }
@media (max-width: 1023px) { .ds-cta__img img.ds-cta-portrait { height: 230px; margin: 0 auto 0 auto; } }

/* WhatsApp (client request 28 Oct 2026): a floating button bottom-left on desktop (responseiQ keeps bottom-right),
   an icon button between Call and Callback in the phone call bar. */
.ds-wa-float { position: fixed; left: 20px; bottom: 20px; z-index: 85; display: grid; place-items: center; width: 56px; height: 56px;
  border-radius: 50%; background: #25D366; color: #ffffff; box-shadow: 0 6px 18px rgba(0, 0, 0, .22); transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.ds-wa-float .ds-i { width: 30px; height: 30px; }
.ds-wa-float:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0, 0, 0, .26); }
.ds-wa-float:focus-visible, .ds-btn--wa:focus-visible { outline: 3px solid #1A1A1A; outline-offset: 3px; }
.ds-btn--wa { background: #25D366; border-color: #25D366; color: #ffffff; }
@media (max-width: 899px) {
  .ds-wa-float { display: none; }
  .ds-callbar { grid-template-columns: minmax(0, 1fr) 54px minmax(0, 1.3fr); gap: 8px; }
  .ds-callbar .ds-btn { font-size: 14.5px; padding-left: 6px; padding-right: 6px; }
  .ds-callbar .ds-btn--wa { padding: 0; }
  .ds-callbar .ds-btn--wa .ds-i { width: 26px; height: 26px; margin: 0; }
}
@media (prefers-reduced-motion: reduce) { .ds-wa-float { transition: none; } .ds-wa-float:hover { transform: none; } }

/* Corner widgets (1 Nov 2026). Desktop: responseiQ keeps bottom-left, WhatsApp moves bottom-right, the reCAPTCHA badge
   is hidden (its notice sits under each form instead). Phones: responseiQ is lifted above the call bar so it no longer
   covers "Call Us" or the cookie buttons. */
.grecaptcha-badge { visibility: hidden !important; }
.ds-recaptcha-note { margin: 10px 0 0; font-size: 12px; line-height: 1.45; color: #6B6B6B; text-align: center; }
.ds-recaptcha-note a { color: inherit; text-decoration: underline; }
.ds-wa-float { left: auto; right: 24px; bottom: 24px; }
@media (max-width: 899px) {
  iframe.responseiq-app-frame { bottom: calc(84px + env(safe-area-inset-bottom)) !important; left: 8px !important; }
}
body.cli-barmodal-open iframe.responseiq-app-frame, body.cli-modal-open iframe.responseiq-app-frame { visibility: hidden !important; }
