"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[0],{283:function(e,t,r){r.d(t,{Z:function(){return E}});var l=r(7462),a=r(3366),o=r(7294),n=r(6010),s=r(2511),c=r(8626),m=r(9524),i="footerLogoLink_qW4Z",f="footerCopyright_2yvt",u=r(4087),_=["to","href","label","prependBaseUrlToHref"];function h(e){var t=e.to,r=e.href,n=e.label,c=e.prependBaseUrlToHref,i=(0,a.Z)(e,_),f=(0,m.Z)(t),u=(0,m.Z)(r,{forcePrependBaseUrl:!0});return o.createElement(s.Z,(0,l.Z)({className:"footer__link-item"},r?{href:c?u:r}:{to:f},i),n)}var d=function(e){var t=e.sources,r=e.alt;return o.createElement(u.Z,{className:"footer__logo",alt:r,sources:t})};var E=function(){var e=(0,c.LU)().footer,t=e||{},r=t.copyright,l=t.links,a=void 0===l?[]:l,u=t.logo,_=void 0===u?{}:u,E={light:(0,m.Z)(_.src),dark:(0,m.Z)(_.srcDark||_.src)};return e?o.createElement("footer",{className:(0,n.Z)("footer",{"footer--dark":"dark"===e.style})},o.createElement("div",{className:"container"},a&&a.length>0&&o.createElement("div",{className:"row footer__links"},a.map((function(e,t){return o.createElement("div",{key:t,className:"col footer__col"},null!=e.title?o.createElement("h4",{className:"footer__title"},e.title):null,null!=e.items&&Array.isArray(e.items)&&e.items.length>0?o.createElement("ul",{className:"footer__items"},e.items.map((function(e,t){return e.html?o.createElement("li",{key:t,className:"footer__item",dangerouslySetInnerHTML:{__html:e.html}}):o.createElement("li",{key:e.href||e.to,className:"footer__item"},o.createElement(h,e))}))):null)}))),(_||r)&&o.createElement("div",{className:"footer__bottom text--center"},_&&(_.src||_.srcDark)&&o.createElement("div",{className:"margin-bottom--sm"},_.href?o.createElement(s.Z,{href:_.href,className:i},o.createElement(d,{alt:_.alt,sources:E})):o.createElement(d,{alt:_.alt,sources:E})),r?o.createElement("div",{className:f,dangerouslySetInnerHTML:{__html:r}}):null))):null}}}]);