@ministryofjustice/frontend 5.1.2 → 5.1.3

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/moj/all.bundle.js CHANGED
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * {@link https://github.com/ministryofjustice/moj-frontend/releases}
16
16
  */
17
- const version = '5.1.2';
17
+ const version = '5.1.3';
18
18
 
19
19
  class AddAnother extends govukFrontend.Component {
20
20
  /**
@@ -312,7 +312,7 @@ function createAll(Component, config, createAllOptions) {
312
312
  *
313
313
  * {@link https://github.com/ministryofjustice/moj-frontend/releases}
314
314
  */
315
- const version = '5.1.2';
315
+ const version = '5.1.3';
316
316
 
317
317
  class AddAnother extends Component {
318
318
  /**
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * {@link https://github.com/ministryofjustice/moj-frontend/releases}
10
10
  */
11
- const version = '5.1.2';
11
+ const version = '5.1.3';
12
12
 
13
13
  export { version };
14
14
  //# sourceMappingURL=moj-frontend-version.mjs.map
@@ -1,7 +1,7 @@
1
1
  :root {
2
2
  // This variable is automatically overwritten during builds and releases.
3
3
  // It doesn't need to be updated manually.
4
- --moj-frontend-version: "5.1.2";
4
+ --moj-frontend-version: "5.1.3";
5
5
  }
6
6
 
7
7
  /*# sourceMappingURL=_moj-frontend-properties.scss.map */
@@ -1,2 +1,2 @@
1
- @charset "UTF-8";:root{--moj-frontend-version:"5.1.2"}.moj-filter-layout:after{clear:both;content:"";display:block}.moj-filter-layout__filter{box-shadow:inset 0 0 0 1px #f3f2f1}@media (min-width:48.0625em){.moj-filter-layout__filter{float:left;margin-right:40px;max-width:385px;min-width:260px;width:100%}}@media (max-width:48.0525em){.js-enabled .moj-filter-layout__filter{background-color:#fff;bottom:0;overflow-y:scroll;position:fixed;right:0;top:0;z-index:100}}.moj-filter-layout__content{overflow:hidden;overflow-x:auto}.moj-scrollable-pane{background:linear-gradient(to right,#fff,#fff,#fff0 calc(var(.75em)*2)),radial-gradient(farthest-side at 0 50%,#0003,#fff0),linear-gradient(to left,#fff,#fff,#fff0 calc(var(.75em)*2)),radial-gradient(farthest-side at 100% 50%,#0003,#fff0) 100%;background-attachment:local,scroll,local,scroll;background-color:#fff;background-repeat:no-repeat;background-size:100% 100%,.75em 100%,100% 100%,.75em 100%;overflow-x:scroll}@media (max-width:63.75em){.moj-scrollable-pane .govuk-table__cell,.moj-scrollable-pane .govuk-table__header{white-space:nowrap}}.moj-button-group{align-items:center;display:flex;flex-direction:column;margin-bottom:5px}@media (min-width:40.0625em){.moj-button-group{margin-bottom:15px}}.moj-button-group .govuk-link{display:inline-block;font-family:GDS Transport,arial,sans-serif;margin-bottom:20px;margin-top:5px;max-width:100%;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.1875}@media print{.moj-button-group .govuk-link{font-family:sans-serif}}@media (min-width:40.0625em){.moj-button-group .govuk-link{font-size:1.1875rem;line-height:1}}@media print{.moj-button-group .govuk-link{font-size:14pt;line-height:19px}}.js-enabled .moj-button-group .moj-button-menu,.moj-button-group .govuk-button,.moj-button-group .moj-button-menu__item{margin-bottom:17px}.js-enabled .moj-button-group .moj-button-menu__item,.moj-button-group .moj-button-menu__toggle-button{margin-bottom:0}@media (max-width:40.0525em){.moj-button-group .moj-button-menu,.moj-button-group .moj-button-menu__item,.moj-button-group .moj-button-menu__wrapper{width:100%}.moj-button-group .moj-button-menu__wrapper{position:relative}.moj-button-group--inline{align-items:baseline;flex-direction:row;flex-wrap:wrap;margin-right:-15px}.moj-button-group--inline .govuk-button,.moj-button-group--inline .govuk-link,.moj-button-group--inline .moj-button-menu{margin-right:15px;width:auto}.moj-button-group--inline .moj-button-menu__toggle-button{margin-right:0}.moj-button-group--inline .govuk-link{text-align:left}}@media (min-width:40.0625em){.moj-button-group{align-items:baseline;flex-direction:row;flex-wrap:wrap;margin-right:-15px}.moj-button-group .govuk-button,.moj-button-group .govuk-link,.moj-button-group .moj-button-menu{margin-right:15px;width:auto}.moj-button-group .moj-button-menu__toggle-button{margin-right:0}.moj-button-group .govuk-link{text-align:left}}.moj-action-bar{font-size:0}.moj-action-bar__filter{display:inline-block;position:relative}@media (max-width:48.0525em){.moj-action-bar__filter{float:right}}@media (min-width:48.0625em){.moj-action-bar__filter{margin-right:10px;padding-right:12px}.moj-action-bar__filter:after{background-color:#f3f2f1;content:"";height:40px;position:absolute;right:0;top:0;width:2px}}.moj-action-bar__filter>.govuk-button{vertical-align:initial}.moj-add-another__item{margin:30px 0 0;padding:0;position:relative}.moj-add-another__item:first-of-type{margin-top:0}.moj-add-another__title{float:left;padding:4px 100px 4px 0;width:100%}.moj-add-another__title+.govuk-form-group{clear:left}.moj-add-another__remove-button{position:absolute;right:0;top:0;width:auto}.moj-add-another__add-button{display:block}.moj-add-another__heading:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none}.moj-alert{background:#fff;border:5px solid #0000;display:-ms-grid;display:grid;margin-bottom:30px;padding:10px;-ms-grid-columns:min-content fit-content(960px);font-family:GDS Transport,arial,sans-serif;gap:10px;grid-template-columns:-webkit-min-content fit-content(960px);grid-template-columns:min-content fit-content(960px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}@media print{.moj-alert{font-family:sans-serif}}.moj-alert:focus{outline:3px solid #fd0}@media (min-width:40.0625em){.moj-alert[data-dismissible]{grid-template-columns:-webkit-min-content fit-content(920px) auto;grid-template-columns:min-content fit-content(920px) auto}}.moj-alert__icon{display:block;height:1.875rem;width:1.875rem;fill:currentcolor}.moj-alert__content{color:#0b0c0c;display:block;font-size:1rem;line-height:1.25;overflow:hidden;padding-top:.3125rem}@media (min-width:40.0625em){.moj-alert__content{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-alert__content{font-size:14pt;line-height:1.15}}@media (min-width:40.0625em){.moj-alert__content{padding-top:.125rem}}.moj-alert__action{grid-column-end:-1;grid-column-start:2}@media (min-width:40.0625em){.moj-alert__action{grid-column-start:3;justify-self:right}}.moj-alert__dismiss{-webkit-appearance:none;appearance:none;background-color:initial;border:none;color:unset;cursor:pointer;font-family:GDS Transport,arial,sans-serif;font-size:1rem;line-height:1.25;margin-bottom:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media (min-width:40.0625em){.moj-alert__dismiss{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-alert__dismiss{font-family:sans-serif;font-size:14pt;line-height:1.15}}.moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert__dismiss:link{color:#1d70b8}.moj-alert__dismiss:visited{color:#4c2c92}.moj-alert__dismiss:hover{color:#003078}.moj-alert__dismiss:active,.moj-alert__dismiss:focus{color:#0b0c0c}@media print{.moj-alert__dismiss[href^="/"]:after,.moj-alert__dismiss[href^="http://"]:after,.moj-alert__dismiss[href^="https://"]:after{content:" (" attr(href) ")";font-size:90%;word-wrap:break-word}}.moj-alert__heading{color:#0b0c0c;display:block;font-size:1.125rem;font-weight:700;line-height:1.1111111111;margin-bottom:.3125rem;margin-top:0}@media print{.moj-alert__heading{color:#000}}@media (min-width:40.0625em){.moj-alert__heading{font-size:1.5rem;line-height:1.25}}@media print{.moj-alert__heading{font-size:18pt;line-height:1.15}}@media (min-width:40.0625em){.moj-alert__heading{margin-bottom:.1875rem}}.moj-alert__content a:last-child,.moj-alert__content p:last-child,.moj-alert__content ul:last-child{margin-bottom:0}.moj-alert--information{border-color:#1d70b8;color:#1d70b8}.moj-alert--information .moj-alert__content a,.moj-alert--information .moj-alert__dismiss{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-alert--information .moj-alert__content a,.moj-alert--information .moj-alert__dismiss{font-family:sans-serif}}.moj-alert--information .moj-alert__content a:hover,.moj-alert--information .moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert--information .moj-alert__content a:focus,.moj-alert--information .moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert--information .moj-alert__content a:link,.moj-alert--information .moj-alert__dismiss:link{color:#1d70b8}.moj-alert--information .moj-alert__content a:visited,.moj-alert--information .moj-alert__dismiss:visited{color:#4c2c92}.moj-alert--information .moj-alert__content a:hover,.moj-alert--information .moj-alert__dismiss:hover{color:#003078}.moj-alert--information .moj-alert__content a:active,.moj-alert--information .moj-alert__content a:focus,.moj-alert--information .moj-alert__dismiss:active,.moj-alert--information .moj-alert__dismiss:focus{color:#0b0c0c}.moj-alert--success{border-color:#00703c;color:#00703c}.moj-alert--success .moj-alert__content .govuk-link,.moj-alert--success .moj-alert__content a,.moj-alert--success .moj-alert__dismiss{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-alert--success .moj-alert__content .govuk-link,.moj-alert--success .moj-alert__content a,.moj-alert--success .moj-alert__dismiss{font-family:sans-serif}}.moj-alert--success .moj-alert__content .govuk-link:hover,.moj-alert--success .moj-alert__content a:hover,.moj-alert--success .moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert--success .moj-alert__content .govuk-link:focus,.moj-alert--success .moj-alert__content a:focus,.moj-alert--success .moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert--success .moj-alert__content .govuk-link:link,.moj-alert--success .moj-alert__content .govuk-link:visited,.moj-alert--success .moj-alert__content a:link,.moj-alert--success .moj-alert__content a:visited,.moj-alert--success .moj-alert__dismiss:link,.moj-alert--success .moj-alert__dismiss:visited{color:#00703c}.moj-alert--success .moj-alert__content .govuk-link:hover,.moj-alert--success .moj-alert__content a:hover,.moj-alert--success .moj-alert__dismiss:hover{color:#004e2a}.moj-alert--success .moj-alert__content .govuk-link:active,.moj-alert--success .moj-alert__content a:active,.moj-alert--success .moj-alert__dismiss:active{color:#00703c}.moj-alert--success .moj-alert__content .govuk-link:focus,.moj-alert--success .moj-alert__content a:focus,.moj-alert--success .moj-alert__dismiss:focus{color:#0b0c0c}.moj-alert--warning{border-color:#eb611c;color:#eb611c}.moj-alert--warning .moj-alert__dismiss{color:#c75228}.moj-alert--warning .moj-alert__content .govuk-link,.moj-alert--warning .moj-alert__content a,.moj-alert--warning .moj-alert__dismiss{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-alert--warning .moj-alert__content .govuk-link,.moj-alert--warning .moj-alert__content a,.moj-alert--warning .moj-alert__dismiss{font-family:sans-serif}}.moj-alert--warning .moj-alert__content .govuk-link:hover,.moj-alert--warning .moj-alert__content a:hover,.moj-alert--warning .moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert--warning .moj-alert__content .govuk-link:focus,.moj-alert--warning .moj-alert__content a:focus,.moj-alert--warning .moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert--warning .moj-alert__content .govuk-link:link,.moj-alert--warning .moj-alert__content .govuk-link:visited,.moj-alert--warning .moj-alert__content a:link,.moj-alert--warning .moj-alert__content a:visited,.moj-alert--warning .moj-alert__dismiss:link,.moj-alert--warning .moj-alert__dismiss:visited{color:#c75228}.moj-alert--warning .moj-alert__content .govuk-link:hover,.moj-alert--warning .moj-alert__content a:hover,.moj-alert--warning .moj-alert__dismiss:hover{color:#8b391c}.moj-alert--warning .moj-alert__content .govuk-link:active,.moj-alert--warning .moj-alert__content a:active,.moj-alert--warning .moj-alert__dismiss:active{color:#eb611c}.moj-alert--warning .moj-alert__content .govuk-link:focus,.moj-alert--warning .moj-alert__content a:focus,.moj-alert--warning .moj-alert__dismiss:focus{color:#0b0c0c}.moj-alert--error{border-color:#d4351c;color:#d4351c}.moj-alert--error .moj-alert__content .govuk-link,.moj-alert--error .moj-alert__content a,.moj-alert--error .moj-alert__dismiss{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-alert--error .moj-alert__content .govuk-link,.moj-alert--error .moj-alert__content a,.moj-alert--error .moj-alert__dismiss{font-family:sans-serif}}.moj-alert--error .moj-alert__content .govuk-link:hover,.moj-alert--error .moj-alert__content a:hover,.moj-alert--error .moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert--error .moj-alert__content .govuk-link:focus,.moj-alert--error .moj-alert__content a:focus,.moj-alert--error .moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert--error .moj-alert__content .govuk-link:link,.moj-alert--error .moj-alert__content .govuk-link:visited,.moj-alert--error .moj-alert__content a:link,.moj-alert--error .moj-alert__content a:visited,.moj-alert--error .moj-alert__dismiss:link,.moj-alert--error .moj-alert__dismiss:visited{color:#d4351c}.moj-alert--error .moj-alert__content .govuk-link:hover,.moj-alert--error .moj-alert__content a:hover,.moj-alert--error .moj-alert__dismiss:hover{color:#942514}.moj-alert--error .moj-alert__content .govuk-link:active,.moj-alert--error .moj-alert__content a:active,.moj-alert--error .moj-alert__dismiss:active{color:#d4351c}.moj-alert--error .moj-alert__content .govuk-link:focus,.moj-alert--error .moj-alert__content a:focus,.moj-alert--error .moj-alert__dismiss:focus{color:#0b0c0c}.moj-badge{border:2px solid #1d70b8;color:#1d70b8;display:inline-block;font-family:GDS Transport,arial,sans-serif;outline:2px solid #0000;outline-offset:-2px;padding:0 5px;text-transform:uppercase;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.75rem;font-weight:700;line-height:1.25}@media print{.moj-badge{font-family:sans-serif}}@media (min-width:40.0625em){.moj-badge{font-size:.875rem;line-height:1.4285714286}}@media print{.moj-badge{font-size:12pt;line-height:1.2}}.moj-badge--purple{border-color:#4c2c92;color:#4c2c92}.moj-badge--bright-purple{border-color:#912b88;color:#912b88}.moj-badge--red{border-color:#d4351c;color:#d4351c}.moj-badge--green{border-color:#00703c;color:#00703c}.moj-badge--blue{border-color:#1d70b8;color:#1d70b8}.moj-badge--black{border-color:#0b0c0c;color:#0b0c0c}.moj-badge--grey{border-color:#505a5f;color:#505a5f}.moj-badge--large{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:700;line-height:1.1428571429}@media print{.moj-badge--large{font-family:sans-serif}}@media (min-width:40.0625em){.moj-badge--large{font-size:1rem;line-height:1.25}}@media print{.moj-badge--large{font-size:14pt;line-height:1.2}}.moj-banner{border:5px solid #1d70b8;color:#1d70b8;font-size:0;margin-bottom:30px;padding:10px}.moj-banner__icon{float:left;margin-right:10px;fill:currentcolor}.moj-banner__message{color:#0b0c0c;display:block;font-family:GDS Transport,arial,sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-banner__message{font-family:sans-serif}}@media (min-width:40.0625em){.moj-banner__message{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-banner__message{font-size:14pt;line-height:1.15}}.moj-banner__message h2{margin-bottom:10px}.moj-banner__message h2:last-child,.moj-banner__message p:last-child{margin-bottom:0}.moj-banner__assistive{height:1px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0 0 0 0)!important;border:0!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;-webkit-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap!important}.moj-banner__assistive:after,.moj-banner__assistive:before{content:" "}.moj-banner--success{border-color:#00703c;color:#00703c}.moj-banner--warning{border-color:#d4351c;color:#d4351c}.moj-button-menu{display:inline-block;position:relative}.moj-button-menu__single-button,.moj-button-menu__toggle-button{margin-bottom:0;vertical-align:initial}.moj-button-menu__toggle-button span{align-items:center;display:inline-flex;gap:8px}.moj-button-menu__toggle-button svg{margin-top:2px;transform:rotate(180deg)}.moj-button-menu__toggle-button[aria-expanded=true] svg{transform:rotate(0deg)}.moj-button-menu__wrapper{list-style:none;margin:5px 0 0;padding:0;z-index:10}.moj-button-menu__wrapper,.moj-button-menu__wrapper .moj-button-group--inline{position:absolute;width:200px}.moj-button-menu__wrapper--right{right:0}.moj-button-menu__item{display:inline-block;margin-bottom:10px;margin-right:10px;vertical-align:initial;width:auto}.moj-button-menu__item:last-child{margin-right:0}.moj-button-menu li>.moj-button-menu__item{-webkit-appearance:none;appearance:none;background-color:#f3f2f1;border:2px solid #0000;border-bottom:1px solid #949494;border-radius:0;box-sizing:border-box;color:#0b0c0c;cursor:pointer;display:inline-block;font-family:GDS Transport,arial,sans-serif;margin:0;padding:10px;position:relative;text-align:left;vertical-align:top;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.1875}@media print{.moj-button-menu li>.moj-button-menu__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-button-menu li>.moj-button-menu__item{font-size:1.1875rem;line-height:1}}@media print{.moj-button-menu li>.moj-button-menu__item{font-size:14pt;line-height:19px}}.moj-button-menu li>.moj-button-menu__item:active,.moj-button-menu li>.moj-button-menu__item:hover,.moj-button-menu li>.moj-button-menu__item:link,.moj-button-menu li>.moj-button-menu__item:visited{color:#0b0c0c;text-decoration:none}.moj-button-menu li>.moj-button-menu__item:active,.moj-button-menu li>.moj-button-menu__item:hover{color:#fff}.moj-button-menu li>.moj-button-menu__item::-moz-focus-inner{border:0;padding:0}.moj-button-menu li>.moj-button-menu__item:hover{background-color:#767676}.moj-button-menu li>.moj-button-menu__item:focus{border-color:#fd0;box-shadow:inset 0 0 0 1px #fd0;outline:3px solid #0000;z-index:10}.moj-button-menu li>.moj-button-menu__item:focus:not(:active):not(:hover){background-color:#fd0;border-color:#fd0;box-shadow:0 2px 0 #0b0c0c;color:#0b0c0c}.moj-cookie-banner{background-color:#fff;box-sizing:border-box;display:none;font-family:GDS Transport,arial,sans-serif;left:15px;padding-bottom:15px;padding-right:15px;padding-top:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-cookie-banner{font-family:sans-serif}}@media (min-width:40.0625em){.moj-cookie-banner{font-size:1rem;line-height:1.25}}@media print{.moj-cookie-banner{font-size:14pt;line-height:1.2}}.moj-cookie-banner--show{display:block!important}.moj-cookie-banner__message{margin:0 15px;max-width:960px}@media (min-width:40.0625em){.moj-cookie-banner__message{margin:0 30px}}@media (min-width:1020px){.moj-cookie-banner__message{margin:0 auto}}.moj-cookie-banner__buttons .govuk-grid-column-full{padding-left:0}@media (min-width:40.0625em){.moj-cookie-banner .govuk-button{width:90%}}@media print{.moj-cookie-banner{display:none!important}}.moj-label__currency{background-color:#f3f2f1;border-right:2px solid #0b0c0c;font-family:GDS Transport,arial,sans-serif;margin:2px 0 0 2px!important;padding:5.5px 12px;position:absolute;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-label__currency{font-family:sans-serif}}@media (min-width:40.0625em){.moj-label__currency{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-label__currency{font-size:14pt;line-height:1.15}}.moj-label__currency--error{background-color:#d4351c;border-right:2px solid #d4351c;color:#fff}@media (max-width:40.0525em){.moj-label__currency{padding:8px 12px}}.moj-input__currency{margin:0;padding-left:40px}.moj-datepicker{font-family:GDS Transport,arial,sans-serif;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-datepicker{font-family:sans-serif}}@media (min-width:40.0625em){.moj-datepicker{font-size:1rem;line-height:1.25}}@media print{.moj-datepicker{font-size:14pt;line-height:1.2}}.moj-datepicker__dialog{background-color:#fff;display:none;min-width:280px;outline:2px solid #0b0c0c;outline-offset:-2px;padding:20px;position:absolute;top:0;transition:background-color .2s,outline-color .2s;z-index:2}.moj-datepicker__dialog--open{display:block}.moj-datepicker__dialog-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px;position:relative}.moj-datepicker__dialog-title{font-family:GDS Transport,arial,sans-serif;font-weight:700;margin-bottom:0;margin-top:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-datepicker__dialog-title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-datepicker__dialog-title{font-size:1rem;line-height:1.25}}@media print{.moj-datepicker__dialog-title{font-size:14pt;line-height:1.2}}.moj-datepicker__dialog-navbuttons{align-items:center;display:flex}.moj-datepicker__calendar{border-collapse:collapse;margin-bottom:20px}.moj-datepicker__calendar tbody:focus-within{outline:2px solid #fd0}.moj-datepicker__calendar td{border:0;margin:0;outline:0;padding:0}.moj-datepicker__calendar th{color:#0b0c0c;font-family:GDS Transport,arial,sans-serif;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-datepicker__calendar th{font-family:sans-serif}}@media (min-width:40.0625em){.moj-datepicker__calendar th{font-size:1rem;line-height:1.25}}@media print{.moj-datepicker__calendar th{font-size:14pt;line-height:1.2}}.moj-datepicker__dialog>.govuk-button-group,.moj-datepicker__dialog>.govuk-button-group>*{margin-bottom:0}.moj-datepicker__button{background-color:initial;border-width:0;color:#0b0c0c;font-family:GDS Transport,arial,sans-serif;height:40px;margin:0;outline:2px solid #0000;outline-offset:-2px;padding:0;position:relative;width:44px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-datepicker__button{font-family:sans-serif}}@media (min-width:40.0625em){.moj-datepicker__button{font-size:1rem;line-height:1.25}}@media print{.moj-datepicker__button{font-size:14pt;line-height:1.2}}@media (forced-colors:active){.moj-datepicker__button:after{display:none}}.moj-datepicker__button:after{background-color:initial;bottom:0;content:"";height:4px;left:0;position:absolute;right:0}.moj-datepicker__button[aria-disabled=true],.moj-datepicker__button[aria-disabled=true]:hover{background-color:#f3f2f1;color:#0b0c0c;cursor:not-allowed;text-decoration:line-through}.moj-datepicker__button:hover{background-color:#949494;cursor:pointer;text-decoration:none}.moj-datepicker__button:focus,.moj-datepicker__button:hover{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#0b0c0c}.moj-datepicker__button:focus{background-color:#fd0;outline-color:#0000}.moj-datepicker__button:focus:after{background-color:#0b0c0c}.moj-datepicker__button:focus:hover{background-color:#949494;outline-color:#fd0}.moj-datepicker__button:focus:hover:after{background-color:initial}.moj-datepicker__button--current:not(:focus){background-color:#1d70b8;color:#fff;outline-color:#1d70b8}.moj-datepicker__button--current:not(:focus):after{background-color:#1d70b8}.moj-datepicker__button--current[tabindex="-1"]{background:#0000;color:currentcolor;outline-color:#0000}.moj-datepicker__button--current[tabindex="-1"]:after{background-color:initial}.moj-datepicker__button--today{border:2px solid #0b0c0c}.moj-datepicker__button--selected:not(:focus){background-color:#1d70b8;color:#fff}.moj-datepicker__button--selected:not(:focus):after{background-color:#1d70b8}.moj-datepicker__button--selected:not(:focus):hover{background-color:#949494;color:#0b0c0c;outline-color:#1d70b8}.moj-datepicker__button--selected:not(:focus):hover:after{background-color:initial}.moj-datepicker input{max-width:11.5em}.moj-datepicker input.govuk-input--width-30{max-width:29.5em}.moj-datepicker input.govuk-input--width-20{max-width:20.5em}.moj-datepicker input.govuk-\!-width-full,.moj-datepicker input.govuk-\!-width-three-quarters{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-three-quarters{width:75%!important}}.moj-datepicker input.govuk-\!-width-two-thirds{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-two-thirds{width:66.66%!important}}.moj-datepicker input.govuk-\!-width-one-half{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-one-half{width:50%!important}}.moj-datepicker input.govuk-\!-width-one-third{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-one-third{width:33.33%!important}}.moj-datepicker input.govuk-\!-width-one-quarter{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-one-quarter{width:25%!important}}.moj-datepicker__wrapper{position:relative}@media (min-width:768px){.moj-datepicker__dialog{width:auto}}.moj-datepicker__toggle{background-color:#0b0c0c;border:none;border-bottom:4px solid #0000;color:#fff;cursor:pointer;height:40px;outline:3px solid #0000;outline-offset:-3px;padding-top:6px}.moj-datepicker__toggle:focus{background-color:#fd0;border-bottom:4px solid #0b0c0c;color:#0b0c0c}.moj-datepicker__toggle:hover{background-color:#949494;border-bottom:4px solid #949494;color:#0b0c0c}.moj-datepicker__toggle:focus:hover{background-color:#949494;border-bottom:4px solid #0b0c0c;color:#0b0c0c}.moj-filter{background-color:#fff;box-shadow:inset 0 0 0 1px #b1b4b6}.moj-filter:focus{box-shadow:0 -2px #fd0,0 4px #0b0c0c}.moj-filter__header{background-color:#b1b4b6;font-size:0;padding:10px 20px;text-align:justify}.moj-filter__header:after{content:"";display:inline-block;width:100%}.moj-filter__header [class^=govuk-heading-]{margin-bottom:0}.moj-filter__legend{overflow:visible;width:100%}.moj-filter__legend button{appearance:none;-webkit-appearance:none;background-color:initial;border:0;border-radius:0;box-sizing:border-box;cursor:pointer;display:block;font-family:GDS Transport,arial,sans-serif;margin:0;padding:0;position:relative;text-align:left;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.125rem;font-weight:700;line-height:1.1111111111}@media print{.moj-filter__legend button{font-family:sans-serif}}@media (min-width:40.0625em){.moj-filter__legend button{font-size:1.5rem;line-height:1.25}}@media print{.moj-filter__legend button{font-size:18pt;line-height:1.15}}.moj-filter__legend button::-moz-focus-inner{border:0;padding:0}.moj-filter__legend button:after{background-image:url(/assets/images/icon-toggle-plus-minus.svg);background-position:0 0;content:"";display:block;height:16px;margin-top:-8px;position:absolute;right:0;top:50%;width:16px}.moj-filter__legend button[aria-expanded=true]:after{background-position:16px 16px}.moj-filter__header-action,.moj-filter__header-title{display:inline-block;text-align:left;vertical-align:middle}.moj-filter__close{-webkit-appearance:none;appearance:none;background-color:initial;border:none;border-radius:0;color:#0b0c0c;cursor:pointer;font-family:GDS Transport,arial,sans-serif;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-filter__close{font-family:sans-serif}}@media (min-width:40.0625em){.moj-filter__close{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-filter__close{font-size:14pt;line-height:1.15}}.moj-filter__close:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none}.moj-filter__close::-moz-focus-inner{border:0;padding:0}.moj-filter__close:before{background-image:url(/assets/images/icon-close-cross-black.svg);content:"";display:inline-block;height:14px;margin-right:5px;position:relative;top:-1px;vertical-align:middle;width:14px}.moj-filter__selected{background-color:#f3f2f1;box-shadow:inset 0 0 0 1px #b1b4b6;padding:20px}.moj-filter__selected ul:last-of-type{margin-bottom:0}.moj-filter__selected-heading{font-size:0;text-align:justify}.moj-filter__selected-heading:after{content:"";display:inline-block;width:100%}.moj-filter__heading-action,.moj-filter__heading-title{display:inline-block;font-family:GDS Transport,arial,sans-serif;text-align:left;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-filter__heading-action,.moj-filter__heading-title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-filter__heading-action,.moj-filter__heading-title{font-size:1rem;line-height:1.25}}@media print{.moj-filter__heading-action,.moj-filter__heading-title{font-size:14pt;line-height:1.2}}.moj-filter-tags{font-size:0;margin-bottom:20px;padding-left:0}.moj-filter-tags li{display:inline-block;margin-right:10px}.moj-filter__tag{background-color:#fff;border:1px solid #0b0c0c;color:#0b0c0c;display:inline-block;font-family:GDS Transport,arial,sans-serif;margin-top:5px;padding:5px;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-filter__tag{font-family:sans-serif}}@media (min-width:40.0625em){.moj-filter__tag{font-size:1rem;line-height:1.25}}@media print{.moj-filter__tag{font-size:14pt;line-height:1.2}}.moj-filter__tag:link,.moj-filter__tag:visited{color:#0b0c0c}.moj-filter__tag:focus{background-color:#fd0;color:#0b0c0c}.moj-filter__tag:hover{background-color:#0b0c0c;color:#fff}.moj-filter__tag:after{background-image:url(/assets/images/icon-tag-remove-cross.svg);content:"";display:inline-block;font-weight:700;height:10px;margin-left:5px;vertical-align:middle;width:10px}.moj-filter__tag:hover:after{background-image:url(/assets/images/icon-tag-remove-cross-white.svg)}.moj-filter__options{box-shadow:inset 0 0 0 1px #b1b4b6;margin-top:-1px;padding:20px}.moj-filter__options div:last-of-type{margin-bottom:0}.moj-header{background-color:#0b0c0c;border-bottom:10px solid #1d70b8;padding-top:15px}.moj-header__container{margin:0 15px;max-width:960px;position:relative}@media (min-width:40.0625em){.moj-header__container{margin:0 30px}}@media (min-width:1020px){.moj-header__container{margin:0 auto}}.moj-header__container:after{clear:both;content:"";display:block}.moj-header__logo{padding-bottom:5px}@media (min-width:48.0625em){.moj-header__logo{float:left}}.moj-header__logotype-crown{margin-right:5px;position:relative;top:-4px;vertical-align:top}.moj-header__logotype-crest{margin-right:5px;position:relative;top:-8px;vertical-align:top}.moj-header__content{padding-bottom:10px}@media (min-width:48.0625em){.moj-header__content{float:right}}.moj-header__link,.moj-header__link>a{border-bottom:1px solid #0000;color:#fff;display:inline-block;font-family:GDS Transport,arial,sans-serif;line-height:25px;margin-bottom:-1px;overflow:hidden;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-header__link,.moj-header__link>a{font-family:sans-serif}}.moj-header__link:hover,.moj-header__link>a:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-header__link:focus,.moj-header__link>a:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-header__link:link,.moj-header__link>a:link{color:#1d70b8}.moj-header__link:visited,.moj-header__link>a:visited{color:#4c2c92}.moj-header__link:hover,.moj-header__link>a:hover{color:#003078}.moj-header__link:active,.moj-header__link>a:active{color:#0b0c0c}.moj-header__link:active,.moj-header__link:hover,.moj-header__link:link,.moj-header__link:visited,.moj-header__link>a:active,.moj-header__link>a:hover,.moj-header__link>a:link,.moj-header__link>a:visited{color:#fff;text-decoration:none}.moj-header__link:hover,.moj-header__link>a:hover{border-color:#fff}.moj-header__link:focus,.moj-header__link>a:focus{border-color:#0000;color:#0b0c0c}.moj-header__link--organisation-name,.moj-header__link>a--organisation-name{font-family:GDS Transport,arial,sans-serif;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.125rem;font-weight:700;line-height:1.1111111111}@media print{.moj-header__link--organisation-name,.moj-header__link>a--organisation-name{font-family:sans-serif}}@media (min-width:40.0625em){.moj-header__link--organisation-name,.moj-header__link>a--organisation-name{font-size:1.5rem;line-height:1.25}}@media print{.moj-header__link--organisation-name,.moj-header__link>a--organisation-name{font-size:18pt;line-height:1.15}}.moj-header__link--organisation-name:hover,.moj-header__link>a--organisation-name:hover{border-color:#0000}.moj-header__link--service-name,.moj-header__link>a--service-name{font-family:GDS Transport,arial,sans-serif;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.125rem;line-height:1.1111111111}@media print{.moj-header__link--service-name,.moj-header__link>a--service-name{font-family:sans-serif}}@media (min-width:40.0625em){.moj-header__link--service-name,.moj-header__link>a--service-name{font-size:1.5rem;line-height:1.25}}@media print{.moj-header__link--service-name,.moj-header__link>a--service-name{font-size:18pt;line-height:1.15}}@media (max-width:48.0525em){.moj-header__link--service-name,.moj-header__link>a--service-name{display:block}}@media (min-width:48.0625em){.moj-header__link--service-name,.moj-header__link>a--service-name{margin-left:5px}}.moj-header__link--service-name:hover,.moj-header__link>a--service-name:hover{border-color:#0000}.moj-header__link a{margin-bottom:1px;vertical-align:text-bottom}.moj-header__link a:hover{border-color:#fff}@media (max-width:48.0525em){.moj-header__link a{margin-bottom:-1px;vertical-align:middle}}span.moj-header__link:hover{border-color:#0000}.moj-header__navigation{color:#fff;margin-top:3px}.moj-header__navigation-list{font-size:0;list-style:none;margin:0;padding:0}.moj-header__navigation-item{display:inline-block;font-family:GDS Transport,arial,sans-serif;margin-right:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-header__navigation-item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-header__navigation-item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-header__navigation-item{font-size:14pt;line-height:1.15}}.moj-header__navigation-item:last-child{margin-right:0}.moj-header__navigation-link{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-header__navigation-link{font-family:sans-serif}}.moj-header__navigation-link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-header__navigation-link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-header__navigation-link:link{color:#1d70b8}.moj-header__navigation-link:visited{color:#4c2c92}.moj-header__navigation-link:hover{color:#003078}.moj-header__navigation-link:active{color:#0b0c0c}.moj-header__navigation-link:active,.moj-header__navigation-link:link,.moj-header__navigation-link:visited{color:inherit;text-decoration:none}.moj-header__navigation-link:hover{text-decoration:underline!important}.moj-header__navigation-link:focus{color:#0b0c0c}.moj-header__navigation-link[aria-current=page]{text-decoration:none}.moj-identity-bar{background-color:#fff;box-shadow:inset 0 -1px 0 0 #b1b4b6;color:#0b0c0c;padding-bottom:9px;padding-top:10px}.moj-identity-bar:after{clear:both;content:"";display:block}.moj-identity-bar__container{font-size:0;margin:0 15px;max-width:960px;text-align:justify}@media (min-width:40.0625em){.moj-identity-bar__container{margin:0 30px}}@media (min-width:1020px){.moj-identity-bar__container{margin:0 auto}}.moj-identity-bar__container:after{content:"";display:inline-block;width:100%}.moj-identity-bar__title{display:inline-block;font-family:GDS Transport,arial,sans-serif;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-identity-bar__title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-identity-bar__title{font-size:1rem;line-height:1.25}}@media print{.moj-identity-bar__title{font-size:14pt;line-height:1.2}}.moj-identity-bar__details{margin-right:10px;padding-bottom:5px;padding-top:5px}@media (min-width:40.0625em){.moj-identity-bar__details{display:inline-block;padding-bottom:9px;padding-top:11px;vertical-align:top}.moj-identity-bar__actions{display:inline-block;vertical-align:middle}}.moj-identity-bar__menu{display:inline-block;margin-right:10px}.moj-identity-bar__menu:last-child{margin-right:0}.moj-identity-bar__menu .moj-button-menu__toggle-button{margin-bottom:0}.moj-interruption-card{background-color:#1d70b8;border:5px solid #0000;margin-bottom:15px;padding:20px}@media (min-width:40.0625em){.moj-interruption-card{padding:35px}}.moj-interruption-card__content{max-width:960px}.moj-interruption-card__body,.moj-interruption-card__heading{color:#fff}.moj-interruption-card__body>*{color:#fff;font-size:1.125rem;line-height:1.1111111111}@media (min-width:40.0625em){.moj-interruption-card__body>*{font-size:1.5rem;line-height:1.25}}@media print{.moj-interruption-card__body>*{font-size:18pt;line-height:1.15}}.moj-interruption-card__actions:last-child,.moj-interruption-card__actions:last-child .govuk-button:last-child,.moj-interruption-card__actions:last-child .govuk-link:last-child,.moj-interruption-card__body:last-child{margin-bottom:0}@media (min-width:40.0625em){.moj-interruption-card__actions:last-child .govuk-button,.moj-interruption-card__actions:last-child .govuk-link{margin-bottom:0}}.moj-messages-container{border:1px solid #b1b4b6;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-messages-container{font-family:sans-serif}}@media (min-width:40.0625em){.moj-messages-container{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-messages-container{font-size:14pt;line-height:1.15}}.moj-message-list{min-height:200px;overflow-x:hidden;overflow-y:scroll;padding:5px}.moj-message-list__date{color:#505a5f;display:inline-block;font-family:GDS Transport,arial,sans-serif;padding:15px 0;text-align:center;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-message-list__date{font-family:sans-serif}}@media (min-width:40.0625em){.moj-message-list__date{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-message-list__date{font-size:14pt;line-height:1.15}}.moj-message-item{border-radius:.5em .5em .75em;margin-bottom:5px;padding:15px;position:relative}@media (min-width:40.0625em){.moj-message-item{width:50%}}.moj-message-item--sent{background-color:#1d70b8;color:#fff;float:right;margin-right:10px;padding-right:25px;text-align:right}.moj-message-item--sent:after{border-bottom-left-radius:1.75em 1.5em;border-left:1em solid #1d70b8;bottom:0;content:"";height:1.5em;position:absolute;right:-1.5em;width:1.5em}.moj-message-item--received{background-color:#f3f2f1;float:left;margin-left:10px;padding-left:25px}.moj-message-item--received:after{border-bottom-right-radius:1.75em 1.5em;border-right:1em solid #f3f2f1;bottom:0;content:"";height:1.5em;left:-1.5em;position:absolute;width:1.5em}.moj-message-item a:link,.moj-message-item a:visited{color:#fff}.moj-message-item a:focus{color:#0b0c0c}.moj-message-item__text--sent table{color:#fff}.moj-message-item__text--sent table td,.moj-message-item__text--sent table th{border-bottom:1px solid #fff}.moj-message-item__meta{margin-top:10px}.moj-message-item__meta--sender{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:700;line-height:1.1428571429}@media print{.moj-message-item__meta--sender{font-family:sans-serif}}@media (min-width:40.0625em){.moj-message-item__meta--sender{font-size:1rem;line-height:1.25}}@media print{.moj-message-item__meta--sender{font-size:14pt;line-height:1.2}}.moj-message-item__meta--timestamp{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:700;line-height:1.1428571429}@media print{.moj-message-item__meta--timestamp{font-family:sans-serif}}@media (min-width:40.0625em){.moj-message-item__meta--timestamp{font-size:1rem;line-height:1.25}}@media print{.moj-message-item__meta--timestamp{font-size:14pt;line-height:1.2}}.moj-multi-file-upload{margin-bottom:40px}.moj-multi-file-upload--enhanced .moj-multi-file-upload__button{display:none}.moj-multi-file-upload__dropzone{display:flex;outline:3px dashed #0b0c0c;padding:60px 15px;text-align:center;transition:outline-offset .1s ease-in-out,background-color .1s linear}.moj-multi-file-upload__dropzone label{display:inline-block;margin-bottom:0;width:auto}.moj-multi-file-upload__dropzone p{margin-bottom:0;margin-right:10px;padding-top:7px}.moj-multi-file-upload__dropzone [type=file]{left:-9999em;position:absolute}.moj-multi-file-upload--dragover{background:#b1b4b6;outline-color:#6f777b}.moj-multi-file-upload--focused{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none}.moj-multi-file-upload__error{color:#d4351c;font-weight:700}.moj-multi-file-upload__success{color:#00703c;font-weight:700}.moj-multi-file-upload__error svg,.moj-multi-file-upload__success svg{float:left;margin-right:10px;fill:currentcolor}.moj-multi-select__checkbox{display:inline-block;padding-left:0}.moj-multi-select__toggle-label{margin:0!important;padding:0!important}.moj-notification-badge{background-color:#d4351c;border-radius:75px;color:#fff;display:inline-block;font-family:GDS Transport,arial,sans-serif;font-weight:600;min-width:15px;padding:5px 8px 2px;text-align:center;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:700;line-height:1.1428571429}@media print{.moj-notification-badge{font-family:sans-serif}}@media (min-width:40.0625em){.moj-notification-badge{font-size:1rem;line-height:1.25}}@media print{.moj-notification-badge{font-size:14pt;line-height:1.2}}.moj-organisation-nav{border-bottom:1px solid #b1b4b6;margin-bottom:15px;margin-top:10px;padding-bottom:5px}.moj-organisation-nav:after{clear:both;content:"";display:block}.moj-organisation-nav__title{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-organisation-nav__title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-organisation-nav__title{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-organisation-nav__title{font-size:14pt;line-height:1.15}}@media (min-width:40.0625em){.moj-organisation-nav__title{float:left;width:75%}}.moj-organisation-nav__link{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-organisation-nav__link{font-family:sans-serif}}.moj-organisation-nav__link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-organisation-nav__link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-organisation-nav__link:link{color:#1d70b8}.moj-organisation-nav__link:visited{color:#4c2c92}.moj-organisation-nav__link:hover{color:#003078}.moj-organisation-nav__link:active,.moj-organisation-nav__link:focus{color:#0b0c0c}@media print{.moj-organisation-nav__link[href^="/"]:after,.moj-organisation-nav__link[href^="http://"]:after,.moj-organisation-nav__link[href^="https://"]:after{content:" (" attr(href) ")";font-size:90%;word-wrap:break-word}}@media (min-width:40.0625em){.moj-organisation-nav__link{float:right}}.moj-page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:40px;min-height:40px}.moj-page-header-actions__actions .govuk-button,.moj-page-header-actions__actions .moj-button-group,.moj-page-header-actions__title [class^=govuk-heading-]{margin-bottom:0}@media (min-width:48.0625em){.moj-pagination{font-size:0;margin-left:-5px;margin-right:-5px;text-align:justify}.moj-pagination:after{content:"";display:inline-block;width:100%}}.moj-pagination__list{list-style:none;margin:0;padding:0}@media (min-width:48.0625em){.moj-pagination__list{display:inline-block;margin-bottom:0;vertical-align:middle}}.moj-pagination__results{font-family:GDS Transport,arial,sans-serif;margin-top:0;padding:5px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-pagination__results{font-family:sans-serif}}@media (min-width:40.0625em){.moj-pagination__results{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-pagination__results{font-size:14pt;line-height:1.15}}@media (min-width:48.0625em){.moj-pagination__results{display:inline-block;margin-bottom:0;vertical-align:middle}}.moj-pagination__item{display:inline-block;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-pagination__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-pagination__item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-pagination__item{font-size:14pt;line-height:1.15}}.moj-pagination__item--active,.moj-pagination__item--dots{font-weight:700;height:25px;padding:5px 10px;text-align:center}.moj-pagination__item--dots{padding-left:0;padding-right:0}.moj-pagination__item--next .moj-pagination__link:after,.moj-pagination__item--prev .moj-pagination__link:before{background:#0000;border-style:solid;color:#0b0c0c;content:"";display:inline-block;height:10px;transform:rotate(-45deg);width:10px}.moj-pagination__item--prev .moj-pagination__link:before{border-width:3px 0 0 3px;margin-right:5px}.moj-pagination__item--next .moj-pagination__link:after{border-width:0 3px 3px 0;margin-left:5px}.moj-pagination__link{display:block;font-family:GDS Transport,arial,sans-serif;min-width:25px;padding:5px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-pagination__link{font-family:sans-serif}}.moj-pagination__link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-pagination__link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-pagination__link:link{color:#1d70b8}.moj-pagination__link:visited{color:#4c2c92}.moj-pagination__link:hover{color:#003078}.moj-pagination__link:active{color:#0b0c0c}.moj-pagination__link:active,.moj-pagination__link:hover,.moj-pagination__link:link,.moj-pagination__link:visited{text-decoration:none}.moj-pagination__link:link,.moj-pagination__link:visited{color:#1d70b8}.moj-pagination__link:hover{color:#5694ca}.moj-pagination__link:focus{color:#0b0c0c}.moj-password-reveal__wrapper{display:flex}.moj-password-reveal__input{margin-right:5px}.moj-password-reveal__button{width:80px}.moj-primary-navigation{background-color:#f3f2f1}.moj-primary-navigation__container{font-size:0;margin:0 15px;max-width:960px;text-align:justify}@media (min-width:40.0625em){.moj-primary-navigation__container{margin:0 30px}}@media (min-width:1020px){.moj-primary-navigation__container{margin:0 auto}}.moj-primary-navigation__container:after{content:"";display:inline-block;width:100%}.moj-primary-navigation__nav{text-align:left}@media (min-width:48.0625em){.moj-primary-navigation__nav{display:inline-block;vertical-align:middle}}.moj-primary-navigation__list{font-size:0;list-style:none;margin:0;padding:0}.moj-primary-navigation__item{display:inline-block;font-family:GDS Transport,arial,sans-serif;margin-right:20px;margin-top:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-primary-navigation__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-primary-navigation__item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-primary-navigation__item{font-size:14pt;line-height:1.15}}.moj-primary-navigation__item:last-child{margin-right:0}.moj-primary-navigation__link{display:block;font-family:GDS Transport,arial,sans-serif;font-weight:700;padding-bottom:15px;padding-top:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-primary-navigation__link{font-family:sans-serif}}.moj-primary-navigation__link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-primary-navigation__link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-primary-navigation__link:link{color:#1d70b8}.moj-primary-navigation__link:visited{color:#4c2c92}.moj-primary-navigation__link:active{color:#0b0c0c}.moj-primary-navigation__link:active,.moj-primary-navigation__link:hover,.moj-primary-navigation__link:link,.moj-primary-navigation__link:visited{text-decoration:none}.moj-primary-navigation__link:link,.moj-primary-navigation__link:visited{color:#1d70b8}.moj-primary-navigation__link:hover{color:#003078}.moj-primary-navigation__link:focus{box-shadow:none;color:#0b0c0c;position:relative;z-index:1}.moj-primary-navigation__link:focus:before{background-color:#0b0c0c;bottom:0;content:"";display:block;height:5px;left:0;position:absolute;width:100%}.moj-primary-navigation__link[aria-current]{color:#1d70b8;font-weight:700;position:relative;text-decoration:none}.moj-primary-navigation__link[aria-current]:before{background-color:#1d70b8;bottom:0;content:"";display:block;height:5px;left:0;position:absolute;width:100%}.moj-primary-navigation__link[aria-current]:hover{color:#003078}.moj-primary-navigation__link[aria-current]:hover:before{background-color:#003078}.moj-primary-navigation__link[aria-current]:focus{border:none;color:#0b0c0c;position:relative}.moj-primary-navigation__link[aria-current]:focus:before{background-color:#0b0c0c}@media (min-width:48.0625em){.moj-primary-navigation__search{display:inline-block;vertical-align:middle}}.moj-progress-bar{margin-bottom:40px}.moj-progress-bar__list{font-size:0;list-style:none;margin:0;padding:0;position:relative;text-align:justify;vertical-align:top}.moj-progress-bar__list:after{content:"";display:inline-block;width:100%}.moj-progress-bar__list:before{border-top:6px solid #00703c;content:"";left:0;position:absolute;top:13px;width:100%}.moj-progress-bar__item{display:inline-block;font-family:GDS Transport,arial,sans-serif;max-width:20%;position:relative;text-align:center;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-progress-bar__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-progress-bar__item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-progress-bar__item{font-size:14pt;line-height:1.15}}.moj-progress-bar__item:first-child:before,.moj-progress-bar__item:last-child:before{border-top:6px solid #fff;content:"";left:0;position:absolute;top:13px;width:50%}.moj-progress-bar__item:first-child:before{left:0}.moj-progress-bar__item:last-child:before{left:auto;right:0}.moj-progress-bar__item[aria-current=step]{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-progress-bar__item[aria-current=step]{font-family:sans-serif}}@media (min-width:40.0625em){.moj-progress-bar__item[aria-current=step]{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-progress-bar__item[aria-current=step]{font-size:14pt;line-height:1.15}}.moj-progress-bar__icon{background-color:#fff;border:6px solid #00703c;border-radius:50%;box-sizing:border-box;display:block;height:32px;margin-left:auto;margin-right:auto;position:relative;width:32px}.moj-progress-bar__icon--complete{background-color:#00703c;background-image:url(/assets/images/icon-progress-tick.svg);background-position:50% 50%;background-repeat:no-repeat}.moj-progress-bar__label{display:block;font-weight:inherit;margin-top:15px;position:relative;word-wrap:break-word;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-progress-bar__label{font-family:sans-serif}}@media (min-width:40.0625em){.moj-progress-bar__label{font-size:1rem;line-height:1.25}}@media print{.moj-progress-bar__label{font-size:14pt;line-height:1.2}}.moj-rich-text-editor__toolbar{margin-bottom:10px}.moj-rich-text-editor__toolbar:after{clear:both;content:"";display:block}.moj-rich-text-editor__toolbar-button{background-color:#fff;background-position:50% 50%;background-repeat:no-repeat;background-size:40px 40px;border:2px solid #0b0c0c;color:#0b0c0c;cursor:pointer;float:left;height:40px;margin-left:-2px;outline:0;text-decoration:none;vertical-align:top;width:40px}.moj-rich-text-editor__toolbar-button:first-child{margin-left:0}.moj-rich-text-editor__toolbar-button::-moz-focus-inner{border:0;padding:0}.moj-rich-text-editor__toolbar-button:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none;position:relative;z-index:2}.moj-rich-text-editor__toolbar-button--bold{background-image:url(/assets/images/icon-wysiwyg-bold.svg)}.moj-rich-text-editor__toolbar-button--italic{background-image:url(/assets/images/icon-wysiwyg-italic.svg)}.moj-rich-text-editor__toolbar-button--underline{background-image:url(/assets/images/icon-wysiwyg-underline.svg)}.moj-rich-text-editor__toolbar-button--unordered-list{background-image:url(/assets/images/icon-wysiwyg-unordered-list.svg);margin-left:10px}.moj-rich-text-editor__toolbar-button--ordered-list{background-image:url(/assets/images/icon-wysiwyg-ordered-list.svg)}.moj-rich-text-editor__content{min-height:130px;outline:none;overflow:auto;resize:vertical}.moj-search-toggle__button{-webkit-appearance:none;appearance:none;background-color:initial;border:none;color:#1d70b8;cursor:pointer;display:inline-block;font-family:GDS Transport,arial,sans-serif;padding:12px 0 13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-search-toggle__button{font-family:sans-serif}}@media (min-width:40.0625em){.moj-search-toggle__button{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-search-toggle__button{font-size:14pt;line-height:1.15}}.moj-search-toggle__button__icon{display:inline-block;height:20px;margin-left:10px;width:20px;fill:currentcolor;vertical-align:middle}@media screen and (forced-colors:active){.moj-search-toggle__button__icon{fill:windowText}}.moj-search-toggle__button:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none;position:relative;z-index:1}.moj-search--toggle{padding:15px}@media (max-width:48.0525em){.moj-search--toggle{padding-left:0!important;padding-right:0!important}.js-enabled .moj-search--toggle{padding-top:0!important}}.js-enabled .moj-search-toggle{position:relative}.js-enabled .moj-search-toggle__search{background-color:#f3f2f1}@media (min-width:48.0625em){.js-enabled .moj-search-toggle__search{max-width:450px;position:absolute;right:-15px;top:50px;width:450px;z-index:10}}.moj-search{font-size:0}.moj-search form{align-items:flex-end;display:flex}.moj-search .govuk-form-group{display:inline-block;flex:1;margin-bottom:0;vertical-align:top}.moj-search__hint,.moj-search__label{text-align:left}.moj-search__input:focus{position:relative;z-index:1}.moj-search__button{display:inline-block;margin-bottom:0;margin-left:10px;position:relative;top:-2px;vertical-align:bottom;width:auto}.moj-search--inline{padding:10px 0!important}@media (min-width:48.0625em){.moj-search--inline{padding:0!important}}.moj-side-navigation{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-side-navigation{font-family:sans-serif}}@media (min-width:40.0625em){.moj-side-navigation{font-size:1rem;line-height:1.25}}@media print{.moj-side-navigation{font-size:14pt;line-height:1.2}}@media (max-width:40.0525em){.moj-side-navigation{display:flex;overflow-x:scroll}}@media (min-width:40.0625em){.moj-side-navigation{display:block;padding:20px 0 0}}.moj-side-navigation__title{color:#505a5f;font-family:GDS Transport,arial,sans-serif;margin:0;padding:10px 10px 10px 14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-side-navigation__title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-side-navigation__title{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-side-navigation__title{font-size:14pt;line-height:1.15}}@media (max-width:40.0525em){.moj-side-navigation__title{display:none}}.moj-side-navigation__list{list-style:none;margin:0;padding:0}@media (max-width:40.0525em){.moj-side-navigation__list{display:flex;margin:0;white-space:nowrap}}@media (min-width:40.0625em){.moj-side-navigation__list{margin-bottom:20px}}@media (max-width:40.0525em){.moj-side-navigation__item{display:flex}}.moj-side-navigation__item a,.moj-side-navigation__item a:link,.moj-side-navigation__item a:visited{background-color:inherit;color:#1d70b8;display:block;text-decoration:none}@media (max-width:40.0525em){.moj-side-navigation__item a,.moj-side-navigation__item a:link,.moj-side-navigation__item a:visited{border-bottom:4px solid #0000;padding:15px 15px 11px}}@media (min-width:40.0625em){.moj-side-navigation__item a,.moj-side-navigation__item a:link,.moj-side-navigation__item a:visited{background-color:inherit;border-left:4px solid #0000;padding:10px}}.moj-side-navigation__item a:hover{color:#003078}.moj-side-navigation__item a:focus{background-color:#fd0;border-color:#0b0c0c;color:#0b0c0c;position:relative}.moj-side-navigation__item--active a:link,.moj-side-navigation__item--active a:visited{border-color:#1d70b8;color:#1d70b8;font-weight:700}.moj-side-navigation__item--active a:hover{border-color:#003078;color:#003078}.moj-side-navigation__item--active a:focus{background-color:#fd0;border-color:#0b0c0c;color:#0b0c0c}@media (min-width:40.0625em){.moj-side-navigation__item--active a:link,.moj-side-navigation__item--active a:visited{background-color:#f3f2f1}.moj-side-navigation__item--active a:focus{background-color:#fd0;color:#0b0c0c}}[aria-sort] button,[aria-sort] button:hover{align-items:center;background-color:initial;border-width:0;box-shadow:0 0 0 0;color:#005ea5;cursor:pointer;display:inline-flex;font-family:inherit;font-size:inherit;font-size:1em;font-weight:inherit;margin:0;padding:0;position:relative;text-align:inherit}[aria-sort] button:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none}.moj-sub-navigation{margin-bottom:40px}.moj-sub-navigation__list{font-size:0;list-style:none;margin:0;padding:0}@media (min-width:40.0625em){.moj-sub-navigation__list{box-shadow:inset 0 -1px 0 #b1b4b6;width:100%}}.moj-sub-navigation__item{box-shadow:inset 0 -1px 0 #b1b4b6;display:block;font-family:GDS Transport,arial,sans-serif;margin-top:-1px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-sub-navigation__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-sub-navigation__item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-sub-navigation__item{font-size:14pt;line-height:1.15}}.moj-sub-navigation__item:last-child{box-shadow:none}@media (min-width:40.0625em){.moj-sub-navigation__item{box-shadow:none;display:inline-block;margin-right:20px;margin-top:0}}.moj-sub-navigation__link{display:block;font-family:GDS Transport,arial,sans-serif;padding-bottom:12px;padding-left:15px;padding-top:12px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-sub-navigation__link{font-family:sans-serif}}.moj-sub-navigation__link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-sub-navigation__link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-sub-navigation__link:link{color:#1d70b8}.moj-sub-navigation__link:visited{color:#4c2c92}.moj-sub-navigation__link:active{color:#0b0c0c}@media (min-width:40.0625em){.moj-sub-navigation__link{padding-left:0}}.moj-sub-navigation__link:active,.moj-sub-navigation__link:hover,.moj-sub-navigation__link:link,.moj-sub-navigation__link:visited{text-decoration:none}.moj-sub-navigation__link:link,.moj-sub-navigation__link:visited{color:#1d70b8}.moj-sub-navigation__link:hover{color:#003078}.moj-sub-navigation__link:focus{box-shadow:none;color:#0b0c0c;position:relative}.moj-sub-navigation__link:focus:before{background-color:#0b0c0c;bottom:0;content:"";display:block;height:100%;left:0;position:absolute;width:5px}@media (min-width:40.0625em){.moj-sub-navigation__link:focus:before{height:5px;width:100%}}.moj-sub-navigation__link[aria-current=page]{color:#0b0c0c;position:relative;text-decoration:none}.moj-sub-navigation__link[aria-current=page]:before{background-color:#1d70b8;bottom:0;content:"";display:block;height:100%;left:0;position:absolute;width:5px}@media (min-width:40.0625em){.moj-sub-navigation__link[aria-current=page]:before{height:5px;width:100%}}.moj-sub-navigation__link[aria-current=page]:hover{color:#003078}.moj-sub-navigation__link[aria-current=page]:focus:before{background-color:#0b0c0c}.moj-tag{background-color:#1d70b8;border:2px solid #1d70b8;color:#fff}.moj-tag--purple{background-color:#4c2c92;border:2px solid #4c2c92;color:#fff}.moj-tag--bright-purple{background-color:#912b88;border:2px solid #912b88;color:#fff}.moj-tag--error,.moj-tag--red{background-color:#d4351c;border:2px solid #d4351c;color:#fff}.moj-tag--green,.moj-tag--success{background-color:#00703c;border:2px solid #00703c;color:#fff}.moj-tag--blue,.moj-tag--information{background-color:#1d70b8;border:2px solid #1d70b8;color:#fff}.moj-tag--black{background-color:#0b0c0c;border:2px solid #0b0c0c;color:#fff}.moj-tag--grey{background-color:#505a5f;border:2px solid #505a5f;color:#fff}.moj-task-list{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:0}@media (min-width:40.0625em){.moj-task-list{min-width:550px}}.moj-task-list__section{display:table;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.125rem;font-weight:700;line-height:1.1111111111}@media print{.moj-task-list__section{font-family:sans-serif}}@media (min-width:40.0625em){.moj-task-list__section{font-size:1.5rem;line-height:1.25}}@media print{.moj-task-list__section{font-size:18pt;line-height:1.15}}.moj-task-list__section-number{display:table-cell}@media (min-width:40.0625em){.moj-task-list__section-number{min-width:30px;padding-right:0}}.moj-task-list__items{font-family:GDS Transport,arial,sans-serif;list-style:none;padding-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25;margin-bottom:40px}@media print{.moj-task-list__items{font-family:sans-serif}}@media (min-width:40.0625em){.moj-task-list__items{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-task-list__items{font-size:14pt;line-height:1.15}}@media (min-width:40.0625em){.moj-task-list__items{margin-bottom:60px;padding-left:30px}}.moj-task-list__item{border-bottom:1px solid #b1b4b6;margin-bottom:0!important;padding-bottom:10px;padding-top:10px}.moj-task-list__item:after{clear:both;content:"";display:block}.moj-task-list__item:first-child{border-top:1px solid #b1b4b6}.moj-task-list__task-name{display:block}@media (min-width:28.125em){.moj-task-list__task-name{float:left;width:75%}}.moj-task-list__task-completed{margin-bottom:5px;margin-top:10px}@media (min-width:28.125em){.moj-task-list__task-completed{float:right;margin-bottom:0;margin-top:0}}.moj-timeline{margin-bottom:20px;overflow:hidden;position:relative}.moj-timeline:before{background-color:#1d70b8;content:"";height:100%;left:0;position:absolute;top:10px;width:5px}.moj-timeline--full{margin-bottom:0}.moj-timeline--full:before{height:calc(100% - 75px)}.moj-timeline__item{padding-bottom:30px;padding-left:20px;position:relative}.moj-timeline__item:before{background-color:#1d70b8;content:"";height:5px;left:0;position:absolute;top:10px;width:15px}.moj-timeline__title{display:inline;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-timeline__title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-timeline__title{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-timeline__title{font-size:14pt;line-height:1.15}}.moj-timeline__byline{color:#505a5f;display:inline;font-family:GDS Transport,arial,sans-serif;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-timeline__byline{font-family:sans-serif}}@media (min-width:40.0625em){.moj-timeline__byline{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-timeline__byline{font-size:14pt;line-height:1.15}}.moj-timeline__date{font-family:GDS Transport,arial,sans-serif;margin-bottom:0;margin-top:5px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-timeline__date{font-family:sans-serif}}@media (min-width:40.0625em){.moj-timeline__date{font-size:1rem;line-height:1.25}}@media print{.moj-timeline__date{font-size:14pt;line-height:1.2}}.moj-timeline__description{font-family:GDS Transport,arial,sans-serif;margin-top:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-timeline__description{font-family:sans-serif}}@media (min-width:40.0625em){.moj-timeline__description{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-timeline__description{font-size:14pt;line-height:1.15}}.moj-timeline__documents{list-style:none;margin-bottom:0;padding-left:0}.moj-timeline__document-item{margin-bottom:5px}.moj-timeline__document-item:last-child{margin-bottom:0}.moj-timeline__document-icon{float:left;margin-right:4px;margin-top:4px;fill:currentcolor}@media screen and (forced-colors:active){.moj-timeline__document-icon{fill:linkText}}.moj-timeline__document-link{background-image:url(/assets/images/icon-document.svg);background-position:0 50%;background-repeat:no-repeat;background-size:20px 16px;padding-left:25px}.moj-timeline__document-link:focus{color:#0b0c0c}.moj-ticket-panel{display:block;flex-wrap:wrap;margin-right:0}@media (min-width:48.0625em){.moj-ticket-panel--inline{display:flex;flex-wrap:nowrap}.moj-ticket-panel--inline>*+*{margin-left:15px}}.moj-ticket-panel__content :last-child{margin-bottom:0}.moj-ticket-panel__content{background-color:#f3f2f1;border-left:4px solid #0000;display:block;flex-grow:1;margin-bottom:15px;padding:20px;position:relative}.moj-ticket-panel__content--grey{border-left-color:#b1b4b6}.moj-ticket-panel__content--blue{border-left-color:#1d70b8}.moj-ticket-panel__content--red{border-left-color:#d4351c}.moj-ticket-panel__content--yellow{border-left-color:#fd0}.moj-ticket-panel__content--green{border-left-color:#00703c}.moj-ticket-panel__content--purple{border-left-color:#4c2c92}.moj-ticket-panel__content--orange{border-left-color:#f47738}.js-enabled .moj-js-hidden,.moj-hidden{display:none}.moj-width-container{margin:0 15px;max-width:960px}@media (min-width:40.0625em){.moj-width-container{margin:0 30px}}@media (min-width:1020px){.moj-width-container{margin:0 auto}}
1
+ @charset "UTF-8";:root{--moj-frontend-version:"5.1.3"}.moj-filter-layout:after{clear:both;content:"";display:block}.moj-filter-layout__filter{box-shadow:inset 0 0 0 1px #f3f2f1}@media (min-width:48.0625em){.moj-filter-layout__filter{float:left;margin-right:40px;max-width:385px;min-width:260px;width:100%}}@media (max-width:48.0525em){.js-enabled .moj-filter-layout__filter{background-color:#fff;bottom:0;overflow-y:scroll;position:fixed;right:0;top:0;z-index:100}}.moj-filter-layout__content{overflow:hidden;overflow-x:auto}.moj-scrollable-pane{background:linear-gradient(to right,#fff,#fff,#fff0 calc(var(.75em)*2)),radial-gradient(farthest-side at 0 50%,#0003,#fff0),linear-gradient(to left,#fff,#fff,#fff0 calc(var(.75em)*2)),radial-gradient(farthest-side at 100% 50%,#0003,#fff0) 100%;background-attachment:local,scroll,local,scroll;background-color:#fff;background-repeat:no-repeat;background-size:100% 100%,.75em 100%,100% 100%,.75em 100%;overflow-x:scroll}@media (max-width:63.75em){.moj-scrollable-pane .govuk-table__cell,.moj-scrollable-pane .govuk-table__header{white-space:nowrap}}.moj-button-group{align-items:center;display:flex;flex-direction:column;margin-bottom:5px}@media (min-width:40.0625em){.moj-button-group{margin-bottom:15px}}.moj-button-group .govuk-link{display:inline-block;font-family:GDS Transport,arial,sans-serif;margin-bottom:20px;margin-top:5px;max-width:100%;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.1875}@media print{.moj-button-group .govuk-link{font-family:sans-serif}}@media (min-width:40.0625em){.moj-button-group .govuk-link{font-size:1.1875rem;line-height:1}}@media print{.moj-button-group .govuk-link{font-size:14pt;line-height:19px}}.js-enabled .moj-button-group .moj-button-menu,.moj-button-group .govuk-button,.moj-button-group .moj-button-menu__item{margin-bottom:17px}.js-enabled .moj-button-group .moj-button-menu__item,.moj-button-group .moj-button-menu__toggle-button{margin-bottom:0}@media (max-width:40.0525em){.moj-button-group .moj-button-menu,.moj-button-group .moj-button-menu__item,.moj-button-group .moj-button-menu__wrapper{width:100%}.moj-button-group .moj-button-menu__wrapper{position:relative}.moj-button-group--inline{align-items:baseline;flex-direction:row;flex-wrap:wrap;margin-right:-15px}.moj-button-group--inline .govuk-button,.moj-button-group--inline .govuk-link,.moj-button-group--inline .moj-button-menu{margin-right:15px;width:auto}.moj-button-group--inline .moj-button-menu__toggle-button{margin-right:0}.moj-button-group--inline .govuk-link{text-align:left}}@media (min-width:40.0625em){.moj-button-group{align-items:baseline;flex-direction:row;flex-wrap:wrap;margin-right:-15px}.moj-button-group .govuk-button,.moj-button-group .govuk-link,.moj-button-group .moj-button-menu{margin-right:15px;width:auto}.moj-button-group .moj-button-menu__toggle-button{margin-right:0}.moj-button-group .govuk-link{text-align:left}}.moj-action-bar{font-size:0}.moj-action-bar__filter{display:inline-block;position:relative}@media (max-width:48.0525em){.moj-action-bar__filter{float:right}}@media (min-width:48.0625em){.moj-action-bar__filter{margin-right:10px;padding-right:12px}.moj-action-bar__filter:after{background-color:#f3f2f1;content:"";height:40px;position:absolute;right:0;top:0;width:2px}}.moj-action-bar__filter>.govuk-button{vertical-align:initial}.moj-add-another__item{margin:30px 0 0;padding:0;position:relative}.moj-add-another__item:first-of-type{margin-top:0}.moj-add-another__title{float:left;padding:4px 100px 4px 0;width:100%}.moj-add-another__title+.govuk-form-group{clear:left}.moj-add-another__remove-button{position:absolute;right:0;top:0;width:auto}.moj-add-another__add-button{display:block}.moj-add-another__heading:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none}.moj-alert{background:#fff;border:5px solid #0000;display:-ms-grid;display:grid;margin-bottom:30px;padding:10px;-ms-grid-columns:min-content fit-content(960px);font-family:GDS Transport,arial,sans-serif;gap:10px;grid-template-columns:-webkit-min-content fit-content(960px);grid-template-columns:min-content fit-content(960px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}@media print{.moj-alert{font-family:sans-serif}}.moj-alert:focus{outline:3px solid #fd0}@media (min-width:40.0625em){.moj-alert[data-dismissible]{grid-template-columns:-webkit-min-content fit-content(920px) auto;grid-template-columns:min-content fit-content(920px) auto}}.moj-alert__icon{display:block;height:1.875rem;width:1.875rem;fill:currentcolor}.moj-alert__content{color:#0b0c0c;display:block;font-size:1rem;line-height:1.25;overflow:hidden;padding-top:.3125rem}@media (min-width:40.0625em){.moj-alert__content{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-alert__content{font-size:14pt;line-height:1.15}}@media (min-width:40.0625em){.moj-alert__content{padding-top:.125rem}}.moj-alert__action{grid-column-end:-1;grid-column-start:2}@media (min-width:40.0625em){.moj-alert__action{grid-column-start:3;justify-self:right}}.moj-alert__dismiss{-webkit-appearance:none;appearance:none;background-color:initial;border:none;color:unset;cursor:pointer;font-family:GDS Transport,arial,sans-serif;font-size:1rem;line-height:1.25;margin-bottom:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media (min-width:40.0625em){.moj-alert__dismiss{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-alert__dismiss{font-family:sans-serif;font-size:14pt;line-height:1.15}}.moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert__dismiss:link{color:#1d70b8}.moj-alert__dismiss:visited{color:#4c2c92}.moj-alert__dismiss:hover{color:#003078}.moj-alert__dismiss:active,.moj-alert__dismiss:focus{color:#0b0c0c}@media print{.moj-alert__dismiss[href^="/"]:after,.moj-alert__dismiss[href^="http://"]:after,.moj-alert__dismiss[href^="https://"]:after{content:" (" attr(href) ")";font-size:90%;word-wrap:break-word}}.moj-alert__heading{color:#0b0c0c;display:block;font-size:1.125rem;font-weight:700;line-height:1.1111111111;margin-bottom:.3125rem;margin-top:0}@media print{.moj-alert__heading{color:#000}}@media (min-width:40.0625em){.moj-alert__heading{font-size:1.5rem;line-height:1.25}}@media print{.moj-alert__heading{font-size:18pt;line-height:1.15}}@media (min-width:40.0625em){.moj-alert__heading{margin-bottom:.1875rem}}.moj-alert__content a:last-child,.moj-alert__content p:last-child,.moj-alert__content ul:last-child{margin-bottom:0}.moj-alert--information{border-color:#1d70b8;color:#1d70b8}.moj-alert--information .moj-alert__content a,.moj-alert--information .moj-alert__dismiss{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-alert--information .moj-alert__content a,.moj-alert--information .moj-alert__dismiss{font-family:sans-serif}}.moj-alert--information .moj-alert__content a:hover,.moj-alert--information .moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert--information .moj-alert__content a:focus,.moj-alert--information .moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert--information .moj-alert__content a:link,.moj-alert--information .moj-alert__dismiss:link{color:#1d70b8}.moj-alert--information .moj-alert__content a:visited,.moj-alert--information .moj-alert__dismiss:visited{color:#4c2c92}.moj-alert--information .moj-alert__content a:hover,.moj-alert--information .moj-alert__dismiss:hover{color:#003078}.moj-alert--information .moj-alert__content a:active,.moj-alert--information .moj-alert__content a:focus,.moj-alert--information .moj-alert__dismiss:active,.moj-alert--information .moj-alert__dismiss:focus{color:#0b0c0c}.moj-alert--success{border-color:#00703c;color:#00703c}.moj-alert--success .moj-alert__content .govuk-link,.moj-alert--success .moj-alert__content a,.moj-alert--success .moj-alert__dismiss{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-alert--success .moj-alert__content .govuk-link,.moj-alert--success .moj-alert__content a,.moj-alert--success .moj-alert__dismiss{font-family:sans-serif}}.moj-alert--success .moj-alert__content .govuk-link:hover,.moj-alert--success .moj-alert__content a:hover,.moj-alert--success .moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert--success .moj-alert__content .govuk-link:focus,.moj-alert--success .moj-alert__content a:focus,.moj-alert--success .moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert--success .moj-alert__content .govuk-link:link,.moj-alert--success .moj-alert__content .govuk-link:visited,.moj-alert--success .moj-alert__content a:link,.moj-alert--success .moj-alert__content a:visited,.moj-alert--success .moj-alert__dismiss:link,.moj-alert--success .moj-alert__dismiss:visited{color:#00703c}.moj-alert--success .moj-alert__content .govuk-link:hover,.moj-alert--success .moj-alert__content a:hover,.moj-alert--success .moj-alert__dismiss:hover{color:#004e2a}.moj-alert--success .moj-alert__content .govuk-link:active,.moj-alert--success .moj-alert__content a:active,.moj-alert--success .moj-alert__dismiss:active{color:#00703c}.moj-alert--success .moj-alert__content .govuk-link:focus,.moj-alert--success .moj-alert__content a:focus,.moj-alert--success .moj-alert__dismiss:focus{color:#0b0c0c}.moj-alert--warning{border-color:#eb611c;color:#eb611c}.moj-alert--warning .moj-alert__dismiss{color:#c75228}.moj-alert--warning .moj-alert__content .govuk-link,.moj-alert--warning .moj-alert__content a,.moj-alert--warning .moj-alert__dismiss{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-alert--warning .moj-alert__content .govuk-link,.moj-alert--warning .moj-alert__content a,.moj-alert--warning .moj-alert__dismiss{font-family:sans-serif}}.moj-alert--warning .moj-alert__content .govuk-link:hover,.moj-alert--warning .moj-alert__content a:hover,.moj-alert--warning .moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert--warning .moj-alert__content .govuk-link:focus,.moj-alert--warning .moj-alert__content a:focus,.moj-alert--warning .moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert--warning .moj-alert__content .govuk-link:link,.moj-alert--warning .moj-alert__content .govuk-link:visited,.moj-alert--warning .moj-alert__content a:link,.moj-alert--warning .moj-alert__content a:visited,.moj-alert--warning .moj-alert__dismiss:link,.moj-alert--warning .moj-alert__dismiss:visited{color:#c75228}.moj-alert--warning .moj-alert__content .govuk-link:hover,.moj-alert--warning .moj-alert__content a:hover,.moj-alert--warning .moj-alert__dismiss:hover{color:#8b391c}.moj-alert--warning .moj-alert__content .govuk-link:active,.moj-alert--warning .moj-alert__content a:active,.moj-alert--warning .moj-alert__dismiss:active{color:#eb611c}.moj-alert--warning .moj-alert__content .govuk-link:focus,.moj-alert--warning .moj-alert__content a:focus,.moj-alert--warning .moj-alert__dismiss:focus{color:#0b0c0c}.moj-alert--error{border-color:#d4351c;color:#d4351c}.moj-alert--error .moj-alert__content .govuk-link,.moj-alert--error .moj-alert__content a,.moj-alert--error .moj-alert__dismiss{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-alert--error .moj-alert__content .govuk-link,.moj-alert--error .moj-alert__content a,.moj-alert--error .moj-alert__dismiss{font-family:sans-serif}}.moj-alert--error .moj-alert__content .govuk-link:hover,.moj-alert--error .moj-alert__content a:hover,.moj-alert--error .moj-alert__dismiss:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-alert--error .moj-alert__content .govuk-link:focus,.moj-alert--error .moj-alert__content a:focus,.moj-alert--error .moj-alert__dismiss:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-alert--error .moj-alert__content .govuk-link:link,.moj-alert--error .moj-alert__content .govuk-link:visited,.moj-alert--error .moj-alert__content a:link,.moj-alert--error .moj-alert__content a:visited,.moj-alert--error .moj-alert__dismiss:link,.moj-alert--error .moj-alert__dismiss:visited{color:#d4351c}.moj-alert--error .moj-alert__content .govuk-link:hover,.moj-alert--error .moj-alert__content a:hover,.moj-alert--error .moj-alert__dismiss:hover{color:#942514}.moj-alert--error .moj-alert__content .govuk-link:active,.moj-alert--error .moj-alert__content a:active,.moj-alert--error .moj-alert__dismiss:active{color:#d4351c}.moj-alert--error .moj-alert__content .govuk-link:focus,.moj-alert--error .moj-alert__content a:focus,.moj-alert--error .moj-alert__dismiss:focus{color:#0b0c0c}.moj-badge{border:2px solid #1d70b8;color:#1d70b8;display:inline-block;font-family:GDS Transport,arial,sans-serif;outline:2px solid #0000;outline-offset:-2px;padding:0 5px;text-transform:uppercase;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.75rem;font-weight:700;line-height:1.25}@media print{.moj-badge{font-family:sans-serif}}@media (min-width:40.0625em){.moj-badge{font-size:.875rem;line-height:1.4285714286}}@media print{.moj-badge{font-size:12pt;line-height:1.2}}.moj-badge--purple{border-color:#4c2c92;color:#4c2c92}.moj-badge--bright-purple{border-color:#912b88;color:#912b88}.moj-badge--red{border-color:#d4351c;color:#d4351c}.moj-badge--green{border-color:#00703c;color:#00703c}.moj-badge--blue{border-color:#1d70b8;color:#1d70b8}.moj-badge--black{border-color:#0b0c0c;color:#0b0c0c}.moj-badge--grey{border-color:#505a5f;color:#505a5f}.moj-badge--large{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:700;line-height:1.1428571429}@media print{.moj-badge--large{font-family:sans-serif}}@media (min-width:40.0625em){.moj-badge--large{font-size:1rem;line-height:1.25}}@media print{.moj-badge--large{font-size:14pt;line-height:1.2}}.moj-banner{border:5px solid #1d70b8;color:#1d70b8;font-size:0;margin-bottom:30px;padding:10px}.moj-banner__icon{float:left;margin-right:10px;fill:currentcolor}.moj-banner__message{color:#0b0c0c;display:block;font-family:GDS Transport,arial,sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-banner__message{font-family:sans-serif}}@media (min-width:40.0625em){.moj-banner__message{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-banner__message{font-size:14pt;line-height:1.15}}.moj-banner__message h2{margin-bottom:10px}.moj-banner__message h2:last-child,.moj-banner__message p:last-child{margin-bottom:0}.moj-banner__assistive{height:1px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0 0 0 0)!important;border:0!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;-webkit-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap!important}.moj-banner__assistive:after,.moj-banner__assistive:before{content:" "}.moj-banner--success{border-color:#00703c;color:#00703c}.moj-banner--warning{border-color:#d4351c;color:#d4351c}.moj-button-menu{display:inline-block;position:relative}.moj-button-menu__single-button,.moj-button-menu__toggle-button{margin-bottom:0;vertical-align:initial}.moj-button-menu__toggle-button span{align-items:center;display:inline-flex;gap:8px}.moj-button-menu__toggle-button svg{margin-top:2px;transform:rotate(180deg)}.moj-button-menu__toggle-button[aria-expanded=true] svg{transform:rotate(0deg)}.moj-button-menu__wrapper{list-style:none;margin:5px 0 0;padding:0;z-index:10}.moj-button-menu__wrapper,.moj-button-menu__wrapper .moj-button-group--inline{position:absolute;width:200px}.moj-button-menu__wrapper--right{right:0}.moj-button-menu__item{display:inline-block;margin-bottom:10px;margin-right:10px;vertical-align:initial;width:auto}.moj-button-menu__item:last-child{margin-right:0}.moj-button-menu li>.moj-button-menu__item{-webkit-appearance:none;appearance:none;background-color:#f3f2f1;border:2px solid #0000;border-bottom:1px solid #949494;border-radius:0;box-sizing:border-box;color:#0b0c0c;cursor:pointer;display:inline-block;font-family:GDS Transport,arial,sans-serif;margin:0;padding:10px;position:relative;text-align:left;vertical-align:top;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.1875}@media print{.moj-button-menu li>.moj-button-menu__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-button-menu li>.moj-button-menu__item{font-size:1.1875rem;line-height:1}}@media print{.moj-button-menu li>.moj-button-menu__item{font-size:14pt;line-height:19px}}.moj-button-menu li>.moj-button-menu__item:active,.moj-button-menu li>.moj-button-menu__item:hover,.moj-button-menu li>.moj-button-menu__item:link,.moj-button-menu li>.moj-button-menu__item:visited{color:#0b0c0c;text-decoration:none}.moj-button-menu li>.moj-button-menu__item:active,.moj-button-menu li>.moj-button-menu__item:hover{color:#fff}.moj-button-menu li>.moj-button-menu__item::-moz-focus-inner{border:0;padding:0}.moj-button-menu li>.moj-button-menu__item:hover{background-color:#767676}.moj-button-menu li>.moj-button-menu__item:focus{border-color:#fd0;box-shadow:inset 0 0 0 1px #fd0;outline:3px solid #0000;z-index:10}.moj-button-menu li>.moj-button-menu__item:focus:not(:active):not(:hover){background-color:#fd0;border-color:#fd0;box-shadow:0 2px 0 #0b0c0c;color:#0b0c0c}.moj-cookie-banner{background-color:#fff;box-sizing:border-box;display:none;font-family:GDS Transport,arial,sans-serif;left:15px;padding-bottom:15px;padding-right:15px;padding-top:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-cookie-banner{font-family:sans-serif}}@media (min-width:40.0625em){.moj-cookie-banner{font-size:1rem;line-height:1.25}}@media print{.moj-cookie-banner{font-size:14pt;line-height:1.2}}.moj-cookie-banner--show{display:block!important}.moj-cookie-banner__message{margin:0 15px;max-width:960px}@media (min-width:40.0625em){.moj-cookie-banner__message{margin:0 30px}}@media (min-width:1020px){.moj-cookie-banner__message{margin:0 auto}}.moj-cookie-banner__buttons .govuk-grid-column-full{padding-left:0}@media (min-width:40.0625em){.moj-cookie-banner .govuk-button{width:90%}}@media print{.moj-cookie-banner{display:none!important}}.moj-label__currency{background-color:#f3f2f1;border-right:2px solid #0b0c0c;font-family:GDS Transport,arial,sans-serif;margin:2px 0 0 2px!important;padding:5.5px 12px;position:absolute;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-label__currency{font-family:sans-serif}}@media (min-width:40.0625em){.moj-label__currency{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-label__currency{font-size:14pt;line-height:1.15}}.moj-label__currency--error{background-color:#d4351c;border-right:2px solid #d4351c;color:#fff}@media (max-width:40.0525em){.moj-label__currency{padding:8px 12px}}.moj-input__currency{margin:0;padding-left:40px}.moj-datepicker{font-family:GDS Transport,arial,sans-serif;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-datepicker{font-family:sans-serif}}@media (min-width:40.0625em){.moj-datepicker{font-size:1rem;line-height:1.25}}@media print{.moj-datepicker{font-size:14pt;line-height:1.2}}.moj-datepicker__dialog{background-color:#fff;display:none;min-width:280px;outline:2px solid #0b0c0c;outline-offset:-2px;padding:20px;position:absolute;top:0;transition:background-color .2s,outline-color .2s;z-index:2}.moj-datepicker__dialog--open{display:block}.moj-datepicker__dialog-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px;position:relative}.moj-datepicker__dialog-title{font-family:GDS Transport,arial,sans-serif;font-weight:700;margin-bottom:0;margin-top:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-datepicker__dialog-title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-datepicker__dialog-title{font-size:1rem;line-height:1.25}}@media print{.moj-datepicker__dialog-title{font-size:14pt;line-height:1.2}}.moj-datepicker__dialog-navbuttons{align-items:center;display:flex}.moj-datepicker__calendar{border-collapse:collapse;margin-bottom:20px}.moj-datepicker__calendar tbody:focus-within{outline:2px solid #fd0}.moj-datepicker__calendar td{border:0;margin:0;outline:0;padding:0}.moj-datepicker__calendar th{color:#0b0c0c;font-family:GDS Transport,arial,sans-serif;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-datepicker__calendar th{font-family:sans-serif}}@media (min-width:40.0625em){.moj-datepicker__calendar th{font-size:1rem;line-height:1.25}}@media print{.moj-datepicker__calendar th{font-size:14pt;line-height:1.2}}.moj-datepicker__dialog>.govuk-button-group,.moj-datepicker__dialog>.govuk-button-group>*{margin-bottom:0}.moj-datepicker__button{background-color:initial;border-width:0;color:#0b0c0c;font-family:GDS Transport,arial,sans-serif;height:40px;margin:0;outline:2px solid #0000;outline-offset:-2px;padding:0;position:relative;width:44px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-datepicker__button{font-family:sans-serif}}@media (min-width:40.0625em){.moj-datepicker__button{font-size:1rem;line-height:1.25}}@media print{.moj-datepicker__button{font-size:14pt;line-height:1.2}}@media (forced-colors:active){.moj-datepicker__button:after{display:none}}.moj-datepicker__button:after{background-color:initial;bottom:0;content:"";height:4px;left:0;position:absolute;right:0}.moj-datepicker__button[aria-disabled=true],.moj-datepicker__button[aria-disabled=true]:hover{background-color:#f3f2f1;color:#0b0c0c;cursor:not-allowed;text-decoration:line-through}.moj-datepicker__button:hover{background-color:#949494;cursor:pointer;text-decoration:none}.moj-datepicker__button:focus,.moj-datepicker__button:hover{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#0b0c0c}.moj-datepicker__button:focus{background-color:#fd0;outline-color:#0000}.moj-datepicker__button:focus:after{background-color:#0b0c0c}.moj-datepicker__button:focus:hover{background-color:#949494;outline-color:#fd0}.moj-datepicker__button:focus:hover:after{background-color:initial}.moj-datepicker__button--current:not(:focus){background-color:#1d70b8;color:#fff;outline-color:#1d70b8}.moj-datepicker__button--current:not(:focus):after{background-color:#1d70b8}.moj-datepicker__button--current[tabindex="-1"]{background:#0000;color:currentcolor;outline-color:#0000}.moj-datepicker__button--current[tabindex="-1"]:after{background-color:initial}.moj-datepicker__button--today{border:2px solid #0b0c0c}.moj-datepicker__button--selected:not(:focus){background-color:#1d70b8;color:#fff}.moj-datepicker__button--selected:not(:focus):after{background-color:#1d70b8}.moj-datepicker__button--selected:not(:focus):hover{background-color:#949494;color:#0b0c0c;outline-color:#1d70b8}.moj-datepicker__button--selected:not(:focus):hover:after{background-color:initial}.moj-datepicker input{max-width:11.5em}.moj-datepicker input.govuk-input--width-30{max-width:29.5em}.moj-datepicker input.govuk-input--width-20{max-width:20.5em}.moj-datepicker input.govuk-\!-width-full,.moj-datepicker input.govuk-\!-width-three-quarters{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-three-quarters{width:75%!important}}.moj-datepicker input.govuk-\!-width-two-thirds{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-two-thirds{width:66.66%!important}}.moj-datepicker input.govuk-\!-width-one-half{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-one-half{width:50%!important}}.moj-datepicker input.govuk-\!-width-one-third{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-one-third{width:33.33%!important}}.moj-datepicker input.govuk-\!-width-one-quarter{max-width:none;width:100%!important}@media (min-width:40.0625em){.moj-datepicker input.govuk-\!-width-one-quarter{width:25%!important}}.moj-datepicker__wrapper{position:relative}@media (min-width:768px){.moj-datepicker__dialog{width:auto}}.moj-datepicker__toggle{background-color:#0b0c0c;border:none;border-bottom:4px solid #0000;color:#fff;cursor:pointer;height:40px;outline:3px solid #0000;outline-offset:-3px;padding-top:6px}.moj-datepicker__toggle:focus{background-color:#fd0;border-bottom:4px solid #0b0c0c;color:#0b0c0c}.moj-datepicker__toggle:hover{background-color:#949494;border-bottom:4px solid #949494;color:#0b0c0c}.moj-datepicker__toggle:focus:hover{background-color:#949494;border-bottom:4px solid #0b0c0c;color:#0b0c0c}.moj-filter{background-color:#fff;box-shadow:inset 0 0 0 1px #b1b4b6}.moj-filter:focus{box-shadow:0 -2px #fd0,0 4px #0b0c0c}.moj-filter__header{background-color:#b1b4b6;font-size:0;padding:10px 20px;text-align:justify}.moj-filter__header:after{content:"";display:inline-block;width:100%}.moj-filter__header [class^=govuk-heading-]{margin-bottom:0}.moj-filter__legend{overflow:visible;width:100%}.moj-filter__legend button{appearance:none;-webkit-appearance:none;background-color:initial;border:0;border-radius:0;box-sizing:border-box;cursor:pointer;display:block;font-family:GDS Transport,arial,sans-serif;margin:0;padding:0;position:relative;text-align:left;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.125rem;font-weight:700;line-height:1.1111111111}@media print{.moj-filter__legend button{font-family:sans-serif}}@media (min-width:40.0625em){.moj-filter__legend button{font-size:1.5rem;line-height:1.25}}@media print{.moj-filter__legend button{font-size:18pt;line-height:1.15}}.moj-filter__legend button::-moz-focus-inner{border:0;padding:0}.moj-filter__legend button:after{background-image:url(/assets/images/icon-toggle-plus-minus.svg);background-position:0 0;content:"";display:block;height:16px;margin-top:-8px;position:absolute;right:0;top:50%;width:16px}.moj-filter__legend button[aria-expanded=true]:after{background-position:16px 16px}.moj-filter__header-action,.moj-filter__header-title{display:inline-block;text-align:left;vertical-align:middle}.moj-filter__close{-webkit-appearance:none;appearance:none;background-color:initial;border:none;border-radius:0;color:#0b0c0c;cursor:pointer;font-family:GDS Transport,arial,sans-serif;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-filter__close{font-family:sans-serif}}@media (min-width:40.0625em){.moj-filter__close{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-filter__close{font-size:14pt;line-height:1.15}}.moj-filter__close:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none}.moj-filter__close::-moz-focus-inner{border:0;padding:0}.moj-filter__close:before{background-image:url(/assets/images/icon-close-cross-black.svg);content:"";display:inline-block;height:14px;margin-right:5px;position:relative;top:-1px;vertical-align:middle;width:14px}.moj-filter__selected{background-color:#f3f2f1;box-shadow:inset 0 0 0 1px #b1b4b6;padding:20px}.moj-filter__selected ul:last-of-type{margin-bottom:0}.moj-filter__selected-heading{font-size:0;text-align:justify}.moj-filter__selected-heading:after{content:"";display:inline-block;width:100%}.moj-filter__heading-action,.moj-filter__heading-title{display:inline-block;font-family:GDS Transport,arial,sans-serif;text-align:left;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-filter__heading-action,.moj-filter__heading-title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-filter__heading-action,.moj-filter__heading-title{font-size:1rem;line-height:1.25}}@media print{.moj-filter__heading-action,.moj-filter__heading-title{font-size:14pt;line-height:1.2}}.moj-filter-tags{font-size:0;margin-bottom:20px;padding-left:0}.moj-filter-tags li{display:inline-block;margin-right:10px}.moj-filter__tag{background-color:#fff;border:1px solid #0b0c0c;color:#0b0c0c;display:inline-block;font-family:GDS Transport,arial,sans-serif;margin-top:5px;padding:5px;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-filter__tag{font-family:sans-serif}}@media (min-width:40.0625em){.moj-filter__tag{font-size:1rem;line-height:1.25}}@media print{.moj-filter__tag{font-size:14pt;line-height:1.2}}.moj-filter__tag:link,.moj-filter__tag:visited{color:#0b0c0c}.moj-filter__tag:focus{background-color:#fd0;color:#0b0c0c}.moj-filter__tag:hover{background-color:#0b0c0c;color:#fff}.moj-filter__tag:after{background-image:url(/assets/images/icon-tag-remove-cross.svg);content:"";display:inline-block;font-weight:700;height:10px;margin-left:5px;vertical-align:middle;width:10px}.moj-filter__tag:hover:after{background-image:url(/assets/images/icon-tag-remove-cross-white.svg)}.moj-filter__options{box-shadow:inset 0 0 0 1px #b1b4b6;margin-top:-1px;padding:20px}.moj-filter__options div:last-of-type{margin-bottom:0}.moj-header{background-color:#0b0c0c;border-bottom:10px solid #1d70b8;padding-top:15px}.moj-header__container{margin:0 15px;max-width:960px;position:relative}@media (min-width:40.0625em){.moj-header__container{margin:0 30px}}@media (min-width:1020px){.moj-header__container{margin:0 auto}}.moj-header__container:after{clear:both;content:"";display:block}.moj-header__logo{padding-bottom:5px}@media (min-width:48.0625em){.moj-header__logo{float:left}}.moj-header__logotype-crown{margin-right:5px;position:relative;top:-4px;vertical-align:top}.moj-header__logotype-crest{margin-right:5px;position:relative;top:-8px;vertical-align:top}.moj-header__content{padding-bottom:10px}@media (min-width:48.0625em){.moj-header__content{float:right}}.moj-header__link,.moj-header__link>a{border-bottom:1px solid #0000;color:#fff;display:inline-block;font-family:GDS Transport,arial,sans-serif;line-height:25px;margin-bottom:-1px;overflow:hidden;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-header__link,.moj-header__link>a{font-family:sans-serif}}.moj-header__link:hover,.moj-header__link>a:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-header__link:focus,.moj-header__link>a:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-header__link:link,.moj-header__link>a:link{color:#1d70b8}.moj-header__link:visited,.moj-header__link>a:visited{color:#4c2c92}.moj-header__link:hover,.moj-header__link>a:hover{color:#003078}.moj-header__link:active,.moj-header__link>a:active{color:#0b0c0c}.moj-header__link:active,.moj-header__link:hover,.moj-header__link:link,.moj-header__link:visited,.moj-header__link>a:active,.moj-header__link>a:hover,.moj-header__link>a:link,.moj-header__link>a:visited{color:#fff;text-decoration:none}.moj-header__link:hover,.moj-header__link>a:hover{border-color:#fff}.moj-header__link:focus,.moj-header__link>a:focus{border-color:#0000;color:#0b0c0c}.moj-header__link--organisation-name,.moj-header__link>a--organisation-name{font-family:GDS Transport,arial,sans-serif;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.125rem;font-weight:700;line-height:1.1111111111}@media print{.moj-header__link--organisation-name,.moj-header__link>a--organisation-name{font-family:sans-serif}}@media (min-width:40.0625em){.moj-header__link--organisation-name,.moj-header__link>a--organisation-name{font-size:1.5rem;line-height:1.25}}@media print{.moj-header__link--organisation-name,.moj-header__link>a--organisation-name{font-size:18pt;line-height:1.15}}.moj-header__link--organisation-name:hover,.moj-header__link>a--organisation-name:hover{border-color:#0000}.moj-header__link--service-name,.moj-header__link>a--service-name{font-family:GDS Transport,arial,sans-serif;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.125rem;line-height:1.1111111111}@media print{.moj-header__link--service-name,.moj-header__link>a--service-name{font-family:sans-serif}}@media (min-width:40.0625em){.moj-header__link--service-name,.moj-header__link>a--service-name{font-size:1.5rem;line-height:1.25}}@media print{.moj-header__link--service-name,.moj-header__link>a--service-name{font-size:18pt;line-height:1.15}}@media (max-width:48.0525em){.moj-header__link--service-name,.moj-header__link>a--service-name{display:block}}@media (min-width:48.0625em){.moj-header__link--service-name,.moj-header__link>a--service-name{margin-left:5px}}.moj-header__link--service-name:hover,.moj-header__link>a--service-name:hover{border-color:#0000}.moj-header__link a{margin-bottom:1px;vertical-align:text-bottom}.moj-header__link a:hover{border-color:#fff}@media (max-width:48.0525em){.moj-header__link a{margin-bottom:-1px;vertical-align:middle}}span.moj-header__link:hover{border-color:#0000}.moj-header__navigation{color:#fff;margin-top:3px}.moj-header__navigation-list{font-size:0;list-style:none;margin:0;padding:0}.moj-header__navigation-item{display:inline-block;font-family:GDS Transport,arial,sans-serif;margin-right:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-header__navigation-item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-header__navigation-item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-header__navigation-item{font-size:14pt;line-height:1.15}}.moj-header__navigation-item:last-child{margin-right:0}.moj-header__navigation-link{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-header__navigation-link{font-family:sans-serif}}.moj-header__navigation-link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-header__navigation-link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-header__navigation-link:link{color:#1d70b8}.moj-header__navigation-link:visited{color:#4c2c92}.moj-header__navigation-link:hover{color:#003078}.moj-header__navigation-link:active{color:#0b0c0c}.moj-header__navigation-link:active,.moj-header__navigation-link:link,.moj-header__navigation-link:visited{color:inherit;text-decoration:none}.moj-header__navigation-link:hover{text-decoration:underline!important}.moj-header__navigation-link:focus{color:#0b0c0c}.moj-header__navigation-link[aria-current=page]{text-decoration:none}.moj-identity-bar{background-color:#fff;box-shadow:inset 0 -1px 0 0 #b1b4b6;color:#0b0c0c;padding-bottom:9px;padding-top:10px}.moj-identity-bar:after{clear:both;content:"";display:block}.moj-identity-bar__container{font-size:0;margin:0 15px;max-width:960px;text-align:justify}@media (min-width:40.0625em){.moj-identity-bar__container{margin:0 30px}}@media (min-width:1020px){.moj-identity-bar__container{margin:0 auto}}.moj-identity-bar__container:after{content:"";display:inline-block;width:100%}.moj-identity-bar__title{display:inline-block;font-family:GDS Transport,arial,sans-serif;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-identity-bar__title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-identity-bar__title{font-size:1rem;line-height:1.25}}@media print{.moj-identity-bar__title{font-size:14pt;line-height:1.2}}.moj-identity-bar__details{margin-right:10px;padding-bottom:5px;padding-top:5px}@media (min-width:40.0625em){.moj-identity-bar__details{display:inline-block;padding-bottom:9px;padding-top:11px;vertical-align:top}.moj-identity-bar__actions{display:inline-block;vertical-align:middle}}.moj-identity-bar__menu{display:inline-block;margin-right:10px}.moj-identity-bar__menu:last-child{margin-right:0}.moj-identity-bar__menu .moj-button-menu__toggle-button{margin-bottom:0}.moj-interruption-card{background-color:#1d70b8;border:5px solid #0000;margin-bottom:15px;padding:20px}@media (min-width:40.0625em){.moj-interruption-card{padding:35px}}.moj-interruption-card__content{max-width:960px}.moj-interruption-card__body,.moj-interruption-card__heading{color:#fff}.moj-interruption-card__body>*{color:#fff;font-size:1.125rem;line-height:1.1111111111}@media (min-width:40.0625em){.moj-interruption-card__body>*{font-size:1.5rem;line-height:1.25}}@media print{.moj-interruption-card__body>*{font-size:18pt;line-height:1.15}}.moj-interruption-card__actions:last-child,.moj-interruption-card__actions:last-child .govuk-button:last-child,.moj-interruption-card__actions:last-child .govuk-link:last-child,.moj-interruption-card__body:last-child{margin-bottom:0}@media (min-width:40.0625em){.moj-interruption-card__actions:last-child .govuk-button,.moj-interruption-card__actions:last-child .govuk-link{margin-bottom:0}}.moj-messages-container{border:1px solid #b1b4b6;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-messages-container{font-family:sans-serif}}@media (min-width:40.0625em){.moj-messages-container{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-messages-container{font-size:14pt;line-height:1.15}}.moj-message-list{min-height:200px;overflow-x:hidden;overflow-y:scroll;padding:5px}.moj-message-list__date{color:#505a5f;display:inline-block;font-family:GDS Transport,arial,sans-serif;padding:15px 0;text-align:center;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-message-list__date{font-family:sans-serif}}@media (min-width:40.0625em){.moj-message-list__date{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-message-list__date{font-size:14pt;line-height:1.15}}.moj-message-item{border-radius:.5em .5em .75em;margin-bottom:5px;padding:15px;position:relative}@media (min-width:40.0625em){.moj-message-item{width:50%}}.moj-message-item--sent{background-color:#1d70b8;color:#fff;float:right;margin-right:10px;padding-right:25px;text-align:right}.moj-message-item--sent:after{border-bottom-left-radius:1.75em 1.5em;border-left:1em solid #1d70b8;bottom:0;content:"";height:1.5em;position:absolute;right:-1.5em;width:1.5em}.moj-message-item--received{background-color:#f3f2f1;float:left;margin-left:10px;padding-left:25px}.moj-message-item--received:after{border-bottom-right-radius:1.75em 1.5em;border-right:1em solid #f3f2f1;bottom:0;content:"";height:1.5em;left:-1.5em;position:absolute;width:1.5em}.moj-message-item a:link,.moj-message-item a:visited{color:#fff}.moj-message-item a:focus{color:#0b0c0c}.moj-message-item__text--sent table{color:#fff}.moj-message-item__text--sent table td,.moj-message-item__text--sent table th{border-bottom:1px solid #fff}.moj-message-item__meta{margin-top:10px}.moj-message-item__meta--sender{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:700;line-height:1.1428571429}@media print{.moj-message-item__meta--sender{font-family:sans-serif}}@media (min-width:40.0625em){.moj-message-item__meta--sender{font-size:1rem;line-height:1.25}}@media print{.moj-message-item__meta--sender{font-size:14pt;line-height:1.2}}.moj-message-item__meta--timestamp{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:700;line-height:1.1428571429}@media print{.moj-message-item__meta--timestamp{font-family:sans-serif}}@media (min-width:40.0625em){.moj-message-item__meta--timestamp{font-size:1rem;line-height:1.25}}@media print{.moj-message-item__meta--timestamp{font-size:14pt;line-height:1.2}}.moj-multi-file-upload{margin-bottom:40px}.moj-multi-file-upload--enhanced .moj-multi-file-upload__button{display:none}.moj-multi-file-upload__dropzone{display:flex;outline:3px dashed #0b0c0c;padding:60px 15px;text-align:center;transition:outline-offset .1s ease-in-out,background-color .1s linear}.moj-multi-file-upload__dropzone label{display:inline-block;margin-bottom:0;width:auto}.moj-multi-file-upload__dropzone p{margin-bottom:0;margin-right:10px;padding-top:7px}.moj-multi-file-upload__dropzone [type=file]{left:-9999em;position:absolute}.moj-multi-file-upload--dragover{background:#b1b4b6;outline-color:#6f777b}.moj-multi-file-upload--focused{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none}.moj-multi-file-upload__error{color:#d4351c;font-weight:700}.moj-multi-file-upload__success{color:#00703c;font-weight:700}.moj-multi-file-upload__error svg,.moj-multi-file-upload__success svg{float:left;margin-right:10px;fill:currentcolor}.moj-multi-select__checkbox{display:inline-block;padding-left:0}.moj-multi-select__toggle-label{margin:0!important;padding:0!important}.moj-notification-badge{background-color:#d4351c;border-radius:75px;color:#fff;display:inline-block;font-family:GDS Transport,arial,sans-serif;font-weight:600;min-width:15px;padding:5px 8px 2px;text-align:center;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:700;line-height:1.1428571429}@media print{.moj-notification-badge{font-family:sans-serif}}@media (min-width:40.0625em){.moj-notification-badge{font-size:1rem;line-height:1.25}}@media print{.moj-notification-badge{font-size:14pt;line-height:1.2}}.moj-organisation-nav{border-bottom:1px solid #b1b4b6;margin-bottom:15px;margin-top:10px;padding-bottom:5px}.moj-organisation-nav:after{clear:both;content:"";display:block}.moj-organisation-nav__title{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-organisation-nav__title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-organisation-nav__title{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-organisation-nav__title{font-size:14pt;line-height:1.15}}@media (min-width:40.0625em){.moj-organisation-nav__title{float:left;width:75%}}.moj-organisation-nav__link{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-organisation-nav__link{font-family:sans-serif}}.moj-organisation-nav__link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-organisation-nav__link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-organisation-nav__link:link{color:#1d70b8}.moj-organisation-nav__link:visited{color:#4c2c92}.moj-organisation-nav__link:hover{color:#003078}.moj-organisation-nav__link:active,.moj-organisation-nav__link:focus{color:#0b0c0c}@media print{.moj-organisation-nav__link[href^="/"]:after,.moj-organisation-nav__link[href^="http://"]:after,.moj-organisation-nav__link[href^="https://"]:after{content:" (" attr(href) ")";font-size:90%;word-wrap:break-word}}@media (min-width:40.0625em){.moj-organisation-nav__link{float:right}}.moj-page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:40px;min-height:40px}.moj-page-header-actions__actions .govuk-button,.moj-page-header-actions__actions .moj-button-group,.moj-page-header-actions__title [class^=govuk-heading-]{margin-bottom:0}@media (min-width:48.0625em){.moj-pagination{font-size:0;margin-left:-5px;margin-right:-5px;text-align:justify}.moj-pagination:after{content:"";display:inline-block;width:100%}}.moj-pagination__list{list-style:none;margin:0;padding:0}@media (min-width:48.0625em){.moj-pagination__list{display:inline-block;margin-bottom:0;vertical-align:middle}}.moj-pagination__results{font-family:GDS Transport,arial,sans-serif;margin-top:0;padding:5px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-pagination__results{font-family:sans-serif}}@media (min-width:40.0625em){.moj-pagination__results{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-pagination__results{font-size:14pt;line-height:1.15}}@media (min-width:48.0625em){.moj-pagination__results{display:inline-block;margin-bottom:0;vertical-align:middle}}.moj-pagination__item{display:inline-block;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-pagination__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-pagination__item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-pagination__item{font-size:14pt;line-height:1.15}}.moj-pagination__item--active,.moj-pagination__item--dots{font-weight:700;height:25px;padding:5px 10px;text-align:center}.moj-pagination__item--dots{padding-left:0;padding-right:0}.moj-pagination__item--next .moj-pagination__link:after,.moj-pagination__item--prev .moj-pagination__link:before{background:#0000;border-style:solid;color:#0b0c0c;content:"";display:inline-block;height:10px;transform:rotate(-45deg);width:10px}.moj-pagination__item--prev .moj-pagination__link:before{border-width:3px 0 0 3px;margin-right:5px}.moj-pagination__item--next .moj-pagination__link:after{border-width:0 3px 3px 0;margin-left:5px}.moj-pagination__link{display:block;font-family:GDS Transport,arial,sans-serif;min-width:25px;padding:5px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-pagination__link{font-family:sans-serif}}.moj-pagination__link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-pagination__link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-pagination__link:link{color:#1d70b8}.moj-pagination__link:visited{color:#4c2c92}.moj-pagination__link:hover{color:#003078}.moj-pagination__link:active{color:#0b0c0c}.moj-pagination__link:active,.moj-pagination__link:hover,.moj-pagination__link:link,.moj-pagination__link:visited{text-decoration:none}.moj-pagination__link:link,.moj-pagination__link:visited{color:#1d70b8}.moj-pagination__link:hover{color:#5694ca}.moj-pagination__link:focus{color:#0b0c0c}.moj-password-reveal__wrapper{display:flex}.moj-password-reveal__input{margin-right:5px}.moj-password-reveal__button{width:80px}.moj-primary-navigation{background-color:#f3f2f1}.moj-primary-navigation__container{font-size:0;margin:0 15px;max-width:960px;text-align:justify}@media (min-width:40.0625em){.moj-primary-navigation__container{margin:0 30px}}@media (min-width:1020px){.moj-primary-navigation__container{margin:0 auto}}.moj-primary-navigation__container:after{content:"";display:inline-block;width:100%}.moj-primary-navigation__nav{text-align:left}@media (min-width:48.0625em){.moj-primary-navigation__nav{display:inline-block;vertical-align:middle}}.moj-primary-navigation__list{font-size:0;list-style:none;margin:0;padding:0}.moj-primary-navigation__item{display:inline-block;font-family:GDS Transport,arial,sans-serif;margin-right:20px;margin-top:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-primary-navigation__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-primary-navigation__item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-primary-navigation__item{font-size:14pt;line-height:1.15}}.moj-primary-navigation__item:last-child{margin-right:0}.moj-primary-navigation__link{display:block;font-family:GDS Transport,arial,sans-serif;font-weight:700;padding-bottom:15px;padding-top:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-primary-navigation__link{font-family:sans-serif}}.moj-primary-navigation__link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-primary-navigation__link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-primary-navigation__link:link{color:#1d70b8}.moj-primary-navigation__link:visited{color:#4c2c92}.moj-primary-navigation__link:active{color:#0b0c0c}.moj-primary-navigation__link:active,.moj-primary-navigation__link:hover,.moj-primary-navigation__link:link,.moj-primary-navigation__link:visited{text-decoration:none}.moj-primary-navigation__link:link,.moj-primary-navigation__link:visited{color:#1d70b8}.moj-primary-navigation__link:hover{color:#003078}.moj-primary-navigation__link:focus{box-shadow:none;color:#0b0c0c;position:relative;z-index:1}.moj-primary-navigation__link:focus:before{background-color:#0b0c0c;bottom:0;content:"";display:block;height:5px;left:0;position:absolute;width:100%}.moj-primary-navigation__link[aria-current]{color:#1d70b8;font-weight:700;position:relative;text-decoration:none}.moj-primary-navigation__link[aria-current]:before{background-color:#1d70b8;bottom:0;content:"";display:block;height:5px;left:0;position:absolute;width:100%}.moj-primary-navigation__link[aria-current]:hover{color:#003078}.moj-primary-navigation__link[aria-current]:hover:before{background-color:#003078}.moj-primary-navigation__link[aria-current]:focus{border:none;color:#0b0c0c;position:relative}.moj-primary-navigation__link[aria-current]:focus:before{background-color:#0b0c0c}@media (min-width:48.0625em){.moj-primary-navigation__search{display:inline-block;vertical-align:middle}}.moj-progress-bar{margin-bottom:40px}.moj-progress-bar__list{font-size:0;list-style:none;margin:0;padding:0;position:relative;text-align:justify;vertical-align:top}.moj-progress-bar__list:after{content:"";display:inline-block;width:100%}.moj-progress-bar__list:before{border-top:6px solid #00703c;content:"";left:0;position:absolute;top:13px;width:100%}.moj-progress-bar__item{display:inline-block;font-family:GDS Transport,arial,sans-serif;max-width:20%;position:relative;text-align:center;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-progress-bar__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-progress-bar__item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-progress-bar__item{font-size:14pt;line-height:1.15}}.moj-progress-bar__item:first-child:before,.moj-progress-bar__item:last-child:before{border-top:6px solid #fff;content:"";left:0;position:absolute;top:13px;width:50%}.moj-progress-bar__item:first-child:before{left:0}.moj-progress-bar__item:last-child:before{left:auto;right:0}.moj-progress-bar__item[aria-current=step]{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-progress-bar__item[aria-current=step]{font-family:sans-serif}}@media (min-width:40.0625em){.moj-progress-bar__item[aria-current=step]{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-progress-bar__item[aria-current=step]{font-size:14pt;line-height:1.15}}.moj-progress-bar__icon{background-color:#fff;border:6px solid #00703c;border-radius:50%;box-sizing:border-box;display:block;height:32px;margin-left:auto;margin-right:auto;position:relative;width:32px}.moj-progress-bar__icon--complete{background-color:#00703c;background-image:url(/assets/images/icon-progress-tick.svg);background-position:50% 50%;background-repeat:no-repeat}.moj-progress-bar__label{display:block;font-weight:inherit;margin-top:15px;position:relative;word-wrap:break-word;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-progress-bar__label{font-family:sans-serif}}@media (min-width:40.0625em){.moj-progress-bar__label{font-size:1rem;line-height:1.25}}@media print{.moj-progress-bar__label{font-size:14pt;line-height:1.2}}.moj-rich-text-editor__toolbar{margin-bottom:10px}.moj-rich-text-editor__toolbar:after{clear:both;content:"";display:block}.moj-rich-text-editor__toolbar-button{background-color:#fff;background-position:50% 50%;background-repeat:no-repeat;background-size:40px 40px;border:2px solid #0b0c0c;color:#0b0c0c;cursor:pointer;float:left;height:40px;margin-left:-2px;outline:0;text-decoration:none;vertical-align:top;width:40px}.moj-rich-text-editor__toolbar-button:first-child{margin-left:0}.moj-rich-text-editor__toolbar-button::-moz-focus-inner{border:0;padding:0}.moj-rich-text-editor__toolbar-button:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none;position:relative;z-index:2}.moj-rich-text-editor__toolbar-button--bold{background-image:url(/assets/images/icon-wysiwyg-bold.svg)}.moj-rich-text-editor__toolbar-button--italic{background-image:url(/assets/images/icon-wysiwyg-italic.svg)}.moj-rich-text-editor__toolbar-button--underline{background-image:url(/assets/images/icon-wysiwyg-underline.svg)}.moj-rich-text-editor__toolbar-button--unordered-list{background-image:url(/assets/images/icon-wysiwyg-unordered-list.svg);margin-left:10px}.moj-rich-text-editor__toolbar-button--ordered-list{background-image:url(/assets/images/icon-wysiwyg-ordered-list.svg)}.moj-rich-text-editor__content{min-height:130px;outline:none;overflow:auto;resize:vertical}.moj-search-toggle__button{-webkit-appearance:none;appearance:none;background-color:initial;border:none;color:#1d70b8;cursor:pointer;display:inline-block;font-family:GDS Transport,arial,sans-serif;padding:12px 0 13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-search-toggle__button{font-family:sans-serif}}@media (min-width:40.0625em){.moj-search-toggle__button{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-search-toggle__button{font-size:14pt;line-height:1.15}}.moj-search-toggle__button__icon{display:inline-block;height:20px;margin-left:10px;width:20px;fill:currentcolor;vertical-align:middle}@media screen and (forced-colors:active){.moj-search-toggle__button__icon{fill:windowText}}.moj-search-toggle__button:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none;position:relative;z-index:1}.moj-search--toggle{padding:15px}@media (max-width:48.0525em){.moj-search--toggle{padding-left:0!important;padding-right:0!important}.js-enabled .moj-search--toggle{padding-top:0!important}}.js-enabled .moj-search-toggle{position:relative}.js-enabled .moj-search-toggle__search{background-color:#f3f2f1}@media (min-width:48.0625em){.js-enabled .moj-search-toggle__search{max-width:450px;position:absolute;right:-15px;top:50px;width:450px;z-index:10}}.moj-search{font-size:0}.moj-search form{align-items:flex-end;display:flex}.moj-search .govuk-form-group{display:inline-block;flex:1;margin-bottom:0;vertical-align:top}.moj-search__hint,.moj-search__label{text-align:left}.moj-search__input:focus{position:relative;z-index:1}.moj-search__button{display:inline-block;margin-bottom:0;margin-left:10px;position:relative;top:-2px;vertical-align:bottom;width:auto}.moj-search--inline{padding:10px 0!important}@media (min-width:48.0625em){.moj-search--inline{padding:0!important}}.moj-side-navigation{font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-side-navigation{font-family:sans-serif}}@media (min-width:40.0625em){.moj-side-navigation{font-size:1rem;line-height:1.25}}@media print{.moj-side-navigation{font-size:14pt;line-height:1.2}}@media (max-width:40.0525em){.moj-side-navigation{display:flex;overflow-x:scroll}}@media (min-width:40.0625em){.moj-side-navigation{display:block;padding:20px 0 0}}.moj-side-navigation__title{color:#505a5f;font-family:GDS Transport,arial,sans-serif;margin:0;padding:10px 10px 10px 14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-side-navigation__title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-side-navigation__title{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-side-navigation__title{font-size:14pt;line-height:1.15}}@media (max-width:40.0525em){.moj-side-navigation__title{display:none}}.moj-side-navigation__list{list-style:none;margin:0;padding:0}@media (max-width:40.0525em){.moj-side-navigation__list{display:flex;margin:0;white-space:nowrap}}@media (min-width:40.0625em){.moj-side-navigation__list{margin-bottom:20px}}@media (max-width:40.0525em){.moj-side-navigation__item{display:flex}}.moj-side-navigation__item a,.moj-side-navigation__item a:link,.moj-side-navigation__item a:visited{background-color:inherit;color:#1d70b8;display:block;text-decoration:none}@media (max-width:40.0525em){.moj-side-navigation__item a,.moj-side-navigation__item a:link,.moj-side-navigation__item a:visited{border-bottom:4px solid #0000;padding:15px 15px 11px}}@media (min-width:40.0625em){.moj-side-navigation__item a,.moj-side-navigation__item a:link,.moj-side-navigation__item a:visited{background-color:inherit;border-left:4px solid #0000;padding:10px}}.moj-side-navigation__item a:hover{color:#003078}.moj-side-navigation__item a:focus{background-color:#fd0;border-color:#0b0c0c;color:#0b0c0c;position:relative}.moj-side-navigation__item--active a:link,.moj-side-navigation__item--active a:visited{border-color:#1d70b8;color:#1d70b8;font-weight:700}.moj-side-navigation__item--active a:hover{border-color:#003078;color:#003078}.moj-side-navigation__item--active a:focus{background-color:#fd0;border-color:#0b0c0c;color:#0b0c0c}@media (min-width:40.0625em){.moj-side-navigation__item--active a:link,.moj-side-navigation__item--active a:visited{background-color:#f3f2f1}.moj-side-navigation__item--active a:focus{background-color:#fd0;color:#0b0c0c}}[aria-sort] button,[aria-sort] button:hover{align-items:center;background-color:initial;border-width:0;box-shadow:0 0 0 0;color:#005ea5;cursor:pointer;display:inline-flex;font-family:inherit;font-size:inherit;font-size:1em;font-weight:inherit;margin:0;padding:0;position:relative;text-align:inherit}[aria-sort] button:focus{background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:none}.moj-sub-navigation{margin-bottom:40px}.moj-sub-navigation__list{font-size:0;list-style:none;margin:0;padding:0}@media (min-width:40.0625em){.moj-sub-navigation__list{box-shadow:inset 0 -1px 0 #b1b4b6;width:100%}}.moj-sub-navigation__item{box-shadow:inset 0 -1px 0 #b1b4b6;display:block;font-family:GDS Transport,arial,sans-serif;margin-top:-1px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-sub-navigation__item{font-family:sans-serif}}@media (min-width:40.0625em){.moj-sub-navigation__item{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-sub-navigation__item{font-size:14pt;line-height:1.15}}.moj-sub-navigation__item:last-child{box-shadow:none}@media (min-width:40.0625em){.moj-sub-navigation__item{box-shadow:none;display:inline-block;margin-right:20px;margin-top:0}}.moj-sub-navigation__link{display:block;font-family:GDS Transport,arial,sans-serif;padding-bottom:12px;padding-left:15px;padding-top:12px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:underline;text-decoration-thickness:max(1px,.0625rem);text-underline-offset:.1578em}@media print{.moj-sub-navigation__link{font-family:sans-serif}}.moj-sub-navigation__link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.1875rem,.12em);-webkit-text-decoration-skip:none;text-decoration-skip:none}.moj-sub-navigation__link:focus{background-color:#fd0;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 -2px #fd0,0 4px #0b0c0c;outline:3px solid #0000;text-decoration:none}.moj-sub-navigation__link:link{color:#1d70b8}.moj-sub-navigation__link:visited{color:#4c2c92}.moj-sub-navigation__link:active{color:#0b0c0c}@media (min-width:40.0625em){.moj-sub-navigation__link{padding-left:0}}.moj-sub-navigation__link:active,.moj-sub-navigation__link:hover,.moj-sub-navigation__link:link,.moj-sub-navigation__link:visited{text-decoration:none}.moj-sub-navigation__link:link,.moj-sub-navigation__link:visited{color:#1d70b8}.moj-sub-navigation__link:hover{color:#003078}.moj-sub-navigation__link:focus{box-shadow:none;color:#0b0c0c;position:relative}.moj-sub-navigation__link:focus:before{background-color:#0b0c0c;bottom:0;content:"";display:block;height:100%;left:0;position:absolute;width:5px}@media (min-width:40.0625em){.moj-sub-navigation__link:focus:before{height:5px;width:100%}}.moj-sub-navigation__link[aria-current=page]{color:#0b0c0c;position:relative;text-decoration:none}.moj-sub-navigation__link[aria-current=page]:before{background-color:#1d70b8;bottom:0;content:"";display:block;height:100%;left:0;position:absolute;width:5px}@media (min-width:40.0625em){.moj-sub-navigation__link[aria-current=page]:before{height:5px;width:100%}}.moj-sub-navigation__link[aria-current=page]:hover{color:#003078}.moj-sub-navigation__link[aria-current=page]:focus:before{background-color:#0b0c0c}.moj-tag{background-color:#1d70b8;border:2px solid #1d70b8;color:#fff}.moj-tag--purple{background-color:#4c2c92;border:2px solid #4c2c92;color:#fff}.moj-tag--bright-purple{background-color:#912b88;border:2px solid #912b88;color:#fff}.moj-tag--error,.moj-tag--red{background-color:#d4351c;border:2px solid #d4351c;color:#fff}.moj-tag--green,.moj-tag--success{background-color:#00703c;border:2px solid #00703c;color:#fff}.moj-tag--blue,.moj-tag--information{background-color:#1d70b8;border:2px solid #1d70b8;color:#fff}.moj-tag--black{background-color:#0b0c0c;border:2px solid #0b0c0c;color:#fff}.moj-tag--grey{background-color:#505a5f;border:2px solid #505a5f;color:#fff}.moj-task-list{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:0}@media (min-width:40.0625em){.moj-task-list{min-width:550px}}.moj-task-list__section{display:table;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.125rem;font-weight:700;line-height:1.1111111111}@media print{.moj-task-list__section{font-family:sans-serif}}@media (min-width:40.0625em){.moj-task-list__section{font-size:1.5rem;line-height:1.25}}@media print{.moj-task-list__section{font-size:18pt;line-height:1.15}}.moj-task-list__section-number{display:table-cell}@media (min-width:40.0625em){.moj-task-list__section-number{min-width:30px;padding-right:0}}.moj-task-list__items{font-family:GDS Transport,arial,sans-serif;list-style:none;padding-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25;margin-bottom:40px}@media print{.moj-task-list__items{font-family:sans-serif}}@media (min-width:40.0625em){.moj-task-list__items{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-task-list__items{font-size:14pt;line-height:1.15}}@media (min-width:40.0625em){.moj-task-list__items{margin-bottom:60px;padding-left:30px}}.moj-task-list__item{border-bottom:1px solid #b1b4b6;margin-bottom:0!important;padding-bottom:10px;padding-top:10px}.moj-task-list__item:after{clear:both;content:"";display:block}.moj-task-list__item:first-child{border-top:1px solid #b1b4b6}.moj-task-list__task-name{display:block}@media (min-width:28.125em){.moj-task-list__task-name{float:left;width:75%}}.moj-task-list__task-completed{margin-bottom:5px;margin-top:10px}@media (min-width:28.125em){.moj-task-list__task-completed{float:right;margin-bottom:0;margin-top:0}}.moj-timeline{margin-bottom:20px;overflow:hidden;position:relative}.moj-timeline:before{background-color:#1d70b8;content:"";height:100%;left:0;position:absolute;top:10px;width:5px}.moj-timeline--full{margin-bottom:0}.moj-timeline--full:before{height:calc(100% - 75px)}.moj-timeline__item{padding-bottom:30px;padding-left:20px;position:relative}.moj-timeline__item:before{background-color:#1d70b8;content:"";height:5px;left:0;position:absolute;top:10px;width:15px}.moj-timeline__title{display:inline;font-family:GDS Transport,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:700;line-height:1.25}@media print{.moj-timeline__title{font-family:sans-serif}}@media (min-width:40.0625em){.moj-timeline__title{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-timeline__title{font-size:14pt;line-height:1.15}}.moj-timeline__byline{color:#505a5f;display:inline;font-family:GDS Transport,arial,sans-serif;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-timeline__byline{font-family:sans-serif}}@media (min-width:40.0625em){.moj-timeline__byline{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-timeline__byline{font-size:14pt;line-height:1.15}}.moj-timeline__date{font-family:GDS Transport,arial,sans-serif;margin-bottom:0;margin-top:5px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;font-weight:400;line-height:1.1428571429}@media print{.moj-timeline__date{font-family:sans-serif}}@media (min-width:40.0625em){.moj-timeline__date{font-size:1rem;line-height:1.25}}@media print{.moj-timeline__date{font-size:14pt;line-height:1.2}}.moj-timeline__description{font-family:GDS Transport,arial,sans-serif;margin-top:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.25}@media print{.moj-timeline__description{font-family:sans-serif}}@media (min-width:40.0625em){.moj-timeline__description{font-size:1.1875rem;line-height:1.3157894737}}@media print{.moj-timeline__description{font-size:14pt;line-height:1.15}}.moj-timeline__documents{list-style:none;margin-bottom:0;padding-left:0}.moj-timeline__document-item{margin-bottom:5px}.moj-timeline__document-item:last-child{margin-bottom:0}.moj-timeline__document-icon{float:left;margin-right:4px;margin-top:4px;fill:currentcolor}@media screen and (forced-colors:active){.moj-timeline__document-icon{fill:linkText}}.moj-timeline__document-link{background-image:url(/assets/images/icon-document.svg);background-position:0 50%;background-repeat:no-repeat;background-size:20px 16px;padding-left:25px}.moj-timeline__document-link:focus{color:#0b0c0c}.moj-ticket-panel{display:block;flex-wrap:wrap;margin-right:0}@media (min-width:48.0625em){.moj-ticket-panel--inline{display:flex;flex-wrap:nowrap}.moj-ticket-panel--inline>*+*{margin-left:15px}}.moj-ticket-panel__content :last-child{margin-bottom:0}.moj-ticket-panel__content{background-color:#f3f2f1;border-left:4px solid #0000;display:block;flex-grow:1;margin-bottom:15px;padding:20px;position:relative}.moj-ticket-panel__content--grey{border-left-color:#b1b4b6}.moj-ticket-panel__content--blue{border-left-color:#1d70b8}.moj-ticket-panel__content--red{border-left-color:#d4351c}.moj-ticket-panel__content--yellow{border-left-color:#fd0}.moj-ticket-panel__content--green{border-left-color:#00703c}.moj-ticket-panel__content--purple{border-left-color:#4c2c92}.moj-ticket-panel__content--orange{border-left-color:#f47738}.js-enabled .moj-js-hidden,.moj-hidden{display:none}.moj-width-container{margin:0 15px;max-width:960px}@media (min-width:40.0625em){.moj-width-container{margin:0 30px}}@media (min-width:1020px){.moj-width-container{margin:0 auto}}
2
2
  /*# sourceMappingURL=moj-frontend.min.css.map */
@@ -1 +1 @@
1
- function isSupported(t=document.body){return!!t&&t.classList.contains("govuk-frontend-supported")}function isObject(t){return!!t&&"object"==typeof t&&!function(t){return Array.isArray(t)}(t)}function formatErrorMessage(t,e){return`${t.moduleName}: ${e}`}class GOVUKFrontendError extends Error{constructor(...t){super(...t),this.name="GOVUKFrontendError"}}class SupportError extends GOVUKFrontendError{constructor(t=document.body){const e="noModule"in HTMLScriptElement.prototype?'GOV.UK Frontend initialised without `<body class="govuk-frontend-supported">` from template `<script>` snippet':"GOV.UK Frontend is not supported in this browser";super(t?e:'GOV.UK Frontend initialised without `<script type="module">`'),this.name="SupportError"}}class ConfigError extends GOVUKFrontendError{constructor(...t){super(...t),this.name="ConfigError"}}class ElementError extends GOVUKFrontendError{constructor(t){let e="string"==typeof t?t:"";if("object"==typeof t){const{component:o,identifier:s,element:n,expectedType:i}=t;e=s,e+=n?` is not of type ${null!=i?i:"HTMLElement"}`:" not found",e=formatErrorMessage(o,e)}super(e),this.name="ElementError"}}class InitError extends GOVUKFrontendError{constructor(t){super("string"==typeof t?t:formatErrorMessage(t,"Root element (`$root`) already initialised")),this.name="InitError"}}class Component{get $root(){return this._$root}constructor(t){this._$root=void 0;const e=this.constructor;if("string"!=typeof e.moduleName)throw new InitError("`moduleName` not defined in component");if(!(t instanceof e.elementType))throw new ElementError({element:t,component:e,identifier:"Root element (`$root`)",expectedType:e.elementType.name});this._$root=t,e.checkSupport(),this.checkInitialised();const o=e.moduleName;this.$root.setAttribute(`data-${o}-init`,"")}checkInitialised(){const t=this.constructor,e=t.moduleName;if(e&&function(t,e){return t instanceof HTMLElement&&t.hasAttribute(`data-${e}-init`)}(this.$root,e))throw new InitError(t)}static checkSupport(){if(!isSupported())throw new SupportError}}Component.elementType=HTMLElement;const t=Symbol.for("configOverride");class ConfigurableComponent extends Component{[t](t){return{}}get config(){return this._config}constructor(e,o){super(e),this._config=void 0;const s=this.constructor;if(!isObject(s.defaults))throw new ConfigError(formatErrorMessage(s,"Config passed as parameter into constructor but no defaults defined"));const n=function(t,e){if(!isObject(t.schema))throw new ConfigError(formatErrorMessage(t,"Config passed as parameter into constructor but no schema defined"));const o={},s=Object.entries(t.schema.properties);for(const n of s){const[s,i]=n,r=s.toString();r in e&&(o[r]=normaliseString(e[r],i)),"object"===(null==i?void 0:i.type)&&(o[r]=extractConfigByNamespace(t.schema,e,s))}return o}(s,this._$root.dataset);this._config=mergeConfigs(s.defaults,null!=o?o:{},this[t](n),n)}}function normaliseString(t,e){const o=t?t.trim():"";let s,n=null==e?void 0:e.type;switch(n||(["true","false"].includes(o)&&(n="boolean"),o.length>0&&isFinite(Number(o))&&(n="number")),n){case"boolean":s="true"===o;break;case"number":s=Number(o);break;default:s=t}return s}function mergeConfigs(...t){const e={};for(const o of t)for(const t of Object.keys(o)){const s=e[t],n=o[t];isObject(s)&&isObject(n)?e[t]=mergeConfigs(s,n):e[t]=n}return e}function extractConfigByNamespace(t,e,o){const s=t.properties[o];if("object"!==(null==s?void 0:s.type))return;const n={[o]:{}};for(const[i,r]of Object.entries(e)){let t=n;const e=i.split(".");for(const[s,n]of e.entries())isObject(t)&&(s<e.length-1?(isObject(t[n])||(t[n]={}),t=t[n]):i!==o&&(t[n]=normaliseString(r)))}return n[o]}function createAll(t,e,o){let s,n=document;var i;"object"==typeof o&&(n=null!=(i=o.scope)?i:n,s=o.onError);"function"==typeof o&&(s=o),o instanceof HTMLElement&&(n=o);const r=n.querySelectorAll(`[data-module="${t.moduleName}"]`);return isSupported()?Array.from(r).map((o=>{try{return void 0!==e?new t(o,e):new t(o)}catch(n){return s?s(n,{element:o,component:t,config:e}):console.log(n),null}})).filter(Boolean):(s?s(new SupportError,{component:t,config:e}):console.log(new SupportError),[])}const version="5.1.2";class AddAnother extends Component{constructor(t){super(t),this.$root.addEventListener("click",this.onRemoveButtonClick.bind(this)),this.$root.addEventListener("click",this.onAddButtonClick.bind(this));this.$root.querySelectorAll(".moj-add-another__add-button, moj-add-another__remove-button").forEach((t=>{t instanceof HTMLButtonElement&&(t.type="button")}))}onAddButtonClick(t){const e=t.target;if(!(e&&e instanceof HTMLButtonElement&&e.classList.contains("moj-add-another__add-button")))return;const o=this.getItems(),s=this.getNewItem();if(!(s&&s instanceof HTMLElement))return;this.updateAttributes(s,o.length),this.resetItem(s);const n=o[0];this.hasRemoveButton(n)||this.createRemoveButton(n),o[o.length-1].after(s);const i=s.querySelector("input, textarea, select");i&&i instanceof HTMLInputElement&&i.focus()}hasRemoveButton(t){return t.querySelectorAll(".moj-add-another__remove-button").length}getItems(){if(!this.$root)return[];return Array.from(this.$root.querySelectorAll(".moj-add-another__item")).filter((t=>t instanceof HTMLElement))}getNewItem(){const t=this.getItems()[0].cloneNode(!0);if(t&&t instanceof HTMLElement)return this.hasRemoveButton(t)||this.createRemoveButton(t),t}updateAttributes(t,e){t.querySelectorAll("[data-name]").forEach((o=>{if(!this.isValidInputElement(o))return;const s=o.getAttribute("data-name")||"",n=o.getAttribute("data-id")||"",i=o.id;o.name=s.replace(/%index%/,`${e}`),o.id=n.replace(/%index%/,`${e}`);const r=o.parentElement.querySelector("label")||o.closest("label")||t.querySelector(`[for="${i}"]`);r&&r instanceof HTMLLabelElement&&(r.htmlFor=o.id)}))}createRemoveButton(t){const e=document.createElement("button");e.type="button",e.classList.add("govuk-button","govuk-button--secondary","moj-add-another__remove-button"),e.textContent="Remove",t.append(e)}resetItem(t){t.querySelectorAll("[data-name], [data-id]").forEach((t=>{if(this.isValidInputElement(t))if(t instanceof HTMLSelectElement)t.selectedIndex=-1,t.value="";else if(t instanceof HTMLTextAreaElement)t.value="";else switch(t.type){case"checkbox":case"radio":t.checked=!1;break;default:t.value=""}}))}onRemoveButtonClick(t){const e=t.target;if(!(e&&e instanceof HTMLButtonElement&&e.classList.contains("moj-add-another__remove-button")))return;e.closest(".moj-add-another__item").remove();const o=this.getItems();1===o.length&&o[0].querySelector(".moj-add-another__remove-button").remove(),o.forEach(((t,e)=>{this.updateAttributes(t,e)})),this.focusHeading()}focusHeading(){const t=this.$root.querySelector(".moj-add-another__heading");t&&t instanceof HTMLElement&&t.focus()}isValidInputElement(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement}}function setFocus(t,e={}){var o;const s=t.getAttribute("tabindex");function onBlur(){var o;null==(o=e.onBlur)||o.call(t),s||t.removeAttribute("tabindex")}s||t.setAttribute("tabindex","-1"),t.addEventListener("focus",(function(){t.addEventListener("blur",onBlur,{once:!0})}),{once:!0}),null==(o=e.onBeforeFocus)||o.call(t),t.focus()}function removeAttributeValue(t,e,o){let s,n;t.getAttribute(e)&&(t.getAttribute(e)===o?t.removeAttribute(e):(s=new RegExp(`(^|\\s)${o}(\\s|$)`),n=t.getAttribute(e).match(s),n&&3===n.length&&t.setAttribute(e,t.getAttribute(e).replace(s,n[1]&&n[2]?" ":""))))}function addAttributeValue(t,e,o){let s;t.getAttribute(e)?(s=new RegExp(`(^|\\s)${o}(\\s|$)`),s.test(t.getAttribute(e))||t.setAttribute(e,`${t.getAttribute(e)} ${o}`)):t.setAttribute(e,o)}AddAnother.moduleName="moj-add-another";class Alert extends ConfigurableComponent{constructor(t,e={}){super(t,e),"alert"!==this.$root.getAttribute("role")||this.config.disableAutoFocus||setFocus(this.$root),this.$dismissButton=this.$root.querySelector(".moj-alert__dismiss"),this.config.dismissible&&this.$dismissButton&&(this.$dismissButton.innerHTML=this.config.dismissText,this.$dismissButton.removeAttribute("hidden"),this.$root.addEventListener("click",(t=>{t.target instanceof Node&&this.$dismissButton.contains(t.target)&&this.dimiss()})))}dimiss(){let t;if(this.config.focusOnDismissSelector&&(t=document.querySelector(this.config.focusOnDismissSelector)),!t){const e=this.$root.nextElementSibling;e&&e.matches(".moj-alert")&&(t=e)}t||(t=function(t,e){if(!(t&&t instanceof HTMLElement))return;let o=t.previousElementSibling;for(;o;){if(o.matches(e))return o;o=o.previousElementSibling}}(this.$root,".moj-alert, h1, h2, h3, h4, h5, h6")),t||(t=function(t,e){if(!(t&&t instanceof HTMLElement))return;let o=t;for(;o;){if(o.matches(e))return o;let t=o.previousElementSibling;for(;t;){if(t.matches(e))return t;t=t.previousElementSibling}o=o.parentElement}}(this.$root,"h1, h2, h3, h4, h5, h6, main, body")),t instanceof HTMLElement&&setFocus(t),this.$root.remove()}}Alert.moduleName="moj-alert",Alert.defaults=Object.freeze({dismissible:!1,dismissText:"Dismiss",disableAutoFocus:!1}),Alert.schema=Object.freeze({properties:{dismissible:{type:"boolean"},dismissText:{type:"string"},disableAutoFocus:{type:"boolean"},focusOnDismissSelector:{type:"string"}}});class ButtonMenu extends ConfigurableComponent{constructor(t,e={}){if(super(t,e),1===this.$root.children.length){const t=this.$root.children[0];t.classList.forEach((e=>{e.startsWith("govuk-button-")&&t.classList.remove(e),t.classList.remove("moj-button-menu__item"),t.classList.add("moj-button-menu__single-button")})),this.config.buttonClasses&&t.classList.add(...this.config.buttonClasses.split(" "))}this.$root.children.length>1&&this.initMenu()}initMenu(){this.$menu=this.createMenu(),this.$root.insertAdjacentHTML("afterbegin",this.toggleTemplate()),this.setupMenuItems(),this.$menuToggle=this.$root.querySelector(":scope > button"),this.$items=this.$menu.querySelectorAll("a, button"),this.$menuToggle.addEventListener("click",(t=>{this.toggleMenu(t)})),this.$root.addEventListener("keydown",(t=>{this.handleKeyDown(t)})),document.addEventListener("click",(t=>{t.target instanceof Node&&!this.$root.contains(t.target)&&this.closeMenu(!1)}))}createMenu(){const t=document.createElement("ul");for(t.setAttribute("role","list"),t.hidden=!0,t.classList.add("moj-button-menu__wrapper"),"right"===this.config.alignMenu&&t.classList.add("moj-button-menu__wrapper--right"),this.$root.appendChild(t);this.$root.firstChild!==t;)t.appendChild(this.$root.firstChild);return t}setupMenuItems(){Array.from(this.$menu.children).forEach((t=>{const e=document.createElement("li");this.$menu.insertBefore(e,t),e.appendChild(t),t.setAttribute("tabindex","-1"),"BUTTON"===t.tagName&&t.setAttribute("type","button"),t.classList.forEach((e=>{e.startsWith("govuk-button")&&t.classList.remove(e)})),t.addEventListener("click",(()=>{setTimeout((()=>{this.closeMenu(!1)}),50)}))}))}toggleTemplate(){return`\n <button type="button" class="govuk-button moj-button-menu__toggle-button ${this.config.buttonClasses||""}" aria-haspopup="true" aria-expanded="false">\n <span>\n ${this.config.buttonText}\n <svg width="11" height="5" viewBox="0 0 11 5" xmlns="http://www.w3.org/2000/svg">\n <path d="M5.5 0L11 5L0 5L5.5 0Z" fill="currentColor"/>\n </svg>\n </span>\n </button>`}isOpen(){return"true"===this.$menuToggle.getAttribute("aria-expanded")}toggleMenu(t){t.preventDefault();const e=0===t.detail?0:-1;this.isOpen()?this.closeMenu():this.openMenu(e)}openMenu(t=0){this.$menu.hidden=!1,this.$menuToggle.setAttribute("aria-expanded","true"),-1!==t&&this.focusItem(t)}closeMenu(t=!0){this.$menu.hidden=!0,this.$menuToggle.setAttribute("aria-expanded","false"),t&&this.$menuToggle.focus()}focusItem(t){t>=this.$items.length&&(t=0),t<0&&(t=this.$items.length-1);const e=this.$items.item(t);e&&e.focus()}currentFocusIndex(){const t=document.activeElement,e=Array.from(this.$items);return(t instanceof HTMLAnchorElement||t instanceof HTMLButtonElement)&&e.indexOf(t)}handleKeyDown(t){if(t.target===this.$menuToggle)switch(t.key){case"ArrowDown":t.preventDefault(),this.openMenu();break;case"ArrowUp":t.preventDefault(),this.openMenu(this.$items.length-1)}if(t.target instanceof Node&&this.$menu.contains(t.target)&&this.isOpen())switch(t.key){case"ArrowDown":t.preventDefault(),-1!==this.currentFocusIndex()&&this.focusItem(this.currentFocusIndex()+1);break;case"ArrowUp":t.preventDefault(),-1!==this.currentFocusIndex()&&this.focusItem(this.currentFocusIndex()-1);break;case"Home":t.preventDefault(),this.focusItem(0);break;case"End":t.preventDefault(),this.focusItem(this.$items.length-1)}"Escape"===t.key&&this.isOpen()&&this.closeMenu(),"Tab"===t.key&&this.isOpen()&&this.closeMenu(!1)}}ButtonMenu.moduleName="moj-button-menu",ButtonMenu.defaults=Object.freeze({buttonText:"Actions",alignMenu:"left",buttonClasses:""}),ButtonMenu.schema=Object.freeze({properties:{buttonText:{type:"string"},buttonClasses:{type:"string"},alignMenu:{type:"string"}}});class DatePicker extends ConfigurableComponent{constructor(t,e={}){var o;super(t,e);const s=null!=(o=this.config.input.element)?o:this.$root.querySelector(this.config.input.selector);if(!(s&&s instanceof HTMLInputElement))return this;this.$input=s,this.dayLabels=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],this.monthLabels=["January","February","March","April","May","June","July","August","September","October","November","December"],this.currentDate=new Date,this.currentDate.setHours(0,0,0,0),this.calendarDays=[],this.excludedDates=[],this.excludedDays=[],this.buttonClass="moj-datepicker__button",this.selectedDayButtonClass="moj-datepicker__button--selected",this.currentDayButtonClass="moj-datepicker__button--current",this.todayButtonClass="moj-datepicker__button--today",this.setOptions(),this.initControls()}initControls(){this.id=`datepicker-${this.$input.id}`,this.$dialog=this.createDialog(),this.createCalendarHeaders();const t=document.createElement("div"),e=document.createElement("div");t.classList.add("moj-datepicker__wrapper"),e.classList.add("govuk-input__wrapper"),this.$input.parentElement.insertBefore(t,this.$input),t.appendChild(e),e.appendChild(this.$input),e.insertAdjacentHTML("beforeend",this.toggleTemplate()),t.insertAdjacentElement("beforeend",this.$dialog),this.$calendarButton=this.$root.querySelector(".moj-js-datepicker-toggle"),this.$dialogTitle=this.$dialog.querySelector(".moj-js-datepicker-month-year"),this.createCalendar(),this.$prevMonthButton=this.$dialog.querySelector(".moj-js-datepicker-prev-month"),this.$prevYearButton=this.$dialog.querySelector(".moj-js-datepicker-prev-year"),this.$nextMonthButton=this.$dialog.querySelector(".moj-js-datepicker-next-month"),this.$nextYearButton=this.$dialog.querySelector(".moj-js-datepicker-next-year"),this.$cancelButton=this.$dialog.querySelector(".moj-js-datepicker-cancel"),this.$okButton=this.$dialog.querySelector(".moj-js-datepicker-ok"),this.$prevMonthButton.addEventListener("click",(t=>this.focusPreviousMonth(t,!1))),this.$prevYearButton.addEventListener("click",(t=>this.focusPreviousYear(t,!1))),this.$nextMonthButton.addEventListener("click",(t=>this.focusNextMonth(t,!1))),this.$nextYearButton.addEventListener("click",(t=>this.focusNextYear(t,!1))),this.$cancelButton.addEventListener("click",(t=>{t.preventDefault(),this.closeDialog()})),this.$okButton.addEventListener("click",(()=>{this.selectDate(this.currentDate)}));const o=this.$dialog.querySelectorAll('button:not([disabled="true"])');this.$firstButtonInDialog=o[0],this.$lastButtonInDialog=o[o.length-1],this.$firstButtonInDialog.addEventListener("keydown",(t=>this.firstButtonKeydown(t))),this.$lastButtonInDialog.addEventListener("keydown",(t=>this.lastButtonKeydown(t))),this.$calendarButton.addEventListener("click",(t=>this.toggleDialog(t))),this.$dialog.addEventListener("keydown",(t=>{"Escape"===t.key&&(this.closeDialog(),t.preventDefault(),t.stopPropagation())})),document.body.addEventListener("mouseup",(t=>this.backgroundClick(t))),this.updateCalendar()}createDialog(){const t=`datepicker-title-${this.$input.id}`,e=document.createElement("div");return e.id=this.id,e.setAttribute("class","moj-datepicker__dialog"),e.setAttribute("role","dialog"),e.setAttribute("aria-modal","true"),e.setAttribute("aria-labelledby",t),e.innerHTML=this.dialogTemplate(t),e.hidden=!0,e}createCalendar(){const t=this.$dialog.querySelector("tbody");let e=0;for(let o=0;o<6;o++){const s=t.insertRow(o);for(let t=0;t<7;t++){const n=document.createElement("td"),i=document.createElement("button");n.appendChild(i),s.appendChild(n);const r=new DSCalendarDay(i,e,o,t,this);this.calendarDays.push(r),e++}}}toggleTemplate(){return`<button class="moj-datepicker__toggle moj-js-datepicker-toggle" type="button" aria-haspopup="dialog" aria-controls="${this.id}" aria-expanded="false">\n <span class="govuk-visually-hidden">Choose date</span>\n <svg width="32" height="24" focusable="false" class="moj-datepicker-icon" aria-hidden="true" role="img" viewBox="0 0 22 22">\n <path\n fill="currentColor"\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M16.1333 2.93333H5.86668V4.4C5.86668 5.21002 5.21003 5.86667 4.40002 5.86667C3.59 5.86667 2.93335 5.21002 2.93335 4.4V2.93333H2C0.895431 2.93333 0 3.82877 0 4.93334V19.2667C0 20.3712 0.89543 21.2667 2 21.2667H20C21.1046 21.2667 22 20.3712 22 19.2667V4.93333C22 3.82876 21.1046 2.93333 20 2.93333H19.0667V4.4C19.0667 5.21002 18.41 5.86667 17.6 5.86667C16.79 5.86667 16.1333 5.21002 16.1333 4.4V2.93333ZM20.5333 8.06667H1.46665V18.8C1.46665 19.3523 1.91436 19.8 2.46665 19.8H19.5333C20.0856 19.8 20.5333 19.3523 20.5333 18.8V8.06667Z"\n ></path>\n <rect x="3.66669" width="1.46667" height="5.13333" rx="0.733333" fill="currentColor"></rect>\n <rect x="16.8667" width="1.46667" height="5.13333" rx="0.733333" fill="currentColor"></rect>\n </svg>\n </button>`}dialogTemplate(t){return`<div class="moj-datepicker__dialog-header">\n <div class="moj-datepicker__dialog-navbuttons">\n <button class="moj-datepicker__button moj-js-datepicker-prev-year">\n <span class="govuk-visually-hidden">Previous year</span>\n <svg width="44" height="40" viewBox="0 0 44 40" fill="none" fill="none" focusable="false" aria-hidden="true" role="img">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M23.1643 20L28.9572 14.2071L27.5429 12.7929L20.3358 20L27.5429 27.2071L28.9572 25.7929L23.1643 20Z" fill="currentColor"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M17.1643 20L22.9572 14.2071L21.5429 12.7929L14.3358 20L21.5429 27.2071L22.9572 25.7929L17.1643 20Z" fill="currentColor"/>\n </svg>\n </button>\n\n <button class="moj-datepicker__button moj-js-datepicker-prev-month">\n <span class="govuk-visually-hidden">Previous month</span>\n <svg width="44" height="40" viewBox="0 0 44 40" fill="none" focusable="false" aria-hidden="true" role="img">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M20.5729 20L25.7865 14.2071L24.5137 12.7929L18.0273 20L24.5137 27.2071L25.7865 25.7929L20.5729 20Z" fill="currentColor"/>\n </svg>\n </button>\n </div>\n\n <h2 id="${t}" class="moj-datepicker__dialog-title moj-js-datepicker-month-year" aria-live="polite">June 2020</h2>\n\n <div class="moj-datepicker__dialog-navbuttons">\n <button class="moj-datepicker__button moj-js-datepicker-next-month">\n <span class="govuk-visually-hidden">Next month</span>\n <svg width="44" height="40" viewBox="0 0 44 40" fill="none" focusable="false" aria-hidden="true" role="img">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M23.4271 20L18.2135 14.2071L19.4863 12.7929L25.9727 20L19.4863 27.2071L18.2135 25.7929L23.4271 20Z" fill="currentColor"/>\n </svg>\n </button>\n\n <button class="moj-datepicker__button moj-js-datepicker-next-year">\n <span class="govuk-visually-hidden">Next year</span>\n <svg width="44" height="40" viewBox="0 0 44 40" fill="none" fill="none" focusable="false" aria-hidden="true" role="img">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M20.8357 20L15.0428 14.2071L16.4571 12.7929L23.6642 20L16.4571 27.2071L15.0428 25.7929L20.8357 20Z" fill="currentColor"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M26.8357 20L21.0428 14.2071L22.4571 12.7929L29.6642 20L22.4571 27.2071L21.0428 25.7929L26.8357 20Z" fill="currentColor"/>\n </svg>\n </button>\n </div>\n </div>\n\n <table class="moj-datepicker__calendar moj-js-datepicker-grid" role="grid" aria-labelledby="${t}">\n <thead>\n <tr></tr>\n </thead>\n\n <tbody></tbody>\n </table>\n\n <div class="govuk-button-group">\n <button type="button" class="govuk-button moj-js-datepicker-ok">Select</button>\n <button type="button" class="govuk-button govuk-button--secondary moj-js-datepicker-cancel">Close</button>\n </div>`}createCalendarHeaders(){this.dayLabels.forEach((t=>{const e=`<th scope="col"><span aria-hidden="true">${t.substring(0,3)}</span><span class="govuk-visually-hidden">${t}</span></th>`;this.$dialog.querySelector("thead > tr").insertAdjacentHTML("beforeend",e)}))}leadingZeros(t,e=2){let o=t.toString();for(;o.length<e;)o=`0${o}`;return o}setOptions(){this.setMinAndMaxDatesOnCalendar(),this.setExcludedDates(),this.setExcludedDays(),this.setWeekStartDay()}setMinAndMaxDatesOnCalendar(){this.config.minDate&&(this.minDate=this.formattedDateFromString(this.config.minDate,null),this.minDate&&this.currentDate<this.minDate&&(this.currentDate=this.minDate)),this.config.maxDate&&(this.maxDate=this.formattedDateFromString(this.config.maxDate,null),this.maxDate&&this.currentDate>this.maxDate&&(this.currentDate=this.maxDate))}setExcludedDates(){this.config.excludedDates&&(this.excludedDates=this.config.excludedDates.replace(/\s+/," ").split(" ").map((t=>t.includes("-")?this.parseDateRangeString(t):[this.formattedDateFromString(t)])).reduce(((t,e)=>t.concat(e))).filter((t=>t)))}parseDateRangeString(t){const e=[],[o,s]=t.split("-").map((t=>this.formattedDateFromString(t,null)));if(o&&s){const t=new Date(o.getTime());for(;t<=s;)e.push(new Date(t)),t.setDate(t.getDate()+1)}return e}setExcludedDays(){if(this.config.excludedDays){const t=this.dayLabels.map((t=>t.toLowerCase()));"monday"===this.config.weekStartDay&&t.unshift(t.pop()),this.excludedDays=this.config.excludedDays.replace(/\s+/," ").toLowerCase().split(" ").map((e=>t.indexOf(e))).filter((t=>-1!==t))}}setWeekStartDay(){const t=this.config.weekStartDay;t&&"sunday"===t.toLowerCase()?(this.config.weekStartDay="sunday",this.dayLabels.unshift(this.dayLabels.pop())):this.config.weekStartDay="monday"}isExcludedDate(t){if(this.minDate&&this.minDate>t)return!0;if(this.maxDate&&this.maxDate<t)return!0;for(const e of this.excludedDates)if(t.toDateString()===e.toDateString())return!0;return!!this.excludedDays.includes(t.getDay())}formattedDateFromString(t,e=new Date){let o=null;const s=/(\d{1,2})([-/,. ])(\d{1,2})\2(\d{4})/;if(!s.test(t))return e;const n=s.exec(t),i=n[1],r=n[3],a=n[4];return o=new Date(`${a}-${r}-${i}`),o instanceof Date&&Number.isFinite(o.getTime())?o:e}formattedDateFromDate(t){return this.config.leadingZeros?`${this.leadingZeros(t.getDate())}/${this.leadingZeros(t.getMonth()+1)}/${t.getFullYear()}`:`${t.getDate()}/${t.getMonth()+1}/${t.getFullYear()}`}formattedDateHuman(t){return`${this.dayLabels[(t.getDay()+6)%7]} ${t.getDate()} ${this.monthLabels[t.getMonth()]} ${t.getFullYear()}`}backgroundClick(t){this.isOpen()&&t.target instanceof Node&&!this.$dialog.contains(t.target)&&!this.$input.contains(t.target)&&!this.$calendarButton.contains(t.target)&&(t.preventDefault(),this.closeDialog())}firstButtonKeydown(t){"Tab"===t.key&&t.shiftKey&&(this.$lastButtonInDialog.focus(),t.preventDefault())}lastButtonKeydown(t){"Tab"!==t.key||t.shiftKey||(this.$firstButtonInDialog.focus(),t.preventDefault())}updateCalendar(){this.$dialogTitle.innerHTML=`${this.monthLabels[this.currentDate.getMonth()]} ${this.currentDate.getFullYear()}`;const t=this.currentDate,e=new Date(t.getFullYear(),t.getMonth(),1);let o;o="monday"===this.config.weekStartDay?0===e.getDay()?6:e.getDay()-1:e.getDay(),e.setDate(e.getDate()-o);const s=new Date(e);for(const n of this.calendarDays){const e=s.getMonth()!==t.getMonth(),o=this.isExcludedDate(s);n.update(s,e,o),s.setDate(s.getDate()+1)}}setCurrentDate(t=!0){const{currentDate:e}=this;if(this.calendarDays.forEach((o=>{o.$button.classList.add("moj-datepicker__button"),o.$button.classList.add("moj-datepicker__calendar-day"),o.$button.setAttribute("tabindex","-1"),o.$button.classList.remove(this.selectedDayButtonClass);const s=o.date;s.setHours(0,0,0,0);const n=new Date;n.setHours(0,0,0,0),s.getTime()===e.getTime()&&t&&(o.$button.setAttribute("tabindex","0"),o.$button.focus(),o.$button.classList.add(this.selectedDayButtonClass)),this.inputDate&&s.getTime()===this.inputDate.getTime()?(o.$button.classList.add(this.currentDayButtonClass),o.$button.setAttribute("aria-current","date")):(o.$button.classList.remove(this.currentDayButtonClass),o.$button.removeAttribute("aria-current")),s.getTime()===n.getTime()?o.$button.classList.add(this.todayButtonClass):o.$button.classList.remove(this.todayButtonClass)})),!t){const t=this.calendarDays.filter((t=>"block"===window.getComputedStyle(t.$button).display&&!t.$button.disabled));t[0].$button.setAttribute("tabindex","0"),this.currentDate=t[0].date}}selectDate(t){if(this.isExcludedDate(t))return;this.$calendarButton.querySelector("span").innerText=`Choose date. Selected date is ${this.formattedDateHuman(t)}`,this.$input.value=this.formattedDateFromDate(t);const e=new Event("change",{bubbles:!0,cancelable:!0});this.$input.dispatchEvent(e),this.closeDialog()}isOpen(){return this.$dialog.classList.contains("moj-datepicker__dialog--open")}toggleDialog(t){t.preventDefault(),this.isOpen()?this.closeDialog():(this.setMinAndMaxDatesOnCalendar(),this.openDialog())}openDialog(){this.$dialog.hidden=!1,this.$dialog.classList.add("moj-datepicker__dialog--open"),this.$calendarButton.setAttribute("aria-expanded","true"),this.$input.offsetWidth>this.$dialog.offsetWidth&&(this.$dialog.style.right="0px"),this.$dialog.style.top=`${this.$input.offsetHeight+3}px`,this.inputDate=this.formattedDateFromString(this.$input.value),this.currentDate=this.inputDate,this.currentDate.setHours(0,0,0,0),this.updateCalendar(),this.setCurrentDate()}closeDialog(){this.$dialog.hidden=!0,this.$dialog.classList.remove("moj-datepicker__dialog--open"),this.$calendarButton.setAttribute("aria-expanded","false"),this.$calendarButton.focus()}goToDate(t,e){const o=this.currentDate;this.currentDate=t,o.getMonth()===this.currentDate.getMonth()&&o.getFullYear()===this.currentDate.getFullYear()||this.updateCalendar(),this.setCurrentDate(e)}focusNextDay(){const t=new Date(this.currentDate);t.setDate(t.getDate()+1),this.goToDate(t)}focusPreviousDay(){const t=new Date(this.currentDate);t.setDate(t.getDate()-1),this.goToDate(t)}focusNextWeek(){const t=new Date(this.currentDate);t.setDate(t.getDate()+7),this.goToDate(t)}focusPreviousWeek(){const t=new Date(this.currentDate);t.setDate(t.getDate()-7),this.goToDate(t)}focusFirstDayOfWeek(){const t=new Date(this.currentDate),e="sunday"===this.config.weekStartDay?0:1,o=t.getDay(),s=o>=e?o-e:6-o;t.setDate(t.getDate()-s),t.setHours(0,0,0,0),this.goToDate(t)}focusLastDayOfWeek(){const t=new Date(this.currentDate),e="sunday"===this.config.weekStartDay?6:0,o=t.getDay(),s=o<=e?e-o:7-o;t.setDate(t.getDate()+s),t.setHours(0,0,0,0),this.goToDate(t)}focusNextMonth(t,e=!0){t.preventDefault();const o=new Date(this.currentDate);o.setMonth(o.getMonth()+1,1),this.goToDate(o,e)}focusPreviousMonth(t,e=!0){t.preventDefault();const o=new Date(this.currentDate);o.setMonth(o.getMonth()-1,1),this.goToDate(o,e)}focusNextYear(t,e=!0){t.preventDefault();const o=new Date(this.currentDate);o.setFullYear(o.getFullYear()+1,o.getMonth(),1),this.goToDate(o,e)}focusPreviousYear(t,e=!0){t.preventDefault();const o=new Date(this.currentDate);o.setFullYear(o.getFullYear()-1,o.getMonth(),1),this.goToDate(o,e)}}DatePicker.moduleName="moj-date-picker",DatePicker.defaults=Object.freeze({leadingZeros:!1,weekStartDay:"monday",input:{selector:".moj-js-datepicker-input"}}),DatePicker.schema=Object.freeze({properties:{excludedDates:{type:"string"},excludedDays:{type:"string"},leadingZeros:{type:"boolean"},maxDate:{type:"string"},minDate:{type:"string"},weekStartDay:{type:"string"},input:{type:"object"}}});class DSCalendarDay{constructor(t,e,o,s,n){this.index=e,this.row=o,this.column=s,this.$button=t,this.picker=n,this.date=new Date,this.$button.addEventListener("keydown",this.keyPress.bind(this)),this.$button.addEventListener("click",this.click.bind(this))}update(t,e,o){const s=t.getDate();let n=this.picker.formattedDateHuman(t);o?(this.$button.setAttribute("aria-disabled","true"),n=`Excluded date, ${n}`):this.$button.removeAttribute("aria-disabled"),this.$button.style.display=e?"none":"block",this.$button.setAttribute("data-testid",this.picker.formattedDateFromDate(t)),this.$button.innerHTML=`<span class="govuk-visually-hidden">${n}</span><span aria-hidden="true">${s}</span>`,this.date=new Date(t)}click(t){this.picker.goToDate(this.date),this.picker.selectDate(this.date),t.stopPropagation(),t.preventDefault()}keyPress(t){let e=!0;switch(t.key){case"ArrowLeft":this.picker.focusPreviousDay();break;case"ArrowRight":this.picker.focusNextDay();break;case"ArrowUp":this.picker.focusPreviousWeek();break;case"ArrowDown":this.picker.focusNextWeek();break;case"Home":this.picker.focusFirstDayOfWeek();break;case"End":this.picker.focusLastDayOfWeek();break;case"PageUp":t.shiftKey?this.picker.focusPreviousYear(t):this.picker.focusPreviousMonth(t);break;case"PageDown":t.shiftKey?this.picker.focusNextYear(t):this.picker.focusNextMonth(t);break;default:e=!1}e&&(t.preventDefault(),t.stopPropagation())}}class FilterToggleButton extends ConfigurableComponent{constructor(t,e={}){var o,s;super(t,e);const n=null!=(o=this.config.toggleButtonContainer.element)?o:document.querySelector(this.config.toggleButtonContainer.selector),i=null!=(s=this.config.closeButtonContainer.element)?s:this.$root.querySelector(this.config.closeButtonContainer.selector);if(!(n instanceof HTMLElement&&i instanceof HTMLElement))return this;this.$toggleButtonContainer=n,this.$closeButtonContainer=i,this.createToggleButton(),this.setupResponsiveChecks(),this.$root.setAttribute("tabindex","-1"),this.config.startHidden&&this.hideMenu()}setupResponsiveChecks(){this.mq=window.matchMedia(this.config.bigModeMediaQuery),this.mq.addListener(this.checkMode.bind(this)),this.checkMode()}createToggleButton(){this.$menuButton=document.createElement("button"),this.$menuButton.setAttribute("type","button"),this.$menuButton.setAttribute("aria-haspopup","true"),this.$menuButton.setAttribute("aria-expanded","false"),this.$menuButton.className=`govuk-button ${this.config.toggleButton.classes}`,this.$menuButton.textContent=this.config.toggleButton.showText,this.$menuButton.addEventListener("click",this.onMenuButtonClick.bind(this)),this.$toggleButtonContainer.append(this.$menuButton)}checkMode(){this.mq.matches?this.enableBigMode():this.enableSmallMode()}enableBigMode(){this.showMenu(),this.removeCloseButton()}enableSmallMode(){this.hideMenu(),this.addCloseButton()}addCloseButton(){this.$closeButton=document.createElement("button"),this.$closeButton.setAttribute("type","button"),this.$closeButton.className=this.config.closeButton.classes,this.$closeButton.textContent=this.config.closeButton.text,this.$closeButton.addEventListener("click",this.onCloseClick.bind(this)),this.$closeButtonContainer.append(this.$closeButton)}onCloseClick(){this.hideMenu(),this.$menuButton.focus()}removeCloseButton(){this.$closeButton&&(this.$closeButton.remove(),this.$closeButton=null)}hideMenu(){this.$menuButton.setAttribute("aria-expanded","false"),this.$root.classList.add("moj-js-hidden"),this.$menuButton.textContent=this.config.toggleButton.showText}showMenu(){this.$menuButton.setAttribute("aria-expanded","true"),this.$root.classList.remove("moj-js-hidden"),this.$menuButton.textContent=this.config.toggleButton.hideText}onMenuButtonClick(){this.toggle()}toggle(){"false"===this.$menuButton.getAttribute("aria-expanded")?(this.showMenu(),this.$root.focus()):this.hideMenu()}}FilterToggleButton.moduleName="moj-filter",FilterToggleButton.defaults=Object.freeze({bigModeMediaQuery:"(min-width: 48.0625em)",startHidden:!0,toggleButton:{showText:"Show filter",hideText:"Hide filter",classes:"govuk-button--secondary"},toggleButtonContainer:{selector:".moj-action-bar__filter"},closeButton:{text:"Close",classes:"moj-filter__close"},closeButtonContainer:{selector:".moj-filter__header-action"}}),FilterToggleButton.schema=Object.freeze({properties:{bigModeMediaQuery:{type:"string"},startHidden:{type:"boolean"},toggleButton:{type:"object"},toggleButtonContainer:{type:"object"},closeButton:{type:"object"},closeButtonContainer:{type:"object"}}});class FormValidator extends ConfigurableComponent{constructor(t,e={}){super(t,e);const o=this.config.summary.element||document.querySelector(this.config.summary.selector);if(!(o&&o instanceof HTMLElement))return this;this.$summary=o,this.errors=[],this.validators=[],this.originalTitle=document.title,this.$root.addEventListener("submit",this.onSubmit.bind(this))}escapeHtml(t=""){return String(t).replace(/[&<>"'`=/]/g,(t=>FormValidator.entityMap[t]))}resetTitle(){document.title=this.originalTitle}updateTitle(){document.title=`${this.errors.length} errors - ${document.title}`}showSummary(){this.$summary.innerHTML=this.getSummaryHtml(),this.$summary.classList.remove("moj-hidden"),this.$summary.setAttribute("aria-labelledby","errorSummary-heading"),this.$summary.focus()}getSummaryHtml(){let t='<h2 id="error-summary-title" class="govuk-error-summary__title">There is a problem</h2>';t+='<div class="govuk-error-summary__body">',t+='<ul class="govuk-list govuk-error-summary__list">';for(const e of this.errors)t+="<li>",t+=`<a href="#${this.escapeHtml(e.fieldName)}">`,t+=this.escapeHtml(e.message),t+="</a>",t+="</li>";return t+="</ul>",t+="</div>",t}hideSummary(){this.$summary.classList.add("moj-hidden"),this.$summary.removeAttribute("aria-labelledby")}onSubmit(t){this.removeInlineErrors(),this.hideSummary(),this.resetTitle(),this.validate()||(t.preventDefault(),this.updateTitle(),this.showSummary(),this.showInlineErrors())}showInlineErrors(){for(const t of this.errors)this.showInlineError(t)}showInlineError(t){const e=document.createElement("span");e.id=`${t.fieldName}-error`,e.classList.add("govuk-error-message"),e.innerHTML=this.escapeHtml(t.message);const o=document.querySelector(`#${t.fieldName}`),s=o.closest(".govuk-fieldset"),n=(s||o).closest(".govuk-form-group"),i=n.querySelector("label"),r=n.querySelector("legend");n.classList.add("govuk-form-group--error"),s&&r?(r.after(e),n.setAttribute("aria-invalid","true"),addAttributeValue(s,"aria-describedby",e.id)):i&&o&&(i.after(e),o.setAttribute("aria-invalid","true"),addAttributeValue(o,"aria-describedby",e.id))}removeInlineErrors(){for(const t of this.errors)this.removeInlineError(t)}removeInlineError(t){const e=document.querySelector(`#${t.fieldName}-error`),o=document.querySelector(`#${t.fieldName}`),s=o.closest(".govuk-fieldset"),n=(s||o).closest(".govuk-form-group"),i=n.querySelector("label"),r=n.querySelector("legend");e.remove(),n.classList.remove("govuk-form-group--error"),s&&r?(n.removeAttribute("aria-invalid"),removeAttributeValue(s,"aria-describedby",e.id)):i&&o&&(o.removeAttribute("aria-invalid"),removeAttributeValue(o,"aria-describedby",e.id))}addValidator(t,e){this.validators.push({fieldName:t,rules:e,field:this.$root.elements.namedItem(t)})}validate(){this.errors=[];let t,e,o=null,s=!0;for(t=0;t<this.validators.length;t++)for(o=this.validators[t],e=0;e<o.rules.length;e++){if(s=o.rules[e].method(o.field,o.rules[e].params),"boolean"==typeof s&&!s){this.errors.push({fieldName:o.fieldName,message:o.rules[e].message});break}if("string"==typeof s){this.errors.push({fieldName:s,message:o.rules[e].message});break}}return 0===this.errors.length}}FormValidator.entityMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"},FormValidator.moduleName="moj-form-validator",FormValidator.defaults=Object.freeze({summary:{selector:".govuk-error-summary"}}),FormValidator.schema=Object.freeze({properties:{summary:{type:"object"}}});class MultiFileUpload extends ConfigurableComponent{constructor(t,e={}){var o;if(super(t,e),!MultiFileUpload.isSupported())return this;const s=null!=(o=this.config.feedbackContainer.element)?o:this.$root.querySelector(this.config.feedbackContainer.selector);if(!(s&&s instanceof HTMLElement))return this;this.$feedbackContainer=s,this.setupFileInput(),this.setupDropzone(),this.setupLabel(),this.setupStatusBox(),this.$root.addEventListener("click",this.onFileDeleteClick.bind(this)),this.$root.classList.add("moj-multi-file-upload--enhanced")}setupDropzone(){this.$dropzone=document.createElement("div"),this.$dropzone.classList.add("moj-multi-file-upload__dropzone"),this.$dropzone.addEventListener("dragover",this.onDragOver.bind(this)),this.$dropzone.addEventListener("dragleave",this.onDragLeave.bind(this)),this.$dropzone.addEventListener("drop",this.onDrop.bind(this)),this.$fileInput.replaceWith(this.$dropzone),this.$dropzone.appendChild(this.$fileInput)}setupLabel(){const t=document.createElement("label");t.setAttribute("for",this.$fileInput.id),t.classList.add("govuk-button","govuk-button--secondary"),t.textContent=this.config.dropzoneButtonText;const e=document.createElement("p");e.classList.add("govuk-body"),e.textContent=this.config.dropzoneHintText,this.$label=t,this.$dropzone.append(e),this.$dropzone.append(t)}setupFileInput(){this.$fileInput=this.$root.querySelector(".moj-multi-file-upload__input"),this.$fileInput.addEventListener("change",this.onFileChange.bind(this)),this.$fileInput.addEventListener("focus",this.onFileFocus.bind(this)),this.$fileInput.addEventListener("blur",this.onFileBlur.bind(this))}setupStatusBox(){this.$status=document.createElement("div"),this.$status.classList.add("govuk-visually-hidden"),this.$status.setAttribute("aria-live","polite"),this.$status.setAttribute("role","status"),this.$dropzone.append(this.$status)}onDragOver(t){t.preventDefault(),this.$dropzone.classList.add("moj-multi-file-upload--dragover")}onDragLeave(){this.$dropzone.classList.remove("moj-multi-file-upload--dragover")}onDrop(t){t.preventDefault(),this.$dropzone.classList.remove("moj-multi-file-upload--dragover"),this.$feedbackContainer.classList.remove("moj-hidden"),this.$status.textContent=this.config.uploadStatusText,this.uploadFiles(t.dataTransfer.files)}uploadFiles(t){for(const e of Array.from(t))this.uploadFile(e)}onFileChange(){this.$feedbackContainer.classList.remove("moj-hidden"),this.$status.textContent=this.config.uploadStatusText,this.uploadFiles(this.$fileInput.files);const t=this.$fileInput.cloneNode(!0);t&&t instanceof HTMLInputElement&&(t.value="",this.$fileInput.replaceWith(t),this.setupFileInput(),this.$fileInput.focus())}onFileFocus(){this.$label.classList.add("moj-multi-file-upload--focused")}onFileBlur(){this.$label.classList.remove("moj-multi-file-upload--focused")}getSuccessHtml(t){return`<span class="moj-multi-file-upload__success"> <svg class="moj-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25"><path d="M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"/></svg>${t.messageHtml}</span>`}getErrorHtml(t){return`<span class="moj-multi-file-upload__error"> <svg class="moj-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25"><path d="M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"/></svg>${t.message}</span>`}getFileRow(t){const e=document.createElement("div");return e.classList.add("govuk-summary-list__row","moj-multi-file-upload__row"),e.innerHTML=`\n <div class="govuk-summary-list__value moj-multi-file-upload__message">\n <span class="moj-multi-file-upload__filename">${t.name}</span>\n <span class="moj-multi-file-upload__progress">0%</span>\n </div>\n <div class="govuk-summary-list__actions moj-multi-file-upload__actions"></div>\n `,e}getDeleteButton(t){const e=document.createElement("button");return e.setAttribute("type","button"),e.setAttribute("name","delete"),e.setAttribute("value",t.filename),e.classList.add("moj-multi-file-upload__delete","govuk-button","govuk-button--secondary","govuk-!-margin-bottom-0"),e.innerHTML=`Delete <span class="govuk-visually-hidden">${t.originalname}</span>`,e}uploadFile(t){this.config.hooks.entryHook(this,t);const e=this.getFileRow(t),o=e.querySelector(".moj-multi-file-upload__message"),s=e.querySelector(".moj-multi-file-upload__actions"),n=e.querySelector(".moj-multi-file-upload__progress"),i=new FormData;i.append("documents",t),this.$feedbackContainer.querySelector(".moj-multi-file-upload__list").append(e);const r=new XMLHttpRequest,onError=()=>{const e=new Error(r.response&&"error"in r.response?r.response.error.message:r.statusText||"Upload failed");o.innerHTML=this.getErrorHtml(e),this.$status.textContent=e.message,this.config.hooks.errorHook(this,t,r,r.responseText,e)};r.addEventListener("load",(()=>{if(r.status<200||r.status>=300||!("success"in r.response))return onError();o.innerHTML=this.getSuccessHtml(r.response.success),this.$status.textContent=r.response.success.messageText,s.append(this.getDeleteButton(r.response.file)),this.config.hooks.exitHook(this,t,r,r.responseText)})),r.addEventListener("error",onError),r.upload.addEventListener("progress",(t=>{if(!t.lengthComputable)return;const e=Math.round(t.loaded/t.total*100);n.textContent=` ${e}%`})),r.open("POST",this.config.uploadUrl),r.responseType="json",r.send(i)}onFileDeleteClick(t){const e=t.target;if(!(e&&e instanceof HTMLButtonElement&&e.classList.contains("moj-multi-file-upload__delete")))return;t.preventDefault();const o=new XMLHttpRequest;o.addEventListener("load",(()=>{if(o.status<200||o.status>=300)return;const t=Array.from(this.$feedbackContainer.querySelectorAll(".moj-multi-file-upload__row"));1===t.length&&this.$feedbackContainer.classList.add("moj-hidden");const s=t.find((t=>t.contains(e)));s&&s.remove(),this.config.hooks.deleteHook(this,void 0,o,o.responseText)})),o.open("POST",this.config.deleteUrl),o.setRequestHeader("Content-Type","application/json"),o.responseType="json",o.send(JSON.stringify({[e.name]:e.value}))}static isSupported(){return this.isDragAndDropSupported()&&this.isFormDataSupported()&&this.isFileApiSupported()}static isDragAndDropSupported(){return void 0!==document.createElement("div").ondrop}static isFormDataSupported(){return"function"==typeof FormData}static isFileApiSupported(){const t=document.createElement("input");return t.type="file",void 0!==t.files}}MultiFileUpload.moduleName="moj-multi-file-upload",MultiFileUpload.defaults=Object.freeze({uploadStatusText:"Uploading files, please wait",dropzoneHintText:"Drag and drop files here or",dropzoneButtonText:"Choose files",feedbackContainer:{selector:".moj-multi-file__uploaded-files"},hooks:{entryHook:()=>{},exitHook:()=>{},errorHook:()=>{},deleteHook:()=>{}}}),MultiFileUpload.schema=Object.freeze({properties:{uploadUrl:{type:"string"},deleteUrl:{type:"string"},uploadStatusText:{type:"string"},dropzoneHintText:{type:"string"},dropzoneButtonText:{type:"string"},feedbackContainer:{type:"object"},hooks:{type:"object"}}});class MultiSelect extends ConfigurableComponent{constructor(t,e={}){var o;super(t,e);const s=this.$root.querySelector(`#${this.config.idPrefix}select-all`),n=null!=(o=this.config.checkboxes.items)?o:this.$root.querySelectorAll(this.config.checkboxes.selector);if(!(s&&s instanceof HTMLElement&&n.length))return this;this.setupToggle(this.config.idPrefix),this.$toggleButton=this.$toggle.querySelector("input"),this.$toggleButton.addEventListener("click",this.onButtonClick.bind(this)),this.$container=s,this.$container.append(this.$toggle),this.$checkboxes=Array.from(n),this.$checkboxes.forEach((t=>t.addEventListener("click",this.onCheckboxClick.bind(this)))),this.checked=e.checked||!1}setupToggle(t=""){const e=`${t}checkboxes-all`,o=document.createElement("div"),s=document.createElement("label"),n=document.createElement("input"),i=document.createElement("span");o.classList.add("govuk-checkboxes__item","govuk-checkboxes--small","moj-multi-select__checkbox"),n.id=e,n.type="checkbox",n.classList.add("govuk-checkboxes__input"),s.setAttribute("for",e),s.classList.add("govuk-label","govuk-checkboxes__label","moj-multi-select__toggle-label"),i.classList.add("govuk-visually-hidden"),i.textContent="Select all",s.append(i),o.append(n,s),this.$toggle=o}onButtonClick(){this.checked?(this.uncheckAll(),this.$toggleButton.checked=!1):(this.checkAll(),this.$toggleButton.checked=!0)}checkAll(){this.$checkboxes.forEach((t=>{t.checked=!0})),this.checked=!0}uncheckAll(){this.$checkboxes.forEach((t=>{t.checked=!1})),this.checked=!1}onCheckboxClick(t){t.target instanceof HTMLInputElement&&(t.target.checked?this.$checkboxes.filter((t=>t.checked)).length===this.$checkboxes.length&&(this.$toggleButton.checked=!0,this.checked=!0):(this.$toggleButton.checked=!1,this.checked=!1))}}MultiSelect.moduleName="moj-multi-select",MultiSelect.defaults=Object.freeze({idPrefix:"",checkboxes:{selector:"tbody input.govuk-checkboxes__input"}}),MultiSelect.schema=Object.freeze({properties:{idPrefix:{type:"string"},checked:{type:"boolean"},checkboxes:{type:"object"}}});class PasswordReveal extends Component{constructor(t){super(t);const e=this.$root.querySelector(".govuk-input");if(!(e&&e instanceof HTMLInputElement))return this;this.$input=e,this.$input.setAttribute("spellcheck","false"),this.createButton()}createButton(){this.$group=document.createElement("div"),this.$button=document.createElement("button"),this.$button.setAttribute("type","button"),this.$root.classList.add("moj-password-reveal"),this.$group.classList.add("moj-password-reveal__wrapper"),this.$button.classList.add("govuk-button","govuk-button--secondary","moj-password-reveal__button"),this.$button.innerHTML='Show <span class="govuk-visually-hidden">password</span>',this.$button.addEventListener("click",this.onButtonClick.bind(this)),this.$group.append(this.$input,this.$button),this.$root.append(this.$group)}onButtonClick(){"password"===this.$input.type?(this.$input.type="text",this.$button.innerHTML='Hide <span class="govuk-visually-hidden">password</span>'):(this.$input.type="password",this.$button.innerHTML='Show <span class="govuk-visually-hidden">password</span>')}}PasswordReveal.moduleName="moj-password-reveal";class RichTextEditor extends ConfigurableComponent{constructor(t,e={}){if(super(t,e),!RichTextEditor.isSupported())return this;const o=this.$root.querySelector(".govuk-textarea");if(!(o&&o instanceof HTMLTextAreaElement))return this;this.$textarea=o,this.createToolbar(),this.hideDefault(),this.configureToolbar(),this.keys={left:37,right:39,up:38,down:40},this.$content.addEventListener("input",this.onEditorInput.bind(this)),this.$root.querySelector("label").addEventListener("click",this.onLabelClick.bind(this)),this.$toolbar.addEventListener("keydown",this.onToolbarKeydown.bind(this))}onToolbarKeydown(t){let e;switch(t.keyCode){case this.keys.right:case this.keys.down:if(e=this.$buttons.find((t=>"0"===t.getAttribute("tabindex"))),e){const t=e.nextElementSibling;t&&t instanceof HTMLButtonElement&&(t.focus(),e.setAttribute("tabindex","-1"),t.setAttribute("tabindex","0"))}break;case this.keys.left:case this.keys.up:if(e=this.$buttons.find((t=>"0"===t.getAttribute("tabindex"))),e){const t=e.previousElementSibling;t&&t instanceof HTMLButtonElement&&(t.focus(),e.setAttribute("tabindex","-1"),t.setAttribute("tabindex","0"))}}}getToolbarHtml(){let t="";return t+='<div class="moj-rich-text-editor__toolbar" role="toolbar">',this.config.toolbar.bold&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--bold" type="button" data-command="bold"><span class="govuk-visually-hidden">Bold</span></button>'),this.config.toolbar.italic&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--italic" type="button" data-command="italic"><span class="govuk-visually-hidden">Italic</span></button>'),this.config.toolbar.underline&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--underline" type="button" data-command="underline"><span class="govuk-visually-hidden">Underline</span></button>'),this.config.toolbar.bullets&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--unordered-list" type="button" data-command="insertUnorderedList"><span class="govuk-visually-hidden">Unordered list</span></button>'),this.config.toolbar.numbers&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--ordered-list" type="button" data-command="insertOrderedList"><span class="govuk-visually-hidden">Ordered list</span></button>'),t+="</div>",t}getEnhancedHtml(){return`${this.getToolbarHtml()}<div class="govuk-textarea moj-rich-text-editor__content" contenteditable="true" spellcheck="false"></div>`}hideDefault(){this.$textarea.classList.add("govuk-visually-hidden"),this.$textarea.setAttribute("aria-hidden","true"),this.$textarea.setAttribute("tabindex","-1")}createToolbar(){this.$toolbar=document.createElement("div"),this.$toolbar.className="moj-rich-text-editor",this.$toolbar.innerHTML=this.getEnhancedHtml(),this.$root.append(this.$toolbar),this.$content=this.$root.querySelector(".moj-rich-text-editor__content"),this.$content.innerHTML=this.$textarea.value}configureToolbar(){this.$buttons=Array.from(this.$root.querySelectorAll(".moj-rich-text-editor__toolbar-button")),this.$buttons.forEach(((t,e)=>{t.setAttribute("tabindex",e?"-1":"0"),t.addEventListener("click",this.onButtonClick.bind(this))}))}onButtonClick(t){t.currentTarget instanceof HTMLElement&&document.execCommand(t.currentTarget.getAttribute("data-command"),!1,void 0)}getContent(){return this.$content.innerHTML}onEditorInput(){this.updateTextarea()}updateTextarea(){document.execCommand("defaultParagraphSeparator",!1,"p"),this.$textarea.value=this.getContent()}onLabelClick(t){t.preventDefault(),this.$content.focus()}static isSupported(){return"contentEditable"in document.documentElement}}RichTextEditor.moduleName="moj-rich-text-editor",RichTextEditor.defaults=Object.freeze({toolbar:{bold:!1,italic:!1,underline:!1,bullets:!0,numbers:!0}}),RichTextEditor.schema=Object.freeze({properties:{toolbar:{type:"object"}}});class SearchToggle extends ConfigurableComponent{constructor(t,e={}){var o,s;super(t,e);const n=null!=(o=this.config.searchContainer.element)?o:this.$root.querySelector(this.config.searchContainer.selector),i=null!=(s=this.config.toggleButtonContainer.element)?s:this.$root.querySelector(this.config.toggleButtonContainer.selector);if(!(n&&i&&n instanceof HTMLElement&&i instanceof HTMLElement))return this;this.$searchContainer=n,this.$toggleButtonContainer=i;this.$toggleButton=document.createElement("button"),this.$toggleButton.setAttribute("class","moj-search-toggle__button"),this.$toggleButton.setAttribute("type","button"),this.$toggleButton.setAttribute("aria-haspopup","true"),this.$toggleButton.setAttribute("aria-expanded","false"),this.$toggleButton.innerHTML=`${this.config.toggleButton.text} <svg viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="moj-search-toggle__button__icon"><path d="M7.433,12.5790048 C6.06762625,12.5808611 4.75763941,12.0392925 3.79217348,11.0738265 C2.82670755,10.1083606 2.28513891,8.79837375 2.28699522,7.433 C2.28513891,6.06762625 2.82670755,4.75763941 3.79217348,3.79217348 C4.75763941,2.82670755 6.06762625,2.28513891 7.433,2.28699522 C8.79837375,2.28513891 10.1083606,2.82670755 11.0738265,3.79217348 C12.0392925,4.75763941 12.5808611,6.06762625 12.5790048,7.433 C12.5808611,8.79837375 12.0392925,10.1083606 11.0738265,11.0738265 C10.1083606,12.0392925 8.79837375,12.5808611 7.433,12.5790048 L7.433,12.5790048 Z M14.293,12.579 L13.391,12.579 L13.071,12.269 C14.2300759,10.9245158 14.8671539,9.20813198 14.866,7.433 C14.866,3.32786745 11.5381325,-1.65045755e-15 7.433,-1.65045755e-15 C3.32786745,-1.65045755e-15 -1.65045755e-15,3.32786745 -1.65045755e-15,7.433 C-1.65045755e-15,11.5381325 3.32786745,14.866 7.433,14.866 C9.208604,14.8671159 10.9253982,14.2296624 12.27,13.07 L12.579,13.39 L12.579,14.294 L18.296,20 L20,18.296 L14.294,12.579 L14.293,12.579 Z"></path></svg>`,this.$toggleButton.addEventListener("click",this.onToggleButtonClick.bind(this)),this.$toggleButtonContainer.append(this.$toggleButton),document.addEventListener("click",this.onDocumentClick.bind(this)),document.addEventListener("focusin",this.onDocumentClick.bind(this))}showMenu(){this.$toggleButton.setAttribute("aria-expanded","true"),this.$searchContainer.classList.remove("moj-js-hidden"),this.$searchContainer.querySelector("input").focus()}hideMenu(){this.$searchContainer.classList.add("moj-js-hidden"),this.$toggleButton.setAttribute("aria-expanded","false")}onToggleButtonClick(){"false"===this.$toggleButton.getAttribute("aria-expanded")?this.showMenu():this.hideMenu()}onDocumentClick(t){t.target instanceof Node&&!this.$toggleButtonContainer.contains(t.target)&&!this.$searchContainer.contains(t.target)&&this.hideMenu()}}SearchToggle.moduleName="moj-search-toggle",SearchToggle.defaults=Object.freeze({searchContainer:{selector:".moj-search"},toggleButton:{text:"Search"},toggleButtonContainer:{selector:".moj-search-toggle__toggle"}}),SearchToggle.schema=Object.freeze({properties:{searchContainer:{type:"object"},toggleButton:{type:"object"},toggleButtonContainer:{type:"object"}}});class SortableTable extends ConfigurableComponent{constructor(t,e={}){super(t,e);const o=null==t?void 0:t.querySelector("thead"),s=null==t?void 0:t.querySelector("tbody");if(!o||!s)return this;this.$head=o,this.$body=s,this.$caption=this.$root.querySelector("caption"),this.$upArrow='<svg width="22" height="22" focusable="false" aria-hidden="true" role="img" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M6.5625 15.5L11 6.63125L15.4375 15.5H6.5625Z" fill="currentColor"/>\n</svg>',this.$downArrow='<svg width="22" height="22" focusable="false" aria-hidden="true" role="img" vviewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M15.4375 7L11 15.8687L6.5625 7L15.4375 7Z" fill="currentColor"/>\n</svg>',this.$upDownArrow='<svg width="22" height="22" focusable="false" aria-hidden="true" role="img" vviewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M8.1875 9.5L10.9609 3.95703L13.7344 9.5H8.1875Z" fill="currentColor"/>\n<path d="M13.7344 12.0781L10.9609 17.6211L8.1875 12.0781H13.7344Z" fill="currentColor"/>\n</svg>',this.$headings=this.$head?Array.from(this.$head.querySelectorAll("th")):[],this.createHeadingButtons(),this.updateCaption(),this.updateDirectionIndicators(),this.createStatusBox(),this.initialiseSortedColumn(),this.$head.addEventListener("click",this.onSortButtonClick.bind(this))}createHeadingButtons(){for(const t of this.$headings)t.hasAttribute("aria-sort")&&this.createHeadingButton(t)}createHeadingButton(t){const e=this.$headings.indexOf(t),o=document.createElement("button");o.setAttribute("type","button"),o.setAttribute("data-index",`${e}`),o.textContent=t.textContent,t.textContent="",t.appendChild(o)}createStatusBox(){this.$status=document.createElement("div"),this.$status.setAttribute("aria-atomic","true"),this.$status.setAttribute("aria-live","polite"),this.$status.setAttribute("class","govuk-visually-hidden"),this.$status.setAttribute("role","status"),this.$root.insertAdjacentElement("afterend",this.$status)}initialiseSortedColumn(){var t;const e=this.getTableRowsArray(),o=this.$root.querySelector('th[aria-sort="ascending"], th[aria-sort="descending"]'),s=null==o?void 0:o.querySelector("button"),n=null==o?void 0:o.getAttribute("aria-sort"),i=Number.parseInt(null!=(t=null==s?void 0:s.getAttribute("data-index"))?t:"0",10);if(!o||!s||"ascending"!==n&&"descending"!==n)return;const r=this.sort(e,i,n);this.addRows(r)}onSortButtonClick(t){var e;const o=t.target.closest("button");if(!(o&&o instanceof HTMLButtonElement&&o.parentElement))return;const s=o.parentElement.getAttribute("aria-sort"),n=Number.parseInt(null!=(e=null==o?void 0:o.getAttribute("data-index"))?e:"0",10),i="none"===s||"descending"===s?"ascending":"descending",r=this.getTableRowsArray(),a=this.sort(r,n,i);this.addRows(a),this.removeButtonStates(),this.updateButtonState(o,i),this.updateDirectionIndicators()}updateCaption(){if(!this.$caption)return;let t=this.$caption.querySelector(".govuk-visually-hidden");t||(t=document.createElement("span"),t.classList.add("govuk-visually-hidden"),t.textContent=" (column headers with buttons are sortable).",this.$caption.appendChild(t))}updateButtonState(t,e){if("ascending"!==e&&"descending"!==e)return;t.parentElement.setAttribute("aria-sort",e);let o=this.config.statusMessage;o=o.replace(/%heading%/,t.textContent),o=o.replace(/%direction%/,this.config[`${e}Text`]),this.$status.textContent=o}updateDirectionIndicators(){for(const e of this.$headings){const o=e.querySelector("button");if(e.hasAttribute("aria-sort")&&o){var t;const s=e.getAttribute("aria-sort");switch(null==(t=o.querySelector("svg"))||t.remove(),s){case"ascending":o.insertAdjacentHTML("beforeend",this.$upArrow);break;case"descending":o.insertAdjacentHTML("beforeend",this.$downArrow);break;default:o.insertAdjacentHTML("beforeend",this.$upDownArrow)}}}}removeButtonStates(){for(const t of this.$headings)t.setAttribute("aria-sort","none")}addRows(t){for(const e of t)this.$body.append(e)}getTableRowsArray(){return Array.from(this.$body.querySelectorAll("tr"))}sort(t,e,o){return t.sort(((t,s)=>{const n=t.querySelectorAll("td, th")[e],i=s.querySelectorAll("td, th")[e];if(!(n&&i&&n instanceof HTMLElement&&i instanceof HTMLElement))return 0;const r="ascending"===o?this.getCellValue(n):this.getCellValue(i),a="ascending"===o?this.getCellValue(i):this.getCellValue(n);return"number"!=typeof r||"number"!=typeof a?r.toString().localeCompare(a.toString()):r-a}))}getCellValue(t){const e=t.getAttribute("data-sort-value")||t.innerHTML,o=Number(e);return Number.isFinite(o)?o:e}}function initAll(t){for(const e of[AddAnother,Alert,ButtonMenu,DatePicker,MultiSelect,PasswordReveal,RichTextEditor,SearchToggle,SortableTable])createAll(e,void 0,t)}SortableTable.moduleName="moj-sortable-table",SortableTable.defaults=Object.freeze({statusMessage:"Sort by %heading% (%direction%)",ascendingText:"ascending",descendingText:"descending"}),SortableTable.schema=Object.freeze({properties:{statusMessage:{type:"string"},ascendingText:{type:"string"},descendingText:{type:"string"}}});export{AddAnother,Alert,ButtonMenu,DatePicker,FilterToggleButton,FormValidator,MultiFileUpload,MultiSelect,PasswordReveal,RichTextEditor,SearchToggle,SortableTable,initAll,version};//# sourceMappingURL=moj-frontend.min.js.map
1
+ function isSupported(t=document.body){return!!t&&t.classList.contains("govuk-frontend-supported")}function isObject(t){return!!t&&"object"==typeof t&&!function(t){return Array.isArray(t)}(t)}function formatErrorMessage(t,e){return`${t.moduleName}: ${e}`}class GOVUKFrontendError extends Error{constructor(...t){super(...t),this.name="GOVUKFrontendError"}}class SupportError extends GOVUKFrontendError{constructor(t=document.body){const e="noModule"in HTMLScriptElement.prototype?'GOV.UK Frontend initialised without `<body class="govuk-frontend-supported">` from template `<script>` snippet':"GOV.UK Frontend is not supported in this browser";super(t?e:'GOV.UK Frontend initialised without `<script type="module">`'),this.name="SupportError"}}class ConfigError extends GOVUKFrontendError{constructor(...t){super(...t),this.name="ConfigError"}}class ElementError extends GOVUKFrontendError{constructor(t){let e="string"==typeof t?t:"";if("object"==typeof t){const{component:o,identifier:s,element:n,expectedType:i}=t;e=s,e+=n?` is not of type ${null!=i?i:"HTMLElement"}`:" not found",e=formatErrorMessage(o,e)}super(e),this.name="ElementError"}}class InitError extends GOVUKFrontendError{constructor(t){super("string"==typeof t?t:formatErrorMessage(t,"Root element (`$root`) already initialised")),this.name="InitError"}}class Component{get $root(){return this._$root}constructor(t){this._$root=void 0;const e=this.constructor;if("string"!=typeof e.moduleName)throw new InitError("`moduleName` not defined in component");if(!(t instanceof e.elementType))throw new ElementError({element:t,component:e,identifier:"Root element (`$root`)",expectedType:e.elementType.name});this._$root=t,e.checkSupport(),this.checkInitialised();const o=e.moduleName;this.$root.setAttribute(`data-${o}-init`,"")}checkInitialised(){const t=this.constructor,e=t.moduleName;if(e&&function(t,e){return t instanceof HTMLElement&&t.hasAttribute(`data-${e}-init`)}(this.$root,e))throw new InitError(t)}static checkSupport(){if(!isSupported())throw new SupportError}}Component.elementType=HTMLElement;const t=Symbol.for("configOverride");class ConfigurableComponent extends Component{[t](t){return{}}get config(){return this._config}constructor(e,o){super(e),this._config=void 0;const s=this.constructor;if(!isObject(s.defaults))throw new ConfigError(formatErrorMessage(s,"Config passed as parameter into constructor but no defaults defined"));const n=function(t,e){if(!isObject(t.schema))throw new ConfigError(formatErrorMessage(t,"Config passed as parameter into constructor but no schema defined"));const o={},s=Object.entries(t.schema.properties);for(const n of s){const[s,i]=n,r=s.toString();r in e&&(o[r]=normaliseString(e[r],i)),"object"===(null==i?void 0:i.type)&&(o[r]=extractConfigByNamespace(t.schema,e,s))}return o}(s,this._$root.dataset);this._config=mergeConfigs(s.defaults,null!=o?o:{},this[t](n),n)}}function normaliseString(t,e){const o=t?t.trim():"";let s,n=null==e?void 0:e.type;switch(n||(["true","false"].includes(o)&&(n="boolean"),o.length>0&&isFinite(Number(o))&&(n="number")),n){case"boolean":s="true"===o;break;case"number":s=Number(o);break;default:s=t}return s}function mergeConfigs(...t){const e={};for(const o of t)for(const t of Object.keys(o)){const s=e[t],n=o[t];isObject(s)&&isObject(n)?e[t]=mergeConfigs(s,n):e[t]=n}return e}function extractConfigByNamespace(t,e,o){const s=t.properties[o];if("object"!==(null==s?void 0:s.type))return;const n={[o]:{}};for(const[i,r]of Object.entries(e)){let t=n;const e=i.split(".");for(const[s,n]of e.entries())isObject(t)&&(s<e.length-1?(isObject(t[n])||(t[n]={}),t=t[n]):i!==o&&(t[n]=normaliseString(r)))}return n[o]}function createAll(t,e,o){let s,n=document;var i;"object"==typeof o&&(n=null!=(i=o.scope)?i:n,s=o.onError);"function"==typeof o&&(s=o),o instanceof HTMLElement&&(n=o);const r=n.querySelectorAll(`[data-module="${t.moduleName}"]`);return isSupported()?Array.from(r).map((o=>{try{return void 0!==e?new t(o,e):new t(o)}catch(n){return s?s(n,{element:o,component:t,config:e}):console.log(n),null}})).filter(Boolean):(s?s(new SupportError,{component:t,config:e}):console.log(new SupportError),[])}const version="5.1.3";class AddAnother extends Component{constructor(t){super(t),this.$root.addEventListener("click",this.onRemoveButtonClick.bind(this)),this.$root.addEventListener("click",this.onAddButtonClick.bind(this));this.$root.querySelectorAll(".moj-add-another__add-button, moj-add-another__remove-button").forEach((t=>{t instanceof HTMLButtonElement&&(t.type="button")}))}onAddButtonClick(t){const e=t.target;if(!(e&&e instanceof HTMLButtonElement&&e.classList.contains("moj-add-another__add-button")))return;const o=this.getItems(),s=this.getNewItem();if(!(s&&s instanceof HTMLElement))return;this.updateAttributes(s,o.length),this.resetItem(s);const n=o[0];this.hasRemoveButton(n)||this.createRemoveButton(n),o[o.length-1].after(s);const i=s.querySelector("input, textarea, select");i&&i instanceof HTMLInputElement&&i.focus()}hasRemoveButton(t){return t.querySelectorAll(".moj-add-another__remove-button").length}getItems(){if(!this.$root)return[];return Array.from(this.$root.querySelectorAll(".moj-add-another__item")).filter((t=>t instanceof HTMLElement))}getNewItem(){const t=this.getItems()[0].cloneNode(!0);if(t&&t instanceof HTMLElement)return this.hasRemoveButton(t)||this.createRemoveButton(t),t}updateAttributes(t,e){t.querySelectorAll("[data-name]").forEach((o=>{if(!this.isValidInputElement(o))return;const s=o.getAttribute("data-name")||"",n=o.getAttribute("data-id")||"",i=o.id;o.name=s.replace(/%index%/,`${e}`),o.id=n.replace(/%index%/,`${e}`);const r=o.parentElement.querySelector("label")||o.closest("label")||t.querySelector(`[for="${i}"]`);r&&r instanceof HTMLLabelElement&&(r.htmlFor=o.id)}))}createRemoveButton(t){const e=document.createElement("button");e.type="button",e.classList.add("govuk-button","govuk-button--secondary","moj-add-another__remove-button"),e.textContent="Remove",t.append(e)}resetItem(t){t.querySelectorAll("[data-name], [data-id]").forEach((t=>{if(this.isValidInputElement(t))if(t instanceof HTMLSelectElement)t.selectedIndex=-1,t.value="";else if(t instanceof HTMLTextAreaElement)t.value="";else switch(t.type){case"checkbox":case"radio":t.checked=!1;break;default:t.value=""}}))}onRemoveButtonClick(t){const e=t.target;if(!(e&&e instanceof HTMLButtonElement&&e.classList.contains("moj-add-another__remove-button")))return;e.closest(".moj-add-another__item").remove();const o=this.getItems();1===o.length&&o[0].querySelector(".moj-add-another__remove-button").remove(),o.forEach(((t,e)=>{this.updateAttributes(t,e)})),this.focusHeading()}focusHeading(){const t=this.$root.querySelector(".moj-add-another__heading");t&&t instanceof HTMLElement&&t.focus()}isValidInputElement(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement}}function setFocus(t,e={}){var o;const s=t.getAttribute("tabindex");function onBlur(){var o;null==(o=e.onBlur)||o.call(t),s||t.removeAttribute("tabindex")}s||t.setAttribute("tabindex","-1"),t.addEventListener("focus",(function(){t.addEventListener("blur",onBlur,{once:!0})}),{once:!0}),null==(o=e.onBeforeFocus)||o.call(t),t.focus()}function removeAttributeValue(t,e,o){let s,n;t.getAttribute(e)&&(t.getAttribute(e)===o?t.removeAttribute(e):(s=new RegExp(`(^|\\s)${o}(\\s|$)`),n=t.getAttribute(e).match(s),n&&3===n.length&&t.setAttribute(e,t.getAttribute(e).replace(s,n[1]&&n[2]?" ":""))))}function addAttributeValue(t,e,o){let s;t.getAttribute(e)?(s=new RegExp(`(^|\\s)${o}(\\s|$)`),s.test(t.getAttribute(e))||t.setAttribute(e,`${t.getAttribute(e)} ${o}`)):t.setAttribute(e,o)}AddAnother.moduleName="moj-add-another";class Alert extends ConfigurableComponent{constructor(t,e={}){super(t,e),"alert"!==this.$root.getAttribute("role")||this.config.disableAutoFocus||setFocus(this.$root),this.$dismissButton=this.$root.querySelector(".moj-alert__dismiss"),this.config.dismissible&&this.$dismissButton&&(this.$dismissButton.innerHTML=this.config.dismissText,this.$dismissButton.removeAttribute("hidden"),this.$root.addEventListener("click",(t=>{t.target instanceof Node&&this.$dismissButton.contains(t.target)&&this.dimiss()})))}dimiss(){let t;if(this.config.focusOnDismissSelector&&(t=document.querySelector(this.config.focusOnDismissSelector)),!t){const e=this.$root.nextElementSibling;e&&e.matches(".moj-alert")&&(t=e)}t||(t=function(t,e){if(!(t&&t instanceof HTMLElement))return;let o=t.previousElementSibling;for(;o;){if(o.matches(e))return o;o=o.previousElementSibling}}(this.$root,".moj-alert, h1, h2, h3, h4, h5, h6")),t||(t=function(t,e){if(!(t&&t instanceof HTMLElement))return;let o=t;for(;o;){if(o.matches(e))return o;let t=o.previousElementSibling;for(;t;){if(t.matches(e))return t;t=t.previousElementSibling}o=o.parentElement}}(this.$root,"h1, h2, h3, h4, h5, h6, main, body")),t instanceof HTMLElement&&setFocus(t),this.$root.remove()}}Alert.moduleName="moj-alert",Alert.defaults=Object.freeze({dismissible:!1,dismissText:"Dismiss",disableAutoFocus:!1}),Alert.schema=Object.freeze({properties:{dismissible:{type:"boolean"},dismissText:{type:"string"},disableAutoFocus:{type:"boolean"},focusOnDismissSelector:{type:"string"}}});class ButtonMenu extends ConfigurableComponent{constructor(t,e={}){if(super(t,e),1===this.$root.children.length){const t=this.$root.children[0];t.classList.forEach((e=>{e.startsWith("govuk-button-")&&t.classList.remove(e),t.classList.remove("moj-button-menu__item"),t.classList.add("moj-button-menu__single-button")})),this.config.buttonClasses&&t.classList.add(...this.config.buttonClasses.split(" "))}this.$root.children.length>1&&this.initMenu()}initMenu(){this.$menu=this.createMenu(),this.$root.insertAdjacentHTML("afterbegin",this.toggleTemplate()),this.setupMenuItems(),this.$menuToggle=this.$root.querySelector(":scope > button"),this.$items=this.$menu.querySelectorAll("a, button"),this.$menuToggle.addEventListener("click",(t=>{this.toggleMenu(t)})),this.$root.addEventListener("keydown",(t=>{this.handleKeyDown(t)})),document.addEventListener("click",(t=>{t.target instanceof Node&&!this.$root.contains(t.target)&&this.closeMenu(!1)}))}createMenu(){const t=document.createElement("ul");for(t.setAttribute("role","list"),t.hidden=!0,t.classList.add("moj-button-menu__wrapper"),"right"===this.config.alignMenu&&t.classList.add("moj-button-menu__wrapper--right"),this.$root.appendChild(t);this.$root.firstChild!==t;)t.appendChild(this.$root.firstChild);return t}setupMenuItems(){Array.from(this.$menu.children).forEach((t=>{const e=document.createElement("li");this.$menu.insertBefore(e,t),e.appendChild(t),t.setAttribute("tabindex","-1"),"BUTTON"===t.tagName&&t.setAttribute("type","button"),t.classList.forEach((e=>{e.startsWith("govuk-button")&&t.classList.remove(e)})),t.addEventListener("click",(()=>{setTimeout((()=>{this.closeMenu(!1)}),50)}))}))}toggleTemplate(){return`\n <button type="button" class="govuk-button moj-button-menu__toggle-button ${this.config.buttonClasses||""}" aria-haspopup="true" aria-expanded="false">\n <span>\n ${this.config.buttonText}\n <svg width="11" height="5" viewBox="0 0 11 5" xmlns="http://www.w3.org/2000/svg">\n <path d="M5.5 0L11 5L0 5L5.5 0Z" fill="currentColor"/>\n </svg>\n </span>\n </button>`}isOpen(){return"true"===this.$menuToggle.getAttribute("aria-expanded")}toggleMenu(t){t.preventDefault();const e=0===t.detail?0:-1;this.isOpen()?this.closeMenu():this.openMenu(e)}openMenu(t=0){this.$menu.hidden=!1,this.$menuToggle.setAttribute("aria-expanded","true"),-1!==t&&this.focusItem(t)}closeMenu(t=!0){this.$menu.hidden=!0,this.$menuToggle.setAttribute("aria-expanded","false"),t&&this.$menuToggle.focus()}focusItem(t){t>=this.$items.length&&(t=0),t<0&&(t=this.$items.length-1);const e=this.$items.item(t);e&&e.focus()}currentFocusIndex(){const t=document.activeElement,e=Array.from(this.$items);return(t instanceof HTMLAnchorElement||t instanceof HTMLButtonElement)&&e.indexOf(t)}handleKeyDown(t){if(t.target===this.$menuToggle)switch(t.key){case"ArrowDown":t.preventDefault(),this.openMenu();break;case"ArrowUp":t.preventDefault(),this.openMenu(this.$items.length-1)}if(t.target instanceof Node&&this.$menu.contains(t.target)&&this.isOpen())switch(t.key){case"ArrowDown":t.preventDefault(),-1!==this.currentFocusIndex()&&this.focusItem(this.currentFocusIndex()+1);break;case"ArrowUp":t.preventDefault(),-1!==this.currentFocusIndex()&&this.focusItem(this.currentFocusIndex()-1);break;case"Home":t.preventDefault(),this.focusItem(0);break;case"End":t.preventDefault(),this.focusItem(this.$items.length-1)}"Escape"===t.key&&this.isOpen()&&this.closeMenu(),"Tab"===t.key&&this.isOpen()&&this.closeMenu(!1)}}ButtonMenu.moduleName="moj-button-menu",ButtonMenu.defaults=Object.freeze({buttonText:"Actions",alignMenu:"left",buttonClasses:""}),ButtonMenu.schema=Object.freeze({properties:{buttonText:{type:"string"},buttonClasses:{type:"string"},alignMenu:{type:"string"}}});class DatePicker extends ConfigurableComponent{constructor(t,e={}){var o;super(t,e);const s=null!=(o=this.config.input.element)?o:this.$root.querySelector(this.config.input.selector);if(!(s&&s instanceof HTMLInputElement))return this;this.$input=s,this.dayLabels=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],this.monthLabels=["January","February","March","April","May","June","July","August","September","October","November","December"],this.currentDate=new Date,this.currentDate.setHours(0,0,0,0),this.calendarDays=[],this.excludedDates=[],this.excludedDays=[],this.buttonClass="moj-datepicker__button",this.selectedDayButtonClass="moj-datepicker__button--selected",this.currentDayButtonClass="moj-datepicker__button--current",this.todayButtonClass="moj-datepicker__button--today",this.setOptions(),this.initControls()}initControls(){this.id=`datepicker-${this.$input.id}`,this.$dialog=this.createDialog(),this.createCalendarHeaders();const t=document.createElement("div"),e=document.createElement("div");t.classList.add("moj-datepicker__wrapper"),e.classList.add("govuk-input__wrapper"),this.$input.parentElement.insertBefore(t,this.$input),t.appendChild(e),e.appendChild(this.$input),e.insertAdjacentHTML("beforeend",this.toggleTemplate()),t.insertAdjacentElement("beforeend",this.$dialog),this.$calendarButton=this.$root.querySelector(".moj-js-datepicker-toggle"),this.$dialogTitle=this.$dialog.querySelector(".moj-js-datepicker-month-year"),this.createCalendar(),this.$prevMonthButton=this.$dialog.querySelector(".moj-js-datepicker-prev-month"),this.$prevYearButton=this.$dialog.querySelector(".moj-js-datepicker-prev-year"),this.$nextMonthButton=this.$dialog.querySelector(".moj-js-datepicker-next-month"),this.$nextYearButton=this.$dialog.querySelector(".moj-js-datepicker-next-year"),this.$cancelButton=this.$dialog.querySelector(".moj-js-datepicker-cancel"),this.$okButton=this.$dialog.querySelector(".moj-js-datepicker-ok"),this.$prevMonthButton.addEventListener("click",(t=>this.focusPreviousMonth(t,!1))),this.$prevYearButton.addEventListener("click",(t=>this.focusPreviousYear(t,!1))),this.$nextMonthButton.addEventListener("click",(t=>this.focusNextMonth(t,!1))),this.$nextYearButton.addEventListener("click",(t=>this.focusNextYear(t,!1))),this.$cancelButton.addEventListener("click",(t=>{t.preventDefault(),this.closeDialog()})),this.$okButton.addEventListener("click",(()=>{this.selectDate(this.currentDate)}));const o=this.$dialog.querySelectorAll('button:not([disabled="true"])');this.$firstButtonInDialog=o[0],this.$lastButtonInDialog=o[o.length-1],this.$firstButtonInDialog.addEventListener("keydown",(t=>this.firstButtonKeydown(t))),this.$lastButtonInDialog.addEventListener("keydown",(t=>this.lastButtonKeydown(t))),this.$calendarButton.addEventListener("click",(t=>this.toggleDialog(t))),this.$dialog.addEventListener("keydown",(t=>{"Escape"===t.key&&(this.closeDialog(),t.preventDefault(),t.stopPropagation())})),document.body.addEventListener("mouseup",(t=>this.backgroundClick(t))),this.updateCalendar()}createDialog(){const t=`datepicker-title-${this.$input.id}`,e=document.createElement("div");return e.id=this.id,e.setAttribute("class","moj-datepicker__dialog"),e.setAttribute("role","dialog"),e.setAttribute("aria-modal","true"),e.setAttribute("aria-labelledby",t),e.innerHTML=this.dialogTemplate(t),e.hidden=!0,e}createCalendar(){const t=this.$dialog.querySelector("tbody");let e=0;for(let o=0;o<6;o++){const s=t.insertRow(o);for(let t=0;t<7;t++){const n=document.createElement("td"),i=document.createElement("button");n.appendChild(i),s.appendChild(n);const r=new DSCalendarDay(i,e,o,t,this);this.calendarDays.push(r),e++}}}toggleTemplate(){return`<button class="moj-datepicker__toggle moj-js-datepicker-toggle" type="button" aria-haspopup="dialog" aria-controls="${this.id}" aria-expanded="false">\n <span class="govuk-visually-hidden">Choose date</span>\n <svg width="32" height="24" focusable="false" class="moj-datepicker-icon" aria-hidden="true" role="img" viewBox="0 0 22 22">\n <path\n fill="currentColor"\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M16.1333 2.93333H5.86668V4.4C5.86668 5.21002 5.21003 5.86667 4.40002 5.86667C3.59 5.86667 2.93335 5.21002 2.93335 4.4V2.93333H2C0.895431 2.93333 0 3.82877 0 4.93334V19.2667C0 20.3712 0.89543 21.2667 2 21.2667H20C21.1046 21.2667 22 20.3712 22 19.2667V4.93333C22 3.82876 21.1046 2.93333 20 2.93333H19.0667V4.4C19.0667 5.21002 18.41 5.86667 17.6 5.86667C16.79 5.86667 16.1333 5.21002 16.1333 4.4V2.93333ZM20.5333 8.06667H1.46665V18.8C1.46665 19.3523 1.91436 19.8 2.46665 19.8H19.5333C20.0856 19.8 20.5333 19.3523 20.5333 18.8V8.06667Z"\n ></path>\n <rect x="3.66669" width="1.46667" height="5.13333" rx="0.733333" fill="currentColor"></rect>\n <rect x="16.8667" width="1.46667" height="5.13333" rx="0.733333" fill="currentColor"></rect>\n </svg>\n </button>`}dialogTemplate(t){return`<div class="moj-datepicker__dialog-header">\n <div class="moj-datepicker__dialog-navbuttons">\n <button class="moj-datepicker__button moj-js-datepicker-prev-year">\n <span class="govuk-visually-hidden">Previous year</span>\n <svg width="44" height="40" viewBox="0 0 44 40" fill="none" fill="none" focusable="false" aria-hidden="true" role="img">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M23.1643 20L28.9572 14.2071L27.5429 12.7929L20.3358 20L27.5429 27.2071L28.9572 25.7929L23.1643 20Z" fill="currentColor"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M17.1643 20L22.9572 14.2071L21.5429 12.7929L14.3358 20L21.5429 27.2071L22.9572 25.7929L17.1643 20Z" fill="currentColor"/>\n </svg>\n </button>\n\n <button class="moj-datepicker__button moj-js-datepicker-prev-month">\n <span class="govuk-visually-hidden">Previous month</span>\n <svg width="44" height="40" viewBox="0 0 44 40" fill="none" focusable="false" aria-hidden="true" role="img">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M20.5729 20L25.7865 14.2071L24.5137 12.7929L18.0273 20L24.5137 27.2071L25.7865 25.7929L20.5729 20Z" fill="currentColor"/>\n </svg>\n </button>\n </div>\n\n <h2 id="${t}" class="moj-datepicker__dialog-title moj-js-datepicker-month-year" aria-live="polite">June 2020</h2>\n\n <div class="moj-datepicker__dialog-navbuttons">\n <button class="moj-datepicker__button moj-js-datepicker-next-month">\n <span class="govuk-visually-hidden">Next month</span>\n <svg width="44" height="40" viewBox="0 0 44 40" fill="none" focusable="false" aria-hidden="true" role="img">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M23.4271 20L18.2135 14.2071L19.4863 12.7929L25.9727 20L19.4863 27.2071L18.2135 25.7929L23.4271 20Z" fill="currentColor"/>\n </svg>\n </button>\n\n <button class="moj-datepicker__button moj-js-datepicker-next-year">\n <span class="govuk-visually-hidden">Next year</span>\n <svg width="44" height="40" viewBox="0 0 44 40" fill="none" fill="none" focusable="false" aria-hidden="true" role="img">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M20.8357 20L15.0428 14.2071L16.4571 12.7929L23.6642 20L16.4571 27.2071L15.0428 25.7929L20.8357 20Z" fill="currentColor"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M26.8357 20L21.0428 14.2071L22.4571 12.7929L29.6642 20L22.4571 27.2071L21.0428 25.7929L26.8357 20Z" fill="currentColor"/>\n </svg>\n </button>\n </div>\n </div>\n\n <table class="moj-datepicker__calendar moj-js-datepicker-grid" role="grid" aria-labelledby="${t}">\n <thead>\n <tr></tr>\n </thead>\n\n <tbody></tbody>\n </table>\n\n <div class="govuk-button-group">\n <button type="button" class="govuk-button moj-js-datepicker-ok">Select</button>\n <button type="button" class="govuk-button govuk-button--secondary moj-js-datepicker-cancel">Close</button>\n </div>`}createCalendarHeaders(){this.dayLabels.forEach((t=>{const e=`<th scope="col"><span aria-hidden="true">${t.substring(0,3)}</span><span class="govuk-visually-hidden">${t}</span></th>`;this.$dialog.querySelector("thead > tr").insertAdjacentHTML("beforeend",e)}))}leadingZeros(t,e=2){let o=t.toString();for(;o.length<e;)o=`0${o}`;return o}setOptions(){this.setMinAndMaxDatesOnCalendar(),this.setExcludedDates(),this.setExcludedDays(),this.setWeekStartDay()}setMinAndMaxDatesOnCalendar(){this.config.minDate&&(this.minDate=this.formattedDateFromString(this.config.minDate,null),this.minDate&&this.currentDate<this.minDate&&(this.currentDate=this.minDate)),this.config.maxDate&&(this.maxDate=this.formattedDateFromString(this.config.maxDate,null),this.maxDate&&this.currentDate>this.maxDate&&(this.currentDate=this.maxDate))}setExcludedDates(){this.config.excludedDates&&(this.excludedDates=this.config.excludedDates.replace(/\s+/," ").split(" ").map((t=>t.includes("-")?this.parseDateRangeString(t):[this.formattedDateFromString(t)])).reduce(((t,e)=>t.concat(e))).filter((t=>t)))}parseDateRangeString(t){const e=[],[o,s]=t.split("-").map((t=>this.formattedDateFromString(t,null)));if(o&&s){const t=new Date(o.getTime());for(;t<=s;)e.push(new Date(t)),t.setDate(t.getDate()+1)}return e}setExcludedDays(){if(this.config.excludedDays){const t=this.dayLabels.map((t=>t.toLowerCase()));"monday"===this.config.weekStartDay&&t.unshift(t.pop()),this.excludedDays=this.config.excludedDays.replace(/\s+/," ").toLowerCase().split(" ").map((e=>t.indexOf(e))).filter((t=>-1!==t))}}setWeekStartDay(){const t=this.config.weekStartDay;t&&"sunday"===t.toLowerCase()?(this.config.weekStartDay="sunday",this.dayLabels.unshift(this.dayLabels.pop())):this.config.weekStartDay="monday"}isExcludedDate(t){if(this.minDate&&this.minDate>t)return!0;if(this.maxDate&&this.maxDate<t)return!0;for(const e of this.excludedDates)if(t.toDateString()===e.toDateString())return!0;return!!this.excludedDays.includes(t.getDay())}formattedDateFromString(t,e=new Date){let o=null;const s=/(\d{1,2})([-/,. ])(\d{1,2})\2(\d{4})/;if(!s.test(t))return e;const n=s.exec(t),i=n[1],r=n[3],a=n[4];return o=new Date(`${a}-${r}-${i}`),o instanceof Date&&Number.isFinite(o.getTime())?o:e}formattedDateFromDate(t){return this.config.leadingZeros?`${this.leadingZeros(t.getDate())}/${this.leadingZeros(t.getMonth()+1)}/${t.getFullYear()}`:`${t.getDate()}/${t.getMonth()+1}/${t.getFullYear()}`}formattedDateHuman(t){return`${this.dayLabels[(t.getDay()+6)%7]} ${t.getDate()} ${this.monthLabels[t.getMonth()]} ${t.getFullYear()}`}backgroundClick(t){this.isOpen()&&t.target instanceof Node&&!this.$dialog.contains(t.target)&&!this.$input.contains(t.target)&&!this.$calendarButton.contains(t.target)&&(t.preventDefault(),this.closeDialog())}firstButtonKeydown(t){"Tab"===t.key&&t.shiftKey&&(this.$lastButtonInDialog.focus(),t.preventDefault())}lastButtonKeydown(t){"Tab"!==t.key||t.shiftKey||(this.$firstButtonInDialog.focus(),t.preventDefault())}updateCalendar(){this.$dialogTitle.innerHTML=`${this.monthLabels[this.currentDate.getMonth()]} ${this.currentDate.getFullYear()}`;const t=this.currentDate,e=new Date(t.getFullYear(),t.getMonth(),1);let o;o="monday"===this.config.weekStartDay?0===e.getDay()?6:e.getDay()-1:e.getDay(),e.setDate(e.getDate()-o);const s=new Date(e);for(const n of this.calendarDays){const e=s.getMonth()!==t.getMonth(),o=this.isExcludedDate(s);n.update(s,e,o),s.setDate(s.getDate()+1)}}setCurrentDate(t=!0){const{currentDate:e}=this;if(this.calendarDays.forEach((o=>{o.$button.classList.add("moj-datepicker__button"),o.$button.classList.add("moj-datepicker__calendar-day"),o.$button.setAttribute("tabindex","-1"),o.$button.classList.remove(this.selectedDayButtonClass);const s=o.date;s.setHours(0,0,0,0);const n=new Date;n.setHours(0,0,0,0),s.getTime()===e.getTime()&&t&&(o.$button.setAttribute("tabindex","0"),o.$button.focus(),o.$button.classList.add(this.selectedDayButtonClass)),this.inputDate&&s.getTime()===this.inputDate.getTime()?(o.$button.classList.add(this.currentDayButtonClass),o.$button.setAttribute("aria-current","date")):(o.$button.classList.remove(this.currentDayButtonClass),o.$button.removeAttribute("aria-current")),s.getTime()===n.getTime()?o.$button.classList.add(this.todayButtonClass):o.$button.classList.remove(this.todayButtonClass)})),!t){const t=this.calendarDays.filter((t=>"block"===window.getComputedStyle(t.$button).display&&!t.$button.disabled));t[0].$button.setAttribute("tabindex","0"),this.currentDate=t[0].date}}selectDate(t){if(this.isExcludedDate(t))return;this.$calendarButton.querySelector("span").innerText=`Choose date. Selected date is ${this.formattedDateHuman(t)}`,this.$input.value=this.formattedDateFromDate(t);const e=new Event("change",{bubbles:!0,cancelable:!0});this.$input.dispatchEvent(e),this.closeDialog()}isOpen(){return this.$dialog.classList.contains("moj-datepicker__dialog--open")}toggleDialog(t){t.preventDefault(),this.isOpen()?this.closeDialog():(this.setMinAndMaxDatesOnCalendar(),this.openDialog())}openDialog(){this.$dialog.hidden=!1,this.$dialog.classList.add("moj-datepicker__dialog--open"),this.$calendarButton.setAttribute("aria-expanded","true"),this.$input.offsetWidth>this.$dialog.offsetWidth&&(this.$dialog.style.right="0px"),this.$dialog.style.top=`${this.$input.offsetHeight+3}px`,this.inputDate=this.formattedDateFromString(this.$input.value),this.currentDate=this.inputDate,this.currentDate.setHours(0,0,0,0),this.updateCalendar(),this.setCurrentDate()}closeDialog(){this.$dialog.hidden=!0,this.$dialog.classList.remove("moj-datepicker__dialog--open"),this.$calendarButton.setAttribute("aria-expanded","false"),this.$calendarButton.focus()}goToDate(t,e){const o=this.currentDate;this.currentDate=t,o.getMonth()===this.currentDate.getMonth()&&o.getFullYear()===this.currentDate.getFullYear()||this.updateCalendar(),this.setCurrentDate(e)}focusNextDay(){const t=new Date(this.currentDate);t.setDate(t.getDate()+1),this.goToDate(t)}focusPreviousDay(){const t=new Date(this.currentDate);t.setDate(t.getDate()-1),this.goToDate(t)}focusNextWeek(){const t=new Date(this.currentDate);t.setDate(t.getDate()+7),this.goToDate(t)}focusPreviousWeek(){const t=new Date(this.currentDate);t.setDate(t.getDate()-7),this.goToDate(t)}focusFirstDayOfWeek(){const t=new Date(this.currentDate),e="sunday"===this.config.weekStartDay?0:1,o=t.getDay(),s=o>=e?o-e:6-o;t.setDate(t.getDate()-s),t.setHours(0,0,0,0),this.goToDate(t)}focusLastDayOfWeek(){const t=new Date(this.currentDate),e="sunday"===this.config.weekStartDay?6:0,o=t.getDay(),s=o<=e?e-o:7-o;t.setDate(t.getDate()+s),t.setHours(0,0,0,0),this.goToDate(t)}focusNextMonth(t,e=!0){t.preventDefault();const o=new Date(this.currentDate);o.setMonth(o.getMonth()+1,1),this.goToDate(o,e)}focusPreviousMonth(t,e=!0){t.preventDefault();const o=new Date(this.currentDate);o.setMonth(o.getMonth()-1,1),this.goToDate(o,e)}focusNextYear(t,e=!0){t.preventDefault();const o=new Date(this.currentDate);o.setFullYear(o.getFullYear()+1,o.getMonth(),1),this.goToDate(o,e)}focusPreviousYear(t,e=!0){t.preventDefault();const o=new Date(this.currentDate);o.setFullYear(o.getFullYear()-1,o.getMonth(),1),this.goToDate(o,e)}}DatePicker.moduleName="moj-date-picker",DatePicker.defaults=Object.freeze({leadingZeros:!1,weekStartDay:"monday",input:{selector:".moj-js-datepicker-input"}}),DatePicker.schema=Object.freeze({properties:{excludedDates:{type:"string"},excludedDays:{type:"string"},leadingZeros:{type:"boolean"},maxDate:{type:"string"},minDate:{type:"string"},weekStartDay:{type:"string"},input:{type:"object"}}});class DSCalendarDay{constructor(t,e,o,s,n){this.index=e,this.row=o,this.column=s,this.$button=t,this.picker=n,this.date=new Date,this.$button.addEventListener("keydown",this.keyPress.bind(this)),this.$button.addEventListener("click",this.click.bind(this))}update(t,e,o){const s=t.getDate();let n=this.picker.formattedDateHuman(t);o?(this.$button.setAttribute("aria-disabled","true"),n=`Excluded date, ${n}`):this.$button.removeAttribute("aria-disabled"),this.$button.style.display=e?"none":"block",this.$button.setAttribute("data-testid",this.picker.formattedDateFromDate(t)),this.$button.innerHTML=`<span class="govuk-visually-hidden">${n}</span><span aria-hidden="true">${s}</span>`,this.date=new Date(t)}click(t){this.picker.goToDate(this.date),this.picker.selectDate(this.date),t.stopPropagation(),t.preventDefault()}keyPress(t){let e=!0;switch(t.key){case"ArrowLeft":this.picker.focusPreviousDay();break;case"ArrowRight":this.picker.focusNextDay();break;case"ArrowUp":this.picker.focusPreviousWeek();break;case"ArrowDown":this.picker.focusNextWeek();break;case"Home":this.picker.focusFirstDayOfWeek();break;case"End":this.picker.focusLastDayOfWeek();break;case"PageUp":t.shiftKey?this.picker.focusPreviousYear(t):this.picker.focusPreviousMonth(t);break;case"PageDown":t.shiftKey?this.picker.focusNextYear(t):this.picker.focusNextMonth(t);break;default:e=!1}e&&(t.preventDefault(),t.stopPropagation())}}class FilterToggleButton extends ConfigurableComponent{constructor(t,e={}){var o,s;super(t,e);const n=null!=(o=this.config.toggleButtonContainer.element)?o:document.querySelector(this.config.toggleButtonContainer.selector),i=null!=(s=this.config.closeButtonContainer.element)?s:this.$root.querySelector(this.config.closeButtonContainer.selector);if(!(n instanceof HTMLElement&&i instanceof HTMLElement))return this;this.$toggleButtonContainer=n,this.$closeButtonContainer=i,this.createToggleButton(),this.setupResponsiveChecks(),this.$root.setAttribute("tabindex","-1"),this.config.startHidden&&this.hideMenu()}setupResponsiveChecks(){this.mq=window.matchMedia(this.config.bigModeMediaQuery),this.mq.addListener(this.checkMode.bind(this)),this.checkMode()}createToggleButton(){this.$menuButton=document.createElement("button"),this.$menuButton.setAttribute("type","button"),this.$menuButton.setAttribute("aria-haspopup","true"),this.$menuButton.setAttribute("aria-expanded","false"),this.$menuButton.className=`govuk-button ${this.config.toggleButton.classes}`,this.$menuButton.textContent=this.config.toggleButton.showText,this.$menuButton.addEventListener("click",this.onMenuButtonClick.bind(this)),this.$toggleButtonContainer.append(this.$menuButton)}checkMode(){this.mq.matches?this.enableBigMode():this.enableSmallMode()}enableBigMode(){this.showMenu(),this.removeCloseButton()}enableSmallMode(){this.hideMenu(),this.addCloseButton()}addCloseButton(){this.$closeButton=document.createElement("button"),this.$closeButton.setAttribute("type","button"),this.$closeButton.className=this.config.closeButton.classes,this.$closeButton.textContent=this.config.closeButton.text,this.$closeButton.addEventListener("click",this.onCloseClick.bind(this)),this.$closeButtonContainer.append(this.$closeButton)}onCloseClick(){this.hideMenu(),this.$menuButton.focus()}removeCloseButton(){this.$closeButton&&(this.$closeButton.remove(),this.$closeButton=null)}hideMenu(){this.$menuButton.setAttribute("aria-expanded","false"),this.$root.classList.add("moj-js-hidden"),this.$menuButton.textContent=this.config.toggleButton.showText}showMenu(){this.$menuButton.setAttribute("aria-expanded","true"),this.$root.classList.remove("moj-js-hidden"),this.$menuButton.textContent=this.config.toggleButton.hideText}onMenuButtonClick(){this.toggle()}toggle(){"false"===this.$menuButton.getAttribute("aria-expanded")?(this.showMenu(),this.$root.focus()):this.hideMenu()}}FilterToggleButton.moduleName="moj-filter",FilterToggleButton.defaults=Object.freeze({bigModeMediaQuery:"(min-width: 48.0625em)",startHidden:!0,toggleButton:{showText:"Show filter",hideText:"Hide filter",classes:"govuk-button--secondary"},toggleButtonContainer:{selector:".moj-action-bar__filter"},closeButton:{text:"Close",classes:"moj-filter__close"},closeButtonContainer:{selector:".moj-filter__header-action"}}),FilterToggleButton.schema=Object.freeze({properties:{bigModeMediaQuery:{type:"string"},startHidden:{type:"boolean"},toggleButton:{type:"object"},toggleButtonContainer:{type:"object"},closeButton:{type:"object"},closeButtonContainer:{type:"object"}}});class FormValidator extends ConfigurableComponent{constructor(t,e={}){super(t,e);const o=this.config.summary.element||document.querySelector(this.config.summary.selector);if(!(o&&o instanceof HTMLElement))return this;this.$summary=o,this.errors=[],this.validators=[],this.originalTitle=document.title,this.$root.addEventListener("submit",this.onSubmit.bind(this))}escapeHtml(t=""){return String(t).replace(/[&<>"'`=/]/g,(t=>FormValidator.entityMap[t]))}resetTitle(){document.title=this.originalTitle}updateTitle(){document.title=`${this.errors.length} errors - ${document.title}`}showSummary(){this.$summary.innerHTML=this.getSummaryHtml(),this.$summary.classList.remove("moj-hidden"),this.$summary.setAttribute("aria-labelledby","errorSummary-heading"),this.$summary.focus()}getSummaryHtml(){let t='<h2 id="error-summary-title" class="govuk-error-summary__title">There is a problem</h2>';t+='<div class="govuk-error-summary__body">',t+='<ul class="govuk-list govuk-error-summary__list">';for(const e of this.errors)t+="<li>",t+=`<a href="#${this.escapeHtml(e.fieldName)}">`,t+=this.escapeHtml(e.message),t+="</a>",t+="</li>";return t+="</ul>",t+="</div>",t}hideSummary(){this.$summary.classList.add("moj-hidden"),this.$summary.removeAttribute("aria-labelledby")}onSubmit(t){this.removeInlineErrors(),this.hideSummary(),this.resetTitle(),this.validate()||(t.preventDefault(),this.updateTitle(),this.showSummary(),this.showInlineErrors())}showInlineErrors(){for(const t of this.errors)this.showInlineError(t)}showInlineError(t){const e=document.createElement("span");e.id=`${t.fieldName}-error`,e.classList.add("govuk-error-message"),e.innerHTML=this.escapeHtml(t.message);const o=document.querySelector(`#${t.fieldName}`),s=o.closest(".govuk-fieldset"),n=(s||o).closest(".govuk-form-group"),i=n.querySelector("label"),r=n.querySelector("legend");n.classList.add("govuk-form-group--error"),s&&r?(r.after(e),n.setAttribute("aria-invalid","true"),addAttributeValue(s,"aria-describedby",e.id)):i&&o&&(i.after(e),o.setAttribute("aria-invalid","true"),addAttributeValue(o,"aria-describedby",e.id))}removeInlineErrors(){for(const t of this.errors)this.removeInlineError(t)}removeInlineError(t){const e=document.querySelector(`#${t.fieldName}-error`),o=document.querySelector(`#${t.fieldName}`),s=o.closest(".govuk-fieldset"),n=(s||o).closest(".govuk-form-group"),i=n.querySelector("label"),r=n.querySelector("legend");e.remove(),n.classList.remove("govuk-form-group--error"),s&&r?(n.removeAttribute("aria-invalid"),removeAttributeValue(s,"aria-describedby",e.id)):i&&o&&(o.removeAttribute("aria-invalid"),removeAttributeValue(o,"aria-describedby",e.id))}addValidator(t,e){this.validators.push({fieldName:t,rules:e,field:this.$root.elements.namedItem(t)})}validate(){this.errors=[];let t,e,o=null,s=!0;for(t=0;t<this.validators.length;t++)for(o=this.validators[t],e=0;e<o.rules.length;e++){if(s=o.rules[e].method(o.field,o.rules[e].params),"boolean"==typeof s&&!s){this.errors.push({fieldName:o.fieldName,message:o.rules[e].message});break}if("string"==typeof s){this.errors.push({fieldName:s,message:o.rules[e].message});break}}return 0===this.errors.length}}FormValidator.entityMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"},FormValidator.moduleName="moj-form-validator",FormValidator.defaults=Object.freeze({summary:{selector:".govuk-error-summary"}}),FormValidator.schema=Object.freeze({properties:{summary:{type:"object"}}});class MultiFileUpload extends ConfigurableComponent{constructor(t,e={}){var o;if(super(t,e),!MultiFileUpload.isSupported())return this;const s=null!=(o=this.config.feedbackContainer.element)?o:this.$root.querySelector(this.config.feedbackContainer.selector);if(!(s&&s instanceof HTMLElement))return this;this.$feedbackContainer=s,this.setupFileInput(),this.setupDropzone(),this.setupLabel(),this.setupStatusBox(),this.$root.addEventListener("click",this.onFileDeleteClick.bind(this)),this.$root.classList.add("moj-multi-file-upload--enhanced")}setupDropzone(){this.$dropzone=document.createElement("div"),this.$dropzone.classList.add("moj-multi-file-upload__dropzone"),this.$dropzone.addEventListener("dragover",this.onDragOver.bind(this)),this.$dropzone.addEventListener("dragleave",this.onDragLeave.bind(this)),this.$dropzone.addEventListener("drop",this.onDrop.bind(this)),this.$fileInput.replaceWith(this.$dropzone),this.$dropzone.appendChild(this.$fileInput)}setupLabel(){const t=document.createElement("label");t.setAttribute("for",this.$fileInput.id),t.classList.add("govuk-button","govuk-button--secondary"),t.textContent=this.config.dropzoneButtonText;const e=document.createElement("p");e.classList.add("govuk-body"),e.textContent=this.config.dropzoneHintText,this.$label=t,this.$dropzone.append(e),this.$dropzone.append(t)}setupFileInput(){this.$fileInput=this.$root.querySelector(".moj-multi-file-upload__input"),this.$fileInput.addEventListener("change",this.onFileChange.bind(this)),this.$fileInput.addEventListener("focus",this.onFileFocus.bind(this)),this.$fileInput.addEventListener("blur",this.onFileBlur.bind(this))}setupStatusBox(){this.$status=document.createElement("div"),this.$status.classList.add("govuk-visually-hidden"),this.$status.setAttribute("aria-live","polite"),this.$status.setAttribute("role","status"),this.$dropzone.append(this.$status)}onDragOver(t){t.preventDefault(),this.$dropzone.classList.add("moj-multi-file-upload--dragover")}onDragLeave(){this.$dropzone.classList.remove("moj-multi-file-upload--dragover")}onDrop(t){t.preventDefault(),this.$dropzone.classList.remove("moj-multi-file-upload--dragover"),this.$feedbackContainer.classList.remove("moj-hidden"),this.$status.textContent=this.config.uploadStatusText,this.uploadFiles(t.dataTransfer.files)}uploadFiles(t){for(const e of Array.from(t))this.uploadFile(e)}onFileChange(){this.$feedbackContainer.classList.remove("moj-hidden"),this.$status.textContent=this.config.uploadStatusText,this.uploadFiles(this.$fileInput.files);const t=this.$fileInput.cloneNode(!0);t&&t instanceof HTMLInputElement&&(t.value="",this.$fileInput.replaceWith(t),this.setupFileInput(),this.$fileInput.focus())}onFileFocus(){this.$label.classList.add("moj-multi-file-upload--focused")}onFileBlur(){this.$label.classList.remove("moj-multi-file-upload--focused")}getSuccessHtml(t){return`<span class="moj-multi-file-upload__success"> <svg class="moj-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25"><path d="M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"/></svg>${t.messageHtml}</span>`}getErrorHtml(t){return`<span class="moj-multi-file-upload__error"> <svg class="moj-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25"><path d="M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"/></svg>${t.message}</span>`}getFileRow(t){const e=document.createElement("div");return e.classList.add("govuk-summary-list__row","moj-multi-file-upload__row"),e.innerHTML=`\n <div class="govuk-summary-list__value moj-multi-file-upload__message">\n <span class="moj-multi-file-upload__filename">${t.name}</span>\n <span class="moj-multi-file-upload__progress">0%</span>\n </div>\n <div class="govuk-summary-list__actions moj-multi-file-upload__actions"></div>\n `,e}getDeleteButton(t){const e=document.createElement("button");return e.setAttribute("type","button"),e.setAttribute("name","delete"),e.setAttribute("value",t.filename),e.classList.add("moj-multi-file-upload__delete","govuk-button","govuk-button--secondary","govuk-!-margin-bottom-0"),e.innerHTML=`Delete <span class="govuk-visually-hidden">${t.originalname}</span>`,e}uploadFile(t){this.config.hooks.entryHook(this,t);const e=this.getFileRow(t),o=e.querySelector(".moj-multi-file-upload__message"),s=e.querySelector(".moj-multi-file-upload__actions"),n=e.querySelector(".moj-multi-file-upload__progress"),i=new FormData;i.append("documents",t),this.$feedbackContainer.querySelector(".moj-multi-file-upload__list").append(e);const r=new XMLHttpRequest,onError=()=>{const e=new Error(r.response&&"error"in r.response?r.response.error.message:r.statusText||"Upload failed");o.innerHTML=this.getErrorHtml(e),this.$status.textContent=e.message,this.config.hooks.errorHook(this,t,r,r.responseText,e)};r.addEventListener("load",(()=>{if(r.status<200||r.status>=300||!("success"in r.response))return onError();o.innerHTML=this.getSuccessHtml(r.response.success),this.$status.textContent=r.response.success.messageText,s.append(this.getDeleteButton(r.response.file)),this.config.hooks.exitHook(this,t,r,r.responseText)})),r.addEventListener("error",onError),r.upload.addEventListener("progress",(t=>{if(!t.lengthComputable)return;const e=Math.round(t.loaded/t.total*100);n.textContent=` ${e}%`})),r.open("POST",this.config.uploadUrl),r.responseType="json",r.send(i)}onFileDeleteClick(t){const e=t.target;if(!(e&&e instanceof HTMLButtonElement&&e.classList.contains("moj-multi-file-upload__delete")))return;t.preventDefault();const o=new XMLHttpRequest;o.addEventListener("load",(()=>{if(o.status<200||o.status>=300)return;const t=Array.from(this.$feedbackContainer.querySelectorAll(".moj-multi-file-upload__row"));1===t.length&&this.$feedbackContainer.classList.add("moj-hidden");const s=t.find((t=>t.contains(e)));s&&s.remove(),this.config.hooks.deleteHook(this,void 0,o,o.responseText)})),o.open("POST",this.config.deleteUrl),o.setRequestHeader("Content-Type","application/json"),o.responseType="json",o.send(JSON.stringify({[e.name]:e.value}))}static isSupported(){return this.isDragAndDropSupported()&&this.isFormDataSupported()&&this.isFileApiSupported()}static isDragAndDropSupported(){return void 0!==document.createElement("div").ondrop}static isFormDataSupported(){return"function"==typeof FormData}static isFileApiSupported(){const t=document.createElement("input");return t.type="file",void 0!==t.files}}MultiFileUpload.moduleName="moj-multi-file-upload",MultiFileUpload.defaults=Object.freeze({uploadStatusText:"Uploading files, please wait",dropzoneHintText:"Drag and drop files here or",dropzoneButtonText:"Choose files",feedbackContainer:{selector:".moj-multi-file__uploaded-files"},hooks:{entryHook:()=>{},exitHook:()=>{},errorHook:()=>{},deleteHook:()=>{}}}),MultiFileUpload.schema=Object.freeze({properties:{uploadUrl:{type:"string"},deleteUrl:{type:"string"},uploadStatusText:{type:"string"},dropzoneHintText:{type:"string"},dropzoneButtonText:{type:"string"},feedbackContainer:{type:"object"},hooks:{type:"object"}}});class MultiSelect extends ConfigurableComponent{constructor(t,e={}){var o;super(t,e);const s=this.$root.querySelector(`#${this.config.idPrefix}select-all`),n=null!=(o=this.config.checkboxes.items)?o:this.$root.querySelectorAll(this.config.checkboxes.selector);if(!(s&&s instanceof HTMLElement&&n.length))return this;this.setupToggle(this.config.idPrefix),this.$toggleButton=this.$toggle.querySelector("input"),this.$toggleButton.addEventListener("click",this.onButtonClick.bind(this)),this.$container=s,this.$container.append(this.$toggle),this.$checkboxes=Array.from(n),this.$checkboxes.forEach((t=>t.addEventListener("click",this.onCheckboxClick.bind(this)))),this.checked=e.checked||!1}setupToggle(t=""){const e=`${t}checkboxes-all`,o=document.createElement("div"),s=document.createElement("label"),n=document.createElement("input"),i=document.createElement("span");o.classList.add("govuk-checkboxes__item","govuk-checkboxes--small","moj-multi-select__checkbox"),n.id=e,n.type="checkbox",n.classList.add("govuk-checkboxes__input"),s.setAttribute("for",e),s.classList.add("govuk-label","govuk-checkboxes__label","moj-multi-select__toggle-label"),i.classList.add("govuk-visually-hidden"),i.textContent="Select all",s.append(i),o.append(n,s),this.$toggle=o}onButtonClick(){this.checked?(this.uncheckAll(),this.$toggleButton.checked=!1):(this.checkAll(),this.$toggleButton.checked=!0)}checkAll(){this.$checkboxes.forEach((t=>{t.checked=!0})),this.checked=!0}uncheckAll(){this.$checkboxes.forEach((t=>{t.checked=!1})),this.checked=!1}onCheckboxClick(t){t.target instanceof HTMLInputElement&&(t.target.checked?this.$checkboxes.filter((t=>t.checked)).length===this.$checkboxes.length&&(this.$toggleButton.checked=!0,this.checked=!0):(this.$toggleButton.checked=!1,this.checked=!1))}}MultiSelect.moduleName="moj-multi-select",MultiSelect.defaults=Object.freeze({idPrefix:"",checkboxes:{selector:"tbody input.govuk-checkboxes__input"}}),MultiSelect.schema=Object.freeze({properties:{idPrefix:{type:"string"},checked:{type:"boolean"},checkboxes:{type:"object"}}});class PasswordReveal extends Component{constructor(t){super(t);const e=this.$root.querySelector(".govuk-input");if(!(e&&e instanceof HTMLInputElement))return this;this.$input=e,this.$input.setAttribute("spellcheck","false"),this.createButton()}createButton(){this.$group=document.createElement("div"),this.$button=document.createElement("button"),this.$button.setAttribute("type","button"),this.$root.classList.add("moj-password-reveal"),this.$group.classList.add("moj-password-reveal__wrapper"),this.$button.classList.add("govuk-button","govuk-button--secondary","moj-password-reveal__button"),this.$button.innerHTML='Show <span class="govuk-visually-hidden">password</span>',this.$button.addEventListener("click",this.onButtonClick.bind(this)),this.$group.append(this.$input,this.$button),this.$root.append(this.$group)}onButtonClick(){"password"===this.$input.type?(this.$input.type="text",this.$button.innerHTML='Hide <span class="govuk-visually-hidden">password</span>'):(this.$input.type="password",this.$button.innerHTML='Show <span class="govuk-visually-hidden">password</span>')}}PasswordReveal.moduleName="moj-password-reveal";class RichTextEditor extends ConfigurableComponent{constructor(t,e={}){if(super(t,e),!RichTextEditor.isSupported())return this;const o=this.$root.querySelector(".govuk-textarea");if(!(o&&o instanceof HTMLTextAreaElement))return this;this.$textarea=o,this.createToolbar(),this.hideDefault(),this.configureToolbar(),this.keys={left:37,right:39,up:38,down:40},this.$content.addEventListener("input",this.onEditorInput.bind(this)),this.$root.querySelector("label").addEventListener("click",this.onLabelClick.bind(this)),this.$toolbar.addEventListener("keydown",this.onToolbarKeydown.bind(this))}onToolbarKeydown(t){let e;switch(t.keyCode){case this.keys.right:case this.keys.down:if(e=this.$buttons.find((t=>"0"===t.getAttribute("tabindex"))),e){const t=e.nextElementSibling;t&&t instanceof HTMLButtonElement&&(t.focus(),e.setAttribute("tabindex","-1"),t.setAttribute("tabindex","0"))}break;case this.keys.left:case this.keys.up:if(e=this.$buttons.find((t=>"0"===t.getAttribute("tabindex"))),e){const t=e.previousElementSibling;t&&t instanceof HTMLButtonElement&&(t.focus(),e.setAttribute("tabindex","-1"),t.setAttribute("tabindex","0"))}}}getToolbarHtml(){let t="";return t+='<div class="moj-rich-text-editor__toolbar" role="toolbar">',this.config.toolbar.bold&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--bold" type="button" data-command="bold"><span class="govuk-visually-hidden">Bold</span></button>'),this.config.toolbar.italic&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--italic" type="button" data-command="italic"><span class="govuk-visually-hidden">Italic</span></button>'),this.config.toolbar.underline&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--underline" type="button" data-command="underline"><span class="govuk-visually-hidden">Underline</span></button>'),this.config.toolbar.bullets&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--unordered-list" type="button" data-command="insertUnorderedList"><span class="govuk-visually-hidden">Unordered list</span></button>'),this.config.toolbar.numbers&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--ordered-list" type="button" data-command="insertOrderedList"><span class="govuk-visually-hidden">Ordered list</span></button>'),t+="</div>",t}getEnhancedHtml(){return`${this.getToolbarHtml()}<div class="govuk-textarea moj-rich-text-editor__content" contenteditable="true" spellcheck="false"></div>`}hideDefault(){this.$textarea.classList.add("govuk-visually-hidden"),this.$textarea.setAttribute("aria-hidden","true"),this.$textarea.setAttribute("tabindex","-1")}createToolbar(){this.$toolbar=document.createElement("div"),this.$toolbar.className="moj-rich-text-editor",this.$toolbar.innerHTML=this.getEnhancedHtml(),this.$root.append(this.$toolbar),this.$content=this.$root.querySelector(".moj-rich-text-editor__content"),this.$content.innerHTML=this.$textarea.value}configureToolbar(){this.$buttons=Array.from(this.$root.querySelectorAll(".moj-rich-text-editor__toolbar-button")),this.$buttons.forEach(((t,e)=>{t.setAttribute("tabindex",e?"-1":"0"),t.addEventListener("click",this.onButtonClick.bind(this))}))}onButtonClick(t){t.currentTarget instanceof HTMLElement&&document.execCommand(t.currentTarget.getAttribute("data-command"),!1,void 0)}getContent(){return this.$content.innerHTML}onEditorInput(){this.updateTextarea()}updateTextarea(){document.execCommand("defaultParagraphSeparator",!1,"p"),this.$textarea.value=this.getContent()}onLabelClick(t){t.preventDefault(),this.$content.focus()}static isSupported(){return"contentEditable"in document.documentElement}}RichTextEditor.moduleName="moj-rich-text-editor",RichTextEditor.defaults=Object.freeze({toolbar:{bold:!1,italic:!1,underline:!1,bullets:!0,numbers:!0}}),RichTextEditor.schema=Object.freeze({properties:{toolbar:{type:"object"}}});class SearchToggle extends ConfigurableComponent{constructor(t,e={}){var o,s;super(t,e);const n=null!=(o=this.config.searchContainer.element)?o:this.$root.querySelector(this.config.searchContainer.selector),i=null!=(s=this.config.toggleButtonContainer.element)?s:this.$root.querySelector(this.config.toggleButtonContainer.selector);if(!(n&&i&&n instanceof HTMLElement&&i instanceof HTMLElement))return this;this.$searchContainer=n,this.$toggleButtonContainer=i;this.$toggleButton=document.createElement("button"),this.$toggleButton.setAttribute("class","moj-search-toggle__button"),this.$toggleButton.setAttribute("type","button"),this.$toggleButton.setAttribute("aria-haspopup","true"),this.$toggleButton.setAttribute("aria-expanded","false"),this.$toggleButton.innerHTML=`${this.config.toggleButton.text} <svg viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="moj-search-toggle__button__icon"><path d="M7.433,12.5790048 C6.06762625,12.5808611 4.75763941,12.0392925 3.79217348,11.0738265 C2.82670755,10.1083606 2.28513891,8.79837375 2.28699522,7.433 C2.28513891,6.06762625 2.82670755,4.75763941 3.79217348,3.79217348 C4.75763941,2.82670755 6.06762625,2.28513891 7.433,2.28699522 C8.79837375,2.28513891 10.1083606,2.82670755 11.0738265,3.79217348 C12.0392925,4.75763941 12.5808611,6.06762625 12.5790048,7.433 C12.5808611,8.79837375 12.0392925,10.1083606 11.0738265,11.0738265 C10.1083606,12.0392925 8.79837375,12.5808611 7.433,12.5790048 L7.433,12.5790048 Z M14.293,12.579 L13.391,12.579 L13.071,12.269 C14.2300759,10.9245158 14.8671539,9.20813198 14.866,7.433 C14.866,3.32786745 11.5381325,-1.65045755e-15 7.433,-1.65045755e-15 C3.32786745,-1.65045755e-15 -1.65045755e-15,3.32786745 -1.65045755e-15,7.433 C-1.65045755e-15,11.5381325 3.32786745,14.866 7.433,14.866 C9.208604,14.8671159 10.9253982,14.2296624 12.27,13.07 L12.579,13.39 L12.579,14.294 L18.296,20 L20,18.296 L14.294,12.579 L14.293,12.579 Z"></path></svg>`,this.$toggleButton.addEventListener("click",this.onToggleButtonClick.bind(this)),this.$toggleButtonContainer.append(this.$toggleButton),document.addEventListener("click",this.onDocumentClick.bind(this)),document.addEventListener("focusin",this.onDocumentClick.bind(this))}showMenu(){this.$toggleButton.setAttribute("aria-expanded","true"),this.$searchContainer.classList.remove("moj-js-hidden"),this.$searchContainer.querySelector("input").focus()}hideMenu(){this.$searchContainer.classList.add("moj-js-hidden"),this.$toggleButton.setAttribute("aria-expanded","false")}onToggleButtonClick(){"false"===this.$toggleButton.getAttribute("aria-expanded")?this.showMenu():this.hideMenu()}onDocumentClick(t){t.target instanceof Node&&!this.$toggleButtonContainer.contains(t.target)&&!this.$searchContainer.contains(t.target)&&this.hideMenu()}}SearchToggle.moduleName="moj-search-toggle",SearchToggle.defaults=Object.freeze({searchContainer:{selector:".moj-search"},toggleButton:{text:"Search"},toggleButtonContainer:{selector:".moj-search-toggle__toggle"}}),SearchToggle.schema=Object.freeze({properties:{searchContainer:{type:"object"},toggleButton:{type:"object"},toggleButtonContainer:{type:"object"}}});class SortableTable extends ConfigurableComponent{constructor(t,e={}){super(t,e);const o=null==t?void 0:t.querySelector("thead"),s=null==t?void 0:t.querySelector("tbody");if(!o||!s)return this;this.$head=o,this.$body=s,this.$caption=this.$root.querySelector("caption"),this.$upArrow='<svg width="22" height="22" focusable="false" aria-hidden="true" role="img" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M6.5625 15.5L11 6.63125L15.4375 15.5H6.5625Z" fill="currentColor"/>\n</svg>',this.$downArrow='<svg width="22" height="22" focusable="false" aria-hidden="true" role="img" vviewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M15.4375 7L11 15.8687L6.5625 7L15.4375 7Z" fill="currentColor"/>\n</svg>',this.$upDownArrow='<svg width="22" height="22" focusable="false" aria-hidden="true" role="img" vviewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M8.1875 9.5L10.9609 3.95703L13.7344 9.5H8.1875Z" fill="currentColor"/>\n<path d="M13.7344 12.0781L10.9609 17.6211L8.1875 12.0781H13.7344Z" fill="currentColor"/>\n</svg>',this.$headings=this.$head?Array.from(this.$head.querySelectorAll("th")):[],this.createHeadingButtons(),this.updateCaption(),this.updateDirectionIndicators(),this.createStatusBox(),this.initialiseSortedColumn(),this.$head.addEventListener("click",this.onSortButtonClick.bind(this))}createHeadingButtons(){for(const t of this.$headings)t.hasAttribute("aria-sort")&&this.createHeadingButton(t)}createHeadingButton(t){const e=this.$headings.indexOf(t),o=document.createElement("button");o.setAttribute("type","button"),o.setAttribute("data-index",`${e}`),o.textContent=t.textContent,t.textContent="",t.appendChild(o)}createStatusBox(){this.$status=document.createElement("div"),this.$status.setAttribute("aria-atomic","true"),this.$status.setAttribute("aria-live","polite"),this.$status.setAttribute("class","govuk-visually-hidden"),this.$status.setAttribute("role","status"),this.$root.insertAdjacentElement("afterend",this.$status)}initialiseSortedColumn(){var t;const e=this.getTableRowsArray(),o=this.$root.querySelector('th[aria-sort="ascending"], th[aria-sort="descending"]'),s=null==o?void 0:o.querySelector("button"),n=null==o?void 0:o.getAttribute("aria-sort"),i=Number.parseInt(null!=(t=null==s?void 0:s.getAttribute("data-index"))?t:"0",10);if(!o||!s||"ascending"!==n&&"descending"!==n)return;const r=this.sort(e,i,n);this.addRows(r)}onSortButtonClick(t){var e;const o=t.target.closest("button");if(!(o&&o instanceof HTMLButtonElement&&o.parentElement))return;const s=o.parentElement.getAttribute("aria-sort"),n=Number.parseInt(null!=(e=null==o?void 0:o.getAttribute("data-index"))?e:"0",10),i="none"===s||"descending"===s?"ascending":"descending",r=this.getTableRowsArray(),a=this.sort(r,n,i);this.addRows(a),this.removeButtonStates(),this.updateButtonState(o,i),this.updateDirectionIndicators()}updateCaption(){if(!this.$caption)return;let t=this.$caption.querySelector(".govuk-visually-hidden");t||(t=document.createElement("span"),t.classList.add("govuk-visually-hidden"),t.textContent=" (column headers with buttons are sortable).",this.$caption.appendChild(t))}updateButtonState(t,e){if("ascending"!==e&&"descending"!==e)return;t.parentElement.setAttribute("aria-sort",e);let o=this.config.statusMessage;o=o.replace(/%heading%/,t.textContent),o=o.replace(/%direction%/,this.config[`${e}Text`]),this.$status.textContent=o}updateDirectionIndicators(){for(const e of this.$headings){const o=e.querySelector("button");if(e.hasAttribute("aria-sort")&&o){var t;const s=e.getAttribute("aria-sort");switch(null==(t=o.querySelector("svg"))||t.remove(),s){case"ascending":o.insertAdjacentHTML("beforeend",this.$upArrow);break;case"descending":o.insertAdjacentHTML("beforeend",this.$downArrow);break;default:o.insertAdjacentHTML("beforeend",this.$upDownArrow)}}}}removeButtonStates(){for(const t of this.$headings)t.setAttribute("aria-sort","none")}addRows(t){for(const e of t)this.$body.append(e)}getTableRowsArray(){return Array.from(this.$body.querySelectorAll("tr"))}sort(t,e,o){return t.sort(((t,s)=>{const n=t.querySelectorAll("td, th")[e],i=s.querySelectorAll("td, th")[e];if(!(n&&i&&n instanceof HTMLElement&&i instanceof HTMLElement))return 0;const r="ascending"===o?this.getCellValue(n):this.getCellValue(i),a="ascending"===o?this.getCellValue(i):this.getCellValue(n);return"number"!=typeof r||"number"!=typeof a?r.toString().localeCompare(a.toString()):r-a}))}getCellValue(t){const e=t.getAttribute("data-sort-value")||t.innerHTML,o=Number(e);return Number.isFinite(o)?o:e}}function initAll(t){for(const e of[AddAnother,Alert,ButtonMenu,DatePicker,MultiSelect,PasswordReveal,RichTextEditor,SearchToggle,SortableTable])createAll(e,void 0,t)}SortableTable.moduleName="moj-sortable-table",SortableTable.defaults=Object.freeze({statusMessage:"Sort by %heading% (%direction%)",ascendingText:"ascending",descendingText:"descending"}),SortableTable.schema=Object.freeze({properties:{statusMessage:{type:"string"},ascendingText:{type:"string"},descendingText:{type:"string"}}});export{AddAnother,Alert,ButtonMenu,DatePicker,FilterToggleButton,FormValidator,MultiFileUpload,MultiSelect,PasswordReveal,RichTextEditor,SearchToggle,SortableTable,initAll,version};//# sourceMappingURL=moj-frontend.min.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ministryofjustice/frontend",
3
3
  "description": "The MOJ Frontend contains the code you need to start building user interfaces for UK Ministry of Justice government services.",
4
- "version": "5.1.2",
4
+ "version": "5.1.3",
5
5
  "main": "moj/all.js",
6
6
  "module": "moj/all.mjs",
7
7
  "sass": "moj/all.scss",
@@ -41,7 +41,7 @@
41
41
  "access": "public"
42
42
  },
43
43
  "peerDependencies": {
44
- "govuk-frontend": "5.9.0",
44
+ "govuk-frontend": "^5.8.0",
45
45
  "moment": "2.30.1"
46
46
  }
47
47
  }