{"version":3,"sourceRoot":"","sources":["../../src/nationalarchives/tools/_colour.scss","../../src/nationalarchives/tools/_a11y.scss","../../src/nationalarchives/utilities/a11y/_index.scss","../../src/nationalarchives/utilities/animations/_index.scss","../../src/nationalarchives/tools/_spacing.scss","../../src/nationalarchives/utilities/areas/_index.scss","../../src/nationalarchives/tools/_borders.scss","../../src/nationalarchives/variables/_borders.scss","../../src/nationalarchives/tools/_media.scss","../../src/nationalarchives/utilities/colour/_index.scss","../../src/nationalarchives/utilities/columns/_index.scss","../../src/nationalarchives/utilities/forms/_index.scss","../../src/nationalarchives/tools/_typography.scss","../../src/nationalarchives/variables/_typography.scss","../../src/nationalarchives/utilities/global/_index.scss","../../src/nationalarchives/utilities/grid/_index.scss","../../src/nationalarchives/variables/_grid.scss","../../src/nationalarchives/tools/_grid.scss","../../src/nationalarchives/utilities/typography/_index.scss","../../src/nationalarchives/utilities/lists/_index.scss","../../src/nationalarchives/utilities/logo/_index.scss","../../src/nationalarchives/utilities/overrides/_index.scss","../../src/nationalarchives/utilities/reset/_index.scss","../../src/nationalarchives/utilities/tables/_index.scss","../../src/nationalarchives/components/button/_button-group.scss","../../src/nationalarchives/components/button/button.scss","../../src/nationalarchives/components/panel/panel.scss","../../src/nationalarchives/email.scss","../../src/nationalarchives/tools/_shadows.scss"],"names":[],"mappings":"CA8OA,cAvMM,sBAEE,2BAFF,2DAEE,0BAFF,0BAEE,+BAFF,kCAEE,uCAFF,kCAEE,uCAFF,gBAEE,qBAFF,wBAEE,6BAFF,oEAEE,uCAFF,gCAEE,qCAFF,0iDA2MJ,+BAJF,cAjLM,iCAEE,sCAFF,kDAEE,+BAFF,0BAEE,+BAFF,2BAEE,gCAFF,iCAEE,sCAFF,gBAEE,qBAFF,wBAEE,6BAFF,+DAEE,mCAFF,6BAEE,kCAFF,khDAkMN,iFACE,yCACA,uCACA,uCACA,yCACA,yCACA,6BACA,6CACA,mCACA,6CACA,2CACA,uDACA,uDACA,mEACA,6CAjLA,4CAJA,gCA2NF,qCAEI,4OAzNF,4CAJA,gCAyOF,8IACE,qCAtOA,4CA+OF,4MACE,uCACA,qCACA,qCACA,uCACA,uCACA,2BACA,mCACA,iCACA,2CACA,yCACA,yCACA,qDACA,qDACA,iEA7PA,4CAJA,gCA4QF,qDACE,6CACA,qBACA,0BACA,kCACA,kCACA,kCACA,gCACA,kCACA,kCAIA,kCAIA,8CAIA,0CA7RA,4CAJA,gCAuSE,mCADF,6GAKI,uCACA,qCACA,qCACA,uCACA,uCACA,2BACA,mCACA,iCACA,2CACA,yCACA,yCACA,qDACA,qDACA,kEAIJ,yGAIE,uCACA,qCACA,qCACA,uCACA,uCACA,2BACA,mCACA,iCACA,2CACA,yCACA,yCACA,qDACA,qDACA,iEAQJ,kEACE,iDACA,yDACA,6CACA,oDACA,4CACA,4CACA,mDACA,mDACA,uCACA,+CACA,gDACA,qDACA,gDACA,0DAOF,mUACE,kDACA,kDACA,yDACA,yDACA,6CACA,qDACA,sDACA,2DACA,sDAGF,+DACE,6CACA,yDACA,yCACA,sDACA,gDACA,4DAQF,4DACE,iDACA,yDACA,6CACA,oDACA,0DAQF,kEACE,iDACA,yDACA,6CACA,mDACA,0DAQF,0EACE,+CACA,yDACA,2CACA,qDACA,wDAQF,4DACE,gDACA,yDACA,4CACA,oDACA,yDC/eF,wBACE,qCACA,8BAEA,qCAGA,WACE,kCAGF,4EACE,8BAEA,wCAKA,mCADF,gFAEI,8BAEA,yCAgBN,iFACE,qCAEA,8BAEA,qCAGA,gBAEA,6OACE,8BAEA,wCAKA,mCADF,yPAEI,8BAEA,yCAoDJ,6CA9EA,wBAEA,2BC1DF,8CDGE,qBACA,sBACA,oBACA,qBAEA,2BAEA,6BACA,uBACA,wBACA,sBAEA,0CAEA,oBAEA,wCACA,gCCfF,iCAGE,UAOF,uCACE,QACE,WAiBJ,4HDsBE,wBAEA,2BE5DF,mCACE,QAEE,0BAGF,IACE,8BCmBJ,gSACE,gBAIF,cACE,gBAKA,0iBACE,aCjCJ,aACE,iBACA,oBAGF,WAEE,aCTA,cCDsB,IPqhBtB,8BK7gBF,WL8GM,uDAyZJ,+BKvgBF,WL8GM,uDKpGJ,kBACE,aG6DF,wBHxDA,aACE,iBACA,oBAGF,WACE,cI9BJ,cT0FE,4CSpFE,mCADF,4BT2CI,sBAEE,2BAFF,kEAEE,4CAFF,gCAEE,qCAFF,wCAEE,6CAFF,wCAEE,6CAFF,yBAEE,8BAFF,qBAEE,0BAFF,sEAEE,0CAFF,0CAEE,+CAFF,ijDStCF,+DALF,4BTiEI,mSAEE,yCAFF,mCAEE,wCAFF,2hDSvDJ,0BTiCI,sBAEE,2BAFF,kEAEE,4CAFF,gCAEE,qCAFF,wCAEE,6CAFF,wCAEE,6CAFF,yBAEE,8BAFF,qBAEE,0BAFF,sEAEE,0CAFF,0CAEE,+CAFF,gjDS9BF,+BAHF,0BTuDI,mSAEE,yCAFF,mCAEE,wCAFF,2hDSEJ,oBT8CI,wDS1CJ,yBT0CI,sDUrHN,aACE,gBAEA,gBACE,eAGF,gBACE,eF+CF,wBEvDF,aAYI,iBFqCF,kDEhCI,sBACE,aAFS,EACX,sBACE,aAFS,EACX,sBACE,aAFS,EACX,sBACE,aAFS,GFuCf,wBE9BI,qBACE,aAFS,EACX,qBACE,aAFS,EACX,qBACE,aAFS,EACX,qBACE,aAFS,GAOf,oBACE,mBAGF,mDACE,eC7BF,sBACE,cAGF,qBACE,oBCTF,eZkFA,6CWnEA,sBACE,mBXkEF,sCYjEA,YCiBsB,IFZtB,qBACE,kBAEA,iCACE,aAIJ,sBACE,kBXyEE,wDc9GN,cASE,gBACA,WACA,YAUA,iCAGF,oBACE,gBACA,SACA,UAEA,6FACE,aACA,sBAIJ,UACE,OC9BF,eACE,WACA,UCRwB,ODSxB,kBACA,iBACA,mBACA,kBAEA,aACA,eACA,oBACA,2BAEA,sBAEA,0CACE,8BAGA,gBACA,eAGF,oBACE,eAGF,qDAEE,uBAGF,4BACE,yBAGF,sCACE,WACA,mBACA,kBAGO,kCACP,gBAIJ,YACE,mBACA,kBAEA,sBAEA,oCACE,gBACA,eAGF,uBACE,sBAGF,0BACE,kBAGF,0BACE,oBEvCA,kBACE,WACA,UAUI,wBACE,oBACA,UAGF,+BACE,2BAGF,8BACE,0BAVF,uBACE,qBACA,UAGF,8BACE,4BAGF,6BACE,2BAVF,uBACE,UACA,UAGF,8BACE,iBAGF,6BACE,gBAVF,uBACE,qBACA,UAGF,8BACE,4BAGF,6BACE,2BAVF,wBACE,qBACA,UAGF,+BACE,4BAGF,8BACE,2BAVF,uBACE,UACA,UAGF,8BACE,iBAGF,6BACE,gBAVF,wBACE,qBACA,UAGF,+BACE,4BAGF,8BACE,2BAVF,uBACE,qBACA,UAGF,8BACE,4BAGF,6BACE,2BAVF,uBACE,UACA,UAGF,8BACE,iBAGF,6BACE,gBAVF,uBACE,qBACA,UAGF,8BACE,4BAGF,6BACE,2BAVF,yBACE,qBACA,UAGF,gCACE,4BAGF,+BACE,2BAkCN,oBACE,WAEA,SAHF,oBACE,WAEA,SAHF,oBACE,WAEA,SAKF,qBACE,MAFS,EACX,qBACE,MAFS,EACX,qBACE,MAFS,EACX,qBACE,MAFS,ETnDf,kDSZE,yBACE,WACA,UAUI,8BACE,qBACA,UAGF,qCACE,4BAGF,oCACE,2BAVF,8BACE,qBACA,UAGF,qCACE,4BAGF,oCACE,2BAVF,8BACE,UACA,UAGF,qCACE,iBAGF,oCACE,gBAVF,8BACE,qBACA,UAGF,qCACE,4BAGF,oCACE,2BAVF,8BACE,qBACA,UAGF,qCACE,4BAGF,oCACE,2BAwBN,oCACE,eAGF,mCACE,cAKF,2BACE,WAEA,SAHF,2BACE,WAEA,SAHF,2BACE,WAEA,SAKF,4BACE,MAFS,EACX,4BACE,MAFS,EACX,4BACE,MAFS,EACX,4BACE,MAFS,GT7Cf,kDSlBE,wBACE,WACA,UAUI,6BACE,UACA,UAGF,oCACE,iBAGF,mCACE,gBAVF,6BACE,UACA,UAGF,oCACE,iBAGF,mCACE,gBAVF,6BACE,UACA,UAGF,oCACE,iBAGF,mCACE,gBAwBN,mCACE,eAGF,kCACE,cAKF,0BACE,WAEA,SAHF,0BACE,WAEA,SAHF,0BACE,WAEA,SAKF,2BACE,MAFS,EACX,2BACE,MAFS,EACX,2BACE,MAFS,EACX,2BACE,MAFS,GTvCf,wBO8BA,eACE,qBACA,oBAEA,sCACE,WACA,mBACA,kBAIJ,YACE,qBACA,oBEnEA,uBACE,WACA,UAUI,4BACE,UACA,UAGF,mCACE,iBAGF,kCACE,gBAwBN,kCACE,eAGF,iCACE,cAKF,yBACE,WAEA,SAHF,yBACE,WAEA,SAHF,yBACE,WAEA,SAKF,0BACE,MAFS,EACX,0BACE,MAFS,EACX,0BACE,MAFS,EACX,0BACE,MAFS,GCxFjB,clB+EE,gCY7DA,YCSA,qBDRA,kBACA,yBACA,mCAfA,YCuBiB,IK1BjB,cACA,kCACA,8BACA,sBACA,kCACA,mClBggBA,+BkBxgBF,cNUE,YCoBwB,KKf1B,oBACE,cNnBA,oBMqBA,YLCiB,KLkBjB,kDUtBF,oBNlBE,oBJ4EA,wBU1DF,oBNlBE,qBMgCF,ONfE,YCiBsB,IKExB,EAGE,iBAEA,IACE,gBAIJ,ENUE,0BC/BuC,WDgCvC,sBCjCoC,OKyBpC,mBAEA,SlB+BA,2BkB1BA,UlB0BA,mCkBtBA,iBNCA,0BACA,0BCpCsC,QDqCtC,sBCvCoC,OK0ClC,qClBgBF,2BkBVF,MNxEE,sBM4EF,sDACE,sBACA,yBAEA,aACA,mBACA,2CN5CA,YC4BA,sBD3BA,kBACA,yBAIE,YCwBiB,IDpEnB,mBAmDA,gBACA,yBMkCA,cACA,kBACA,wBZ3FA,cCDsB,IWgGb,yDACP,0BAEA,2EACE,0BACA,kCACA,8BAEA,yGACE,cAKN,oFlBxBA,6CAybA,+BkBjaA,oFlBxBA,qBkBiCF,uGACE,UAEA,gBAEA,+BAEA,YACA,mBAGE,mINjEF,0BACA,0BCpCsC,QDqCtC,sBCvCoC,OK0GlC,mJACE,cAKN,wJlBtBM,mDkB2BJ,iCACA,yBAEA,guBlB9DA,oDAIA,qDAiCI,iDkBiCF,gzBlBtEF,2DkB4EE,mCADF,wblB3EA,oDAIA,qDAiCI,iDkB8CA,gelBnFJ,4DkB8HF,eAGE,aACA,eACA,kBAEA,gBAEA,qBACE,aACA,mBAIJ,kNlB7IE,qCkB+IA,iBAEA,oOACE,qBAEA,mBAEA,mSACE,WAEA,cACA,eACA,mBACA,mBAEA,qBAEA,sBAEA,wBlB5IA,4FkBmJA,opBlBpIA,0CkB0IJ,iRACE,oBAIJ,kDNrOE,YCmBA,gDDlBA,YCqBoB,IDuBpB,YCDuB,ID7EvB,eJwCA,kDU8NF,kDNtQE,gBJ4EA,wBU0LF,kDNtQE,mBMmRF,gDNlPE,YCmBA,gDDlBA,YCqBoB,IDuBpB,YCKsB,KDnFtB,kBJwCA,kDU2OF,gDNnRE,gBJ4EA,wBUuMF,gDNnRE,qBMgSE,kEACE,aACA,cACA,gBACA,kBAEA,sBACA,wBAKN,gDN3RE,YCiBsB,ID4CtB,YCWsB,IDzFtB,mBJwCA,kDUoQF,gDN5SE,oBJ4EA,wBUgOF,gDN5SE,qBMyTF,gDNxSE,YCiBsB,ID4CtB,YCiBsB,ID/FtB,oBMsUF,gBN7TE,YCuBiB,IK2SjB,cACA,YL7OsB,IKgPxB,sIAEE,gBACA,iBAEA,kPACE,cAGF,mwBAGE,gBAgCE,qCACE,aAcN,wBACE,mBAaF,mBACE,SAEA,cAoBJ,gBAEE,eACA,gBACA,cACA,4BlB5UI,+DkB2VJ,uBNtbA,YCoBwB,IKoatB,YACA,eAEA,uCACE,YAGF,4CACE,mBAGF,0CACE,oBAIJ,6BACE,gBNtdF,eM0dE,qCACE,gBACA,mBAIJ,0BACE,mBV7aF,wBU2XF,gBAsDI,mCAKJ,qBN1eE,mBZkFA,qCQNA,wBU8ZF,qBN1eE,mBMofA,2BlBlaA,gCYrEA,YCoBwB,IKyd1B,kBNpdE,YC4BA,sBD3BA,kBACA,yBAIE,YCwBiB,IbcnB,qCYlFA,mBMggBA,gBVpbA,wBU8aF,kBN1fE,mBMugBF,QACE,kBACA,mBCzgBF,GACE,qBAEA,MACE,uBAGF,SACE,uBAGF,YACE,qBAIJ,GACE,wBAEA,MAC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","file":"email.css","sourcesContent":["@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../variables/borders\";\n@use \"../variables/forms\";\n@use \"../variables/colour\";\n@use \"../variables/features\";\n@use \"../tools/media\";\n\n$base-colours: (\n  \"background\",\n  // \"background-tint\",\n  \"font-base\",\n  \"font-dark\",\n  \"font-light\",\n  \"icon-light\",\n  \"link\",\n  \"link-visited\",\n  // \"focus-outline\",\n  \"keyline\",\n  \"keyline-dark\",\n  // \"input-foreground\",\n  // \"input-background\",\n  // \"input-border\",\n  // \"form-error-border\",\n  // \"form-error-text\",\n  // \"button-text\",\n  // \"button-background\",\n  // \"button-hover-text\",\n   // \"button-hover-background\",\n);\n\n@function brand-colour($colour, $opacity: 1) {\n  @return colour.brand-colour($colour, $opacity);\n}\n\n@mixin colour-css-vars($excludes...) {\n  @each $name, $value in colour.$colour-palette-default {\n    @if not list.index($excludes, $name) {\n      --#{$name}: #{$value};\n      @if list.index($base-colours, $name) {\n        --base-#{$name}: #{$value};\n      }\n    }\n  }\n}\n\n@mixin colour-css-vars-dark($excludes...) {\n  @each $name, $value in colour.$colour-palette-dark {\n    @if not list.index($excludes, $name) {\n      --#{$name}: #{$value};\n      @if list.index($base-colours, $name) {\n        --base-#{$name}: #{$value};\n      }\n    }\n  }\n}\n\n@mixin colour-css-vars-high-contrast($excludes...) {\n  @each $name, $value in colour.$colour-palette-high-contrast {\n    @if not list.index($excludes, $name) {\n      --#{$name}: #{$value};\n      @if list.index($base-colours, $name) {\n        --base-#{$name}: #{$value};\n      }\n    }\n  }\n}\n\n@mixin colour-css-vars-high-contrast-dark($excludes...) {\n  @each $name, $value in colour.$colour-palette-high-contrast-dark {\n    @if not list.index($excludes, $name) {\n      --#{$name}: #{$value};\n      @if list.index((\"keyline\", \"keyline-dark\"), $name) {\n        --base-#{$name}: #{$value};\n      }\n    }\n  }\n}\n\n@function colour-var($colour) {\n  @return var(\n    --#{$colour},\n    #{map.get(colour.$colour-palette-default, $colour)}\n  );\n}\n\n@mixin colour-font($colour, $important: false) {\n  color: colour-var($colour) if(sass($important): !important; else: null);\n}\n\n@mixin colour-background($colour, $important: false) {\n  background-color: colour-var($colour)\n    if(sass($important): !important; else: null);\n}\n\n@mixin colour-background-brand($brandColour, $important: false) {\n  background-color: #{brand-colour($brandColour)}\n    if(sass($important): !important; else: null);\n}\n\n@mixin colour-border(\n  $colour,\n  $width: \"\",\n  $style: solid,\n  $direction: \"\",\n  $important: false\n) {\n  @if $direction != \"\" {\n    @if $width != \"\" {\n      border-#{$direction}: $width\n        colour-var($colour)\n        $style\n        if(sass($important): !important; else: null);\n    } @else {\n      border-#{$direction}-color: colour-var($colour)\n        if(sass($important): !important; else: null);\n    }\n  } @else {\n    @if $width != \"\" {\n      border: $width\n        colour-var($colour)\n        $style\n        if(sass($important): !important; else: null);\n    } @else {\n      border-color: var(\n          --#{$colour},\n          #{map.get(colour.$colour-palette-default, $colour)}\n        )\n        if(sass($important): !important; else: null);\n    }\n  }\n}\n\n@mixin colour-outline($colour, $width: \"\", $style: solid, $important: false) {\n  @if $width != \"\" {\n    outline: $width\n      colour-var($colour)\n      $style\n      if(sass($important): !important; else: null);\n  } @else {\n    outline-color: colour-var($colour)\n      if(sass($important): !important; else: null);\n  }\n}\n\n@mixin colour-fill($colour, $important: false) {\n  fill: colour-var($colour) if(sass($important): !important; else: null);\n}\n\n%colour-input {\n  @include colour-font(\"input-foreground\");\n  @include colour-background(\"input-background\");\n  @include colour-border(\"input-border\", forms.$form-field-border-width);\n}\n\n@mixin colour-input() {\n  @extend %colour-input;\n}\n\n@mixin thick-keyline($direction: \"\", $veryThick: false) {\n  $border-width: borders.$thick-border-width;\n  @if $veryThick {\n    $border-width: borders.$very-thick-border-width;\n  }\n  @if $direction != \"\" {\n    @include colour-border(\"keyline\", $border-width, solid, $direction);\n  } @else {\n    @include colour-border(\"keyline\", $border-width, solid);\n  }\n}\n\n@mixin thick-keyline-dark($direction: \"\", $veryThick: false) {\n  $border-width: borders.$thick-border-width;\n  @if $veryThick {\n    $border-width: borders.$very-thick-border-width;\n  }\n  @if $direction != \"\" {\n    @include colour-border(\"keyline-dark\", $border-width, solid, $direction);\n  } @else {\n    @include colour-border(\"keyline-dark\", $border-width, solid);\n  }\n}\n\n@mixin thick-keyline-accent($direction: \"\", $veryThick: false) {\n  $border-width: borders.$thick-border-width;\n  @if $veryThick {\n    $border-width: borders.$very-thick-border-width;\n  }\n  @if $direction != \"\" {\n    @include colour-border(\"accent-border\", $border-width, solid, $direction);\n  } @else {\n    @include colour-border(\"accent-border\", $border-width, solid);\n  }\n}\n\n@mixin thick-keyline-error($direction: \"\", $veryThick: false) {\n  $border-width: borders.$thick-border-width;\n  @if $veryThick {\n    $border-width: borders.$very-thick-border-width;\n  }\n  @if $direction != \"\" {\n    @include colour-border(\n      \"form-error-border\",\n      $border-width,\n      solid,\n      $direction\n    );\n  } @else {\n    @include colour-border(\"form-error-border\", $border-width, solid);\n  }\n}\n\n@mixin thick-keyline-brand($direction: \"\", $brandColour, $veryThick: false) {\n  $border-width: borders.$thick-border-width;\n  @if $veryThick {\n    $border-width: borders.$very-thick-border-width;\n  }\n  @if $direction != \"\" {\n    border-#{$direction}: $border-width #{brand-colour($brandColour)} solid;\n  } @else {\n    border: $border-width #{brand-colour($brandColour)} solid;\n  }\n}\n\n@mixin thick-keyline-transparent($direction: \"\", $veryThick: false) {\n  $border-width: borders.$thick-border-width;\n  @if $veryThick {\n    $border-width: borders.$very-thick-border-width;\n  }\n  @if $direction != \"\" {\n    border-#{$direction}: $border-width transparent solid;\n  } @else {\n    border: $border-width transparent solid;\n  }\n}\n\n// Use light theme colours (except for \"form-error-border\")\n%always-light {\n  // @include colour-css-vars(\"form-error-border\", \"focus-outline\");\n  @include colour-css-vars;\n\n  @media (prefers-contrast: more) {\n    // @include colour-css-vars-high-contrast(\n    //   \"form-error-border\",\n    //   \"focus-outline\"\n    // );\n    @include colour-css-vars-high-contrast;\n  }\n}\n\n@mixin always-light {\n  @extend %always-light;\n}\n\n%contrast {\n  --background: var(--contrast-background);\n  --font-base: var(--contrast-font-base);\n  --font-dark: var(--contrast-font-dark);\n  --font-light: var(--contrast-font-light);\n  --icon-light: var(--contrast-icon-light);\n  --link: var(--contrast-link);\n  --link-visited: var(--contrast-link-visited);\n  --keyline: var(--contrast-keyline);\n  --keyline-dark: var(--contrast-keyline-dark);\n  --button-text: var(--contrast-button-text);\n  --button-background: var(--contrast-button-background);\n  --button-hover-text: var(--contrast-button-hover-text);\n  --button-hover-background: var(--contrast-button-hover-background);\n  --accent-border: var(--accent-border-bright);\n\n  @include colour-background(\"background\");\n\n  @include colour-font(\"font-base\");\n}\n\n@mixin contrast {\n  @extend %contrast;\n}\n\n%contrast-on-mobile {\n  @include media.on-mobile {\n    --background: var(--contrast-background);\n    --font-base: var(--contrast-font-base);\n    --font-dark: var(--contrast-font-dark);\n    --font-light: var(--contrast-font-light);\n    --icon-light: var(--contrast-icon-light);\n    --link: var(--contrast-link);\n    --link-visited: var(--contrast-link-visited);\n    --keyline: var(--contrast-keyline);\n    --keyline-dark: var(--contrast-keyline-dark);\n    --button-text: var(--contrast-button-text);\n    --button-background: var(--contrast-button-background);\n    --button-hover-text: var(--contrast-button-hover-text);\n    --button-hover-background: var(--contrast-button-hover-background);\n    --accent-border: var(--accent-border-bright);\n\n    @include colour-background(\"background\");\n\n    @include colour-font(\"font-base\");\n  }\n}\n\n@mixin contrast-on-mobile {\n  @extend %contrast-on-mobile;\n}\n\n%base {\n  @each $name, $value in $base-colours {\n    --#{$name}: var(--base-#{$value});\n  }\n\n  @include colour-background(\"background\");\n\n  @include colour-font(\"font-base\");\n}\n\n@mixin base {\n  @extend %base;\n}\n\n%tint {\n  --background: var(--background-tint);\n\n  @include colour-background(\"background\");\n}\n\n@mixin tint {\n  @extend %tint;\n}\n\n%accent {\n  --background: var(--accent-background);\n  --font-base: var(--accent-font-base);\n  --font-dark: var(--accent-font-dark);\n  --font-light: var(--accent-font-light);\n  --icon-light: var(--accent-icon-light);\n  --link: var(--accent-link);\n  --link-visited: var(--accent-link);\n  --keyline: var(--accent-keyline);\n  --keyline-dark: var(--accent-keyline-dark);\n  --accent-border: var(--accent-font-dark);\n  --button-text: var(--accent-button-text);\n  --button-background: var(--accent-button-background);\n  --button-hover-text: var(--accent-button-hover-text);\n  --button-hover-background: var(--accent-button-hover-background);\n\n  @include colour-background(\"background\");\n\n  @include colour-font(\"font-base\");\n}\n\n@mixin accent {\n  @extend %accent;\n}\n\n%accent-light {\n  --background: var(--accent-background-light);\n  --font-base: #{map.get(colour.$colour-palette-default, \"font-base\")};\n  --font-dark: #{map.get(colour.$colour-palette-default, \"font-dark\")};\n  --font-light: #{map.get(colour.$colour-palette-default, \"font-light\")};\n  --icon-light: #{map.get(colour.$colour-palette-default, \"icon-light\")};\n  --keyline: #{map.get(colour.$colour-palette-default, \"keyline\")};\n  --keyline-dark: #{map.get(colour.$colour-palette-default, \"keyline-dark\")};\n  --button-text: #{map.get(colour.$colour-palette-default, \"button-text\")};\n  --button-background: #{map.get(\n      colour.$colour-palette-default,\n      \"button-background\"\n    )};\n  --button-hover-text: #{map.get(\n      colour.$colour-palette-default,\n      \"button-hover-text\"\n    )};\n  --button-hover-background: #{map.get(\n      colour.$colour-palette-default,\n      \"button-hover-background\"\n    )};\n  --accent-border: var(--accent-background);\n\n  @include colour-background(\"background\");\n  @include colour-font(\"font-base\");\n\n  .tna-template--system-theme & {\n    @media (prefers-color-scheme: dark) {\n      // --link: #{map.get(colour.$colour-palette-default, \"link\")};\n      // --link-visited: #{map.get(colour.$colour-palette-default, \"link-visited\")};\n\n      --background: var(--accent-background);\n      --font-base: var(--accent-font-base);\n      --font-dark: var(--accent-font-dark);\n      --font-light: var(--accent-font-light);\n      --icon-light: var(--accent-icon-light);\n      --link: var(--accent-link);\n      --link-visited: var(--accent-link);\n      --keyline: var(--accent-keyline);\n      --keyline-dark: var(--accent-keyline-dark);\n      --accent-border: var(--accent-font-dark);\n      --button-text: var(--accent-button-text);\n      --button-background: var(--accent-button-background);\n      --button-hover-text: var(--accent-button-hover-text);\n      --button-hover-background: var(--accent-button-hover-background);\n    }\n  }\n\n  .tna-template--dark-theme & {\n    // --link: #{map.get(colour.$colour-palette-default, \"link\")};\n    // --link-visited: #{map.get(colour.$colour-palette-default, \"link-visited\")};\n\n    --background: var(--accent-background);\n    --font-base: var(--accent-font-base);\n    --font-dark: var(--accent-font-dark);\n    --font-light: var(--accent-font-light);\n    --icon-light: var(--accent-icon-light);\n    --link: var(--accent-link);\n    --link-visited: var(--accent-link);\n    --keyline: var(--accent-keyline);\n    --keyline-dark: var(--accent-keyline-dark);\n    --accent-border: var(--accent-font-dark);\n    --button-text: var(--accent-button-text);\n    --button-background: var(--accent-button-background);\n    --button-hover-text: var(--accent-button-hover-text);\n    --button-hover-background: var(--accent-button-hover-background);\n  }\n}\n\n@mixin accent-light {\n  @extend %accent-light;\n}\n\n%yellow-accent {\n  --accent-background: #{colour.brand-colour(\"yellow\")} !important;\n  --accent-background-light: #{colour.brand-colour(\"cream\")} !important;\n  --accent-border: #{colour.brand-colour(\"yellow\")} !important;\n  --accent-border-bright: #{colour.brand-colour(\"yellow\")} !important;\n  --accent-font-base: #{colour.brand-colour(\"black\")} !important;\n  --accent-font-dark: #{colour.brand-colour(\"black\")} !important;\n  --accent-font-light: #{colour.brand-colour(\"black\", 0.7)} !important;\n  --accent-icon-light: #{colour.brand-colour(\"black\", 0.7)} !important;\n  --accent-link: #{colour.brand-colour(\"black\")} !important;\n  --accent-link-visited: #{colour.brand-colour(\"black\")} !important;\n  --accent-keyline: #{colour.brand-colour(\"black\", 0.5)} !important;\n  --accent-keyline-dark: #{colour.brand-colour(\"black\", 0.8)} !important;\n  --button-accented-text: #{colour.brand-colour(\"black\")} !important;\n  --button-accented-background: #{colour.brand-colour(\"yellow\")} !important;\n}\n\n@mixin yellow-accent {\n  @extend %yellow-accent;\n}\n\n%accent-lighter-text {\n  --accent-font-base: #{colour.brand-colour(\"white\")} !important;\n  --accent-font-dark: #{colour.brand-colour(\"white\")} !important;\n  --accent-font-light: #{colour.brand-colour(\"white\", 0.7)} !important;\n  --accent-icon-light: #{colour.brand-colour(\"white\", 0.7)} !important;\n  --accent-link: #{colour.brand-colour(\"white\")} !important;\n  --accent-link-visited: #{colour.brand-colour(\"white\")} !important;\n  --accent-keyline: #{colour.brand-colour(\"white\", 0.5)} !important;\n  --accent-keyline-dark: #{colour.brand-colour(\"white\", 0.8)} !important;\n  --button-accented-text: #{colour.brand-colour(\"white\")} !important;\n}\n\n%black-accent {\n  --accent-background: #{colour.brand-colour(\"black\")} !important;\n  --accent-background-light: #{colour.brand-colour(\"light-grey\")} !important;\n  --accent-border: #{colour.brand-colour(\"black\")} !important;\n  --accent-border-bright: #{colour.brand-colour(\"grey\")} !important;\n  --button-accented-text: #{colour.brand-colour(\"black\")} !important;\n  --button-accented-background: #{colour.brand-colour(\"grey\")} !important;\n}\n\n@mixin black-accent {\n  @extend %accent-lighter-text;\n  @extend %black-accent;\n}\n\n%pink-accent {\n  --accent-background: #{colour.brand-colour(\"maroon\")} !important;\n  --accent-background-light: #{colour.brand-colour(\"pastel-pink\")} !important;\n  --accent-border: #{colour.brand-colour(\"maroon\")} !important;\n  --accent-border-bright: #{colour.brand-colour(\"pink\")} !important;\n  --button-accented-background: #{colour.brand-colour(\"maroon\")} !important;\n}\n\n@mixin pink-accent {\n  @extend %accent-lighter-text;\n  @extend %pink-accent;\n}\n\n%orange-accent {\n  --accent-background: #{colour.brand-colour(\"chestnut\")} !important;\n  --accent-background-light: #{colour.brand-colour(\"pastel-orange\")} !important;\n  --accent-border: #{colour.brand-colour(\"chestnut\")} !important;\n  --accent-border-bright: #{colour.brand-colour(\"orange\")} !important;\n  --button-accented-background: #{colour.brand-colour(\"chestnut\")} !important;\n}\n\n@mixin orange-accent {\n  @extend %accent-lighter-text;\n  @extend %orange-accent;\n}\n\n%green-accent {\n  --accent-background: #{colour.brand-colour(\"forest\")} !important;\n  --accent-background-light: #{colour.brand-colour(\"pastel-green\")} !important;\n  --accent-border: #{colour.brand-colour(\"forest\")} !important;\n  --accent-border-bright: #{colour.brand-colour(\"green\")} !important;\n  --button-accented-background: #{colour.brand-colour(\"forest\")} !important;\n}\n\n@mixin green-accent {\n  @extend %accent-lighter-text;\n  @extend %green-accent;\n}\n\n%blue-accent {\n  --accent-background: #{colour.brand-colour(\"navy\")} !important;\n  --accent-background-light: #{colour.brand-colour(\"pastel-blue\")} !important;\n  --accent-border: #{colour.brand-colour(\"navy\")} !important;\n  --accent-border-bright: #{colour.brand-colour(\"blue\")} !important;\n  --button-accented-background: #{colour.brand-colour(\"navy\")} !important;\n}\n\n@mixin blue-accent {\n  @extend %accent-lighter-text;\n  @extend %blue-accent;\n}\n\n@mixin on-high-contrast {\n  @media (prefers-contrast: more) {\n    @content;\n  }\n}\n\n@mixin on-forced-colours {\n  @media (forced-colors: active) {\n    @content;\n  }\n}\n\n@mixin on-high-contrast-and-forced-colours {\n  @include on-forced-colours {\n    @content;\n  }\n\n  @include on-high-contrast {\n    @content;\n  }\n}\n\n%image-loader-background {\n  background: linear-gradient(\n    -45deg,\n    rgb(0 0 0 / 25%),\n    rgb(255 255 255 / 25%),\n    rgb(0 0 0 / 25%)\n  );\n  background-size: 500% 500%;\n  background-position: 0 50%;\n\n  animation: image-loader-background ease-in-out 1.2s infinite;\n\n  @media (prefers-reduced-motion) {\n    animation: none !important;\n  }\n}\n\n@mixin image-loader-background {\n  @if features.$image-loader-animations {\n    @extend %image-loader-background;\n  }\n}\n","@use \"../variables/a11y\";\n@use \"colour\";\n@use \"borders\";\n\n@mixin visually-hidden {\n  width: 1px !important;\n  height: 1px !important;\n  margin: 0 !important;\n  padding: 0 !important;\n\n  overflow: hidden !important;\n\n  position: absolute !important;\n  top: -9999px !important;\n  left: -9999px !important;\n  z-index: -1 !important;\n\n  background-color: transparent !important;\n\n  border: 0 !important;\n\n  -webkit-clip-path: inset(50%) !important;\n  clip-path: inset(50%) !important;\n}\n\n%focus-outline {\n  outline: a11y.$focus-outline-outer-width colour.brand-colour(\"black\") solid !important;\n  outline-offset: a11y.$focus-outline-inner-width !important;\n\n  box-shadow: 0 0 0 a11y.$focus-outline-inner-width\n    colour.brand-colour(\"yellow\") !important;\n\n  transition:\n    outline-offset 0.1s,\n    box-shadow 0.1s;\n\n  .tna-template--dark-theme & {\n    outline-color: colour.brand-colour(\"yellow\") !important;\n\n    box-shadow: 0 0 0 a11y.$focus-outline-inner-width\n      colour.brand-colour(\"black\") !important;\n  }\n\n  .tna-template--system-theme & {\n    @media (prefers-color-scheme: dark) {\n      outline-color: colour.brand-colour(\"yellow\") !important;\n\n      box-shadow: 0 0 0 a11y.$focus-outline-inner-width\n        colour.brand-colour(\"black\") !important;\n    }\n  }\n}\n\n@mixin focus-outline {\n  @extend %focus-outline;\n}\n\n@mixin no-focus-outline {\n  outline: none !important;\n\n  box-shadow: none !important;\n}\n\n%active-outline {\n  outline: a11y.$focus-outline-active-outer-width colour.brand-colour(\"black\")\n    solid !important;\n  outline-offset: a11y.$focus-outline-active-inner-width !important;\n\n  box-shadow: 0 0 0 a11y.$focus-outline-active-inner-width\n    colour.brand-colour(\"yellow\") !important;\n\n  transition: none;\n\n  .tna-template--dark-theme & {\n    outline-color: colour.brand-colour(\"yellow\") !important;\n\n    box-shadow: 0 0 0 a11y.$focus-outline-active-inner-width\n      colour.brand-colour(\"black\") !important;\n  }\n\n  .tna-template--system-theme & {\n    @media (prefers-color-scheme: dark) {\n      outline-color: colour.brand-colour(\"yellow\") !important;\n\n      box-shadow: 0 0 0 a11y.$focus-outline-active-inner-width\n        colour.brand-colour(\"black\") !important;\n    }\n  }\n}\n\n@mixin active-outline {\n  @extend %active-outline;\n}\n\n%faux-full-outline {\n  position: relative;\n}\n\n%faux-full-outline-anchor {\n  &::before {\n    content: \"\";\n\n    position: absolute;\n    inset: 0;\n    z-index: 9;\n\n    @include borders.rounded-border;\n  }\n\n  &:focus,\n  &:active {\n    @include no-focus-outline;\n  }\n\n  &:focus {\n    &::before {\n      @include focus-outline;\n    }\n  }\n\n  &:active {\n    &::before {\n      @include active-outline;\n    }\n  }\n}\n\n@mixin faux-full-outline($anchor_selector) {\n  @extend %faux-full-outline;\n\n  #{$anchor_selector} {\n    @extend %faux-full-outline-anchor;\n  }\n}\n\n%focus-indicator-only-on-keyboard-focus {\n  &:focus:not(:focus-visible) {\n    @include no-focus-outline;\n  }\n}\n\n@mixin focus-indicator-only-on-keyboard-focus {\n  @extend %focus-indicator-only-on-keyboard-focus;\n}\n","@use \"../../tools/a11y\";\n\n.tna-visually-hidden,\n.tna-\\!--visually-hidden {\n  @include a11y.visually-hidden;\n}\n\n*:focus,\n*:focus-visible,\n*:active {\n  z-index: 9;\n}\n\n*:focus-visible {\n  @include a11y.focus-outline;\n}\n\n@supports not selector(:focus-visible) {\n  *:focus {\n    z-index: 9;\n\n    @include a11y.focus-outline;\n  }\n}\n\na,\nbutton,\ninput,\ntextarea,\nselect,\nsummary {\n  &:active {\n    @include a11y.active-outline;\n  }\n}\n\n[tabindex=\"-1\"] *:focus-visible,\n[tabindex=\"-1\"] *:focus,\n.tna-\\!--no-focus-style:focus-visible,\n.tna-\\!--no-focus-style:focus {\n  @include a11y.no-focus-outline;\n}\n","@keyframes image-loader-background {\n  0%,\n  100% {\n    background-position: 0 50%;\n  }\n\n  50% {\n    background-position: 100% 50%;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"../variables/spacing\";\n@use \"../variables/typography\";\n@use \"../tools/media\";\n\n/*\n * ------------------------------------------\n * Spacing is created with rem rather than px\n * units as when users use a custom font size\n * some browsers handle the resize of rem and\n * em separately from px which causes spacing\n * and layout issues, so to ensure everything\n * remaians consistent we use rem for spacing\n * and typography. The original intention was\n * separation so that we could scale the type\n * without affecting spacing, but in practice\n * there are too many ways to change the font\n * size in various browsers and devices\n * ------------------------------------------\n */\n@function space($size) {\n  // @return #{$size * spacing.$spacing-unit-px}px;\n  @return #{$size}rem;\n}\n\n%space-above {\n  margin-top: space(2);\n  @extend %no-space-above-for-first-children;\n}\n\n%space-only-above {\n  margin: #{space(2)} 0 0;\n  @extend %no-space-above-for-first-children;\n}\n\n%no-space-above-for-first-children {\n  &:first-child {\n    margin-top: 0;\n  }\n}\n\n@mixin space-above($zero-other-margins: false) {\n  @if $zero-other-margins {\n    @extend %space-only-above;\n  } @else {\n    @extend %space-above;\n  }\n}\n\n@mixin no-spacing-generator($suffix: \"\") {\n  @if $suffix != \"\" {\n    $suffix: \"-\" + $suffix;\n  }\n  @each $property in margin, padding {\n    @each $direction in top, bottom {\n      $combined-direction: \"\";\n      @if $direction == top or $direction == bottom {\n        $combined-direction: vertical;\n      } @else if $direction == right or $direction == left {\n        $combined-direction: horizontal;\n      }\n      @if $combined-direction {\n        .tna-\\!--no-#{$property}-#{$direction}#{$suffix},\n        .tna-\\!--no-#{$property}-#{$combined-direction}#{$suffix} {\n          #{$property}-#{$direction}: 0 !important;\n        }\n      } @else {\n        .tna-\\!--no-#{$property}-#{$direction}#{$suffix} {\n          #{$property}-#{$direction}: 0 !important;\n        }\n      }\n    }\n  }\n}\n\n@mixin spacing-generator($suffix: \"\") {\n  @each $property in margin, padding {\n    @each $direction in top, bottom {\n      @each $size, $amount in spacing.$spacing {\n        @if $direction == all {\n          .tna-\\!--#{$property}-#{$size} {\n            #{$property}: #{space($amount)} !important;\n          }\n        } @else {\n          $combined-direction: \"\";\n          @if $direction == top or $direction == bottom {\n            $combined-direction: vertical;\n          } @else if $direction == right or $direction == left {\n            $combined-direction: horizontal;\n          }\n          @if $combined-direction {\n            .tna-\\!--#{$property}-#{$direction}-#{$size},\n            .tna-\\!--#{$property}-#{$combined-direction}-#{$size} {\n              #{$property}-#{$direction}: #{space($amount)} !important;\n            }\n          } @else {\n            .tna-\\!--#{$property}-#{$direction}-#{$size} {\n              #{$property}-#{$direction}: #{space($amount)} !important;\n            }\n          }\n        }\n      }\n    }\n  }\n\n  @include media.on-mobile {\n    @each $property in margin, padding {\n      @each $direction in top, bottom {\n        @each $size, $amount in spacing.$spacing-mobile {\n          @if $direction == all {\n            .tna-\\!--#{$property}-#{$size} {\n              #{$property}: #{space($amount)} !important;\n            }\n          } @else {\n            $combined-direction: \"\";\n            @if $direction == top or $direction == bottom {\n              $combined-direction: vertical;\n            } @else if $direction == right or $direction == left {\n              $combined-direction: horizontal;\n            }\n            @if $combined-direction {\n              .tna-\\!--#{$property}-#{$direction}-#{$size},\n              .tna-\\!--#{$property}-#{$combined-direction}-#{$size} {\n                #{$property}-#{$direction}: #{space($amount)} !important;\n              }\n            } @else {\n              .tna-\\!--#{$property}-#{$direction}-#{$size} {\n                #{$property}-#{$direction}: #{space($amount)} !important;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../../tools/borders\";\n@use \"../../tools/colour\";\n@use \"../../tools/media\";\n@use \"../../tools/spacing\";\n\n.tna-section {\n  padding-top: spacing.space(3);\n  padding-bottom: spacing.space(3);\n}\n\n.tna-aside {\n  @include spacing.space-above;\n  padding: spacing.space(2);\n\n  @include borders.rounded-border;\n\n  @include colour.on-high-contrast-and-forced-colours {\n    @include colour.colour-border(\"keyline-dark\", 1px);\n  }\n\n  &--tight {\n    padding: spacing.space(1);\n  }\n}\n\n@include media.on-mobile {\n  .tna-section {\n    padding-top: spacing.space(2);\n    padding-bottom: spacing.space(2);\n  }\n\n  .tna-aside {\n    padding: spacing.space(1);\n  }\n}\n","@use \"../variables/borders\";\n\n@mixin rounded-border {\n  border-radius: borders.$rounded-border-radius;\n}\n","$thick-border-width: 5px !default;\n$very-thick-border-width: 8px !default;\n$rounded-border-radius: 2px !default;\n","@use \"sass:math\";\n@use \"../variables/media\";\n@use \"../variables/typography\";\n\n$smallest-large-device-em: #{math.div(\n    media.$largest-medium-device-px + 1,\n    typography.$relative-1rem-px\n  )}em;\n$largest-medium-device-em: #{math.div(\n    media.$largest-medium-device-px,\n    typography.$relative-1rem-px\n  )}em;\n$smallest-medium-device-em: #{math.div(\n    media.$largest-small-device-px + 1,\n    typography.$relative-1rem-px\n  )}em;\n$largest-small-device-em: #{math.div(\n    media.$largest-small-device-px,\n    typography.$relative-1rem-px\n  )}em;\n$smallest-small-device-em: #{math.div(\n    media.$largest-tiny-device-px + 1,\n    typography.$relative-1rem-px\n  )}em;\n$largest-tiny-device-em: #{math.div(\n    media.$largest-tiny-device-px,\n    typography.$relative-1rem-px\n  )}em;\n\n$media-large: \"(min-width: #{$smallest-large-device-em})\";\n$media-lt-large: \"(max-width: #{$largest-medium-device-em})\";\n$media-medium: \"(min-width: #{$smallest-medium-device-em}) and (max-width: #{$largest-medium-device-em})\";\n$media-gt-mobile: \"(min-width: #{$smallest-medium-device-em})\";\n$media-mobile: \"(max-width: #{$largest-small-device-em})\";\n$media-small: \"(min-width: #{$smallest-small-device-em}) and (max-width: #{$largest-small-device-em})\";\n$media-gt-tiny: \"(min-width: #{$smallest-small-device-em})\";\n$media-tiny: \"(max-width: #{$largest-tiny-device-em})\";\n\n// https://nationalarchives.github.io/design-system/styles/media/#media-queries\n@mixin on-large() {\n  @media #{$media-large} {\n    @content;\n  }\n}\n\n@mixin on-medium() {\n  @media #{$media-medium} {\n    @content;\n  }\n}\n\n@mixin on-small() {\n  @media #{$media-small} {\n    @content;\n  }\n}\n\n@mixin on-tiny() {\n  @media #{$media-tiny} {\n    @content;\n  }\n}\n\n@mixin on-larger-than-mobile() {\n  @media #{$media-gt-mobile} {\n    @content;\n  }\n}\n\n@mixin on-larger-than-tiny() {\n  @media #{$media-gt-tiny} {\n    @content;\n  }\n}\n\n@mixin on-smaller-than-large() {\n  @media #{$media-lt-large} {\n    @content;\n  }\n}\n\n@mixin on-mobile() {\n  @media #{$media-mobile} {\n    @content;\n  }\n}\n\n@mixin on-print() {\n  @media print {\n    @content;\n  }\n}\n","@use \"../../tools/colour\";\n\n.tna-template {\n  @include colour.always-light;\n\n  @include colour.colour-background(\"background\");\n\n  &--system-theme {\n    @media (prefers-color-scheme: dark) {\n      @include colour.colour-css-vars-dark;\n    }\n\n    @media (prefers-contrast: more) and (prefers-color-scheme: dark) {\n      @include colour.colour-css-vars-high-contrast-dark;\n    }\n  }\n\n  &--dark-theme {\n    @include colour.colour-css-vars-dark;\n\n    @media (prefers-contrast: more) {\n      @include colour.colour-css-vars-high-contrast-dark;\n    }\n  }\n\n  &--black-accent {\n    @include colour.black-accent;\n  }\n\n  &--pink-accent {\n    @include colour.pink-accent;\n  }\n\n  &--orange-accent {\n    @include colour.orange-accent;\n  }\n\n  &--yellow-accent {\n    @include colour.yellow-accent;\n  }\n\n  &--green-accent {\n    @include colour.green-accent;\n  }\n\n  &--blue-accent {\n    @include colour.blue-accent;\n  }\n}\n\n.tna-background,\n.tna-block {\n  &-tint {\n    @include colour.tint;\n  }\n\n  &-contrast {\n    @include colour.contrast;\n  }\n\n  &-accent {\n    @include colour.accent;\n  }\n\n  &-accent-light {\n    @include colour.accent-light;\n  }\n\n  &-base {\n    @include colour.base;\n  }\n}\n\n.tna-border {\n  &-keyline {\n    @include colour.colour-border(\"keyline\", 1px);\n  }\n\n  &-keyline-dark {\n    @include colour.colour-border(\"keyline-dark\", 1px);\n  }\n}\n\n.tna-accent {\n  &-black {\n    @include colour.black-accent;\n  }\n\n  &-pink {\n    @include colour.pink-accent;\n  }\n\n  &-orange {\n    @include colour.orange-accent;\n  }\n\n  &-yellow {\n    @include colour.yellow-accent;\n  }\n\n  &-green {\n    @include colour.green-accent;\n  }\n\n  &-blue {\n    @include colour.blue-accent;\n  }\n}\n","@use \"../../tools/media\";\n@use \"../../tools/grid\";\n\n.tna-columns {\n  column-gap: grid.gutter-width();\n\n  &--2 {\n    column-count: 2;\n  }\n\n  &--3 {\n    column-count: 3;\n  }\n\n  @include media.on-tiny {\n    column-gap: grid.gutter-width-tiny();\n  }\n\n  @include media.on-small {\n    @for $i from 1 through 4 {\n      &--#{$i}-small {\n        column-count: $i;\n      }\n    }\n  }\n\n  @include media.on-tiny {\n    @for $i from 1 through 4 {\n      &--#{$i}-tiny {\n        column-count: $i;\n      }\n    }\n  }\n\n  &__block {\n    break-inside: avoid;\n  }\n\n  &:has(&__block:only-of-type) {\n    column-count: 1;\n  }\n}\n","@use \"../../tools/colour\";\n@use \"../../tools/spacing\";\n@use \"../../tools/typography\";\n\n.tna-form-item {\n  @include spacing.space-above;\n\n  &__header {\n  }\n\n  &__label {\n    display: block;\n  }\n\n  &__hint {\n    margin-top: spacing.space(0.125);\n\n    @include typography.font-size(16);\n    @include colour.colour-font(\"font-light\");\n  }\n\n  &__error {\n    margin-top: spacing.space(0.25);\n\n    @include colour.colour-font(\"form-error-text\");\n    @include typography.main-font-weight-bold;\n  }\n\n  &__body {\n    margin-top: spacing.space(0.5);\n\n    &:first-child {\n      margin-top: 0;\n    }\n  }\n\n  &--error {\n    padding-left: spacing.space(1);\n\n    @include colour.thick-keyline-error(left);\n  }\n}\n","@use \"sass:math\";\n@use \"../variables/typography\";\n@use \"colour\";\n@use \"media\";\n\n@mixin font-size($font-size-px) {\n  font-size: #{math.div($font-size-px, typography.$relative-1rem-px)}rem;\n}\n\n@mixin relative-font-size($font-size-px) {\n  @warn \"relative-font-size() will soon be deprecated in favour of font-size().\";\n  @include font-size($font-size-px);\n}\n\n@mixin main-font-weight {\n  font-weight: typography.$main-font-weight;\n}\n\n@mixin main-font-weight-medium {\n  font-weight: typography.$main-font-weight-medium;\n}\n\n@mixin main-font-weight-bold {\n  font-weight: typography.$main-font-weight-bold;\n}\n\n@mixin main-font($bold: false) {\n  font-family: typography.$main-font-family;\n  font-style: normal;\n  font-optical-sizing: auto;\n  font-variation-settings: \"wdth\" 100;\n  @if $bold {\n    @include main-font-weight-bold;\n  } @else {\n    @include main-font-weight;\n  }\n}\n\n@mixin heading-font {\n  font-family: typography.$heading-font-family;\n  font-weight: typography.$heading-font-weight;\n}\n\n@mixin detail-font($bold: false) {\n  font-family: typography.$detail-font-family;\n  font-style: normal;\n  font-optical-sizing: auto;\n  @if $bold {\n    font-weight: typography.$detail-font-weight-bold;\n  } @else {\n    font-weight: typography.$detail-font-weight;\n  }\n}\n\n@mixin detail-font-small {\n  @include detail-font;\n  @include font-size(14);\n  line-height: 1.1;\n  text-transform: uppercase;\n}\n\n@mixin interactable-text-decoration {\n  text-decoration-thickness: typography.$interactable-text-decoration-thickness;\n  text-underline-offset: typography.$interactable-text-decoration-offset;\n}\n\n@mixin interacted-text-decoration {\n  text-decoration: underline;\n  text-decoration-thickness: typography.$interactive-text-decoration-thickness;\n  text-underline-offset: typography.$interactable-text-decoration-offset;\n}\n\n@mixin heading-generator(\n  $font-size-default,\n  $font-size-medium,\n  $font-size-small,\n  $font-size-tiny,\n  $line-height\n) {\n  $small-and-tiny-identical: $font-size-small == $font-size-tiny;\n  $medium-small-and-tiny-identical: $font-size-medium == $font-size-small and\n    $small-and-tiny-identical;\n  $all-identical: $font-size-default == $font-size-medium and\n    $medium-small-and-tiny-identical and $small-and-tiny-identical;\n  line-height: $line-height;\n  @include font-size($font-size-default);\n\n  @if $all-identical != true {\n    @if $medium-small-and-tiny-identical != true {\n      @include media.on-medium {\n        @include font-size($font-size-medium);\n      }\n\n      @if $small-and-tiny-identical != true {\n        @include media.on-small {\n          @include font-size($font-size-small);\n        }\n\n        @include media.on-tiny {\n          @include font-size($font-size-tiny);\n        }\n      } @else {\n        @include media.on-mobile {\n          @include font-size($font-size-small);\n        }\n      }\n    } @else {\n      @include media.on-smaller-than-large {\n        @include font-size($font-size-medium);\n      }\n    }\n  }\n}\n","@use \"sass:math\";\n\n/*\n * ------------------------------------------\n * The typefaces, sizes and spacings that are\n * defined in this file have been selected to\n * ensure 100% match with the latest National\n * Archives brand guidelines - avoid changing\n * or overwriting any of these values without\n * signing off with the Digital Services team\n * first\n * ------------------------------------------\n */\n\n$relative-1rem-px: 16; // 16px = 1rem\n\n/*\n * ------------------------------------------\n * When true, use the included font files for\n * Open Sans and Roboto Mono, rather than the\n * versions hosted by Google Fonts\n * ------------------------------------------\n */\n$use-local-fonts: false !default;\n\n$body-font-size-px: 19 !default;\n$body-font-size-px-medium: 18 !default;\n$body-font-size-px-mobile: 17 !default;\n$body-line-height: 1.75 !default;\n\n$interactable-text-decoration-offset: 0.125em !default;\n$interactable-text-decoration-thickness: #{math.div(1.5, $relative-1rem-px)}rem !default;\n$interactive-text-decoration-thickness: #{math.div(4, $relative-1rem-px)}rem !default;\n\n$main-font-family-name: \"Open Sans\" !default;\n$main-font-family:\n  #{$main-font-family-name},\n  sans-serif;\n$main-font-weight: 400 !default;\n$main-font-weight-medium: 600 !default;\n$main-font-weight-bold: 700 !default;\n$main-font-file: \"OpenSans-Regular.ttf\" !default;\n$main-font-file-medium: \"OpenSans-SemiBold.ttf\" !default;\n$main-font-file-bold: \"OpenSans-Bold.ttf\" !default;\n\n/*\n * ------------------------------------------\n * To use Supria Sans Condensed (which is the\n * approved heading typeface for The National\n * Archives), you need to obtain a licence to\n * properly embed the CSS files with the font\n * definitions in your service - check with a\n * member of the Digital Services team on how\n * to get a licence\n * ------------------------------------------\n */\n$heading-font-family-name: \"supria-sans-condensed\" !default;\n$heading-font-family:\n  #{$heading-font-family-name},\n  \"Arial Narrow\",\n  sans-serif;\n$heading-font-weight: 500 !default;\n\n/*\n * ------------------------------------------\n * The detail font should be a monospace font\n * and is used for chips, supertitles as well\n * as the date search component\n * ------------------------------------------\n */\n$detail-font-family-name: \"Roboto Mono\" !default;\n$detail-font-family:\n  #{$detail-font-family-name},\n  monospace;\n$detail-font-weight: 400 !default;\n$detail-font-weight-bold: 500 !default;\n$detail-font-file: \"RobotoMono-Regular.ttf\" !default;\n$detail-font-file-bold: \"RobotoMono-Medium.ttf\" !default;\n\n$heading-xl-font-size-default: 64 !default;\n$heading-xl-font-size-medium: 48 !default;\n$heading-xl-font-size-small: 36 !default;\n$heading-xl-font-size-tiny: $heading-xl-font-size-small !default;\n$heading-xl-line-height: 1.1 !default;\n\n$heading-l-font-size-default: 36 !default;\n$heading-l-font-size-medium: 32 !default;\n$heading-l-font-size-small: 29 !default;\n$heading-l-font-size-tiny: $heading-l-font-size-small !default;\n$heading-l-line-height: 1.15 !default;\n\n$heading-m-font-size-default: 22 !default;\n$heading-m-font-size-medium: $heading-m-font-size-default !default;\n$heading-m-font-size-small: 21 !default;\n$heading-m-font-size-tiny: $heading-m-font-size-small !default;\n$heading-m-line-height: 1.4 !default;\n\n$heading-s-font-size-default: 19 !default;\n$heading-s-font-size-medium: $heading-s-font-size-default !default;\n$heading-s-font-size-small: $heading-s-font-size-default !default;\n$heading-s-font-size-tiny: $heading-s-font-size-default !default;\n$heading-s-line-height: 1.5 !default;\n",".tna-template {\n  /*\n   * ------------------------------------------\n   * A minimum page width of 320px is needed in\n   * order to meet the WCAG AA success criteria\n   * for 1.4.10 (Reflow)\n   * https://www.w3.org/WAI/WCAG21/Understanding/reflow.html\n   * ------------------------------------------\n   */\n  min-width: 320px;\n  width: 100%;\n  height: 100%;\n\n  /*\n   * ------------------------------------------\n   * Support ended with iOS 13 released on 19th\n   * September 2019. Deprecate in the future if\n   * iOS <13 share drops low enough.\n   * https://caniuse.com/mdn-css_properties_-webkit-overflow-scrolling\n   * ------------------------------------------\n   */\n  -webkit-overflow-scrolling: touch;\n}\n\n.tna-template__body {\n  min-height: 100%;\n  margin: 0;\n  padding: 0;\n\n  &:has(:is(.tna-global-header, .tna-header)):has(.tna-main):has(.tna-footer) {\n    display: flex;\n    flex-direction: column;\n  }\n}\n\n.tna-main {\n  flex: 1;\n}\n","@use \"sass:math\";\n@use \"sass:selector\";\n@use \"../../variables/grid\" as gridVars;\n@use \"../../tools/grid\";\n@use \"../../tools/media\";\n\n.tna-container {\n  width: 100%;\n  max-width: gridVars.$largest-container-width;\n  margin-right: auto;\n  margin-left: auto;\n  padding-right: grid.gutter-width-half();\n  padding-left: grid.gutter-width-half();\n\n  display: flex;\n  flex-wrap: wrap;\n  align-items: stretch;\n  justify-content: flex-start;\n\n  box-sizing: border-box;\n\n  & &--no-padding {\n    max-width: calc(\n      #{gridVars.$largest-container-width} - #{grid.gutter-width-double()}\n    );\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  &--max {\n    max-width: none;\n  }\n\n  &--centred,\n  &--align-centre {\n    justify-content: center;\n  }\n\n  &--align-right {\n    justify-content: flex-end;\n  }\n\n  & &--nested {\n    width: auto;\n    margin-right: -#{grid.gutter-width()};\n    margin-left: -#{grid.gutter-width()};\n  }\n\n  @at-root #{selector.unify(\"ul, ol\", &)} {\n    list-style: none;\n  }\n}\n\n.tna-column {\n  padding-right: grid.gutter-width-half();\n  padding-left: grid.gutter-width-half();\n\n  box-sizing: border-box;\n\n  & &--no-padding {\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  &--align-top {\n    align-self: flex-start;\n  }\n\n  &--align-centre {\n    align-self: center;\n  }\n\n  &--align-bottom {\n    align-self: flex-end;\n  }\n}\n\n@include grid.columns-generator(gridVars.$column-count);\n\n@include media.on-medium {\n  @include grid.columns-generator(gridVars.$column-count-medium, \"medium\");\n}\n\n@include media.on-small {\n  @include grid.columns-generator(gridVars.$column-count-small, \"small\");\n}\n\n@include media.on-tiny {\n  .tna-container {\n    padding-right: grid.gutter-width-tiny-half();\n    padding-left: grid.gutter-width-tiny-half();\n\n    & &--nested {\n      width: auto;\n      margin-right: -#{grid.gutter-width-tiny()};\n      margin-left: -#{grid.gutter-width-tiny()};\n    }\n  }\n\n  .tna-column {\n    padding-right: grid.gutter-width-tiny-half();\n    padding-left: grid.gutter-width-tiny-half();\n  }\n\n  @include grid.columns-generator(gridVars.$column-count-tiny, \"tiny\");\n}\n","$largest-container-width: 1280px !default;\n\n$gutter-width: 2 !default;\n$gutter-width-tiny: 1 !default;\n\n$column-count: 12;\n$column-count-medium: 6;\n$column-count-small: 4;\n$column-count-tiny: 2;\n","@use \"sass:math\";\n@use \"../variables/grid\";\n@use \"spacing\";\n\n@function gutter-width() {\n  @return spacing.space(grid.$gutter-width);\n}\n\n@function gutter-width-half() {\n  @return spacing.space(math.div(grid.$gutter-width, 2));\n}\n\n@function gutter-width-double() {\n  @return spacing.space(grid.$gutter-width * 2);\n}\n\n@function gutter-width-tiny() {\n  @return spacing.space(grid.$gutter-width-tiny);\n}\n\n@function gutter-width-tiny-half() {\n  @return spacing.space(math.div(grid.$gutter-width-tiny, 2));\n}\n\n@function gutter-width-tiny-double() {\n  @return spacing.space(grid.$gutter-width-tiny * 2);\n}\n\n@mixin columns-generator($count, $suffix: \"\") {\n  @if $suffix != \"\" {\n    $suffix: \"-\" + $suffix;\n  }\n\n  .tna-column {\n    &--full#{$suffix} {\n      width: 100%;\n      flex: none;\n    }\n\n    @for $i from 1 through $count - 1 {\n      $simplest-fraction-found: false;\n\n      @for $j from math.div($count, 2) through 1 {\n        @if (\n          $count % $j == 0 and $i % $j == 0 and $simplest-fraction-found != true\n        ) {\n          &--width-#{math.div($i, $j)}-#{math.div($count, $j)}#{$suffix} {\n            width: math.div(100%, $count) * $i;\n            flex: none;\n          }\n\n          &--margin-right-#{math.div($i, $j)}-#{math.div($count, $j)}#{$suffix} {\n            margin-right: math.div(100%, $count) * $i;\n          }\n\n          &--margin-left-#{math.div($i, $j)}-#{math.div($count, $j)}#{$suffix} {\n            margin-left: math.div(100%, $count) * $i;\n          }\n\n          $simplest-fraction-found: true;\n        }\n      }\n\n      @if $simplest-fraction-found != true {\n        &--width-#{$i}-#{$count}#{$suffix} {\n          width: math.div(100%, $count) * $i;\n          flex: none;\n        }\n\n        &--margin-right-#{$i}-#{$count}#{$suffix} {\n          margin-right: math.div(100%, $count) * $i;\n        }\n\n        &--margin-left-#{$i}-#{$count}#{$suffix} {\n          margin-left: math.div(100%, $count) * $i;\n        }\n      }\n    }\n\n    @if $suffix != \"\" {\n      &--no-margin-right#{$suffix} {\n        margin-right: 0;\n      }\n\n      &--no-margin-left#{$suffix} {\n        margin-left: 0;\n      }\n    }\n\n    @for $i from 1 through 3 {\n      &--flex-#{$i}#{$suffix} {\n        width: auto;\n\n        flex: $i 0;\n      }\n    }\n\n    @for $i from 1 through 4 {\n      &--order-#{$i}#{$suffix} {\n        order: $i;\n      }\n    }\n  }\n}\n","@use \"sass:math\";\n@use \"sass:selector\";\n@use \"../../variables/typography\" as typographyVars;\n@use \"../../tools/borders\";\n@use \"../../tools/colour\";\n@use \"../../tools/media\";\n@use \"../../tools/spacing\";\n@use \"../../tools/typography\";\n\n.tna-template {\n  @include colour.colour-font(\"font-base\");\n  @include typography.main-font;\n  direction: ltr;\n  text-rendering: optimizeLegibility;\n  -webkit-text-size-adjust: none;\n  text-size-adjust: none;\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n\n  @include colour.on-high-contrast {\n    @include typography.main-font-weight-medium;\n  }\n}\n\n.tna-template__body {\n  color: inherit;\n  @include typography.font-size(typographyVars.$body-font-size-px);\n  line-height: typographyVars.$body-line-height;\n\n  @include media.on-medium {\n    @include typography.font-size(typographyVars.$body-font-size-px-medium);\n  }\n\n  @include media.on-mobile {\n    @include typography.font-size(typographyVars.$body-font-size-px-mobile);\n  }\n}\n\nstrong {\n  @include typography.main-font-weight-bold;\n}\n\np {\n  @include spacing.space-above;\n\n  text-wrap: pretty;\n\n  + p {\n    margin-top: spacing.space(1);\n  }\n}\n\na {\n  @include typography.interactable-text-decoration;\n\n  border-radius: 0.1px;\n\n  &,\n  &:link {\n    @include colour.colour-font(\"link\");\n  }\n\n  &:visited {\n    @include colour.colour-font(\"link-visited\");\n  }\n\n  &:hover,\n  &:active {\n    @include typography.interacted-text-decoration;\n  }\n\n  &.tna-link--no-visited-state {\n    &:visited {\n      @include colour.colour-font(\"link\");\n    }\n  }\n}\n\nsmall {\n  @include typography.font-size(typographyVars.$body-font-size-px * 0.85);\n}\n\n%chip {\n  max-width: max-content;\n  padding: spacing.space(0.125) spacing.space(0.25);\n\n  display: flex;\n  align-items: center;\n  gap: spacing.space(0.5);\n\n  @include colour.colour-font(\"font-base\");\n  @include typography.detail-font-small;\n  line-height: 1;\n  text-align: center;\n  text-wrap-style: balance;\n\n  @include borders.rounded-border;\n\n  @at-root #{selector.unify(\"a\", &)} {\n    text-decoration: underline;\n\n    &:hover {\n      text-decoration: underline;\n      text-decoration-thickness: 0.1875em;\n      text-underline-offset: 0.0625em;\n\n      .fa-solid {\n        color: inherit;\n      }\n    }\n  }\n\n  .fa-solid {\n    @include colour.colour-font(\"icon-light\");\n\n    @include colour.on-high-contrast {\n      @include colour.colour-font(\"icon\");\n    }\n  }\n}\n\n%chip-plain {\n  padding: 0;\n\n  text-align: left;\n\n  background-color: transparent;\n\n  border: none;\n  border-radius: 0.1px;\n\n  @at-root #{selector.unify(\"a\", &)} {\n    &:hover {\n      @include typography.interacted-text-decoration;\n    }\n\n    .fa-solid {\n      color: inherit;\n    }\n  }\n}\n\n%chip-accent {\n  @include colour.accent;\n\n  @include colour.colour-border(\"accent-background\", 2px);\n\n  -webkit-print-color-adjust: exact;\n  print-color-adjust: exact;\n\n  .tna-background-accent &,\n  .tna-template--dark-theme .tna-background-accent-light & {\n    @include colour.colour-font(\"contrast-font-base\");\n\n    @include colour.colour-background(\"contrast-background\");\n\n    @include colour.colour-border(\"contrast-background\");\n\n    .fa-solid {\n      @include colour.colour-font(\"contrast-icon-light\");\n    }\n  }\n\n  .tna-template--system-theme .tna-background-accent-light & {\n    @media (prefers-color-scheme: dark) {\n      @include colour.colour-font(\"contrast-font-base\");\n\n      @include colour.colour-background(\"contrast-background\");\n\n      @include colour.colour-border(\"contrast-background\");\n\n      .fa-solid {\n        @include colour.colour-font(\"contrast-icon-light\");\n      }\n    }\n  }\n}\n\n.tna-chip {\n  @extend %chip;\n\n  &--plain {\n    @extend %chip-plain;\n  }\n\n  &--black {\n    @include colour.black-accent;\n  }\n\n  &--pink {\n    @include colour.pink-accent;\n  }\n\n  &--orange {\n    @include colour.orange-accent;\n  }\n\n  &--yellow {\n    @include colour.yellow-accent;\n  }\n\n  &--green {\n    @include colour.green-accent;\n  }\n\n  &--blue {\n    @include colour.blue-accent;\n  }\n\n  &:not(&--plain) {\n    @extend %chip-accent;\n  }\n}\n\n.tna-chip-list {\n  @include spacing.space-above;\n\n  display: flex;\n  flex-wrap: wrap;\n  gap: spacing.space(0.5) spacing.space(1.5);\n\n  list-style: none;\n\n  &__item {\n    display: flex;\n    align-items: center;\n  }\n}\n\n%heading {\n  @include colour.colour-font(\"font-dark\");\n  text-wrap: pretty;\n\n  a {\n    display: inline-block;\n\n    vertical-align: top;\n\n    &::after {\n      content: \"\";\n\n      width: 0.3125em;\n      height: 0.3125em;\n      margin-bottom: 0.1em;\n      margin-left: 0.375em;\n\n      display: inline-block;\n\n      vertical-align: middle;\n\n      transform: rotate(45deg);\n\n      @include colour.colour-border(\"link\", 0.125em, solid, top);\n      @include colour.colour-border(\"link\", 0.125em, solid, right);\n    }\n\n    &:not(.tna-link--no-visited-state):visited {\n      &::after {\n        @include colour.colour-border(\"link-visited\");\n      }\n    }\n  }\n\n  strong {\n    font-weight: inherit;\n  }\n}\n\n%heading-xl {\n  @extend %heading;\n\n  @include typography.heading-font;\n  @include typography.heading-generator(\n    typographyVars.$heading-xl-font-size-default,\n    typographyVars.$heading-xl-font-size-medium,\n    typographyVars.$heading-xl-font-size-small,\n    typographyVars.$heading-xl-font-size-tiny,\n    typographyVars.$heading-xl-line-height\n  );\n}\n\n%heading-l {\n  @extend %heading;\n\n  @include typography.heading-font;\n  @include typography.heading-generator(\n    typographyVars.$heading-l-font-size-default,\n    typographyVars.$heading-l-font-size-medium,\n    typographyVars.$heading-l-font-size-small,\n    typographyVars.$heading-l-font-size-tiny,\n    typographyVars.$heading-l-line-height\n  );\n\n  a {\n    &::after {\n      width: 0.275em;\n      height: 0.275em;\n      margin-bottom: 0;\n      margin-left: 0.25em;\n\n      border-top-width: 0.1em;\n      border-right-width: 0.1em;\n    }\n  }\n}\n\n%heading-m {\n  @extend %heading;\n\n  @include typography.main-font-weight-bold;\n  @include typography.heading-generator(\n    typographyVars.$heading-m-font-size-default,\n    typographyVars.$heading-m-font-size-medium,\n    typographyVars.$heading-m-font-size-small,\n    typographyVars.$heading-m-font-size-tiny,\n    typographyVars.$heading-m-line-height\n  );\n}\n\n%heading-s {\n  @extend %heading;\n\n  @include typography.main-font-weight-bold;\n  @include typography.heading-generator(\n    typographyVars.$heading-s-font-size-default,\n    typographyVars.$heading-s-font-size-medium,\n    typographyVars.$heading-s-font-size-small,\n    typographyVars.$heading-s-font-size-tiny,\n    typographyVars.$heading-s-line-height\n  );\n}\n\n%heading-xs {\n  @extend %heading;\n\n  @include typography.main-font-weight;\n\n  font-size: 1em;\n  line-height: typographyVars.$heading-s-line-height;\n}\n\n%headings-and-heading-groups {\n  @include spacing.space-above;\n  margin-bottom: 0;\n  padding: spacing.space(1) 0 0;\n\n  &:first-child {\n    padding-top: 0;\n  }\n\n  + p,\n  + .tna-large-paragraph,\n  + .tna-scene-setter {\n    margin-top: spacing.space(1);\n  }\n}\n\n.tna-heading {\n  &-xl {\n    @extend %heading-xl;\n    @extend %headings-and-heading-groups;\n  }\n\n  &-l {\n    @extend %heading-l;\n    @extend %headings-and-heading-groups;\n  }\n\n  &-m {\n    @extend %heading-m;\n    @extend %headings-and-heading-groups;\n  }\n\n  &-s {\n    @extend %heading-s;\n    @extend %headings-and-heading-groups;\n  }\n\n  &-xs {\n    @extend %heading-xs;\n    @extend %headings-and-heading-groups;\n  }\n\n  &--no-link-arrow {\n    a {\n      &::after {\n        display: none;\n      }\n    }\n  }\n}\n\n.tna-hgroup {\n  &-xl,\n  &-l,\n  &-m,\n  &-s {\n    @extend %headings-and-heading-groups;\n  }\n\n  &__supertitle {\n    margin: 0 0 spacing.space(0.25);\n\n    @extend %chip;\n\n    &--plain {\n      @extend %chip-plain;\n    }\n\n    &:not(&--plain) {\n      @extend %chip-accent;\n    }\n  }\n\n  &__title {\n    margin: 0;\n\n    display: block;\n  }\n\n  &-xl &__title {\n    @extend %heading-xl;\n  }\n\n  &-l &__title {\n    @extend %heading-l;\n  }\n\n  &-m &__title {\n    @extend %heading-m;\n  }\n\n  &-s &__title {\n    @extend %heading-s;\n  }\n}\n\n.tna-blockquote {\n  @include spacing.space-above;\n  margin-right: 0;\n  margin-bottom: 0;\n  margin-left: 0;\n  padding: spacing.space(1) spacing.space(1) spacing.space(1) spacing.space(2);\n\n  @include colour.thick-keyline-accent(left);\n\n  // &::before {\n  //   content: \"\\201C\";\n\n  //   display: block;\n\n  //   font-family: Georgia, \"Times New Roman\", Times, serif;\n  //   font-size: 3em;\n  //   line-height: 1;\n  //   @include colour.colour-font(\"font-light\");\n  // }\n\n  &__quote {\n    @include typography.main-font-weight-medium;\n    quotes: auto;\n    quotes: \"‘\" \"’\";\n\n    &:has(:is(ul, ol)) {\n      quotes: none;\n    }\n\n    > :first-child::before {\n      content: open-quote;\n    }\n\n    > :last-child::after {\n      content: close-quote;\n    }\n  }\n\n  &__attribution {\n    margin-top: spacing.space(1);\n\n    @include typography.font-size(16);\n\n    &::before {\n      content: \"\\2014\" \" \";\n      content: \"\\2014\" \" \" / \"\";\n    }\n  }\n\n  &__citation {\n    font-style: inherit;\n  }\n\n  @include media.on-tiny {\n    padding: spacing.space(0.5) spacing.space(0.5) spacing.space(0.5)\n      #{spacing.space(1)};\n  }\n}\n\n.tna-large-paragraph {\n  @include spacing.space-above;\n\n  @include typography.font-size(22);\n  @include colour.colour-font(\"font-dark\");\n\n  @include media.on-mobile {\n    @include typography.font-size(20);\n  }\n\n  &--bold {\n    @include colour.colour-font(\"font-base\");\n    @include typography.main-font-weight-medium;\n  }\n}\n\n.tna-scene-setter {\n  @include spacing.space-above;\n\n  @include typography.detail-font;\n  @include colour.colour-font(\"font-dark\");\n  @include typography.font-size(22);\n  line-height: 1.7;\n\n  @include media.on-mobile {\n    @include typography.font-size(20);\n  }\n}\n\naddress {\n  line-height: 1.375;\n  font-style: inherit;\n}\n","@use \"../../tools/colour\";\n@use \"../../tools/media\";\n@use \"../../tools/spacing\";\n@use \"../../tools/typography\";\n@use \"../../utilities/typography\" as typographyUtils;\n\nul {\n  list-style-type: disc;\n\n  & & {\n    list-style-type: circle;\n  }\n\n  & & & {\n    list-style-type: square;\n  }\n\n  & & & & {\n    list-style-type: disc;\n  }\n}\n\nol {\n  list-style-type: decimal;\n\n  & & {\n    list-style-type: lower-alpha;\n  }\n\n  & & & {\n    list-style-type: lower-roman;\n  }\n\n  & & & & {\n    list-style-type: decimal;\n  }\n}\n\n.tna-ul,\n.tna-ol {\n  margin-top: spacing.space(1);\n  padding-left: spacing.space(2.5);\n\n  &:first-child {\n    margin-top: 0;\n  }\n\n  &--plain {\n    padding-left: 0;\n\n    list-style: none !important;\n\n    > li::marker {\n      content: \"\";\n    }\n  }\n\n  > li {\n    &::marker {\n      @include typography.main-font-weight-medium;\n    }\n  }\n\n  &--dashed {\n    > li::marker {\n      content: \"—  \";\n      @include typography.main-font-weight;\n    }\n  }\n\n  &--spaced > li + li {\n    margin-top: spacing.space(0.5);\n  }\n\n  & ul,\n  & ol {\n    padding-left: spacing.space(1.25);\n  }\n}\n\n.tna-dl-chips {\n  @include spacing.space-above(true);\n\n  display: flex;\n  flex-wrap: wrap;\n  gap: spacing.space(0.75) spacing.space(1.5);\n\n  @extend %chip-plain;\n\n  > dt {\n    position: absolute;\n\n    font-size: 0;\n  }\n\n  &__item {\n    @extend %chip;\n  }\n\n  a#{&}__item {\n    cursor: pointer;\n  }\n\n  &:not(&--plain) {\n    gap: spacing.space(0.5) spacing.space(1);\n  }\n\n  &--plain &__item {\n    @extend %chip-plain;\n  }\n\n  &:not(&--plain) &__item {\n    @extend %chip-accent;\n  }\n\n  &--plain a#{&}__item {\n    @include colour.colour-font(\"link\");\n  }\n\n  &--stacked {\n    flex-direction: column;\n  }\n}\n\n@mixin stacked-dl {\n  display: block;\n\n  &--lined {\n    padding-bottom: 0;\n\n    > dd {\n      padding-top: 0;\n      padding-bottom: spacing.space(0.5);\n\n      border-top: none;\n    }\n  }\n\n  &--zebra {\n    > dt {\n      --background: var(--background-tint);\n\n      @include colour.colour-background(\"background\");\n    }\n\n    > dd:nth-child(1n) {\n      background: none;\n    }\n  }\n\n  &:has(> dt > .fa-solid, > dt > .fa-brands):not(&--zebra) {\n    > dd {\n      padding-left: spacing.space(2);\n    }\n  }\n}\n\n.tna-dl {\n  @include spacing.space-above;\n\n  display: grid;\n  grid-template-columns: auto;\n  gap: spacing.space(0.5) 0;\n\n  &--left-weighted {\n    grid-template-columns: 2fr 1fr;\n  }\n\n  &--right-weighted {\n    grid-template-columns: 1fr 2fr;\n  }\n\n  &--even {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  > dt,\n  > dd {\n    margin: 0;\n\n    overflow-wrap: break-word;\n  }\n\n  > dt {\n    padding-right: spacing.space(1);\n    @include typography.main-font-weight-bold;\n    position: relative;\n\n    .fa-solid,\n    .fa-brands {\n      display: block;\n\n      position: absolute;\n      top: 0;\n      left: 0;\n\n      line-height: inherit;\n      @include colour.colour-font(\"icon-light\");\n    }\n  }\n\n  &:has(> dt > .fa-solid, > dt > .fa-brands) {\n    > dt {\n      padding-left: spacing.space(2);\n    }\n  }\n\n  > dd {\n    padding-left: spacing.space(1);\n\n    grid-column-start: 2;\n  }\n\n  &--lined {\n    padding-bottom: spacing.space(0.5);\n    @include colour.colour-border(\"keyline\", 1px, solid, bottom);\n\n    /* stylelint-disable-next-line no-descending-specificity */\n    > dt,\n    > dd {\n      padding-top: spacing.space(0.5);\n      @include colour.colour-border(\"keyline\", 1px, solid, top);\n\n      .fa-solid,\n      .fa-brands {\n        top: spacing.space(0.5);\n      }\n    }\n  }\n\n  &--zebra {\n    gap: 0;\n\n    /* stylelint-disable-next-line no-descending-specificity */\n    > dt,\n    > dd {\n      padding: spacing.space(0.5) spacing.space(1) spacing.space(0.5)\n        spacing.space(1);\n    }\n\n    > dt {\n      .fa-solid,\n      .fa-brands {\n        top: spacing.space(0.5);\n        left: spacing.space(1);\n      }\n    }\n\n    > dt:first-child,\n    > dd:nth-of-type(2n) + dt,\n    > dd:nth-of-type(2n + 1) {\n      @include colour.tint;\n    }\n\n    &:has(> dt > .fa-solid, > dt > .fa-brands) {\n      > dt {\n        padding-left: spacing.space(3);\n      }\n    }\n  }\n\n  &--stacked#{&} {\n    @include stacked-dl;\n  }\n\n  @include media.on-mobile {\n    @include stacked-dl;\n  }\n}\n\nli,\ndd {\n  p {\n    margin-top: spacing.space(0.25);\n\n    &:first-child {\n      margin-top: 0;\n    }\n  }\n}\n","@use \"../../tools/colour\";\n\n.tna-logo {\n  width: 6rem;\n  aspect-ratio: 1;\n\n  display: block;\n\n  @include colour.colour-font(\"font-dark\");\n\n  svg {\n    width: 100%;\n    height: 100%;\n  }\n\n  &__background {\n    fill: transparent;\n  }\n\n  &__foreground {\n    fill: currentColor;\n  }\n\n  &--solid &__background {\n    fill: #fff;\n  }\n\n  &--solid &__foreground {\n    fill: #010101;\n  }\n}\n","@use \"sass:map\";\n@use \"../../tools/media\";\n@use \"../../tools/spacing\";\n\n@mixin hide-on($suffix) {\n  .tna-\\!--hide-on-#{$suffix} {\n    display: none !important;\n  }\n}\n\n@include spacing.no-spacing-generator;\n@include spacing.spacing-generator;\n\n@include media.on-large {\n  @include spacing.no-spacing-generator(\"large\");\n  @include hide-on(\"large\");\n}\n\n@include media.on-medium {\n  @include spacing.no-spacing-generator(\"medium\");\n  @include hide-on(\"medium\");\n}\n\n@include media.on-small {\n  @include spacing.no-spacing-generator(\"small\");\n  @include hide-on(\"small\");\n}\n\n@include media.on-tiny {\n  @include spacing.no-spacing-generator(\"tiny\");\n  @include hide-on(\"tiny\");\n}\n\n.tna-\\!--hide-on-print {\n  @media print {\n    display: none;\n  }\n}\n","@use \"../../tools/colour\";\n@use \"../../tools/typography\";\n\n* {\n  margin: 0;\n  padding: 0;\n\n  @media (prefers-contrast: more) {\n    background-image: none;\n  }\n}\n\n/*\n * ------------------------------------------\n * Disable the \"Auto dark mode\" feature as we\n * have our own dark theme\n * ------------------------------------------\n */\n:root {\n  color-scheme: only light;\n}\n\n/*\n * ------------------------------------------\n * If the browser supports -apple-system-body\n * which at the moment is just iOS then using\n * the system body font we can respond to the\n * Dynamic Type setting in iOS, however we do\n * disable it for any non-touch Apple devices\n * such as Mac OS, because the default system\n * font size is set to 13px rather than 16px\n * ------------------------------------------\n */\n@supports (font: -apple-system-body) and (-webkit-touch-callout: default) {\n  html {\n    /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */\n    font: -apple-system-body;\n  }\n}\n\nimg,\nsvg,\npicture,\nvideo,\ncanvas {\n  max-width: 100%;\n  height: auto;\n\n  display: block;\n}\n\nimg {\n  font-style: italic;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important;\n}\n\nhr {\n  @include colour.colour-border(\"keyline\", 0, solid);\n  border-top-width: 1px;\n\n  &.tna-hr-dark {\n    @include colour.colour-border(\"keyline-dark\");\n  }\n}\n","@use \"sass:math\";\n@use \"sass:selector\";\n@use \"../../variables/a11y\" as a11yVariables;\n@use \"../../tools/a11y\";\n@use \"../../tools/colour\";\n@use \"../../tools/grid\";\n@use \"../../tools/media\";\n@use \"../../tools/spacing\";\n@use \"../../tools/typography\";\n\n$table-overflow-shadow-width: 1.25rem;\n$table-overflow-shadow-colour: rgb(0 0 0 / 40%);\n$table-overflow-shadow-colour-hidden: rgb(0 0 0 / 0%);\n\n@property --overflow-shadow-start {\n  syntax: \"<color>\";\n  inherits: false;\n  initial-value: #{$table-overflow-shadow-colour-hidden};\n}\n\n@property --overflow-shadow-end {\n  syntax: \"<color>\";\n  inherits: false;\n  initial-value: #{$table-overflow-shadow-colour-hidden};\n}\n\n@keyframes overflow-shadows {\n  0% {\n    --overflow-shadow-start: #{$table-overflow-shadow-colour-hidden};\n    --overflow-shadow-end: #{$table-overflow-shadow-colour};\n  }\n\n  5% {\n    --overflow-shadow-start: #{$table-overflow-shadow-colour};\n  }\n\n  95% {\n    --overflow-shadow-end: #{$table-overflow-shadow-colour};\n  }\n\n  100% {\n    --overflow-shadow-start: #{$table-overflow-shadow-colour};\n    --overflow-shadow-end: #{$table-overflow-shadow-colour-hidden};\n  }\n}\n\n.tna-table {\n  @include spacing.space-above;\n  max-width: 100%;\n  margin-bottom: spacing.space(4);\n\n  position: relative;\n  z-index: 1;\n\n  text-align: left;\n\n  border-collapse: collapse;\n\n  &:last-child {\n    margin-bottom: 0;\n  }\n\n  &__caption {\n    width: 100%;\n    padding: 0 0 spacing.space(1);\n\n    caption-side: top;\n\n    @include typography.font-size(16);\n  }\n\n  &__head {\n    vertical-align: bottom;\n  }\n\n  &__body {\n    vertical-align: top;\n  }\n\n  &__foot {\n    @include typography.main-font-weight-bold;\n    vertical-align: top;\n  }\n\n  &__row {\n  }\n\n  &__header {\n  }\n\n  &__cell {\n  }\n\n  &__header,\n  &__cell {\n    padding: spacing.space(0.25) spacing.space(1);\n\n    @include colour.colour-border(\"keyline\", 1px, solid, bottom);\n\n    &:first-child {\n      padding-left: 0;\n    }\n\n    &:last-child {\n      padding-right: 0;\n    }\n\n    &--numeric {\n      text-align: right;\n    }\n\n    &--align-left {\n      text-align: left;\n    }\n\n    &--align-centre {\n      text-align: center;\n    }\n\n    &--align-right {\n      text-align: right;\n    }\n\n    &--align-justify {\n      text-align: justify;\n    }\n\n    &--align-top {\n      vertical-align: top;\n    }\n\n    &--align-middle {\n      vertical-align: middle;\n    }\n\n    &--align-bottom {\n      vertical-align: bottom;\n    }\n  }\n\n  &__head &__header {\n    @include colour.thick-keyline-dark(bottom);\n  }\n\n  &__foot &__header,\n  &__foot &__cell {\n    @include colour.thick-keyline-dark(top);\n  }\n\n  p {\n    + p {\n      margin-top: spacing.space(0.25);\n    }\n  }\n\n  &--full {\n    width: 100%;\n  }\n}\n\n.tna-table-wrapper {\n  @include spacing.space-above;\n  margin-bottom: spacing.space(4);\n\n  overflow: auto;\n\n  background:\n    linear-gradient(\n      to right,\n      colour.colour-var(\"background\") 50%,\n      rgb(255 255 255 / 0%)\n    ),\n    linear-gradient(\n        to right,\n        rgb(255 255 255 / 0%),\n        colour.colour-var(\"background\") 50%\n      )\n      0 100%,\n    radial-gradient(\n      ellipse #{$table-overflow-shadow-width} 50% at left center,\n      #{$table-overflow-shadow-colour},\n      #{$table-overflow-shadow-colour-hidden}\n    ),\n    radial-gradient(\n        ellipse #{$table-overflow-shadow-width} 50% at right center,\n        #{$table-overflow-shadow-colour},\n        #{$table-overflow-shadow-colour-hidden}\n      )\n      0 100% transparent;\n  background-size:\n    #{$table-overflow-shadow-width * 2} 100%,\n    #{$table-overflow-shadow-width * 2} 100%,\n    100% 100%,\n    100% 100%;\n  background-repeat: no-repeat;\n  background-position:\n    0 0,\n    100%,\n    0 0,\n    100%;\n  background-attachment: local, local, scroll, scroll;\n\n  border-radius: 0.1px;\n\n  container-type: inline-size;\n\n  contain: paint;\n\n  @include a11y.focus-indicator-only-on-keyboard-focus;\n\n  /*\n  * ------------------------------------------\n  * Can remove the @supports rule when support\n  * for the scroll-driven animations below has\n  * been enabled by default in Firefox and the\n  * documented scroll-timeline syntax (x and y\n  * as opposed to vertical and horizontal) can\n  * be used\n  * https://caniuse.com/mdn-css_properties_animation-timeline_view\n  * ------------------------------------------\n  */\n  @supports (scroll-timeline: --overflow-shadows x) {\n    background:\n      radial-gradient(\n        ellipse #{$table-overflow-shadow-width} 50% at left center,\n        var(--overflow-shadow-start),\n        #{$table-overflow-shadow-colour-hidden}\n      ),\n      radial-gradient(\n          ellipse #{$table-overflow-shadow-width} 50% at right center,\n          var(--overflow-shadow-end),\n          #{$table-overflow-shadow-colour-hidden}\n        )\n        transparent;\n    background-position: 0;\n\n    animation: overflow-shadows 1ms linear;\n    animation-timeline: --overflow-shadows;\n    scroll-timeline: --overflow-shadows x;\n  }\n\n  &:last-child {\n    margin-bottom: 0;\n  }\n\n  .tna-table {\n    &__caption {\n      max-width: calc(100vw - #{grid.gutter-width-double()});\n      max-width: 100cqw;\n\n      position: sticky;\n      left: 0;\n\n      @include media.on-tiny {\n        max-width: calc(100vw - #{grid.gutter-width-tiny-double()});\n        max-width: 100cqw;\n      }\n    }\n  }\n\n  // &--sticky-first-column {\n  //   background: radial-gradient(\n  //       ellipse #{$table-overflow-shadow-width} 50% at right center,\n  //       var(--overflow-shadow-end),\n  //       #{$table-overflow-shadow-colour-hidden}\n  //     )\n  //     transparent;\n\n  //   .tna-table {\n  //     &__header,\n  //     &__cell {\n  //       &:first-child {\n  //         max-width: 50vw;\n  //         max-width: 50cqw;\n\n  //         position: sticky;\n  //         left: 0;\n  //         z-index: 1;\n\n  //         overflow-wrap: break-word;\n\n  //         hyphens: auto;\n  //         @include colour.colour-background(\"background\");\n\n  //         &::after {\n  //           content: \"\";\n\n  //           width: 0.75rem;\n\n  //           position: absolute;\n  //           top: 0;\n  //           bottom: -1px;\n  //           left: 100%;\n\n  //           background: linear-gradient(\n  //             90deg,\n  //             var(--overflow-shadow-start) 0%,\n  //             #{$table-overflow-shadow-colour-hidden} 100%\n  //           );\n  //           animation: overflow-shadows linear;\n  //           animation-timeline: --overflow-shadows;\n  //         }\n  //       }\n  //     }\n  //   }\n  // }\n\n  &--scroll {\n    .tna-table {\n      &__caption {\n        &::after {\n          content: \" (scroll to see more)\";\n        }\n      }\n    }\n  }\n}\n","@use \"../../tools/media\";\n@use \"../../tools/spacing\";\n\n.tna-button-group {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: spacing.space(1);\n\n  @include spacing.space-above;\n\n  @include media.on-tiny {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  &--small {\n    gap: spacing.space(0.5);\n  }\n\n  &--centred {\n    justify-content: center;\n  }\n\n  &--full {\n    justify-content: stretch;\n\n    @include media.on-mobile {\n      flex-direction: column;\n\n      align-items: stretch;\n    }\n\n    .tna-button {\n      margin: 0;\n\n      flex: 1;\n    }\n  }\n}\n","@use \"sass:math\";\n@use \"../../tools/borders\";\n@use \"../../tools/colour\";\n@use \"../../tools/media\";\n@use \"../../tools/spacing\";\n@use \"../../tools/typography\";\n@use \"button-group\";\n\n$button-border-width: 4px !default;\n\n.tna-button {\n  padding: spacing.space(0.25) spacing.space(1);\n\n  display: inline-flex;\n  align-items: baseline;\n  justify-content: center;\n  gap: spacing.space(0.75);\n\n  line-height: 2rem;\n  text-align: center;\n  text-decoration: none;\n  text-wrap: balance;\n\n  cursor: pointer;\n\n  -webkit-print-color-adjust: exact;\n  print-color-adjust: exact;\n\n  @include typography.font-size(18);\n  @include typography.main-font-weight-bold;\n\n  @include colour.colour-background(\"button-background\");\n\n  @include colour.colour-border(\"button-background\", $button-border-width);\n  @include borders.rounded-border;\n\n  &,\n  &:link,\n  &:visited {\n    @include colour.colour-font(\"button-text\");\n  }\n\n  &:hover {\n    @include colour.colour-font(\"button-hover-text\");\n    text-decoration: none;\n\n    background: transparent;\n  }\n\n  .fa-solid {\n    display: block;\n  }\n\n  svg {\n    height: 1.1em;\n    flex-shrink: 0;\n\n    align-self: center;\n\n    fill: currentColor;\n  }\n\n  &--plain {\n    @include typography.main-font-weight;\n    text-decoration: underline;\n\n    background-color: transparent;\n\n    border-color: transparent;\n    border-radius: 0.1px;\n\n    &,\n    &:link,\n    &:visited,\n    &:hover {\n      @include colour.colour-font(\"link\");\n    }\n\n    &:hover {\n      @include typography.interacted-text-decoration;\n    }\n  }\n\n  &--accent {\n    @include colour.colour-background(\"button-accented-background\");\n\n    @include colour.colour-border(\"button-accented-background\");\n\n    &,\n    &:link,\n    &:visited {\n      @include colour.colour-font(\"button-accented-text\");\n    }\n\n    &:hover {\n      @include colour.colour-font(\"font-dark\");\n    }\n  }\n\n  &--icon-right {\n    flex-direction: row-reverse;\n\n    &:has(.fa-solid) {\n      align-items: center;\n      // justify-content: space-between;\n    }\n  }\n\n  &--small,\n  &-group--small & {\n    padding: 0 spacing.space(0.5);\n\n    @include typography.font-size(14);\n    line-height: 1.5rem;\n  }\n\n  @mixin icon-only {\n    padding-right: 0;\n    padding-left: 0;\n\n    gap: 0;\n\n    font-size: 0 !important;\n    line-height: 0 !important;\n\n    .fa-solid {\n      width: 2.5rem;\n\n      line-height: 2rem;\n\n      @include typography.font-size(18);\n    }\n\n    svg {\n      height: 1.5rem;\n      margin: 0.5rem;\n    }\n  }\n\n  @mixin icon-only-small {\n    padding-right: 0;\n    padding-left: 0;\n\n    .fa-solid {\n      width: 1.5rem;\n\n      line-height: 1.5rem;\n    }\n\n    svg {\n      height: 1.2rem;\n      margin: 0.5rem;\n    }\n  }\n\n  &--icon-only {\n    @include icon-only;\n  }\n\n  &--small#{&}--icon-only,\n  &-group--small &--icon-only {\n    @include icon-only-small;\n  }\n\n  @include media.on-mobile {\n    &--icon-only-mobile {\n      @include icon-only;\n    }\n\n    &--small#{&}--icon-only-mobile,\n    &-group--small &--icon-only-mobile {\n      @include icon-only-small;\n    }\n  }\n\n  &--solid-hover {\n    &:not(.tna-button--plain):hover {\n      @include colour.colour-font(\"font-dark\");\n\n      @include colour.colour-background(\"background\");\n    }\n  }\n\n  .tna-background-accent &,\n  .tna-template--dark-theme .tna-background-accent-light & {\n    &:hover {\n      @include colour.colour-font(\"font-dark\");\n    }\n  }\n\n  .tna-background-accent &--accent,\n  .tna-template--dark-theme .tna-background-accent-light &--accent {\n    @include colour.colour-background(\"contrast-button-background\");\n\n    @include colour.colour-border(\"contrast-button-background\");\n\n    &,\n    &:link,\n    &:visited {\n      @include colour.colour-font(\"contrast-button-text\");\n    }\n\n    &:hover {\n      @include colour.colour-font(\"contrast-font-dark\");\n\n      @include colour.colour-background(\"contrast-background\");\n    }\n  }\n\n  @media (prefers-color-scheme: dark) {\n    .tna-template--system-theme .tna-background-accent-light & {\n      &:hover {\n        @include colour.colour-font(\"font-dark\");\n      }\n    }\n\n    .tna-template--system-theme .tna-background-accent-light &--accent {\n      @include colour.colour-background(\"contrast-button-background\");\n\n      @include colour.colour-border(\"contrast-button-background\");\n\n      &,\n      &:link,\n      &:visited {\n        @include colour.colour-font(\"contrast-button-text\");\n      }\n\n      &:hover {\n        @include colour.colour-font(\"contrast-font-dark\");\n\n        @include colour.colour-background(\"contrast-background\");\n      }\n    }\n  }\n\n  @include colour.on-forced-colours {\n    &:hover {\n      @include typography.interacted-text-decoration;\n    }\n  }\n}\n","@use \"../../tools/colour\";\n@use \"../../tools/media\";\n@use \"../../tools/spacing\";\n@use \"../../tools/typography\";\n\n.tna-panel {\n  padding: spacing.space(2);\n\n  @include colour.green-accent;\n  @include colour.accent;\n\n  text-align: center;\n\n  &__heading {\n  }\n\n  &__content {\n    margin-top: spacing.space(1);\n\n    @include typography.font-size(22);\n\n    p + p {\n      margin-top: spacing.space(0.5);\n    }\n  }\n\n  @include media.on-mobile {\n    padding: spacing.space(1);\n\n    &__content {\n      @include typography.font-size(18);\n    }\n  }\n}\n","@use \"utilities\";\n@use \"tools/borders\";\n@use \"tools/colour\";\n@use \"tools/media\";\n@use \"tools/shadows\";\n@use \"tools/spacing\";\n@use \"tools/typography\";\n@use \"components/button\";\n@use \"components/panel\";\n\n.tna-template {\n  font-size: 16px;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n\n  &__body {\n    padding: 0 spacing.space(1);\n  }\n\n  &__main {\n    min-width: 320px;\n    width: 600px;\n    max-width: 100%;\n    margin: spacing.space(2) auto;\n\n    box-sizing: border-box;\n    @include borders.rounded-border;\n    @include shadows.drop-shadow;\n\n    @media (prefers-color-scheme: dark) {\n      @include colour.colour-border(\"keyline\", 1px, solid);\n    }\n  }\n\n  &__content {\n    padding: spacing.space(2);\n\n    @include typography.font-size(19);\n  }\n}\n\n.tna-logo {\n  width: 5rem;\n}\n\n.tna-email-header {\n  width: 100%;\n  padding: spacing.space(1) spacing.space(2);\n\n  box-sizing: border-box;\n  @include colour.contrast;\n}\n\n.tna-email-footer {\n  padding: spacing.space(1.5) spacing.space(2);\n\n  @include typography.font-size(16);\n  @include colour.contrast;\n\n  &__title {\n    margin-bottom: spacing.space(0.25);\n\n    line-height: 1.125;\n  }\n\n  &__address {\n  }\n\n  &__email {\n    margin-top: 0;\n  }\n\n  &__social {\n    &-items {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: flex-start;\n      gap: spacing.space(1) spacing.space(2);\n    }\n\n    &-item {\n      &-link {\n        display: flex;\n        align-items: center;\n        gap: spacing.space(0.5);\n\n        line-height: 1.25;\n        text-decoration: none;\n\n        svg {\n          height: 1.5em;\n\n          path {\n            fill: currentColor;\n          }\n        }\n\n        &:hover {\n          @include typography.interacted-text-decoration;\n        }\n\n        &-text {\n        }\n      }\n    }\n  }\n}\n\ntable {\n  width: 100%;\n  max-width: 100%;\n\n  color: inherit;\n  font-size: inherit;\n\n  border-collapse: separate;\n  /* stylelint-disable property-no-unknown */\n  mso-table-lspace: 0;\n  mso-table-rspace: 0;\n  /* stylelint-enable property-no-unknown */\n}\n\n@include media.on-small {\n  .tna-email-header {\n    .tna-logo {\n      width: 4rem;\n    }\n  }\n}\n\n@include media.on-tiny {\n  .tna-template__content,\n  .tna-email-header,\n  .tna-email-footer {\n    padding: spacing.space(1);\n  }\n\n  .tna-email-header {\n    .tna-logo {\n      width: 3.5rem;\n    }\n  }\n}\n","@mixin drop-shadow {\n  box-shadow:\n    0 0.25rem 1rem -0.25rem rgb(0 0 0 / 25%),\n    0 0.125rem 0.5rem -0.25rem rgb(0 0 0 / 75%);\n}\n"]}