"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[235],{8871:(I,i,n)=>{n.d(i,{Z:()=>h});var e=n(6109),o=n(8102);const u=()=>e.createElement(o.q,{script:[{type:"text/javascript",innerHTML:g}]}),g=` document.addEventListener("DOMContentLoaded", (event) => { window.GeckoEngagementWidget={widgetId:"98108c8d-4ebe-43eb-b590-ecf0ff9eb4e5"}; }); (function (d) { "use strict"; var geckoScript = d.createElement("script"); geckoScript.id = "gecko-chat-script"; geckoScript.src = "https://widget.geckoengage.com/embed"; var scriptTags = d.getElementsByTagName("script")[0]; if (d.getElementById("gecko-chat-script")) { return; } scriptTags.parentNode.insertBefore(geckoScript, scriptTags); })(document) `,h=u},3964:(I,i,n)=>{n.d(i,{Z:()=>S,g:()=>f});var e=n(6109),o=n(3519),u=n(5492),g=n(689),h=n(1183);const s=({title:r,type:D,link:B,size:y})=>e.createElement(P,null,e.createElement(m,{"aria-hidden":!0,width:"1rem"}),e.createElement(C,null,e.createElement(l,{path:B,"aria-label":r},e.createElement(L,{as:"span"},r.replaceAll("-"," ").replaceAll("_"," "))),D&&e.createElement(v,{as:"span",$size:"small"}," ","(",D,y&&", "+y.value+y.unit,")"))),f=o.default.ul` display: flex; flex-direction: column; gap: ${r=>r.theme.spacing.s}; list-style: none; padding-left: 0; @media ${r=>r.theme.mq.min.tablet} { display: grid; grid-template-columns: repeat(2, 1fr); } @media ${r=>r.theme.mq.min.desktop} { grid-template-columns: repeat(3, 1fr); } `,l=(0,o.default)(g.Z)` display: block; `,C=o.default.div` display: flex; flex-direction: column; gap: ${r=>r.theme.spacing.xxxs}; `,P=o.default.li` display: flex; gap: ${r=>r.theme.spacing.xxs}; align-items: top; `,m=(0,o.default)(u.Ec)` color: ${r=>r.theme.colors.neutral.black}; flex-shrink: 0; width: 1.5rem; height: 1.5rem; `,L=(0,o.default)(h.ZP)` text-transform: capitalize; `,v=(0,o.default)(h.ZP)` text-transform: uppercase; `,S=s},7021:(I,i,n)=>{n.d(i,{Z:()=>K});var e=n(6109),o=n(3519),u=n(5492),g=n(4666),h=n(2361),s=n(6681),f=n(6043),l=n(3719),C=n(1679),P=n(1183);const m={search:"Search",programmes:{all:"Search our programmes",level:{globalCollege:"Search our Global College programmes",undergraduate:"Search our Undergraduate programmes",postgraduate:"Search our Postgraduate programmes",research:"Search our Research programmes"},delivery:{graduateApprenticeships:"Search our Graduate Apprenticeship programmes"},gscopes:{globalCollege:"globalcollege",undergraduate:"ug",postgraduate:"pg",research:"research",graduateApprenticeships:"ga"}}};var L=n(2294);const v=({level:a,school:A,global:W})=>{const O=(0,L.Z)(),R=(0,s.v9)(f.Kd)??"";let p=m.programmes.all;a&&(a==="Global College"?p=m.programmes.level.globalCollege:a==="Undergraduate"?p=m.programmes.level.undergraduate:a==="Postgraduate"?p=m.programmes.level.postgraduate:a==="Research"?p=m.programmes.level.research:a==="Graduate Apprenticeships"&&(p=m.programmes.delivery.graduateApprenticeships));let d;return R&&!W&&(d=R),a&&a==="Graduate Apprenticeships"&&(d?d+=",ga+":d="ga"),A&&(d?d+=`,${A}+`:d=A),e.createElement(S,{$brandEbs:O},e.createElement(h.H,null,e.createElement(r,{action:"https://search.hw.ac.uk/s/search.html"},e.createElement("input",{type:"hidden",name:"collection",value:"heriot-watt~sp-programmes"}),e.createElement("input",{type:"hidden",name:"profile",value:"programmes"}),a&&a!=="Graduate Apprenticeships"&&e.createElement("input",{type:"hidden",name:"f.Level|level",value:a}),d&&e.createElement("input",{type:"hidden",name:"gscope1",value:d}),e.createElement(D,{placeholder:p,name:"query",type:"search","aria-label":p}),!a&&e.createElement("select",{name:"f.Level|level","aria-label":l.OP.level},e.createElement("option",{value:""},"Select study level"),e.createElement("option",{value:l.RD.globalCollege},l.RD.globalCollege),e.createElement("option",{value:l.RD.undergraduate},l.RD.undergraduate),e.createElement("option",{value:l.RD.postgraduate},l.RD.postgraduate),e.createElement("option",{value:l.RD.research},l.RD.research)),e.createElement(B,{as:"button",type:"submit",$variant:O?"greenLight":"blueBright"},e.createElement(P.ZP,{as:"span"},m.search),e.createElement(y,{as:"span"},e.createElement(F,null))))))},S=(0,o.default)(h.Y)` background-color: ${a=>a.$brandEbs?a.theme.colors.blue.dark:a.theme.colors.blue.primary}; padding-top: ${a=>a.theme.spacing.l}; padding-bottom: ${a=>a.theme.spacing.l}; `,r=o.default.form` ${C.r} color: ${a=>a.theme.colors.neutral.white}; display: flex; flex-direction: column; gap: ${a=>a.theme.spacing.xs}; max-width: 60rem; @media ${a=>a.theme.mq.min.laptop} { flex-direction: row; gap: ${a=>a.theme.spacing.s}; } `,D=o.default.input` flex-grow: 1; `,B=(0,o.default)(g.ZP)` display: flex; align-items: center; gap: ${a=>a.theme.spacing.xs}; `,y=(0,o.default)(P.ZP)` display: inline-flex; `,F=(0,o.default)(u.L)` height: auto; width: 1.25rem; `,K=v},432:(I,i,n)=>{n.d(i,{a:()=>u,t:()=>o});var e=n(5631);const o={ZenInfo:(0,e.ZP)(()=>Promise.resolve().then(n.bind(n,7664)),{resolveComponent:g=>g.VersionInfo})},u=(0,e.ZP)(()=>Promise.all([n.e(841),n.e(191)]).then(n.bind(n,4929)))},6411:(I,i,n)=>{n.r(i),n.d(i,{default:()=>fe});var e=n(6109),o=n(432),u=n(8217),g=n(3794),h=n(958),s=n(1224),f=n(5884),l=n(3519),C=n(2397),P=n(2572),m=n(4069),L=n(4600),v=n(6076),S=n(1186),r=n(512),D=n(1183);const B={keyFact:"Key fact"},y=({content:t})=>t?e.createElement(F,null,e.createElement(f.ZP,{as:"h2",$size:"4 serif",$color:"black"},B.keyFact),e.createElement(D.ZP,{as:"p"},t)):null,F=l.default.div` display: flex; flex-direction: column; gap: ${t=>t.theme.spacing.s}; background: ${t=>t.theme.colors.orchil.shade}; padding: ${t=>t.theme.spacing.s} ${t=>t.theme.spacing.s} ${t=>t.theme.spacing.l} ${t=>t.theme.spacing.s}; `,K=y;var a=n(8871),A=n(6681),W=n(6442),O=n(4666),R=n(3238),p=n(6413),d=n(3327),ee=n(7021),te=n(878),ne=n(7330),ae=n(5964),le=n(2294),V=n(3964),oe=n(2356);const re=({mappedEntry:t})=>{const{title:c,description:M,breadcrumb:Z,theme:T,hero:E,introduction:U,content:b,contentComposerProps:Q,contact:x,keyFact:H,relatedDocuments:$,genericSectionText:N,searchBar:Y,testimonial:z,cardRow:G}=t||{},k=(0,A.v9)(W.Fx),ve=k&&k.startsWith("/study")||!1,w=!!($&&$.content?.length),q=!!(x&&x.content?.length),_=!!(w&&q);return e.createElement(me,{theme:T},e.createElement(h.Z,{pageTitle:c,ogImage:E.image?.src&&m.ZS+E.image?.src,ogImageAltText:E.image?.alt&&E.image?.alt,description:M}),Z?e.createElement(L.Z,{...Z,padding:T==="column"?"wide":"default"}):null,E?e.createElement(pe,{...E,cta:E.cta}):null,e.createElement(ue,{theme:T},!E&&c||U||b?e.createElement(s.ZP,{id:"introduction",padding:!1,condensed:!0},e.createElement(ce,null,!E&&c&&e.createElement(f.ZP,{as:"h1",$size:"1"},c),U?e.createElement(X,null,e.createElement(u.ZP,{data:U})):null,b?e.createElement(X,null,e.createElement(u.ZP,{data:b})):null)):null,N?e.createElement(s.ZP,{id:"genericSectionText",...N,variant:"feature",padding:!1},e.createElement(ae.Lu,{text:N.text})):void 0,Y&&e.createElement(ee.Z,{...Y}),G&&G.cards?e.createElement(s.ZP,{...G.section,background:"darkBlue",width:!1,padding:!1,variant:"feature",id:"cardGrid"},e.createElement(te.Z,{cardVariant:"primary",cardsOnly:!0,forceLength:!0,...(0,ne.J)(G.cards)})):null,z?.content?e.createElement(s.ZP,{...v.iP,...z.section,id:"testimonial"},e.createElement(d.Z,{...z.content,variant:"darkBlue"})):null,H&&e.createElement(s.ZP,{...H.section,...v._F,id:"keyFact"},e.createElement(S.Ii,null,e.createElement(K,{...H.content}))),w||q?e.createElement(se,null,x&&x.content?.length?e.createElement(s.ZP,{...x.section,...v.nu,id:"contact",heading:"Contact"},_?e.createElement(j,{contacts:x.content}):e.createElement(S.Ii,null,e.createElement(j,{contacts:x.content}))):null,$&&$.content?.length?e.createElement(s.ZP,{...$.section,...v.nu,id:"relatedDocuments",heading:oe.u.relatedDocuments},_?e.createElement(Ee,null,e.createElement(J,{documents:$.content})):e.createElement(V.g,null,e.createElement(J,{documents:$.content}))):null):null,Q?e.createElement(o.a,{...Q}):null),ve&&e.createElement(a.Z,null))},ce=l.default.div` display: flex; flex-direction: column; gap: ${t=>t.theme.spacing.l}; `,X=l.default.div` display: flex; flex-direction: column; gap: ${t=>t.theme.spacing.xs}; @media ${t=>t.theme.mq.min.desktop} { gap: ${t=>t.theme.spacing.s}; } `,ye=l.default.div` display: flex; flex-direction: column; gap: ${t=>t.theme.spacing.s}; `,se=l.default.div` @media ${t=>t.theme.mq.min.desktop} { border-top: ${t=>t.theme.radius.xs} solid ${t=>t.theme.colors.grey.light}; display: flex; flex-direction: row; gap: ${t=>t.theme.spacing.s}; > * { flex: 1; } & section { // remove the featured generic section border border-top: none !important; } } `,me=({children:t,theme:c="wide"})=>c==="column"?e.createElement(de,null,e.createElement(ie,null,t)):e.createElement(g.Z,null,t),de=(0,l.default)(g.Z)` background: ${t=>t.theme.colors.grey.light}; `,ie=l.default.div` max-width: ${t=>t.theme.grid.default.width}; margin-left: auto; margin-right: auto; background: ${t=>t.theme.colors.neutral.white}; `,ue=({children:t,theme:c="wide"})=>c==="column"?e.createElement(ge,null,t):e.createElement(e.Fragment,null,t),ge=l.default.div` @media ${t=>t.theme.mq.min.laptop} { padding-left: calc(${t=>t.theme.spacing.l} - ${t=>t.theme.spacing.xs}); padding-right: calc(${t=>t.theme.spacing.l} - ${t=>t.theme.spacing.xs}); /* flex column and order to move related content to bottom - disabled as pulls all card rows down until we can isolate Related only */ /* display: flex; flex-direction: column; > div:has(div > section > div > div > h2#cardGrid) { order: 10; } */ } `,pe=({_type:t,image:c,heading:M,cta:Z})=>{const T=(0,le.Z)();return t==="heroBannerSimple"?e.createElement(P.Z,{image:c},e.createElement(f.ZP,{as:"h1",$size:"1"},M)):e.createElement(C.Z,{image:c},e.createElement(R.F8,null,e.createElement(f.ZP,{as:"h1",$size:"1",$color:"white"},M),Z?e.createElement(R.if,null,e.createElement(he,{path:Z.path,$variant:T?"greenLight":"whiteOutline"},Z.label)):null))},he=(0,l.default)(O.ZP)` @media ${t=>t.theme.mq.min.tablet} { // as button is on light background need to convert whiteOutline to Blue variant ${t=>t.$variant==="whiteOutline"&&O.PQ} box-shadow: unset; } `,j=({contacts:t})=>t.length?e.createElement(e.Fragment,null,t.map(c=>e.createElement(r.Z,{key:c.name,...c,...p.EH}))):null,J=({documents:t})=>t.length?e.createElement(e.Fragment,null,t.map(c=>e.createElement(V.Z,{key:c.link,...c,...p.EH}))):null,Ee=l.default.ul` list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: ${t=>t.theme.spacing.xs}; `,fe=re}}]);