1"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[548],{7643(T,m,o){o.d(m,{A:()=>f});var n=o(8322),a=o(4500),c=o(8399),h=o(8641);const g=(0,a.AH)` 2 color: ${e=>e.theme.colors.neutral.white}; 3 &:visited { 4 color: ${e=>e.theme.colors.neutral.white}; 5 } 6 background-color: ${e=>e.theme.colors.primary.carmine}; 7 &:hover { 8 background-color: ${e=>e.theme.colors.primary.ruby}; 9 } 10`,p=(0,a.AH)` 11 color: ${e=>e.theme.colors.neutral.black}; 12 &:visited { 13 color: ${e=>e.theme.colors.neutral.black}; 14 } 15 background-color: transparent; 16 box-shadow: inset 0 0 0 0.125rem ${e=>e.theme.colors.neutral.black}; 17 &:hover, 18 &:active { 19 color: ${e=>e.theme.colors.neutral.white}; 20 &:visited { 21 color: ${e=>e.theme.colors.neutral.white}; 22 } 23 background-color: ${e=>e.theme.colors.neutral.black}; 24 } 25`,E=(0,a.AH)` 26 color: ${e=>e.theme.colors.neutral.white}; 27 &:visited { 28 color: ${e=>e.theme.colors.neutral.white}; 29 } 30 background-color: transparent; 31 box-shadow: inset 0 0 0 0.125rem ${e=>e.theme.colors.neutral.white}; 32 &:hover, 33 &:active { 34 color: ${e=>e.theme.colors.neutral.black}; 35 &:visited { 36 color: ${e=>e.theme.colors.neutral.black}; 37 } 38 background-color: ${e=>e.theme.colors.neutral.white}; 39 box-shadow: none; 40 } 41`,y=(0,a.AH)` 42 color: ${e=>e.theme.colors.neutral.black}; 43 &:visited { 44 color: ${e=>e.theme.colors.neutral.black}; 45 } 46 background-color: transparent; 47 &:hover, 48 &:active { 49 color: ${e=>e.theme.colors.neutral.white}; 50 &:visited { 51 color: ${e=>e.theme.colors.neutral.white}; 52 } 53 background-color: ${e=>e.theme.colors.neutral["grey-dark"]}; 54 } 55`,l=(0,a.AH)` 56 padding: ${e=>e.theme.spacing.xxxs} ${e=>e.theme.spacing.xs}; 57 @media ${e=>e.theme.mq.min.tablet} { 58 padding: ${e=>e.theme.spacing.xxs} ${e=>e.theme.spacing.xs}; 59 } 60`,A=(0,a.AH)` 61 width: 3rem; 62 height: 3rem; 63 @media ${e=>e.theme.mq.min.tablet} { 64 width: 3.5rem; 65 height: 3.5rem; 66 } 67`,f=(0,a.Ay)(({children:e,className:D,path:C,download:P,openInNewWindow:O,onClick:S})=>n.createElement(c.Ay,{className:D,path:C,download:P,openInNewWindow:O,onClick:S},e))` 68 // layout 69 display: inline-flex; 70 justify-content: center; 71 align-items: center; 72 gap: ${e=>e.theme.spacing.xxs}; 73 74 // global styles 75 border-radius: ${e=>e.theme.spacing.l}; 76 outline-offset: 0.2em; 77 78 // font sizing 79 ${h.UA}; 80 @media ${e=>e.theme.mq.min.tablet} { 81 ${h.Pr}; 82 } 83 84 // link style resets 85 text-decoration: none; 86 87 // button style resets 88 appearance: none; 89 border: none; 90 91 // variants 92 ${e=>(!e.$variant||e.$variant==="primary")&&g}; // default 93 ${e=>e.$variant==="secondary"&&p}; 94 ${e=>e.$variant==="secondaryNegative"&&E}; 95 ${e=>e.$variant==="tertiary"&&y}; 96 97 // type styles 98 ${e=>(!e.$type||e.$type==="text")&&l}; // default 99 ${e=>e.$type==="icon"&&A}; 100`},5425(T,m,o){o.d(m,{Dk:()=>a,No:()=>h,TJ:()=>y,Tp:()=>l,VK:()=>c,lZ:()=>E,pV:()=>p,yj:()=>g});var n=o(7168);const a=(0,n.Ay)(()=>o.e(905).then(o.bind(o,4423))),c=(0,n.Ay)(()=>o.e(823).then(o.bind(o,1975))),h=(0,n.Ay)(()=>o.e(780).then(o.bind(o,7747))),g=(0,n.Ay)(()=>o.e(411).then(o.bind(o,4785))),p=(0,n.Ay)(()=>o.e(906).then(o.bind(o,487))),E=(0,n.Ay)(()=>o.e(493).then(o.bind(o,3112))),y=(0,n.Ay)(()=>o.e(884).then(o.bind(o,355))),l=(0,n.Ay)(()=>o.e(196).then(o.bind(o,8437)))},5204(T,m,o){o.d(m,{A:()=>U});var n=o(8322),a=o(4500),c=o(7643),h=o(8399);const g=a.Ay.div` 101 position: relative; 102 height: 52.75rem; 103 width: 100%; 104 overflow: hidden; 105 margin-top: -150px; 106 107 @media ${t=>t.theme.mq.min.tablet} { 108 margin-top: -210px; 109 height: 63rem; 110 } 111`,p=a.Ay.div` 112 height: 100%; 113 width: 100%; 114 position: relative; 115 display: none; 116 117 &.active { 118 display: inline-block; 119 } 120 121 img, 122 video { 123 position: absolute; 124 width: 100%; 125 height: 100%; 126 object-fit: cover; 127 } 128`,E=a.Ay.div` 129 position: absolute; 130 display: flex; 131 flex-direction: row; 132 flex-wrap: wrap; 133 justify-content: center; 134 align-items: center; 135 z-index: 99; 136 gap: ${t=>t.theme.spacing.xs}; 137 bottom: ${t=>t.theme.spacing.l}; 138 left: 50%; 139 transform: translate(-50%, -50%); 140 @media ${t=>t.theme.mq.min.tablet} { 141 bottom: ${t=>t.theme.spacing.superxl}; 142 } 143`,y=a.Ay.button` 144 display: flex; 145 width: fit-content; 146 align-items: center; 147 border: 0; 148 background-color: transparent; 149 padding: 0; 150 cursor: pointer; 151 152 svg { 153 width: ${t=>t.theme.spacing.xs}; 154 height: ${t=>t.theme.spacing.xs}; 155 156 path { 157 fill: ${t=>t.theme.colors.overlay["color-overlay-light-60"]}; /* 60% opaque white */ 158 } 159 } 160 161 &:hover svg path { 162 fill: ${t=>t.theme.colors.overlay["color-overlay-light-80"]}; /* 80% opaque white */ 163 } 164 165 &:focus { 166 outline: 2px solid ${t=>t.theme.colors.ui.focus}; 167 } 168`,l=a.Ay.div` 169 display: flex; 170 flex-direction: row; 171 justify-content: space-between; 172 gap: ${t=>t.theme.spacing.xs}; 173`,A=a.Ay.button` 174 height: 0.75rem; 175 width: 0.75rem; 176 padding: 0; 177 border: none; 178 background-color: ${t=>t.theme.colors.overlay["color-overlay-light-60"]}; 179 border-radius: 50%; 180 181 &:hover { 182 background-color: ${t=>t.theme.colors.overlay["color-overlay-light-80"]}; 183 } 184 185 &.active { 186 background-color: ${t=>t.theme.colors.neutral.white}; 187 } 188 189 &:focus, 190 .active { 191 outline: 2px solid ${t=>t.theme.colors.ui.focus}; 192 } 193`,x=(0,a.Ay)(h.Ay)` 194 display: flex; 195 width: fit-content; 196 align-items: center; 197 border: 0; 198 background-color: transparent; 199 padding: 0; 200 cursor: pointer; 201 202 svg { 203 width: ${t=>t.theme.spacing.xs}; 204 height: ${t=>t.theme.spacing.xs}; 205 206 path { 207 fill: ${t=>t.theme.colors.overlay["color-overlay-light-60"]}; /* 60% opaque white */ 208 } 209 } 210 211 &:hover svg path { 212 fill: ${t=>t.theme.colors.overlay["color-overlay-light-80"]}; /* 80% opaque white */ 213 } 214 215 &:focus { 216 outline: 2px solid ${t=>t.theme.colors.ui.focus}; 217 } 218`,f=a.Ay.div` 219 position: absolute; 220 top: 0; 221 left: 0; 222 width: 100%; 223 height: 100%; 224 background: linear-gradient( 225 180deg, 226 rgba(0, 0, 0, 0.75) 0%, 227 rgba(0, 0, 0, 0) 42.76% 228 ), 229 linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%); 230 z-index: 5; 231 display: flex; 232 justify-content: center; 233 align-items: center; 234`,e=a.Ay.div` 235 color: ${t=>t.theme.colors.neutral.white}; 236 display: flex; 237 flex-direction: column; 238 align-items: center; 239 text-align: center; 240 gap: ${t=>t.theme.spacing.s}; 241 padding: 0 ${t=>t.theme.spacing.xs}; 242`,D=(0,a.Ay)(c.A)` 243 margin-top: ${t=>t.theme.spacing.xxl}; 244 width: fit-content; 245`;var C=o(1742),P=o(5617),O=o(3773);const b=({playPauseSlide:t,isPlaying:s,activeIndex:r,onclick:d,mediaData:$})=>{const v=$[r],i=B=>{B.preventDefault(),t();const u=document.querySelector(".active video");u&&(u.paused||u.pause())};return n.createElement(E,null,$.length>1&&n.createElement(n.Fragment,null,n.createElement(l,null,$.map((B,u)=>n.createElement(A,{key:u,className:`${r===u?"active":"dot"}`,onClick:()=>d(u)},n.createElement(P.A,null,`This is a dot to navigate to slide ${u+1}`)))),n.createElement(y,{onClick:i},s?n.createElement(C.E$,null):n.createElement(C.ud,null),n.createElement(P.A,null,"play or pause the slideshow"))),v?.fullVideoLink?.url&&n.createElement(x,{path:v?.fullVideoLink?.url,title:`Go to ${v?.fullVideoLink?.label}`},n.createElement(O.A,null)))},L=({src:t,activeIndex:s,index:r,mediaData:d})=>{const $=(0,n.useRef)([]);return(0,n.useEffect)(()=>{(async()=>{const i=$.current[s];if(i){i.muted=!0,i.currentTime=0;try{await i.play()}catch(I){console.error("Error playing video:",I)}const u=setTimeout(()=>{i.paused||i.pause()},8e3);return()=>{i.paused||i.pause(),clearTimeout(u)}}})()},[s,d]),n.createElement("video",{ref:v=>
245$.current[r]=v,src:t,autoPlay:r===s,playsInline:!0,muted:!0,preload:"none","aria-hidden":!0,role:"img"})};var M=o(8641),R=o(2825);const K=({activeIndex:t,mediaData:s})=>n.createElement(n.Fragment,null,s.map((r,d)=>n.createElement(p,{key:d,className:d===t?"active":""},r?.image?.src&&n.createElement("img",{src:r?.image?.src,alt:r?.image?.alt}),r?.videoClip?.src&&n.createElement(L,{src:r?.videoClip?.src,activeIndex:t,index:d,mediaData:s}),n.createElement(f,null,n.createElement(R.A,{paddingTop:"none",paddingBottom:"none"},n.createElement(e,null,n.createElement(M.Ay,{as:"p",$size:"1",$capitalise:"uppercase",$color:"white","aria-hidden":!0},r?.heading),n.createElement(M.Ay,{as:"p",$size:"2",$capitalise:"uppercase",$color:"white"},r?.description),r?.callToAction?.url&&n.createElement(D,{path:r?.callToAction?.url},r?.callToAction?.label))))))),U=({mediaData:t})=>{const[s,r]=(0,n.useState)(0),[d,$]=(0,n.useState)(!0),v=t.length-1;return(0,n.useEffect)(()=>{let i;return d&&(i=setInterval(()=>{r(s===v?0:s+1)},8e3)),()=>clearInterval(i)},[s,v,d]),n.createElement(g,null,n.createElement(K,{activeIndex:s,mediaData:t}),n.createElement(b,{isPlaying:d,playPauseSlide:()=>$(!d),activeIndex:s,mediaData:t,onclick:i=>r(i)}))}},2825(T,m,o){o.d(m,{A:()=>y});var n=o(8322),a=o(4500),c=o(8559);const h=({children:l,paddingTop:A="default",paddingBottom:x="default",className:f})=>n.createElement(E,{$paddingTop:A,$paddingBottom:x,className:f},n.createElement(c.D8,null,l)),g=(0,a.AH)` 246 padding-top: ${l=>l.theme.spacing.l}; // default 247 @media ${l=>l.theme.mq.min.laptop} { 248 padding-top: ${l=>l.theme.spacing.xxl}; // default 249 padding-top: ${l=>l.$paddingTop==="narrow"&&l.theme.spacing.l}; 250 } 251`,p=(0,a.AH)` 252 padding-bottom: ${l=>l.theme.spacing.l}; 253 @media ${l=>l.theme.mq.min.laptop} { 254 padding-bottom: ${l=>l.theme.spacing.xxl}; 255 } 256`,E=(0,a.Ay)(c.R4)` 257 ${l=>l.$paddingTop!=="none"&&g}; 258 259 ${l=>l.$paddingBottom!=="none"&&p}; 260`,y=h},4709(T,m,o){o.r(m),o.d(m,{default:()=>y});var n=o(8322),a=o(2747),c=o(4500),h=o(5425),g=o(5204),p=o(5617);const y=({mappedEntry:f})=>{const{meta:e,title:D,composer:C,videoCarousel:P}=f||{};return n.createElement(a.A,{meta:e},n.createElement(p.A,null,n.createElement("h1",null,D)),P&&n.createElement(g.A,{...P}),n.createElement(x,null,n.createElement(l,null,n.createElement(A,null,C&&n.createElement(h.Dk,{items:C})))))},l=c.Ay.div``,A=c.Ay.div` 261 width: 100%; 262 overflow: auto; 263`,x=c.Ay.div``}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.