@dwp/govuk-casa 7.0.6 → 8.0.0-alpha1
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.
- package/README.md +22 -17
- package/dist/{casa → assets}/css/casa-ie8.css +1 -1
- package/dist/assets/css/casa.css +1 -0
- package/dist/casa.d.ts +10 -0
- package/dist/casa.js +44 -0
- package/dist/lib/CasaTemplateLoader.d.ts +19 -0
- package/dist/lib/CasaTemplateLoader.js +57 -0
- package/dist/lib/JourneyContext.d.ts +255 -0
- package/dist/lib/JourneyContext.js +681 -0
- package/dist/lib/MutableRouter.d.ts +155 -0
- package/dist/lib/MutableRouter.js +272 -0
- package/dist/lib/Plan.d.ts +119 -0
- package/dist/lib/Plan.js +382 -0
- package/dist/lib/ValidationError.d.ts +70 -0
- package/dist/lib/ValidationError.js +156 -0
- package/dist/lib/ValidatorFactory.d.ts +24 -0
- package/dist/lib/ValidatorFactory.js +87 -0
- package/dist/lib/configure.d.ts +205 -0
- package/dist/lib/configure.js +215 -0
- package/dist/lib/dirname.cjs +1 -0
- package/dist/lib/end-session.d.ts +12 -0
- package/dist/lib/end-session.js +24 -0
- package/dist/lib/field.d.ts +79 -0
- package/dist/lib/field.js +223 -0
- package/dist/lib/logger.d.ts +8 -0
- package/dist/lib/logger.js +19 -0
- package/dist/lib/nunjucks-filters.d.ts +26 -0
- package/dist/lib/nunjucks-filters.js +112 -0
- package/dist/lib/nunjucks.d.ts +22 -0
- package/dist/lib/nunjucks.js +49 -0
- package/dist/lib/utils.d.ts +22 -0
- package/dist/lib/utils.js +44 -0
- package/dist/lib/validators/dateObject.d.ts +4 -0
- package/dist/lib/validators/dateObject.js +135 -0
- package/dist/lib/validators/email.d.ts +4 -0
- package/dist/lib/validators/email.js +46 -0
- package/dist/lib/validators/inArray.d.ts +4 -0
- package/dist/lib/validators/inArray.js +60 -0
- package/dist/lib/validators/index.d.ts +21 -0
- package/dist/lib/validators/index.js +47 -0
- package/dist/lib/validators/nino.d.ts +4 -0
- package/dist/lib/validators/nino.js +46 -0
- package/dist/lib/validators/postalAddressObject.d.ts +4 -0
- package/dist/lib/validators/postalAddressObject.js +123 -0
- package/dist/lib/validators/regex.d.ts +4 -0
- package/dist/lib/validators/regex.js +40 -0
- package/dist/lib/validators/required.d.ts +4 -0
- package/dist/lib/validators/required.js +56 -0
- package/dist/lib/validators/strlen.d.ts +4 -0
- package/dist/lib/validators/strlen.js +51 -0
- package/dist/lib/validators/wordCount.d.ts +5 -0
- package/dist/lib/validators/wordCount.js +54 -0
- package/dist/lib/waypoint-url.d.ts +17 -0
- package/dist/lib/waypoint-url.js +46 -0
- package/dist/middleware/body-parser.d.ts +1 -0
- package/dist/middleware/body-parser.js +24 -0
- package/dist/middleware/csrf.d.ts +1 -0
- package/dist/middleware/csrf.js +31 -0
- package/dist/middleware/data.d.ts +6 -0
- package/dist/middleware/data.js +53 -0
- package/dist/middleware/dirname.cjs +1 -0
- package/dist/middleware/gather-fields.d.ts +5 -0
- package/dist/middleware/gather-fields.js +39 -0
- package/dist/middleware/i18n.d.ts +4 -0
- package/dist/middleware/i18n.js +87 -0
- package/dist/middleware/post.d.ts +1 -0
- package/dist/middleware/post.js +42 -0
- package/dist/middleware/pre.d.ts +3 -0
- package/dist/middleware/pre.js +38 -0
- package/dist/middleware/progress-journey.d.ts +6 -0
- package/dist/middleware/progress-journey.js +82 -0
- package/dist/middleware/sanitise-fields.d.ts +5 -0
- package/dist/middleware/sanitise-fields.js +48 -0
- package/dist/middleware/session.d.ts +10 -0
- package/dist/middleware/session.js +115 -0
- package/dist/middleware/skip-waypoint.d.ts +5 -0
- package/dist/middleware/skip-waypoint.js +40 -0
- package/dist/middleware/steer-journey.d.ts +6 -0
- package/dist/middleware/steer-journey.js +44 -0
- package/dist/middleware/validate-fields.d.ts +7 -0
- package/dist/middleware/validate-fields.js +76 -0
- package/dist/mjs/esm-wrapper.js +10 -0
- package/dist/mjs/package.json +3 -0
- package/dist/package.json +3 -0
- package/dist/routes/ancillary.d.ts +4 -0
- package/dist/routes/ancillary.js +19 -0
- package/dist/routes/dirname.cjs +1 -0
- package/dist/routes/journey.d.ts +8 -0
- package/dist/routes/journey.js +130 -0
- package/dist/routes/static.d.ts +26 -0
- package/dist/routes/static.js +67 -0
- package/package.json +45 -86
- package/views/casa/components/checkboxes/template.njk +4 -1
- package/views/casa/components/date-input/template.njk +3 -3
- package/views/casa/components/journey-form/README.md +3 -1
- package/views/casa/components/journey-form/template.njk +1 -1
- package/views/casa/components/postal-address-object/template.njk +5 -5
- package/views/casa/components/radios/template.njk +1 -1
- package/views/casa/layouts/journey.njk +26 -9
- package/views/casa/layouts/main.njk +6 -19
- package/views/casa/partials/scripts.njk +8 -3
- package/views/casa/partials/styles.njk +2 -2
- package/casa.js +0 -208
- package/definitions/review-page.js +0 -60
- package/dist/casa/css/casa.css +0 -1
- package/dist/casa/js/casa.js +0 -1
- package/index.d.ts +0 -121
- package/lib/ConfigIngestor.js +0 -588
- package/lib/GatherModifier.js +0 -14
- package/lib/I18n.js +0 -160
- package/lib/JourneyContext.d.ts +0 -97
- package/lib/JourneyContext.js +0 -552
- package/lib/JourneyMap.js +0 -233
- package/lib/JourneyRoad.js +0 -330
- package/lib/Logger.js +0 -59
- package/lib/PageDictionary.d.ts +0 -11
- package/lib/PageDirectory.js +0 -77
- package/lib/Plan.js +0 -423
- package/lib/RoadConverter.js +0 -153
- package/lib/UserJourney.js +0 -8
- package/lib/Util.js +0 -227
- package/lib/Validation.js +0 -20
- package/lib/bootstrap/end-session.js +0 -44
- package/lib/bootstrap/load-definitions.js +0 -64
- package/lib/commonBodyParser.js +0 -15
- package/lib/enums.js +0 -6
- package/lib/gather-modifiers/index.js +0 -7
- package/lib/gather-modifiers/trimPostalAddressObject.js +0 -75
- package/lib/gather-modifiers/trimWhitespace.js +0 -16
- package/lib/utils/createGetRequest.d.ts +0 -5
- package/lib/utils/createGetRequest.js +0 -59
- package/lib/utils/index.js +0 -11
- package/lib/utils/parseRequest.d.ts +0 -5
- package/lib/utils/parseRequest.js +0 -72
- package/lib/utils/sanitise.js +0 -74
- package/lib/utils/validate.js +0 -32
- package/lib/validation/ArrayObjectField.js +0 -49
- package/lib/validation/ObjectField.js +0 -53
- package/lib/validation/SimpleField.d.ts +0 -11
- package/lib/validation/SimpleField.js +0 -46
- package/lib/validation/ValidationError.d.ts +0 -14
- package/lib/validation/ValidationError.js +0 -170
- package/lib/validation/ValidatorFactory.d.ts +0 -32
- package/lib/validation/ValidatorFactory.js +0 -91
- package/lib/validation/index.js +0 -22
- package/lib/validation/processor/flattenErrorArray.js +0 -24
- package/lib/validation/processor/queue.js +0 -214
- package/lib/validation/processor.js +0 -84
- package/lib/validation/rules/README.md +0 -3
- package/lib/validation/rules/ValidationRules.d.ts +0 -22
- package/lib/validation/rules/dateObject.js +0 -156
- package/lib/validation/rules/email.js +0 -44
- package/lib/validation/rules/inArray.js +0 -61
- package/lib/validation/rules/index.js +0 -23
- package/lib/validation/rules/nino.js +0 -48
- package/lib/validation/rules/optional.js +0 -14
- package/lib/validation/rules/postalAddressObject.js +0 -142
- package/lib/validation/rules/regex.js +0 -39
- package/lib/validation/rules/required.js +0 -57
- package/lib/validation/rules/strlen.js +0 -57
- package/lib/validation/rules/wordCount.js +0 -61
- package/lib/view-filters/formatDateObject.js +0 -35
- package/lib/view-filters/includes.js +0 -10
- package/lib/view-filters/index.js +0 -23
- package/lib/view-filters/mergeObjectsDeep.js +0 -21
- package/lib/view-filters/renderAsAttributes.js +0 -33
- package/middleware/errors/404.js +0 -12
- package/middleware/errors/catch-all.js +0 -27
- package/middleware/errors/index.js +0 -9
- package/middleware/headers/config-defaults.js +0 -57
- package/middleware/headers/headers.js +0 -40
- package/middleware/headers/index.js +0 -9
- package/middleware/i18n/i18n.js +0 -56
- package/middleware/i18n/index.js +0 -16
- package/middleware/index.js +0 -55
- package/middleware/mount/index.js +0 -9
- package/middleware/mount/mount.js +0 -10
- package/middleware/nunjucks/environment.js +0 -57
- package/middleware/nunjucks/index.js +0 -8
- package/middleware/page/csrf.js +0 -37
- package/middleware/page/edit-mode.js +0 -52
- package/middleware/page/gather.js +0 -75
- package/middleware/page/index.js +0 -103
- package/middleware/page/journey-continue.js +0 -157
- package/middleware/page/journey-rails.js +0 -102
- package/middleware/page/prepare-request.js +0 -77
- package/middleware/page/render.js +0 -75
- package/middleware/page/skip.js +0 -72
- package/middleware/page/utils.js +0 -206
- package/middleware/page/validate.js +0 -67
- package/middleware/session/expiry.js +0 -95
- package/middleware/session/genid.js +0 -18
- package/middleware/session/index.js +0 -18
- package/middleware/session/init.js +0 -25
- package/middleware/session/seed.js +0 -50
- package/middleware/session/timeout.js +0 -5
- package/middleware/static/asset-versions.js +0 -23
- package/middleware/static/index.js +0 -104
- package/middleware/static/prepare-assets.js +0 -51
- package/middleware/static/serve-assets.js +0 -58
- package/middleware/variables/index.js +0 -12
- package/middleware/variables/variables.js +0 -35
- package/src/browserconfig.xml +0 -5
- package/src/js/casa.js +0 -132
- package/src/scss/_casaElements.scss +0 -11
- package/src/scss/_casaGovukTemplateJinjaPolyfill.scss +0 -39
- package/src/scss/_casaMountUrl.scss +0 -8
- package/src/scss/casa-ie8.scss +0 -3
- package/src/scss/casa.scss +0 -14
- package/test/unit/templates/README.md +0 -5
- package/test/utils/BaseTestWaypoint.js +0 -106
- package/test/utils/concatWaypoints.js +0 -26
- package/test/utils/index.js +0 -6
- package/test/utils/testTraversal.js +0 -90
- package/views/casa/partials/cookie_message.njk +0 -3
- package/views/casa/partials/phase_banner_alpha.njk +0 -8
- package/views/casa/partials/phase_banner_beta.njk +0 -8
- package/views/casa/review/page-block.njk +0 -8
- package/views/casa/review/review.njk +0 -47
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.govuk-link{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline}/*! Copyright (c) 2011 by Margaret Calvert & Henrik Kubel. All rights reserved. The font has been customised for exclusive use on gov.uk. This cut is not commercially available. */@font-face{font-family:"GDS Transport";font-style:normal;font-weight:normal;src:url("~~~CASA_MOUNT_URL~~~govuk/assets/fonts/light-94a07e06a1-v2.woff2") format("woff2"),url("~~~CASA_MOUNT_URL~~~govuk/assets/fonts/light-f591b13f7d-v2.woff") format("woff");font-display:fallback}@font-face{font-family:"GDS Transport";font-style:normal;font-weight:bold;src:url("~~~CASA_MOUNT_URL~~~govuk/assets/fonts/bold-b542beb274-v2.woff2") format("woff2"),url("~~~CASA_MOUNT_URL~~~govuk/assets/fonts/bold-affa96571d-v2.woff") format("woff");font-display:fallback}@media print{.govuk-link{font-family:sans-serif}}.govuk-link:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-link:link{color:#1d70b8}.govuk-link:visited{color:#4c2c92}.govuk-link:hover{color:#003078}.govuk-link:active{color:#0b0c0c}.govuk-link:focus{color:#0b0c0c}@media print{[href^="/"].govuk-link:after,[href^="http://"].govuk-link:after,[href^="https://"].govuk-link:after{content:" (" attr(href) ")";font-size:90%;word-wrap:break-word}}.govuk-link--muted:link,.govuk-link--muted:visited{color:#505a5f}.govuk-link--muted:hover,.govuk-link--muted:active{color:#0b0c0c}.govuk-link--muted:focus{color:#0b0c0c}.govuk-link--text-colour:link,.govuk-link--text-colour:visited{color:#0b0c0c}@media print{.govuk-link--text-colour:link,.govuk-link--text-colour:visited{color:#000}}.govuk-link--text-colour:hover{color:rgba(11,12,12,.99)}.govuk-link--text-colour:active,.govuk-link--text-colour:focus{color:#0b0c0c}@media print{.govuk-link--text-colour:active,.govuk-link--text-colour:focus{color:#000}}.govuk-link--inverse:link,.govuk-link--inverse:visited{color:#fff}.govuk-link--inverse:hover,.govuk-link--inverse:active{color:rgba(255,255,255,.99)}.govuk-link--inverse:focus{color:#0b0c0c}.govuk-link--no-underline:not(:hover):not(:active){text-decoration:none}.govuk-link--no-visited-state:link{color:#1d70b8}.govuk-link--no-visited-state:visited{color:#1d70b8}.govuk-link--no-visited-state:hover{color:#003078}.govuk-link--no-visited-state:active{color:#0b0c0c}.govuk-link--no-visited-state:focus{color:#0b0c0c}.govuk-list{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;margin-top:0;margin-bottom:15px;padding-left:0;list-style-type:none}@media print{.govuk-list{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-list{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-list{font-size:14pt;line-height:1.15}}@media print{.govuk-list{color:#000}}@media(min-width: 40.0625em){.govuk-list{margin-bottom:20px}}.govuk-list .govuk-list{margin-top:10px}.govuk-list>li{margin-bottom:5px}.govuk-list--bullet{padding-left:20px;list-style-type:disc}.govuk-list--number{padding-left:20px;list-style-type:decimal}.govuk-list--bullet>li,.govuk-list--number>li{margin-bottom:0}@media(min-width: 40.0625em){.govuk-list--bullet>li,.govuk-list--number>li{margin-bottom:5px}}.govuk-list--spaced>li{margin-bottom:10px}@media(min-width: 40.0625em){.govuk-list--spaced>li{margin-bottom:15px}}.govuk-template{background-color:#f3f2f1;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}@media screen{.govuk-template{overflow-y:scroll}}.govuk-template__body{margin:0;background-color:#fff}.govuk-heading-xl{color:#0b0c0c;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:32px;font-size:2rem;line-height:1.09375;display:block;margin-top:0;margin-bottom:30px}@media print{.govuk-heading-xl{color:#000}}@media print{.govuk-heading-xl{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-heading-xl{font-size:48px;font-size:3rem;line-height:1.0416666667}}@media print{.govuk-heading-xl{font-size:32pt;line-height:1.15}}@media(min-width: 40.0625em){.govuk-heading-xl{margin-bottom:50px}}.govuk-heading-l{color:#0b0c0c;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:24px;font-size:1.5rem;line-height:1.0416666667;display:block;margin-top:0;margin-bottom:20px}@media print{.govuk-heading-l{color:#000}}@media print{.govuk-heading-l{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-heading-l{font-size:36px;font-size:2.25rem;line-height:1.1111111111}}@media print{.govuk-heading-l{font-size:24pt;line-height:1.05}}@media(min-width: 40.0625em){.govuk-heading-l{margin-bottom:30px}}.govuk-heading-m{color:#0b0c0c;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:18px;font-size:1.125rem;line-height:1.1111111111;display:block;margin-top:0;margin-bottom:15px}@media print{.govuk-heading-m{color:#000}}@media print{.govuk-heading-m{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-heading-m{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-heading-m{font-size:18pt;line-height:1.15}}@media(min-width: 40.0625em){.govuk-heading-m{margin-bottom:20px}}.govuk-heading-s{color:#0b0c0c;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:16px;font-size:1rem;line-height:1.25;display:block;margin-top:0;margin-bottom:15px}@media print{.govuk-heading-s{color:#000}}@media print{.govuk-heading-s{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-heading-s{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-heading-s{font-size:14pt;line-height:1.15}}@media(min-width: 40.0625em){.govuk-heading-s{margin-bottom:20px}}.govuk-caption-xl{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:18px;font-size:1.125rem;line-height:1.1111111111;display:block;margin-bottom:5px;color:#505a5f}@media print{.govuk-caption-xl{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-caption-xl{font-size:27px;font-size:1.6875rem;line-height:1.1111111111}}@media print{.govuk-caption-xl{font-size:18pt;line-height:1.15}}.govuk-caption-l{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:18px;font-size:1.125rem;line-height:1.1111111111;display:block;margin-bottom:5px;color:#505a5f}@media print{.govuk-caption-l{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-caption-l{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-caption-l{font-size:18pt;line-height:1.15}}@media(min-width: 40.0625em){.govuk-caption-l{margin-bottom:0}}.govuk-caption-m{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;display:block;color:#505a5f}@media print{.govuk-caption-m{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-caption-m{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-caption-m{font-size:14pt;line-height:1.15}}.govuk-body-lead,.govuk-body-l{color:#0b0c0c;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:18px;font-size:1.125rem;line-height:1.1111111111;margin-top:0;margin-bottom:20px}@media print{.govuk-body-lead,.govuk-body-l{color:#000}}@media print{.govuk-body-lead,.govuk-body-l{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-body-lead,.govuk-body-l{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-body-lead,.govuk-body-l{font-size:18pt;line-height:1.15}}@media(min-width: 40.0625em){.govuk-body-lead,.govuk-body-l{margin-bottom:30px}}.govuk-body,.govuk-body-m{color:#0b0c0c;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;margin-top:0;margin-bottom:15px}@media print{.govuk-body,.govuk-body-m{color:#000}}@media print{.govuk-body,.govuk-body-m{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-body,.govuk-body-m{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-body,.govuk-body-m{font-size:14pt;line-height:1.15}}@media(min-width: 40.0625em){.govuk-body,.govuk-body-m{margin-bottom:20px}}.govuk-body-s{color:#0b0c0c;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.1428571429;margin-top:0;margin-bottom:15px}@media print{.govuk-body-s{color:#000}}@media print{.govuk-body-s{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-body-s{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.govuk-body-s{font-size:14pt;line-height:1.2}}@media(min-width: 40.0625em){.govuk-body-s{margin-bottom:20px}}.govuk-body-xs{color:#0b0c0c;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:12px;font-size:.75rem;line-height:1.25;margin-top:0;margin-bottom:15px}@media print{.govuk-body-xs{color:#000}}@media print{.govuk-body-xs{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-body-xs{font-size:14px;font-size:.875rem;line-height:1.4285714286}}@media print{.govuk-body-xs{font-size:12pt;line-height:1.2}}@media(min-width: 40.0625em){.govuk-body-xs{margin-bottom:20px}}.govuk-body-l+.govuk-heading-l,.govuk-body-lead+.govuk-heading-l{padding-top:5px}@media(min-width: 40.0625em){.govuk-body-l+.govuk-heading-l,.govuk-body-lead+.govuk-heading-l{padding-top:10px}}.govuk-body-m+.govuk-heading-l,.govuk-body+.govuk-heading-l,.govuk-body-s+.govuk-heading-l,.govuk-list+.govuk-heading-l{padding-top:15px}@media(min-width: 40.0625em){.govuk-body-m+.govuk-heading-l,.govuk-body+.govuk-heading-l,.govuk-body-s+.govuk-heading-l,.govuk-list+.govuk-heading-l{padding-top:20px}}.govuk-body-m+.govuk-heading-m,.govuk-body+.govuk-heading-m,.govuk-body-s+.govuk-heading-m,.govuk-list+.govuk-heading-m,.govuk-body-m+.govuk-heading-s,.govuk-body+.govuk-heading-s,.govuk-body-s+.govuk-heading-s,.govuk-list+.govuk-heading-s{padding-top:5px}@media(min-width: 40.0625em){.govuk-body-m+.govuk-heading-m,.govuk-body+.govuk-heading-m,.govuk-body-s+.govuk-heading-m,.govuk-list+.govuk-heading-m,.govuk-body-m+.govuk-heading-s,.govuk-body+.govuk-heading-s,.govuk-body-s+.govuk-heading-s,.govuk-list+.govuk-heading-s{padding-top:10px}}.govuk-section-break{margin:0;border:0}.govuk-section-break--xl{margin-top:30px;margin-bottom:30px}@media(min-width: 40.0625em){.govuk-section-break--xl{margin-top:50px}}@media(min-width: 40.0625em){.govuk-section-break--xl{margin-bottom:50px}}.govuk-section-break--l{margin-top:20px;margin-bottom:20px}@media(min-width: 40.0625em){.govuk-section-break--l{margin-top:30px}}@media(min-width: 40.0625em){.govuk-section-break--l{margin-bottom:30px}}.govuk-section-break--m{margin-top:15px;margin-bottom:15px}@media(min-width: 40.0625em){.govuk-section-break--m{margin-top:20px}}@media(min-width: 40.0625em){.govuk-section-break--m{margin-bottom:20px}}.govuk-section-break--visible{border-bottom:1px solid #b1b4b6}.govuk-button-group{margin-bottom:5px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media(min-width: 40.0625em){.govuk-button-group{margin-bottom:15px}}.govuk-button-group .govuk-link{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.1875;display:inline-block;max-width:100%;margin-top:5px;margin-bottom:20px;text-align:center}@media print{.govuk-button-group .govuk-link{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-button-group .govuk-link{font-size:19px;font-size:1.1875rem;line-height:1}}@media print{.govuk-button-group .govuk-link{font-size:14pt;line-height:19px}}.govuk-button-group .govuk-button{margin-bottom:17px}@media(min-width: 40.0625em){.govuk-button-group{margin-right:-15px;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline}.govuk-button-group .govuk-button,.govuk-button-group .govuk-link{margin-right:15px}.govuk-button-group .govuk-link{text-align:left}}.govuk-form-group{margin-bottom:20px}.govuk-form-group:after{content:"";display:block;clear:both}@media(min-width: 40.0625em){.govuk-form-group{margin-bottom:30px}}.govuk-form-group .govuk-form-group:last-of-type{margin-bottom:0}.govuk-form-group--error{padding-left:15px;border-left:5px solid #d4351c}.govuk-form-group--error .govuk-form-group{padding:0;border:0}.govuk-grid-row{margin-right:-15px;margin-left:-15px}.govuk-grid-row:after{content:"";display:block;clear:both}.govuk-grid-column-one-quarter{box-sizing:border-box;width:100%;padding:0 15px}@media(min-width: 40.0625em){.govuk-grid-column-one-quarter{width:25%;float:left}}.govuk-grid-column-one-third{box-sizing:border-box;width:100%;padding:0 15px}@media(min-width: 40.0625em){.govuk-grid-column-one-third{width:33.3333%;float:left}}.govuk-grid-column-one-half{box-sizing:border-box;width:100%;padding:0 15px}@media(min-width: 40.0625em){.govuk-grid-column-one-half{width:50%;float:left}}.govuk-grid-column-two-thirds{box-sizing:border-box;width:100%;padding:0 15px}@media(min-width: 40.0625em){.govuk-grid-column-two-thirds{width:66.6666%;float:left}}.govuk-grid-column-three-quarters{box-sizing:border-box;width:100%;padding:0 15px}@media(min-width: 40.0625em){.govuk-grid-column-three-quarters{width:75%;float:left}}.govuk-grid-column-full{box-sizing:border-box;width:100%;padding:0 15px}@media(min-width: 40.0625em){.govuk-grid-column-full{width:100%;float:left}}.govuk-grid-column-one-quarter-from-desktop{box-sizing:border-box;padding:0 15px}@media(min-width: 48.0625em){.govuk-grid-column-one-quarter-from-desktop{width:25%;float:left}}.govuk-grid-column-one-third-from-desktop{box-sizing:border-box;padding:0 15px}@media(min-width: 48.0625em){.govuk-grid-column-one-third-from-desktop{width:33.3333%;float:left}}.govuk-grid-column-one-half-from-desktop{box-sizing:border-box;padding:0 15px}@media(min-width: 48.0625em){.govuk-grid-column-one-half-from-desktop{width:50%;float:left}}.govuk-grid-column-two-thirds-from-desktop{box-sizing:border-box;padding:0 15px}@media(min-width: 48.0625em){.govuk-grid-column-two-thirds-from-desktop{width:66.6666%;float:left}}.govuk-grid-column-three-quarters-from-desktop{box-sizing:border-box;padding:0 15px}@media(min-width: 48.0625em){.govuk-grid-column-three-quarters-from-desktop{width:75%;float:left}}.govuk-grid-column-full-from-desktop{box-sizing:border-box;padding:0 15px}@media(min-width: 48.0625em){.govuk-grid-column-full-from-desktop{width:100%;float:left}}.govuk-main-wrapper{display:block;padding-top:20px;padding-bottom:20px}@media(min-width: 40.0625em){.govuk-main-wrapper{padding-top:40px;padding-bottom:40px}}.govuk-main-wrapper--auto-spacing:first-child,.govuk-main-wrapper--l{padding-top:30px}@media(min-width: 40.0625em){.govuk-main-wrapper--auto-spacing:first-child,.govuk-main-wrapper--l{padding-top:50px}}.govuk-width-container{max-width:960px;margin-right:15px;margin-left:15px}@supports(margin: max(calc(0px))){.govuk-width-container{margin-right:max(15px, calc(15px + env(safe-area-inset-right)));margin-left:max(15px, calc(15px + env(safe-area-inset-left)))}}@media(min-width: 40.0625em){.govuk-width-container{margin-right:30px;margin-left:30px}@supports(margin: max(calc(0px))){.govuk-width-container{margin-right:max(30px, calc(15px + env(safe-area-inset-right)));margin-left:max(30px, calc(15px + env(safe-area-inset-left)))}}}@media(min-width: 1020px){.govuk-width-container{margin-right:auto;margin-left:auto}@supports(margin: max(calc(0px))){.govuk-width-container{margin-right:auto;margin-left:auto}}}.govuk-accordion{margin-bottom:20px}@media(min-width: 40.0625em){.govuk-accordion{margin-bottom:30px}}.govuk-accordion__section{padding-top:15px}.govuk-accordion__section-header{padding-top:15px;padding-bottom:15px}.govuk-accordion__section-heading{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:18px;font-size:1.125rem;line-height:1.1111111111;margin-top:0;margin-bottom:0}@media print{.govuk-accordion__section-heading{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-accordion__section-heading{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-accordion__section-heading{font-size:18pt;line-height:1.15}}.govuk-accordion__section-button{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:18px;font-size:1.125rem;line-height:1.1111111111;display:inline-block;margin-bottom:0;padding-top:15px}@media print{.govuk-accordion__section-button{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-accordion__section-button{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-accordion__section-button{font-size:18pt;line-height:1.15}}.govuk-accordion__section-summary{margin-top:10px;margin-bottom:0}.govuk-accordion__section-content>:last-child{margin-bottom:0}.js-enabled .govuk-accordion{border-bottom:1px solid #b1b4b6}.js-enabled .govuk-accordion__section{padding-top:0}.js-enabled .govuk-accordion__section-content{display:none;padding-top:15px;padding-bottom:15px}@media(min-width: 40.0625em){.js-enabled .govuk-accordion__section-content{padding-top:15px}}@media(min-width: 40.0625em){.js-enabled .govuk-accordion__section-content{padding-bottom:15px}}.js-enabled .govuk-accordion__section--expanded .govuk-accordion__section-content{display:block}.js-enabled .govuk-accordion__open-all{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.1428571429;position:relative;z-index:1;margin:0;padding:0;border-width:0;color:#1d70b8;background:none;cursor:pointer;-webkit-appearance:none;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline}@media print{.js-enabled .govuk-accordion__open-all{font-family:sans-serif}}@media(min-width: 40.0625em){.js-enabled .govuk-accordion__open-all{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.js-enabled .govuk-accordion__open-all{font-size:14pt;line-height:1.2}}@media print{.js-enabled .govuk-accordion__open-all{font-family:sans-serif}}.js-enabled .govuk-accordion__open-all:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.js-enabled .govuk-accordion__open-all:link{color:#1d70b8}.js-enabled .govuk-accordion__open-all:visited{color:#4c2c92}.js-enabled .govuk-accordion__open-all:hover{color:#003078}.js-enabled .govuk-accordion__open-all:active{color:#0b0c0c}.js-enabled .govuk-accordion__open-all:focus{color:#0b0c0c}.js-enabled .govuk-accordion__open-all::-moz-focus-inner{padding:0;border:0}.js-enabled .govuk-accordion__section-header{position:relative;padding-right:40px;border-top:1px solid #b1b4b6;cursor:pointer}.js-enabled .govuk-accordion__section-button{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-top:0;margin-bottom:0;margin-left:0;padding:0;border-width:0;color:#1d70b8;background:none;text-align:left;cursor:pointer;-webkit-appearance:none}@media print{.js-enabled .govuk-accordion__section-button{font-family:sans-serif}}.js-enabled .govuk-accordion__section-button:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.js-enabled .govuk-accordion__section-button::-moz-focus-inner{padding:0;border:0}.js-enabled .govuk-accordion__section-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.js-enabled .govuk-accordion__section-button:hover:not(:focus){color:#003078;text-decoration:underline;text-underline-offset:.1em}@media(hover: none){.js-enabled .govuk-accordion__section-button:hover{text-decoration:none}}.js-enabled .govuk-accordion__controls{text-align:right}.js-enabled .govuk-accordion__icon{position:absolute;top:50%;right:15px;width:16px;height:16px;margin-top:-8px}.js-enabled .govuk-accordion__icon:after,.js-enabled .govuk-accordion__icon:before{content:"";box-sizing:border-box;position:absolute;top:0;right:0;bottom:0;left:0;width:25%;height:25%;margin:auto;border:2px solid transparent;background-color:#0b0c0c}.js-enabled .govuk-accordion__icon:before{width:100%}.js-enabled .govuk-accordion__icon:after{height:100%}.js-enabled .govuk-accordion__section--expanded .govuk-accordion__icon:after{content:" ";display:none}.govuk-back-link{font-size:14px;font-size:.875rem;line-height:1.1428571429;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;display:inline-block;position:relative;margin-top:15px;margin-bottom:15px;padding-left:14px}@media(min-width: 40.0625em){.govuk-back-link{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.govuk-back-link{font-size:14pt;line-height:1.2}}@media print{.govuk-back-link{font-family:sans-serif}}.govuk-back-link:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-back-link:link,.govuk-back-link:visited{color:#0b0c0c}@media print{.govuk-back-link:link,.govuk-back-link:visited{color:#000}}.govuk-back-link:hover{color:rgba(11,12,12,.99)}.govuk-back-link:active,.govuk-back-link:focus{color:#0b0c0c}@media print{.govuk-back-link:active,.govuk-back-link:focus{color:#000}}.govuk-back-link:before{content:"";display:block;position:absolute;top:0;bottom:0;left:3px;width:7px;height:7px;margin:auto 0;-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg);border:solid;border-width:1px 1px 0 0;border-color:#505a5f}.govuk-back-link:focus:before{border-color:#0b0c0c}.govuk-back-link:after{content:"";position:absolute;top:-14px;right:0;bottom:-14px;left:0}.govuk-breadcrumbs{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.1428571429;color:#0b0c0c;margin-top:15px;margin-bottom:10px}@media print{.govuk-breadcrumbs{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-breadcrumbs{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.govuk-breadcrumbs{font-size:14pt;line-height:1.2}}@media print{.govuk-breadcrumbs{color:#000}}.govuk-breadcrumbs__list{margin:0;padding:0;list-style-type:none}.govuk-breadcrumbs__list:after{content:"";display:block;clear:both}.govuk-breadcrumbs__list-item{display:inline-block;position:relative;margin-bottom:5px;margin-left:10px;padding-left:15.655px;float:left}.govuk-breadcrumbs__list-item:before{content:"";display:block;position:absolute;top:0;bottom:0;left:-3.31px;width:7px;height:7px;margin:auto 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);border:solid;border-width:1px 1px 0 0;border-color:#505a5f}.govuk-breadcrumbs__list-item:first-child{margin-left:0;padding-left:0}.govuk-breadcrumbs__list-item:first-child:before{content:none;display:none}.govuk-breadcrumbs__link{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline}@media print{.govuk-breadcrumbs__link{font-family:sans-serif}}.govuk-breadcrumbs__link:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-breadcrumbs__link:link,.govuk-breadcrumbs__link:visited{color:#0b0c0c}@media print{.govuk-breadcrumbs__link:link,.govuk-breadcrumbs__link:visited{color:#000}}.govuk-breadcrumbs__link:hover{color:rgba(11,12,12,.99)}.govuk-breadcrumbs__link:active,.govuk-breadcrumbs__link:focus{color:#0b0c0c}@media print{.govuk-breadcrumbs__link:active,.govuk-breadcrumbs__link:focus{color:#000}}@media(max-width: 40.0525em){.govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item{display:none}.govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:first-child,.govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:last-child{display:inline-block}.govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:before{top:6px;margin:0}.govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}}.govuk-button{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.1875;box-sizing:border-box;display:inline-block;position:relative;width:100%;margin-top:0;margin-right:0;margin-left:0;margin-bottom:22px;padding:8px 10px 7px;border:2px solid transparent;border-radius:0;color:#fff;background-color:#00703c;box-shadow:0 2px 0 #002d18;text-align:center;vertical-align:top;cursor:pointer;-webkit-appearance:none}@media print{.govuk-button{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-button{font-size:19px;font-size:1.1875rem;line-height:1}}@media print{.govuk-button{font-size:14pt;line-height:19px}}@media(min-width: 40.0625em){.govuk-button{margin-bottom:32px}}@media(min-width: 40.0625em){.govuk-button{width:auto}}.govuk-button:link,.govuk-button:visited,.govuk-button:active,.govuk-button:hover{color:#fff;text-decoration:none}.govuk-button::-moz-focus-inner{padding:0;border:0}.govuk-button:hover{background-color:#005a30}.govuk-button:active{top:2px}.govuk-button:focus{border-color:#fd0;outline:3px solid transparent;box-shadow:inset 0 0 0 1px #fd0}.govuk-button:focus:not(:active):not(:hover){border-color:#fd0;color:#0b0c0c;background-color:#fd0;box-shadow:0 2px 0 #0b0c0c}.govuk-button:before{content:"";display:block;position:absolute;top:-2px;right:-2px;bottom:-4px;left:-2px;background:transparent}.govuk-button:active:before{top:-4px}.govuk-button--disabled,.govuk-button[disabled=disabled],.govuk-button[disabled]{opacity:.5}.govuk-button--disabled:hover,.govuk-button[disabled=disabled]:hover,.govuk-button[disabled]:hover{background-color:#00703c;cursor:default}.govuk-button--disabled:active,.govuk-button[disabled=disabled]:active,.govuk-button[disabled]:active{top:0;box-shadow:0 2px 0 #002d18}.govuk-button--secondary{background-color:#f3f2f1;box-shadow:0 2px 0 #929191}.govuk-button--secondary,.govuk-button--secondary:link,.govuk-button--secondary:visited,.govuk-button--secondary:active,.govuk-button--secondary:hover{color:#0b0c0c}.govuk-button--secondary:hover{background-color:#dbdad9}.govuk-button--secondary:hover[disabled]{background-color:#f3f2f1}.govuk-button--warning{background-color:#d4351c;box-shadow:0 2px 0 #55150b}.govuk-button--warning,.govuk-button--warning:link,.govuk-button--warning:visited,.govuk-button--warning:active,.govuk-button--warning:hover{color:#fff}.govuk-button--warning:hover{background-color:#aa2a16}.govuk-button--warning:hover[disabled]{background-color:#d4351c}.govuk-button--start{font-weight:700;font-size:18px;font-size:1.125rem;line-height:1;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:auto;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}@media(min-width: 40.0625em){.govuk-button--start{font-size:24px;font-size:1.5rem;line-height:1}}@media print{.govuk-button--start{font-size:18pt;line-height:1}}.govuk-button__start-icon{margin-left:5px;vertical-align:middle;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;forced-color-adjust:auto}@media(min-width: 48.0625em){.govuk-button__start-icon{margin-left:10px}}.govuk-error-message{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:16px;font-size:1rem;line-height:1.25;display:block;margin-bottom:15px;clear:both;color:#d4351c}@media print{.govuk-error-message{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-error-message{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-error-message{font-size:14pt;line-height:1.15}}.govuk-fieldset{min-width:0;margin:0;padding:0;border:0}.govuk-fieldset:after{content:"";display:block;clear:both}@supports not (caret-color: auto){.govuk-fieldset,x:-moz-any-link{display:table-cell}}.govuk-fieldset__legend{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;box-sizing:border-box;display:table;max-width:100%;margin-bottom:10px;padding:0;white-space:normal}@media print{.govuk-fieldset__legend{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-fieldset__legend{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-fieldset__legend{font-size:14pt;line-height:1.15}}@media print{.govuk-fieldset__legend{color:#000}}.govuk-fieldset__legend--xl{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:32px;font-size:2rem;line-height:1.09375;margin-bottom:15px}@media print{.govuk-fieldset__legend--xl{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-fieldset__legend--xl{font-size:48px;font-size:3rem;line-height:1.0416666667}}@media print{.govuk-fieldset__legend--xl{font-size:32pt;line-height:1.15}}.govuk-fieldset__legend--l{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:24px;font-size:1.5rem;line-height:1.0416666667;margin-bottom:15px}@media print{.govuk-fieldset__legend--l{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-fieldset__legend--l{font-size:36px;font-size:2.25rem;line-height:1.1111111111}}@media print{.govuk-fieldset__legend--l{font-size:24pt;line-height:1.05}}.govuk-fieldset__legend--m{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:18px;font-size:1.125rem;line-height:1.1111111111;margin-bottom:15px}@media print{.govuk-fieldset__legend--m{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-fieldset__legend--m{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-fieldset__legend--m{font-size:18pt;line-height:1.15}}.govuk-fieldset__legend--s{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:16px;font-size:1rem;line-height:1.25}@media print{.govuk-fieldset__legend--s{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-fieldset__legend--s{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-fieldset__legend--s{font-size:14pt;line-height:1.15}}.govuk-fieldset__heading{margin:0;font-size:inherit;font-weight:inherit}.govuk-hint{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;display:block;margin-bottom:15px;color:#505a5f}@media print{.govuk-hint{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-hint{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-hint{font-size:14pt;line-height:1.15}}.govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl)+.govuk-hint{margin-bottom:10px}.govuk-fieldset__legend:not(.govuk-fieldset__legend--m):not(.govuk-fieldset__legend--l):not(.govuk-fieldset__legend--xl)+.govuk-hint{margin-bottom:10px}.govuk-fieldset__legend+.govuk-hint{margin-top:-5px}.govuk-label{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;display:block;margin-bottom:5px}@media print{.govuk-label{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-label{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-label{font-size:14pt;line-height:1.15}}@media print{.govuk-label{color:#000}}.govuk-label--xl{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:32px;font-size:2rem;line-height:1.09375;margin-bottom:15px}@media print{.govuk-label--xl{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-label--xl{font-size:48px;font-size:3rem;line-height:1.0416666667}}@media print{.govuk-label--xl{font-size:32pt;line-height:1.15}}.govuk-label--l{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:24px;font-size:1.5rem;line-height:1.0416666667;margin-bottom:15px}@media print{.govuk-label--l{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-label--l{font-size:36px;font-size:2.25rem;line-height:1.1111111111}}@media print{.govuk-label--l{font-size:24pt;line-height:1.05}}.govuk-label--m{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:18px;font-size:1.125rem;line-height:1.1111111111;margin-bottom:10px}@media print{.govuk-label--m{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-label--m{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-label--m{font-size:18pt;line-height:1.15}}.govuk-label--s{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:16px;font-size:1rem;line-height:1.25}@media print{.govuk-label--s{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-label--s{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-label--s{font-size:14pt;line-height:1.15}}.govuk-label-wrapper{margin:0}.govuk-checkboxes__item{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;display:block;position:relative;min-height:40px;margin-bottom:10px;padding-left:40px;clear:left}@media print{.govuk-checkboxes__item{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-checkboxes__item{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-checkboxes__item{font-size:14pt;line-height:1.15}}.govuk-checkboxes__item:last-child,.govuk-checkboxes__item:last-of-type{margin-bottom:0}.govuk-checkboxes__input{cursor:pointer;position:absolute;z-index:1;top:-2px;left:-2px;width:44px;height:44px;margin:0;opacity:0}.govuk-checkboxes__label{display:inline-block;margin-bottom:0;padding:8px 15px 5px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation}.govuk-checkboxes__label:before{content:"";box-sizing:border-box;position:absolute;top:0;left:0;width:40px;height:40px;border:2px solid currentColor;background:transparent}.govuk-checkboxes__label:after{content:"";box-sizing:border-box;position:absolute;top:11px;left:9px;width:23px;height:12px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);border:solid;border-width:0 0 5px 5px;border-top-color:transparent;opacity:0;background:transparent}.govuk-checkboxes__hint{display:block;padding-right:15px;padding-left:15px}.govuk-checkboxes__input:focus+.govuk-checkboxes__label:before{border-width:4px;outline:3px solid transparent;outline-offset:1px;box-shadow:0 0 0 3px #fd0}@media screen and (forced-colors: active),(-ms-high-contrast: active){.govuk-checkboxes__input:focus+.govuk-checkboxes__label:before{outline-color:Highlight}}.govuk-checkboxes__input:checked+.govuk-checkboxes__label:after{opacity:1}.govuk-checkboxes__input:disabled,.govuk-checkboxes__input:disabled+.govuk-checkboxes__label{cursor:default}.govuk-checkboxes__input:disabled+.govuk-checkboxes__label{opacity:.5}.govuk-checkboxes__divider{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;width:40px;margin-bottom:10px;text-align:center}@media print{.govuk-checkboxes__divider{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-checkboxes__divider{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-checkboxes__divider{font-size:14pt;line-height:1.15}}@media print{.govuk-checkboxes__divider{color:#000}}.govuk-checkboxes__conditional{margin-bottom:15px;margin-left:18px;padding-left:33px;border-left:4px solid #b1b4b6}@media(min-width: 40.0625em){.govuk-checkboxes__conditional{margin-bottom:20px}}.js-enabled .govuk-checkboxes__conditional--hidden{display:none}.govuk-checkboxes__conditional>:last-child{margin-bottom:0}.govuk-checkboxes--small .govuk-checkboxes__item{min-height:0;margin-bottom:0;padding-left:34px;float:left}.govuk-checkboxes--small .govuk-checkboxes__item:after{content:"";display:block;clear:both}.govuk-checkboxes--small .govuk-checkboxes__input{left:-10px}.govuk-checkboxes--small .govuk-checkboxes__label{margin-top:-2px;padding:13px 15px 13px 1px;float:left}@media(min-width: 40.0625em){.govuk-checkboxes--small .govuk-checkboxes__label{padding:11px 15px 10px 1px}}.govuk-checkboxes--small .govuk-checkboxes__label:before{top:8px;width:24px;height:24px}.govuk-checkboxes--small .govuk-checkboxes__label:after{top:15px;left:6px;width:12px;height:6.5px;border-width:0 0 3px 3px}.govuk-checkboxes--small .govuk-checkboxes__hint{padding:0;clear:both}.govuk-checkboxes--small .govuk-checkboxes__conditional{margin-left:10px;padding-left:20px;clear:both}.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled)+.govuk-checkboxes__label:before{box-shadow:0 0 0 10px #b1b4b6}.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus+.govuk-checkboxes__label:before{box-shadow:0 0 0 3px #fd0,0 0 0 10px #b1b4b6}@media(hover: none),(pointer: coarse){.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled)+.govuk-checkboxes__label:before{box-shadow:initial}.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus+.govuk-checkboxes__label:before{box-shadow:0 0 0 3px #fd0}}.govuk-textarea{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;box-sizing:border-box;display:block;width:100%;min-height:40px;margin-bottom:20px;padding:5px;resize:vertical;border:2px solid #0b0c0c;border-radius:0;-webkit-appearance:none}@media print{.govuk-textarea{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-textarea{font-size:19px;font-size:1.1875rem;line-height:1.25}}@media print{.govuk-textarea{font-size:14pt;line-height:1.25}}@media(min-width: 40.0625em){.govuk-textarea{margin-bottom:30px}}.govuk-textarea:focus{outline:3px solid #fd0;outline-offset:0;box-shadow:inset 0 0 0 2px}.govuk-textarea--error{border:2px solid #d4351c}.govuk-textarea--error:focus{border-color:#0b0c0c}.govuk-character-count{margin-bottom:20px}@media(min-width: 40.0625em){.govuk-character-count{margin-bottom:30px}}.govuk-character-count .govuk-form-group,.govuk-character-count .govuk-textarea{margin-bottom:5px}.govuk-character-count__message{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"tnum" 1;font-feature-settings:"tnum" 1;font-weight:400;margin-top:0;margin-bottom:0}@media print{.govuk-character-count__message{font-family:sans-serif}}@supports(font-variant-numeric: tabular-nums){.govuk-character-count__message{-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant-numeric:tabular-nums}}.govuk-character-count__message--disabled{visibility:hidden}.govuk-cookie-banner{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;padding-top:20px;border-bottom:10px solid transparent;background-color:#f3f2f1}@media print{.govuk-cookie-banner{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-cookie-banner{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-cookie-banner{font-size:14pt;line-height:1.15}}.govuk-cookie-banner[hidden]{display:none}.govuk-cookie-banner__message{margin-bottom:-10px}.govuk-cookie-banner__message[hidden]{display:none}.govuk-cookie-banner__message:focus{outline:none}.govuk-summary-list{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;margin:0;margin-bottom:20px}@media print{.govuk-summary-list{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-summary-list{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-summary-list{font-size:14pt;line-height:1.15}}@media print{.govuk-summary-list{color:#000}}@media(min-width: 40.0625em){.govuk-summary-list{display:table;width:100%;table-layout:fixed}}@media(min-width: 40.0625em){.govuk-summary-list{margin-bottom:30px}}@media(max-width: 40.0525em){.govuk-summary-list__row{margin-bottom:15px;border-bottom:1px solid #b1b4b6}}@media(min-width: 40.0625em){.govuk-summary-list__row{display:table-row}}.govuk-summary-list__key,.govuk-summary-list__value,.govuk-summary-list__actions{margin:0}@media(min-width: 40.0625em){.govuk-summary-list__key,.govuk-summary-list__value,.govuk-summary-list__actions{display:table-cell;padding-top:10px;padding-right:20px;padding-bottom:10px;border-bottom:1px solid #b1b4b6}}.govuk-summary-list__actions{margin-bottom:15px}@media(min-width: 40.0625em){.govuk-summary-list__actions{width:20%;padding-right:0;text-align:right}}.govuk-summary-list__key,.govuk-summary-list__value{word-wrap:break-word;overflow-wrap:break-word}.govuk-summary-list__key{margin-bottom:5px;font-weight:700}@media(min-width: 40.0625em){.govuk-summary-list__key{width:30%}}@media(max-width: 40.0525em){.govuk-summary-list__value{margin-bottom:15px}}@media(min-width: 40.0625em){.govuk-summary-list__value{width:50%}}@media(min-width: 40.0625em){.govuk-summary-list__value:last-child{width:70%}}.govuk-summary-list__value>p{margin-bottom:10px}.govuk-summary-list__value>:last-child{margin-bottom:0}.govuk-summary-list__actions-list{width:100%;margin:0;padding:0}.govuk-summary-list__actions-list-item{display:inline;margin-right:10px;padding-right:10px}.govuk-summary-list__actions-list-item:not(:last-child){border-right:1px solid #b1b4b6}.govuk-summary-list__actions-list-item:last-child{margin-right:0;padding-right:0;border:0}@media(max-width: 40.0525em){.govuk-summary-list--no-border .govuk-summary-list__row{border:0}}@media(min-width: 40.0625em){.govuk-summary-list--no-border .govuk-summary-list__key,.govuk-summary-list--no-border .govuk-summary-list__value,.govuk-summary-list--no-border .govuk-summary-list__actions{padding-bottom:11px;border:0}}@media(max-width: 40.0525em){.govuk-summary-list__row--no-border{border:0}}@media(min-width: 40.0625em){.govuk-summary-list__row--no-border .govuk-summary-list__key,.govuk-summary-list__row--no-border .govuk-summary-list__value,.govuk-summary-list__row--no-border .govuk-summary-list__actions{padding-bottom:11px;border:0}}.govuk-input{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;box-sizing:border-box;width:100%;height:40px;height:2.5rem;margin-top:0;padding:5px;border:2px solid #0b0c0c;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media print{.govuk-input{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-input{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-input{font-size:14pt;line-height:1.15}}.govuk-input:focus{outline:3px solid #fd0;outline-offset:0;box-shadow:inset 0 0 0 2px}.govuk-input::-webkit-outer-spin-button,.govuk-input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.govuk-input[type=number]{-moz-appearance:textfield}.govuk-input--error{border:2px solid #d4351c}.govuk-input--error:focus{border-color:#0b0c0c}.govuk-input--width-30{max-width:59ex}.govuk-input--width-20{max-width:41ex}.govuk-input--width-10{max-width:23ex}.govuk-input--width-5{max-width:10.8ex}.govuk-input--width-4{max-width:9ex}.govuk-input--width-3{max-width:7.2ex}.govuk-input--width-2{max-width:5.4ex}.govuk-input__wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.govuk-input__wrapper .govuk-input{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.govuk-input__wrapper .govuk-input:focus{z-index:1}@media(max-width: 19.99em){.govuk-input__wrapper{display:block}.govuk-input__wrapper .govuk-input{max-width:100%}}.govuk-input__prefix,.govuk-input__suffix{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;box-sizing:border-box;display:inline-block;min-width:40px;min-width:2.5rem;height:40px;height:2.5rem;padding:5px;border:2px solid #0b0c0c;background-color:#f3f2f1;text-align:center;white-space:nowrap;cursor:default;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}@media print{.govuk-input__prefix,.govuk-input__suffix{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-input__prefix,.govuk-input__suffix{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-input__prefix,.govuk-input__suffix{font-size:14pt;line-height:1.15}}@media(max-width: 40.0525em){.govuk-input__prefix,.govuk-input__suffix{line-height:1.6}}@media(max-width: 19.99em){.govuk-input__prefix,.govuk-input__suffix{display:block;height:100%;white-space:normal}}@media(max-width: 19.99em){.govuk-input__prefix{border-bottom:0}}@media(min-width: 20em){.govuk-input__prefix{border-right:0}}@media(max-width: 19.99em){.govuk-input__suffix{border-top:0}}@media(min-width: 20em){.govuk-input__suffix{border-left:0}}.govuk-date-input{font-size:0}.govuk-date-input:after{content:"";display:block;clear:both}.govuk-date-input__item{display:inline-block;margin-right:20px;margin-bottom:0}.govuk-date-input__label{display:block}.govuk-date-input__input{margin-bottom:0}.govuk-details{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;margin-bottom:20px;display:block}@media print{.govuk-details{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-details{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-details{font-size:14pt;line-height:1.15}}@media print{.govuk-details{color:#000}}@media(min-width: 40.0625em){.govuk-details{margin-bottom:30px}}.govuk-details__summary{display:inline-block;position:relative;margin-bottom:5px;padding-left:25px;color:#1d70b8;cursor:pointer}.govuk-details__summary:hover{color:#003078}.govuk-details__summary:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-details__summary-text{text-decoration:underline}.govuk-details__summary:focus .govuk-details__summary-text{text-decoration:none}.govuk-details__summary::-webkit-details-marker{display:none}.govuk-details__summary:before{content:"";position:absolute;top:-1px;bottom:0;left:0;margin:auto;display:block;width:0;height:0;border-style:solid;border-color:transparent;-webkit-clip-path:polygon(0% 0%, 100% 50%, 0% 100%);clip-path:polygon(0% 0%, 100% 50%, 0% 100%);border-width:7px 0 7px 12.124px;border-left-color:inherit}.govuk-details[open]>.govuk-details__summary:before{display:block;width:0;height:0;border-style:solid;border-color:transparent;-webkit-clip-path:polygon(0% 0%, 50% 100%, 100% 0%);clip-path:polygon(0% 0%, 50% 100%, 100% 0%);border-width:12.124px 7px 0 7px;border-top-color:inherit}.govuk-details__text{padding-top:15px;padding-bottom:15px;padding-left:20px;border-left:5px solid #b1b4b6}.govuk-details__text p{margin-top:0;margin-bottom:20px}.govuk-details__text>:last-child{margin-bottom:0}.govuk-error-summary{color:#0b0c0c;padding:15px;margin-bottom:30px;border:5px solid #d4351c}@media print{.govuk-error-summary{color:#000}}@media(min-width: 40.0625em){.govuk-error-summary{padding:20px}}@media(min-width: 40.0625em){.govuk-error-summary{margin-bottom:50px}}.govuk-error-summary:focus{outline:3px solid #fd0}.govuk-error-summary__title{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:18px;font-size:1.125rem;line-height:1.1111111111;margin-top:0;margin-bottom:15px}@media print{.govuk-error-summary__title{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-error-summary__title{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-error-summary__title{font-size:18pt;line-height:1.15}}@media(min-width: 40.0625em){.govuk-error-summary__title{margin-bottom:20px}}.govuk-error-summary__body{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25}@media print{.govuk-error-summary__body{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-error-summary__body{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-error-summary__body{font-size:14pt;line-height:1.15}}.govuk-error-summary__body p{margin-top:0;margin-bottom:15px}@media(min-width: 40.0625em){.govuk-error-summary__body p{margin-bottom:20px}}.govuk-error-summary__list{margin-top:0;margin-bottom:0}.govuk-error-summary__list a{font-weight:700;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline}@media print{.govuk-error-summary__list a{font-family:sans-serif}}.govuk-error-summary__list a:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-error-summary__list a:link,.govuk-error-summary__list a:visited{color:#d4351c}.govuk-error-summary__list a:hover{color:#942514}.govuk-error-summary__list a:active{color:#d4351c}.govuk-error-summary__list a:focus{color:#0b0c0c}.govuk-file-upload{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;max-width:100%;margin-left:-5px;padding:5px}@media print{.govuk-file-upload{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-file-upload{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-file-upload{font-size:14pt;line-height:1.15}}@media print{.govuk-file-upload{color:#000}}.govuk-file-upload::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}.govuk-file-upload:focus{outline:3px solid #fd0;box-shadow:inset 0 0 0 4px #0b0c0c}.govuk-file-upload:focus-within{outline:3px solid #fd0;box-shadow:inset 0 0 0 4px #0b0c0c}.govuk-footer{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.1428571429;padding-top:25px;padding-bottom:15px;border-top:1px solid #b1b4b6;color:#0b0c0c;background:#f3f2f1}@media print{.govuk-footer{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-footer{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.govuk-footer{font-size:14pt;line-height:1.2}}@media(min-width: 40.0625em){.govuk-footer{padding-top:40px}}@media(min-width: 40.0625em){.govuk-footer{padding-bottom:25px}}.govuk-footer__link{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline}@media print{.govuk-footer__link{font-family:sans-serif}}.govuk-footer__link:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-footer__link:link,.govuk-footer__link:visited{color:#0b0c0c}@media print{.govuk-footer__link:link,.govuk-footer__link:visited{color:#000}}.govuk-footer__link:hover{color:rgba(11,12,12,.99)}.govuk-footer__link:active,.govuk-footer__link:focus{color:#0b0c0c}@media print{.govuk-footer__link:active,.govuk-footer__link:focus{color:#000}}.govuk-footer__section-break{margin:0;margin-bottom:30px;border:0;border-bottom:1px solid #b1b4b6}@media(min-width: 40.0625em){.govuk-footer__section-break{margin-bottom:50px}}.govuk-footer__meta{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:-15px;margin-left:-15px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.govuk-footer__meta-item{margin-right:15px;margin-bottom:25px;margin-left:15px}.govuk-footer__meta-item--grow{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}@media(max-width: 40.0525em){.govuk-footer__meta-item--grow{-webkit-flex-basis:320px;-ms-flex-preferred-size:320px;flex-basis:320px}}.govuk-footer__licence-logo{display:inline-block;margin-right:10px;vertical-align:top;forced-color-adjust:auto}@media(max-width: 48.0525em){.govuk-footer__licence-logo{margin-bottom:15px}}.govuk-footer__licence-description{display:inline-block}.govuk-footer__copyright-logo{display:inline-block;min-width:125px;padding-top:112px;background-image:url("~~~CASA_MOUNT_URL~~~govuk/assets/images/govuk-crest.png");background-repeat:no-repeat;background-position:50% 0%;background-size:125px 102px;text-align:center;white-space:nowrap}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.govuk-footer__copyright-logo{background-image:url("~~~CASA_MOUNT_URL~~~govuk/assets/images/govuk-crest-2x.png")}}.govuk-footer__inline-list{margin-top:0;margin-bottom:15px;padding:0}.govuk-footer__meta-custom{margin-bottom:20px}.govuk-footer__inline-list-item{display:inline-block;margin-right:15px;margin-bottom:5px}.govuk-footer__heading{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #b1b4b6}@media(min-width: 40.0625em){.govuk-footer__heading{margin-bottom:40px}}@media(max-width: 40.0525em){.govuk-footer__heading{padding-bottom:10px}}.govuk-footer__navigation{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:-15px;margin-left:-15px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.govuk-footer__section{display:inline-block;margin-right:15px;margin-bottom:30px;margin-left:15px;vertical-align:top;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1}@media(max-width: 48.0525em){.govuk-footer__section{-webkit-flex-basis:200px;-ms-flex-preferred-size:200px;flex-basis:200px}}@media(min-width: 48.0625em){.govuk-footer__section:first-child:nth-last-child(2){-webkit-box-flex:2;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2}}.govuk-footer__list{margin:0;padding:0;list-style:none;-webkit-column-gap:30px;column-gap:30px}.govuk-footer__list .govuk-footer__link:hover{text-decoration-thickness:auto}@media(min-width: 48.0625em){.govuk-footer__list--columns-2{-webkit-column-count:2;column-count:2}.govuk-footer__list--columns-3{-webkit-column-count:3;column-count:3}}.govuk-footer__list-item{margin-bottom:15px}@media(min-width: 40.0625em){.govuk-footer__list-item{margin-bottom:20px}}.govuk-footer__list-item:last-child{margin-bottom:0}.govuk-header{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.1428571429;border-bottom:10px solid #fff;color:#fff;background:#0b0c0c}@media print{.govuk-header{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-header{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.govuk-header{font-size:14pt;line-height:1.2}}.govuk-header__container--full-width{padding:0 15px;border-color:#1d70b8}.govuk-header__container--full-width .govuk-header__menu-button{right:15px}.govuk-header__container{position:relative;margin-bottom:-10px;padding-top:10px;border-bottom:10px solid #1d70b8}.govuk-header__container:after{content:"";display:block;clear:both}.govuk-header__logotype{display:inline-block;margin-right:5px}@media(forced-colors: active){.govuk-header__logotype{forced-color-adjust:none;color:linktext}}.govuk-header__logotype:last-child{margin-right:0}.govuk-header__logotype-crown{position:relative;top:-1px;margin-right:1px;fill:currentColor;vertical-align:top}.govuk-header__logotype-crown-fallback-image{width:36px;height:32px;border:0;vertical-align:bottom}.govuk-header__product-name{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:18px;font-size:1.125rem;line-height:1;display:inline-table}@media print{.govuk-header__product-name{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-header__product-name{font-size:24px;font-size:1.5rem;line-height:1}}@media print{.govuk-header__product-name{font-size:18pt;line-height:1}}.govuk-header__link{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none}@media print{.govuk-header__link{font-family:sans-serif}}.govuk-header__link:link,.govuk-header__link:visited{color:#fff}.govuk-header__link:hover,.govuk-header__link:active{color:rgba(255,255,255,.99)}.govuk-header__link:focus{color:#0b0c0c}.govuk-header__link:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.1em}.govuk-header__link:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-header__link--homepage{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;display:inline-block;margin-right:10px;font-size:30px;line-height:1}@media print{.govuk-header__link--homepage{font-family:sans-serif}}.govuk-header__link--homepage:link,.govuk-header__link--homepage:visited{text-decoration:none}.govuk-header__link--homepage:hover,.govuk-header__link--homepage:active{margin-bottom:-3px;border-bottom:3px solid}.govuk-header__link--homepage:focus{margin-bottom:0;border-bottom:0}.govuk-header__link--service-name{display:inline-block;margin-bottom:10px;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:18px;font-size:1.125rem;line-height:1.1111111111}@media print{.govuk-header__link--service-name{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-header__link--service-name{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-header__link--service-name{font-size:18pt;line-height:1.15}}.govuk-header__logo,.govuk-header__content{box-sizing:border-box}.govuk-header__logo{margin-bottom:10px;padding-right:50px}@media(min-width: 40.0625em){.govuk-header__logo{margin-bottom:10px}}@media(min-width: 48.0625em){.govuk-header__logo{width:33.33%;padding-right:15px;float:left;vertical-align:top}}@media(min-width: 48.0625em){.govuk-header__content{width:66.66%;padding-left:15px;float:left}}.govuk-header__menu-button{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.1428571429;display:none;position:absolute;top:20px;right:0;margin:0;padding:0;border:0;color:#fff;background:none;cursor:pointer}@media print{.govuk-header__menu-button{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-header__menu-button{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.govuk-header__menu-button{font-size:14pt;line-height:1.2}}.govuk-header__menu-button:hover{-webkit-text-decoration:solid underline 3px;text-decoration:solid underline 3px;text-underline-offset:.1em}.govuk-header__menu-button:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-header__menu-button:after{display:inline-block;width:0;height:0;border-style:solid;border-color:transparent;-webkit-clip-path:polygon(0% 0%, 50% 100%, 100% 0%);clip-path:polygon(0% 0%, 50% 100%, 100% 0%);border-width:8.66px 5px 0 5px;border-top-color:inherit;content:"";margin-left:5px}@media(min-width: 40.0625em){.govuk-header__menu-button{top:15px}}.govuk-header__menu-button--open:after{display:inline-block;width:0;height:0;border-style:solid;border-color:transparent;-webkit-clip-path:polygon(50% 0%, 0% 100%, 100% 100%);clip-path:polygon(50% 0%, 0% 100%, 100% 100%);border-width:0 5px 8.66px 5px;border-bottom-color:inherit}.govuk-header__navigation{margin-bottom:10px;display:block;margin:0;padding:0;list-style:none}@media(min-width: 40.0625em){.govuk-header__navigation{margin-bottom:10px}}.js-enabled .govuk-header__menu-button{display:block}@media(min-width: 48.0625em){.js-enabled .govuk-header__menu-button{display:none}}.js-enabled .govuk-header__navigation{display:none}@media(min-width: 48.0625em){.js-enabled .govuk-header__navigation{display:block}}.js-enabled .govuk-header__navigation--open{display:block}@media(min-width: 48.0625em){.govuk-header__navigation--end{margin:0;padding:5px 0;text-align:right}}.govuk-header__navigation--no-service-name{padding-top:40px}.govuk-header__navigation-item{padding:10px 0;border-bottom:1px solid #2e3133}@media(min-width: 48.0625em){.govuk-header__navigation-item{display:inline-block;margin-right:15px;padding:5px 0;border:0}}.govuk-header__navigation-item a{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:14px;font-size:.875rem;line-height:1.1428571429;white-space:nowrap}@media print{.govuk-header__navigation-item a{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-header__navigation-item a{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.govuk-header__navigation-item a{font-size:14pt;line-height:1.2}}.govuk-header__navigation-item--active a:link,.govuk-header__navigation-item--active a:hover,.govuk-header__navigation-item--active a:visited{color:#1d8feb}.govuk-header__navigation-item--active a:focus{color:#0b0c0c}.govuk-header__navigation-item:last-child{margin-right:0}@media print{.govuk-header{border-bottom-width:0;color:#0b0c0c;background:transparent}.govuk-header__logotype-crown-fallback-image{display:none}.govuk-header__link:link,.govuk-header__link:visited{color:#0b0c0c}.govuk-header__link:after{display:none}}.govuk-inset-text{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;padding:15px;margin-top:20px;margin-bottom:20px;clear:both;border-left:10px solid #b1b4b6}@media print{.govuk-inset-text{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-inset-text{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-inset-text{font-size:14pt;line-height:1.15}}@media print{.govuk-inset-text{color:#000}}@media(min-width: 40.0625em){.govuk-inset-text{margin-top:30px}}@media(min-width: 40.0625em){.govuk-inset-text{margin-bottom:30px}}.govuk-inset-text>:first-child{margin-top:0}.govuk-inset-text>:only-child,.govuk-inset-text>:last-child{margin-bottom:0}.govuk-notification-banner{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;margin-bottom:30px;border:5px solid #1d70b8;background-color:#1d70b8}@media print{.govuk-notification-banner{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-notification-banner{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-notification-banner{font-size:14pt;line-height:1.15}}@media(min-width: 40.0625em){.govuk-notification-banner{margin-bottom:50px}}.govuk-notification-banner:focus{outline:3px solid #fd0}.govuk-notification-banner__header{padding:2px 15px 5px;border-bottom:1px solid transparent}@media(min-width: 40.0625em){.govuk-notification-banner__header{padding:2px 20px 5px}}.govuk-notification-banner__title{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:16px;font-size:1rem;line-height:1.25;margin:0;padding:0;color:#fff}@media print{.govuk-notification-banner__title{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-notification-banner__title{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-notification-banner__title{font-size:14pt;line-height:1.15}}.govuk-notification-banner__content{color:#0b0c0c;padding:15px;background-color:#fff}@media print{.govuk-notification-banner__content{color:#000}}@media(min-width: 40.0625em){.govuk-notification-banner__content{padding:20px}}.govuk-notification-banner__content>*{box-sizing:border-box;max-width:605px}.govuk-notification-banner__content>:last-child{margin-bottom:0}.govuk-notification-banner__heading{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:18px;font-size:1.125rem;line-height:1.1111111111;margin:0 0 15px 0;padding:0}@media print{.govuk-notification-banner__heading{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-notification-banner__heading{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-notification-banner__heading{font-size:18pt;line-height:1.15}}.govuk-notification-banner__link{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline}@media print{.govuk-notification-banner__link{font-family:sans-serif}}.govuk-notification-banner__link:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-notification-banner__link:link{color:#1d70b8}.govuk-notification-banner__link:visited{color:#1d70b8}.govuk-notification-banner__link:hover{color:#003078}.govuk-notification-banner__link:active{color:#0b0c0c}.govuk-notification-banner__link:focus{color:#0b0c0c}.govuk-notification-banner--success{border-color:#00703c;background-color:#00703c}.govuk-notification-banner--success .govuk-notification-banner__link:link,.govuk-notification-banner--success .govuk-notification-banner__link:visited{color:#00703c}.govuk-notification-banner--success .govuk-notification-banner__link:hover{color:#004e2a}.govuk-notification-banner--success .govuk-notification-banner__link:active{color:#00703c}.govuk-notification-banner--success .govuk-notification-banner__link:focus{color:#0b0c0c}.govuk-panel{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;box-sizing:border-box;margin-bottom:15px;padding:35px;border:5px solid transparent;text-align:center}@media print{.govuk-panel{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-panel{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-panel{font-size:14pt;line-height:1.15}}@media(max-width: 40.0525em){.govuk-panel{padding:10px;overflow-wrap:break-word;word-wrap:break-word}}.govuk-panel--confirmation{color:#fff;background:#00703c}@media print{.govuk-panel--confirmation{border-color:currentColor;color:#000;background:none}}.govuk-panel__title{margin-top:0;margin-bottom:30px;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:32px;font-size:2rem;line-height:1.09375}@media print{.govuk-panel__title{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-panel__title{font-size:48px;font-size:3rem;line-height:1.0416666667}}@media print{.govuk-panel__title{font-size:32pt;line-height:1.15}}.govuk-panel__title:last-child{margin-bottom:0}.govuk-panel__body{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:24px;font-size:1.5rem;line-height:1.0416666667}@media print{.govuk-panel__body{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-panel__body{font-size:36px;font-size:2.25rem;line-height:1.1111111111}}@media print{.govuk-panel__body{font-size:24pt;line-height:1.05}}.govuk-tag{display:inline-block;outline:2px solid transparent;outline-offset:-2px;color:#fff;background-color:#1d70b8;letter-spacing:1px;text-decoration:none;text-transform:uppercase;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:14px;font-size:.875rem;line-height:1;padding-top:5px;padding-right:8px;padding-bottom:4px;padding-left:8px}@media print{.govuk-tag{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-tag{font-size:16px;font-size:1rem;line-height:1}}@media print{.govuk-tag{font-size:14pt;line-height:1}}.govuk-tag--inactive{background-color:#505a5f}.govuk-tag--grey{color:#383f43;background:#eeefef}.govuk-tag--purple{color:#3d2375;background:#dbd5e9}.govuk-tag--turquoise{color:#10403c;background:#bfe3e0}.govuk-tag--blue{color:#144e81;background:#d2e2f1}.govuk-tag--yellow{color:#594d00;background:#fff7bf}.govuk-tag--orange{color:#6e3619;background:#fcd6c3}.govuk-tag--red{color:#942514;background:#f6d7d2}.govuk-tag--pink{color:#80224d;background:#f7d7e6}.govuk-tag--green{color:#005a30;background:#cce2d8}.govuk-phase-banner{padding-top:10px;padding-bottom:10px;border-bottom:1px solid #b1b4b6}.govuk-phase-banner__content{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.1428571429;color:#0b0c0c;display:table;margin:0}@media print{.govuk-phase-banner__content{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-phase-banner__content{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.govuk-phase-banner__content{font-size:14pt;line-height:1.2}}@media print{.govuk-phase-banner__content{color:#000}}.govuk-phase-banner__content__tag{margin-right:10px}.govuk-phase-banner__text{display:table-cell;vertical-align:middle}.govuk-tabs{margin-top:5px;margin-bottom:20px}@media(min-width: 40.0625em){.govuk-tabs{margin-top:5px}}@media(min-width: 40.0625em){.govuk-tabs{margin-bottom:30px}}.govuk-tabs__title{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;margin-bottom:10px}@media print{.govuk-tabs__title{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-tabs__title{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-tabs__title{font-size:14pt;line-height:1.15}}@media print{.govuk-tabs__title{color:#000}}.govuk-tabs__list{margin:0;padding:0;list-style:none;margin-bottom:20px}@media(min-width: 40.0625em){.govuk-tabs__list{margin-bottom:30px}}.govuk-tabs__list-item{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;margin-left:25px}@media print{.govuk-tabs__list-item{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-tabs__list-item{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-tabs__list-item{font-size:14pt;line-height:1.15}}.govuk-tabs__list-item:before{color:#0b0c0c;content:"—";margin-left:-25px;padding-right:5px}@media print{.govuk-tabs__list-item:before{color:#000}}.govuk-tabs__tab{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;display:inline-block;margin-bottom:10px}@media print{.govuk-tabs__tab{font-family:sans-serif}}.govuk-tabs__tab:focus{outline:3px solid transparent;color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.govuk-tabs__tab:link{color:#1d70b8}.govuk-tabs__tab:visited{color:#4c2c92}.govuk-tabs__tab:hover{color:#003078}.govuk-tabs__tab:active{color:#0b0c0c}.govuk-tabs__tab:focus{color:#0b0c0c}.govuk-tabs__panel{margin-bottom:30px}@media(min-width: 40.0625em){.govuk-tabs__panel{margin-bottom:50px}}@media(min-width: 40.0625em){.js-enabled .govuk-tabs__list{margin-bottom:0;border-bottom:1px solid #b1b4b6}.js-enabled .govuk-tabs__list:after{content:"";display:block;clear:both}.js-enabled .govuk-tabs__title{display:none}.js-enabled .govuk-tabs__list-item{position:relative;margin-right:5px;margin-bottom:0;margin-left:0;padding:10px 20px;float:left;background-color:#f3f2f1;text-align:center}.js-enabled .govuk-tabs__list-item:before{content:none}.js-enabled .govuk-tabs__list-item--selected{position:relative;margin-top:-5px;margin-bottom:-1px;padding-top:14px;padding-right:19px;padding-bottom:16px;padding-left:19px;border:1px solid #b1b4b6;border-bottom:0;background-color:#fff}.js-enabled .govuk-tabs__list-item--selected .govuk-tabs__tab{text-decoration:none}.js-enabled .govuk-tabs__tab{margin-bottom:0}.js-enabled .govuk-tabs__tab:link,.js-enabled .govuk-tabs__tab:visited{color:#0b0c0c}}@media print and (min-width: 40.0625em){.js-enabled .govuk-tabs__tab:link,.js-enabled .govuk-tabs__tab:visited{color:#000}}@media(min-width: 40.0625em){.js-enabled .govuk-tabs__tab:hover{color:rgba(11,12,12,.99)}}@media(min-width: 40.0625em){.js-enabled .govuk-tabs__tab:active,.js-enabled .govuk-tabs__tab:focus{color:#0b0c0c}}@media print and (min-width: 40.0625em){.js-enabled .govuk-tabs__tab:active,.js-enabled .govuk-tabs__tab:focus{color:#000}}@media(min-width: 40.0625em){.js-enabled .govuk-tabs__tab:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}}@media(min-width: 40.0625em){.js-enabled .govuk-tabs__panel{margin-bottom:0;padding:30px 20px;border:1px solid #b1b4b6;border-top:0}}@media(min-width: 40.0625em)and (min-width: 40.0625em){.js-enabled .govuk-tabs__panel{margin-bottom:0}}@media(min-width: 40.0625em){.js-enabled .govuk-tabs__panel>:last-child{margin-bottom:0}}@media(min-width: 40.0625em){.js-enabled .govuk-tabs__panel--hidden{display:none}}.govuk-radios__item{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;display:block;position:relative;min-height:40px;margin-bottom:10px;padding-left:40px;clear:left}@media print{.govuk-radios__item{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-radios__item{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-radios__item{font-size:14pt;line-height:1.15}}.govuk-radios__item:last-child,.govuk-radios__item:last-of-type{margin-bottom:0}.govuk-radios__input{cursor:pointer;position:absolute;z-index:1;top:-2px;left:-2px;width:44px;height:44px;margin:0;opacity:0}.govuk-radios__label{display:inline-block;margin-bottom:0;padding:8px 15px 5px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation}.govuk-radios__label:before{content:"";box-sizing:border-box;position:absolute;top:0;left:0;width:40px;height:40px;border:2px solid currentColor;border-radius:50%;background:transparent}.govuk-radios__label:after{content:"";position:absolute;top:10px;left:10px;width:0;height:0;border:10px solid currentColor;border-radius:50%;opacity:0;background:currentColor}.govuk-radios__hint{display:block;padding-right:15px;padding-left:15px}.govuk-radios__input:focus+.govuk-radios__label:before{border-width:4px;outline:3px solid transparent;outline-offset:1px;box-shadow:0 0 0 4px #fd0}@media screen and (forced-colors: active),(-ms-high-contrast: active){.govuk-radios__input:focus+.govuk-radios__label:before{outline-color:Highlight}}.govuk-radios__input:checked+.govuk-radios__label:after{opacity:1}.govuk-radios__input:disabled,.govuk-radios__input:disabled+.govuk-radios__label{cursor:default}.govuk-radios__input:disabled+.govuk-radios__label{opacity:.5}@media(min-width: 40.0625em){.govuk-radios--inline:after{content:"";display:block;clear:both}.govuk-radios--inline .govuk-radios__item{margin-right:20px;float:left;clear:none}}.govuk-radios--inline.govuk-radios--conditional .govuk-radios__item{margin-right:0;float:none}.govuk-radios__divider{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;width:40px;margin-bottom:10px;text-align:center}@media print{.govuk-radios__divider{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-radios__divider{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-radios__divider{font-size:14pt;line-height:1.15}}@media print{.govuk-radios__divider{color:#000}}.govuk-radios__conditional{margin-bottom:15px;margin-left:18px;padding-left:33px;border-left:4px solid #b1b4b6}@media(min-width: 40.0625em){.govuk-radios__conditional{margin-bottom:20px}}.js-enabled .govuk-radios__conditional--hidden{display:none}.govuk-radios__conditional>:last-child{margin-bottom:0}.govuk-radios--small .govuk-radios__item{min-height:0;margin-bottom:0;padding-left:34px;float:left}.govuk-radios--small .govuk-radios__item:after{content:"";display:block;clear:both}.govuk-radios--small .govuk-radios__input{left:-10px}.govuk-radios--small .govuk-radios__label{margin-top:-2px;padding:13px 15px 13px 1px;float:left}@media(min-width: 40.0625em){.govuk-radios--small .govuk-radios__label{padding:11px 15px 10px 1px}}.govuk-radios--small .govuk-radios__label:before{top:8px;width:24px;height:24px}.govuk-radios--small .govuk-radios__label:after{top:15px;left:7px;border-width:5px}.govuk-radios--small .govuk-radios__hint{padding:0;clear:both;pointer-events:none}.govuk-radios--small .govuk-radios__conditional{margin-left:10px;padding-left:20px;clear:both}.govuk-radios--small .govuk-radios__divider{width:24px;margin-bottom:5px}.govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:not(:disabled)+.govuk-radios__label:before{box-shadow:0 0 0 10px #b1b4b6}.govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus+.govuk-radios__label:before{box-shadow:0 0 0 4px #fd0,0 0 0 10px #b1b4b6}@media(hover: none),(pointer: coarse){.govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:not(:disabled)+.govuk-radios__label:before{box-shadow:initial}.govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus+.govuk-radios__label:before{box-shadow:0 0 0 4px #fd0}}.govuk-select{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;box-sizing:border-box;max-width:100%;height:40px;height:2.5rem;padding:5px;border:2px solid #0b0c0c}@media print{.govuk-select{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-select{font-size:19px;font-size:1.1875rem;line-height:1.25}}@media print{.govuk-select{font-size:14pt;line-height:1.25}}.govuk-select:focus{outline:3px solid #fd0;outline-offset:0;box-shadow:inset 0 0 0 2px}.govuk-select option:active,.govuk-select option:checked,.govuk-select:focus::-ms-value{color:#fff;background-color:#1d70b8}.govuk-select--error{border:2px solid #d4351c}.govuk-select--error:focus{border-color:#0b0c0c}.govuk-skip-link{position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;font-size:14px;font-size:.875rem;line-height:1.1428571429;display:block;padding:10px 15px}.govuk-skip-link:active,.govuk-skip-link:focus{position:static !important;width:auto !important;height:auto !important;margin:inherit !important;overflow:visible !important;clip:auto !important;-webkit-clip-path:none !important;clip-path:none !important;white-space:inherit !important}@media print{.govuk-skip-link{font-family:sans-serif}}.govuk-skip-link:link,.govuk-skip-link:visited{color:#0b0c0c}@media print{.govuk-skip-link:link,.govuk-skip-link:visited{color:#000}}.govuk-skip-link:hover{color:rgba(11,12,12,.99)}.govuk-skip-link:active,.govuk-skip-link:focus{color:#0b0c0c}@media print{.govuk-skip-link:active,.govuk-skip-link:focus{color:#000}}@media(min-width: 40.0625em){.govuk-skip-link{font-size:16px;font-size:1rem;line-height:1.25}}@media print{.govuk-skip-link{font-size:14pt;line-height:1.2}}@supports(padding: max(calc(0px))){.govuk-skip-link{padding-right:max(15px, calc(15px + env(safe-area-inset-right)));padding-left:max(15px, calc(15px + env(safe-area-inset-left)))}}.govuk-skip-link:focus{outline:3px solid #fd0;outline-offset:0;background-color:#fd0}.govuk-table{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;width:100%;margin-bottom:20px;border-spacing:0;border-collapse:collapse}@media print{.govuk-table{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-table{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-table{font-size:14pt;line-height:1.15}}@media print{.govuk-table{color:#000}}@media(min-width: 40.0625em){.govuk-table{margin-bottom:30px}}.govuk-table__header{font-weight:700}.govuk-table__header,.govuk-table__cell{padding:10px 20px 10px 0;border-bottom:1px solid #b1b4b6;text-align:left;vertical-align:top}.govuk-table__cell--numeric{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"tnum" 1;font-feature-settings:"tnum" 1;font-weight:400}@media print{.govuk-table__cell--numeric{font-family:sans-serif}}@supports(font-variant-numeric: tabular-nums){.govuk-table__cell--numeric{-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant-numeric:tabular-nums}}.govuk-table__header--numeric,.govuk-table__cell--numeric{text-align:right}.govuk-table__header:last-child,.govuk-table__cell:last-child{padding-right:0}.govuk-table__caption{font-weight:700;display:table-caption;text-align:left}.govuk-table__caption--xl{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:32px;font-size:2rem;line-height:1.09375;margin-bottom:15px}@media print{.govuk-table__caption--xl{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-table__caption--xl{font-size:48px;font-size:3rem;line-height:1.0416666667}}@media print{.govuk-table__caption--xl{font-size:32pt;line-height:1.15}}.govuk-table__caption--l{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:24px;font-size:1.5rem;line-height:1.0416666667;margin-bottom:15px}@media print{.govuk-table__caption--l{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-table__caption--l{font-size:36px;font-size:2.25rem;line-height:1.1111111111}}@media print{.govuk-table__caption--l{font-size:24pt;line-height:1.05}}.govuk-table__caption--m{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:18px;font-size:1.125rem;line-height:1.1111111111;margin-bottom:15px}@media print{.govuk-table__caption--m{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-table__caption--m{font-size:24px;font-size:1.5rem;line-height:1.25}}@media print{.govuk-table__caption--m{font-size:18pt;line-height:1.15}}.govuk-table__caption--s{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:16px;font-size:1rem;line-height:1.25}@media print{.govuk-table__caption--s{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-table__caption--s{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-table__caption--s{font-size:14pt;line-height:1.15}}.govuk-warning-text{position:relative;margin-bottom:20px;padding:10px 0}@media(min-width: 40.0625em){.govuk-warning-text{margin-bottom:30px}}.govuk-warning-text__assistive{position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;border:0 !important;white-space:nowrap !important}.govuk-warning-text__icon{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;box-sizing:border-box;display:inline-block;position:absolute;left:0;min-width:35px;min-height:35px;margin-top:-7px;border:3px solid #0b0c0c;border-radius:50%;color:#fff;background:#0b0c0c;font-size:30px;line-height:29px;text-align:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;forced-color-adjust:none}@media print{.govuk-warning-text__icon{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-warning-text__icon{margin-top:-5px}}@media screen and (forced-colors: active){.govuk-warning-text__icon{border-color:windowText;color:windowText;background:transparent}}.govuk-warning-text__text{font-family:"GDS Transport",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c;display:block;padding-left:45px}@media print{.govuk-warning-text__text{font-family:sans-serif}}@media(min-width: 40.0625em){.govuk-warning-text__text{font-size:19px;font-size:1.1875rem;line-height:1.3157894737}}@media print{.govuk-warning-text__text{font-size:14pt;line-height:1.15}}@media print{.govuk-warning-text__text{color:#000}}.govuk-clearfix:after{content:"";display:block;clear:both}.govuk-visually-hidden{position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;border:0 !important;white-space:nowrap !important}.govuk-visually-hidden-focusable{position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important}.govuk-visually-hidden-focusable:active,.govuk-visually-hidden-focusable:focus{position:static !important;width:auto !important;height:auto !important;margin:inherit !important;overflow:visible !important;clip:auto !important;-webkit-clip-path:none !important;clip-path:none !important;white-space:inherit !important}.govuk-\!-display-inline{display:inline !important}.govuk-\!-display-inline-block{display:inline-block !important}.govuk-\!-display-block{display:block !important}.govuk-\!-display-none{display:none !important}@media print{.govuk-\!-display-none-print{display:none !important}}.govuk-\!-margin-0{margin:0 !important}@media(min-width: 40.0625em){.govuk-\!-margin-0{margin:0 !important}}.govuk-\!-margin-top-0{margin-top:0 !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-0{margin-top:0 !important}}.govuk-\!-margin-right-0{margin-right:0 !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-0{margin-right:0 !important}}.govuk-\!-margin-bottom-0{margin-bottom:0 !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-0{margin-bottom:0 !important}}.govuk-\!-margin-left-0{margin-left:0 !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-0{margin-left:0 !important}}.govuk-\!-margin-1{margin:5px !important}@media(min-width: 40.0625em){.govuk-\!-margin-1{margin:5px !important}}.govuk-\!-margin-top-1{margin-top:5px !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-1{margin-top:5px !important}}.govuk-\!-margin-right-1{margin-right:5px !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-1{margin-right:5px !important}}.govuk-\!-margin-bottom-1{margin-bottom:5px !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-1{margin-bottom:5px !important}}.govuk-\!-margin-left-1{margin-left:5px !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-1{margin-left:5px !important}}.govuk-\!-margin-2{margin:10px !important}@media(min-width: 40.0625em){.govuk-\!-margin-2{margin:10px !important}}.govuk-\!-margin-top-2{margin-top:10px !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-2{margin-top:10px !important}}.govuk-\!-margin-right-2{margin-right:10px !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-2{margin-right:10px !important}}.govuk-\!-margin-bottom-2{margin-bottom:10px !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-2{margin-bottom:10px !important}}.govuk-\!-margin-left-2{margin-left:10px !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-2{margin-left:10px !important}}.govuk-\!-margin-3{margin:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-3{margin:15px !important}}.govuk-\!-margin-top-3{margin-top:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-3{margin-top:15px !important}}.govuk-\!-margin-right-3{margin-right:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-3{margin-right:15px !important}}.govuk-\!-margin-bottom-3{margin-bottom:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-3{margin-bottom:15px !important}}.govuk-\!-margin-left-3{margin-left:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-3{margin-left:15px !important}}.govuk-\!-margin-4{margin:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-4{margin:20px !important}}.govuk-\!-margin-top-4{margin-top:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-4{margin-top:20px !important}}.govuk-\!-margin-right-4{margin-right:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-4{margin-right:20px !important}}.govuk-\!-margin-bottom-4{margin-bottom:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-4{margin-bottom:20px !important}}.govuk-\!-margin-left-4{margin-left:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-4{margin-left:20px !important}}.govuk-\!-margin-5{margin:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-5{margin:25px !important}}.govuk-\!-margin-top-5{margin-top:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-5{margin-top:25px !important}}.govuk-\!-margin-right-5{margin-right:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-5{margin-right:25px !important}}.govuk-\!-margin-bottom-5{margin-bottom:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-5{margin-bottom:25px !important}}.govuk-\!-margin-left-5{margin-left:15px !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-5{margin-left:25px !important}}.govuk-\!-margin-6{margin:20px !important}@media(min-width: 40.0625em){.govuk-\!-margin-6{margin:30px !important}}.govuk-\!-margin-top-6{margin-top:20px !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-6{margin-top:30px !important}}.govuk-\!-margin-right-6{margin-right:20px !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-6{margin-right:30px !important}}.govuk-\!-margin-bottom-6{margin-bottom:20px !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-6{margin-bottom:30px !important}}.govuk-\!-margin-left-6{margin-left:20px !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-6{margin-left:30px !important}}.govuk-\!-margin-7{margin:25px !important}@media(min-width: 40.0625em){.govuk-\!-margin-7{margin:40px !important}}.govuk-\!-margin-top-7{margin-top:25px !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-7{margin-top:40px !important}}.govuk-\!-margin-right-7{margin-right:25px !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-7{margin-right:40px !important}}.govuk-\!-margin-bottom-7{margin-bottom:25px !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-7{margin-bottom:40px !important}}.govuk-\!-margin-left-7{margin-left:25px !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-7{margin-left:40px !important}}.govuk-\!-margin-8{margin:30px !important}@media(min-width: 40.0625em){.govuk-\!-margin-8{margin:50px !important}}.govuk-\!-margin-top-8{margin-top:30px !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-8{margin-top:50px !important}}.govuk-\!-margin-right-8{margin-right:30px !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-8{margin-right:50px !important}}.govuk-\!-margin-bottom-8{margin-bottom:30px !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-8{margin-bottom:50px !important}}.govuk-\!-margin-left-8{margin-left:30px !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-8{margin-left:50px !important}}.govuk-\!-margin-9{margin:40px !important}@media(min-width: 40.0625em){.govuk-\!-margin-9{margin:60px !important}}.govuk-\!-margin-top-9{margin-top:40px !important}@media(min-width: 40.0625em){.govuk-\!-margin-top-9{margin-top:60px !important}}.govuk-\!-margin-right-9{margin-right:40px !important}@media(min-width: 40.0625em){.govuk-\!-margin-right-9{margin-right:60px !important}}.govuk-\!-margin-bottom-9{margin-bottom:40px !important}@media(min-width: 40.0625em){.govuk-\!-margin-bottom-9{margin-bottom:60px !important}}.govuk-\!-margin-left-9{margin-left:40px !important}@media(min-width: 40.0625em){.govuk-\!-margin-left-9{margin-left:60px !important}}.govuk-\!-padding-0{padding:0 !important}@media(min-width: 40.0625em){.govuk-\!-padding-0{padding:0 !important}}.govuk-\!-padding-top-0{padding-top:0 !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-0{padding-top:0 !important}}.govuk-\!-padding-right-0{padding-right:0 !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-0{padding-right:0 !important}}.govuk-\!-padding-bottom-0{padding-bottom:0 !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-0{padding-bottom:0 !important}}.govuk-\!-padding-left-0{padding-left:0 !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-0{padding-left:0 !important}}.govuk-\!-padding-1{padding:5px !important}@media(min-width: 40.0625em){.govuk-\!-padding-1{padding:5px !important}}.govuk-\!-padding-top-1{padding-top:5px !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-1{padding-top:5px !important}}.govuk-\!-padding-right-1{padding-right:5px !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-1{padding-right:5px !important}}.govuk-\!-padding-bottom-1{padding-bottom:5px !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-1{padding-bottom:5px !important}}.govuk-\!-padding-left-1{padding-left:5px !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-1{padding-left:5px !important}}.govuk-\!-padding-2{padding:10px !important}@media(min-width: 40.0625em){.govuk-\!-padding-2{padding:10px !important}}.govuk-\!-padding-top-2{padding-top:10px !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-2{padding-top:10px !important}}.govuk-\!-padding-right-2{padding-right:10px !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-2{padding-right:10px !important}}.govuk-\!-padding-bottom-2{padding-bottom:10px !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-2{padding-bottom:10px !important}}.govuk-\!-padding-left-2{padding-left:10px !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-2{padding-left:10px !important}}.govuk-\!-padding-3{padding:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-3{padding:15px !important}}.govuk-\!-padding-top-3{padding-top:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-3{padding-top:15px !important}}.govuk-\!-padding-right-3{padding-right:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-3{padding-right:15px !important}}.govuk-\!-padding-bottom-3{padding-bottom:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-3{padding-bottom:15px !important}}.govuk-\!-padding-left-3{padding-left:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-3{padding-left:15px !important}}.govuk-\!-padding-4{padding:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-4{padding:20px !important}}.govuk-\!-padding-top-4{padding-top:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-4{padding-top:20px !important}}.govuk-\!-padding-right-4{padding-right:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-4{padding-right:20px !important}}.govuk-\!-padding-bottom-4{padding-bottom:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-4{padding-bottom:20px !important}}.govuk-\!-padding-left-4{padding-left:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-4{padding-left:20px !important}}.govuk-\!-padding-5{padding:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-5{padding:25px !important}}.govuk-\!-padding-top-5{padding-top:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-5{padding-top:25px !important}}.govuk-\!-padding-right-5{padding-right:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-5{padding-right:25px !important}}.govuk-\!-padding-bottom-5{padding-bottom:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-5{padding-bottom:25px !important}}.govuk-\!-padding-left-5{padding-left:15px !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-5{padding-left:25px !important}}.govuk-\!-padding-6{padding:20px !important}@media(min-width: 40.0625em){.govuk-\!-padding-6{padding:30px !important}}.govuk-\!-padding-top-6{padding-top:20px !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-6{padding-top:30px !important}}.govuk-\!-padding-right-6{padding-right:20px !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-6{padding-right:30px !important}}.govuk-\!-padding-bottom-6{padding-bottom:20px !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-6{padding-bottom:30px !important}}.govuk-\!-padding-left-6{padding-left:20px !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-6{padding-left:30px !important}}.govuk-\!-padding-7{padding:25px !important}@media(min-width: 40.0625em){.govuk-\!-padding-7{padding:40px !important}}.govuk-\!-padding-top-7{padding-top:25px !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-7{padding-top:40px !important}}.govuk-\!-padding-right-7{padding-right:25px !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-7{padding-right:40px !important}}.govuk-\!-padding-bottom-7{padding-bottom:25px !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-7{padding-bottom:40px !important}}.govuk-\!-padding-left-7{padding-left:25px !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-7{padding-left:40px !important}}.govuk-\!-padding-8{padding:30px !important}@media(min-width: 40.0625em){.govuk-\!-padding-8{padding:50px !important}}.govuk-\!-padding-top-8{padding-top:30px !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-8{padding-top:50px !important}}.govuk-\!-padding-right-8{padding-right:30px !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-8{padding-right:50px !important}}.govuk-\!-padding-bottom-8{padding-bottom:30px !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-8{padding-bottom:50px !important}}.govuk-\!-padding-left-8{padding-left:30px !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-8{padding-left:50px !important}}.govuk-\!-padding-9{padding:40px !important}@media(min-width: 40.0625em){.govuk-\!-padding-9{padding:60px !important}}.govuk-\!-padding-top-9{padding-top:40px !important}@media(min-width: 40.0625em){.govuk-\!-padding-top-9{padding-top:60px !important}}.govuk-\!-padding-right-9{padding-right:40px !important}@media(min-width: 40.0625em){.govuk-\!-padding-right-9{padding-right:60px !important}}.govuk-\!-padding-bottom-9{padding-bottom:40px !important}@media(min-width: 40.0625em){.govuk-\!-padding-bottom-9{padding-bottom:60px !important}}.govuk-\!-padding-left-9{padding-left:40px !important}@media(min-width: 40.0625em){.govuk-\!-padding-left-9{padding-left:60px !important}}.govuk-\!-text-align-left{text-align:left !important}.govuk-\!-text-align-centre{text-align:center !important}.govuk-\!-text-align-right{text-align:right !important}.govuk-\!-font-size-80{font-size:53px !important;font-size:3.3125rem !important;line-height:1.0377358491 !important}@media(min-width: 40.0625em){.govuk-\!-font-size-80{font-size:80px !important;font-size:5rem !important;line-height:1 !important}}@media print{.govuk-\!-font-size-80{font-size:53pt !important;line-height:1.1 !important}}.govuk-\!-font-size-48{font-size:32px !important;font-size:2rem !important;line-height:1.09375 !important}@media(min-width: 40.0625em){.govuk-\!-font-size-48{font-size:48px !important;font-size:3rem !important;line-height:1.0416666667 !important}}@media print{.govuk-\!-font-size-48{font-size:32pt !important;line-height:1.15 !important}}.govuk-\!-font-size-36{font-size:24px !important;font-size:1.5rem !important;line-height:1.0416666667 !important}@media(min-width: 40.0625em){.govuk-\!-font-size-36{font-size:36px !important;font-size:2.25rem !important;line-height:1.1111111111 !important}}@media print{.govuk-\!-font-size-36{font-size:24pt !important;line-height:1.05 !important}}.govuk-\!-font-size-27{font-size:18px !important;font-size:1.125rem !important;line-height:1.1111111111 !important}@media(min-width: 40.0625em){.govuk-\!-font-size-27{font-size:27px !important;font-size:1.6875rem !important;line-height:1.1111111111 !important}}@media print{.govuk-\!-font-size-27{font-size:18pt !important;line-height:1.15 !important}}.govuk-\!-font-size-24{font-size:18px !important;font-size:1.125rem !important;line-height:1.1111111111 !important}@media(min-width: 40.0625em){.govuk-\!-font-size-24{font-size:24px !important;font-size:1.5rem !important;line-height:1.25 !important}}@media print{.govuk-\!-font-size-24{font-size:18pt !important;line-height:1.15 !important}}.govuk-\!-font-size-19{font-size:16px !important;font-size:1rem !important;line-height:1.25 !important}@media(min-width: 40.0625em){.govuk-\!-font-size-19{font-size:19px !important;font-size:1.1875rem !important;line-height:1.3157894737 !important}}@media print{.govuk-\!-font-size-19{font-size:14pt !important;line-height:1.15 !important}}.govuk-\!-font-size-16{font-size:14px !important;font-size:.875rem !important;line-height:1.1428571429 !important}@media(min-width: 40.0625em){.govuk-\!-font-size-16{font-size:16px !important;font-size:1rem !important;line-height:1.25 !important}}@media print{.govuk-\!-font-size-16{font-size:14pt !important;line-height:1.2 !important}}.govuk-\!-font-size-14{font-size:12px !important;font-size:.75rem !important;line-height:1.25 !important}@media(min-width: 40.0625em){.govuk-\!-font-size-14{font-size:14px !important;font-size:.875rem !important;line-height:1.4285714286 !important}}@media print{.govuk-\!-font-size-14{font-size:12pt !important;line-height:1.2 !important}}.govuk-\!-font-weight-regular{font-weight:400 !important}.govuk-\!-font-weight-bold{font-weight:700 !important}.govuk-\!-width-full{width:100% !important}.govuk-\!-width-three-quarters{width:100% !important}@media(min-width: 40.0625em){.govuk-\!-width-three-quarters{width:75% !important}}.govuk-\!-width-two-thirds{width:100% !important}@media(min-width: 40.0625em){.govuk-\!-width-two-thirds{width:66.66% !important}}.govuk-\!-width-one-half{width:100% !important}@media(min-width: 40.0625em){.govuk-\!-width-one-half{width:50% !important}}.govuk-\!-width-one-third{width:100% !important}@media(min-width: 40.0625em){.govuk-\!-width-one-third{width:33.33% !important}}.govuk-\!-width-one-quarter{width:100% !important}@media(min-width: 40.0625em){.govuk-\!-width-one-quarter{width:25% !important}}.js-hidden{display:block}.js-enabled .js-hidden{display:none}
|
package/dist/casa.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import configure from "./lib/configure.js";
|
|
2
|
+
import validators from "./lib/validators/index.js";
|
|
3
|
+
import field from "./lib/field.js";
|
|
4
|
+
import Plan from "./lib/Plan.js";
|
|
5
|
+
import JourneyContext from "./lib/JourneyContext.js";
|
|
6
|
+
import ValidationError from "./lib/ValidationError.js";
|
|
7
|
+
import waypointUrl from "./lib/waypoint-url.js";
|
|
8
|
+
import endSession from "./lib/end-session.js";
|
|
9
|
+
import * as nunjucksFilters from "./lib/nunjucks-filters.js";
|
|
10
|
+
export { configure, validators, field, Plan, JourneyContext, ValidationError, waypointUrl, endSession, nunjucksFilters };
|
package/dist/casa.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.nunjucksFilters = exports.endSession = exports.waypointUrl = exports.ValidationError = exports.JourneyContext = exports.Plan = exports.field = exports.validators = exports.configure = void 0;
|
|
26
|
+
// NOTE: Any changes made here must be reflected in `scripts/esm-wrapper.js`
|
|
27
|
+
const configure_js_1 = __importDefault(require("./lib/configure.js"));
|
|
28
|
+
exports.configure = configure_js_1.default;
|
|
29
|
+
const index_js_1 = __importDefault(require("./lib/validators/index.js"));
|
|
30
|
+
exports.validators = index_js_1.default;
|
|
31
|
+
const field_js_1 = __importDefault(require("./lib/field.js"));
|
|
32
|
+
exports.field = field_js_1.default;
|
|
33
|
+
const Plan_js_1 = __importDefault(require("./lib/Plan.js"));
|
|
34
|
+
exports.Plan = Plan_js_1.default;
|
|
35
|
+
const JourneyContext_js_1 = __importDefault(require("./lib/JourneyContext.js"));
|
|
36
|
+
exports.JourneyContext = JourneyContext_js_1.default;
|
|
37
|
+
const ValidationError_js_1 = __importDefault(require("./lib/ValidationError.js"));
|
|
38
|
+
exports.ValidationError = ValidationError_js_1.default;
|
|
39
|
+
const waypoint_url_js_1 = __importDefault(require("./lib/waypoint-url.js"));
|
|
40
|
+
exports.waypointUrl = waypoint_url_js_1.default;
|
|
41
|
+
const end_session_js_1 = __importDefault(require("./lib/end-session.js"));
|
|
42
|
+
exports.endSession = end_session_js_1.default;
|
|
43
|
+
const nunjucksFilters = __importStar(require("./lib/nunjucks-filters.js"));
|
|
44
|
+
exports.nunjucksFilters = nunjucksFilters;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @callback BlockModifier
|
|
3
|
+
* @param {string} templateName Path to the template being modified
|
|
4
|
+
* @returns {string} The modified template source
|
|
5
|
+
*/
|
|
6
|
+
export default class CasaTemplateLoader {
|
|
7
|
+
constructor(searchPaths: any, opts: any);
|
|
8
|
+
getSource(name: any): any;
|
|
9
|
+
/**
|
|
10
|
+
* Add a modification function to the loader.
|
|
11
|
+
*
|
|
12
|
+
* @param {string} block Block name, e.g. `bodyStart`
|
|
13
|
+
* @param {BlockModifier} modifier Modifier function
|
|
14
|
+
* @returns {void}
|
|
15
|
+
*/
|
|
16
|
+
modifyBlock(block: string, modifier: BlockModifier): void;
|
|
17
|
+
#private;
|
|
18
|
+
}
|
|
19
|
+
export type BlockModifier = (templateName: string) => string;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _CasaTemplateLoader_instances, _CasaTemplateLoader_blockModifiers, _CasaTemplateLoader_applyBlockModifiers;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const nunjucks_1 = require("nunjucks");
|
|
16
|
+
/**
|
|
17
|
+
* @callback BlockModifier
|
|
18
|
+
* @param {string} templateName Path to the template being modified
|
|
19
|
+
* @returns {string} The modified template source
|
|
20
|
+
*/
|
|
21
|
+
class CasaTemplateLoader extends nunjucks_1.FileSystemLoader {
|
|
22
|
+
constructor(searchPaths, opts) {
|
|
23
|
+
super(searchPaths, opts);
|
|
24
|
+
_CasaTemplateLoader_instances.add(this);
|
|
25
|
+
_CasaTemplateLoader_blockModifiers.set(this, void 0);
|
|
26
|
+
__classPrivateFieldSet(this, _CasaTemplateLoader_blockModifiers, [], "f");
|
|
27
|
+
}
|
|
28
|
+
getSource(name) {
|
|
29
|
+
const source = super.getSource(name);
|
|
30
|
+
return source ? __classPrivateFieldGet(this, _CasaTemplateLoader_instances, "m", _CasaTemplateLoader_applyBlockModifiers).call(this, name, source) : source;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Add a modification function to the loader.
|
|
34
|
+
*
|
|
35
|
+
* @param {string} block Block name, e.g. `bodyStart`
|
|
36
|
+
* @param {BlockModifier} modifier Modifier function
|
|
37
|
+
* @returns {void}
|
|
38
|
+
*/
|
|
39
|
+
modifyBlock(block, modifier) {
|
|
40
|
+
// TODO: Limit to only known block so the user can't do general string replacements
|
|
41
|
+
__classPrivateFieldGet(this, _CasaTemplateLoader_blockModifiers, "f").push({
|
|
42
|
+
block,
|
|
43
|
+
modifier,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.default = CasaTemplateLoader;
|
|
48
|
+
_CasaTemplateLoader_blockModifiers = new WeakMap(), _CasaTemplateLoader_instances = new WeakSet(), _CasaTemplateLoader_applyBlockModifiers = function _CasaTemplateLoader_applyBlockModifiers(name, source) {
|
|
49
|
+
// TODO: This is open to abuse by plugin authors, e,g `{% block bodyStart %}{% endblock %} <script src="evil.js"></script>`. Problem, or no?
|
|
50
|
+
for (let i = 0, l = __classPrivateFieldGet(this, _CasaTemplateLoader_blockModifiers, "f").length; i < l; i++) {
|
|
51
|
+
const { block, modifier } = __classPrivateFieldGet(this, _CasaTemplateLoader_blockModifiers, "f")[i];
|
|
52
|
+
if (source.src.indexOf(`block ${block}`) > -1) {
|
|
53
|
+
source.src = source.src.replace(`block ${block} %}`, `block ${block} %}${modifier(name)}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return source;
|
|
57
|
+
};
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
export default class JourneyContext {
|
|
2
|
+
static DEFAULT_CONTEXT_ID: string;
|
|
3
|
+
/**
|
|
4
|
+
* Create a new JourneyContext using the plain object.
|
|
5
|
+
*
|
|
6
|
+
* @param {object} obj Object.
|
|
7
|
+
* @returns {JourneyContext} Instance.
|
|
8
|
+
*/
|
|
9
|
+
static fromObject({ data, validation, nav, identity, }?: object): JourneyContext;
|
|
10
|
+
/**
|
|
11
|
+
* Construct a new JourneyContext instance frmo another instance.
|
|
12
|
+
*
|
|
13
|
+
* @param {JourneyContext} context Context to copy from
|
|
14
|
+
* @returns {JourneyContext} Constructed JourneyContext instance
|
|
15
|
+
* @throws {TypeError} When context is not a valid type
|
|
16
|
+
*/
|
|
17
|
+
static fromContext(context: JourneyContext): JourneyContext;
|
|
18
|
+
/**
|
|
19
|
+
* Initialise session with an empty entry for the "default" context.
|
|
20
|
+
*
|
|
21
|
+
* @param {object} session Request session
|
|
22
|
+
* @returns {void}
|
|
23
|
+
*/
|
|
24
|
+
static initContextStore(session: object): void;
|
|
25
|
+
/**
|
|
26
|
+
* Validate the format of a context ID, i.e. "default" or a uuid
|
|
27
|
+
* eg 00000000-0000-0000-0000-000000000000
|
|
28
|
+
* eg 123e4567-e89b-12d3-a456-426614174000
|
|
29
|
+
*
|
|
30
|
+
* @param {string} id Context ID
|
|
31
|
+
* @returns {string} Original ID if it's valid
|
|
32
|
+
* @throws {TypeError} When id is not a valid type
|
|
33
|
+
* @throws {SyntaxError} When id is not a valid uuid format
|
|
34
|
+
*/
|
|
35
|
+
static validateContextId(id: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Lookup context from session using the ID.
|
|
38
|
+
*
|
|
39
|
+
* @param {object} session Request session
|
|
40
|
+
* @param {string} id Context ID
|
|
41
|
+
* @returns {JourneyContext} The discovered JourneyContext instance
|
|
42
|
+
*/
|
|
43
|
+
static getContextById(session: object, id: string): JourneyContext;
|
|
44
|
+
/**
|
|
45
|
+
* Lookup context from session using the name.
|
|
46
|
+
*
|
|
47
|
+
* @param {object} session Request session
|
|
48
|
+
* @param {string} name Context name
|
|
49
|
+
* @returns {JourneyContext} The discovered JourneyContext instance
|
|
50
|
+
*/
|
|
51
|
+
static getContextByName(session: object, name: string): JourneyContext;
|
|
52
|
+
/**
|
|
53
|
+
* Lookup contexts from session using the tag.
|
|
54
|
+
*
|
|
55
|
+
* @param {object} session Request session
|
|
56
|
+
* @param {string} tag Context tag
|
|
57
|
+
* @returns {Array<JourneyContext>} The discovered JourneyContext instance
|
|
58
|
+
*/
|
|
59
|
+
static getContextsByTag(session: object, tag: string): Array<JourneyContext>;
|
|
60
|
+
/**
|
|
61
|
+
* Return all contexts currently stored in the session.
|
|
62
|
+
*
|
|
63
|
+
* @param {object} session Request session
|
|
64
|
+
* @returns {Array} Array of contexts
|
|
65
|
+
*/
|
|
66
|
+
static getContexts(session: object): any[];
|
|
67
|
+
/**
|
|
68
|
+
* Put context back into the session store.
|
|
69
|
+
*
|
|
70
|
+
* @param {object} session Request session
|
|
71
|
+
* @param {JourneyContext} context Context
|
|
72
|
+
* @returns {void}
|
|
73
|
+
* @throws {TypeError} When isession is not a valid type, or context has no ID
|
|
74
|
+
*/
|
|
75
|
+
static putContext(session: object, context: JourneyContext): void;
|
|
76
|
+
/**
|
|
77
|
+
* Remove a context from the session store.
|
|
78
|
+
*
|
|
79
|
+
* @param {object} session Request session
|
|
80
|
+
* @param {JourneyContext} context Context
|
|
81
|
+
* @returns {void}
|
|
82
|
+
*/
|
|
83
|
+
static removeContext(session: object, context: JourneyContext): void;
|
|
84
|
+
static removeContextById(session: any, id: any): void;
|
|
85
|
+
static removeContextByName(session: any, name: any): void;
|
|
86
|
+
static removeContextsByTag(session: any, tag: any): void;
|
|
87
|
+
static removeContexts(session: any): void;
|
|
88
|
+
static extractContextFromRequest(req: any): JourneyContext;
|
|
89
|
+
/**
|
|
90
|
+
* Constructor.
|
|
91
|
+
*
|
|
92
|
+
* `data` is the "single source of truth" for all data gathered during the
|
|
93
|
+
* user's journey. This is referred to as the "canonical data model".
|
|
94
|
+
* Page-specific "views" of this data are generated at runtime in order to
|
|
95
|
+
* populate/validate specific form fields.
|
|
96
|
+
*
|
|
97
|
+
* `validation` holds the results of form field validation carried out when
|
|
98
|
+
* page forms are POSTed. These results are mapped directly to per-page,
|
|
99
|
+
* per-field.
|
|
100
|
+
*
|
|
101
|
+
* `nav` holds information about the current navigation state. Currently this
|
|
102
|
+
* comprises of the language in which the user is navigating the service.
|
|
103
|
+
*
|
|
104
|
+
* `identity` holds information that helps uniquely identify this context
|
|
105
|
+
* among a group of contexts stored in the session.
|
|
106
|
+
*
|
|
107
|
+
* @param {object} data Entire journey data.
|
|
108
|
+
* @param {object} validation Page errors (indexed by waypoint id).
|
|
109
|
+
* @param {object} nav Navigation context.
|
|
110
|
+
* @param {object} identity Some metadata for identifying this context among others.
|
|
111
|
+
*/
|
|
112
|
+
constructor(data?: object, validation?: object, nav?: object, identity?: object);
|
|
113
|
+
/**
|
|
114
|
+
* Clone into an object that can be stringified.
|
|
115
|
+
*
|
|
116
|
+
* @returns {object} Plain object.
|
|
117
|
+
*/
|
|
118
|
+
toObject(): object;
|
|
119
|
+
set data(arg: object);
|
|
120
|
+
get data(): object;
|
|
121
|
+
get validation(): object;
|
|
122
|
+
get nav(): object;
|
|
123
|
+
get identity(): object;
|
|
124
|
+
/**
|
|
125
|
+
* Get data context for a specific a specific page.
|
|
126
|
+
*
|
|
127
|
+
* @param {string | PageMeta} page Page waypoint ID, or Page object.
|
|
128
|
+
* @returns {object} Page data.
|
|
129
|
+
* @throws {TypeError} When page is invalid.
|
|
130
|
+
*/
|
|
131
|
+
getDataForPage(page: string | any): object;
|
|
132
|
+
getData(): object;
|
|
133
|
+
/**
|
|
134
|
+
* Overwrite the data context with a new object.
|
|
135
|
+
*
|
|
136
|
+
* @param {object} data Data that will overwrite all existing data.
|
|
137
|
+
* @returns {JourneyContext} Chain.
|
|
138
|
+
*/
|
|
139
|
+
setData(data: object): JourneyContext;
|
|
140
|
+
/**
|
|
141
|
+
* Write field form data from a page HTML form, into the `data` model.
|
|
142
|
+
*
|
|
143
|
+
* By default this will store the data as-is, keyed against the page's
|
|
144
|
+
* waypoint ID. However, when passing a `PageMeta` instance, its
|
|
145
|
+
* `fieldWriter()` method will be called to transform the provided formData
|
|
146
|
+
* before storing in `data`
|
|
147
|
+
*
|
|
148
|
+
* @param {string | PageMeta} page Page waypoint ID, or PageMeta object
|
|
149
|
+
* @param {object} webFormData Data to overwrite with
|
|
150
|
+
* @returns {JourneyContext} Chain
|
|
151
|
+
* @throws {TypeError} When page is invalid.
|
|
152
|
+
*/
|
|
153
|
+
setDataForPage(page: string | any, webFormData: object): JourneyContext;
|
|
154
|
+
/**
|
|
155
|
+
* Return validation errors for all pages.
|
|
156
|
+
*
|
|
157
|
+
* @returns {object} All page validation errors.
|
|
158
|
+
*/
|
|
159
|
+
getValidationErrors(): object;
|
|
160
|
+
/**
|
|
161
|
+
* Removes any validation state for the given page. Clearing validation state
|
|
162
|
+
* completely will, by default, prevent onward traversal from this page. See
|
|
163
|
+
* the traversal logic in Plan class.
|
|
164
|
+
*
|
|
165
|
+
* @param {string} pageId Page ID.
|
|
166
|
+
* @returns {JourneyContext} Chain.
|
|
167
|
+
*/
|
|
168
|
+
removeValidationStateForPage(pageId: string): JourneyContext;
|
|
169
|
+
/**
|
|
170
|
+
* Clear any validation errors for the given page. This effectively declares
|
|
171
|
+
* that this page has been successfully validated, and so can be traversed. If
|
|
172
|
+
* you want to remove any knowledge of validation success/failure, use
|
|
173
|
+
* `removeValidationStateForPage()` instead.
|
|
174
|
+
*
|
|
175
|
+
* @param {string} pageId Page ID.
|
|
176
|
+
* @returns {JourneyContext} Chain.
|
|
177
|
+
*/
|
|
178
|
+
clearValidationErrorsForPage(pageId: string): JourneyContext;
|
|
179
|
+
/**
|
|
180
|
+
* Set validation errors for a page.
|
|
181
|
+
*
|
|
182
|
+
* @param {string} pageId Page ID.
|
|
183
|
+
* @param {ValidationError[]} errors Errors
|
|
184
|
+
* @returns {JourneyContext} Chain.
|
|
185
|
+
* @throws {SyntaxError} When errors are invalid.
|
|
186
|
+
*/
|
|
187
|
+
setValidationErrorsForPage(pageId: string, errors?: ValidationError[]): JourneyContext;
|
|
188
|
+
/**
|
|
189
|
+
* Return the validation errors associated with the page's currently held data
|
|
190
|
+
* context (if any).
|
|
191
|
+
*
|
|
192
|
+
* @param {string} pageId Page ID.
|
|
193
|
+
* @returns {ValidationError[]} An array of errors
|
|
194
|
+
*/
|
|
195
|
+
getValidationErrorsForPage(pageId: string): ValidationError[];
|
|
196
|
+
getValidationErrorsForPageByField(pageId: any): any;
|
|
197
|
+
/**
|
|
198
|
+
* Determine whether the specified page has any errors in its validation
|
|
199
|
+
* context.
|
|
200
|
+
*
|
|
201
|
+
* @param {string} pageId Page ID.
|
|
202
|
+
* @returns {boolean} Result.
|
|
203
|
+
*/
|
|
204
|
+
hasValidationErrorsForPage(pageId: string): boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Set language of the context.
|
|
207
|
+
*
|
|
208
|
+
* @param {string} language Language to set (ISO 639-1 2-letter code).
|
|
209
|
+
* @returns {JourneyContext} Chain.
|
|
210
|
+
*/
|
|
211
|
+
setNavigationLanguage(language?: string): JourneyContext;
|
|
212
|
+
/**
|
|
213
|
+
* Convenience function to test if page is valid.
|
|
214
|
+
*
|
|
215
|
+
* @param {string} pageId Page ID.
|
|
216
|
+
* @returns {boolean} True if the page is valid.
|
|
217
|
+
*/
|
|
218
|
+
isPageValid(pageId: string): boolean;
|
|
219
|
+
/**
|
|
220
|
+
* Remove information about these waypoints.
|
|
221
|
+
*
|
|
222
|
+
* @param {string[]} waypoints Waypoints to be removed
|
|
223
|
+
*/
|
|
224
|
+
purge(waypoints?: string[]): void;
|
|
225
|
+
/**
|
|
226
|
+
* Remove validation state from these waypoints. This is useful to quickly
|
|
227
|
+
* force the user to revisit some waypoints.
|
|
228
|
+
*
|
|
229
|
+
* @param {string[]} waypoints Waypoints to be invalidated
|
|
230
|
+
*/
|
|
231
|
+
invalidate(waypoints?: string[]): void;
|
|
232
|
+
/**
|
|
233
|
+
* Event listeners are transient. They are not stored in session, and generally
|
|
234
|
+
* only apply for the current request.
|
|
235
|
+
*
|
|
236
|
+
* They also only act on a fixed snapshot of this context's state, which is
|
|
237
|
+
* taken at the point of attaching the listeners (in the "data" middleware).
|
|
238
|
+
* This is important because JourneyContext.putContext()` could be called many
|
|
239
|
+
* times during a request, so the context will be constantly changing.
|
|
240
|
+
*
|
|
241
|
+
* @param {ContextEvent[]} events Event listeners
|
|
242
|
+
*/
|
|
243
|
+
addEventListeners(events: any[]): JourneyContext;
|
|
244
|
+
applyEventListeners({ event }: {
|
|
245
|
+
event: any;
|
|
246
|
+
}): JourneyContext | undefined;
|
|
247
|
+
/**
|
|
248
|
+
* Convenience method to determine if this is the default context.
|
|
249
|
+
*
|
|
250
|
+
* @returns {boolean} True if this is the "default" journey context
|
|
251
|
+
*/
|
|
252
|
+
isDefault(): boolean;
|
|
253
|
+
#private;
|
|
254
|
+
}
|
|
255
|
+
import ValidationError from "./ValidationError.js";
|