@nationalarchives/frontend 0.1.20-prerelease → 0.1.22-prerelease

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/README.md +1 -1
  2. package/govuk-prototype-kit.config.json +7 -2
  3. package/nationalarchives/_prototype-kit.scss +16 -0
  4. package/nationalarchives/all.css +3 -3
  5. package/nationalarchives/all.css.map +1 -1
  6. package/nationalarchives/all.js +1 -1
  7. package/nationalarchives/all.js.map +1 -1
  8. package/nationalarchives/all.mjs +17 -10
  9. package/nationalarchives/all.scss +1 -5
  10. package/nationalarchives/assets/images/favicon.ico +0 -0
  11. package/nationalarchives/assets/images/mask-icon.svg +17 -5
  12. package/nationalarchives/assets/images/mstile-150x150.png +0 -0
  13. package/nationalarchives/components/_index.scss +1 -0
  14. package/nationalarchives/components/breadcrumbs/breadcrumbs.css +1 -1
  15. package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
  16. package/nationalarchives/components/breadcrumbs/breadcrumbs.js +1 -1
  17. package/nationalarchives/components/breadcrumbs/breadcrumbs.js.map +1 -1
  18. package/nationalarchives/components/breadcrumbs/breadcrumbs.mjs +5 -15
  19. package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +12 -4
  20. package/nationalarchives/components/breadcrumbs/breadcrumbs.stories.js +64 -0
  21. package/nationalarchives/components/breadcrumbs/fixtures.json +2 -2
  22. package/nationalarchives/components/breadcrumbs/template.njk +11 -15
  23. package/nationalarchives/components/button/_button-group.scss +1 -1
  24. package/nationalarchives/components/button/button.css +1 -13
  25. package/nationalarchives/components/button/button.css.map +1 -1
  26. package/nationalarchives/components/button/button.scss +24 -6
  27. package/nationalarchives/components/card/card.css +1 -13
  28. package/nationalarchives/components/card/card.css.map +1 -1
  29. package/nationalarchives/components/card/card.scss +52 -7
  30. package/nationalarchives/components/card/card.stories.js +78 -36
  31. package/nationalarchives/components/card/fixtures.json +40 -16
  32. package/nationalarchives/components/card/macro-options.json +26 -0
  33. package/nationalarchives/components/card/template.njk +38 -26
  34. package/nationalarchives/components/cookie-banner/cookie-banner.css +1 -13
  35. package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -1
  36. package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
  37. package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
  38. package/nationalarchives/components/cookie-banner/cookie-banner.mjs +15 -7
  39. package/nationalarchives/components/cookie-banner/cookie-banner.scss +9 -1
  40. package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +23 -10
  41. package/nationalarchives/components/cookie-banner/macro-options.json +1 -1
  42. package/nationalarchives/components/cookie-banner/template.njk +4 -4
  43. package/nationalarchives/components/filters/filters.css +1 -1
  44. package/nationalarchives/components/filters/filters.css.map +1 -1
  45. package/nationalarchives/components/filters/filters.scss +2 -2
  46. package/nationalarchives/components/footer/fixtures.json +1 -1
  47. package/nationalarchives/components/footer/footer.css +1 -13
  48. package/nationalarchives/components/footer/footer.css.map +1 -1
  49. package/nationalarchives/components/footer/footer.scss +8 -55
  50. package/nationalarchives/components/footer/footer.stories.js +1 -1
  51. package/nationalarchives/components/footer/template.njk +16 -14
  52. package/nationalarchives/components/gallery/gallery.css +1 -13
  53. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  54. package/nationalarchives/components/gallery/template.njk +2 -2
  55. package/nationalarchives/components/grid/grid.css +1 -1
  56. package/nationalarchives/components/grid/grid.css.map +1 -1
  57. package/nationalarchives/components/grid/grid.scss +15 -11
  58. package/nationalarchives/components/grid/grid.stories.js +21 -0
  59. package/nationalarchives/components/grid/macro-options.json +48 -0
  60. package/nationalarchives/components/grid/template.njk +29 -3
  61. package/nationalarchives/components/header/header.css +1 -1
  62. package/nationalarchives/components/header/header.css.map +1 -1
  63. package/nationalarchives/components/header/header.scss +60 -145
  64. package/nationalarchives/components/header/header.stories.js +2 -0
  65. package/nationalarchives/components/header/macro-options.json +12 -0
  66. package/nationalarchives/components/header/template.njk +6 -1
  67. package/nationalarchives/components/hero/fixtures.json +166 -6
  68. package/nationalarchives/components/hero/hero.css +1 -1
  69. package/nationalarchives/components/hero/hero.css.map +1 -1
  70. package/nationalarchives/components/hero/hero.scss +187 -64
  71. package/nationalarchives/components/hero/hero.stories.js +98 -23
  72. package/nationalarchives/components/hero/macro-options.json +48 -12
  73. package/nationalarchives/components/hero/template.njk +34 -24
  74. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  75. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  76. package/nationalarchives/components/index-grid/template.njk +2 -2
  77. package/nationalarchives/components/message/message.css +1 -1
  78. package/nationalarchives/components/message/message.css.map +1 -1
  79. package/nationalarchives/components/message/message.scss +4 -0
  80. package/nationalarchives/components/pagination/_index.scss +1 -0
  81. package/nationalarchives/components/pagination/fixtures.json +4 -0
  82. package/nationalarchives/components/pagination/macro-options.json +116 -0
  83. package/nationalarchives/components/pagination/macro.njk +3 -0
  84. package/nationalarchives/components/pagination/pagination.css +1 -0
  85. package/nationalarchives/components/pagination/pagination.css.map +1 -0
  86. package/nationalarchives/components/pagination/pagination.scss +98 -0
  87. package/nationalarchives/components/pagination/pagination.stories.js +73 -0
  88. package/nationalarchives/components/pagination/template.njk +38 -0
  89. package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
  90. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  91. package/nationalarchives/components/phase-banner/phase-banner.scss +5 -1
  92. package/nationalarchives/components/picture/picture.css +1 -13
  93. package/nationalarchives/components/picture/picture.css.map +1 -1
  94. package/nationalarchives/components/picture/picture.scss +1 -1
  95. package/nationalarchives/components/picture/picture.stories.js +2 -2
  96. package/nationalarchives/components/profile/profile.css +1 -1
  97. package/nationalarchives/components/profile/profile.css.map +1 -1
  98. package/nationalarchives/components/profile/template.njk +2 -2
  99. package/nationalarchives/components/sensitive-image/sensitive-image.css +1 -1
  100. package/nationalarchives/components/sensitive-image/sensitive-image.css.map +1 -1
  101. package/nationalarchives/components/skip-link/fixtures.json +1 -1
  102. package/nationalarchives/components/skip-link/skip-link.css +1 -1
  103. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  104. package/nationalarchives/components/skip-link/skip-link.js +2 -0
  105. package/nationalarchives/components/skip-link/skip-link.js.map +1 -0
  106. package/nationalarchives/components/skip-link/skip-link.mjs +40 -0
  107. package/nationalarchives/components/skip-link/skip-link.scss +18 -16
  108. package/nationalarchives/components/skip-link/skip-link.stories.js +48 -6
  109. package/nationalarchives/components/skip-link/template.njk +1 -1
  110. package/nationalarchives/components/tabs/tabs.css +1 -1
  111. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  112. package/nationalarchives/components/tabs/tabs.js +1 -1
  113. package/nationalarchives/components/tabs/tabs.js.map +1 -1
  114. package/nationalarchives/components/tabs/tabs.mjs +6 -2
  115. package/nationalarchives/components/tabs/tabs.scss +17 -2
  116. package/nationalarchives/components/tabs/tabs.stories.js +6 -6
  117. package/nationalarchives/lib/_font-awesome.scss +3 -2
  118. package/nationalarchives/lib/cookies.mjs +122 -50
  119. package/nationalarchives/stories/development/contributing.mdx +0 -10
  120. package/nationalarchives/stories/development/cookies.mdx +82 -0
  121. package/nationalarchives/stories/development/structure.mdx +88 -0
  122. package/nationalarchives/stories/development/using/compiled.mdx +9 -0
  123. package/nationalarchives/stories/development/using/hosted.mdx +53 -0
  124. package/nationalarchives/stories/development/using/npm.mdx +59 -0
  125. package/nationalarchives/stories/utilities/colour-schemes/colour-schemes.stories.js +333 -72
  126. package/nationalarchives/stories/utilities/overrides/overrides.stories.js +10 -21
  127. package/nationalarchives/stories/utilities/typography/heading-groups.stories.js +2 -2
  128. package/nationalarchives/stories/utilities/typography/headings.stories.js +6 -3
  129. package/nationalarchives/stories/utilities/typography/lists.stories.js +93 -0
  130. package/nationalarchives/stories/utilities/typography/typography.mdx +11 -1
  131. package/nationalarchives/stories/utilities/typography/typography.stories.js +1 -1
  132. package/nationalarchives/templates/homepage.njk +11 -58
  133. package/nationalarchives/templates/layouts/_generic.njk +31 -14
  134. package/nationalarchives/templates/layouts/_prototype-kit.njk +11 -0
  135. package/nationalarchives/templates/search-results.njk +11 -15
  136. package/nationalarchives/templates/topics.njk +18 -22
  137. package/nationalarchives/tools/_colour.scss +77 -23
  138. package/nationalarchives/tools/_grid.scss +12 -12
  139. package/nationalarchives/tools/_media.scss +6 -0
  140. package/nationalarchives/tools/_spacing.scss +6 -6
  141. package/nationalarchives/tools/_typography.scss +4 -2
  142. package/nationalarchives/utilities/_a11y.scss +15 -0
  143. package/nationalarchives/utilities/_columns.scss +42 -0
  144. package/nationalarchives/utilities/_debug.scss +1 -1
  145. package/nationalarchives/utilities/_global.scss +32 -32
  146. package/nationalarchives/utilities/_index.scss +2 -0
  147. package/nationalarchives/utilities/_lists.scss +181 -0
  148. package/nationalarchives/utilities/_typography.scss +129 -138
  149. package/nationalarchives/variables/_assets.scss +2 -1
  150. package/nationalarchives/variables/_colour.scss +94 -74
  151. package/nationalarchives/variables/_features.scss +1 -0
  152. package/nationalarchives/variables/_grid.scss +5 -5
  153. package/nationalarchives/variables/_index.scss +1 -0
  154. package/nationalarchives/variables/_media.scss +29 -29
  155. package/nationalarchives/variables/_typography.scss +15 -12
  156. package/package.json +15 -14
  157. package/nationalarchives/_features.scss +0 -1
  158. package/nationalarchives/assets/images/tna-horizontal-logo-inverted.svg +0 -51
  159. package/nationalarchives/assets/images/tna-horizontal-logo.svg +0 -51
  160. package/nationalarchives/stories/design/about.mdx +0 -25
  161. package/nationalarchives/stories/development/relationships.mdx +0 -57
  162. package/nationalarchives/stories/development/using.mdx +0 -75
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("TNAFrontend",[],t):"object"==typeof exports?exports.TNAFrontend=t():e.TNAFrontend=t()}(self,(()=>(()=>{"use strict";var e={774:(e,t,o)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function r(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?i(Object(o),!0).forEach((function(t){c(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function c(e,t,o){return(t=a(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function s(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,a(n.key),n)}}function a(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var i=o.call(e,"string");if("object"!==n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===n(t)?t:String(t)}function u(e,t){l(e,t),t.add(e)}function l(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function f(e,t,o){return function(e,t,o){if(t.set)t.set.call(e,o);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=o}}(e,y(e,t,"set"),o),o}function p(e,t,o){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return o}function h(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,y(e,t,"get"))}function y(e,t,o){if(!t.has(e))throw new TypeError("attempted to "+o+" private field on non-instance");return t.get(e)}o.d(t,{Z:()=>m});var d=new WeakMap,v=new WeakSet,b=new WeakSet,m=function(){function e(){var t,o,n=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["analytics","settings"],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cookies_policy",c=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u(this,b),u(this,v),o={writable:!0,value:{}},l(this,t=d),t.set(this,o),this.cookiesPolicyKey=r,this.crossDomain=c,i.forEach((function(e){h(n,d)[e]=!1})),p(this,v,g).call(this)}var t,o;return t=e,o=[{key:"data",get:function(){return p(this,b,k).call(this,document.cookie)}},{key:"all",get:function(){return this.data}},{key:"allPolicies",get:function(){return JSON.parse(this.get(this.cookiesPolicyKey))}},{key:"exists",value:function(e){return Object.prototype.hasOwnProperty.call(this.data,e)}},{key:"hasValue",value:function(e,t){return this.get(e)===t}},{key:"get",value:function(e){return decodeURIComponent(this.data[e])}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/";this.set(e,"",0,t)}},{key:"acceptPolicy",value:function(e){this.setPolicy(e,!0)}},{key:"rejectPolicy",value:function(e){this.setPolicy(e,!1)}},{key:"setPolicy",value:function(e,t){f(this,d,r(r({},h(this,d)),{},c({},e,t))),this.set(this.cookiesPolicyKey,JSON.stringify(h(this,d)))}},{key:"acceptAllPolicies",value:function(){var e=this;Object.keys(h(this,d)).filter((function(t){return!1===h(e,d)[t]})).forEach((function(t){return e.acceptPolicy(t)}))}},{key:"rejectAllPolicies",value:function(){var e=this;Object.keys(h(this,d)).filter((function(t){return!0===h(e,d)[t]})).forEach((function(t){return e.rejectPolicy(t)}))}},{key:"isPolicyAccepted",value:function(e){return p(this,v,g).call(this),Object.prototype.hasOwnProperty.call(h(this,d),e)?!0===h(this,d)[e]:null}},{key:"set",value:function(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:31536e3,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/";document.cookie="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),"; SameSite=").concat(this.crossDomain?"None":"Lax","; path=").concat(n,"; max-age=").concat(o,"; Secure"),p(this,v,g).call(this)}},{key:"policy",value:function(e){return h(this,d)[e]}}],o&&s(t.prototype,o),Object.defineProperty(t,"prototype",{writable:!1}),e}();function g(){this.exists(this.cookiesPolicyKey)&&f(this,d,r(r({},h(this,d)),this.allPolicies))}function k(e){var t={};return e.split(";").forEach((function(e){var o=e.trim().split("=");t[o[0]]=o[1]})),t}}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,o),r.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{CookieBanner:()=>r});var e=o(774);function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function i(e,o){for(var n=0;n<o.length;n++){var i=o[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,o){if("object"!==t(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==t(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===t(r)?r:String(r)),i)}var r}var r=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$acceptButton=e&&e.querySelector('[value="accept"]'),this.$rejectButton=e&&e.querySelector('[value="reject"]'),this.$prompt=e&&e.querySelector(".tna-cookie-banner__message--prompt"),this.$acceptedMessage=e&&e.querySelector(".tna-cookie-banner__message--accepted"),this.$rejectedMessage=e&&e.querySelector(".tna-cookie-banner__message--rejected"),this.$closeButtons=e&&e.querySelectorAll('[value="close"]')}var o,n;return o=t,(n=[{key:"init",value:function(){var t=this;if(this.$module&&this.$acceptButton&&this.$rejectButton&&this.$prompt&&this.$acceptedMessage&&this.$rejectedMessage&&this.$closeButtons){var o=this.$module.getAttribute("data-policies");o&&(this.cookies=new e.Z(o.split(",").map((function(e){return e.trim()}))),this.loadScriptsOnAccept=this.$module.getAttribute("data-acceptscripts"),this.hideCookieBannerKey=this.$module.getAttribute("data-hidekey"),this.cookies.exists(this.hideCookieBannerKey)||(this.$module.removeAttribute("hidden"),this.$acceptButton.addEventListener("click",(function(){return t.accept()})),this.$rejectButton.addEventListener("click",(function(){return t.reject()})),this.$closeButtons.forEach((function(e){e.addEventListener("click",(function(){return t.close()}))}))))}}},{key:"accept",value:function(){this.$prompt.setAttribute("hidden",!0),this.complete(),this.$acceptedMessage.removeAttribute("hidden"),this.cookies.acceptAllPolicies(),this.loadScriptsOnAccept&&this.loadScriptsOnAccept.split(",").forEach((function(e){var t=document.createElement("script");t.src=e,document.head.appendChild(t)}))}},{key:"reject",value:function(){this.$prompt.setAttribute("hidden",!0),this.complete(),this.$rejectedMessage.removeAttribute("hidden"),this.cookies.rejectAllPolicies()}},{key:"complete",value:function(){this.cookies.set(this.hideCookieBannerKey,!0)}},{key:"close",value:function(){this.$module.setAttribute("hidden",!0)}}])&&i(o.prototype,n),Object.defineProperty(o,"prototype",{writable:!1}),t}()})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("TNAFrontend",[],t):"object"==typeof exports?exports.TNAFrontend=t():e.TNAFrontend=t()}(self,(()=>(()=>{"use strict";var e={774:(e,t,i)=>{function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,o)}return i}function r(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?n(Object(i),!0).forEach((function(t){c(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):n(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function c(e,t,i){return(t=a(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function s(e,t){for(var i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,a(o.key),o)}}function a(e){var t=function(e,t){if("object"!==o(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,"string");if("object"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===o(t)?t:String(t)}function l(e,t){u(e,t),t.add(e)}function u(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function p(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}function f(e,t,i){return function(e,t,i){if(t.set)t.set.call(e,i);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=i}}(e,y(e,t,"set"),i),i}function h(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,y(e,t,"get"))}function y(e,t,i){if(!t.has(e))throw new TypeError("attempted to "+i+" private field on non-instance");return t.get(e)}i.d(t,{Z:()=>m});var d=new WeakMap,v=new WeakSet,b=new WeakSet,m=function(){function e(){var t,i,o=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["usage","settings"],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cookies_policy";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),l(this,b),l(this,v),i={writable:!0,value:{}},u(this,t=d),t.set(this,i),this.cookiesPolicyKey=r,n.forEach((function(e){h(o,d)[e.toLowerCase()]=!1})),h(this,d).essential=!0}var t,i;return t=e,i=[{key:"policies",get:function(){return this.exists(this.cookiesPolicyKey)?f(this,d,r(r({},h(this,d)),this.allPolicies)):h(this,d)},set:function(e){f(this,d,e)}},{key:"all",get:function(){return p(this,v,g).call(this,document.cookie)}},{key:"exists",value:function(e){return Object.prototype.hasOwnProperty.call(this.all,e)}},{key:"hasValue",value:function(e,t){return this.get(e)==t}},{key:"get",value:function(e){return this.exists(e)?decodeURIComponent(this.all[e]):null}},{key:"set",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i.maxAge,n=void 0===o?31536e3:o,r=i.path,c=void 0===r?"/":r,s=i.sameSite,a=void 0===s?"Lax":s;document.cookie="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),"; SameSite=").concat(a,"; path=").concat(c,"; max-age=").concat(n,"; Secure")}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/";this.set(e,"",0,t)}},{key:"allPolicies",get:function(){return JSON.parse(this.get(this.cookiesPolicyKey)||"{}")}},{key:"acceptPolicy",value:function(e){p(this,b,k).call(this,e,!0),this.savePolicies()}},{key:"rejectPolicy",value:function(e){"essential"!==e&&(p(this,b,k).call(this,e,!1),this.savePolicies())}},{key:"savePolicies",value:function(){this.set(this.cookiesPolicyKey,JSON.stringify(this.policies))}},{key:"acceptAllPolicies",value:function(){var e=this;Object.keys(this.policies).forEach((function(t){return p(e,b,k).call(e,t,!0)})),this.savePolicies()}},{key:"rejectAllPolicies",value:function(){var e=this;Object.keys(this.policies).forEach((function(t){return p(e,b,k).call(e,t,!1)})),this.savePolicies()}},{key:"isPolicyAccepted",value:function(e){return Object.prototype.hasOwnProperty.call(this.policies,e)?!0===this.policies[e]:null}}],i&&s(t.prototype,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();function g(e){var t={};return e.split(";").forEach((function(e){var i=e.trim().split("=");t[i[0]]=i[1]})),t}function k(e,t){var i;this.policies=r(r({},this.policies),{},(c(i={},e,t),c(i,"essential",!0),i))}}},t={};function i(o){var n=t[o];if(void 0!==n)return n.exports;var r=t[o]={exports:{}};return e[o](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{i.r(o),i.d(o,{CookieBanner:()=>r});var e=i(774);function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,i){for(var o=0;o<i.length;o++){var n=i[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(void 0,r=function(e,i){if("object"!==t(e)||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,"string");if("object"!==t(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(n.key),"symbol"===t(r)?r:String(r)),n)}var r}var r=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$acceptButton=e&&e.querySelector('[value="accept"]'),this.$rejectButton=e&&e.querySelector('[value="reject"]'),this.$prompt=e&&e.querySelector(".tna-cookie-banner__message--prompt"),this.$acceptedMessage=e&&e.querySelector(".tna-cookie-banner__message--accepted"),this.$rejectedMessage=e&&e.querySelector(".tna-cookie-banner__message--rejected"),this.$closeButtons=e&&e.querySelectorAll('[value="close"]')}var i,o;return i=t,(o=[{key:"init",value:function(){var t=this;if(this.$module&&this.$acceptButton&&this.$rejectButton&&this.$prompt&&this.$acceptedMessage&&this.$rejectedMessage&&this.$closeButtons){var i=this.$module.getAttribute("data-policies");i&&(this.cookies=new e.Z(i.split(",").map((function(e){return e.trim()}))),this.loadScriptsOnAccept=this.$module.getAttribute("data-acceptscripts"),this.cookiePreferencesSet=this.$module.getAttribute("data-preferenceskey")||"cookies_preferences_set",this.cookies.hasValue(this.cookiePreferencesSet,"true")||(this.$module.removeAttribute("hidden"),this.$acceptButton.addEventListener("click",(function(){return t.accept()})),this.$rejectButton.addEventListener("click",(function(){return t.reject()}))))}}},{key:"accept",value:function(){this.$prompt.setAttribute("hidden",!0),this.complete(),this.$acceptedMessage.removeAttribute("hidden"),this.$acceptedMessage.focus(),this.$acceptedMessage.setAttribute("tabindex","-1"),this.cookies.acceptAllPolicies(),this.loadScriptsOnAccept&&this.loadScriptsOnAccept.split(",").forEach((function(e){var t=document.createElement("script");t.src=e,document.head.appendChild(t)}))}},{key:"reject",value:function(){this.$prompt.setAttribute("hidden",!0),this.complete(),this.$rejectedMessage.removeAttribute("hidden"),this.$rejectedMessage.focus(),this.$rejectedMessage.setAttribute("tabindex","-1"),this.cookies.rejectAllPolicies()}},{key:"complete",value:function(){var e=this;this.cookies.set(this.cookiePreferencesSet,!0),this.$closeButtons.forEach((function(t){t.addEventListener("click",(function(){return e.close()}))}))}},{key:"close",value:function(){this.$module.setAttribute("hidden",!0)}}])&&n(i.prototype,o),Object.defineProperty(i,"prototype",{writable:!1}),t}()})(),o})()));
2
2
  //# sourceMappingURL=cookie-banner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components/cookie-banner/cookie-banner.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.mjs","webpack://TNAFrontend/webpack/bootstrap","webpack://TNAFrontend/webpack/runtime/define property getters","webpack://TNAFrontend/webpack/runtime/hasOwnProperty shorthand","webpack://TNAFrontend/webpack/runtime/make namespace object","webpack://TNAFrontend/./src/nationalarchives/components/cookie-banner/cookie-banner.mjs"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"TNAFrontend\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","export default class Cookies {\n #policies = {};\n\n constructor(\n policies = [\"analytics\", \"settings\"],\n cookiesPolicyKey = \"cookies_policy\",\n crossDomain = false,\n ) {\n this.cookiesPolicyKey = cookiesPolicyKey;\n this.crossDomain = crossDomain;\n policies.forEach((policy) => {\n this.#policies[policy] = false;\n });\n this.#getPolicies();\n }\n\n #getPolicies() {\n if (this.exists(this.cookiesPolicyKey)) {\n this.#policies = {\n ...this.#policies,\n ...this.allPolicies,\n };\n }\n }\n\n get data() {\n return this.#deserialise(document.cookie);\n }\n\n #deserialise(cookieString) {\n const deserialised = {};\n cookieString.split(\";\").forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n deserialised[parts[0]] = parts[1];\n });\n return deserialised;\n }\n\n get all() {\n return this.data;\n }\n\n get allPolicies() {\n return JSON.parse(this.get(this.cookiesPolicyKey));\n }\n\n exists(key) {\n return Object.prototype.hasOwnProperty.call(this.data, key);\n }\n\n hasValue(key, value) {\n return this.get(key) === value;\n }\n\n get(key) {\n return decodeURIComponent(this.data[key]);\n }\n\n delete(key, path = \"/\") {\n this.set(key, \"\", 0, path);\n }\n\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n }\n\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n }\n\n setPolicy(policy, accepted) {\n this.#policies = {\n ...this.#policies,\n [policy]: accepted,\n };\n this.set(this.cookiesPolicyKey, JSON.stringify(this.#policies));\n }\n\n acceptAllPolicies() {\n Object.keys(this.#policies)\n .filter((policy) => this.#policies[policy] === false)\n .forEach((policy) => this.acceptPolicy(policy));\n }\n\n rejectAllPolicies() {\n Object.keys(this.#policies)\n .filter((policy) => this.#policies[policy] === true)\n .forEach((policy) => this.rejectPolicy(policy));\n }\n\n isPolicyAccepted(policy) {\n this.#getPolicies();\n return Object.prototype.hasOwnProperty.call(this.#policies, policy)\n ? this.#policies[policy] === true\n : null;\n }\n\n set(key, value, maxAge = 60 * 60 * 24 * 365, path = \"/\") {\n document.cookie = `${encodeURIComponent(key)}=${encodeURIComponent(\n value,\n )}; SameSite=${\n this.crossDomain ? \"None\" : \"Lax\"\n }; path=${path}; max-age=${maxAge}; Secure`;\n this.#getPolicies();\n }\n\n policy(policy) {\n return this.#policies[policy];\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import Cookies from \"../../lib/cookies.mjs\";\n\nexport class CookieBanner {\n constructor($module) {\n this.$module = $module;\n this.$acceptButton = $module && $module.querySelector('[value=\"accept\"]');\n this.$rejectButton = $module && $module.querySelector('[value=\"reject\"]');\n this.$prompt =\n $module && $module.querySelector(\".tna-cookie-banner__message--prompt\");\n this.$acceptedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--accepted\");\n this.$rejectedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--rejected\");\n this.$closeButtons = $module && $module.querySelectorAll('[value=\"close\"]');\n }\n\n init() {\n if (\n !this.$module ||\n !this.$acceptButton ||\n !this.$rejectButton ||\n !this.$prompt ||\n !this.$acceptedMessage ||\n !this.$rejectedMessage ||\n !this.$closeButtons\n ) {\n return;\n }\n\n const policies = this.$module.getAttribute(\"data-policies\");\n if (!policies) {\n return;\n }\n this.cookies = new Cookies(\n policies.split(\",\").map((policy) => policy.trim()),\n );\n\n this.loadScriptsOnAccept = this.$module.getAttribute(\"data-acceptscripts\");\n\n this.hideCookieBannerKey = this.$module.getAttribute(\"data-hidekey\");\n const cookiePreferencesSet = this.cookies.exists(this.hideCookieBannerKey);\n\n if (!cookiePreferencesSet) {\n this.$module.removeAttribute(\"hidden\");\n\n this.$acceptButton.addEventListener(\"click\", () => this.accept());\n this.$rejectButton.addEventListener(\"click\", () => this.reject());\n\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.cookies.acceptAllPolicies();\n if (this.loadScriptsOnAccept) {\n this.loadScriptsOnAccept.split(\",\").forEach((script) => {\n const $script = document.createElement(\"script\");\n $script.src = script;\n document.head.appendChild($script);\n });\n }\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.hideCookieBannerKey, true);\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", true);\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","Cookies","_this","policies","arguments","length","undefined","cookiesPolicyKey","crossDomain","_classCallCheck","_classPrivateMethodInitSpec","_deserialise","_getPolicies","writable","value","_policies","this","forEach","policy","_classPrivateFieldGet","_classPrivateMethodGet","_getPolicies2","call","key","get","_deserialise2","document","cookie","data","JSON","parse","Object","prototype","hasOwnProperty","decodeURIComponent","path","set","setPolicy","accepted","_classPrivateFieldSet","_objectSpread","_defineProperty","stringify","_this2","keys","filter","acceptPolicy","_this3","rejectPolicy","maxAge","concat","encodeURIComponent","exists","allPolicies","cookieString","deserialised","split","parts","trim","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","r","Symbol","toStringTag","CookieBanner","$module","$acceptButton","querySelector","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","querySelectorAll","getAttribute","cookies","map","loadScriptsOnAccept","hideCookieBannerKey","removeAttribute","addEventListener","accept","reject","$closeButton","close","setAttribute","complete","acceptAllPolicies","script","$script","createElement","src","head","appendChild","rejectAllPolicies"],"sourceRoot":""}
1
+ {"version":3,"file":"components/cookie-banner/cookie-banner.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,cAAe,GAAIH,GACA,iBAAZC,QACdA,QAAqB,YAAID,IAEzBD,EAAkB,YAAIC,GACvB,CATD,CASGK,MAAM,I,2lECHYC,EAAO,WAS1B,SAAAA,IAGE,I,IAAAC,EAAA,KAFAC,EAAQC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,QAAS,YACrBG,EAAgBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,kB,4FAAgBI,CAAA,KAAAP,GAsHrCQ,EAAA,KAAAC,GAhGAD,EAAA,KAAAE,G,EAhCA,CAAAC,UAAA,EAAAC,MACY,CAAC,G,EADb,K,EAAAC,G,MAAA,K,GAYEC,KAAKR,iBAAmBA,EACxBJ,EAASa,SAAQ,SAACC,GAChBC,EAAAhB,EAAIY,GAAWG,EAAOE,gBAAiB,CACzC,IACAD,EAAAH,KAAID,GAAWM,WAAY,CAC7B,C,QA4JC,O,EA5JAnB,E,EAAA,EAAAoB,IAAA,WAAAC,IAED,WACE,OAAOP,KAAKQ,OAAOR,KAAKR,kBAAiBiB,EACpCT,KAAID,EAAAW,EAAAA,EAAA,GAAAP,EACAH,KAAID,IACJC,KAAKW,cAAWR,EAErBH,KAAID,EACV,EAACa,IAED,SAAaC,GACXJ,EAAAT,KAAID,EAAac,EACnB,GAAC,CAAAP,IAAA,MAAAC,IAYD,WACE,OAAAO,EAAOd,KAAIJ,EAAAmB,GAAAC,KAAJhB,KAAkBiB,SAASC,OACpC,GAEA,CAAAZ,IAAA,SAAAR,MAKA,SAAOQ,GACL,OAAOa,OAAOC,UAAUC,eAAeL,KAAKhB,KAAKsB,IAAKhB,EACxD,GAEA,CAAAA,IAAA,WAAAR,MAMA,SAASQ,EAAKR,GACZ,OAAOE,KAAKO,IAAID,IAAQR,CAC1B,GAEA,CAAAQ,IAAA,MAAAR,MAKA,SAAIQ,GACF,OAAON,KAAKQ,OAAOF,GAAOiB,mBAAmBvB,KAAKsB,IAAIhB,IAAQ,IAChE,GAEA,CAAAA,IAAA,MAAAR,MASA,SAAIQ,EAAKR,GAAqB,IAAd0B,EAAOnC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACzBoC,EAIID,EAHFE,OAAAA,OAAM,IAAAD,EAAG,QAAkBA,EAAAE,EAGzBH,EAFFI,KAAAA,OAAI,IAAAD,EAAG,IAAGA,EAAAE,EAERL,EADFM,SAAAA,OAAQ,IAAAD,EAAG,MAAKA,EAElBZ,SAASC,OAAS,GAAHa,OAAMC,mBAAmB1B,GAAI,KAAAyB,OAAIC,mBAC9ClC,GACD,eAAAiC,OAAcD,EAAQ,WAAAC,OAAUH,EAAI,cAAAG,OAAaL,EAAM,WAC1D,GAEA,CAAApB,IAAA,SAAAR,MAKA,SAAOQ,GAAiB,IAAZsB,EAAIvC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IACjBW,KAAKY,IAAIN,EAAK,GAAI,EAAGsB,EACvB,GAAC,CAAAtB,IAAA,cAAAC,IAED,WACE,OAAO0B,KAAKC,MAAMlC,KAAKO,IAAIP,KAAKR,mBAAqB,KACvD,GAEA,CAAAc,IAAA,eAAAR,MAIA,SAAaI,GACXY,EAAAd,KAAIL,EAAAwC,GAAAnB,KAAJhB,KAAgBE,GAAQ,GACxBF,KAAKoC,cACP,GAEA,CAAA9B,IAAA,eAAAR,MAIA,SAAaI,GACI,cAAXA,IAGJY,EAAAd,KAAIL,EAAAwC,GAAAnB,KAAJhB,KAAgBE,GAAQ,GACxBF,KAAKoC,eACP,GAAC,CAAA9B,IAAA,eAAAR,MAcD,WACEE,KAAKY,IAAIZ,KAAKR,iBAAkByC,KAAKI,UAAUrC,KAAKZ,UACtD,GAEA,CAAAkB,IAAA,oBAAAR,MAGA,WAAoB,IAAAwC,EAAA,KAClBnB,OAAOoB,KAAKvC,KAAKZ,UAAUa,SAAQ,SAACC,GAAM,OAAAY,EACxCwB,EAAI3C,EAAAwC,GAAAnB,KAAJsB,EAAgBpC,GAAQ,EAAI,IAE9BF,KAAKoC,cACP,GAEA,CAAA9B,IAAA,oBAAAR,MAGA,WAAoB,IAAA0C,EAAA,KAClBrB,OAAOoB,KAAKvC,KAAKZ,UAAUa,SAAQ,SAACC,GAAM,OAAAY,EACxC0B,EAAI7C,EAAAwC,GAAAnB,KAAJwB,EAAgBtC,GAAQ,EAAK,IAE/BF,KAAKoC,cACP,GAEA,CAAA9B,IAAA,mBAAAR,MAKA,SAAiBI,GACf,OAAOiB,OAAOC,UAAUC,eAAeL,KAAKhB,KAAKZ,SAAUc,IAC7B,IAA1BF,KAAKZ,SAASc,GACd,IACN,I,uEAAChB,CAAA,CA9KyB,GA8KzB,SAAA6B,EA5IY0B,GACX,IAAMC,EAAe,CAAC,EAKtB,OAJAD,EAAaE,MAAM,KAAK1C,SAAQ,SAACiB,GAC/B,IAAM0B,EAAQ1B,EAAO2B,OAAOF,MAAM,KAClCD,EAAaE,EAAM,IAAMA,EAAM,EACjC,IACOF,CACT,CAAC,SAAAP,EAyFUjC,EAAQ4C,GAAU,IAAAC,EAC3B/C,KAAKZ,SAAQsB,EAAAA,EAAA,GACRV,KAAKZ,UAAQ,IAAA4D,EAAAD,EAAA,GACf7C,EAAS4C,GAAQE,EAAAD,EAAA,aACP,GAAIA,GAEnB,C,GC7IEE,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB5D,IAAjB6D,EACH,OAAOA,EAAavE,QAGrB,IAAIC,EAASmE,EAAyBE,GAAY,CAGjDtE,QAAS,CAAC,GAOX,OAHAwE,EAAoBF,GAAUrE,EAAQA,EAAOD,QAASqE,GAG/CpE,EAAOD,OACf,CCrBAqE,EAAoBI,EAAI,CAACzE,EAAS0E,KACjC,IAAI,IAAIjD,KAAOiD,EACXL,EAAoBM,EAAED,EAAYjD,KAAS4C,EAAoBM,EAAE3E,EAASyB,IAC5Ea,OAAOsC,eAAe5E,EAASyB,EAAK,CAAEoD,YAAY,EAAMnD,IAAKgD,EAAWjD,IAE1E,ECND4C,EAAoBM,EAAI,CAACG,EAAKC,IAAUzC,OAAOC,UAAUC,eAAeL,KAAK2C,EAAKC,GCClFV,EAAoBW,EAAKhF,IACH,oBAAXiF,QAA0BA,OAAOC,aAC1C5C,OAAOsC,eAAe5E,EAASiF,OAAOC,YAAa,CAAEjE,MAAO,WAE7DqB,OAAOsC,eAAe5E,EAAS,aAAc,CAAEiB,OAAO,GAAO,E,wuBCHvD,IAAMkE,EAAY,WACvB,SAAAA,EAAYC,I,4FAASxE,CAAA,KAAAuE,GACnBhE,KAAKiE,QAAUA,EACfjE,KAAKkE,cAAgBD,GAAWA,EAAQE,cAAc,oBACtDnE,KAAKoE,cAAgBH,GAAWA,EAAQE,cAAc,oBACtDnE,KAAKqE,QACHJ,GAAWA,EAAQE,cAAc,uCACnCnE,KAAKsE,iBACHL,GAAWA,EAAQE,cAAc,yCACnCnE,KAAKuE,iBACHN,GAAWA,EAAQE,cAAc,yCACnCnE,KAAKwE,cAAgBP,GAAWA,EAAQQ,iBAAiB,kBAC3D,C,QA2EC,O,EA3EAT,G,EAAA,EAAA1D,IAAA,OAAAR,MAED,WAAO,IAAAX,EAAA,KACL,GACGa,KAAKiE,SACLjE,KAAKkE,eACLlE,KAAKoE,eACLpE,KAAKqE,SACLrE,KAAKsE,kBACLtE,KAAKuE,kBACLvE,KAAKwE,cAPR,CAYA,IAAMpF,EAAWY,KAAKiE,QAAQS,aAAa,iBACtCtF,IAGLY,KAAK2E,QAAU,IAAIzF,EAAAA,EACjBE,EAASuD,MAAM,KAAKiC,KAAI,SAAC1E,GAAM,OAAKA,EAAO2C,MAAM,KAGnD7C,KAAK6E,oBAAsB7E,KAAKiE,QAAQS,aAAa,sBAErD1E,KAAK8E,qBACH9E,KAAKiE,QAAQS,aAAa,wBAC1B,0BAC2B1E,KAAK2E,QAAQI,SACxC/E,KAAK8E,qBACL,UAIA9E,KAAKiE,QAAQe,gBAAgB,UAE7BhF,KAAKkE,cAAce,iBAAiB,SAAS,kBAAM9F,EAAK+F,QAAQ,IAChElF,KAAKoE,cAAca,iBAAiB,SAAS,kBAAM9F,EAAKgG,QAAQ,KAxBlE,CA0BF,GAAC,CAAA7E,IAAA,SAAAR,MAED,WACEE,KAAKqE,QAAQe,aAAa,UAAU,GACpCpF,KAAKqF,WACLrF,KAAKsE,iBAAiBU,gBAAgB,UACtChF,KAAKsE,iBAAiBgB,QACtBtF,KAAKsE,iBAAiBc,aAAa,WAAY,MAC/CpF,KAAK2E,QAAQY,oBACTvF,KAAK6E,qBACP7E,KAAK6E,oBAAoBlC,MAAM,KAAK1C,SAAQ,SAACuF,GAC3C,IAAMC,EAAUxE,SAASyE,cAAc,UACvCD,EAAQE,IAAMH,EACdvE,SAAS2E,KAAKC,YAAYJ,EAC5B,GAEJ,GAAC,CAAAnF,IAAA,SAAAR,MAED,WACEE,KAAKqE,QAAQe,aAAa,UAAU,GACpCpF,KAAKqF,WACLrF,KAAKuE,iBAAiBS,gBAAgB,UACtChF,KAAKuE,iBAAiBe,QACtBtF,KAAKuE,iBAAiBa,aAAa,WAAY,MAC/CpF,KAAK2E,QAAQmB,mBACf,GAAC,CAAAxF,IAAA,WAAAR,MAED,WAAW,IAAAwC,EAAA,KACTtC,KAAK2E,QAAQ/D,IAAIZ,KAAK8E,sBAAsB,GAC5C9E,KAAKwE,cAAcvE,SAAQ,SAAC8F,GAC1BA,EAAad,iBAAiB,SAAS,kBAAM3C,EAAK0D,OAAO,GAC3D,GACF,GAAC,CAAA1F,IAAA,QAAAR,MAED,WACEE,KAAKiE,QAAQmB,aAAa,UAAU,EACtC,M,oEAACpB,CAAA,CAvFsB,E","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.mjs","webpack://TNAFrontend/webpack/bootstrap","webpack://TNAFrontend/webpack/runtime/define property getters","webpack://TNAFrontend/webpack/runtime/hasOwnProperty shorthand","webpack://TNAFrontend/webpack/runtime/make namespace object","webpack://TNAFrontend/./src/nationalarchives/components/cookie-banner/cookie-banner.mjs"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"TNAFrontend\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n #policies = {};\n\n /**\n * Create a cookie handler.\n * @param {string[]} [policies=usage,settings] - The cookie policies to manage.\n * @param {string} [cookiesPolicyKey=cookies_policy] - The name of the cookie.\n */\n constructor(\n policies = [\"usage\", \"settings\"],\n cookiesPolicyKey = \"cookies_policy\",\n ) {\n this.cookiesPolicyKey = cookiesPolicyKey;\n policies.forEach((policy) => {\n this.#policies[policy.toLowerCase()] = false;\n });\n this.#policies.essential = true;\n }\n\n get policies() {\n return this.exists(this.cookiesPolicyKey)\n ? (this.#policies = {\n ...this.#policies,\n ...this.allPolicies,\n })\n : this.#policies;\n }\n\n set policies(newPolicyValues) {\n this.#policies = newPolicyValues;\n }\n\n /** @protected */\n #deserialise(cookieString) {\n const deserialised = {};\n cookieString.split(\";\").forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n deserialised[parts[0]] = parts[1];\n });\n return deserialised;\n }\n\n get all() {\n return this.#deserialise(document.cookie);\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {string} key - The cookie name.\n * @returns {boolean}\n */\n exists(key) {\n return Object.prototype.hasOwnProperty.call(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {string} key - The cookie name.\n * @param {string|number|boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {string} key - The cookie name.\n * @returns {string|number|boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {string} key - The cookie name.\n * @param {string|number|boolean} value - The cookie value.\n * @param {Object} options\n * @param {number} [options.maxAge=31536000] - The maximum age of the cookie in seconds.\n * @param {string} [options.path=/] - The path to register the cookie for.\n * @param {string} [options.sameSite=Lax] - The sameSite attribute.\n */\n set(key, value, options = {}) {\n const {\n maxAge = 60 * 60 * 24 * 365,\n path = \"/\",\n sameSite = \"Lax\",\n } = options;\n document.cookie = `${encodeURIComponent(key)}=${encodeURIComponent(\n value,\n )}; SameSite=${sameSite}; path=${path}; max-age=${maxAge}; Secure`;\n }\n\n /**\n * Delete a cookie.\n * @param {string} key - The cookie name.\n * @param {string} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\") {\n this.set(key, \"\", 0, path);\n }\n\n get allPolicies() {\n return JSON.parse(this.get(this.cookiesPolicyKey) || \"{}\");\n }\n\n /**\n * Accept a policy.\n * @param {string} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.#setPolicy(policy, true);\n this.savePolicies();\n }\n\n /**\n * Reject a policy.\n * @param {string} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n if (policy === \"essential\") {\n return;\n }\n this.#setPolicy(policy, false);\n this.savePolicies();\n }\n\n /** @protected */\n #setPolicy(policy, accepted) {\n this.policies = {\n ...this.policies,\n [policy]: accepted,\n essential: true,\n };\n }\n\n /**\n * Commit the policy preferences to the browser.\n */\n savePolicies() {\n this.set(this.cookiesPolicyKey, JSON.stringify(this.policies));\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n Object.keys(this.policies).forEach((policy) =>\n this.#setPolicy(policy, true),\n );\n this.savePolicies();\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n Object.keys(this.policies).forEach((policy) =>\n this.#setPolicy(policy, false),\n );\n this.savePolicies();\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {string} policy - The name of the policy.\n * @returns {boolean}\n */\n isPolicyAccepted(policy) {\n return Object.prototype.hasOwnProperty.call(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import Cookies from \"../../lib/cookies.mjs\";\n\nexport class CookieBanner {\n constructor($module) {\n this.$module = $module;\n this.$acceptButton = $module && $module.querySelector('[value=\"accept\"]');\n this.$rejectButton = $module && $module.querySelector('[value=\"reject\"]');\n this.$prompt =\n $module && $module.querySelector(\".tna-cookie-banner__message--prompt\");\n this.$acceptedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--accepted\");\n this.$rejectedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--rejected\");\n this.$closeButtons = $module && $module.querySelectorAll('[value=\"close\"]');\n }\n\n init() {\n if (\n !this.$module ||\n !this.$acceptButton ||\n !this.$rejectButton ||\n !this.$prompt ||\n !this.$acceptedMessage ||\n !this.$rejectedMessage ||\n !this.$closeButtons\n ) {\n return;\n }\n\n const policies = this.$module.getAttribute(\"data-policies\");\n if (!policies) {\n return;\n }\n this.cookies = new Cookies(\n policies.split(\",\").map((policy) => policy.trim()),\n );\n\n this.loadScriptsOnAccept = this.$module.getAttribute(\"data-acceptscripts\");\n\n this.cookiePreferencesSet =\n this.$module.getAttribute(\"data-preferenceskey\") ||\n \"cookies_preferences_set\";\n const cookiePreferencesSet = this.cookies.hasValue(\n this.cookiePreferencesSet,\n \"true\",\n );\n\n if (!cookiePreferencesSet) {\n this.$module.removeAttribute(\"hidden\");\n\n this.$acceptButton.addEventListener(\"click\", () => this.accept());\n this.$rejectButton.addEventListener(\"click\", () => this.reject());\n }\n }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.$acceptedMessage.focus();\n this.$acceptedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.acceptAllPolicies();\n if (this.loadScriptsOnAccept) {\n this.loadScriptsOnAccept.split(\",\").forEach((script) => {\n const $script = document.createElement(\"script\");\n $script.src = script;\n document.head.appendChild($script);\n });\n }\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.$rejectedMessage.focus();\n this.$rejectedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.cookiePreferencesSet, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", true);\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","Cookies","_this","policies","arguments","length","undefined","cookiesPolicyKey","_classCallCheck","_classPrivateMethodInitSpec","_setPolicy","_deserialise","writable","value","_policies","this","forEach","policy","_classPrivateFieldGet","toLowerCase","essential","key","get","exists","_classPrivateFieldSet","_objectSpread","allPolicies","set","newPolicyValues","_classPrivateMethodGet","_deserialise2","call","document","cookie","Object","prototype","hasOwnProperty","all","decodeURIComponent","options","_options$maxAge","maxAge","_options$path","path","_options$sameSite","sameSite","concat","encodeURIComponent","JSON","parse","_setPolicy2","savePolicies","stringify","_this2","keys","_this3","cookieString","deserialised","split","parts","trim","accepted","_objectSpread2","_defineProperty","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","r","Symbol","toStringTag","CookieBanner","$module","$acceptButton","querySelector","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","querySelectorAll","getAttribute","cookies","map","loadScriptsOnAccept","cookiePreferencesSet","hasValue","removeAttribute","addEventListener","accept","reject","setAttribute","complete","focus","acceptAllPolicies","script","$script","createElement","src","head","appendChild","rejectAllPolicies","$closeButton","close"],"sourceRoot":""}
@@ -37,18 +37,19 @@ export class CookieBanner {
37
37
 
38
38
  this.loadScriptsOnAccept = this.$module.getAttribute("data-acceptscripts");
39
39
 
40
- this.hideCookieBannerKey = this.$module.getAttribute("data-hidekey");
41
- const cookiePreferencesSet = this.cookies.exists(this.hideCookieBannerKey);
40
+ this.cookiePreferencesSet =
41
+ this.$module.getAttribute("data-preferenceskey") ||
42
+ "cookies_preferences_set";
43
+ const cookiePreferencesSet = this.cookies.hasValue(
44
+ this.cookiePreferencesSet,
45
+ "true",
46
+ );
42
47
 
43
48
  if (!cookiePreferencesSet) {
44
49
  this.$module.removeAttribute("hidden");
45
50
 
46
51
  this.$acceptButton.addEventListener("click", () => this.accept());
47
52
  this.$rejectButton.addEventListener("click", () => this.reject());
48
-
49
- this.$closeButtons.forEach(($closeButton) => {
50
- $closeButton.addEventListener("click", () => this.close());
51
- });
52
53
  }
53
54
  }
54
55
 
@@ -56,6 +57,8 @@ export class CookieBanner {
56
57
  this.$prompt.setAttribute("hidden", true);
57
58
  this.complete();
58
59
  this.$acceptedMessage.removeAttribute("hidden");
60
+ this.$acceptedMessage.focus();
61
+ this.$acceptedMessage.setAttribute("tabindex", "-1");
59
62
  this.cookies.acceptAllPolicies();
60
63
  if (this.loadScriptsOnAccept) {
61
64
  this.loadScriptsOnAccept.split(",").forEach((script) => {
@@ -70,11 +73,16 @@ export class CookieBanner {
70
73
  this.$prompt.setAttribute("hidden", true);
71
74
  this.complete();
72
75
  this.$rejectedMessage.removeAttribute("hidden");
76
+ this.$rejectedMessage.focus();
77
+ this.$rejectedMessage.setAttribute("tabindex", "-1");
73
78
  this.cookies.rejectAllPolicies();
74
79
  }
75
80
 
76
81
  complete() {
77
- this.cookies.set(this.hideCookieBannerKey, true);
82
+ this.cookies.set(this.cookiePreferencesSet, true);
83
+ this.$closeButtons.forEach(($closeButton) => {
84
+ $closeButton.addEventListener("click", () => this.close());
85
+ });
78
86
  }
79
87
 
80
88
  close() {
@@ -1,6 +1,6 @@
1
1
  @use "../../tools/colour";
2
- @use "../../tools/spacing";
3
2
  @use "../../tools/media";
3
+ @use "../../tools/spacing";
4
4
  @use "../../tools/typography";
5
5
  @use "../../utilities";
6
6
  @use "../button";
@@ -20,6 +20,10 @@
20
20
  }
21
21
 
22
22
  &__message {
23
+ &:focus {
24
+ outline: none !important;
25
+ }
26
+
23
27
  &--prompt {
24
28
  }
25
29
 
@@ -29,4 +33,8 @@
29
33
  &--rejected {
30
34
  }
31
35
  }
36
+
37
+ @include media.on-print {
38
+ display: none;
39
+ }
32
40
  }
@@ -7,7 +7,7 @@ import Cookies from "../../lib/cookies.mjs";
7
7
  const argTypes = {
8
8
  url: { control: "text" },
9
9
  policies: { control: "text" },
10
- hideCookieBannerKey: { control: "text" },
10
+ cookiesPreferencesSetKey: { control: "text" },
11
11
  loadScriptsOnAccept: { control: "text" },
12
12
  classes: { control: "text" },
13
13
  attributes: { control: "object" },
@@ -27,7 +27,7 @@ export default {
27
27
  const Template = ({
28
28
  url,
29
29
  policies,
30
- hideCookieBannerKey,
30
+ cookiesPreferencesSetKey,
31
31
  loadScriptsOnAccept,
32
32
  classes,
33
33
  attributes,
@@ -36,7 +36,7 @@ const Template = ({
36
36
  params: {
37
37
  url,
38
38
  policies,
39
- hideCookieBannerKey,
39
+ cookiesPreferencesSetKey,
40
40
  loadScriptsOnAccept,
41
41
  classes,
42
42
  attributes,
@@ -62,19 +62,24 @@ Accept.play = async ({ canvasElement }) => {
62
62
  const cookies = new Cookies();
63
63
  deleteAllCookies(cookies);
64
64
 
65
- await expect(cookies.isPolicyAccepted("analytics")).toEqual(false);
65
+ await expect(cookies.isPolicyAccepted("essential")).toEqual(true);
66
+ await expect(cookies.isPolicyAccepted("usage")).toEqual(false);
66
67
  await expect(cookies.isPolicyAccepted("settings")).toEqual(false);
67
68
  await expect(cookies.isPolicyAccepted("unknown")).toEqual(null);
68
69
 
69
70
  const canvas = within(canvasElement);
70
71
  const acceptButton = canvas.getByText("Accept cookies");
72
+ const rejectButton = canvas.getByText("Reject cookies");
71
73
  await expect(acceptButton).toBeVisible();
74
+ await expect(rejectButton).toBeVisible();
72
75
  await userEvent.click(acceptButton);
73
76
 
74
- await expect(cookies.isPolicyAccepted("analytics")).toEqual(true);
77
+ await expect(cookies.isPolicyAccepted("essential")).toEqual(true);
78
+ await expect(cookies.isPolicyAccepted("usage")).toEqual(true);
75
79
  await expect(cookies.isPolicyAccepted("settings")).toEqual(true);
76
80
  await expect(cookies.isPolicyAccepted("unknown")).toEqual(null);
77
81
  await expect(acceptButton).not.toBeVisible();
82
+ await expect(rejectButton).not.toBeVisible();
78
83
 
79
84
  // const closeButton = canvas.getByText("Close this message");
80
85
  // await expect(closeButton).toBeVisible();
@@ -94,18 +99,24 @@ Reject.play = async ({ canvasElement }) => {
94
99
  const cookies = new Cookies();
95
100
  deleteAllCookies(cookies);
96
101
 
97
- await expect(cookies.isPolicyAccepted("analytics")).toEqual(false);
102
+ await expect(cookies.isPolicyAccepted("essential")).toEqual(true);
103
+ await expect(cookies.isPolicyAccepted("usage")).toEqual(false);
98
104
  await expect(cookies.isPolicyAccepted("settings")).toEqual(false);
99
105
  await expect(cookies.isPolicyAccepted("unknown")).toEqual(null);
100
106
 
101
107
  const canvas = within(canvasElement);
108
+ const acceptButton = canvas.getByText("Accept cookies");
102
109
  const rejectButton = canvas.getByText("Reject cookies");
110
+ await expect(acceptButton).toBeVisible();
103
111
  await expect(rejectButton).toBeVisible();
104
112
  await userEvent.click(rejectButton);
105
113
 
106
- await expect(cookies.isPolicyAccepted("analytics")).toEqual(false);
114
+ await expect(cookies.isPolicyAccepted("essential")).toEqual(true);
115
+ await expect(cookies.isPolicyAccepted("usage")).toEqual(false);
107
116
  await expect(cookies.isPolicyAccepted("settings")).toEqual(false);
108
117
  await expect(cookies.isPolicyAccepted("unknown")).toEqual(null);
118
+ await expect(acceptButton).not.toBeVisible();
119
+ await expect(rejectButton).not.toBeVisible();
109
120
 
110
121
  deleteAllCookies(cookies);
111
122
  };
@@ -120,7 +131,8 @@ CustomPolicies.play = async ({ args, canvasElement }) => {
120
131
  const cookies = new Cookies(args.policies.split(","));
121
132
  deleteAllCookies(cookies);
122
133
 
123
- await expect(cookies.isPolicyAccepted("analytics")).toEqual(null);
134
+ await expect(cookies.isPolicyAccepted("essential")).toEqual(true);
135
+ await expect(cookies.isPolicyAccepted("usage")).toEqual(null);
124
136
  await expect(cookies.isPolicyAccepted("settings")).toEqual(null);
125
137
  await expect(cookies.isPolicyAccepted("custom")).toEqual(false);
126
138
 
@@ -128,7 +140,8 @@ CustomPolicies.play = async ({ args, canvasElement }) => {
128
140
  const acceptButton = canvas.getByText("Accept cookies");
129
141
  await userEvent.click(acceptButton);
130
142
 
131
- await expect(cookies.isPolicyAccepted("analytics")).toEqual(null);
143
+ await expect(cookies.isPolicyAccepted("essential")).toEqual(true);
144
+ await expect(cookies.isPolicyAccepted("usage")).toEqual(null);
132
145
  await expect(cookies.isPolicyAccepted("settings")).toEqual(null);
133
146
  await expect(cookies.isPolicyAccepted("custom")).toEqual(true);
134
147
 
@@ -138,7 +151,7 @@ CustomPolicies.play = async ({ args, canvasElement }) => {
138
151
  export const AddScriptsOnAccept = Template.bind({});
139
152
  AddScriptsOnAccept.args = {
140
153
  cookiesUrl: "#",
141
- loadScriptsOnAccept: "my-analytics-script.js",
154
+ loadScriptsOnAccept: "my-usage-script.js",
142
155
  classes: "tna-cookie-banner--demo",
143
156
  };
144
157
  AddScriptsOnAccept.play = async ({ args, canvasElement }) => {
@@ -12,7 +12,7 @@
12
12
  "description": ""
13
13
  },
14
14
  {
15
- "name": "hideCookieBannerKey",
15
+ "name": "cookiesPreferencesSetKey",
16
16
  "type": "string",
17
17
  "required": false,
18
18
  "description": ""
@@ -1,10 +1,10 @@
1
1
  {% from "nationalarchives/components/button/macro.njk" import tnaButton %}
2
2
 
3
3
  {%- set containerClasses = [params.classes] if params.classes else [] -%}
4
- <div class="tna-cookie-banner {{ containerClasses | join(' ') }}" role="region" aria-label="Cookie usage" data-module="tna-cookie-banner" data-policies="{{ params.policies if params.policies else 'analytics,settings' }}" data-hidekey="{{ params.hideCookieBannerKey if params.hideCookieBannerKey else 'hide_tna_cookie_banner' }}"{% if params.loadScriptsOnAccept %} data-acceptscripts="{{ params.loadScriptsOnAccept }}"{% endif %}{%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %} hidden>
4
+ <div class="tna-cookie-banner {{ containerClasses | join(' ') }}" role="region" aria-label="Cookie usage" data-module="tna-cookie-banner" data-policies="{{ params.policies if params.policies else 'usage,settings' }}" data-preferenceskey="{{ params.cookiesPreferencesSetKey if params.cookiesPreferencesSetKey else 'cookies_preferences_set' }}"{% if params.loadScriptsOnAccept %} data-acceptscripts="{{ params.loadScriptsOnAccept }}"{% endif %}{%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %} hidden>
5
5
  <div class="tna-container">
6
6
  <div class="tna-column tna-column--full tna-cookie-banner__message tna-cookie-banner__message--prompt">
7
- <h2>This website uses cookies</h2>
7
+ <h2 class="tna-heading-m">This website uses cookies</h2>
8
8
  <p>We use some essential cookies to make this service work.</p>
9
9
  <p>We'd also like to use analytics cookies so we can understand how you use the service and make improvements.</p>
10
10
  <div class="tna-button-group">
@@ -29,7 +29,7 @@
29
29
  }) }}
30
30
  </div>
31
31
  </div>
32
- <div class="tna-column tna-column--full tna-cookie-banner__message tna-cookie-banner__message--accepted" hidden>
32
+ <div class="tna-column tna-column--full tna-cookie-banner__message tna-cookie-banner__message--accepted" tabindex="0" hidden>
33
33
  <p>
34
34
  You have accepted optional cookies. You can change your cookie settings on the <a href="#">Cookies page</a>.
35
35
  </p>
@@ -43,7 +43,7 @@
43
43
  }) }}
44
44
  </div>
45
45
  </div>
46
- <div class="tna-column tna-column--full tna-cookie-banner__message tna-cookie-banner__message--rejected" hidden>
46
+ <div class="tna-column tna-column--full tna-cookie-banner__message tna-cookie-banner__message--rejected" tabindex="0" hidden>
47
47
  <p>
48
48
  You have rejected optional cookies. You can change your cookie settings on the <a href="#">Cookies page</a>.
49
49
  </p>
@@ -1 +1 @@
1
- @import"https://use.typekit.net/hkj3kuz.css";.tna-filters,.tna-ul,.tna-ol,.tna-chip-list,.tna-blockquote,.tna-scene-setter,.tna-aside{margin-bottom:2rem}.tna-filters:last-child,.tna-ul:last-child,.tna-ol:last-child,.tna-chip-list:last-child,.tna-blockquote:last-child,.tna-scene-setter:last-child,.tna-aside:last-child{margin-bottom:0}.tna-visually-hidden{width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;position:absolute !important;top:-9999px !important;left:-9999px !important;z-index:-1 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;border:0 !important;background-color:rgba(0,0,0,0) !important}.tna-visually-hidden::before,.tna-visually-hidden::after{content:" "}.tna-background--contrast{--font-base: var(--contrast-font-base);--font-dark: var(--contrast-font-dark);--font-light: var(--contrast-font-light);--link: var(--contrast-link);--link-visited: var(--contrast-link-visited);--keyline: var(--contrast-keyline);--keyline-dark: var(--contrast-keyline-dark);--button-text: var(--contrast-button-text);--button-background: var(--contrast-button-background);--button-hover-text: var(--contrast-button-hover-text);--button-hover-background: var(--contrast-button-hover-background);background-color:#1e1e1e;background-color:var(--contrast-background);color:rgba(255,255,255,.95);color:var(--font-base)}.tna-chip,.tna-hgroup__supertitle,.tna-background--accent{--font-base: var(--accent-font-base);--font-dark: var(--accent-font-dark);--font-light: var(--accent-font-light);--link: var(--accent-link);--link-visited: var(--accent-link-visited);--keyline: var(--accent-keyline);--keyline-dark: var(--accent-keyline-dark);background-color:#111;background-color:var(--accent-background);color:rgba(255,255,255,.95);color:var(--font-base)}.tna-background--accent-light{background-color:#d9d9d6;background-color:var(--accent-background-light);--font-base: #343338;--font-dark: #000;--font-light: rgba(52, 51, 56, 0.7);--link: #000;--link-visited: #4c2c92;--keyline: #ccc;--keyline-dark: #26262a;--button-text: #fff;--button-background: #000;--button-hover-text: #000;--button-hover-background: #fff}:root{--page-background: #f4f4f4;--font-base: #343338;--font-dark: #000;--font-light: rgba(52, 51, 56, 0.7);--link: #1d70ab;--link-visited: #4c2c92;--focus-outline: #00b0ff;--keyline: #ccc;--keyline-dark: #26262a;--button-text: #fff;--button-background: #000;--button-hover-text: #000;--button-hover-background: #fff;--contrast-background: #1e1e1e;--contrast-font-base: #fff;--contrast-font-dark: #fff;--contrast-font-light: rgba(255, 255, 255, 0.7);--contrast-link: #fff;--contrast-link-visited: #fff;--contrast-keyline: rgba(255, 255, 255, 0.5);--contrast-keyline-dark: rgba(255, 255, 255, 0.8);--contrast-button-text: #000;--contrast-button-background: #fff;--contrast-button-hover-text: #fff;--contrast-button-hover-background: #000;--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: #fff;--accent-font-dark: #fff;--accent-font-light: rgba(255, 255, 255, 0.7);--accent-link: #fff;--accent-link-visited: #b9f;--accent-keyline: rgba(255, 255, 255, 0.5);--accent-keyline-dark: rgba(255, 255, 255, 0.8);--button-accent-text: #000;--button-accent-background: #8c9694}.tna-template{min-width:320px;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:16px;background-color:#f4f4f4;background-color:var(--page-background);accent-color:var(--accent);--accent-font-base: #fff !important;--accent-font-dark: #fff !important;--accent-font-light: rgba(255, 255, 255, 0.7) !important;--accent-link: #fff !important;--accent-link-visited: #fff !important;--accent-keyline: rgba(255, 255, 255, 0.5) !important;--accent-keyline-dark: rgba(255, 255, 255, 0.8) !important}.tna-template--system-theme{--page-background: #f4f4f4;--font-base: #343338;--font-dark: #000;--font-light: rgba(52, 51, 56, 0.7);--link: #1d70ab;--link-visited: #4c2c92;--focus-outline: #00b0ff;--keyline: #ccc;--keyline-dark: #26262a;--button-text: #fff;--button-background: #000;--button-hover-text: #000;--button-hover-background: #fff;--contrast-background: #1e1e1e;--contrast-font-base: #fff;--contrast-font-dark: #fff;--contrast-font-light: rgba(255, 255, 255, 0.7);--contrast-link: #fff;--contrast-link-visited: #fff;--contrast-keyline: rgba(255, 255, 255, 0.5);--contrast-keyline-dark: rgba(255, 255, 255, 0.8);--contrast-button-text: #000;--contrast-button-background: #fff;--contrast-button-hover-text: #fff;--contrast-button-hover-background: #000;--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: #fff;--accent-font-dark: #fff;--accent-font-light: rgba(255, 255, 255, 0.7);--accent-link: #fff;--accent-link-visited: #b9f;--accent-keyline: rgba(255, 255, 255, 0.5);--accent-keyline-dark: rgba(255, 255, 255, 0.8);--button-accent-text: #000;--button-accent-background: #8c9694}@media(prefers-color-scheme: dark){.tna-template--system-theme{--page-background: #111;--font-base: rgba(255, 255, 255, 0.95);--font-dark: #fff;--font-light: rgba(255, 255, 255, 0.5);--link: #00b0ff;--link-visited: #fff;--focus-outline: #00b0ff;--keyline: rgba(255, 255, 255, 0.25);--keyline-dark: #fff;--button-text: #000;--button-background: #fff;--button-hover-text: #fff;--button-hover-background: #000;--contrast-background: #1e1e1e;--contrast-font-base: #fff;--contrast-font-dark: #fff;--contrast-font-light: rgba(255, 255, 255, 0.7);--contrast-link: #fff;--contrast-link-visited: #fff;--contrast-keyline: rgba(255, 255, 255, 0.5);--contrast-keyline-dark: rgba(255, 255, 255, 0.8);--contrast-button-text: #000;--contrast-button-background: #fff;--contrast-button-hover-text: #fff;--contrast-button-hover-background: #000;--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #8c9694;--accent-font-base: #fff;--accent-font-dark: #fff;--accent-font-light: rgba(255, 255, 255, 0.7);--accent-link: #fff;--accent-link-visited: #b9f;--accent-keyline: rgba(255, 255, 255, 0.5);--accent-keyline-dark: rgba(255, 255, 255, 0.8);--button-accent-text: #000;--button-accent-background: #8c9694}}@media(prefers-contrast: more){.tna-template--system-theme{--page-background: #fff;--font-base: #000;--font-dark: #000;--font-light: #000;--link: #004c7e;--link-visited: #000;--focus-outline: #fd3f03;--keyline: #000;--keyline-dark: #000;--button-text: #fff;--button-background: #000;--button-hover-text: #000;--button-hover-background: #fff;--contrast-background: #f4f4f4;--contrast-font-base: #000;--contrast-font-dark: #000;--contrast-font-light: #000;--contrast-link: #004c7e;--contrast-link-visited: #000;--contrast-keyline: #000;--contrast-keyline-dark: #000;--contrast-button-text: #fff;--contrast-button-background: #000;--contrast-button-hover-text: #000;--contrast-button-hover-background: #fff;--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: #fff;--accent-font-dark: #fff;--accent-font-light: rgba(255, 255, 255, 0.7);--accent-link: #fff;--accent-link-visited: #b9f;--accent-keyline: rgba(255, 255, 255, 0.5);--accent-keyline-dark: rgba(255, 255, 255, 0.8);--button-accent-text: #000;--button-accent-background: #8c9694}.tna-template--system-theme *{background-image:none !important}}@media(prefers-contrast: more)and (prefers-color-scheme: dark){.tna-template--system-theme{--page-background: #000;--font-base: #fff;--font-dark: #fff;--font-light: #fff;--link: #fff;--link-visited: #fff;--focus-outline: #00b0ff;--keyline: #fff;--keyline-dark: #fff;--button-text: #000;--button-background: #fff;--button-hover-text: #fff;--button-hover-background: #000;--contrast-background: #111;--contrast-font-base: #fff;--contrast-font-dark: #fff;--contrast-font-light: rgba(255, 255, 255, 0.7);--contrast-link: #fff;--contrast-link-visited: #fff;--contrast-keyline: rgba(255, 255, 255, 0.5);--contrast-keyline-dark: rgba(255, 255, 255, 0.8);--contrast-button-text: #000;--contrast-button-background: #fff;--contrast-button-hover-text: #fff;--contrast-button-hover-background: #000;--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #8c9694;--accent-font-base: #fff;--accent-font-dark: #fff;--accent-font-light: rgba(255, 255, 255, 0.7);--accent-link: #fff;--accent-link-visited: #b9f;--accent-keyline: rgba(255, 255, 255, 0.5);--accent-keyline-dark: rgba(255, 255, 255, 0.8);--button-accent-text: #000;--button-accent-background: #8c9694}}.tna-template--light-theme{--page-background: #f4f4f4;--font-base: #343338;--font-dark: #000;--font-light: rgba(52, 51, 56, 0.7);--link: #1d70ab;--link-visited: #4c2c92;--focus-outline: #00b0ff;--keyline: #ccc;--keyline-dark: #26262a;--button-text: #fff;--button-background: #000;--button-hover-text: #000;--button-hover-background: #fff;--contrast-background: #1e1e1e;--contrast-font-base: #fff;--contrast-font-dark: #fff;--contrast-font-light: rgba(255, 255, 255, 0.7);--contrast-link: #fff;--contrast-link-visited: #fff;--contrast-keyline: rgba(255, 255, 255, 0.5);--contrast-keyline-dark: rgba(255, 255, 255, 0.8);--contrast-button-text: #000;--contrast-button-background: #fff;--contrast-button-hover-text: #fff;--contrast-button-hover-background: #000;--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: #fff;--accent-font-dark: #fff;--accent-font-light: rgba(255, 255, 255, 0.7);--accent-link: #fff;--accent-link-visited: #b9f;--accent-keyline: rgba(255, 255, 255, 0.5);--accent-keyline-dark: rgba(255, 255, 255, 0.8);--button-accent-text: #000;--button-accent-background: #8c9694}.tna-template--dark-theme{--page-background: #111;--font-base: rgba(255, 255, 255, 0.95);--font-dark: #fff;--font-light: rgba(255, 255, 255, 0.5);--link: #00b0ff;--link-visited: #fff;--focus-outline: #00b0ff;--keyline: rgba(255, 255, 255, 0.25);--keyline-dark: #fff;--button-text: #000;--button-background: #fff;--button-hover-text: #fff;--button-hover-background: #000;--contrast-background: #1e1e1e;--contrast-font-base: #fff;--contrast-font-dark: #fff;--contrast-font-light: rgba(255, 255, 255, 0.7);--contrast-link: #fff;--contrast-link-visited: #fff;--contrast-keyline: rgba(255, 255, 255, 0.5);--contrast-keyline-dark: rgba(255, 255, 255, 0.8);--contrast-button-text: #000;--contrast-button-background: #fff;--contrast-button-hover-text: #fff;--contrast-button-hover-background: #000;--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #8c9694;--accent-font-base: #fff;--accent-font-dark: #fff;--accent-font-light: rgba(255, 255, 255, 0.7);--accent-link: #fff;--accent-link-visited: #b9f;--accent-keyline: rgba(255, 255, 255, 0.5);--accent-keyline-dark: rgba(255, 255, 255, 0.8);--button-accent-text: #000;--button-accent-background: #8c9694}.tna-template--high-contrast-theme{--page-background: #fff;--font-base: #000;--font-dark: #000;--font-light: #000;--link: #004c7e;--link-visited: #000;--focus-outline: #fd3f03;--keyline: #000;--keyline-dark: #000;--button-text: #fff;--button-background: #000;--button-hover-text: #000;--button-hover-background: #fff;--contrast-background: #f4f4f4;--contrast-font-base: #000;--contrast-font-dark: #000;--contrast-font-light: #000;--contrast-link: #004c7e;--contrast-link-visited: #000;--contrast-keyline: #000;--contrast-keyline-dark: #000;--contrast-button-text: #fff;--contrast-button-background: #000;--contrast-button-hover-text: #000;--contrast-button-hover-background: #fff;--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: #fff;--accent-font-dark: #fff;--accent-font-light: rgba(255, 255, 255, 0.7);--accent-link: #fff;--accent-link-visited: #b9f;--accent-keyline: rgba(255, 255, 255, 0.5);--accent-keyline-dark: rgba(255, 255, 255, 0.8);--button-accent-text: #000;--button-accent-background: #8c9694}.tna-template--high-contrast-theme *{background-image:none !important}.tna-template--high-contrast-theme.tna-template--dark-theme{--page-background: #000;--font-base: #fff;--font-dark: #fff;--font-light: #fff;--link: #fff;--link-visited: #fff;--focus-outline: #00b0ff;--keyline: #fff;--keyline-dark: #fff;--button-text: #000;--button-background: #fff;--button-hover-text: #fff;--button-hover-background: #000;--contrast-background: #111;--contrast-font-base: #fff;--contrast-font-dark: #fff;--contrast-font-light: rgba(255, 255, 255, 0.7);--contrast-link: #fff;--contrast-link-visited: #fff;--contrast-keyline: rgba(255, 255, 255, 0.5);--contrast-keyline-dark: rgba(255, 255, 255, 0.8);--contrast-button-text: #000;--contrast-button-background: #fff;--contrast-button-hover-text: #fff;--contrast-button-hover-background: #000;--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #8c9694;--accent-font-base: #fff;--accent-font-dark: #fff;--accent-font-light: rgba(255, 255, 255, 0.7);--accent-link: #fff;--accent-link-visited: #b9f;--accent-keyline: rgba(255, 255, 255, 0.5);--accent-keyline-dark: rgba(255, 255, 255, 0.8);--button-accent-text: #000;--button-accent-background: #8c9694}.tna-template--yellow-accent{--accent: #fc0 !important;--accent-background: #fc0 !important;--accent-background-light: #f9f7e2 !important;--accent-font-base: #000 !important;--accent-font-dark: #000 !important;--accent-font-light: rgba(0, 0, 0, 0.7) !important;--accent-link: #000 !important;--accent-link-visited: #000 !important;--accent-keyline: rgba(0, 0, 0, 0.5) !important;--accent-keyline-dark: rgba(0, 0, 0, 0.8) !important;--button-accent-background: #fc0 !important}.tna-template--pink-accent{--accent-font-base: #fff !important;--accent-font-dark: #fff !important;--accent-font-light: rgba(255, 255, 255, 0.7) !important;--accent-link: #fff !important;--accent-link-visited: #fff !important;--accent-keyline: rgba(255, 255, 255, 0.5) !important;--accent-keyline-dark: rgba(255, 255, 255, 0.8) !important;--button-accent-text: #fff !important;--accent: #fe1d57 !important;--accent-background: #9c193a !important;--accent-background-light: #fad3d4 !important;--button-accent-background: #9c193a !important}.tna-template--orange-accent{--accent-font-base: #fff !important;--accent-font-dark: #fff !important;--accent-font-light: rgba(255, 255, 255, 0.7) !important;--accent-link: #fff !important;--accent-link-visited: #fff !important;--accent-keyline: rgba(255, 255, 255, 0.5) !important;--accent-keyline-dark: rgba(255, 255, 255, 0.8) !important;--button-accent-text: #fff !important;--accent: #fd3f03 !important;--accent-background: #8f3415 !important;--accent-background-light: #f9e1bc !important;--button-accent-background: #8f3415 !important}.tna-template--green-accent{--accent-font-base: #fff !important;--accent-font-dark: #fff !important;--accent-font-light: rgba(255, 255, 255, 0.7) !important;--accent-link: #fff !important;--accent-link-visited: #fff !important;--accent-keyline: rgba(255, 255, 255, 0.5) !important;--accent-keyline-dark: rgba(255, 255, 255, 0.8) !important;--button-accent-text: #fff !important;--accent: #86bc25 !important;--accent-background: #00623b !important;--accent-background-light: #dde5d5 !important;--button-accent-background: #00623b !important}.tna-template--blue-accent{--accent-font-base: #fff !important;--accent-font-dark: #fff !important;--accent-font-light: rgba(255, 255, 255, 0.7) !important;--accent-link: #fff !important;--accent-link-visited: #fff !important;--accent-keyline: rgba(255, 255, 255, 0.5) !important;--accent-keyline-dark: rgba(255, 255, 255, 0.8) !important;--button-accent-text: #fff !important;--accent: #00b0ff !important;--accent-background: #004c7e !important;--accent-background-light: #d4e5ef !important;--button-accent-background: #004c7e !important}@media(prefers-reduced-motion){.tna-template *{animation:none !important;transition:none !important}}.tna-template__body{min-height:100%;margin:0;padding:0;overflow:auto}.tna-template__body:has(.tna-header):has(#main-content[role=main]):has(.tna-footer){display:flex;flex-direction:column}.tna-template__body:has(.tna-header):has(#main-content[role=main]):has(.tna-footer) #main-content[role=main]{flex:1}img,svg,picture,video,canvas{max-width:100%;display:block}video,canvas{width:100%}[hidden]{display:none}*:focus{outline:.3125rem solid;outline-color:#00b0ff;outline-color:var(--focus-outline);outline-offset:.125rem}hr{margin:2rem 0;border-width:1px 0 0;border-color:#ccc;border-color:var(--keyline);border-style:solid}.tna-section{padding-top:3rem;padding-bottom:3rem}@media(max-width: 48em){.tna-section{padding-top:2rem;padding-bottom:2rem}}.tna-aside{padding:2rem}@media(max-width: 48em){.tna-aside{padding:1rem}}.tna-template--high-contrast-theme .tna-aside{border:1px #26262a solid;border:1px var(--keyline-dark) solid}@media(prefers-contrast: more){.tna-template--system-theme .tna-aside{border:1px #26262a solid;border:1px var(--keyline-dark) solid}}.tna-\!--no-margin-top,.tna-\!--no-margin-vertical{margin-top:0 !important}.tna-\!--no-margin-bottom,.tna-\!--no-margin-vertical{margin-bottom:0 !important}.tna-\!--no-padding-top,.tna-\!--no-padding-vertical{padding-top:0 !important}.tna-\!--no-padding-bottom,.tna-\!--no-padding-vertical{padding-bottom:0 !important}.tna-\!--margin-top-xs,.tna-\!--margin-vertical-xs{margin-top:0.5rem !important}.tna-\!--margin-top-s,.tna-\!--margin-vertical-s{margin-top:1rem !important}.tna-\!--margin-top-m,.tna-\!--margin-vertical-m{margin-top:2rem !important}.tna-\!--margin-top-l,.tna-\!--margin-vertical-l{margin-top:3rem !important}.tna-\!--margin-top-xl,.tna-\!--margin-vertical-xl{margin-top:5rem !important}.tna-\!--margin-top-xxl,.tna-\!--margin-vertical-xxl{margin-top:8rem !important}.tna-\!--margin-bottom-xs,.tna-\!--margin-vertical-xs{margin-bottom:0.5rem !important}.tna-\!--margin-bottom-s,.tna-\!--margin-vertical-s{margin-bottom:1rem !important}.tna-\!--margin-bottom-m,.tna-\!--margin-vertical-m{margin-bottom:2rem !important}.tna-\!--margin-bottom-l,.tna-\!--margin-vertical-l{margin-bottom:3rem !important}.tna-\!--margin-bottom-xl,.tna-\!--margin-vertical-xl{margin-bottom:5rem !important}.tna-\!--margin-bottom-xxl,.tna-\!--margin-vertical-xxl{margin-bottom:8rem !important}.tna-\!--padding-top-xs,.tna-\!--padding-vertical-xs{padding-top:0.5rem !important}.tna-\!--padding-top-s,.tna-\!--padding-vertical-s{padding-top:1rem !important}.tna-\!--padding-top-m,.tna-\!--padding-vertical-m{padding-top:2rem !important}.tna-\!--padding-top-l,.tna-\!--padding-vertical-l{padding-top:3rem !important}.tna-\!--padding-top-xl,.tna-\!--padding-vertical-xl{padding-top:5rem !important}.tna-\!--padding-top-xxl,.tna-\!--padding-vertical-xxl{padding-top:8rem !important}.tna-\!--padding-bottom-xs,.tna-\!--padding-vertical-xs{padding-bottom:0.5rem !important}.tna-\!--padding-bottom-s,.tna-\!--padding-vertical-s{padding-bottom:1rem !important}.tna-\!--padding-bottom-m,.tna-\!--padding-vertical-m{padding-bottom:2rem !important}.tna-\!--padding-bottom-l,.tna-\!--padding-vertical-l{padding-bottom:3rem !important}.tna-\!--padding-bottom-xl,.tna-\!--padding-vertical-xl{padding-bottom:5rem !important}.tna-\!--padding-bottom-xxl,.tna-\!--padding-vertical-xxl{padding-bottom:8rem !important}@media(min-width: 48.0625em)and (max-width: 64em){.tna-\!--no-margin-top-medium,.tna-\!--no-margin-vertical-medium{margin-top:0 !important}.tna-\!--no-margin-bottom-medium,.tna-\!--no-margin-vertical-medium{margin-bottom:0 !important}.tna-\!--no-padding-top-medium,.tna-\!--no-padding-vertical-medium{padding-top:0 !important}.tna-\!--no-padding-bottom-medium,.tna-\!--no-padding-vertical-medium{padding-bottom:0 !important}.tna-\!--margin-top-xs-medium,.tna-\!--margin-vertical-xs-medium{margin-top:0.5rem !important}.tna-\!--margin-top-s-medium,.tna-\!--margin-vertical-s-medium{margin-top:1rem !important}.tna-\!--margin-top-m-medium,.tna-\!--margin-vertical-m-medium{margin-top:2rem !important}.tna-\!--margin-top-l-medium,.tna-\!--margin-vertical-l-medium{margin-top:3rem !important}.tna-\!--margin-top-xl-medium,.tna-\!--margin-vertical-xl-medium{margin-top:5rem !important}.tna-\!--margin-top-xxl-medium,.tna-\!--margin-vertical-xxl-medium{margin-top:8rem !important}.tna-\!--margin-bottom-xs-medium,.tna-\!--margin-vertical-xs-medium{margin-bottom:0.5rem !important}.tna-\!--margin-bottom-s-medium,.tna-\!--margin-vertical-s-medium{margin-bottom:1rem !important}.tna-\!--margin-bottom-m-medium,.tna-\!--margin-vertical-m-medium{margin-bottom:2rem !important}.tna-\!--margin-bottom-l-medium,.tna-\!--margin-vertical-l-medium{margin-bottom:3rem !important}.tna-\!--margin-bottom-xl-medium,.tna-\!--margin-vertical-xl-medium{margin-bottom:5rem !important}.tna-\!--margin-bottom-xxl-medium,.tna-\!--margin-vertical-xxl-medium{margin-bottom:8rem !important}.tna-\!--padding-top-xs-medium,.tna-\!--padding-vertical-xs-medium{padding-top:0.5rem !important}.tna-\!--padding-top-s-medium,.tna-\!--padding-vertical-s-medium{padding-top:1rem !important}.tna-\!--padding-top-m-medium,.tna-\!--padding-vertical-m-medium{padding-top:2rem !important}.tna-\!--padding-top-l-medium,.tna-\!--padding-vertical-l-medium{padding-top:3rem !important}.tna-\!--padding-top-xl-medium,.tna-\!--padding-vertical-xl-medium{padding-top:5rem !important}.tna-\!--padding-top-xxl-medium,.tna-\!--padding-vertical-xxl-medium{padding-top:8rem !important}.tna-\!--padding-bottom-xs-medium,.tna-\!--padding-vertical-xs-medium{padding-bottom:0.5rem !important}.tna-\!--padding-bottom-s-medium,.tna-\!--padding-vertical-s-medium{padding-bottom:1rem !important}.tna-\!--padding-bottom-m-medium,.tna-\!--padding-vertical-m-medium{padding-bottom:2rem !important}.tna-\!--padding-bottom-l-medium,.tna-\!--padding-vertical-l-medium{padding-bottom:3rem !important}.tna-\!--padding-bottom-xl-medium,.tna-\!--padding-vertical-xl-medium{padding-bottom:5rem !important}.tna-\!--padding-bottom-xxl-medium,.tna-\!--padding-vertical-xxl-medium{padding-bottom:8rem !important}}@media(min-width: 30.0625em)and (max-width: 48em){.tna-\!--no-margin-top-small,.tna-\!--no-margin-vertical-small{margin-top:0 !important}.tna-\!--no-margin-bottom-small,.tna-\!--no-margin-vertical-small{margin-bottom:0 !important}.tna-\!--no-padding-top-small,.tna-\!--no-padding-vertical-small{padding-top:0 !important}.tna-\!--no-padding-bottom-small,.tna-\!--no-padding-vertical-small{padding-bottom:0 !important}.tna-\!--margin-top-xs-small,.tna-\!--margin-vertical-xs-small{margin-top:0.5rem !important}.tna-\!--margin-top-s-small,.tna-\!--margin-vertical-s-small{margin-top:0.75rem !important}.tna-\!--margin-top-m-small,.tna-\!--margin-vertical-m-small{margin-top:1.5rem !important}.tna-\!--margin-top-l-small,.tna-\!--margin-vertical-l-small{margin-top:2rem !important}.tna-\!--margin-top-xl-small,.tna-\!--margin-vertical-xl-small{margin-top:3rem !important}.tna-\!--margin-top-xxl-small,.tna-\!--margin-vertical-xxl-small{margin-top:5rem !important}.tna-\!--margin-bottom-xs-small,.tna-\!--margin-vertical-xs-small{margin-bottom:0.5rem !important}.tna-\!--margin-bottom-s-small,.tna-\!--margin-vertical-s-small{margin-bottom:0.75rem !important}.tna-\!--margin-bottom-m-small,.tna-\!--margin-vertical-m-small{margin-bottom:1.5rem !important}.tna-\!--margin-bottom-l-small,.tna-\!--margin-vertical-l-small{margin-bottom:2rem !important}.tna-\!--margin-bottom-xl-small,.tna-\!--margin-vertical-xl-small{margin-bottom:3rem !important}.tna-\!--margin-bottom-xxl-small,.tna-\!--margin-vertical-xxl-small{margin-bottom:5rem !important}.tna-\!--padding-top-xs-small,.tna-\!--padding-vertical-xs-small{padding-top:0.5rem !important}.tna-\!--padding-top-s-small,.tna-\!--padding-vertical-s-small{padding-top:0.75rem !important}.tna-\!--padding-top-m-small,.tna-\!--padding-vertical-m-small{padding-top:1.5rem !important}.tna-\!--padding-top-l-small,.tna-\!--padding-vertical-l-small{padding-top:2rem !important}.tna-\!--padding-top-xl-small,.tna-\!--padding-vertical-xl-small{padding-top:3rem !important}.tna-\!--padding-top-xxl-small,.tna-\!--padding-vertical-xxl-small{padding-top:5rem !important}.tna-\!--padding-bottom-xs-small,.tna-\!--padding-vertical-xs-small{padding-bottom:0.5rem !important}.tna-\!--padding-bottom-s-small,.tna-\!--padding-vertical-s-small{padding-bottom:0.75rem !important}.tna-\!--padding-bottom-m-small,.tna-\!--padding-vertical-m-small{padding-bottom:1.5rem !important}.tna-\!--padding-bottom-l-small,.tna-\!--padding-vertical-l-small{padding-bottom:2rem !important}.tna-\!--padding-bottom-xl-small,.tna-\!--padding-vertical-xl-small{padding-bottom:3rem !important}.tna-\!--padding-bottom-xxl-small,.tna-\!--padding-vertical-xxl-small{padding-bottom:5rem !important}}@media(max-width: 30em){.tna-\!--no-margin-top-tiny,.tna-\!--no-margin-vertical-tiny{margin-top:0 !important}.tna-\!--no-margin-bottom-tiny,.tna-\!--no-margin-vertical-tiny{margin-bottom:0 !important}.tna-\!--no-padding-top-tiny,.tna-\!--no-padding-vertical-tiny{padding-top:0 !important}.tna-\!--no-padding-bottom-tiny,.tna-\!--no-padding-vertical-tiny{padding-bottom:0 !important}.tna-\!--margin-top-xs-tiny,.tna-\!--margin-vertical-xs-tiny{margin-top:0.5rem !important}.tna-\!--margin-top-s-tiny,.tna-\!--margin-vertical-s-tiny{margin-top:0.75rem !important}.tna-\!--margin-top-m-tiny,.tna-\!--margin-vertical-m-tiny{margin-top:1.5rem !important}.tna-\!--margin-top-l-tiny,.tna-\!--margin-vertical-l-tiny{margin-top:2rem !important}.tna-\!--margin-top-xl-tiny,.tna-\!--margin-vertical-xl-tiny{margin-top:3rem !important}.tna-\!--margin-top-xxl-tiny,.tna-\!--margin-vertical-xxl-tiny{margin-top:5rem !important}.tna-\!--margin-bottom-xs-tiny,.tna-\!--margin-vertical-xs-tiny{margin-bottom:0.5rem !important}.tna-\!--margin-bottom-s-tiny,.tna-\!--margin-vertical-s-tiny{margin-bottom:0.75rem !important}.tna-\!--margin-bottom-m-tiny,.tna-\!--margin-vertical-m-tiny{margin-bottom:1.5rem !important}.tna-\!--margin-bottom-l-tiny,.tna-\!--margin-vertical-l-tiny{margin-bottom:2rem !important}.tna-\!--margin-bottom-xl-tiny,.tna-\!--margin-vertical-xl-tiny{margin-bottom:3rem !important}.tna-\!--margin-bottom-xxl-tiny,.tna-\!--margin-vertical-xxl-tiny{margin-bottom:5rem !important}.tna-\!--padding-top-xs-tiny,.tna-\!--padding-vertical-xs-tiny{padding-top:0.5rem !important}.tna-\!--padding-top-s-tiny,.tna-\!--padding-vertical-s-tiny{padding-top:0.75rem !important}.tna-\!--padding-top-m-tiny,.tna-\!--padding-vertical-m-tiny{padding-top:1.5rem !important}.tna-\!--padding-top-l-tiny,.tna-\!--padding-vertical-l-tiny{padding-top:2rem !important}.tna-\!--padding-top-xl-tiny,.tna-\!--padding-vertical-xl-tiny{padding-top:3rem !important}.tna-\!--padding-top-xxl-tiny,.tna-\!--padding-vertical-xxl-tiny{padding-top:5rem !important}.tna-\!--padding-bottom-xs-tiny,.tna-\!--padding-vertical-xs-tiny{padding-bottom:0.5rem !important}.tna-\!--padding-bottom-s-tiny,.tna-\!--padding-vertical-s-tiny{padding-bottom:0.75rem !important}.tna-\!--padding-bottom-m-tiny,.tna-\!--padding-vertical-m-tiny{padding-bottom:1.5rem !important}.tna-\!--padding-bottom-l-tiny,.tna-\!--padding-vertical-l-tiny{padding-bottom:2rem !important}.tna-\!--padding-bottom-xl-tiny,.tna-\!--padding-vertical-xl-tiny{padding-bottom:3rem !important}.tna-\!--padding-bottom-xxl-tiny,.tna-\!--padding-vertical-xxl-tiny{padding-bottom:5rem !important}}@font-face{font-family:"Open Sans";src:url("assets/fonts/OpenSans-Medium.ttf");font-weight:normal;font-style:normal}@font-face{font-family:"Open Sans";src:url("assets/fonts/OpenSans-Bold.ttf");font-weight:bold;font-style:normal}@font-face{font-family:"Roboto Mono";src:url("assets/fonts/RobotoMono-Regular.ttf");font-weight:normal;font-style:normal}.tna-template{color:#343338;color:var(--font-base);font-family:"Open Sans",serif;font-weight:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:none;direction:ltr}.tna-template__body{color:inherit;font-size:1.125rem;line-height:1.7777777778}h1,h2,h3,h4,h5,h6,ul,ol{margin-top:0}h1,h2,h3,h4,h5,h6,strong{font-weight:bold}p{margin:0 0 1.5rem}@media(max-width: 30em){p{margin-bottom:1rem}}p:last-child{margin-bottom:0}a{color:#1d70ab;color:var(--link);text-decoration-thickness:1.5px}a:visited{color:#4c2c92;color:var(--link-visited)}a:hover,a:active{text-decoration:underline;text-decoration-thickness:3.5px}a.tna-chip{text-decoration:none}a.tna-chip,a.tna-chip:link,a.tna-chip:visited{color:#000;color:var(--font-dark)}a.tna-chip:hover{text-decoration:underline;text-decoration-thickness:3.5px}.tna-ul,.tna-ol{margin-top:0;margin-right:0;margin-left:0;padding:0 0 0 2rem}.tna-ul li::marker,.tna-ol li::marker{color:#111;color:var(--accent-background);font-weight:700}.tna-ul--plain,.tna-ol--plain{padding-left:0;list-style:none}.tna-hgroup__supertitle,.tna-chip{max-width:max-content;padding:.375em .5rem;display:block;color:#000;color:var(--font-dark);font-family:"Roboto Mono",monospace;font-weight:normal;font-size:0.875rem;text-transform:uppercase;line-height:1.1428571429;line-height:1}.tna-chip-list{padding-left:0;display:flex;flex-wrap:wrap;gap:1rem;list-style:none}.tna-hgroup__title,.tna-heading{color:#000;color:var(--font-dark);font-family:supria-sans-condensed,"Arial Narrow",sans-serif;font-weight:400}.tna-hgroup__title a,.tna-heading a{display:inline-block}.tna-hgroup__title a::after,.tna-heading a::after{padding-left:.25rem;display:inline-block;font-weight:700;content:"›"}.tna-hgroup__title a:hover::after,.tna-heading a:hover::after{padding-left:.5rem}.tna-hgroup--xl .tna-hgroup__title,.tna-heading--xl{font-size:4rem;line-height:1.2}@media(min-width: 48.0625em)and (max-width: 64em){.tna-hgroup--xl .tna-hgroup__title,.tna-heading--xl{font-size:3.125rem}}@media(max-width: 48em){.tna-hgroup--xl .tna-hgroup__title,.tna-heading--xl{font-size:2.25rem}}.tna-hgroup--l .tna-hgroup__title,.tna-heading--l{font-size:2rem;line-height:1.4}@media(min-width: 48.0625em)and (max-width: 64em){.tna-hgroup--l .tna-hgroup__title,.tna-heading--l{font-size:1.75rem}}@media(max-width: 48em){.tna-hgroup--l .tna-hgroup__title,.tna-heading--l{font-size:1.5rem}}.tna-hgroup--m .tna-hgroup__title,.tna-heading--m{font-size:1.25rem;line-height:1.6}.tna-hgroup--s .tna-hgroup__title,.tna-heading--s{font-size:1.125rem;line-height:1.6}.tna-hgroup__supertitle{margin:0 0 .5rem}.tna-hgroup__title{margin:0;display:block}.tna-heading,.tna-hgroup{margin-top:3rem;margin-bottom:1rem}.tna-heading:first-child,.tna-hgroup:first-child{margin-top:0}.tna-heading:last-child,.tna-hgroup:last-child{margin-bottom:0}.tna-blockquote{margin-top:0;margin-right:0;margin-left:0;padding:1rem 1rem 1rem 2rem;border-left:.35rem #111 solid;border-left:.35rem var(--accent-background) solid}.tna-blockquote__quote{font-weight:700}.tna-blockquote__author{font-style:italic}.tna-blockquote .tna-blockquote__author{margin:1rem 0 0}.tna-blockquote__author::before{content:"—" " "}.tna-scene-setter{font-family:"Roboto Mono",monospace;font-weight:normal;color:#000;color:var(--font-dark);font-size:1.875rem;line-height:1.6666666667}@media(max-width: 48em){.tna-scene-setter{font-size:1.5rem;line-height:2}}.tna-scene-setter a{color:inherit;text-decoration-thickness:2px}.tna-scene-setter a:hover{text-decoration-thickness:4.5px}.tna-columns{column-gap:2rem}.tna-columns--2{column-count:2}.tna-columns--3{column-count:3}@media(max-width: 48em){.tna-columns{column-gap:1.5rem}}@media(min-width: 30.0625em)and (max-width: 48em){.tna-columns--1-small{column-count:1}.tna-columns--2-small{column-count:2}.tna-columns--3-small{column-count:3}.tna-columns--4-small{column-count:4}}@media(max-width: 30em){.tna-columns--1-tiny{column-count:1}.tna-columns--2-tiny{column-count:2}.tna-columns--3-tiny{column-count:3}.tna-columns--4-tiny{column-count:4}}.tna-columns__block{break-inside:avoid}.tna-columns:has(.tna-columns__block:only-of-type){column-count:1}.tna-filters{display:flex;flex-wrap:wrap;gap:1rem}.tna-filters__item--selected .tna-filters__link{background-color:#004c7e}.tna-filters__item--selected .tna-filters__link,.tna-filters__item--selected .tna-filters__link:link,.tna-filters__item--selected .tna-filters__link:visited{color:#fff}.tna-filters__link{padding:.125rem .75rem;text-decoration:none;background-color:#d4e5ef;border-radius:99rem;transition:color 200ms,background-color 200ms}.tna-filters__link,.tna-filters__link:link,.tna-filters__link:visited{color:#000}.tna-filters__link:hover{color:#fff;background-color:#004c7e;transition:color 50ms,background-color 50ms}/*# sourceMappingURL=filters.css.map */
1
+ @import"https://use.typekit.net/hkj3kuz.css";.tna-filters,.tna-chip-list,.tna-heading-xl,.tna-heading-l,.tna-heading-m,.tna-heading-s,.tna-hgroup-xl,.tna-hgroup-l,.tna-hgroup-m,.tna-hgroup-s,.tna-blockquote,.tna-scene-setter,.tna-aside{margin-top:2rem}.tna-filters:first-child,.tna-chip-list:first-child,.tna-heading-xl:first-child,.tna-heading-l:first-child,.tna-heading-m:first-child,.tna-heading-s:first-child,.tna-hgroup-xl:first-child,.tna-hgroup-l:first-child,.tna-hgroup-m:first-child,.tna-hgroup-s:first-child,.tna-blockquote:first-child,.tna-scene-setter:first-child,.tna-aside:first-child{margin-top:0}.tna-background--contrast{--background: var(--contrast-background);--font-base: var(--contrast-font-base);--font-dark: var(--contrast-font-dark);--font-light: var(--contrast-font-light);--icon-light: var(--contrast-icon-light);--link: var(--contrast-link);--link-visited: var(--contrast-link-visited);--keyline: var(--contrast-keyline);--keyline-dark: var(--contrast-keyline-dark);--button-text: var(--contrast-button-text);--button-background: var(--contrast-button-background);--button-hover-text: var(--contrast-button-hover-text);--button-hover-background: var(--contrast-button-hover-background);background-color:var(--background);color:rgb(255 255 255/0.95);color:var(--font-base)}.tna-chip,.tna-hgroup__supertitle,.tna-background--accent{--background: var(--accent-background);--font-base: var(--accent-font-base);--font-dark: var(--accent-font-dark);--font-light: var(--accent-font-light);--icon-light: var(--accent-icon-light);--link: var(--accent-link);--link-visited: var(--accent-link-visited);--keyline: var(--accent-keyline);--keyline-dark: var(--accent-keyline-dark);background-color:var(--background);color:rgb(255 255 255/0.95);color:var(--font-base)}.tna-background--tint{background-color:#d8d8d8;background-color:var(--background-tint)}.tna-background--accent-light{--background: var(--accent-background-light);--font-base: #343338;--font-dark: rgb(0, 0, 0);--font-light: rgb(52 51 56/0.7);--link: rgb(0, 0, 0);--link-visited: #4c2c92;--keyline: rgb(38 38 42/0.25);--keyline-dark: #26262a;--button-text: rgb(255, 255, 255);--button-background: rgb(0, 0, 0);--button-hover-text: rgb(0, 0, 0);--button-hover-background: rgb(255, 255, 255);background-color:var(--background)}.tna-visually-hidden{width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;position:absolute !important;top:-9999px !important;left:-9999px !important;z-index:-1 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;border:0 !important;background-color:rgba(0,0,0,0) !important}.tna-visually-hidden::before,.tna-visually-hidden::after{content:" "}*:focus{z-index:9;outline:.3125rem #00b0ff solid;outline:.3125rem var(--focus-outline) solid;outline-offset:.125rem}.tna-\!--no-focus-style:focus{outline:none}.tna-columns{column-gap:2rem}.tna-columns--2{column-count:2}.tna-columns--3{column-count:3}@media(max-width: 30em){.tna-columns{column-gap:1rem}}@media(min-width: 30.0625em)and (max-width: 48em){.tna-columns--1-small{column-count:1}.tna-columns--2-small{column-count:2}.tna-columns--3-small{column-count:3}.tna-columns--4-small{column-count:4}}@media(max-width: 30em){.tna-columns--1-tiny{column-count:1}.tna-columns--2-tiny{column-count:2}.tna-columns--3-tiny{column-count:3}.tna-columns--4-tiny{column-count:4}}.tna-columns__block{break-inside:avoid}.tna-columns:has(.tna-columns__block:only-of-type){column-count:1}:root{--page-background: #f4f4f4;--background-tint: #d8d8d8;--font-base: #343338;--font-dark: rgb(0, 0, 0);--font-light: rgb(52 51 56/0.7);--icon-light: rgb(52 51 56/0.45);--link: #1d70ab;--link-visited: #4c2c92;--focus-outline: rgb(0, 176, 255);--keyline: rgb(38 38 42/0.25);--keyline-dark: #26262a;--button-text: rgb(255, 255, 255);--button-background: rgb(0, 0, 0);--button-hover-text: rgb(0, 0, 0);--button-hover-background: rgb(255, 255, 255);--contrast-background: #1e1e1e;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(0, 0, 0);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(0, 0, 0);--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: rgb(255, 255, 255);--accent-font-dark: rgb(255, 255, 255);--accent-font-light: rgb(255 255 255/0.7);--accent-icon-light: rgb(255 255 255/0.45);--accent-link: rgb(255, 255, 255);--accent-link-visited: #b9f;--accent-keyline: rgb(255 255 255/0.5);--accent-keyline-dark: rgb(255 255 255/0.8);--button-accent-text: rgb(0, 0, 0);--button-accent-background: rgb(140, 150, 148)}.tna-template{min-width:320px;width:100%;height:100%;-webkit-overflow-scrolling:touch;font-size:16px;background-color:#f4f4f4;background-color:var(--page-background);accent-color:var(--accent)}.tna-template--system-theme{--page-background: #f4f4f4;--background-tint: #d8d8d8;--font-base: #343338;--font-dark: rgb(0, 0, 0);--font-light: rgb(52 51 56/0.7);--icon-light: rgb(52 51 56/0.45);--link: #1d70ab;--link-visited: #4c2c92;--focus-outline: rgb(0, 176, 255);--keyline: rgb(38 38 42/0.25);--keyline-dark: #26262a;--button-text: rgb(255, 255, 255);--button-background: rgb(0, 0, 0);--button-hover-text: rgb(0, 0, 0);--button-hover-background: rgb(255, 255, 255);--contrast-background: #1e1e1e;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(0, 0, 0);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(0, 0, 0);--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: rgb(255, 255, 255);--accent-font-dark: rgb(255, 255, 255);--accent-font-light: rgb(255 255 255/0.7);--accent-icon-light: rgb(255 255 255/0.45);--accent-link: rgb(255, 255, 255);--accent-link-visited: #b9f;--accent-keyline: rgb(255 255 255/0.5);--accent-keyline-dark: rgb(255 255 255/0.8);--button-accent-text: rgb(0, 0, 0);--button-accent-background: rgb(140, 150, 148)}@media(prefers-color-scheme: dark){.tna-template--system-theme{--page-background: #111;--background-tint: #333;--font-base: rgb(255 255 255/0.95);--font-dark: rgb(255, 255, 255);--font-light: rgb(255 255 255/0.5);--icon-light: rgb(255 255 255/0.35);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(0, 176, 255);--keyline: rgb(255 255 255/0.25);--keyline-dark: rgb(255, 255, 255);--button-text: rgb(0, 0, 0);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(0, 0, 0);--contrast-background: #1e1e1e;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(0, 0, 0);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(0, 0, 0);--accent: #d9d9d6;--accent-background: #111;--accent-background-light: rgb(140, 150, 148);--accent-font-base: rgb(255, 255, 255);--accent-font-dark: rgb(255, 255, 255);--accent-font-light: rgb(255 255 255/0.7);--accent-icon-light: rgb(255 255 255/0.45);--accent-link: rgb(255, 255, 255);--accent-link-visited: #b9f;--accent-keyline: rgb(255 255 255/0.5);--accent-keyline-dark: rgb(255 255 255/0.8);--button-accent-text: rgb(0, 0, 0);--button-accent-background: rgb(140, 150, 148)}}@media(prefers-contrast: more){.tna-template--system-theme{--page-background: rgb(255, 255, 255);--background-tint: #d8d8d8;--font-base: rgb(0, 0, 0);--font-dark: rgb(0, 0, 0);--font-light: rgb(0, 0, 0);--icon-light: rgb(0 0 0/0.75);--link: rgb(0, 76, 126);--link-visited: rgb(0, 0, 0);--focus-outline: rgb(253, 63, 3);--keyline: rgb(0, 0, 0);--keyline-dark: rgb(0, 0, 0);--button-text: rgb(255, 255, 255);--button-background: rgb(0, 0, 0);--button-hover-text: rgb(0, 0, 0);--button-hover-background: rgb(255, 255, 255);--contrast-background: #f4f4f4;--contrast-font-base: rgb(0, 0, 0);--contrast-font-dark: rgb(0, 0, 0);--contrast-font-light: rgb(0, 0, 0);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(0, 76, 126);--contrast-link-visited: rgb(0, 0, 0);--contrast-keyline: rgb(0, 0, 0);--contrast-keyline-dark: rgb(0, 0, 0);--contrast-button-text: rgb(255, 255, 255);--contrast-button-background: rgb(0, 0, 0);--contrast-button-hover-text: rgb(0, 0, 0);--contrast-button-hover-background: rgb(255, 255, 255);--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: rgb(255, 255, 255);--accent-font-dark: rgb(255, 255, 255);--accent-font-light: rgb(255 255 255/0.7);--accent-icon-light: rgb(255 255 255/0.45);--accent-link: rgb(255, 255, 255);--accent-link-visited: #b9f;--accent-keyline: rgb(255 255 255/0.5);--accent-keyline-dark: rgb(255 255 255/0.8);--button-accent-text: rgb(0, 0, 0);--button-accent-background: rgb(140, 150, 148)}.tna-template--system-theme *{background-image:none !important}}@media(prefers-contrast: more)and (prefers-color-scheme: dark){.tna-template--system-theme{--page-background: #111;--background-tint: #333;--font-base: rgb(255, 255, 255);--font-dark: rgb(255, 255, 255);--font-light: rgb(255, 255, 255);--icon-light: rgb(255 255 255/0.75);--link: rgb(255, 255, 255);--link-visited: rgb(255, 255, 255);--focus-outline: rgb(0, 176, 255);--keyline: rgb(255, 255, 255);--keyline-dark: rgb(255, 255, 255);--button-text: rgb(0, 0, 0);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(0, 0, 0);--contrast-background: rgb(0, 0, 0);--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(0, 0, 0);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(0, 0, 0);--accent: #d9d9d6;--accent-background: #111;--accent-background-light: rgb(140, 150, 148);--accent-font-base: rgb(255, 255, 255);--accent-font-dark: rgb(255, 255, 255);--accent-font-light: rgb(255 255 255/0.7);--accent-icon-light: rgb(255 255 255/0.45);--accent-link: rgb(255, 255, 255);--accent-link-visited: #b9f;--accent-keyline: rgb(255 255 255/0.5);--accent-keyline-dark: rgb(255 255 255/0.8);--button-accent-text: rgb(0, 0, 0);--button-accent-background: rgb(140, 150, 148)}}.tna-template--light-theme{--page-background: #f4f4f4;--background-tint: #d8d8d8;--font-base: #343338;--font-dark: rgb(0, 0, 0);--font-light: rgb(52 51 56/0.7);--icon-light: rgb(52 51 56/0.45);--link: #1d70ab;--link-visited: #4c2c92;--focus-outline: rgb(0, 176, 255);--keyline: rgb(38 38 42/0.25);--keyline-dark: #26262a;--button-text: rgb(255, 255, 255);--button-background: rgb(0, 0, 0);--button-hover-text: rgb(0, 0, 0);--button-hover-background: rgb(255, 255, 255);--contrast-background: #1e1e1e;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(0, 0, 0);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(0, 0, 0);--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: rgb(255, 255, 255);--accent-font-dark: rgb(255, 255, 255);--accent-font-light: rgb(255 255 255/0.7);--accent-icon-light: rgb(255 255 255/0.45);--accent-link: rgb(255, 255, 255);--accent-link-visited: #b9f;--accent-keyline: rgb(255 255 255/0.5);--accent-keyline-dark: rgb(255 255 255/0.8);--button-accent-text: rgb(0, 0, 0);--button-accent-background: rgb(140, 150, 148)}.tna-template--dark-theme{--page-background: #111;--background-tint: #333;--font-base: rgb(255 255 255/0.95);--font-dark: rgb(255, 255, 255);--font-light: rgb(255 255 255/0.5);--icon-light: rgb(255 255 255/0.35);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(0, 176, 255);--keyline: rgb(255 255 255/0.25);--keyline-dark: rgb(255, 255, 255);--button-text: rgb(0, 0, 0);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(0, 0, 0);--contrast-background: #1e1e1e;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(0, 0, 0);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(0, 0, 0);--accent: #d9d9d6;--accent-background: #111;--accent-background-light: rgb(140, 150, 148);--accent-font-base: rgb(255, 255, 255);--accent-font-dark: rgb(255, 255, 255);--accent-font-light: rgb(255 255 255/0.7);--accent-icon-light: rgb(255 255 255/0.45);--accent-link: rgb(255, 255, 255);--accent-link-visited: #b9f;--accent-keyline: rgb(255 255 255/0.5);--accent-keyline-dark: rgb(255 255 255/0.8);--button-accent-text: rgb(0, 0, 0);--button-accent-background: rgb(140, 150, 148)}.tna-template--high-contrast-theme{--page-background: rgb(255, 255, 255);--background-tint: #d8d8d8;--font-base: rgb(0, 0, 0);--font-dark: rgb(0, 0, 0);--font-light: rgb(0, 0, 0);--icon-light: rgb(0 0 0/0.75);--link: rgb(0, 76, 126);--link-visited: rgb(0, 0, 0);--focus-outline: rgb(253, 63, 3);--keyline: rgb(0, 0, 0);--keyline-dark: rgb(0, 0, 0);--button-text: rgb(255, 255, 255);--button-background: rgb(0, 0, 0);--button-hover-text: rgb(0, 0, 0);--button-hover-background: rgb(255, 255, 255);--contrast-background: #f4f4f4;--contrast-font-base: rgb(0, 0, 0);--contrast-font-dark: rgb(0, 0, 0);--contrast-font-light: rgb(0, 0, 0);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(0, 76, 126);--contrast-link-visited: rgb(0, 0, 0);--contrast-keyline: rgb(0, 0, 0);--contrast-keyline-dark: rgb(0, 0, 0);--contrast-button-text: rgb(255, 255, 255);--contrast-button-background: rgb(0, 0, 0);--contrast-button-hover-text: rgb(0, 0, 0);--contrast-button-hover-background: rgb(255, 255, 255);--accent: #d9d9d6;--accent-background: #111;--accent-background-light: #d9d9d6;--accent-font-base: rgb(255, 255, 255);--accent-font-dark: rgb(255, 255, 255);--accent-font-light: rgb(255 255 255/0.7);--accent-icon-light: rgb(255 255 255/0.45);--accent-link: rgb(255, 255, 255);--accent-link-visited: #b9f;--accent-keyline: rgb(255 255 255/0.5);--accent-keyline-dark: rgb(255 255 255/0.8);--button-accent-text: rgb(0, 0, 0);--button-accent-background: rgb(140, 150, 148)}.tna-template--high-contrast-theme *{background-image:none !important}.tna-template--high-contrast-theme.tna-template--dark-theme{--page-background: #111;--background-tint: #333;--font-base: rgb(255, 255, 255);--font-dark: rgb(255, 255, 255);--font-light: rgb(255, 255, 255);--icon-light: rgb(255 255 255/0.75);--link: rgb(255, 255, 255);--link-visited: rgb(255, 255, 255);--focus-outline: rgb(0, 176, 255);--keyline: rgb(255, 255, 255);--keyline-dark: rgb(255, 255, 255);--button-text: rgb(0, 0, 0);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(0, 0, 0);--contrast-background: rgb(0, 0, 0);--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(0, 0, 0);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(0, 0, 0);--accent: #d9d9d6;--accent-background: #111;--accent-background-light: rgb(140, 150, 148);--accent-font-base: rgb(255, 255, 255);--accent-font-dark: rgb(255, 255, 255);--accent-font-light: rgb(255 255 255/0.7);--accent-icon-light: rgb(255 255 255/0.45);--accent-link: rgb(255, 255, 255);--accent-link-visited: #b9f;--accent-keyline: rgb(255 255 255/0.5);--accent-keyline-dark: rgb(255 255 255/0.8);--button-accent-text: rgb(0, 0, 0);--button-accent-background: rgb(140, 150, 148)}.tna-template--black-accent{--accent-font-base: rgb(255, 255, 255) !important;--accent-font-dark: rgb(255, 255, 255) !important;--accent-font-light: rgb(255 255 255/0.7) !important;--accent-icon-light: rgb(255 255 255/0.45) !important;--accent-link: rgb(255, 255, 255) !important;--accent-link-visited: rgb(255, 255, 255) !important;--accent-keyline: rgb(255 255 255/0.5) !important;--accent-keyline-dark: rgb(255 255 255/0.8) !important}.tna-template--yellow-accent{--accent: rgb(255, 204, 0) !important;--accent-background: rgb(255, 204, 0) !important;--accent-background-light: rgb(249, 247, 226) !important;--accent-font-base: rgb(0, 0, 0) !important;--accent-font-dark: rgb(0, 0, 0) !important;--accent-font-light: rgb(0 0 0/0.7) !important;--accent-icon-light: rgb(0 0 0/0.45) !important;--accent-link: rgb(0, 0, 0) !important;--accent-link-visited: rgb(0, 0, 0) !important;--accent-keyline: rgb(0 0 0/0.5) !important;--accent-keyline-dark: rgb(0 0 0/0.8) !important;--button-accent-background: rgb(255, 204, 0) !important}.tna-template--pink-accent{--accent-font-base: rgb(255, 255, 255) !important;--accent-font-dark: rgb(255, 255, 255) !important;--accent-font-light: rgb(255 255 255/0.7) !important;--accent-icon-light: rgb(255 255 255/0.45) !important;--accent-link: rgb(255, 255, 255) !important;--accent-link-visited: rgb(255, 255, 255) !important;--accent-keyline: rgb(255 255 255/0.5) !important;--accent-keyline-dark: rgb(255 255 255/0.8) !important;--button-accent-text: rgb(255, 255, 255) !important;--accent: rgb(254, 29, 87) !important;--accent-background: rgb(156, 25, 58) !important;--accent-background-light: rgb(250, 211, 212) !important;--button-accent-background: rgb(156, 25, 58) !important}.tna-template--orange-accent{--accent-font-base: rgb(255, 255, 255) !important;--accent-font-dark: rgb(255, 255, 255) !important;--accent-font-light: rgb(255 255 255/0.7) !important;--accent-icon-light: rgb(255 255 255/0.45) !important;--accent-link: rgb(255, 255, 255) !important;--accent-link-visited: rgb(255, 255, 255) !important;--accent-keyline: rgb(255 255 255/0.5) !important;--accent-keyline-dark: rgb(255 255 255/0.8) !important;--button-accent-text: rgb(255, 255, 255) !important;--accent: rgb(253, 63, 3) !important;--accent-background: rgb(143, 52, 21) !important;--accent-background-light: rgb(249, 225, 188) !important;--button-accent-background: rgb(143, 52, 21) !important}.tna-template--green-accent{--accent-font-base: rgb(255, 255, 255) !important;--accent-font-dark: rgb(255, 255, 255) !important;--accent-font-light: rgb(255 255 255/0.7) !important;--accent-icon-light: rgb(255 255 255/0.45) !important;--accent-link: rgb(255, 255, 255) !important;--accent-link-visited: rgb(255, 255, 255) !important;--accent-keyline: rgb(255 255 255/0.5) !important;--accent-keyline-dark: rgb(255 255 255/0.8) !important;--button-accent-text: rgb(255, 255, 255) !important;--accent: rgb(134, 188, 37) !important;--accent-background: rgb(0, 98, 59) !important;--accent-background-light: rgb(221, 229, 213) !important;--button-accent-background: rgb(0, 98, 59) !important}.tna-template--blue-accent{--accent-font-base: rgb(255, 255, 255) !important;--accent-font-dark: rgb(255, 255, 255) !important;--accent-font-light: rgb(255 255 255/0.7) !important;--accent-icon-light: rgb(255 255 255/0.45) !important;--accent-link: rgb(255, 255, 255) !important;--accent-link-visited: rgb(255, 255, 255) !important;--accent-keyline: rgb(255 255 255/0.5) !important;--accent-keyline-dark: rgb(255 255 255/0.8) !important;--button-accent-text: rgb(255, 255, 255) !important;--accent: rgb(0, 176, 255) !important;--accent-background: rgb(0, 76, 126) !important;--accent-background-light: rgb(212, 229, 239) !important;--button-accent-background: rgb(0, 76, 126) !important}@media(prefers-reduced-motion){.tna-template *{animation:none !important;transition:none !important}}.tna-template__body{min-height:100%;margin:0;padding:0}.tna-template__body:has(.tna-header):has(#main-content[role=main]):has(.tna-footer){display:flex;flex-direction:column}.tna-template__body:has(.tna-header):has(#main-content[role=main]):has(.tna-footer) #main-content[role=main]{flex:1}img,svg,picture,video,canvas{max-width:100%;display:block}video,canvas{width:100%}[hidden]{display:none}hr{margin:0;border-width:1px 0 0;border-color:rgb(38 38 42/0.25);border-color:var(--keyline);border-style:solid}.tna-section{padding-top:3rem;padding-bottom:3rem}@media(max-width: 48em){.tna-section{padding-top:2rem;padding-bottom:2rem}}.tna-aside{padding:2rem}@media(max-width: 48em){.tna-aside{padding:1rem}}.tna-template--high-contrast-theme .tna-aside{border:1px #26262a solid;border:1px var(--keyline-dark) solid}@media(prefers-contrast: more){.tna-template--system-theme .tna-aside{border:1px #26262a solid;border:1px var(--keyline-dark) solid}}.tna-aside--tight{padding:1rem}.tna-ul,.tna-ol{margin:1rem 0;padding:0 0 0 2rem}.tna-ul:first-child,.tna-ol:first-child{margin-top:0}.tna-ul li::marker,.tna-ol li::marker{color:#111;color:var(--accent-background);font-weight:700}.tna-ul--plain,.tna-ol--plain{padding-left:0;list-style:none}.tna-dl{margin:1rem 0;display:flex;flex-wrap:wrap}.tna-dl:first-child{margin-top:0}.tna-dl dt,.tna-dl dd{margin:0;padding:.5rem 1rem;position:relative;box-sizing:border-box;word-wrap:break-word}.tna-dl--plain dt{padding-left:0}.tna-dl--plain dd{padding-right:0}.tna-dl dt{width:30%;font-weight:bold}.tna-dl dd{width:70%}.tna-dl dd+dd{margin-left:30%}.tna-dl--icon-padding dt{padding-left:3rem !important;position:relative}.tna-dl--icon-padding dt .fa-solid{overflow:visible;position:absolute;top:50%;left:1rem;color:rgb(52 51 56/0.45);color:var(--icon-light);text-align:left;transform:translateY(-50%)}.tna-dl--icon-padding.tna-dl--plain dt{padding-left:2rem !important}.tna-dl--icon-padding.tna-dl--plain dt .fa-solid{left:0}.tna-dl--icon-padding.tna-dl--plain dd{padding-left:2rem}.tna-dl:not(.tna-dl--plain) dt:first-child,.tna-dl:not(.tna-dl--plain) dd:nth-of-type(2n)+dt,.tna-dl:not(.tna-dl--plain) dd:nth-of-type(2n + 1){background-color:#d8d8d8;background-color:var(--background-tint)}@media(min-width: 30.0625em)and (max-width: 48em){.tna-dl dt{width:35%}.tna-dl dd{width:65%}.tna-dl dd+dd{margin-left:35%}}@media(max-width: 30em){.tna-dl dt,.tna-dl dd{width:100%;margin-left:0}.tna-dl dd{padding-left:1rem}.tna-dl--plain dt{padding-bottom:0}.tna-dl--plain dd{padding-top:0}.tna-dl:not(.tna-dl--plain) dt{background-color:#d8d8d8;background-color:var(--background-tint)}.tna-dl:not(.tna-dl--plain) dd{background:rgba(0,0,0,0) !important}}.tna-template--high-contrast-theme .tna-dl{border-bottom:1px #26262a solid;border-bottom:1px var(--keyline-dark) solid}.tna-template--high-contrast-theme .tna-dl dt,.tna-template--high-contrast-theme .tna-dl dd{background:rgba(0,0,0,0) !important;border-top:1px #26262a solid;border-top:1px var(--keyline-dark) solid}@media(prefers-contrast: more){.tna-template--system-theme .tna-dl{border-bottom:1px #26262a solid;border-bottom:1px var(--keyline-dark) solid}.tna-template--system-theme .tna-dl dt,.tna-template--system-theme .tna-dl dd{background:rgba(0,0,0,0) !important;border-top:1px #26262a solid;border-top:1px var(--keyline-dark) solid}}.tna-\!--no-margin-top,.tna-\!--no-margin-vertical{margin-top:0 !important}.tna-\!--no-margin-bottom,.tna-\!--no-margin-vertical{margin-bottom:0 !important}.tna-\!--no-padding-top,.tna-\!--no-padding-vertical{padding-top:0 !important}.tna-\!--no-padding-bottom,.tna-\!--no-padding-vertical{padding-bottom:0 !important}.tna-\!--margin-top-xs,.tna-\!--margin-vertical-xs{margin-top:0.5rem !important}.tna-\!--margin-top-s,.tna-\!--margin-vertical-s{margin-top:1rem !important}.tna-\!--margin-top-m,.tna-\!--margin-vertical-m{margin-top:2rem !important}.tna-\!--margin-top-l,.tna-\!--margin-vertical-l{margin-top:3rem !important}.tna-\!--margin-top-xl,.tna-\!--margin-vertical-xl{margin-top:5rem !important}.tna-\!--margin-top-xxl,.tna-\!--margin-vertical-xxl{margin-top:8rem !important}.tna-\!--margin-bottom-xs,.tna-\!--margin-vertical-xs{margin-bottom:0.5rem !important}.tna-\!--margin-bottom-s,.tna-\!--margin-vertical-s{margin-bottom:1rem !important}.tna-\!--margin-bottom-m,.tna-\!--margin-vertical-m{margin-bottom:2rem !important}.tna-\!--margin-bottom-l,.tna-\!--margin-vertical-l{margin-bottom:3rem !important}.tna-\!--margin-bottom-xl,.tna-\!--margin-vertical-xl{margin-bottom:5rem !important}.tna-\!--margin-bottom-xxl,.tna-\!--margin-vertical-xxl{margin-bottom:8rem !important}.tna-\!--padding-top-xs,.tna-\!--padding-vertical-xs{padding-top:0.5rem !important}.tna-\!--padding-top-s,.tna-\!--padding-vertical-s{padding-top:1rem !important}.tna-\!--padding-top-m,.tna-\!--padding-vertical-m{padding-top:2rem !important}.tna-\!--padding-top-l,.tna-\!--padding-vertical-l{padding-top:3rem !important}.tna-\!--padding-top-xl,.tna-\!--padding-vertical-xl{padding-top:5rem !important}.tna-\!--padding-top-xxl,.tna-\!--padding-vertical-xxl{padding-top:8rem !important}.tna-\!--padding-bottom-xs,.tna-\!--padding-vertical-xs{padding-bottom:0.5rem !important}.tna-\!--padding-bottom-s,.tna-\!--padding-vertical-s{padding-bottom:1rem !important}.tna-\!--padding-bottom-m,.tna-\!--padding-vertical-m{padding-bottom:2rem !important}.tna-\!--padding-bottom-l,.tna-\!--padding-vertical-l{padding-bottom:3rem !important}.tna-\!--padding-bottom-xl,.tna-\!--padding-vertical-xl{padding-bottom:5rem !important}.tna-\!--padding-bottom-xxl,.tna-\!--padding-vertical-xxl{padding-bottom:8rem !important}@media(min-width: 48.0625em)and (max-width: 64em){.tna-\!--no-margin-top-medium,.tna-\!--no-margin-vertical-medium{margin-top:0 !important}.tna-\!--no-margin-bottom-medium,.tna-\!--no-margin-vertical-medium{margin-bottom:0 !important}.tna-\!--no-padding-top-medium,.tna-\!--no-padding-vertical-medium{padding-top:0 !important}.tna-\!--no-padding-bottom-medium,.tna-\!--no-padding-vertical-medium{padding-bottom:0 !important}.tna-\!--margin-top-xs-medium,.tna-\!--margin-vertical-xs-medium{margin-top:0.5rem !important}.tna-\!--margin-top-s-medium,.tna-\!--margin-vertical-s-medium{margin-top:1rem !important}.tna-\!--margin-top-m-medium,.tna-\!--margin-vertical-m-medium{margin-top:2rem !important}.tna-\!--margin-top-l-medium,.tna-\!--margin-vertical-l-medium{margin-top:3rem !important}.tna-\!--margin-top-xl-medium,.tna-\!--margin-vertical-xl-medium{margin-top:5rem !important}.tna-\!--margin-top-xxl-medium,.tna-\!--margin-vertical-xxl-medium{margin-top:8rem !important}.tna-\!--margin-bottom-xs-medium,.tna-\!--margin-vertical-xs-medium{margin-bottom:0.5rem !important}.tna-\!--margin-bottom-s-medium,.tna-\!--margin-vertical-s-medium{margin-bottom:1rem !important}.tna-\!--margin-bottom-m-medium,.tna-\!--margin-vertical-m-medium{margin-bottom:2rem !important}.tna-\!--margin-bottom-l-medium,.tna-\!--margin-vertical-l-medium{margin-bottom:3rem !important}.tna-\!--margin-bottom-xl-medium,.tna-\!--margin-vertical-xl-medium{margin-bottom:5rem !important}.tna-\!--margin-bottom-xxl-medium,.tna-\!--margin-vertical-xxl-medium{margin-bottom:8rem !important}.tna-\!--padding-top-xs-medium,.tna-\!--padding-vertical-xs-medium{padding-top:0.5rem !important}.tna-\!--padding-top-s-medium,.tna-\!--padding-vertical-s-medium{padding-top:1rem !important}.tna-\!--padding-top-m-medium,.tna-\!--padding-vertical-m-medium{padding-top:2rem !important}.tna-\!--padding-top-l-medium,.tna-\!--padding-vertical-l-medium{padding-top:3rem !important}.tna-\!--padding-top-xl-medium,.tna-\!--padding-vertical-xl-medium{padding-top:5rem !important}.tna-\!--padding-top-xxl-medium,.tna-\!--padding-vertical-xxl-medium{padding-top:8rem !important}.tna-\!--padding-bottom-xs-medium,.tna-\!--padding-vertical-xs-medium{padding-bottom:0.5rem !important}.tna-\!--padding-bottom-s-medium,.tna-\!--padding-vertical-s-medium{padding-bottom:1rem !important}.tna-\!--padding-bottom-m-medium,.tna-\!--padding-vertical-m-medium{padding-bottom:2rem !important}.tna-\!--padding-bottom-l-medium,.tna-\!--padding-vertical-l-medium{padding-bottom:3rem !important}.tna-\!--padding-bottom-xl-medium,.tna-\!--padding-vertical-xl-medium{padding-bottom:5rem !important}.tna-\!--padding-bottom-xxl-medium,.tna-\!--padding-vertical-xxl-medium{padding-bottom:8rem !important}}@media(min-width: 30.0625em)and (max-width: 48em){.tna-\!--no-margin-top-small,.tna-\!--no-margin-vertical-small{margin-top:0 !important}.tna-\!--no-margin-bottom-small,.tna-\!--no-margin-vertical-small{margin-bottom:0 !important}.tna-\!--no-padding-top-small,.tna-\!--no-padding-vertical-small{padding-top:0 !important}.tna-\!--no-padding-bottom-small,.tna-\!--no-padding-vertical-small{padding-bottom:0 !important}.tna-\!--margin-top-xs-small,.tna-\!--margin-vertical-xs-small{margin-top:0.5rem !important}.tna-\!--margin-top-s-small,.tna-\!--margin-vertical-s-small{margin-top:0.75rem !important}.tna-\!--margin-top-m-small,.tna-\!--margin-vertical-m-small{margin-top:1.5rem !important}.tna-\!--margin-top-l-small,.tna-\!--margin-vertical-l-small{margin-top:2rem !important}.tna-\!--margin-top-xl-small,.tna-\!--margin-vertical-xl-small{margin-top:3rem !important}.tna-\!--margin-top-xxl-small,.tna-\!--margin-vertical-xxl-small{margin-top:5rem !important}.tna-\!--margin-bottom-xs-small,.tna-\!--margin-vertical-xs-small{margin-bottom:0.5rem !important}.tna-\!--margin-bottom-s-small,.tna-\!--margin-vertical-s-small{margin-bottom:0.75rem !important}.tna-\!--margin-bottom-m-small,.tna-\!--margin-vertical-m-small{margin-bottom:1.5rem !important}.tna-\!--margin-bottom-l-small,.tna-\!--margin-vertical-l-small{margin-bottom:2rem !important}.tna-\!--margin-bottom-xl-small,.tna-\!--margin-vertical-xl-small{margin-bottom:3rem !important}.tna-\!--margin-bottom-xxl-small,.tna-\!--margin-vertical-xxl-small{margin-bottom:5rem !important}.tna-\!--padding-top-xs-small,.tna-\!--padding-vertical-xs-small{padding-top:0.5rem !important}.tna-\!--padding-top-s-small,.tna-\!--padding-vertical-s-small{padding-top:0.75rem !important}.tna-\!--padding-top-m-small,.tna-\!--padding-vertical-m-small{padding-top:1.5rem !important}.tna-\!--padding-top-l-small,.tna-\!--padding-vertical-l-small{padding-top:2rem !important}.tna-\!--padding-top-xl-small,.tna-\!--padding-vertical-xl-small{padding-top:3rem !important}.tna-\!--padding-top-xxl-small,.tna-\!--padding-vertical-xxl-small{padding-top:5rem !important}.tna-\!--padding-bottom-xs-small,.tna-\!--padding-vertical-xs-small{padding-bottom:0.5rem !important}.tna-\!--padding-bottom-s-small,.tna-\!--padding-vertical-s-small{padding-bottom:0.75rem !important}.tna-\!--padding-bottom-m-small,.tna-\!--padding-vertical-m-small{padding-bottom:1.5rem !important}.tna-\!--padding-bottom-l-small,.tna-\!--padding-vertical-l-small{padding-bottom:2rem !important}.tna-\!--padding-bottom-xl-small,.tna-\!--padding-vertical-xl-small{padding-bottom:3rem !important}.tna-\!--padding-bottom-xxl-small,.tna-\!--padding-vertical-xxl-small{padding-bottom:5rem !important}}@media(max-width: 30em){.tna-\!--no-margin-top-tiny,.tna-\!--no-margin-vertical-tiny{margin-top:0 !important}.tna-\!--no-margin-bottom-tiny,.tna-\!--no-margin-vertical-tiny{margin-bottom:0 !important}.tna-\!--no-padding-top-tiny,.tna-\!--no-padding-vertical-tiny{padding-top:0 !important}.tna-\!--no-padding-bottom-tiny,.tna-\!--no-padding-vertical-tiny{padding-bottom:0 !important}.tna-\!--margin-top-xs-tiny,.tna-\!--margin-vertical-xs-tiny{margin-top:0.5rem !important}.tna-\!--margin-top-s-tiny,.tna-\!--margin-vertical-s-tiny{margin-top:0.75rem !important}.tna-\!--margin-top-m-tiny,.tna-\!--margin-vertical-m-tiny{margin-top:1.5rem !important}.tna-\!--margin-top-l-tiny,.tna-\!--margin-vertical-l-tiny{margin-top:2rem !important}.tna-\!--margin-top-xl-tiny,.tna-\!--margin-vertical-xl-tiny{margin-top:3rem !important}.tna-\!--margin-top-xxl-tiny,.tna-\!--margin-vertical-xxl-tiny{margin-top:5rem !important}.tna-\!--margin-bottom-xs-tiny,.tna-\!--margin-vertical-xs-tiny{margin-bottom:0.5rem !important}.tna-\!--margin-bottom-s-tiny,.tna-\!--margin-vertical-s-tiny{margin-bottom:0.75rem !important}.tna-\!--margin-bottom-m-tiny,.tna-\!--margin-vertical-m-tiny{margin-bottom:1.5rem !important}.tna-\!--margin-bottom-l-tiny,.tna-\!--margin-vertical-l-tiny{margin-bottom:2rem !important}.tna-\!--margin-bottom-xl-tiny,.tna-\!--margin-vertical-xl-tiny{margin-bottom:3rem !important}.tna-\!--margin-bottom-xxl-tiny,.tna-\!--margin-vertical-xxl-tiny{margin-bottom:5rem !important}.tna-\!--padding-top-xs-tiny,.tna-\!--padding-vertical-xs-tiny{padding-top:0.5rem !important}.tna-\!--padding-top-s-tiny,.tna-\!--padding-vertical-s-tiny{padding-top:0.75rem !important}.tna-\!--padding-top-m-tiny,.tna-\!--padding-vertical-m-tiny{padding-top:1.5rem !important}.tna-\!--padding-top-l-tiny,.tna-\!--padding-vertical-l-tiny{padding-top:2rem !important}.tna-\!--padding-top-xl-tiny,.tna-\!--padding-vertical-xl-tiny{padding-top:3rem !important}.tna-\!--padding-top-xxl-tiny,.tna-\!--padding-vertical-xxl-tiny{padding-top:5rem !important}.tna-\!--padding-bottom-xs-tiny,.tna-\!--padding-vertical-xs-tiny{padding-bottom:0.5rem !important}.tna-\!--padding-bottom-s-tiny,.tna-\!--padding-vertical-s-tiny{padding-bottom:0.75rem !important}.tna-\!--padding-bottom-m-tiny,.tna-\!--padding-vertical-m-tiny{padding-bottom:1.5rem !important}.tna-\!--padding-bottom-l-tiny,.tna-\!--padding-vertical-l-tiny{padding-bottom:2rem !important}.tna-\!--padding-bottom-xl-tiny,.tna-\!--padding-vertical-xl-tiny{padding-bottom:3rem !important}.tna-\!--padding-bottom-xxl-tiny,.tna-\!--padding-vertical-xxl-tiny{padding-bottom:5rem !important}}@font-face{font-family:"Open Sans";src:url("./assets/fonts/OpenSans-Medium.ttf");font-weight:normal;font-style:normal}@font-face{font-family:"Open Sans";src:url("./assets/fonts/OpenSans-Bold.ttf");font-weight:bold;font-style:normal}@font-face{font-family:"Roboto Mono";src:url("./assets/fonts/RobotoMono-Regular.ttf");font-weight:normal;font-style:normal}.tna-template{color:#343338;color:var(--font-base);font-family:"Open Sans",sans-serif;font-weight:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:none;direction:ltr}.tna-template__body{color:inherit;font-size:1.125rem;line-height:1.7777777778}@media(max-width: 48em){.tna-template__body{font-size:1.0625rem}}h1,h2,h3,h4,h5,h6,ul,ol{margin-top:0}h1,h2,h3,h4,h5,h6,strong{font-weight:bold}p{margin:1rem 0 0}p:first-child{margin-top:0}a{color:#1d70ab;color:var(--link);text-decoration-thickness:1.5px}a:visited{color:#4c2c92;color:var(--link-visited)}a:hover,a:active{text-decoration:underline;text-decoration-thickness:3.5px}small{font-size:0.95625rem}.tna-chip-list{margin-bottom:0;padding-left:0;display:flex;flex-wrap:wrap;gap:1rem;list-style:none}.tna-hgroup__supertitle,.tna-chip{max-width:max-content;padding:.125em .25rem;display:block;color:#000;color:var(--font-dark);font-family:"Roboto Mono",monospace;font-weight:normal;font-size:0.875rem;text-transform:uppercase;line-height:1.1428571429;line-height:1;border:.125rem #111 solid;border:.125rem var(--accent-background) solid}.tna-chip--plain{color:inherit;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}a.tna-chip{text-decoration:none}a.tna-chip,a.tna-chip:link,a.tna-chip:visited{color:#000;color:var(--font-dark)}a.tna-chip:hover{text-decoration:underline;text-decoration-thickness:3.5px}a.tna-chip--plain,a.tna-chip--plain:link,a.tna-chip--plain:visited{color:inherit}.tna-hgroup-s .tna-hgroup__title,.tna-heading-s,.tna-hgroup-m .tna-hgroup__title,.tna-heading-m,.tna-hgroup-l .tna-hgroup__title,.tna-heading-l,.tna-hgroup-xl .tna-hgroup__title,.tna-heading-xl{color:#000;color:var(--font-dark);text-wrap:balance}.tna-hgroup-s .tna-hgroup__title:not(.tna-heading--no-link-arrow) a,.tna-heading-s:not(.tna-heading--no-link-arrow) a,.tna-hgroup-m .tna-hgroup__title:not(.tna-heading--no-link-arrow) a,.tna-heading-m:not(.tna-heading--no-link-arrow) a,.tna-hgroup-l .tna-hgroup__title:not(.tna-heading--no-link-arrow) a,.tna-heading-l:not(.tna-heading--no-link-arrow) a,.tna-hgroup-xl .tna-hgroup__title:not(.tna-heading--no-link-arrow) a,.tna-heading-xl:not(.tna-heading--no-link-arrow) a{display:inline-block}.tna-hgroup-s .tna-hgroup__title:not(.tna-heading--no-link-arrow) a::after,.tna-heading-s:not(.tna-heading--no-link-arrow) a::after,.tna-hgroup-m .tna-hgroup__title:not(.tna-heading--no-link-arrow) a::after,.tna-heading-m:not(.tna-heading--no-link-arrow) a::after,.tna-hgroup-l .tna-hgroup__title:not(.tna-heading--no-link-arrow) a::after,.tna-heading-l:not(.tna-heading--no-link-arrow) a::after,.tna-hgroup-xl .tna-hgroup__title:not(.tna-heading--no-link-arrow) a::after,.tna-heading-xl:not(.tna-heading--no-link-arrow) a::after{padding-left:.25rem;display:inline-block;font-weight:700;content:"›"}.tna-hgroup-s .tna-hgroup__title:not(.tna-heading--no-link-arrow) a:hover::after,.tna-heading-s:not(.tna-heading--no-link-arrow) a:hover::after,.tna-hgroup-m .tna-hgroup__title:not(.tna-heading--no-link-arrow) a:hover::after,.tna-heading-m:not(.tna-heading--no-link-arrow) a:hover::after,.tna-hgroup-l .tna-hgroup__title:not(.tna-heading--no-link-arrow) a:hover::after,.tna-heading-l:not(.tna-heading--no-link-arrow) a:hover::after,.tna-hgroup-xl .tna-hgroup__title:not(.tna-heading--no-link-arrow) a:hover::after,.tna-heading-xl:not(.tna-heading--no-link-arrow) a:hover::after{padding-left:.5rem}.tna-hgroup-xl .tna-hgroup__title,.tna-heading-xl{font-family:supria-sans-condensed,"Arial Narrow",sans-serif;font-weight:500;font-size:4rem;line-height:1.2}@media(min-width: 48.0625em)and (max-width: 64em){.tna-hgroup-xl .tna-hgroup__title,.tna-heading-xl{font-size:2.625rem}}@media(max-width: 48em){.tna-hgroup-xl .tna-hgroup__title,.tna-heading-xl{font-size:2.25rem}}.tna-hgroup-l .tna-hgroup__title,.tna-heading-l{font-family:supria-sans-condensed,"Arial Narrow",sans-serif;font-weight:500;font-size:2rem;line-height:1.3}@media(min-width: 48.0625em)and (max-width: 64em){.tna-hgroup-l .tna-hgroup__title,.tna-heading-l{font-size:1.625rem}}@media(max-width: 48em){.tna-hgroup-l .tna-hgroup__title,.tna-heading-l{font-size:1.5rem}}.tna-hgroup-m .tna-hgroup__title,.tna-heading-m{font-weight:bold;font-size:1.375rem;line-height:1.6}@media(max-width: 48em){.tna-hgroup-m .tna-hgroup__title,.tna-heading-m{font-size:1.25rem}}.tna-hgroup-s .tna-hgroup__title,.tna-heading-s{font-weight:bold;font-size:1.125rem;line-height:1.6}.tna-hgroup-xl,.tna-hgroup-l,.tna-hgroup-m,.tna-hgroup-s,.tna-heading-s,.tna-heading-m,.tna-heading-l,.tna-heading-xl{margin-bottom:1rem;padding-top:1rem}.tna-hgroup-xl:first-child,.tna-hgroup-l:first-child,.tna-hgroup-m:first-child,.tna-hgroup-s:first-child,.tna-heading-s:first-child,.tna-heading-m:first-child,.tna-heading-l:first-child,.tna-heading-xl:first-child{padding-top:0}.tna-hgroup-xl:last-child,.tna-hgroup-l:last-child,.tna-hgroup-m:last-child,.tna-hgroup-s:last-child,.tna-heading-s:last-child,.tna-heading-m:last-child,.tna-heading-l:last-child,.tna-heading-xl:last-child{margin-bottom:0;padding-bottom:0}.tna-hgroup__supertitle{margin:0 0 .25rem}.tna-hgroup__title{margin:0;display:block}.tna-blockquote{margin-right:0;margin-bottom:0;margin-left:0;padding:1rem 1rem 1rem 2rem;border-left:.35rem #111 solid;border-left:.35rem var(--accent-background) solid}.tna-blockquote__quote{font-weight:700}.tna-blockquote__author{font-style:italic}.tna-blockquote .tna-blockquote__author{margin:1rem 0 0}.tna-blockquote__author::before{content:"—" " "}.tna-scene-setter{font-family:"Roboto Mono",monospace;font-weight:normal;color:#000;color:var(--font-dark);font-size:1.875rem;line-height:1.6666666667}@media(max-width: 48em){.tna-scene-setter{font-size:1.5rem;line-height:2}}.tna-scene-setter a{color:inherit;text-decoration-thickness:2px}.tna-scene-setter a:hover{text-decoration-thickness:4.5px}.tna-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.tna-filters__item--selected .tna-filters__link{background-color:#004c7e}.tna-filters__item--selected .tna-filters__link,.tna-filters__item--selected .tna-filters__link:link,.tna-filters__item--selected .tna-filters__link:visited{color:#fff}.tna-filters__link{padding:.125rem .75rem;text-decoration:none;background-color:#d4e5ef;border-radius:99rem;transition:color 200ms,background-color 200ms}.tna-filters__link,.tna-filters__link:link,.tna-filters__link:visited{color:#000}.tna-filters__link:hover{color:#fff;background-color:#004c7e;transition:color 50ms,background-color 50ms}/*# sourceMappingURL=filters.css.map */