.elementor-1995 .elementor-element.elementor-element-d16d8b2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-1995 .elementor-element.elementor-element-09dcefa .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-1995 .elementor-element.elementor-element-09dcefa .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-1995 .elementor-element.elementor-element-09dcefa{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1995 .elementor-element.elementor-element-09dcefa .elementor-icon-list-text{transition:color 0.3s;}.elementor-1995 .elementor-element.elementor-element-26fdcc2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1995 .elementor-element.elementor-element-5bb88abe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1995 .elementor-element.elementor-element-8aa3fa0{--display:flex;}.elementor-1995 .elementor-element.elementor-element-46e3995{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1995 .elementor-element.elementor-element-2971bae{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS *//* gallery-page */
#gal-hero,#gal-main,#gal-strip,#gal-cta{font-family:'Plus Jakarta Sans',sans-serif}
#gal-hero{position:relative;overflow:hidden;padding:120px 24px 170px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 24px),linear-gradient(135deg,rgba(11,27,51,.95) 0%,rgba(16,40,77,.9) 55%,rgba(22,58,107,.84) 100%),url(https://waroofing.co.uk/wp-content/uploads/2026/10/williams-roofing-hero.webp) center/cover;clip-path:polygon(0 0,100% 0,100% 84%,0 100%)}
#gal-hero>.e-con-inner{position:relative;z-index:2;gap:0}
#gal-hero::before{content:"";position:absolute;width:560px;height:560px;right:-140px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(200,241,105,.38),transparent 66%);animation:galFloat 9s ease-in-out infinite;pointer-events:none}
#gal-hero::after{content:"";position:absolute;width:680px;height:680px;left:-220px;bottom:-300px;border-radius:50%;background:radial-gradient(circle,rgba(10,132,214,.5),transparent 66%);animation:galFloat 12s ease-in-out infinite reverse;pointer-events:none}
@keyframes galFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,24px) scale(1.12)}}
@keyframes galUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes galShift{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.gal-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:14px;color:#C8F169;font:800 14px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.22em;margin-bottom:22px}
.gal-eyebrow .elementor-heading-title::before{content:"";width:46px;height:3px;border-radius:3px;background:linear-gradient(90deg,#C8F169,#0A84D6)}
.gal-h1 .elementor-heading-title{color:#fff;font:800 clamp(42px,6.4vw,84px)/1.03 'Plus Jakarta Sans',sans-serif;letter-spacing:-.025em;margin:0 0 24px;max-width:900px}
.gal-grad{background:linear-gradient(90deg,#C8F169,#5fd0ff,#0A84D6,#C8F169);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:galShift 5s linear infinite}
.gal-intro,.gal-intro p{color:rgba(255,255,255,.84);font:500 clamp(17px,1.5vw,20px)/1.65 'Plus Jakarta Sans',sans-serif;max-width:660px;margin:0 0 26px}
.gal-badges .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:12px}
.gal-badges .elementor-icon-list-item{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:10px 18px;transition:transform .3s,background .3s,border-color .3s}
.gal-badges .elementor-icon-list-item:hover{transform:translateY(-3px);background:rgba(200,241,105,.16);border-color:rgba(200,241,105,.55)}
.gal-badges .elementor-icon-list-text{color:#fff;font:700 14px/1.2 'Plus Jakarta Sans',sans-serif}
.gal-badges .elementor-icon-list-icon i{color:#C8F169;font-size:14px}
.gal-badges .elementor-icon-list-icon svg{fill:#C8F169;width:14px}
.gal-btns{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;margin-top:18px;padding:0}
.gal-btn-main .elementor-button{position:relative;overflow:hidden;background:#C8F169;color:#0B1B33;font:800 17px/1 'Plus Jakarta Sans',sans-serif;padding:20px 34px;border-radius:16px;box-shadow:0 14px 34px rgba(200,241,105,.35);animation:galPulse 2.8s ease-in-out infinite;transition:transform .3s}
.gal-btn-main .elementor-button:hover{transform:translateY(-4px) scale(1.03);color:#0B1B33}
.gal-btn-main .elementor-button::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg);animation:galShine 3.6s ease-in-out infinite}
@keyframes galShine{0%,60%{left:-70%}100%{left:130%}}
@keyframes galPulse{0%,100%{box-shadow:0 14px 34px rgba(200,241,105,.3),0 0 0 0 rgba(200,241,105,.5)}50%{box-shadow:0 14px 34px rgba(200,241,105,.45),0 0 0 14px rgba(200,241,105,0)}}
.gal-btn-ghost .elementor-button{background:rgba(255,255,255,.06);color:#fff;font:800 17px/1 'Plus Jakarta Sans',sans-serif;padding:19px 32px;border-radius:16px;border:2px solid rgba(255,255,255,.55);backdrop-filter:blur(6px);transition:all .3s}
.gal-btn-ghost .elementor-button:hover{background:#fff;color:#0B1B33;border-color:#fff;transform:translateY(-4px)}
#gal-hero .elementor-widget,#gal-hero .gal-btns{animation:galUp .9s cubic-bezier(.2,.8,.2,1) both}
#gal-hero .elementor-widget:nth-child(2){animation-delay:.12s}#gal-hero .elementor-widget:nth-child(3){animation-delay:.24s}#gal-hero .elementor-widget:nth-child(4){animation-delay:.36s}#gal-hero .gal-btns{animation-delay:.5s}
#gal-main{position:relative;z-index:2;padding:10px 24px 110px;margin-top:-30px;background:radial-gradient(circle,#d7e3f4 1.2px,transparent 1.4px) 0 0/26px 26px}
#gal-main>.e-con-inner{gap:0}
.gal-eyebrow2 .elementor-heading-title{text-align:center;color:#0A84D6;font:800 14px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.22em;margin-bottom:16px}
.gal-h2 .elementor-heading-title{text-align:center;color:#0B1B33;font:800 clamp(32px,4.2vw,52px)/1.1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em;margin:0 0 14px}
.gal-sub,.gal-sub p{text-align:center;color:#4A5568;font:500 18px/1.6 'Plus Jakarta Sans',sans-serif;margin:0 0 34px}
#gal-main .wwm-gal__filters,#gal-main .wwm-gal__bar{justify-content:center}
#gal-main .wwm-gal__item{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
#gal-main .wwm-gal__item:hover{transform:translateY(-8px) rotate(-.4deg);box-shadow:0 26px 50px rgba(10,132,214,.28),0 8px 18px rgba(11,27,51,.2)}
#gal-strip{position:relative;overflow:hidden;padding:46px 0;margin:-10px 0 0;background:linear-gradient(90deg,#0B1B33,#10284d 55%,#163a6b);clip-path:polygon(0 14%,100% 0,100% 86%,0 100%)}
#gal-strip .elementor-widget-container{overflow:hidden}
.gal-track{display:flex;width:max-content;animation:galMarq 38s linear infinite}
.gal-track span{display:inline-flex;align-items:center;color:#fff;font:800 clamp(22px,3vw,38px)/1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.01em;padding:0 22px;white-space:nowrap}
.gal-track span::after{content:"";width:12px;height:12px;margin-left:44px;border-radius:50%;background:#C8F169;box-shadow:0 0 18px rgba(200,241,105,.8)}
@keyframes galMarq{to{transform:translateX(-50%)}}
#gal-strip:hover .gal-track{animation-play-state:paused}
#gal-cta{position:relative;overflow:hidden;padding:150px 24px 120px;margin-top:-40px;text-align:center;background:linear-gradient(135deg,rgba(11,27,51,.94),rgba(16,40,77,.9) 60%,rgba(22,58,107,.86)),url(https://waroofing.co.uk/wp-content/uploads/2026/10/williams-roofing-hero.webp) center/cover;clip-path:polygon(0 7%,100% 0,100% 100%,0 100%)}
#gal-cta>.e-con-inner{position:relative;z-index:2;align-items:center;gap:0}
#gal-cta::before{content:"";position:absolute;width:520px;height:520px;left:-120px;top:-60px;border-radius:50%;background:radial-gradient(circle,rgba(10,132,214,.5),transparent 66%);animation:galFloat 10s ease-in-out infinite;pointer-events:none}
#gal-cta::after{content:"";position:absolute;width:520px;height:520px;right:-120px;bottom:-200px;border-radius:50%;background:radial-gradient(circle,rgba(200,241,105,.34),transparent 66%);animation:galFloat 12s ease-in-out infinite reverse;pointer-events:none}
.gal-cta .gal-eyebrow .elementor-heading-title{justify-content:center}
.gal-cta .gal-cta-h .elementor-heading-title{color:#fff}
.gal-cta .gal-cta-p,.gal-cta .gal-cta-p p{margin-left:auto;margin-right:auto;text-align:center;color:rgba(255,255,255,.84)}
.gal-cta .gal-btns{justify-content:center}
@media(max-width:767px){#gal-hero{padding:80px 20px 120px;clip-path:polygon(0 0,100% 0,100% 93%,0 100%)}#gal-main{padding:10px 16px 80px}#gal-strip{padding:34px 0}#gal-cta{padding:110px 20px 80px;clip-path:polygon(0 4%,100% 0,100% 100%,0 100%)}.gal-btns{flex-direction:column;align-items:stretch}.gal-btn-main .elementor-button,.gal-btn-ghost .elementor-button{width:100%;justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){#gal-hero *,#gal-cta *,.gal-track,.gal-btn-main .elementor-button{animation:none!important}}
/* gallery-page-b */
.elementor .gal-btn-main .elementor-button.elementor-button{background:#C8F169!important;background-color:#C8F169!important;color:#0B1B33!important;border:0!important}
.elementor .gal-btn-ghost .elementor-button.elementor-button{background:rgba(255,255,255,.06)!important;background-color:rgba(255,255,255,.06)!important;color:#fff!important;border:2px solid rgba(255,255,255,.55)!important}
.elementor .gal-btn-ghost .elementor-button.elementor-button:hover{background:#fff!important;background-color:#fff!important;color:#0B1B33!important;border-color:#fff!important}
.elementor .gal-btn-main .elementor-button.elementor-button:hover{background:#d8f98a!important;color:#0B1B33!important}
.gal-btn-main .elementor-button-text,.gal-btn-ghost .elementor-button-text{color:inherit!important}

/* gallery-page-c */
.elementor .gal-h1 .elementor-heading-title{color:#fff!important;font-family:'Plus Jakarta Sans',sans-serif!important;font-weight:800!important;-webkit-text-fill-color:#fff}
.elementor .gal-h1 .gal-grad{-webkit-text-fill-color:transparent!important;color:transparent!important}
.elementor .gal-h2 .elementor-heading-title{color:#0B1B33!important;font-family:'Plus Jakarta Sans',sans-serif!important;font-weight:800!important;-webkit-text-fill-color:#0B1B33}
.elementor .gal-cta-h .elementor-heading-title{color:#fff!important;-webkit-text-fill-color:#fff}
.elementor .gal-cta-h .gal-grad{-webkit-text-fill-color:transparent!important;color:transparent!important}
.elementor .gal-eyebrow .elementor-heading-title{color:#C8F169!important;font-family:'Plus Jakarta Sans',sans-serif!important}
.elementor .gal-eyebrow2 .elementor-heading-title{color:#0A84D6!important;font-family:'Plus Jakarta Sans',sans-serif!important}
.elementor .gal-intro,.elementor .gal-intro p{color:rgba(255,255,255,.86)!important;font-family:'Plus Jakarta Sans',sans-serif!important}
.elementor .gal-sub,.elementor .gal-sub p{color:#4A5568!important;font-family:'Plus Jakarta Sans',sans-serif!important}
.elementor .gal-btn-main .elementor-button,.elementor .gal-btn-ghost .elementor-button{font-family:'Plus Jakarta Sans',sans-serif!important}

/* gallery-page-d */
.elementor .gal-h1 .elementor-heading-title{max-width:1100px}
.elementor .gal-badges .elementor-icon-list-text,.elementor .gal-badges .elementor-icon-list-text a{color:#fff!important;font-family:'Plus Jakarta Sans',sans-serif!important}
.elementor .gal-badges .elementor-icon-list-icon i,.elementor .gal-badges .elementor-icon-list-icon svg{color:#C8F169!important;fill:#C8F169!important}/* End custom CSS */