/* Block colour schemes and dividers (see Cleancut::SCHEMES / DIVIDERS / NATIVE and templates/dividers).
   Loaded last. Every rule only applies to a block that was wrapped by the page builder
   (.cc-b), i.e. one whose colour or divider was changed from its native look.
   The prefix  html :is(#top,body) .cc-b.cc-sc  gives the rules the specificity of the page's
   own #top-keyed rules so they win over them. */

.cc-b{display:contents;--cc-bg:var(--cc-d-bg);--cc-next-bg:var(--cc-d-next-bg);--cc-edge:var(--cc-d-edge,0px);--cc-edge-below:var(--cc-d-edge-below,0px);--cc-pad:64px}
.cc-b.cc-sc{--cc-heading:var(--cc-d-heading);--cc-text:var(--cc-d-text);--cc-accent:var(--cc-d-accent)}

/* ---- dividers drawn as svg edges (zero-height anchors next to the block) */
.cc-edge-anchor{position:relative;height:0;z-index:30;pointer-events:none;line-height:0}
.cc-edge-anchor .cc-edge{position:absolute;left:0;width:100%;bottom:-1px;display:block}
.cc-edge-anchor-top .cc-edge{height:var(--cc-edge);color:var(--cc-bg)}
.cc-edge-anchor-bottom .cc-edge{height:var(--cc-edge);color:var(--cc-next-bg)}
@media (width<=767px){
  .cc-b{--cc-bg:var(--cc-m-bg);--cc-next-bg:var(--cc-m-next-bg);--cc-edge:var(--cc-m-edge,0px);--cc-edge-below:var(--cc-m-edge-below,0px);--cc-pad:44px}
  .cc-b.cc-sc{--cc-heading:var(--cc-m-heading);--cc-text:var(--cc-m-text);--cc-accent:var(--cc-m-accent)}
  .cc-show-computers .cc-edge-anchor{display:none}
}
@media (width>=768px){
  .cc-show-phones .cc-edge-anchor{display:none}
}

/* ---- tab divider (rounded corners + thin blue line), the look of the services strip */
html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-services-cards .services-overview-strip{border-radius:40px 40px 0 0!important}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-testimonials-band-home .turnkey-testimonials-band{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-testimonials-band-page .turnkey-testimonials-band{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-featured-reviews .featured-intro{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-recent-cleans-slider .recent-cleans-section{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-recent-cleans-showcase .recent-showreels{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-standard-home .turnkey-standard-section{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-standard-page .turnkey-standard-section{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-contact-form-map .turnkey-contact-section{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-contact-form-intro .turnkey-contact-section{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-process-steps .process-section{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-coverage .coverage-section{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-service-rows .service-list{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab.cc-b-faq .faq-section{border-radius:40px 40px 0 0!important;border-top:4px solid #00a7d6!important;margin-top:-58px!important;position:relative;z-index:8}

@media (width<=767px){html :is(#top,body) .cc-b.cc-dv-tab.cc-dv-tab[class*="cc-b-"] :is(.services-overview-strip,.turnkey-testimonials-band,.recent-cleans-section,.recent-showreels,.turnkey-standard-section,.turnkey-contact-section,.process-section,.coverage-section,.service-list,.faq-section,.featured-intro){border-radius:28px 28px 0 0!important;margin-top:-40px!important}}

/* ---- a changed divider switches the block's native divider off */
html :is(#top,body) .cc-b.cc-dvr.cc-b-services-cards:not(.cc-dv-tab) .services-overview-strip{border-radius:0!important;border-top:0!important;margin-top:0!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-testimonials-band-home:not(.cc-dv-tab) .turnkey-testimonials-wave{display:none!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-testimonials-band-page:not(.cc-dv-tab) .turnkey-testimonials-wave{display:none!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-contact-form-map:not(.cc-dv-tab) .turnkey-contact-wave{display:none!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-contact-form-map:not(.cc-dv-tab) .turnkey-contact-section{margin-top:0!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-contact-form-intro:not(.cc-dv-tab) .turnkey-contact-wave{display:none!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-contact-form-intro:not(.cc-dv-tab) .turnkey-contact-section{margin-top:0!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-faq:not(.cc-dv-tab) .faq-mobile-wave{display:none!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-faq:not(.cc-dv-tab) .faq-section:before{display:none!important;content:none!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-standard-home:not(.cc-dv-tab) .turnkey-standard-wave{display:none!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-standard-home:not(.cc-dv-tab) .turnkey-standard-section{margin-top:0!important;margin-bottom:0!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-process-steps:not(.cc-dv-tab) .process-mobile-top-arc{display:none!important}

html :is(#top,body) .cc-b.cc-dvr.cc-b-page-hero .dedicated-hero-wave{display:none!important}

/* ---- colour schemes */
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-services-cards .services-overview-strip{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-services-cards .services-showcase-copy h2{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-services-cards .services-showcase-body p,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-services-cards .services-mobile-point > span:not(.turnkey-standard-check-icon){color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-services-cards .services-mobile-point .turnkey-standard-check-icon{color:var(--cc-accent)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-testimonials-band-home .turnkey-testimonials-band{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-testimonials-band-home .turnkey-testimonials-heading h2{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-testimonials-band-page .turnkey-testimonials-band{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-testimonials-band-page .turnkey-testimonials-heading h2{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-featured-reviews .featured-intro,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-featured-reviews .featured-reviews{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-featured-reviews .featured-intro h2{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-recent-cleans-slider .recent-cleans-section{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-recent-cleans-slider .recent-cleans-heading-wrap h2,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-recent-cleans-slider .recent-clean-caption h3{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-recent-cleans-slider .recent-clean-caption p{color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-recent-cleans-showcase .recent-showreels{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-recent-cleans-showcase .recent-project-meta h2{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-recent-cleans-showcase .recent-project-info p{color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-home .turnkey-standard-section{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-home .turnkey-standard-copy h2{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-home .turnkey-standard-intro p,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-home .turnkey-standard-check > span:not(.turnkey-standard-check-icon){color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-home .turnkey-standard-check-icon{color:var(--cc-accent)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-page .turnkey-standard-section{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-page .turnkey-standard-copy h2{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-page .turnkey-standard-intro p,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-page .turnkey-standard-check > span:not(.turnkey-standard-check-icon){color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-page .turnkey-standard-check-icon{color:var(--cc-accent)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-contact-section{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-contact-heading h2,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-contact-intro h2,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-direct-contact h3{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-contact-intro-copy,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-contact-form label > span,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-contact-custom-label,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-contact-coverage-grid a span,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-direct-contact-copy small,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-map .turnkey-direct-contact-copy strong{color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-contact-section{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-contact-heading h2,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-contact-intro h2,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-direct-contact h3{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-contact-intro-copy,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-contact-form label > span,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-contact-custom-label,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-contact-coverage-grid a span,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-direct-contact-copy small,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-contact-form-intro .turnkey-direct-contact-copy strong{color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-process-steps .process-section{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-coverage .coverage-section{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-coverage .coverage-heading h2{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-coverage .coverage-area > span:not([aria-hidden]){color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-service-rows .service-list{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-service-rows .service-content h2{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-service-rows .service-intro,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-service-rows .service-content li{color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-service-rows .service-content li > span[aria-hidden]{color:var(--cc-accent)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-faq .faq-section{background:var(--cc-bg)!important;color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-faq .faq-heading h2,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-faq .direct-contact h3{color:var(--cc-heading)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-faq .direct-contact-details,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-faq .direct-contact-note{color:var(--cc-text)!important}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-process-steps .process-shell{background:#0c2340}

html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-standard-home .turnkey-standard-check-icon{border-color:var(--cc-accent)!important}


/* ---- extra text colours found with the contrast scan */
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-faq .direct-contact-details strong{color:var(--cc-heading)!important}
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-faq .direct-contact-details a{color:var(--cc-text)!important}
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-coverage .coverage-chevron,
html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-coverage .coverage-pin-mobile{color:var(--cc-accent)!important}
/* "How it works": on computers the steps sit on a navy card (text stays light); on phones the card is flat, so the text follows the scheme */
@media (width<=600px){
  html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-process-steps .process-step-body h3{color:var(--cc-heading)!important}
  html :is(#top,body) .cc-b.cc-sc.cc-sc.cc-b-process-steps .process-step-body p{color:var(--cc-text)!important}
}

/* ---- rhythm: the same space around the content of every block.
   top = --cc-pad; bottom = --cc-pad + the height of the divider zone of the block below
   (that divider is drawn over this block's bottom edge). See Cleancut::DIVIDERS (height). */
html :is(#top,body) .cc-b.cc-b.cc-b-services-cards .services-overview-strip{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-services-cards .services-overview-strip{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-testimonials-band-home .turnkey-testimonials-band{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-testimonials-band-home .turnkey-testimonials-band{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-testimonials-band-page .turnkey-testimonials-band{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-testimonials-band-page .turnkey-testimonials-band{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-featured-reviews .featured-intro{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-featured-reviews .featured-reviews{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-recent-cleans-slider .recent-cleans-section{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-recent-cleans-slider .recent-cleans-section{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-recent-cleans-showcase .recent-showreels{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-recent-cleans-showcase .recent-showreels{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-standard-home .turnkey-standard-section{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-standard-home .turnkey-standard-section{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-standard-page .turnkey-standard-section{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-standard-page .turnkey-standard-section{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-contact-form-map .turnkey-contact-section{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-contact-form-map .turnkey-contact-section{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-contact-form-intro .turnkey-contact-section{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-contact-form-intro .turnkey-contact-section{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-process-steps .process-section{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-process-steps .process-section{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-coverage .coverage-section{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-coverage .coverage-section{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-service-rows .service-list{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-service-rows .service-list{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
html :is(#top,body) .cc-b.cc-b.cc-b-faq .faq-section{padding-top:var(--cc-pad)!important}
html :is(#top,body) .cc-b.cc-b.cc-b-faq .faq-section{padding-bottom:calc(var(--cc-pad) + var(--cc-edge-below))!important}
/* the old wave design lifted the contact heading by 22px (14px on phones); the rhythm padding replaces that */
html :is(#top,body) .cc-b.cc-b.cc-b-contact-form-map .turnkey-contact-heading{top:0!important}
