diff --git a/.DS_Store b/.DS_Store index fadd49af..a2ac50f6 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/app/.DS_Store b/app/.DS_Store index bffa4fa7..fdf32557 100644 Binary files a/app/.DS_Store and b/app/.DS_Store differ diff --git a/app/assets/.DS_Store b/app/assets/.DS_Store new file mode 100644 index 00000000..774810e2 Binary files /dev/null and b/app/assets/.DS_Store differ diff --git a/app/assets/scss/app.scss b/app/assets/scss/app.scss index 961ddf8f..9ed0de5b 100644 --- a/app/assets/scss/app.scss +++ b/app/assets/scss/app.scss @@ -3,18 +3,9 @@ -@media only screen and (-webkit-min-device-pixel-ratio: 2), - only screen and (min--moz-device-pixel-ratio: 2), - only screen and (-o-min-device-pixel-ratio: 2/1), - only screen and (min-device-pixel-ratio: 2), - only screen and (min-resolution: 192dpi), - only screen and (min-resolution: 2dppx) { - .govuk-width-container { - max-width: 960px; - @include govuk-media-query($from: desktop) { - max-width: 1200px; - } - } + + .govuk-width-container { + max-width: 1200px; } @@ -35,15 +26,15 @@ td, blockquote, li, tr { - font-family: - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen-Sans, - Ubuntu, - Cantarell, - 'Helvetica Neue', - sans-serif !important; + font-family: + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen-Sans, + Ubuntu, + Cantarell, + 'Helvetica Neue', + sans-serif !important; } @@ -52,514 +43,516 @@ tr { .dfe-vertical-nav { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - font-weight: 400; - font-size: 16px; - font-size: .875rem; - line-height: 1.14286; - - .dfe-vertical-nav--section-header{ - color: $color_dfe-grey-1; - font-size: 19px; - line-height: 1.25; - font-weight: 600; - color: #505a5f; - margin-bottom: 15px; - padding-top: 0px; - } - } - - @media (min-width:40.0625em) { - .dfe-vertical-nav { - padding-left: 15px - } + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-weight: 400; + font-size: 16px; + font-size: .875rem; + line-height: 1.14286; + + .dfe-vertical-nav--section-header { + color: $color_dfe-grey-1; + font-size: 19px; + line-height: 1.25; + font-weight: 600; + color: #505a5f; + margin-bottom: 15px; + padding-top: 0px; } - - - @media print { - .dfe-vertical-nav { - font-size: 14pt; - line-height: 1.2 - } +} + +@media (min-width:40.0625em) { + .dfe-vertical-nav { + padding-left: 15px } - - @media (min-width:40.0625em) { - .dfe-vertical-nav { - margin-left: -15px - } +} + + +@media print { + .dfe-vertical-nav { + font-size: 14pt; + line-height: 1.2 } - - .dfe-vertical-nav__section { - margin: 0 0 20px; - padding: 0; - list-style-type: none +} + +@media (min-width:40.0625em) { + .dfe-vertical-nav { + margin-left: -15px } - - .dfe-vertical-nav__link { - display: block; - padding: 7px 30px 8px 10px; - text-decoration: none; - margin-bottom: 5px; - color: $color_dfe-blue; - } - - .dfe-vertical-nav__section-item { - border-left: 4px solid #b1b4b6; - font-size: 16px; +} + +.dfe-vertical-nav__section { + margin: 0 0 20px; + padding: 0; + list-style-type: none +} + +.dfe-vertical-nav__link { + display: block; + padding: 7px 30px 8px 10px; + text-decoration: none; + margin-bottom: 5px; + color: $color_dfe-blue; +} + +.dfe-vertical-nav__section-item { + border-left: 4px solid #b1b4b6; + font-size: 16px; font-size: 1rem; line-height: 1.25; +} + +.dfe-vertical-nav__section-item:hover { + border-left: 4px solid $color_dfe-secondary-blue; +} + +.dfe-vertical-nav__link:focus { + background: inherit +} + +.dfe-vertical-nav__section-item--current { + border-left: 4px solid $color_dfe-blue; + font-weight: 700; + background: #f3f2f1 +} + +.dfe-vertical-nav__link:active, +.dfe-vertical-nav__link:hover { + color: #1d70b8; + border-left-color: $color_dfe-secondary-blue; + text-decoration: none; + box-shadow: none; + outline: 0 +} + +.dfe-vertical-nav__link:focus { + background: #fd0; + color: #0b0c0c; + text-decoration: none; + box-shadow: none; + outline: 0 +} + +.dfe-vertical-nav__section-item--current .dfe-vertical-nav__link { + border-left-color: $color_dfe-blue; + font-weight: 700; + color: $color_dfe-blue; +} + +.dfe-vertical-nav__section-item--current .dfe-vertical-nav__link:hover { + text-decoration: none +} + +.dfe-vertical-nav__section--nested { + margin-bottom: 5px +} + +.dfe-vertical-nav__section--nested .dfe-vertical-nav__link { + padding-left: 20px; + font-weight: 400; + margin-bottom: 0; + margin-top: -5px +} + +.dfe-vertical-nav__section--nested .dfe-vertical-nav__section-item::before { + content: "—"; + margin-left: -20px; + color: #505a5f +} + +.dfe-vertical-nav--count { + float: right; + background: #b1b4b6; + padding: 9px 5px 9px 5px; + border-radius: 0; + color: #0b0c0c; + font-weight: 700; + min-width: 25px; + text-align: center; + font-size: 12px +} + +@media print { + .dfe-vertical-nav__theme { + font-family: sans-serif } - - .dfe-vertical-nav__section-item:hover { - border-left: 4px solid $color_dfe-secondary-blue; - } - - .dfe-vertical-nav__link:focus { - background: inherit - } - - .dfe-vertical-nav__section-item--current { - border-left: 4px solid $color_dfe-blue; - font-weight: 700; - background: #f3f2f1 - } - - .dfe-vertical-nav__link:active, - .dfe-vertical-nav__link:hover { - color: #1d70b8; - border-left-color: $color_dfe-secondary-blue; - text-decoration: none; - box-shadow: none; - outline: 0 - } - - .dfe-vertical-nav__link:focus { - background: #fd0; - color: #0b0c0c; - text-decoration: none; - box-shadow: none; - outline: 0 - } - - .dfe-vertical-nav__section-item--current .dfe-vertical-nav__link { - border-left-color: $color_dfe-blue; - font-weight: 700; - color: $color_dfe-blue;} - - .dfe-vertical-nav__section-item--current .dfe-vertical-nav__link:hover { - text-decoration: none - } - - .dfe-vertical-nav__section--nested { - margin-bottom: 5px - } - - .dfe-vertical-nav__section--nested .dfe-vertical-nav__link { - padding-left: 20px; - font-weight: 400; - margin-bottom: 0; - margin-top: -5px - } - - .dfe-vertical-nav__section--nested .dfe-vertical-nav__section-item::before { - content: "—"; - margin-left: -20px; - color: #505a5f +} + +@media (min-width:40.0625em) { + .dfe-vertical-nav__theme { + font-size: 19px; + font-size: 1.1875rem; + line-height: 1.31579 } - + .dfe-vertical-nav--count { - float: right; - background: #b1b4b6; - padding: 9px 5px 9px 5px; - border-radius: 0; - color: #0b0c0c; - font-weight: 700; - min-width: 25px; - text-align: center; - font-size: 12px - } - - @media print { - .dfe-vertical-nav__theme { - font-family: sans-serif - } + padding: 12px 8px 12px 8px; } - - @media (min-width:40.0625em) { - .dfe-vertical-nav__theme { - font-size: 19px; - font-size: 1.1875rem; - line-height: 1.31579 - } - - .dfe-vertical-nav--count { - padding: 12px 8px 12px 8px; +} + +.dfe-vertical-nav__section { + + .dfe-vertical-nav__section-item--current--child-active { + .dfe-vertical-nav__link { + font-weight: 400; } } - + .dfe-vertical-nav__section { - - .dfe-vertical-nav__section-item--current--child-active { - .dfe-vertical-nav__link { - font-weight: 400; + + margin-bottom: 0px; + + .dfe-vertical-nav__section-item { + border-left: none; + + :before { + content: "—"; + margin-left: 0px; + margin-right: 5px; } } - - .dfe-vertical-nav__section { - - margin-bottom: 0px; - - .dfe-vertical-nav__section-item { - border-left: none; - - :before { - content: "—"; - margin-left: 0px; - margin-right: 5px; - } - } - - &.dfe-vertical-nav__section-item--current { - border-left: none; - background: $color_dfe-secondary-blue; - - .dfe-vertical-nav__link { - font-weight: 700; - } + + &.dfe-vertical-nav__section-item--current { + border-left: none; + background: $color_dfe-secondary-blue; + + .dfe-vertical-nav__link { + font-weight: 700; } } } - +} - .dfe-content-page--header{ - background: tint($color_dfe-secondary-blue, 90%) - } + +.dfe-content-page--header { + background: tint($color_dfe-secondary-blue, 90%) +} .dfe-o-hero { - display: flex; - position: relative; - max-width: 1600px !important; - min-height: 10rem; - margin: 0 auto; - overflow: hidden; - align-items: center; - justify-content: center; - background: var(--pale-grey, #e8edee); - } - - @media (min-width:64em) { - .dfe-o-hero { - min-height: 18rem; - } - } - - .dfe-o-hero [class^=dfe-t-body], - .dfe-o-hero [class^=dfe-t-heading] { - display: -webkit-box; - overflow: hidden; - text-overflow: ellipsis; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - -webkit-box-pack: end; - } - - .dfe-o-hero [class^=dfe-t-body] { - -webkit-line-clamp: 5; - } - - .dfe-o-hero--left-align { - justify-content: flex-start; + display: flex; + position: relative; + max-width: 1600px !important; + min-height: 10rem; + margin: 0 auto; + overflow: hidden; + align-items: center; + justify-content: center; + background: var(--pale-grey, #e8edee); +} + +@media (min-width:64em) { + .dfe-o-hero { + min-height: 18rem; } - +} + +.dfe-o-hero [class^=dfe-t-body], +.dfe-o-hero [class^=dfe-t-heading] { + display: -webkit-box; + overflow: hidden; + text-overflow: ellipsis; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + -webkit-box-pack: end; +} + +.dfe-o-hero [class^=dfe-t-body] { + -webkit-line-clamp: 5; +} + +.dfe-o-hero--left-align { + justify-content: flex-start; +} + +.dfe-o-hero--left-align .dfe-o-hero__content-container { + width: 80%; + max-width: 80%; +} + +@media (min-width:23.4375em) { .dfe-o-hero--left-align .dfe-o-hero__content-container { - width: 80%; - max-width: 80%; - } - - @media (min-width:23.4375em) { - .dfe-o-hero--left-align .dfe-o-hero__content-container { - padding-right: calc((100% - 38.222rem)/2); - padding-left: calc((100% - 38.222rem)/2); - } - } - - @media (min-width:64em) { - .dfe-o-hero--left-align .dfe-o-hero__content-container { - padding-right: calc((100% - 52.444rem)/2); - padding-left: calc((100% - 52.444rem)/2); - } - } - - @media (min-width:77.5em) { - .dfe-o-hero--left-align .dfe-o-hero__content-container { - padding-right: calc((100% - 58.888rem)/2); - padding-left: calc((100% - 58.888rem)/2); - } + padding-right: calc((100% - 38.222rem)/2); + padding-left: calc((100% - 38.222rem)/2); } - - @media (min-width:85.375em) { - .dfe-o-hero--left-align .dfe-o-hero__content-container { - padding-right: calc((100% - 71.111rem)/2); - padding-left: calc((100% - 71.111rem)/2); - } +} + +@media (min-width:64em) { + .dfe-o-hero--left-align .dfe-o-hero__content-container { + padding-right: calc((100% - 52.444rem)/2); + padding-left: calc((100% - 52.444rem)/2); } - - @media (min-width:98.75em) { - .dfe-o-hero--left-align .dfe-o-hero__content-container { - padding-right: calc((100% - 83.333rem)/2); - padding-left: calc((100% - 83.333rem)/2); - } +} + +@media (min-width:77.5em) { + .dfe-o-hero--left-align .dfe-o-hero__content-container { + padding-right: calc((100% - 58.888rem)/2); + padding-left: calc((100% - 58.888rem)/2); } - - @media (max-width:23.4275em) { - .dfe-o-hero--left-align .dfe-o-hero__content-container { - width: 90%; - max-width: 90%; - } +} + +@media (min-width:85.375em) { + .dfe-o-hero--left-align .dfe-o-hero__content-container { + padding-right: calc((100% - 71.111rem)/2); + padding-left: calc((100% - 71.111rem)/2); } - - @media (max-width:47.99em) { - .dfe-o-hero--left-align .dfe-o-hero__content-container { - width: 100%; - max-width: 100%; - } +} + +@media (min-width:98.75em) { + .dfe-o-hero--left-align .dfe-o-hero__content-container { + padding-right: calc((100% - 83.333rem)/2); + padding-left: calc((100% - 83.333rem)/2); } - - .dfe-o-hero--left-align .dfe-a-digiblocks--pos-bl, - .dfe-o-hero--left-align .dfe-a-digiblocks--pos-tl { - display: none; +} + +@media (max-width:23.4275em) { + .dfe-o-hero--left-align .dfe-o-hero__content-container { + width: 90%; + max-width: 90%; } - - .dfe-o-hero__content-container { - display: flex; - position: relative; - z-index: 1; - justify-content: center; - flex-direction: column; - align-items: flex-start; +} + +@media (max-width:47.99em) { + .dfe-o-hero--left-align .dfe-o-hero__content-container { + width: 100%; max-width: 100%; - grid-row: 1; } - - @media (min-width:48em) { - .dfe-o-hero__content-container { - max-width: 38.222rem; - } +} + +.dfe-o-hero--left-align .dfe-a-digiblocks--pos-bl, +.dfe-o-hero--left-align .dfe-a-digiblocks--pos-tl { + display: none; +} + +.dfe-o-hero__content-container { + display: flex; + position: relative; + z-index: 1; + justify-content: center; + flex-direction: column; + align-items: flex-start; + max-width: 100%; + grid-row: 1; +} + +@media (min-width:48em) { + .dfe-o-hero__content-container { + max-width: 38.222rem; } - - @media (min-width:98.75em) { - .dfe-o-hero__content-container { - max-width: 52.444rem; - } +} + +@media (min-width:98.75em) { + .dfe-o-hero__content-container { + max-width: 52.444rem; } - +} + +.dfe-o-hero__inner-content-container { + width: 100%; + padding: 3.3333333333rem 1.666rem; +} + +@media (max-width:63.99em) { .dfe-o-hero__inner-content-container { - width: 100%; - padding: 3.3333333333rem 1.666rem; - } - - @media (max-width:63.99em) { - .dfe-o-hero__inner-content-container { - padding: 3.3333333333rem 1.111222rem; - } - } - - .dfe-o-hero__iframe-wrapper { - position: relative; - z-index: 1; - min-height: 100%; - padding-bottom: 56.25%; - } - - .dfe-o-hero__iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - } - - .dfe-o-hero__meta-data { - display: inline-table; - margin: 0; - font-size: .888rem; - text-align: left; - } - - .dfe-o-hero__meta-data-item { - display: table-row; + padding: 3.3333333333rem 1.111222rem; } - +} + +.dfe-o-hero__iframe-wrapper { + position: relative; + z-index: 1; + min-height: 100%; + padding-bottom: 56.25%; +} + +.dfe-o-hero__iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.dfe-o-hero__meta-data { + display: inline-table; + margin: 0; + font-size: .888rem; + text-align: left; +} + +.dfe-o-hero__meta-data-item { + display: table-row; +} + +.dfe-o-hero__meta-data-item-description, +.dfe-o-hero__meta-data-item-title { + display: table-cell; + margin: 0; +} + +.dfe-o-hero__meta-data-item-title { + padding-right: 1.1111111111rem; + font-weight: 600; +} + +@media (max-width:47.99em) { + + .dfe-o-hero__meta-data, + .dfe-o-hero__meta-data-item, .dfe-o-hero__meta-data-item-description, .dfe-o-hero__meta-data-item-title { - display: table-cell; - margin: 0; - } - - .dfe-o-hero__meta-data-item-title { - padding-right: 1.1111111111rem; - font-weight: 600; - } - - @media (max-width:47.99em) { - - .dfe-o-hero__meta-data, - .dfe-o-hero__meta-data-item, - .dfe-o-hero__meta-data-item-description, - .dfe-o-hero__meta-data-item-title { - display: block; - } - - .dfe-o-hero__meta-data-item { - padding: .2777777778rem 0; - } - } - - .dfe-o-hero .dfe-a-digiblocks { - z-index: 0; - } - - .dfe-o-hero--light-text .dfe-o-hero__content-container [class^=dfe-t-body], - .dfe-o-hero--light-text .dfe-o-hero__content-container [class^=dfe-t-heading] { - color: var(--white, #ffffff); - } - - .dfe-o-hero--light-text .dfe-o-hero__content-container [class^=dfe-a-link]:active, - .dfe-o-hero--light-text .dfe-o-hero__content-container [class^=dfe-a-link]:not(:hover):not(:focus) { - border-bottom: 1px solid var(--white, #ffffff); - color: var(--white, #ffffff); + display: block; } - - .dfe-o-hero--light-text .dfe-o-hero__content-container .dfe-a-icon>svg { - fill: var(--white, #ffffff); + + .dfe-o-hero__meta-data-item { + padding: .2777777778rem 0; } - +} + +.dfe-o-hero .dfe-a-digiblocks { + z-index: 0; +} + +.dfe-o-hero--light-text .dfe-o-hero__content-container [class^=dfe-t-body], +.dfe-o-hero--light-text .dfe-o-hero__content-container [class^=dfe-t-heading] { + color: var(--white, #ffffff); +} + +.dfe-o-hero--light-text .dfe-o-hero__content-container [class^=dfe-a-link]:active, +.dfe-o-hero--light-text .dfe-o-hero__content-container [class^=dfe-a-link]:not(:hover):not(:focus) { + border-bottom: 1px solid var(--white, #ffffff); + color: var(--white, #ffffff); +} + +.dfe-o-hero--light-text .dfe-o-hero__content-container .dfe-a-icon>svg { + fill: var(--white, #ffffff); +} + +.dfe-o-hero--image-accented, +.dfe-o-hero--image-accented-mirrored { + display: grid; + grid-template-rows: 1fr auto; + grid-template-columns: 50% 50%; + max-width: 100px; + margin: 0 auto; + padding: 0; +} + +@media (max-width:63.99em) { + .dfe-o-hero--image-accented, .dfe-o-hero--image-accented-mirrored { - display: grid; - grid-template-rows: 1fr auto; - grid-template-columns: 50% 50%; - max-width: 100px; - margin: 0 auto; - padding: 0; - } - - @media (max-width:63.99em) { - - .dfe-o-hero--image-accented, - .dfe-o-hero--image-accented-mirrored { - grid-template-columns: 100%; - } + grid-template-columns: 100%; } - +} + +.dfe-o-hero--image-accented .dfe-o-hero__image-container, +.dfe-o-hero--image-accented-mirrored .dfe-o-hero__image-container { + grid-row: 1; + height: 100%; +} + +@media (min-width:64em) { + .dfe-o-hero--image-accented .dfe-o-hero__image-container, .dfe-o-hero--image-accented-mirrored .dfe-o-hero__image-container { - grid-row: 1; - height: 100%; + grid-row-start: 1; + grid-row-end: 3; } - - @media (min-width:64em) { - - .dfe-o-hero--image-accented .dfe-o-hero__image-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__image-container { - grid-row-start: 1; - grid-row-end: 3; - } +} + +@media (max-width:63.99em) { + + .dfe-o-hero--image-accented .dfe-o-hero__inner-content-container, + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__inner-content-container { + padding: 3.3333333333rem 1.111222rem; } - - @media (max-width:63.99em) { - - .dfe-o-hero--image-accented .dfe-o-hero__inner-content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__inner-content-container { - padding: 3.3333333333rem 1.111222rem; - } +} + +@media (max-width:23.4275em) { + + .dfe-o-hero--image-accented .dfe-o-hero__inner-content-container, + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__inner-content-container { + padding: 1.6666666667rem 1.111222rem; } - - @media (max-width:23.4275em) { - - .dfe-o-hero--image-accented .dfe-o-hero__inner-content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__inner-content-container { - padding: 1.6666666667rem 1.111222rem; - } +} + +.dfe-o-hero--image-accented .dfe-o-hero__content-container, +.dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { + max-width: 100%; + align-items: flex-start; + padding: 0; +} + +@media (min-width:23.4375em) { + + .dfe-o-hero--image-accented .dfe-o-hero__content-container, + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { + padding: 0 calc((100% - 38.222rem)/2); } - +} + +@media (min-width:64em) { + .dfe-o-hero--image-accented .dfe-o-hero__content-container, .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - max-width: 100%; - align-items: flex-start; - padding: 0; - } - - @media (min-width:23.4375em) { - - .dfe-o-hero--image-accented .dfe-o-hero__content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - padding: 0 calc((100% - 38.222rem)/2); - } + padding: 0 calc((100% - 52.444rem)/2); } - - @media (min-width:64em) { - - .dfe-o-hero--image-accented .dfe-o-hero__content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - padding: 0 calc((100% - 52.444rem)/2); - } +} + +@media (min-width:77.5em) { + + .dfe-o-hero--image-accented .dfe-o-hero__content-container, + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { + padding: 0 calc((100% - 58.888rem)/2); } - - @media (min-width:77.5em) { - - .dfe-o-hero--image-accented .dfe-o-hero__content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - padding: 0 calc((100% - 58.888rem)/2); - } +} + +@media (min-width:85.375em) { + + .dfe-o-hero--image-accented .dfe-o-hero__content-container, + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { + padding: 0 calc((100% - 71.111rem)/2); } - - @media (min-width:85.375em) { - - .dfe-o-hero--image-accented .dfe-o-hero__content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - padding: 0 calc((100% - 71.111rem)/2); - } +} + +@media (min-width:98.75em) { + + .dfe-o-hero--image-accented .dfe-o-hero__content-container, + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { + padding: 0 calc((100% - 83.333rem)/2); } - - @media (min-width:98.75em) { - - .dfe-o-hero--image-accented .dfe-o-hero__content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - padding: 0 calc((100% - 83.333rem)/2); - } - } - - @media (min-width:64em) { - - .dfe-o-hero--image-accented .dfe-o-hero__content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - padding: 1.1111111111rem 1.6666666667rem; - } +} + +@media (min-width:64em) { + + .dfe-o-hero--image-accented .dfe-o-hero__content-container, + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { + padding: 1.1111111111rem 1.6666666667rem; } - - @media (min-width:77.5em) { - - .dfe-o-hero--image-accented .dfe-o-hero__content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - padding: 3.3333333333rem 5rem; - } +} + +@media (min-width:77.5em) { + + .dfe-o-hero--image-accented .dfe-o-hero__content-container, + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { + padding: 3.3333333333rem 5rem; } - - @media (max-width:63.99em) { - - .dfe-o-hero--image-accented .dfe-o-hero__content-container, - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - grid-row: 2; - } +} + +@media (max-width:63.99em) { + + .dfe-o-hero--image-accented .dfe-o-hero__content-container, + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { + grid-row: 2; } - - @include govuk-media-query($from: desktop){ +} + +@include govuk-media-query($from: desktop) { + .dfe-o-hero--image-accented .dfe-a-image, .dfe-o-hero--image-accented .dfe-a-image__picture, .dfe-o-hero--image-accented-mirrored .dfe-a-image, @@ -567,795 +560,815 @@ tr { height: 100%; } } - + +.dfe-o-hero--image-accented .dfe-a-colour-bar, +.dfe-o-hero--image-accented-mirrored .dfe-a-colour-bar { + height: 2.5rem; +} + +@media (min-width:85.375em) { + .dfe-o-hero--image-accented .dfe-a-colour-bar, .dfe-o-hero--image-accented-mirrored .dfe-a-colour-bar { - height: 2.5rem; - } - - @media (min-width:85.375em) { - - .dfe-o-hero--image-accented .dfe-a-colour-bar, - .dfe-o-hero--image-accented-mirrored .dfe-a-colour-bar { - height: 4.1666666667rem; - } + height: 4.1666666667rem; } - - @media (min-width:64em)and (max-width:85.365em) { - - .dfe-o-hero--image-accented .dfe-a-image:not(.dfe-a-image--square) .dfe-a-image__picture, - .dfe-o-hero--image-accented-mirrored .dfe-a-image:not(.dfe-a-image--square) .dfe-a-image__picture { - padding-bottom: 68.9922481%; - } +} + +@media (min-width:64em)and (max-width:85.365em) { + + .dfe-o-hero--image-accented .dfe-a-image:not(.dfe-a-image--square) .dfe-a-image__picture, + .dfe-o-hero--image-accented-mirrored .dfe-a-image:not(.dfe-a-image--square) .dfe-a-image__picture { + padding-bottom: 68.9922481%; } - - @media (min-width:64em) { - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__image-container { - grid-column: 1; - } - - .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { - grid-column: 2; - } +} + +@media (min-width:64em) { + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__image-container { + grid-column: 1; } - - .dfe-o-hero--image, - .dfe-o-hero--image-mirrored { - display: grid; - grid-template-columns: 50% 50%; + + .dfe-o-hero--image-accented-mirrored .dfe-o-hero__content-container { + grid-column: 2; } - +} + +.dfe-o-hero--image, +.dfe-o-hero--image-mirrored { + display: grid; + grid-template-columns: 50% 50%; +} + +.dfe-o-hero--image .dfe-o-hero__content-container, +.dfe-o-hero--image .dfe-o-hero__image-container, +.dfe-o-hero--image-mirrored .dfe-o-hero__content-container, +.dfe-o-hero--image-mirrored .dfe-o-hero__image-container { + width: 100%; + max-width: 100%; +} + +@media (min-width:23.4375em) { + .dfe-o-hero--image .dfe-o-hero__content-container, - .dfe-o-hero--image .dfe-o-hero__image-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__image-container { - width: 100%; - max-width: 100%; + .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { + padding: 0 calc((200% - 38.222rem)/2); } - - @media (min-width:23.4375em) { - - .dfe-o-hero--image .dfe-o-hero__content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { - padding: 0 calc((200% - 38.222rem)/2); - } +} + +@media (min-width:64em) { + + .dfe-o-hero--image .dfe-o-hero__content-container, + .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { + padding: 0 calc((200% - 52.444rem)/2); } - - @media (min-width:64em) { - - .dfe-o-hero--image .dfe-o-hero__content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { - padding: 0 calc((200% - 52.444rem)/2); - } +} + +@media (min-width:77.5em) { + + .dfe-o-hero--image .dfe-o-hero__content-container, + .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { + padding: 0 calc((200% - 58.888rem)/2); } - - @media (min-width:77.5em) { - - .dfe-o-hero--image .dfe-o-hero__content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { - padding: 0 calc((200% - 58.888rem)/2); - } +} + +@media (min-width:85.375em) { + + .dfe-o-hero--image .dfe-o-hero__content-container, + .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { + padding: 0 calc((200% - 71.111rem)/2); } - - @media (min-width:85.375em) { - - .dfe-o-hero--image .dfe-o-hero__content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { - padding: 0 calc((200% - 71.111rem)/2); - } +} + +@media (min-width:98.75em) { + + .dfe-o-hero--image .dfe-o-hero__content-container, + .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { + padding: 0 calc((200% - 83.333rem)/2); } - - @media (min-width:98.75em) { - - .dfe-o-hero--image .dfe-o-hero__content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { - padding: 0 calc((200% - 83.333rem)/2); - } +} + +@media (min-width:64em) { + + .dfe-o-hero--image .dfe-o-hero__content-container, + .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { + padding-right: 0; } - - @media (min-width:64em) { - - .dfe-o-hero--image .dfe-o-hero__content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { - padding-right: 0; - } +} + +@media (max-width:23.4275em) { + + .dfe-o-hero--image .dfe-o-hero__inner-content-container, + .dfe-o-hero--image-mirrored .dfe-o-hero__inner-content-container { + padding: 1.6666666667rem 1.666rem; } - - @media (max-width:23.4275em) { - - .dfe-o-hero--image .dfe-o-hero__inner-content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__inner-content-container { - padding: 1.6666666667rem 1.666rem; - } +} + +@media (max-width:63.99em) { + + .dfe-o-hero--image, + .dfe-o-hero--image-mirrored { + grid-template-columns: 100%; + align-items: center; } - - @media (max-width:63.99em) { - - .dfe-o-hero--image, - .dfe-o-hero--image-mirrored { - grid-template-columns: 100%; - align-items: center; - } - - .dfe-o-hero--image .dfe-o-hero__content-container, - .dfe-o-hero--image .dfe-o-hero__image-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__image-container { - width: 100%; - max-width: 100%; - } - - .dfe-o-hero--image .dfe-o-hero__image-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__image-container { - grid-row: 1; - } - - .dfe-o-hero--image .dfe-o-hero__content-container, - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { - padding: 0 calc((100% - 38.222rem)/2); - grid-row: 2; - } + + .dfe-o-hero--image .dfe-o-hero__content-container, + .dfe-o-hero--image .dfe-o-hero__image-container, + .dfe-o-hero--image-mirrored .dfe-o-hero__content-container, + .dfe-o-hero--image-mirrored .dfe-o-hero__image-container { + width: 100%; + max-width: 100%; } - + + .dfe-o-hero--image .dfe-o-hero__image-container, .dfe-o-hero--image-mirrored .dfe-o-hero__image-container { - grid-column: 1; + grid-row: 1; } - + + .dfe-o-hero--image .dfe-o-hero__content-container, .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { - grid-column: 2; + padding: 0 calc((100% - 38.222rem)/2); + grid-row: 2; } - - @media (max-width:63.99em) { - .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { - grid-column: 1; - } +} + +.dfe-o-hero--image-mirrored .dfe-o-hero__image-container { + grid-column: 1; +} + +.dfe-o-hero--image-mirrored .dfe-o-hero__content-container { + grid-column: 2; +} + +@media (max-width:63.99em) { + .dfe-o-hero--image-mirrored .dfe-o-hero__content-container { + grid-column: 1; } - +} + +.dfe-o-hero--background-image { + padding-bottom: 35vw; +} + +@media (min-width:85.375em) { .dfe-o-hero--background-image { - padding-bottom: 35vw; + padding-bottom: 390px; } - - @media (min-width:85.375em) { - .dfe-o-hero--background-image { - padding-bottom: 390px; - } - } - +} + +.dfe-o-hero--background-image .dfe-o-hero__image-container { + position: absolute; + top: calc(100% - 35vw - 90px); + right: 0; + bottom: 0; + left: 0; + -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 60%); + mask-image: linear-gradient(to bottom, transparent 0, #000 60%); +} + +@media (min-width:85.375em) { .dfe-o-hero--background-image .dfe-o-hero__image-container { - position: absolute; - top: calc(100% - 35vw - 90px); - right: 0; - bottom: 0; - left: 0; - -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 60%); - mask-image: linear-gradient(to bottom, transparent 0, #000 60%); - } - - @media (min-width:85.375em) { - .dfe-o-hero--background-image .dfe-o-hero__image-container { - top: calc(100% - 495px); - } - } - - .dfe-a-colour-bar { - display: block; - position: relative; - width: 100%; - height: 2.5rem; - background: #003a69; - } - - .dfe-a-colour-bar, - .dfe-a-colour-bar:after, - .dfe-a-colour-bar:before { - box-sizing: border-box; - } - - - - .dfe-a-image, - .dfe-a-image__picture { - display: block; - position: relative; - width: 100%; - } - - .dfe-a-image { - margin: 0 auto; - } - - .dfe-a-image, - .dfe-a-image:after, - .dfe-a-image:before { - box-sizing: border-box; - } - - .dfe-a-image__picture { - height: 0; - padding-bottom: 56.25%; - overflow: hidden; - } - - .dfe-a-image__picture img, - .dfe-a-image__picture svg { - position: absolute; - top: 0; - left: 0; - width: 100%; - object-fit: cover; - vertical-align: top; - } - - .dfe-a-image--maintain-ratio { - height: 100%; - } - - .dfe-a-image--contain .dfe-a-image__picture, - .dfe-a-image--cover .dfe-a-image__picture, - .dfe-a-image--maintain-ratio .dfe-a-image__picture { - height: 100%; - padding: 0; - } - - .dfe-a-image--maintain-ratio .dfe-a-image__picture img, - .dfe-a-image--maintain-ratio .dfe-a-image__picture svg { - position: relative; - vertical-align: top; - object-fit: contain; - } - - .dfe-a-image--contain, - .dfe-a-image--cover { - width: 100%; - height: 100%; - } - - .dfe-a-image--contain img, - .dfe-a-image--contain svg, - .dfe-a-image--cover img, - .dfe-a-image--cover svg { - position: relative; - object-fit: cover; - } - - .dfe-a-image--contain .dfe-a-image__picture img, - .dfe-a-image--contain .dfe-a-image__picture svg { - object-fit: contain; - } - - .dfe-a-image--position-top img, - .dfe-a-image--position-top svg { - object-position: top center; - } - - .dfe-a-image--position-left img, - .dfe-a-image--position-left svg { - object-position: center left; - } - - .dfe-a-image--position-bottom img, - .dfe-a-image--position-bottom svg { - object-position: bottom center; - } - - .dfe-a-image--position-right img, - .dfe-a-image--position-right svg { - object-position: center right; - } - - .dfe-a-image--position-top-left img, - .dfe-a-image--position-top-left svg { - object-position: top left; - } - - .dfe-a-image--position-top-right img, - .dfe-a-image--position-top-right svg { - object-position: top right; - } - - .dfe-a-image--position-bottom-left img, - .dfe-a-image--position-bottom-left svg { - object-position: bottom left; - } - - .dfe-a-image--position-bottom-right img, - .dfe-a-image--position-bottom-right svg { - object-position: bottom right; - } - - .dfe-a-image--4by3 .dfe-a-image__picture img, - .dfe-a-image--4by3 .dfe-a-image__picture svg, - .dfe-a-image--square .dfe-a-image__picture img, - .dfe-a-image--square .dfe-a-image__picture svg { - position: absolute; - } - - .dfe-a-image--square .dfe-a-image__picture { - padding-bottom: 100%; - } - - .dfe-a-image--4by3 .dfe-a-image__picture { - padding-bottom: 75%; - } - - .dfe-a-image--round-corners .dfe-a-image__picture { - border-radius: .333rem; - } - - .dfe-a-image--round-top-corners .dfe-a-image__picture { - border-radius: .333rem .333rem 0 0; - } - - .dfe-a-image--no-scale { - width: auto; - height: auto; - } - - .dfe-a-image--no-scale .dfe-a-image__picture, - .dfe-a-image--no-scale img, - .dfe-a-image--no-scale svg { - width: auto; - height: auto; - padding: 0; - } - - .dfe-a-image--no-scale img, - .dfe-a-image--no-scale svg { - position: relative; - max-width: 100%; - max-height: 100%; - object-fit: contain; - vertical-align: top; - } - - img.dfe-a-image, - img.dfe-a-image img, - img.dfe-a-image svg, - picture.dfe-a-image, - picture.dfe-a-image img, - picture.dfe-a-image svg, - svg.dfe-a-image, - svg.dfe-a-image img, - svg.dfe-a-image svg { - object-fit: cover; - margin: 0; - } - - img.dfe-a-image--no-scale, - picture.dfe-a-image--no-scale, - svg.dfe-a-image--no-scale { - width: auto; - height: auto; - } - - img.dfe-a-image--position-top, - picture.dfe-a-image--position-top, - svg.dfe-a-image--position-top { - object-position: top center; - } - - img.dfe-a-image--position-left, - picture.dfe-a-image--position-left, - svg.dfe-a-image--position-left { - object-position: center left; - } - - img.dfe-a-image--position-bottom, - picture.dfe-a-image--position-bottom, - svg.dfe-a-image--position-bottom { - object-position: bottom center; - } - - img.dfe-a-image--position-right, - picture.dfe-a-image--position-right, - svg.dfe-a-image--position-right { - object-position: center right; - } - - img.dfe-a-image--position-top-left, - picture.dfe-a-image--position-top-left, - svg.dfe-a-image--position-top-left { - object-position: top left; - } - - img.dfe-a-image--position-top-right, - picture.dfe-a-image--position-top-right, - svg.dfe-a-image--position-top-right { - object-position: top right; - } - - img.dfe-a-image--position-bottom-left, - picture.dfe-a-image--position-bottom-left, - svg.dfe-a-image--position-bottom-left { - object-position: bottom left; - } - - img.dfe-a-image--position-bottom-right, - picture.dfe-a-image--position-bottom-right, - svg.dfe-a-image--position-bottom-right { - object-position: bottom right; - } - - picture.dfe-a-image img, - picture.dfe-a-image svg { - width: 100%; - height: 100%; - } - - picture.dfe-a-image--no-scale img, - picture.dfe-a-image--no-scale svg { - width: auto; - height: auto; - } - - .dfe-a-link--col-white, - .dfe-a-link--col-white:visited { - border-bottom: 1px solid var(--white, #ffffff); - color: var(--white, #ffffff); - } - - .dfe-a-link--col-white:focus, - .dfe-a-link--col-white:hover { - color: var(--black, #231f20); - } - - .dfe-a-link--col-white:active { - color: var(--black, #231f20); - } - - .dfe-a-link--col-black, - .dfe-a-link--col-black:visited { - border-bottom: 1px solid var(--black, #231f20); - color: var(--black, #231f20); - } - - .dfe-a-link--col-black:focus, - .dfe-a-link--col-black:hover { - border-bottom: 3px solid var(--white, #ffffff); - color: var(--white, #ffffff); - background-color: var(--black, #231f20); - } - - .dfe-a-link--col-black:active { - border-bottom: 3px solid transparent; - color: var(--black, #231f20); - } - - .dfe-a-link--col-dark-grey, - .dfe-a-link--col-dark-grey:visited { - border-bottom: 1px solid var(--dark-grey, #3f525f); - color: var(--dark-grey, #3f525f); - } - - .dfe-a-link--col-dark-grey:focus, - .dfe-a-link--col-dark-grey:hover { - border-bottom: 3px solid var(--black, #231f20); - color: var(--black, #231f20); - background-color: var(--yellow, #fae100); - } - - .dfe-a-link--col-dark-grey:active { - border-bottom: 3px solid transparent; - color: var(--black, #231f20); - } - - .dfe-a-link--col-red, - .dfe-a-link--col-red:visited { - border-bottom: 1px solid var(--accessible-red, #b30f0f); - color: var(--accessible-red, #b30f0f); - } - - - - .dfe-a-button { - display: inline-flex; - position: relative; - align-items: center; - justify-content: center; - max-width: 15.55rem; - margin-bottom: 1.78rem; - padding: .5555555556rem 1.1111111111rem; - border: 2px solid $color_dfe-blue; - border-radius: 2px; - outline: 0; - box-shadow: 0 0 0 .167rem transparent; - font-size: .78rem; - font-weight: 600; - line-height: 1.11; - text-align: center; - text-decoration: none; - vertical-align: text-bottom; - cursor: pointer; - -webkit-appearance: none; - appearance: none; - -webkit-user-select: none; - user-select: none; - transition-property: background-color, box-shadow, border-color; - transition-duration: .15s; - } - - .dfe-a-button, - .dfe-a-button:after, - .dfe-a-button:before { - box-sizing: border-box; - } - - .dfe-a-button:after { - content: ""; - display: block; - position: absolute; - top: 50%; - left: 50%; - width: 2.5rem; - height: 2.5rem; - transform: translateX(-50%) translateY(-50%); - border-radius: 100%; - } - - .dfe-a-button__label { - min-height: 1.1111111111rem; - padding-top: 1px; - overflow: hidden; - line-height: calc(1.1111111111rem - 1px); - text-overflow: ellipsis; - white-space: nowrap; - } - - .dfe-a-button .dfe-a-icon, - .dfe-a-button__label { - vertical-align: text-bottom; - } - - .dfe-a-button--circle { - padding: .5555555556rem; - } - - .dfe-a-button--circle-condensed { - padding: .2777777778rem; - } - - .dfe-a-button__label+.dfe-a-icon, - .dfe-a-icon+.dfe-a-button__label { - margin-left: .5555555556rem; - } - - .dfe-a-button--active, - .dfe-a-button:focus, - .dfe-a-button:hover { - box-shadow: 0 0 0 .167rem var(--yellow, #fae100); - } - - .dfe-a-button:active { - transition-property: none; - transform: translateY(.111rem); - box-shadow: 0 0 0 .167rem transparent; - } - - .dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(.dfe-a-button--transparent), - .dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):visited:not(.dfe-a-button--transparent) { - color: var(--white, #ffffff); - background: $color_dfe-blue; - } - - .dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):active { - background: $color_dfe-blue; - box-shadow: 0 0 0 .167rem transparent; - } - - .dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):focus, - .dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):hover { - background: $color_dfe-secondary-blue; - background: $color_dfe-secondary-blue; - } - - .dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):focus .dfe-a-icon>svg, - .dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):hover .dfe-a-icon>svg, - .dfe-o-dropdown__dropdown ul li a:not(.dfe-a-link):focus svg, - .dfe-o-dropdown__dropdown ul li a:not(.dfe-a-link):hover svg, - .dfe-o-dropdown__dropdown ul li button:not(.dfe-a-button):focus svg, - .dfe-o-dropdown__dropdown ul li button:not(.dfe-a-button):hover svg { - fill: var(--white, #ffffff); - } - - .dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):active { - background: $color_dfe-secondary-blue; - background: $color_dfe-secondary-blue; - transition-property: none; - } - - .dfe-a-button--disabled, - .dfe-a-button--disabled:active, - .dfe-a-button--disabled:focus, - .dfe-a-button--disabled:hover, - .dfe-a-button:disabled, - .dfe-a-button:disabled:active, - .dfe-a-button:disabled:focus, - .dfe-a-button:disabled:hover { - border-color: var(--mid-grey-20-tint, #d5dade); - color: var(--dark-grey, #3f525f); - background: var(--mid-grey-20-tint, #d5dade); - box-shadow: none; - cursor: not-allowed; - } - - .dfe-a-button--disabled .dfe-a-icon>svg, - .dfe-a-button--disabled:active .dfe-a-icon>svg, - .dfe-a-button--disabled:focus .dfe-a-icon>svg, - .dfe-a-button--disabled:hover .dfe-a-icon>svg, - .dfe-a-button:disabled .dfe-a-icon>svg, - .dfe-a-button:disabled:active .dfe-a-icon>svg, - .dfe-a-button:disabled:focus .dfe-a-icon>svg, - .dfe-a-button:disabled:hover .dfe-a-icon>svg { - fill: var(--dark-grey, #3f525f); - } - - .dfe-a-button--start { - border-color: var(--dark-green, #006646); - color: var(--white, #ffffff); - background: var(--dark-green, #006646); - } - - .dfe-a-button--cancel { - border-color: var(--accessible-red, #b30f0f); - color: var(--white, #ffffff); - background: var(--accessible-red, #b30f0f); - } - - .dfe-a-button--invert { - border-color: var(--white, #ffffff); - } - - .dfe-a-button--invert .dfe-a-icon>svg, - .dfe-a-button--outline .dfe-a-icon>svg { - fill: var(--blue, #005bbb); - ; - } - - .dfe-a-button--invert, - .dfe-a-button--outline { - color: var(--blue, #005bbb); - background: var(--white, #ffffff); - } - - .dfe-a-button--outline:active { - border-color: var(--blue, #005bbb); - box-shadow: 0 0 0 .167rem transparent; - } - - .dfe-a-button--outline:not(:disabled):not(.dfe-a-button--disabled):focus, - .dfe-a-button--outline:not(:disabled):not(.dfe-a-button--disabled):hover { - border-color: var(--black, #231f20); - } - - .dfe-a-button--outline:not(:disabled):not(.dfe-a-button--disabled):active { - border-color: var(--blue, #005bbb); - } - - @media (max-width:63.99em) { - .dfe-a-button--responsive { - width: 100%; - } - } - - .dfe-a-button--transparent { - border: 1px solid transparent; - background: 0 0; - } - - .dfe-a-button--transparent .dfe-a-icon>svg { - fill: var(--black, #231f20); + top: calc(100% - 495px); } - - input[type=reset].dfe-a-button, - input[type=submit].dfe-a-button { - display: inline-block; - min-height: calc(2.5rem - .69px); - } - - - .dfe-o-banner { - display: flex; +} + +.dfe-a-colour-bar { + display: block; + position: relative; + width: 100%; + height: 2.5rem; + background: #003a69; +} + +.dfe-a-colour-bar, +.dfe-a-colour-bar:after, +.dfe-a-colour-bar:before { + box-sizing: border-box; +} + + + +.dfe-a-image, +.dfe-a-image__picture { + display: block; + position: relative; + width: 100%; +} + +.dfe-a-image { + margin: 0 auto; +} + +.dfe-a-image, +.dfe-a-image:after, +.dfe-a-image:before { + box-sizing: border-box; +} + +.dfe-a-image__picture { + height: 0; + padding-bottom: 56.25%; + overflow: hidden; +} + +.dfe-a-image__picture img, +.dfe-a-image__picture svg { + position: absolute; + top: 0; + left: 0; + width: 100%; + object-fit: cover; + vertical-align: top; +} + +.dfe-a-image--maintain-ratio { + height: 100%; +} + +.dfe-a-image--contain .dfe-a-image__picture, +.dfe-a-image--cover .dfe-a-image__picture, +.dfe-a-image--maintain-ratio .dfe-a-image__picture { + height: 100%; + padding: 0; +} + +.dfe-a-image--maintain-ratio .dfe-a-image__picture img, +.dfe-a-image--maintain-ratio .dfe-a-image__picture svg { + position: relative; + vertical-align: top; + object-fit: contain; +} + +.dfe-a-image--contain, +.dfe-a-image--cover { + width: 100%; + height: 100%; +} + +.dfe-a-image--contain img, +.dfe-a-image--contain svg, +.dfe-a-image--cover img, +.dfe-a-image--cover svg { + position: relative; + object-fit: cover; +} + +.dfe-a-image--contain .dfe-a-image__picture img, +.dfe-a-image--contain .dfe-a-image__picture svg { + object-fit: contain; +} + +.dfe-a-image--position-top img, +.dfe-a-image--position-top svg { + object-position: top center; +} + +.dfe-a-image--position-left img, +.dfe-a-image--position-left svg { + object-position: center left; +} + +.dfe-a-image--position-bottom img, +.dfe-a-image--position-bottom svg { + object-position: bottom center; +} + +.dfe-a-image--position-right img, +.dfe-a-image--position-right svg { + object-position: center right; +} + +.dfe-a-image--position-top-left img, +.dfe-a-image--position-top-left svg { + object-position: top left; +} + +.dfe-a-image--position-top-right img, +.dfe-a-image--position-top-right svg { + object-position: top right; +} + +.dfe-a-image--position-bottom-left img, +.dfe-a-image--position-bottom-left svg { + object-position: bottom left; +} + +.dfe-a-image--position-bottom-right img, +.dfe-a-image--position-bottom-right svg { + object-position: bottom right; +} + +.dfe-a-image--4by3 .dfe-a-image__picture img, +.dfe-a-image--4by3 .dfe-a-image__picture svg, +.dfe-a-image--square .dfe-a-image__picture img, +.dfe-a-image--square .dfe-a-image__picture svg { + position: absolute; +} + +.dfe-a-image--square .dfe-a-image__picture { + padding-bottom: 100%; +} + +.dfe-a-image--4by3 .dfe-a-image__picture { + padding-bottom: 75%; +} + +.dfe-a-image--round-corners .dfe-a-image__picture { + border-radius: .333rem; +} + +.dfe-a-image--round-top-corners .dfe-a-image__picture { + border-radius: .333rem .333rem 0 0; +} + +.dfe-a-image--no-scale { + width: auto; + height: auto; +} + +.dfe-a-image--no-scale .dfe-a-image__picture, +.dfe-a-image--no-scale img, +.dfe-a-image--no-scale svg { + width: auto; + height: auto; + padding: 0; +} + +.dfe-a-image--no-scale img, +.dfe-a-image--no-scale svg { + position: relative; + max-width: 100%; + max-height: 100%; + object-fit: contain; + vertical-align: top; +} + +img.dfe-a-image, +img.dfe-a-image img, +img.dfe-a-image svg, +picture.dfe-a-image, +picture.dfe-a-image img, +picture.dfe-a-image svg, +svg.dfe-a-image, +svg.dfe-a-image img, +svg.dfe-a-image svg { + object-fit: cover; + margin: 0; +} + +img.dfe-a-image--no-scale, +picture.dfe-a-image--no-scale, +svg.dfe-a-image--no-scale { + width: auto; + height: auto; +} + +img.dfe-a-image--position-top, +picture.dfe-a-image--position-top, +svg.dfe-a-image--position-top { + object-position: top center; +} + +img.dfe-a-image--position-left, +picture.dfe-a-image--position-left, +svg.dfe-a-image--position-left { + object-position: center left; +} + +img.dfe-a-image--position-bottom, +picture.dfe-a-image--position-bottom, +svg.dfe-a-image--position-bottom { + object-position: bottom center; +} + +img.dfe-a-image--position-right, +picture.dfe-a-image--position-right, +svg.dfe-a-image--position-right { + object-position: center right; +} + +img.dfe-a-image--position-top-left, +picture.dfe-a-image--position-top-left, +svg.dfe-a-image--position-top-left { + object-position: top left; +} + +img.dfe-a-image--position-top-right, +picture.dfe-a-image--position-top-right, +svg.dfe-a-image--position-top-right { + object-position: top right; +} + +img.dfe-a-image--position-bottom-left, +picture.dfe-a-image--position-bottom-left, +svg.dfe-a-image--position-bottom-left { + object-position: bottom left; +} + +img.dfe-a-image--position-bottom-right, +picture.dfe-a-image--position-bottom-right, +svg.dfe-a-image--position-bottom-right { + object-position: bottom right; +} + +picture.dfe-a-image img, +picture.dfe-a-image svg { + width: 100%; + height: 100%; +} + +picture.dfe-a-image--no-scale img, +picture.dfe-a-image--no-scale svg { + width: auto; + height: auto; +} + +.dfe-a-link--col-white, +.dfe-a-link--col-white:visited { + border-bottom: 1px solid var(--white, #ffffff); + color: var(--white, #ffffff); +} + +.dfe-a-link--col-white:focus, +.dfe-a-link--col-white:hover { + color: var(--black, #231f20); +} + +.dfe-a-link--col-white:active { + color: var(--black, #231f20); +} + +.dfe-a-link--col-black, +.dfe-a-link--col-black:visited { + border-bottom: 1px solid var(--black, #231f20); + color: var(--black, #231f20); +} + +.dfe-a-link--col-black:focus, +.dfe-a-link--col-black:hover { + border-bottom: 3px solid var(--white, #ffffff); + color: var(--white, #ffffff); + background-color: var(--black, #231f20); +} + +.dfe-a-link--col-black:active { + border-bottom: 3px solid transparent; + color: var(--black, #231f20); +} + +.dfe-a-link--col-dark-grey, +.dfe-a-link--col-dark-grey:visited { + border-bottom: 1px solid var(--dark-grey, #3f525f); + color: var(--dark-grey, #3f525f); +} + +.dfe-a-link--col-dark-grey:focus, +.dfe-a-link--col-dark-grey:hover { + border-bottom: 3px solid var(--black, #231f20); + color: var(--black, #231f20); + background-color: var(--yellow, #fae100); +} + +.dfe-a-link--col-dark-grey:active { + border-bottom: 3px solid transparent; + color: var(--black, #231f20); +} + +.dfe-a-link--col-red, +.dfe-a-link--col-red:visited { + border-bottom: 1px solid var(--accessible-red, #b30f0f); + color: var(--accessible-red, #b30f0f); +} + + + +.dfe-a-button { + display: inline-flex; + position: relative; + align-items: center; + justify-content: center; + max-width: 15.55rem; + margin-bottom: 1.78rem; + padding: .5555555556rem 1.1111111111rem; + border: 2px solid $color_dfe-blue; + border-radius: 2px; + outline: 0; + box-shadow: 0 0 0 .167rem transparent; + font-size: .78rem; + font-weight: 600; + line-height: 1.11; + text-align: center; + text-decoration: none; + vertical-align: text-bottom; + cursor: pointer; + -webkit-appearance: none; + appearance: none; + -webkit-user-select: none; + user-select: none; + transition-property: background-color, box-shadow, border-color; + transition-duration: .15s; +} + +.dfe-a-button, +.dfe-a-button:after, +.dfe-a-button:before { + box-sizing: border-box; +} + +.dfe-a-button:after { + content: ""; + display: block; + position: absolute; + top: 50%; + left: 50%; + width: 2.5rem; + height: 2.5rem; + transform: translateX(-50%) translateY(-50%); + border-radius: 100%; +} + +.dfe-a-button__label { + min-height: 1.1111111111rem; + padding-top: 1px; + overflow: hidden; + line-height: calc(1.1111111111rem - 1px); + text-overflow: ellipsis; + white-space: nowrap; +} + +.dfe-a-button .dfe-a-icon, +.dfe-a-button__label { + vertical-align: text-bottom; +} + +.dfe-a-button--circle { + padding: .5555555556rem; +} + +.dfe-a-button--circle-condensed { + padding: .2777777778rem; +} + +.dfe-a-button__label+.dfe-a-icon, +.dfe-a-icon+.dfe-a-button__label { + margin-left: .5555555556rem; +} + +.dfe-a-button--active, +.dfe-a-button:focus, +.dfe-a-button:hover { + box-shadow: 0 0 0 .167rem var(--yellow, #fae100); +} + +.dfe-a-button:active { + transition-property: none; + transform: translateY(.111rem); + box-shadow: 0 0 0 .167rem transparent; +} + +.dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(.dfe-a-button--transparent), +.dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):visited:not(.dfe-a-button--transparent) { + color: var(--white, #ffffff); + background: $color_dfe-blue; +} + +.dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):active { + background: $color_dfe-blue; + box-shadow: 0 0 0 .167rem transparent; +} + +.dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):focus, +.dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):hover { + background: $color_dfe-secondary-blue; + background: $color_dfe-secondary-blue; +} + +.dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):focus .dfe-a-icon>svg, +.dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):hover .dfe-a-icon>svg, +.dfe-o-dropdown__dropdown ul li a:not(.dfe-a-link):focus svg, +.dfe-o-dropdown__dropdown ul li a:not(.dfe-a-link):hover svg, +.dfe-o-dropdown__dropdown ul li button:not(.dfe-a-button):focus svg, +.dfe-o-dropdown__dropdown ul li button:not(.dfe-a-button):hover svg { + fill: var(--white, #ffffff); +} + +.dfe-a-button:not(.dfe-a-button--invert):not(.dfe-a-button--outline):not(.dfe-a-button--start):not(.dfe-a-button--cancel):not(.dfe-a-button--disabled):not(:disabled):not(:disabled):not(.dfe-a-button--disabled):active { + background: $color_dfe-secondary-blue; + background: $color_dfe-secondary-blue; + transition-property: none; +} + +.dfe-a-button--disabled, +.dfe-a-button--disabled:active, +.dfe-a-button--disabled:focus, +.dfe-a-button--disabled:hover, +.dfe-a-button:disabled, +.dfe-a-button:disabled:active, +.dfe-a-button:disabled:focus, +.dfe-a-button:disabled:hover { + border-color: var(--mid-grey-20-tint, #d5dade); + color: var(--dark-grey, #3f525f); + background: var(--mid-grey-20-tint, #d5dade); + box-shadow: none; + cursor: not-allowed; +} + +.dfe-a-button--disabled .dfe-a-icon>svg, +.dfe-a-button--disabled:active .dfe-a-icon>svg, +.dfe-a-button--disabled:focus .dfe-a-icon>svg, +.dfe-a-button--disabled:hover .dfe-a-icon>svg, +.dfe-a-button:disabled .dfe-a-icon>svg, +.dfe-a-button:disabled:active .dfe-a-icon>svg, +.dfe-a-button:disabled:focus .dfe-a-icon>svg, +.dfe-a-button:disabled:hover .dfe-a-icon>svg { + fill: var(--dark-grey, #3f525f); +} + +.dfe-a-button--start { + border-color: var(--dark-green, #006646); + color: var(--white, #ffffff); + background: var(--dark-green, #006646); +} + +.dfe-a-button--cancel { + border-color: var(--accessible-red, #b30f0f); + color: var(--white, #ffffff); + background: var(--accessible-red, #b30f0f); +} + +.dfe-a-button--invert { + border-color: var(--white, #ffffff); +} + +.dfe-a-button--invert .dfe-a-icon>svg, +.dfe-a-button--outline .dfe-a-icon>svg { + fill: var(--blue, #005bbb); + ; +} + +.dfe-a-button--invert, +.dfe-a-button--outline { + color: var(--blue, #005bbb); + background: var(--white, #ffffff); +} + +.dfe-a-button--outline:active { + border-color: var(--blue, #005bbb); + box-shadow: 0 0 0 .167rem transparent; +} + +.dfe-a-button--outline:not(:disabled):not(.dfe-a-button--disabled):focus, +.dfe-a-button--outline:not(:disabled):not(.dfe-a-button--disabled):hover { + border-color: var(--black, #231f20); +} + +.dfe-a-button--outline:not(:disabled):not(.dfe-a-button--disabled):active { + border-color: var(--blue, #005bbb); +} + +@media (max-width:63.99em) { + .dfe-a-button--responsive { width: 100%; - min-height: 10rem; - margin: 0 auto; - &.dfe-o-banner--blog{ - a{text-decoration: none;} - .dfe-o-banner__content-container{ - border-radius: 12px 0 0 12px; - img{border-radius: 0 12px 12px 0;} - } - .dfe-o-banner__image-container{ - border-radius: 12px 0 0 12px; - img{border-radius: 0 12px 12px 0;} - } - } } - - .dfe-o-banner--mirrored { - flex-direction: row-reverse; - } - - .dfe-o-banner [class^=dfe-t-body], - .dfe-o-banner [class^=dfe-t-heading] { - display: -webkit-box; - overflow: hidden; - text-overflow: ellipsis; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - -webkit-box-pack: end; +} + +.dfe-a-button--transparent { + border: 1px solid transparent; + background: 0 0; +} + +.dfe-a-button--transparent .dfe-a-icon>svg { + fill: var(--black, #231f20); +} + +input[type=reset].dfe-a-button, +input[type=submit].dfe-a-button { + display: inline-block; + min-height: calc(2.5rem - .69px); +} + + +.dfe-o-banner { + display: flex; + width: 100%; + min-height: 10rem; + margin: 0 auto; + + &.dfe-o-banner--blog { + a { + text-decoration: none; + } + + .dfe-o-banner__content-container { + border-radius: 12px 0 0 12px; + + img { + border-radius: 0 12px 12px 0; + } + } + + .dfe-o-banner__image-container { + border-radius: 12px 0 0 12px; + + img { + border-radius: 0 12px 12px 0; + } + } } - - .dfe-o-banner [class^=dfe-t-body] { - -webkit-line-clamp: 5; +} + +.dfe-o-banner--mirrored { + flex-direction: row-reverse; +} + +.dfe-o-banner [class^=dfe-t-body], +.dfe-o-banner [class^=dfe-t-heading] { + display: -webkit-box; + overflow: hidden; + text-overflow: ellipsis; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + -webkit-box-pack: end; +} + +.dfe-o-banner [class^=dfe-t-body] { + -webkit-line-clamp: 5; +} + +.dfe-o-banner__content-container, +.dfe-o-banner__image-container { + width: 50%; +} + +.dfe-o-banner__content-container { + display: flex; + align-items: center; +} + +.dfe-o-banner__inner-content-container { + width: 100%; + padding: 3rem; +} + +.dfe-o-banner__inner-content-container .dfe-a-button { + max-width: 100%; +} + +@media (max-width:63.99em) { + .dfe-o-banner { + width: 100%; + flex-direction: column-reverse; } - + .dfe-o-banner__content-container, .dfe-o-banner__image-container { - width: 50%; - } - - .dfe-o-banner__content-container { - display: flex; - align-items: center; - } - - .dfe-o-banner__inner-content-container { width: 100%; - padding: 3rem; } - - .dfe-o-banner__inner-content-container .dfe-a-button { - max-width: 100%; + + + .dfe-o-banner .dfe-a-image { + overflow: hidden; } - - @media (max-width:63.99em) { - .dfe-o-banner { - width: 100%; - flex-direction: column-reverse; - } - - .dfe-o-banner__content-container, - .dfe-o-banner__image-container { - width: 100%; - } - - - .dfe-o-banner .dfe-a-image { - overflow: hidden; - } - - .dfe-o-banner .dfe-a-image img { - position: relative; - } + + .dfe-o-banner .dfe-a-image img { + position: relative; } +} - .dfe-light-blue-tint { - background: tint($color_dfe-secondary-blue, 90%) - } +.dfe-light-blue-tint { + background: tint($color_dfe-secondary-blue, 90%) +} + +.dfe-hero { + padding: 50px 0px; + background: $color_dfe-secondary-blue; -.dfe-hero{padding: 50px 0px; background: $color_dfe-secondary-blue; .govuk-heading-xl, p {color: $color_dfe-white !important} } + .govuk-heading-xl, + p { + color: $color_dfe-white !important + } +} - /// CARDS - /// +/// CARDS +/// .dfe-grid-container { display: flex; flex-direction: column; grid-gap: 15px; } -@include govuk-media-query($from: tablet){ + +@include govuk-media-query($from: tablet) { .dfe-grid-container { display: grid; - grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); + grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); grid-gap: 30px; - &.dfe-grid-container--wider{ - grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); + &.dfe-grid-container--wider { + grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); } } } @@ -1367,44 +1380,63 @@ tr { border-bottom: 3px solid $color_dfe-blue; max-width: 400px; - &.dfe-card--blog-card{ + &.dfe-card--blog-card { border-radius: 12px 12px 0 0; - img{border-radius: 12px 12px 0 0;} + + img { + border-radius: 12px 12px 0 0; + } } } -@include govuk-media-query($until: tablet){ - .dfe-card {max-width: 100%;} +@include govuk-media-query($until: tablet) { + .dfe-card { + max-width: 100%; + } } -.dfe-card>picture, .dfe-card>picture>img{max-width: 100%;} +.dfe-card>picture, +.dfe-card>picture>img { + max-width: 100%; +} .dfe-card-container { padding: 20px; } -.dfe-card:hover, .dfe-card:focus-within { + +.dfe-card:hover, +.dfe-card:focus-within { background-color: $color_dfe-blue; } -.dfe-card:hover a, .dfe-card:focus-within a, .dfe-card:hover p, .dfe-card:focus-within p{ + +.dfe-card:hover a, +.dfe-card:focus-within a, +.dfe-card:hover p, +.dfe-card:focus-within p { color: $color_dfe-white } -.dfe-card:focus-within { +.dfe-card:focus-within { outline: 3px solid $color_dfe-yellow; } -.dfe-card-container .dfe-card-link--retake:focus, .dfe-card-container .dfe-card-link--header:focus { +.dfe-card-container .dfe-card-link--retake:focus, +.dfe-card-container .dfe-card-link--header:focus { color: $color_dfe-black; } + .dfe-card-link--retake { position: relative; z-index: 2; } + .dfe-card-link--header { text-decoration: none; - color: $color_dfe-secondary-blue;; + color: $color_dfe-secondary-blue; + ; } + .dfe-card-link--header:after { position: absolute; content: ""; @@ -1414,354 +1446,380 @@ tr { bottom: 0; } -.dfe-related-content{ +.dfe-related-content { border-top: 5px solid $color_dfe-blue; padding-top: 15px; } .code-example { - > .govuk-tabs__panel{ + >.govuk-tabs__panel { overflow: hidden; - > pre{ - background: $color_dfe-grey-4; - padding: 10px; overflow: hidden; + + >pre { + background: $color_dfe-grey-4; + padding: 10px; + overflow: hidden; } } } code { - + + padding: .1rem .3rem .2rem; + border-radius: .2rem; +} + + +.custom-dfe-panel { + border: 1px solid #b1b4b6; + max-width: 44em; + margin-bottom: 40px; + + code { + background: #ffffff; padding: .1rem .3rem .2rem; border-radius: .2rem; } +} + +.app-reading-width { + max-width: 44em !important; +} + +.custom-dfe-panel.custom-dfe-panel_example { + max-width: 80em; +} + +.custom-dfe-panel--title { + padding: 10px 15px; + background: govuk-colour("light-grey"); +} + +.custom-dfe-panel--content { + border-top: 1px solid #b1b4b6; + padding: 15px; + overflow: hidden; +} + +.custom-dfe-section { + margin-bottom: 60px; +} + + + + +.monospace { + font-family: monospace; + font-size: 16px; +} -.custom-dfe-panel { - border: 1px solid #b1b4b6; - max-width: 44em; - margin-bottom: 40px; - - code { - background: #ffffff; - padding: .1rem .3rem .2rem; - border-radius: .2rem; - } - - } - - .app-reading-width{ max-width: 44em !important;} - - .custom-dfe-panel.custom-dfe-panel_example { - max-width: 80em; - } - - .custom-dfe-panel--title { - padding: 10px 15px; - background: govuk-colour("light-grey"); - } - - .custom-dfe-panel--content { - border-top: 1px solid #b1b4b6; - padding: 15px; - overflow: hidden; - } - - .custom-dfe-section { - margin-bottom: 60px; - } - - - - - .monospace { - font-family: monospace; - font-size: 16px; - } - .dfe-atoz { - padding-left: 0px; - margin-bottom: 30px; - margin-top: -30px; - - >li { - display: inline-block; - margin-bottom: 0; - padding-right: 10px; - margin-bottom: 20px; - - >a { - margin-right: 0px; - text-decoration: underline; - font-size: 1.3rem; - padding: 12px; - } + padding-left: 0px; + margin-bottom: 30px; + margin-top: -30px; + + >li { + display: inline-block; + margin-bottom: 0; + padding-right: 10px; + margin-bottom: 20px; + + >a { + margin-right: 0px; + text-decoration: underline; + font-size: 1.3rem; + padding: 12px; } } +} - .dfe-summary-list--meta{ - font-size: 16px; - line-height: 0.8rem; - - .govuk-summary-list__key{width: 13%} +.dfe-summary-list--meta { + font-size: 16px; + line-height: 0.8rem; + + .govuk-summary-list__key { + width: 13% } +} + +.app-swatch { + display: block; + position: absolute; + top: 0; + left: 0; + width: 40px; + height: 40px; + border: 1px solid rgba(0, 0, 0, 0); + border-radius: 4px; +} +@include mq($from: desktop) { .app-swatch { - display: block; - position: absolute; - top: 0; - left: 0; - width: 40px; - height: 40px; - border: 1px solid rgba(0, 0, 0, 0); - border-radius: 4px; - } - - @include mq($from: desktop) { - .app-swatch { - display: inline-block; - position: static; - margin-top: 6px; - margin-right: 10px; - margin-bottom: 7px; - vertical-align: middle; - } + display: inline-block; + position: static; + margin-top: 6px; + margin-right: 10px; + margin-bottom: 7px; + vertical-align: middle; } +} - .dfe-section-break{ - border-bottom: 3px solid #003a69; - margin: 20px 0px 20px; +.dfe-section-break { + border-bottom: 3px solid #003a69; + margin: 20px 0px 20px; - &.dfe-section-break--m{ - margin: 60px 0px 60px; - } + &.dfe-section-break--m { + margin: 60px 0px 60px; } +} .dfe-topnav { - background: $color_dfe-secondary-blue; - } - - - .flex-nav { - display: flex; - justify-content: space-between; - } - - .flex-right { - justify-content: flex-end; - margin-left: auto; - } - - .flex-left { - justify-content: flex-start; - margin-right: auto; - } - - .dfe-topnav ul { - list-style-type: none; - margin: 0; - padding: 0; - overflow: hidden; - line-height: 1.4em; - } - + background: $color_dfe-secondary-blue; +} + + +.flex-nav { + display: flex; + justify-content: space-between; +} + +.flex-right { + justify-content: flex-end; + margin-left: auto; +} + +.flex-left { + justify-content: flex-start; + margin-right: auto; +} + +.dfe-topnav ul { + list-style-type: none; + margin: 0; + padding: 0; + overflow: hidden; + line-height: 1.4em; +} + +.dfe-topnav li a { + display: block; + text-align: center; + padding: 8px 12px 8px 12px; + font-size: 14px; + font-size: 0.875rem; + line-height: 1.71429; + text-decoration: none; + color: $color_dfe-white; +} + +@media (min-width: 40.0625em) { .dfe-topnav li a { - display: block; - text-align: center; - padding: 8px 12px 8px 12px; - font-size: 14px; - font-size: 0.875rem; - line-height: 1.71429; - text-decoration: none; - color: $color_dfe-white; - } - - @media (min-width: 40.0625em) { - .dfe-topnav li a { - font-size: 16px; - font-size: 1rem; - line-height: 1.5; - } - } - - @media print { - .dfe-topnav li a { - font-size: 14pt; - line-height: 1.2; - } - } - - .dfe-topnav li { - float: left; - margin-bottom: 0px; font-size: 16px; + font-size: 1rem; + line-height: 1.5; } - - .dfe-topnav li a:focus { - background: #ffdd00; - color: #171b1f !important; - } - - .dfe-topnav li a:hover { - background-color: $color_dfe-blue; - color: #ffffff; - } - - .dfe-topnav li a:hover:focus { - color: #ffffff !important; - } - - .dfe-topnav li a:hover { - color: #ffffff; - } - - .dfe-topnav .active { - color: #ffffff; - font-weight: 700; - background-color: $color_dfe-blue; - } - - .dfe-topnav .active:focus { - color: #171b1f; - } - - .dfe-topnav ul.right { - list-style-type: none; - margin: 0; - padding: 0; - overflow: hidden; - float: right; - } - - @media (max-width: 61.865em) { - .dfe-topnav { - display: none; - } - } - - @media (min-width: 61.875em) { - .dfe-topnav { - display: block; - } +} + +@media print { + .dfe-topnav li a { + font-size: 14pt; + line-height: 1.2; } +} +.dfe-topnav li { + float: left; + margin-bottom: 0px; + font-size: 16px; +} +.dfe-topnav li a:focus { + background: #ffdd00; + color: #171b1f !important; +} -.dfe-timeline { - padding: calc(2 * 5px); - } - - .dfe-timeline .action_needed { - border: 5px solid #354973; - padding: 5px 20px 5px 15px; - box-shadow: none; - margin-bottom: 30px; - display: block; - background: #fff; - } - - .dfe-timeline .action_needed h2 { - margin-top: 10px; - margin-bottom: 10px; +.dfe-topnav li a:hover { + background-color: $color_dfe-blue; + color: #ffffff; +} + +.dfe-topnav li a:hover:focus { + color: #ffffff !important; +} + +.dfe-topnav li a:hover { + color: #ffffff; +} + +.dfe-topnav .active { + color: #ffffff; + font-weight: 700; + background-color: $color_dfe-blue; +} + +.dfe-topnav .active:focus { + color: #171b1f; +} + +.dfe-topnav ul.right { + list-style-type: none; + margin: 0; + padding: 0; + overflow: hidden; + float: right; +} + +@media (max-width: 61.865em) { + .dfe-topnav { + display: none; } - - .dfe-timeline .action_needed:before { - display: block; - width: calc(2 * 10px); - height: calc(2 * 10px); - border-radius: 50%; - background-color: #ffffff; - border: 4px solid #354973; - position: absolute; - z-index: 2; - left: -37px; - top: 5px; - } - - .dfe-timeline h2 { - margin-top: 0px; - margin-bottom: 10px; - } - - .dfe-timeline ol { - list-style-type: none; - position: relative; - padding: 0 0 0 10px; - margin: 0 0 20px 0; - } - - .dfe-timeline ol:after { - content: ""; - position: absolute; - top: -10px; - left: -4.5px; - bottom: 0; - border-left: 4px solid #b1b4b6; - height: 102%; - } - - .dfe-timeline ol>li { - margin: 4px 0 20px 10px; - padding-left: 15px; - position: relative; +} + +@media (min-width: 61.875em) { + .dfe-topnav { display: block; - border-bottom: 1px solid #DEE0E2; - } - - .dfe-timeline ol>li:last-child { - margin-bottom: 0px; - border-bottom: 0px; } - - .dfe-timeline ol>li .dfe-timeline-reference { - display: table; - position: relative; +} + + + +.dfe-timeline { + padding: calc(2 * 5px); +} + +.dfe-timeline .action_needed { + border: 5px solid #354973; + padding: 5px 20px 5px 15px; + box-shadow: none; + margin-bottom: 30px; + display: block; + background: #fff; +} + +.dfe-timeline .action_needed h2 { + margin-top: 10px; + margin-bottom: 10px; +} + +.dfe-timeline .action_needed:before { + display: block; + width: calc(2 * 10px); + height: calc(2 * 10px); + border-radius: 50%; + background-color: #ffffff; + border: 4px solid #354973; + position: absolute; + z-index: 2; + left: -37px; + top: 5px; +} + +.dfe-timeline h2 { + margin-top: 0px; + margin-bottom: 10px; +} + +.dfe-timeline ol { + list-style-type: none; + position: relative; + padding: 0 0 0 10px; + margin: 0 0 20px 0; +} + +.dfe-timeline ol:after { + content: ""; + position: absolute; + top: -10px; + left: -4.5px; + bottom: 0; + border-left: 4px solid #b1b4b6; + height: 102%; +} + +.dfe-timeline ol>li { + margin: 4px 0 20px 10px; + padding-left: 15px; + position: relative; + display: block; + border-bottom: 1px solid #DEE0E2; +} + +.dfe-timeline ol>li:last-child { + margin-bottom: 0px; + border-bottom: 0px; +} + +.dfe-timeline ol>li .dfe-timeline-reference { + display: table; + position: relative; +} + +.dfe-timeline ol>li .dfe-timeline-reference:before { + content: ""; + position: absolute; + left: -20px; + width: 20px; + top: 9px; + z-index: -1; +} + +.dfe-timeline ol>li:before { + content: ""; + display: block; + width: calc(2 * 10px); + height: calc(2 * 10px); + border-radius: 50%; + background-color: #ffffff; + border: 4px solid #b1b4b6; + position: absolute; + z-index: 2; + left: -37px; + top: 5px; +} + +.dfe-timeline ol ul li a { + text-decoration: underline; +} + +.dfe-timeline-details { + margin: 10px 0; +} + +.dfe-timeline-details summary { + font-size: 0.9em; +} + +.dfe-timeline-details span { + display: block; + font-size: 0.8em; + padding-bottom: 5px; + padding-left: 10px; + border-left: 4px solid #005EA5; +} + +.link-list { + list-style: none; + margin:0px; + padding:0px; + margin-bottom: 25px;; + + li { + display: flex; + border: 1px solid $color_dfe-grey-1; + + + div { + flex: 1; + padding: 15px; + :first-child{font-weight: bold;} + } + } - - .dfe-timeline ol>li .dfe-timeline-reference:before { - content: ""; - position: absolute; - left: -20px; - width: 20px; - top: 9px; - z-index: -1; - } - - .dfe-timeline ol>li:before { - content: ""; - display: block; - width: calc(2 * 10px); - height: calc(2 * 10px); - border-radius: 50%; - background-color: #ffffff; - border: 4px solid #b1b4b6; - position: absolute; - z-index: 2; - left: -37px; - top: 5px; - } - - .dfe-timeline ol ul li a { - text-decoration: underline; - } - - .dfe-timeline-details { - margin: 10px 0; - } - - .dfe-timeline-details summary { - font-size: 0.9em; - } - - .dfe-timeline-details span { - display: block; - font-size: 0.8em; - padding-bottom: 5px; - padding-left: 10px; - border-left: 4px solid #005EA5; - } \ No newline at end of file +} \ No newline at end of file diff --git a/app/data/stats.json b/app/data/stats.json index 53610c04..f7b3db70 100644 --- a/app/data/stats.json +++ b/app/data/stats.json @@ -92,6 +92,18 @@ "source": "https://www.gov.uk/government/publications/understanding-disabilities-and-impairments-user-profiles/pawel-user-with-aspergers", "type": "a" }, + { + "measure": "ADHD - 0-19 years old", + "percent": 5, + "source": "https://adhduk.co.uk/adhd-incidence/", + "type": "a" + }, + { + "measure": "ADHD - 20 years old and over", + "percent": 3.5, + "source": "https://adhduk.co.uk/adhd-incidence/", + "type": "a" + }, { "measure": "Bipolar disorder", "percent": 2, diff --git a/app/downloads/wcag-checklist-december-2022.xlsx b/app/downloads/wcag-checklist-december-2022.xlsx new file mode 100644 index 00000000..9bda4096 Binary files /dev/null and b/app/downloads/wcag-checklist-december-2022.xlsx differ diff --git a/app/views/.DS_Store b/app/views/.DS_Store index fd9b8b02..cc555ada 100644 Binary files a/app/views/.DS_Store and b/app/views/.DS_Store differ diff --git a/app/views/accessibility/assurance/index.html b/app/views/accessibility/assurance/index.html index 1884a132..bf4cfcc0 100644 --- a/app/views/accessibility/assurance/index.html +++ b/app/views/accessibility/assurance/index.html @@ -4,7 +4,7 @@ {% set pageDescription = "Testing methods and assurance processes for ensuring Department for Education services meet accessibility standards and requirements." %} {% set selectedNav = "Accessibility" %} {% set lastUpdated = "January 2023" %} -{% set backlog_issue_id = "20" %} +{% set backlog_issue_id = "48" %} {% extends "layouts/content-with-sidenav.html" %} diff --git a/app/views/accessibility/index.html b/app/views/accessibility/index.html index a7de4e7f..900ab77f 100644 --- a/app/views/accessibility/index.html +++ b/app/views/accessibility/index.html @@ -34,7 +34,7 @@

one in five people have a disability and around 15% of people are thought to be neurodivergent .

diff --git a/app/views/accessibility/understanding-wcag/draft-2-2.html b/app/views/accessibility/understanding-wcag/draft-2-2.html index 56b1d167..ca789c88 100644 --- a/app/views/accessibility/understanding-wcag/draft-2-2.html +++ b/app/views/accessibility/understanding-wcag/draft-2-2.html @@ -2,33 +2,29 @@ {% set pageName = "Draft WCAG 2.2 changes" %} {% set pageDescription = "Summary of the new Success Criteria in WCAG 2.2 describing them in simple terms." %} {% set selectedNav = "Accessibility" %} -{% set lastUpdated = "16 December 2022" %} +{% set lastUpdated = "7 July 2023" %} {% set theme = "Understanding WCAG" %} -{% set backlog_issue_id = "19" %} +{% set backlog_issue_id = "49" %} {% extends "layouts/content-with-sidenav.html" %} - - {% block content %} - -
-

These are draft guidelines and currently at candidate release. The guidelines are unlikely to change, except for 2.4.11 - Focus Appearance which is marked "at risk".

+

These are draft guidelines and currently at candidate release. The guidelines are unlikely to change, except for 2.4.11 - Focus Appearance which is marked "at risk".

These do not need to be adhered to now, but have awareness of what is changing now, so any design decisions, especially around authentication and help, are considered now.

There are nine new Success Criteria: two at Level A, five at Level AA, and two at Level AAA. Guidance is provided for Criteria at Level A and AA only.

The nine Success Criteria are:

-

2.4.11 - Focus Appearance

+ +

2.4.11 - Focus Not Obscured (Minimum)

Level AA -
This Criteria is at risk - it could be changed or removed before it is published.
-

This Success Criteria is about how visible focus is on a component. It includes aspects of two existing Criteria:

+

This Success Criterion is about ensuring a component that currently has focus is not entirely obscured by another element. It applies to the initial state of focus, for example, when the element gets focus, it must be in view.

+

Failure example: a button or link having focus and being obscured by a modal or pop-up window, or a sticky header or footer will be a failure.

+

However, if a component has visible focus and then the user moves a modal window over the focused component, this is not a failure as the original focus state was visible to the user. See 2.4.12 - Focus Not Obscured (Enhanced) for partial obscurity conformance.

+

Partial obscurity does not result in a failure of this Criterion. For example, if a sticky header stays at the top of the page and a focused element is partially obscured (for example, half a button) then this is not a failure.

+

Understanding Success Criterion 2.4.12: Focus Not Obscured (Minimum) +

+ +

2.4.12 - Focus Not Obscured (Enhanced)

+ Level AAA +

This enhanced Criterion extends 2.4.11 to make partial obscurity of a component with focus, a failure.

+

As this is Level AAA, we are not obliged to meet this Criterion. See the published guidance Understanding Success Criterion 2.4.12: Focus Not Obscured (Enhanced) for full details. +

+

2.4.13 - Focus Appearance

+ Level AAA +
This Criterion has recently been modified. Its level of conformance was changed from AA to AAA, and its requirements were strengthened.
+

This Success Criterion is about how visible focus is on a component. It includes aspects of two existing Criteria:

  • 1.4.11 Non-Text Contrast which requires that focus indicators must have a minimum 3:1 contrast ratio against its background @@ -61,79 +72,68 @@

    2.4.11 - Focus Appearance

    2.4.7 Focus Visible which requires a component to have a visible focus state
-

This new Criteria also has requirements for the contrast between focused and unfocused states, and potentially, for the shape or thickness of the focus indicator. So, it goes beyond criteria 1.4.11 and 2.4.7, by requiring not just visibility, but a minimum level of visibility.

-

This helps people who rely on or only use a keyboard to interact with a page, and particularly benefits low-vision keyboard users.

-

People with attention limitations, short term memory limitations, or limitations in executive processes benefit by being able to discover where the focus is located.

-

Understanding Success Criterion 2.4.11: Focus Appearance -

-

2.4.12 - Focus Not Obscured (Minimum)

- Level AA -

This Success Criteria is about ensuring a component that currently has focus is not entirely obscured by another element. It applies to the initial state of focus, for example, when the element gets focus, it must be in view.

-

Failure example: a button or link having focus and being obscured by a modal or pop-up window, or a sticky header or footer will be a failure.

-

However, if a component has visible focus and then the user moves a modal window over the focused component, this is not a failure as the original focus state was visible to the user. See 2.4.13 - Focus Not Obscured (Enhanced) for partial obscurity conformance.

-

Partial obscurity does not result in a failure of this Criteria. For example, if a sticky header stays at the top of the page and a focused element is partially obscured (for example, half a button) then this is not a failure.

-

Understanding Success Criterion 2.4.12: Focus Not Obscured (Minimum) -

-

2.4.13 - Focus Not Obscured (Enhanced)

- Level AAA -

This enhanced Criteria extends 2.4.12 to make partial obscurity of a component with focus, a failure.

-

As this is Level AAA, we are not obliged to meet this Criteria. See the published guidance Understanding Success Criterion 2.4.13: Focus Not Obscured (Enhanced) for full details. +

This new Criterion also has requirements for the contrast between focused and unfocused states, and for the total area of the visible focus indicator. So, it goes beyond Criteria 1.4.11 and 2.4.7, by requiring not just visibility, but a minimum size and level of visibility.

+

This Criterion helps people who rely on or only use a keyboard to interact with a page, and particularly benefits low-vision keyboard users.

+

People with attention limitations, short term memory limitations, or limitations in executive processes benefit by being able to discover where the focus is located.

+

Understanding Success Criterion 2.4.11: Focus Appearance

+

2.5.7 - Dragging Movements

Level AA -

This Success Criteria is about ensuring users can interact with components that can be dragged, for example a slider or moving something from one part of a page to another, using only a pointer device.

-

Keyboard accessibility is not applicable for this Criteria.

+

This Success Criterion is about ensuring users can interact with components that can be dragged, for example a slider or moving something from one part of a page to another, using only a pointer device.

+

Keyboard accessibility is not applicable for this Criterion.

Some users may not use a mouse, but instead another means to interact with a pointer device, such as head or eye tracker or voice control.

-

To meet this Criteria, a user should be able to select an element and instead of drag and drop they should be able to point and click. A user could for example, use a mouse to click select, drag, and then drop a component, or click to select, release, and then click on the destination to drop the component.

-

Understanding Success Criterion 2.5.7 - Dragging Movements +

To meet this Criterion, a user should be able to select an element and instead of drag and drop they should be able to point and click. A user could for example, use a mouse to click select, drag, and then drop a component, or click to select, release, and then click on the destination to drop the component.

+

Understanding Success Criterion 2.5.7 - Dragging Movements

2.5.8 - Target Size (Minimum)

Level AA -
This is a downgrade of 2.5.5: Target Size (Enhanced) (Level AAA).
-

Success Criteria 2.5.5 concerns itself with a minimum target size of interactive components of 44 by 44 pixels to aid users who have hand tremors or dexterity issues.

-

Success Criteria 2.5.8 allows a smaller size of 24 by 24 pixels, this could be an element being 20 pixels wide with 4 pixel spacing between, or 10 pixels with 14 pixel spacing.

+
This is a downgrade of 2.5.5: Target Size (Enhanced) (Level AAA).
+

Success Criterion 2.5.5 concerns itself with a minimum target size of interactive components of 44 by 44 pixels to aid users who have hand tremors or dexterity issues.

+

Success Criterion 2.5.8 allows a smaller size of 24 by 24 pixels, this could be an element being 20 pixels wide with 4 pixel spacing between, or 10 pixels with 14 pixel spacing.

There is ambiguity in this guideline, as it states that as long as there is a minimum spacing of 24 pixels between elements, essentially, the target element could be 0 pixels. This doesn't really make sense, so assume an element should be a minimum of 24 by 24 pixels or up to 24 pixels between them.

-

Additionally, this Criteria only applies to components that are not native components such as checkboxes, inputs or sentences. Where custom components have been designed, these are in scope. There are several exemptions to this Criteria which are detailed on the Understanding Success Criterion 2.5.8 - Target Size (Minimum) page.

+

Additionally, this Criterion only applies to components that are not native components such as checkboxes, inputs or sentences. Where custom components have been designed, these are in scope. There are several exemptions to this Criterion which are detailed on the Understanding Success Criterion 2.5.8 - Target Size (Minimum) page.

3.2.6 - Consistent Help

Level A -

Success Criteria 3.2.6 concerns itself with how you present information about getting help from a person like a call centre, or automated contact process like a chatbot.

-

This Criteria is helpful to everyone on how to get help, but especially for people who have cognitive or memory problems.

+

Success Criterion 3.2.6 concerns itself with how you present information about getting help from a person like a call centre, or automated contact process like a chatbot.

+

This Criterion is helpful to everyone on how to get help, but especially for people who have cognitive or memory problems.

For example, if you have a phone number or email address in a header or footer of a page, then that needs to be in the same place on every page.

-

It is not the intent of this Success Criteria to require us to provide help or access to help. The Criteria only requires that when one of the listed forms of help is available across multiple pages that it be in a consistent location.

-

This Criteria does not apply where the details of an email address or phone number are on a contact page.

-

Understanding Success Criterion 3.2.6 - Consistent Help +

It is not the intent of this Success Criterion to require us to provide help or access to help. The Criterion only requires that when one of the listed forms of help is available across multiple pages that it be in a consistent location.

+

This Criterion does not apply where the details of an email address or phone number are on a contact page.

+

Understanding Success Criterion 3.2.6 - Consistent Help

-

3.3.7 - Accessible Authentication

- Level AA -
If you are building services which make use of authentication methods, take time to understand if this Success Criteria will impact your service, now.
-

Success Criteria 3.3.7 relates to the use of cognitive function (memory) tests to authenticate a user, for example, remembering a password or solving a puzzle such as "What does 1+2 equal" or using CAPTCHA tests which ask you to identify a word or other characters.

-

CAPTCHA involving identifying common objects are an exception, for example, "Select all images of chimneys"

-

To meet this Criteria all inputs used in authenticating a user should support copy and pasting values so include autocomplete on inputs and allow password managers to store and retrieve passwords and credentials for a service.

-

If there is more than one step in the authentication process, such as with multi-factor authentication, all steps should comply with this Success Criterion. There should be a path through authentication that does not rely on cognitive function tests.

-

If a code is sent to a user's device and requires them to retype this into a service, then this is a failure of this Criteria.

-

Often referred to as "Magic Links", you could send a link to the user's email address which can sign them in without having to type in a password. This would successfully meet this Criteria.

-

Understanding Success Criterion 3.3.7 - Accessible Authentication -

-

3.3.8 - Accessible Authentication (No Exception) (Level AAA)

- Level AAA -

Success Criteria 3.3.8 is the same as 3.3.7 but also includes not requiring any image or text-based tests.

-

Understanding Success Criterion 3.3.8 - Accessible Authentication (No Exception) -

-

3.3.9 - Redundant Entry (Level A)

+

3.3.7 - Redundant Entry (Level A)

Level A -
If you are building services which ask users for the same information multiple times, think about what changes you need to make, to meet this Success Criteria.
-

Success Criteria 3.3.9 ensures that users are not asked to enter the same information twice, in the same session.

+
If you are building services which ask users for the same information multiple times, think about what changes you need to make, to meet this Success Criterion.
+

Success Criterion 3.3.7 ensures that users are not asked to enter the same information twice, in the same session.

This reduces cognitive load on the user but also makes forms and services easier to use for everyone, and removes the frustration of "Why are you asking for this again, I've already entered this information".

-

To meet this Criteria, you should:

+

To meet this Criterion, you should:

  • prepopulate the field with the information previously entered in a previous step
  • or allow the user to select the information from a select list or radio list
  • or use a checkbox to confirm information is the same as previously entered, such as ticking a box to confirm the school's correspondence address is the same as the school's main address.

This Criterion does not apply to essential duplication, such as where confirming a password is needed, or where information has been provided in a different format, for example, a document with their name on has been uploaded, you can ask them to type their name out into a field.

-

Understanding Success Criterion 3.3.9 - Redundant Entry +

Understanding Success Criterion 3.3.7 - Redundant Entry

+

3.3.8 - Accessible Authentication (No Exception) (Level AAA)

+ Level AA +

Success Criterion 3.3.9 is the same as 3.3.8 but also includes not requiring any image or text-based tests.

+

Understanding Success Criterion 3.3.8 - Accessible Authentication (No Exception) +

+

3.3.9 - Accessible Authentication

+ Level AAA +
If you are building services which make use of authentication methods, take time to understand if this Success Criterion will impact your service, now.
+

Success Criterion 3.3.9 relates to the use of cognitive function (memory) tests to authenticate a user, for example, remembering a password or solving a puzzle such as "What does 1+2 equal" or using CAPTCHA tests which ask you to identify a word or other characters.

+

CAPTCHA involving identifying common objects are an exception, for example, "Select all images of chimneys"

+

To meet this Criterion all inputs used in authenticating a user should support copy and pasting values so include autocomplete on inputs and allow password managers to store and retrieve passwords and credentials for a service.

+

If there is more than one step in the authentication process, such as with multi-factor authentication, all steps should comply with this Success Criterion. There should be a path through authentication that does not rely on cognitive function tests.

+

If a code is sent to a user's device and requires them to retype this into a service, then this is a failure of this Criterion.

+

Often referred to as "Magic Links", you could send a link to the user's email address which can sign them in without having to type in a password. This would successfully meet this Criterion.

+

Understanding Success Criterion 3.3.9 - Accessible Authentication +

+
-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/app/views/community/index.html b/app/views/community/index.html deleted file mode 100644 index 52a36980..00000000 --- a/app/views/community/index.html +++ /dev/null @@ -1,44 +0,0 @@ -{% set pageName = "Community overview" %} -{% set pageDescription = "The user-centred design community in the Department for Education" %} -{% set selectedNav = "Community" %} -{% set lastUpdated = "January 2023" %} -{% set backlog_issue_id = "37" %} - -{% extends "layouts/content-with-sidenav.html" %} - -{% block beforeContent %}{% endblock %} - -{% block content %} - - - -

Our communities of practice are crucial to growing the maturity of design in DfE, and support the following professions:

- - - -

Our communities of practice is led by the Head of Profession for Design, who is Andy Jones.

- -

Protected community time

- -

Within the digital user-centred design professions, we have protected community time.

-

This means every Thursday afternoon from 1pm, is dedictaed to improving the design profession. This might include: professional development, skills sharing, workshops, training, or running show and tells and community meetups.

- -

Find out about community meetups and regular show and tells we run in the design community.

- -

Community objective themes

- -

Our community objectives align to the design ops model. This means the work we do in our communities of practice help to improve:

- - -

- Read more about the themes we're working on.

- -{% endblock %} \ No newline at end of file diff --git a/app/views/content-design/.DS_Store b/app/views/content-design/.DS_Store index 79564c63..59dd54e5 100644 Binary files a/app/views/content-design/.DS_Store and b/app/views/content-design/.DS_Store differ diff --git a/app/views/content-design/how-we-write-emails/index.html b/app/views/content-design/how-we-write-emails/index.html index 0ffe59fb..137817b5 100644 --- a/app/views/content-design/how-we-write-emails/index.html +++ b/app/views/content-design/how-we-write-emails/index.html @@ -11,6 +11,6 @@

You can find updates to the guidance on emails in the GOV.UK design system backlog issue, Sending emails (opens in new tab).

-

If you’re using Notify, use the Notify guidance (opens in new tab).

+

If you’re using Notify, use the Notify guidance (opens in new tab).

{% endblock %} \ No newline at end of file diff --git a/app/views/content-design/types-of-content-we-publish/reviewing-and-checking-content.html b/app/views/content-design/types-of-content-we-publish/reviewing-and-checking-content.html index 19e26be9..a5fe3992 100644 --- a/app/views/content-design/types-of-content-we-publish/reviewing-and-checking-content.html +++ b/app/views/content-design/types-of-content-we-publish/reviewing-and-checking-content.html @@ -3,7 +3,7 @@ {% set seoPageName = "Reviewing and checking content" %} {% set seoPageDescription = "" %} {% set pageName = "Reviewing and checking content" %} -{% set pageDescription = "We conduct a vareity of checks ahead of publishing content." %} +{% set pageDescription = "We conduct a variety of reviews and checks ahead of publishing content." %} {% set selectedNav = "Content design" %} {% set lastUpdated = "May 2023 "%} {% set backlog_issue_id = "" %} @@ -12,130 +12,136 @@ {% block content %} {% markdown %} -As you draft content in various formats, such as like Word, Figma, Lucid and Whitehall, you'll need to complete regular reviews on your content and designs. - -You will usually make changes as you move from low fidelity to high fidelity versions and ultimately to your ready for ‘live’ version. - -## Reviews and content crits - -You can organise a review or content critique (crit) yourself and ask people to attend through Teams or Slack channels. - -Things to do in a review or crit: - -* provide the context of the piece of content +As you draft content in various formats, such as Word, Figma, Lucid or Whitehall content publisher, you'll need to complete regular reviews on your content and designs. + +## Reviews and content crits + +You can organise a review or content critique (crit) yourself and ask people to attend through Teams or [Community Slack channels](https://design.education.gov.uk/community). You can also join one of the cross-government design slack channels (opens in new tab). + +To prepare for a review or crit: + +* provide the context of the piece of content * explain the type of feedback you want -* explain to attendees that you're looking for honest feedback delivered in a constructive way +* explain to attendees that you're looking for honest feedback delivered in a constructive way * explain how you want the feedback (for example, in comments or edits on your document) + +It’s useful to timebox activities (set a timer for each activity) and, if on a large call, consider using breakout rooms to encourage discussion. It can be helpful to do review or crits in person using post-its and printouts. + +There is helpful advice in the blog post on using design crits to improve collaboration in this blog post (opens in new tab). + +## Prior to the 2i check + +A 2i check (meaning a second pair of eyes) should be done on the final version in context, this will usually be in the production or test environment or in a preview on a content management system. + +Before the 2i stage, check you’ve done the following: + +* checked the factual accuracy with a policy or subject matter expert +* has clearance to publish (opens in Sharepoint) this will vary by project +* have a publication or ‘go live’ plan in place +* named the service or publication following GOV.UK naming conventions (opens in new tab) + +If the content needs to change whilst preparing the final version in the content management system, then you must check that the content is still accurate. + +The 2i check is the final check. + +## 2i checks by content type + +You may need to vary the checks based on the type of content and where it is being published. + +Service specific considerations: + +* name of content, service or page +* start page +* branded headers and footers +* statement pages, such as privacy and accessibility +* components +* style + +There is guidance on how to make your service look like GOV.UK. There is also guidance in the DfE service manual, including [how to apply the DfE headers](https://design.education.gov.uk/design-system/components/header). + +GOV.UK publication specific considerations: + +* title +* template +* collection and taxonomy tagging +* change notes + +There is GOV.UK guidance on reviewing documents and publishing content on Whitehall. This also includes guidance on what we, as a government department, should and should not publish. + +Manuals and guidance (including technical guides) specific checks: + +* name +* titles +* signposting from specialist content and collections + +There is a section for manuals in the GOV.UK planning, writing and managing content guide. + +## Example check list + +You can use adapt this checklist for your own team's use. + +### Title (or name) + +Things to check: +* clearly identifies the content +* fits the character limit (65 for Whitehall) +* avoids use of acronyms (are understood where used) +* is front loaded with keywords +* has no full stop +* is not already in use +* logically sits with other content, such as collections +* starts with a verb for services and manuals + +### Summary or description + +Things to check: +* defines the audience +* gives a clear purpose +* does not repeat the title +* avoids the use of acronyms +* fits the character limit (160 for Whitehall publisher) +* is front loaded with keywords +* is a full sentence with a full stop + +### Body text + +Things to check: +* does not repeat the title or summary +* is purposeful and clear +* is in plain English with technical terms explained +* uses consistent tense +* uses short sentences and paragraphs (recommended fewer than 25 words per sentence and 8 lines per paragraph) +* has subheadings (recommended every 3 to 5 paragraphs) +* is suitable in terms of length +* has nested heading in an appropriate and accessible order +* has bullet points that do not mix negative and positive points, have a lead in line and start with a lower-case letter +* has appropriately styled bullet points and numbered steps +* uses the correct content type, template and channel +* has no full stops in abbreviations or acronyms +* describes the destination of any links (do not use ‘click here’) +* uses ‘and’ rather than ‘&’ (unless in a name) +* does not use bold, italics, CAPS, semicolons, underlining or exclamation marks +* uses ‘to’ not ‘-’ +* does not use e.g. or i.e. and etc instead use 'for example', 'like', 'such as' or ‘including' +* has no full stops in links + +### Images and videos + +Things to check: +* useful and of high quality +* visual information is also available in text format (such as in a flow diagram) +* DfE have the rights to publish +* credit given to source where applicable (for example, source NHS England) +* follows DfE guidelines on use and style (brand and style guide) +* closed captions are included for video and timed with speech +* everything shown visually is explained verbally and in text for video +* images have alt text (directing users to where it is described in the main body test) + +For email addresses check they are written out in full and all lower case. + +For GOV.UK content, use < > markdown either side of the address. For services, use mailto links with full email addresses visible. This ensures that email addresses can be copied by users using webmail, and the mailto links work for mail clients. -It’s useful to timebox activities and, if on a large call, consider using breakout rooms to encourage discussion. - -## Prior to the 2i check - -Before the 2i stage, check you’ve done the following: - -* checked the factual accuracy with a policy or subject matter expert -* gained appropriate sign off -* have a publication or ‘go live’ plan in place -* named the service or publication following GOV.UK naming conventions - -If the content needs to change whilst preparing the final version in the content management system, then you must check back that the content is still accurate. - -## The 2i check - -A 2i check (meaning a second pair of eyes) should be completed on the preview of the final content in position within the service or website ahead of publication or ‘go live’. - -The 2i check is the final check. - -## Checks by content type - -You may need to vary the checks based on the type of content and where it is being published. -Service specific considerations: - -* name -* start page -* headers and footers -* footer pages -* components -* style - -There is [guidance on how to make your service look like GOV.UK](https://www.gov.uk/service-manual/design/making-your-service-look-like-govuk). There is also guidance in the DfE service manual, including [how to apply the DfE headers](https://design.education.gov.uk/design-system/components/header). - -GOV.UK publication specific considerations: - -* title -* template -* collection and taxonomy tagging -* change notes - -There is [GOV.UK guidance on reviewing documents and publishing content on Whitehall](https://www.gov.uk/guidance/how-to-publish-on-gov-uk/reviewing-and-approving-content). This also includes guidance on what we, as a government department, should and should not publish. - -Manuals and guidance (including technical guides) specific checks: - -* name -* titles -* signposting from specialist content and collections - -There is a section for manuals in the [GOV.UK planning, writing and managing content guide](https://www.gov.uk/guidance/content-design/content-types). - -## Example check list - -You can [download this 2i checklist](/downloads/content-2i-checklist.docx) to adapt for your own team's use. - -| Title (or name) checks[SS1] | Checked (Y/N) | -|--------------------------------------------------------|---------------| -| Clearly identifies the content | | -| Fits the character limit (65 for Whitehall) | | -| Avoids use of acronyms (are understood where used) | | -| Front loaded with keywords | | -| No full stop | | -| Not already in use | | -| Logically sits with other content, such as collections | | -| Starts with a verb for services and manuals | | - -| Summary or description checks | Checked (Y/N) | -|-----------------------------------------------------------------|----------------------| -| The audience and purpose are clear (task) | | -| Does not repeat the title | | -| Use and understanding of acronyms is clear | | -| Fits the character limit (160 for Whitehall publisher) | | -| Front loaded with keywords | | -| Full sentence with a full stop | | - -| Body text checks | Checked (Y/N) | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------| -| Does not repeating the title or summary | | -| Purposeful and clear | | -| In plain English with technical terms explained | | -| Tenses are consistent | | -| Uses short sentences and paragraphs (recommended less than 25 words per sentence and 8 lines per paragraph) | | -| Subheadings (recommended every 3 to 5[SA1] paragraphs) | | -| Content length is suitable | | -| Headings are nested in an appropriate and accessible order | | -| Bullet points do not mix negative and positive points | | -| Bullet points and numbered steps used appropriately (as per style guide) | | -| Follows style guidance on bullets[SS2] | | -| Correct type of content and appropriate channel | | -| Bullet points have a lead in line and start with a lower-case letter | | -| No full stops in abbreviations or acronyms | | -| Describes the destination of any links (don’t use ‘click here’) | | -| Uses ‘and’ rather than ‘&’ (unless in a name) | | -| Does not use bold, italics, CAPS, semicolons, underlining or exclamation marks | | -| Headings, bullet points and acronyms are formatted correctly | | -| Use ‘to’ not - | | -| Writes out email addresses in full in lower case. (For GOV.UK content, use < > markdown either side of the address. For services, use mailto links with full email addresses visible. This ensures that email addresses can be copied by users using webmail, and the mailto links work for mail clients.) | | -| Does not use e.g., i.e. and etc - use 'for example', 'like', 'such as' and 'including' | | -| There are no full stops in links | | - -| Images and videos checks | Checked (Y/N) | -|------------------------------------------------------------------------------------------------|----------------------| -| Useful and of high quality | | -| Information is also available in text format | | -| DfE have the rights to publish | | -| Credit given to source where applicable | | -| Follows DfE guidelines on use and style (brand and style guide) | | -| Closed captions are included for video and timed with speech | | -| Everything shown visually is explained verbally and in text for video | | -| Images have alt text (directing users to where it is described in the main body test) | | +Whilst checklists can help, you should check and refer to the GOV.UK content publishing guidance, which includes the style and formats guide. {% endmarkdown %} {% endblock %} \ No newline at end of file diff --git a/app/views/content-design/design-histories-guidance.html b/app/views/content-design/writing-design-history-posts.html similarity index 86% rename from app/views/content-design/design-histories-guidance.html rename to app/views/content-design/writing-design-history-posts.html index f665304e..b9892b3b 100644 --- a/app/views/content-design/design-histories-guidance.html +++ b/app/views/content-design/writing-design-history-posts.html @@ -1,12 +1,12 @@ {% extends "layouts/content-with-sidenav.html" %} -{% set seoPageName = "Design histories" %} -{% set seoPageDescription = "We are encouraging teams within DfE to publish their design histories in the same place using the same method." %} -{% set pageName = "Design histories" %} -{% set pageDescription = "We are encouraging teams within DfE to publish their design histories in the same place using the same method." %} +{% set seoPageName = "Writing design history posts" %} +{% set seoPageDescription = "We publish our design histories on the DfE Design History Service using Strapi." %} +{% set pageName = "Writing design history posts" %} +{% set pageDescription = "We publish our design histories on the DfE Design History Service using Strapi." %} {% set selectedNav = "Content design" %} -{% set lastUpdated = "May 2023 "%} -{% set backlog_issue_id = "" %} +{% set lastUpdated = "June 2023 "%} +{% set backlog_issue_id = "33" %} {% block beforeContent %}{% endblock %} @@ -46,7 +46,8 @@ ## Post titles The limit for post titles is 70 characters. The title should be helpful to people who come to your post with no context to assess whether it will be helpful to them. -Titles should describe the problem you explored or solved, and should start with a verb unless the character limit makes this impossible. It might be helpful to consider both the [style for titles in the writing for GOV.UK guide](https://www.gov.uk/guidance/content-design/writing-for-gov-uk) and [guidance on naming your service](https://www.gov.uk/service-manual/design/naming-your-service). + +Titles should describe the problem you explored or solved, and should start with a verb unless the character limit makes this impossible. It might be helpful to consider both the style for titles in the writing for GOV.UK guide and guidance on naming your service. ## Post description @@ -68,7 +69,7 @@ ## Link to the design system -Include links to any components and patterns you have used from the GOV.UK Design System or DfE Design System. For example, the [accessible autocomplete component](https://alphagov.github.io/accessible-autocomplete/). +Include links to any components and patterns you have used from the GOV.UK Design System or DfE Design System. For example, the accessible autocomplete component (opens in new tab). ## Links to prototypes @@ -94,7 +95,7 @@ If the image you’ve included is not a screenshot of a service page, think about whether it needs to be there, or if it could be text within the post. You’ll need to write out text in your images for accessibility anyway, then use the alt text field to explain where to find the image description. -The alt text character limit is 255 characters, but anything you put into the alt field should be much shorter than that. Ideally, alt should be no more than 125 characters. +255 is the alt text character limit in the Strapi content management system. There is guidance on how to write alt text in the service manual. ## Captions @@ -118,7 +119,7 @@ ```
content... - +
``` ## Tags @@ -156,7 +157,7 @@ * service owner * subject matter experts -If you need to make design history posts private, [ask the Design Ops team](https://design.education.gov.uk/design-ops). +If you need further advice on design histories, [ask the Design Ops team](https://design.education.gov.uk/design-ops). {% endmarkdown %} {% endblock %} \ No newline at end of file diff --git a/app/views/design-ops/tools/index.html b/app/views/design-ops/tools/index.html index 4dc3b6cc..795c0bdd 100644 --- a/app/views/design-ops/tools/index.html +++ b/app/views/design-ops/tools/index.html @@ -28,6 +28,7 @@

Design and development tools

+ Azure Data Studio
diff --git a/app/views/design-system/components/header/index.html b/app/views/design-system/components/header/index.html index d7eb267c..ea10860c 100644 --- a/app/views/design-system/components/header/index.html +++ b/app/views/design-system/components/header/index.html @@ -5,8 +5,16 @@ {% set isChildSection = "true"%} {% set isSubNavSection = "true" %} {% set lastUpdated = "" %} -{% set backlog_issue_id = "24" %} +{% set backlog_issue_id = "6" %} +{# Add changes with newest at the top #} +{% set changeLog = [ + { + change: 'Added guidance for using phase banners with the header. See GitHub issue #67', + changeDate: '13 June 2023' + } +] +%} {% extends "layouts/content-with-sidenav.html" %} @@ -14,147 +22,145 @@ {% block heroExtra %} - {% endblock%} {% block content %} - -
-

You must use this header if the service is hosted on education.gov.uk.

-

If you beleive your service should have a different header, speak to Andy Jones (Head of Design).

-
-

The blue Department for Education branded header shows users that they are on a DfE website and what service they are using.

+
+

You must use this header if the service is hosted on education.gov.uk.

+

If you beleive your service should have a different header, speak to Andy Jones (Head of Design).

+
+

The blue Department for Education branded header shows users that they are on a DfE website and what service they are using.

-
-

All features

+
+

All features

-

An example of the header component with all features enabled. See other variants.

+

An example of the header component with all features enabled. See other variants.

-
+
-
-

+
+

Contents

- +
+

+ Open example in a new window +

+
+ - + + + + + +
+ + -

-
+
+
-
<header class="dfe-header" role="banner">
+            
<header class="dfe-header" role="banner">
   <div class="dfe-width-container dfe-header__container">
     <div class="dfe-header__logo">
       <a class="dfe-header__link dfe-header__link--service " href="#" aria-label="DfE homepage">
@@ -245,10 +251,10 @@ 

</div> </nav> </header>

-
-
- {% raw %} -
{% from 'node_modules/dfe-frontend-alpha/packages/components/header/macro.njk' import header %}
+          
+
+ {% raw %} +
{% from 'node_modules/dfe-frontend-alpha/packages/components/header/macro.njk' import header %}
 
 {{ header({
     "showNav": "true",
@@ -284,215 +290,241 @@ 

] }) }}

- {% endraw%} + {% endraw%} +
- - - + +

When to use this component

-

When to use this component

+

You must use thie blue DfE header at the top of every page, if your service is being hosted on education.gov.uk.

-

You must use thie blue DfE header at the top of every page, if your service is being hosted on education.gov.uk.

+

When not to use this component

-

When not to use this component

+

You must not use the blue DfE header if your service is hosted on any of these domains:

-

You must not use the blue DfE header if your service is hosted on any of these domains:

- -

+ -

You should use the GOV.UK header instead.

+

You should use the GOV.UK header instead.

-

How it works

+

How it works

-
+
To use this component install DfE Frontend into your project using the NPM package or compiled CSS and Javascript.
- -

Settings for the Nunjucks macro

+

Settings for the Nunjucks macro

The header Nunjucks macro takes the following arguments: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
showNavbooleanYesSet to "true" to show the navigation links in the header.
showSearchbooleanYesSet to "true" to show the site search input form.
showHeaderActionLinksbooleanYesSet to "true" to show list if items in the top right of page.
homeHrefstringNoThe href of the link for the logo and mobile home link in the navigation links. Defaults to "/".
ariaLabelstringNoAria label for the logo href. Defaults to "DfE homepage".
logoPathstringYesSet this to the local path for images. In version 13 of the prototype kit, set this is 'public/images'.
selectedNavstringNoPass in a value from the view which matches the primaryLinks.label and it will add the class dfe-header__navigation-item--current to the corresponding nav item.
headerActionLinksarrayNoArray of links for use in the header on the top right.
headerActionLinks[].urlstringNoThe href of a navigation item in the header. If blank, it will just display the label
headerActionLinks[].labelstringNoThe label of the item in the header.
primaryLinksarrayNoArray of navigation links for use in the header.
primaryLinks[].urlstringNoThe href of a navigation item in the header.
primaryLinks[].labelstringNoThe label of a navigation item in the header.
serviceobjectNoObject containing the *name* of the service.
attributesobjectNoAny extra HTML attributes (for example data attributes) to add to the header container.
searchActionstringNoThe search action endpoint. Defaults to "/search".
searchInputNamestringNoThe name for the search field. Defaults to "searchterm".
- - - - - + + + Name + Type + Required + Description + + + + + + showNav + + boolean + Yes + Set to "true" to show the navigation links in the header. + + + + showSearch + + boolean + Yes + Set to "true" to show the site search input form. + + + + showHeaderActionLinks + + boolean + Yes + Set to "true" to show list if items in the top right of page. + + + + homeHref + + string + No + The href of the link for the logo and mobile home link in the navigation links. Defaults to "/". + + + + ariaLabel + + string + No + Aria label for the logo href. Defaults to "DfE homepage". + + + + logoPath + + string + Yes + Set this to the local path for images. In version 13 of the prototype kit, set this is 'public/images'. + + + + selectedNav + + string + No + Pass in a value from the view which matches the primaryLinks.label and it will add the class dfe-header__navigation-item--current to the corresponding nav item. + + + + headerActionLinks + + array + No + Array of links for use in the header on the top right. + + + + headerActionLinks[].url + + string + No + The href of a navigation item in the header. If blank, it will just display the label + + + + headerActionLinks[].label + + string + No + The label of the item in the header. + + + + primaryLinks + + array + No + Array of navigation links for use in the header. + + + + primaryLinks[].url + + string + No + The href of a navigation item in the header. + + + + primaryLinks[].label + + string + No + The label of a navigation item in the header. + + + + service + + object + No + Object containing the *name* of the service. + + + + attributes + + object + No + Any extra HTML attributes (for example data attributes) to add to the header container. + + + + searchAction + + string + No + The search action endpoint. Defaults to "/search". + + + + searchInputName + + string + No + The name for the search field. Defaults to "searchterm". + + + + + +

Variants

- -

Service name only

- -

Use this header for small services and sites which have fewer than 5 pages.

- +

Service name only

+

Use this header for small services and sites which have fewer than 5 pages.

-
+
- -
+
+
-
<header class="dfe-header" role="banner">
+              
<header class="dfe-header" role="banner">
    <div class="dfe-width-container dfe-header__container">
       <div class="dfe-header__logo">
          <a class="dfe-header__link dfe-header__link--service " href="#" aria-label="DfE homepage">
@@ -505,10 +537,10 @@ 

</div> </div> </header>

-
-
- {% raw %} -
{% from 'node_modules/dfe-frontend-alpha/packages/components/header/macro.njk' import header %}
+            
+
+ {% raw %} +
{% from 'node_modules/dfe-frontend-alpha/packages/components/header/macro.njk' import header %}
 
 {{ header({
     "showNav": "false",
@@ -522,90 +554,90 @@ 

} }) }}

- {% endraw%} -
-
- + {% endraw%} + + + -
-

With search

+
+

With search

-

Use this header if your service or website needs a search function.

+

Use this header if your service or website needs a search function.

-

You can specify the URL to post the search form to, by default it's /search.

-
+

You can specify the URL to post the search form to, by default it's /search.

+
-
-

+
+

Contents

- +
+

+ Open example in a new window +

+ - -
-
- -
<header class="dfe-header" role="banner">
+                        
+                      
+
+ +
+
+ + +

+
+ +
<header class="dfe-header" role="banner">
    <div class="dfe-width-container dfe-header__container">
       <div class="dfe-header__logo">
          <a class="dfe-header__link dfe-header__link--service " href="#" aria-label="DfE homepage">
@@ -646,10 +678,10 @@ 

</div> </div> </header>

-
-
- {% raw %} -
{% from 'node_modules/dfe-frontend-alpha/packages/components/header/macro.njk' import header %}
+                
+
+ {% raw %} +
{% from 'node_modules/dfe-frontend-alpha/packages/components/header/macro.njk' import header %}
 
 {{ header({
     "showNav": "false",
@@ -665,109 +697,106 @@ 

} }) }}

- {% endraw%} -
- -
- - - -

With navigation

+ - + {% endraw%} + + +
- +
+

With account option

-
-

With account option

+

Use this header if you want to have account options for accessing an account page or sign out of a service.

-

Use this header if you want to have account options for accessing an account page or sign out of a service.

- - -
-

+
+

Contents

- +
+

+ Open example in a new window +

+ - -
-
- -
<header class="dfe-header" role="banner">
+                              
  • + Sign out +
  • + +
    +
    + + +

    +
    + +
    <header class="dfe-header" role="banner">
         <div class="dfe-width-container dfe-header__container">
           <div class="dfe-header__logo">
             <a class="dfe-header__link dfe-header__link--service " href="#" aria-label="DfE homepage">
    @@ -942,10 +967,10 @@ 

    </div> </div> </header>

    -
    -
    - {% raw %} -
    {% from 'node_modules/dfe-frontend-alpha/packages/components/header/macro.njk' import header %}
    +                    
    +
    + {% raw %} +
    {% from 'node_modules/dfe-frontend-alpha/packages/components/header/macro.njk' import header %}
     
     {{ header({
         "showNav": "false",
    @@ -968,51 +993,55 @@ 

    ] }) }}

    - {% endraw%} -
    - -
    + {% endraw%} + + +
    +

    Using phase banners with the header

    - +

    The GOV.UK phase banner component helps you tell users that the page they are on might be an alpha or beta page, and therefore, being tested.

    - - +

    If you are using the GOV.UK page template, add phase banners in the + beforeContent + layout section in the same way as you would with the GOV.UK header component.

    +

    This will ensure the phase banner is displayed immediately after the header and before any of the main content.

    -

    Things not to do

    -

    If you need to extend or make changes to the header component in your service, contribute and discuss the change with the Design Ops team or the Components and Patterns working group.

    +

    Things not to do

    -

    Do not:

    -
      -
    • put tags or phase banners in the header - use the phase banner in the beforeContent layout section
    • -
    • change the colours - they are the department brand colours and meet accessibility requirements
    • -
    • change the placement or size of the logo - it meets Government Communication guidelines for logos and branding
    • -
    • change the position of the service name - this is styled to support different breakpoints and viewports and will move to below the logo when required to
    • -
    +

    If you need to extend or make changes to the header component in your service, contribute and discuss the change with the Design Ops team or the Components and Patterns working group.

    -

    Services using this component

    +

    Do not:

    +
      +
    • put tags or phase banners in the header - use the phase banner in the beforeContent layout section
    • +
    • change the colours - they are the department brand colours and meet accessibility requirements
    • +
    • change the placement or size of the logo - it meets Government Communication guidelines for logos and branding
    • +
    • change the position of the service name - this is styled to support different breakpoints and viewports and will move to below the logo when required to
    • +
    -

    The following services are using this component:

    +

    Services using this component

    - +

    The following services are using this component:

    -

    Help us improve this component

    + -

    To improve this component based on user needs and research, you can contribute in the following ways:

    +

    Help us improve this component

    - - {% endblock %} \ No newline at end of file +

    To improve this component based on user needs and research, you can contribute in the following ways:

    + + + {% endblock %} \ No newline at end of file diff --git a/app/views/design-system/contribute/index.html b/app/views/design-system/contribute/index.html index 0efc8edf..f82b1fe7 100644 --- a/app/views/design-system/contribute/index.html +++ b/app/views/design-system/contribute/index.html @@ -1,7 +1,7 @@ {% extends "layouts/content-with-sidenav.html" %} {% set pageName = "Contribute" %} -{% set pageDescription = "Guidance for proposing a new patterns or component to the DfE Frontend Design System." %} +{% set pageDescription = "Guidance for proposing a new pattern or component to the DfE Design System." %} {% set selectedNav = "Design system" %} {% set setSelectedSideNav = "" %} {% set lastUpdated = "April 2023 "%} @@ -12,18 +12,38 @@ {% block content %} -

    To be included in the DfE Design System, a pattern or component should:

    -
      -
        -
      • either be currently used or potentially useful to multiple DfE services
      • -
      • meet a known user need
      • -
      • not be part of the GOV.UK Design System or on the roadmap for development
      • -
      - -

      You should also check if someone else has already suggested your idea or something similar on the Github backlog.

      +

      Proposing a component or pattern

      +

      The contents of the DfE Design System must be of a high quality and meet user needs. To guarantee this, all components and patterns need to meet certain criteria.

      + + + + + + + + + + + + + + + + + + + + + + +
      New proposals criteria
      CriteriaDescription
      Useful +

      You can demonstrate that this component or pattern would be useful for other DfE teams or services.

      +

      The need for the pattern or component has been validated through user research.

      +

      Evidence could be screenshot or links to versions of it being used in different services.

      +
      UniqueIt does not replicate something already in the GOV.UK or DfE Design System.
      UsersThere are other user groups completing similar tasks who would benefit from this component or pattern.

      Add a ticket

      -

      If your idea is not on the list, and meets our guidance for the DfE Design System, add a ticket. You can add to either the Github backlog or the components and patterns Trello. If you submit a component or pattern to Trello, it will automatically appear on the Github backlog.

      +

      If your idea is not on the DfE Design system backlog, and meets the criteria above, add a ticket. You can add to either the Github backlog or the components and patterns Trello. If you submit a component or pattern to Trello, it will automatically appear on the Github backlog.

      What to include

      At this stage, you just need to present your idea and evidence of the user needs. You can include screenshots or links to versions of the component or pattern in use, but avoid spending time working on a specific design or writing code.

      diff --git a/app/views/design-system/dfe-frontend/index.html b/app/views/design-system/dfe-frontend/index.html index 77d66061..54a32490 100644 --- a/app/views/design-system/dfe-frontend/index.html +++ b/app/views/design-system/dfe-frontend/index.html @@ -1,9 +1,10 @@ {% set pageName = "DfE Frontend" %} {% set pageDescription = "Using the frontend styles, components, and patterns in DfE services." %} {% set selectedNav = "Design system" %} -{% set lastUpdated = "" %} +{% set lastUpdated = "13 June 2023" %} {% set backlog_issue_id = "24" %} + {% extends "layouts/content-with-sidenav.html" %} {% block beforeContent %}{% endblock %} @@ -201,6 +202,8 @@

      Override the font

      td, blockquote, li, +dt, +dd, tr { font-family: BlinkMacSystemFont, diff --git a/app/views/design-system/index.html b/app/views/design-system/index.html index 479681ed..a3661f17 100644 --- a/app/views/design-system/index.html +++ b/app/views/design-system/index.html @@ -3,7 +3,7 @@ {% set pageDescription = "Understand how to ensure we design consistent services for Department for Education users." %} {% set selectedNav = "Design system" %} {% set lastUpdated = "April 2023" %} -{% set backlog_issue_id = "24" %} +{% set backlog_issue_id = "44" %} {% extends "layouts/content-with-sidenav.html" %} diff --git a/app/views/includes/_side-nav.html b/app/views/includes/_side-nav.html index 5984ebb6..7fbb046f 100644 --- a/app/views/includes/_side-nav.html +++ b/app/views/includes/_side-nav.html @@ -6,8 +6,8 @@ title: "Language we use", url: "/content-design/language-we-use/" },{ - title: "Design histories", - url: "/content-design/design-histories-guidance" + title: "Writing design history posts", + url: "/content-design/writing-design-history-posts" },{ title: "How we write emails", url: "/content-design/how-we-write-emails/" @@ -77,18 +77,15 @@ ] %} {% set communities = [ - { - title: "Community overview", - url: "/community/" - },{ + { title: "Meetups", - url: "/community/meetups/" + url: "/professions/meetups/" },{ title: "Show and tells", - url: "/community/show-and-tells/" + url: "/professions/show-and-tells/" },{ title: "Themes", - url: "/community/themes/" + url: "/professions/themes/" } ] %} @@ -284,10 +281,9 @@

      Get in touch

      {% endfor %}
    - {% endif %} +

    Community

    - {%- if selectedNav == "Community" %} -
      +
        {% for item in communities %}
      • {{ item.title }} @@ -297,6 +293,7 @@

        Get in touch

        {% endif %} + {%- if selectedNav == "Design system" and isChildSection !== "true"%}
          {% for item in ds_design %} diff --git a/app/views/index.html b/app/views/index.html index 577e84b1..05f98eff 100644 --- a/app/views/index.html +++ b/app/views/index.html @@ -14,18 +14,25 @@

          Department for Education
          Design Manual

          -
    - {% endblock %} - {% block content %} - +
    +
    +

    + Important - Changes to WCAG are coming +

    +
    +
    +

    Read the guidance for understanding and applying the 9 new criteria in WCAG 2.2.

    +

    These are coming into force between June and September 2023 with compliance expected within 12 months.

    +
    +
    -
    -
    @@ -40,7 +47,6 @@

    We use a combination of the GOV.UK Design System and DfE Frontend to create consistent looking services.

    -
    @@ -53,7 +59,6 @@

    Use our templates, audit plans and WCAG guidelines to ensure we design with accessibility in mind.

    -
    @@ -66,7 +71,6 @@

    Writing in plain language, to create clear and consistent content for the departments digital services.

    -
    @@ -79,31 +83,22 @@

    Find out what it's like to work in design at DfE and how our communities of practice develop the design professions.

    - -
    - - -
    -
    -

    How to apply
    the Service Standard

    We’ve built a companion service to the
    Government Service Standard.

    This service helps teams follow standards to build accessible, usable, safe, secure, and trusted services.

    - - View the service + View the service
    -
    @@ -111,60 +106,50 @@

    How to apply
    the Service Standard

    -
    -
    -
    -
    -
    - {% endblock %} \ No newline at end of file diff --git a/app/views/layouts/_header.html b/app/views/layouts/_header.html index 248cf2d3..9c530d21 100644 --- a/app/views/layouts/_header.html +++ b/app/views/layouts/_header.html @@ -34,10 +34,6 @@ { "url" : "/professions", "label" : "Professions" - }, - { - "url" : "/community", - "label" : "Community" }, { "url" : "/design-ops", diff --git a/app/views/layouts/content-with-sidenav.html b/app/views/layouts/content-with-sidenav.html index e831ab34..11a6d0d6 100644 --- a/app/views/layouts/content-with-sidenav.html +++ b/app/views/layouts/content-with-sidenav.html @@ -6,7 +6,9 @@ - {% if seoPageName %}{{seoPageName}}{% elseif pageName %}{{pageName}}{%endif%} - Design Manual - Department for Education + + {% if seoPageName %}{{seoPageName}} + {% elseif pageName %}{{pageName}}{%endif%} - Design Manual - Department for Education @@ -31,7 +33,7 @@ - + {% block head %}{% endblock %} @@ -62,18 +64,20 @@
    - {% block breadcrumb %} {% if isbeta === "true" %} -
    -

    -