<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle],.navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle] {
    position: relative
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle]:after,.navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle]:after {
    content: "";
    position: absolute;
    top: calc(50% - 1rem);
    left: auto;
    right: 0.5rem;
    height: 2rem;
    width: 2rem;
    transition: transform .25s ease-out;
    mask-image: var(--icon-plus);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    -webkit-mask-image: var(--icon-plus);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    background-color: currentColor
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle]:not(.collapsed):after,.navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle]:not(.collapsed):after {
    transform: rotate(45deg)
}

@keyframes fade-in {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fade-out {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes slide-up {
    from {
        transform: translate(0, 10rem)
    }

    to {
        transform: translate(0, 0)
    }
}

@keyframes slide-right {
    from {
        transform: translate(-100%, 0)
    }

    to {
        transform: translate(0, 0)
    }
}

@keyframes slide-right-out {
    from {
        transform: translate(0, 0)
    }

    to {
        transform: translate(-100%, 0)
    }
}

@keyframes slide-down {
    from {
        transform: translate(0, -10rem)
    }

    to {
        transform: translate(0, 0)
    }
}

@keyframes slide-left {
    from {
        transform: translate(100%, 0)
    }

    to {
        transform: translate(0, 0)
    }
}

@keyframes slide-left-out {
    from {
        transform: translate(0, 0)
    }

    to {
        transform: translate(100%, 0)
    }
}

@keyframes draw-in {
    from {
        stroke-dashoffset: calc(var(--pattern-length) - var(--pattern-offset));
        stroke-dasharray: var(--pattern-length)
    }

    to {
        stroke-dashoffset: var(--pattern-offset);
        stroke-dasharray: var(--pattern-length)
    }
}

@keyframes draw-out {
    from {
        stroke-dashoffset: var(--pattern-offset);
        stroke-dasharray: var(--pattern-length)
    }

    to {
        stroke-dashoffset: calc(var(--pattern-length) - var(--pattern-offset));
        stroke-dasharray: var(--pattern-length)
    }
}

@keyframes modal-fade-up {
    from {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 10rem))
    }

    to {
        opacity: 1;
        transform: translateX(-50%) translateY(-50%)
    }
}

@keyframes loading {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

:root {
    --heading-weight: 700;
    --pattern-colour: rgba(223, 227, 230, 0.5);
    --pattern-stroke-sm: 24px;
    --pattern-stroke-default: 32px;
    --pattern-stroke-lg: 28px;
    --pattern-stroke-xl: 26px;
    --icon-minus: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cline x1='18' y1='12' x2='6' y2='12' stroke='%23000000' stroke-width='2px' stroke-linejoin='round' fill='transparent' /%3e%3c/svg%3e");
    --icon-plus: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpath d='M12,6V18m6-6H6' stroke='%23000000' stroke-width='2px' stroke-linejoin='round' fill='transparent' /%3e%3c/svg%3e");
    --icon-chevron-down-white: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpolyline points='6 9 12 15 18 9' stroke='white' stroke-width='2px' stroke-linejoin='round' fill='transparent' /%3e%3c/svg%3e");
    --icon-chevron-down: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpolyline points='6 9 12 15 18 9' stroke='%23000000' stroke-width='2px' stroke-linejoin='round' fill='transparent' /%3e%3c/svg%3e");
    --icon-chevron-right: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpolyline points='9 18 15 12 9 6' stroke='%23000000' stroke-width='2px' stroke-linejoin='round' fill='transparent' /%3e%3c/svg%3e");
    --icon-quote: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpath d='M19,14.91l-.42.18a6.52,6.52,0,0,1-6-.84,10.38,10.38,0,0,1-7.06,6.34l-.25.05L3.39,18.71l.54-.29c1.32-.71,2.66-1.59,2.91-2.89a6.38,6.38,0,0,1,.5-12.74,6.72,6.72,0,0,1,4.56,2,6.71,6.71,0,0,1,4.55-2c3.52,0,6.38,3.27,6.38,7.29,0,5.62-4.19,10-8.1,10.59l-.23,0-1.79-1.78.69-.24A6.06,6.06,0,0,0,15.93,17m-4-12.25.62.68a4.71,4.71,0,0,1,1.2,2.75c0,1.38-.73,2.3-1.82,2.3s-1.83-.95-1.83-2.27a4.77,4.77,0,0,1,1.21-2.78Z' stroke='%23000000' stroke-width='1px' stroke-linejoin='round' fill='transparent' /%3e%3c/svg%3e");
    --icon-tick: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpolyline points='5,13.5 9,17.5 19,6.5' stroke='%23000000' stroke-width='2px' stroke-linejoin='round' fill='transparent' /%3e%3c/svg%3e");
    --personality: var(--personality-2);
    --personality-5: "ss01", "dlig";
    --personality-4: "calt", "dlig";
    --personality-3: "calt";
    --personality-2: "calt" off;
    --personality-1: "dlig","ss18";
    --personality-0: "ss18";
    --max-content-width: 50rem;
    --spacing-md: 3rem;
    --spacing-sm: 2rem;
    --spacing-xs: 1.5rem;
    --box-shadow: 0 0 1rem 0 rgba(116, 116, 116, 0.3);
    --animation-draw-out: var(--pattern-animation-speed, 0.75s) ease-out draw-out forwards;
    --animation-draw-in: var(--pattern-animation-speed, 0.75s) ease-out draw-in forwards;
    --animation-fade-left: 0.6s ease-out fade-in forwards, 0.6s ease-out slide-left forwards;
    --animation-fade-down: 0.6s ease-out fade-in forwards, 0.6s ease-out slide-down forwards;
    --animation-fade-right: 0.6s ease-out fade-in forwards, 0.6s ease-out slide-right forwards;
    --animation-fade-up: 0.6s ease-out fade-in forwards, 0.6s ease-out slide-up forwards;
    --animation-slide-left-out: 0.5s ease-out slide-left-out forwards;
    --animation-slide-left: 0.5s ease-out slide-left forwards;
    --animation-slide-down: 0.5s ease-out slide-down forwards;
    --animation-slide-right-out: 0.5s ease-out slide-right-out forwards;
    --animation-slide-right: 0.5s ease-out slide-right forwards;
    --animation-slide-up: 0.5s ease-out slide-up forwards;
    --animation-fade-out-img: 1.25s ease-out fade-out 0.25s forwards;
    --animation-fade-in-img: 1.25s ease-out fade-in 0.25s forwards;
    --animation-fade-out: 0.6s ease-out fade-out forwards;
    --animation-fade-in: 0.6s ease-out fade-in forwards;
    --font-body: Inter, Helvetica, Arial, sans-serif;
    --font-heading-bold: VirginMoneySansBold, Helvetica, Arial, sans-serif;
    --font-heading: VirginMoneySans, Helvetica, Arial, sans-serif;
    --font-loop-bold: VirginMoneyLoopBold, Helvetica, Arial, sans-serif;
    --font-loop: VirginMoneyLoop, Helvetica, Arial, sans-serif;
    --breakpoint-md: 62em;
    --breakpoint-sm: 36em;
    --breakpoint-xs: 0;
    --colour-alert-warning-highlight: #FF7300;
    --colour-alert-warning: #FFA441;
    --colour-alert-error-highlight: rgba(231, 59, 59, 0.5);
    --colour-alert-error: #E10A0A;
    --colour-alert-success-highlight: #D3E629;
    --colour-alert-success: rgba(211, 230, 41, 0.5);
    --colour-alert-highlight: #DFE3E6;
    --colour-alert: #FAFAFA;
    --colour-success-tint: #FFFF64;
    --colour-faded-white: rgba(255, 255, 255, 0.1);
    --colour-dark-2-tint: #00000B;
    --colour-dark-tint: #33396C;
    --colour-secondary-4-tint: #FFA441;
    --colour-secondary-3-tint: #DC52FF;
    --colour-secondary-2-tint: #A0FFFF;
    --colour-secondary-tint: #9B005B;
    --colour-secondary-light: #FF6DB8;
    --colour-primary-tint: #C20000;
    --colour-primary-light: #E73B3B;
    --colour-accent: #383DFF;
    --colour-heading: #E10A0A;
    --colour-input: #FFFFFF;
    --colour-selected: #E10A0A;
    --colour-active: #C20000;
    --colour-hover-alt: #E73B3B;
    --colour-hover: #E10A0A;
    --colour-focus: #E10A0A;
    --colour-link: #000000;
    --colour-border: #DFE3E6;
    --colour-body: #000000;
    --colour-muted: #6D7173;
    --colour-black: #000000;
    --colour-white: #FFFFFF;
    --colour-dark-2: #1E2332;
    --colour-dark: #051441;
    --colour-light: #FAFAFA;
    --colour-danger: #E10A0A;
    --colour-warning: #FF7300;
    --colour-info: #DFE3E6;
    --colour-success: #D3E629;
    --colour-secondary-4: #FF7300;
    --colour-secondary-3: #A500F5;
    --colour-secondary-2: #69E1E6;
    --colour-secondary: #D03788;
    --colour-primary: #E10A0A;
    --bg-colour: var(--colour-white);
    --spacing-container: var(--spacing-xs);
    --spacing-type: var(--spacing-xs)
}

@media(min-width: 36em) {
    :root {
        --spacing-container: var(--spacing-sm)
    }
}

@media(min-width: 62em) {
    :root {
        --spacing-container: var(--spacing-md)
    }
}

@media(min-width: 62em) {
    :root {
        --spacing-type: var(--spacing-sm)
    }
}

[class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-secondary-3):not(.bg-dark):not(.bg-dark-2) {
    --colour-heading: var(--colour-black)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) {
    --colour-input: transparent;
    --colour-link: #ffffff;
    --colour-hover: #ffffff;
    --colour-focus: #ffffff;
    --colour-heading: #ffffff;
    --colour-body: #ffffff;
    --colour-selected: #ffffff;
    --colour-active: var(--colour-border);
    color: var(--colour-body)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .product-card,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .card {
    --colour-primary: #E10A0A;
    --colour-secondary: #D03788;
    --colour-secondary-2: #69E1E6;
    --colour-secondary-3: #A500F5;
    --colour-secondary-4: #FF7300;
    --colour-success: #D3E629;
    --colour-info: #DFE3E6;
    --colour-warning: #FF7300;
    --colour-danger: #E10A0A;
    --colour-light: #FAFAFA;
    --colour-dark: #051441;
    --colour-dark-2: #1E2332;
    --colour-white: #FFFFFF;
    --colour-black: #000000;
    --colour-muted: #6D7173;
    --colour-body: #000000;
    --colour-border: #DFE3E6;
    --colour-link: #000000;
    --colour-focus: #E10A0A;
    --colour-hover: #E10A0A;
    --colour-hover-alt: #E73B3B;
    --colour-active: #C20000;
    --colour-selected: #E10A0A;
    --colour-input: #FFFFFF;
    --colour-heading: #E10A0A;
    --colour-accent: #383DFF;
    --colour-primary-light: #E73B3B;
    --colour-primary-tint: #C20000;
    --colour-secondary-light: #FF6DB8;
    --colour-secondary-tint: #9B005B;
    --colour-secondary-2-tint: #A0FFFF;
    --colour-secondary-3-tint: #DC52FF;
    --colour-secondary-4-tint: #FFA441;
    --colour-dark-tint: #33396C;
    --colour-dark-2-tint: #00000B;
    --colour-faded-white: rgba(255, 255, 255, 0.1);
    --colour-success-tint: #FFFF64;
    color: var(--colour-body)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .product-card [data-tooltip],[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .card [data-tooltip] {
    background: var(--colour-light) !important
}

*,*::before,*::after {
    box-sizing: border-box
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

article,aside,figcaption,figure,footer,header,hgroup,main,nav,section {
    display: block
}

body {
    margin: 0;
    font-family: Inter,Helvetica,Arial,sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #000;
    text-align: left;
    background-color: #fff
}

[tabindex="-1"]:focus:not(:focus-visible) {
    outline: 0 !important
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

h1,h2,h3,h4,h5,h6,dt {
    margin-top: 0;
    margin-bottom: .5rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

abbr[title],abbr[data-original-title] {
    text-decoration: underline;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0;
    text-decoration-skip-ink: none
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit
}

ol,ul,dl {
    margin-top: 0;
    margin-bottom: 1rem
}

ol ol,ul ul,ol ul,ul ol {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

blockquote {
    margin: 0 0 1rem
}

b,strong {
    font-weight: 900
}

small {
    font-size: 80%
}

sub,sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

a {
    color: #000;
    text-decoration: none;
    background-color: rgba(0,0,0,0)
}

a:hover {
    color: #e10a0a;
    text-decoration: underline
}

a:not([href]) {
    color: inherit;
    text-decoration: none
}

a:not([href]):hover {
    color: inherit;
    text-decoration: none
}

pre,code,kbd,samp {
    font-family: Inter,Helvetica,Arial,sans-serif;
    font-size: 1em
}

pre {
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    -ms-overflow-style: scrollbar
}

figure {
    margin: 0 0 1rem
}

img {
    vertical-align: middle;
    border-style: none
}

svg {
    overflow: hidden;
    vertical-align: middle
}

table {
    border-collapse: collapse
}

caption {
    padding-top: .75rem;
    padding-bottom: .75rem;
    color: #fafafa;
    text-align: left;
    caption-side: bottom
}

th {
    text-align: inherit
}

label {
    display: inline-block;
    margin-bottom: .5rem
}

button {
    border-radius: 0
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color
}

input,button,select,optgroup,textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,input {
    overflow: visible
}

button,select {
    text-transform: none
}

[role=button] {
    cursor: pointer
}

select {
    word-wrap: normal
}

button,[type=button],[type=reset],[type=submit] {
    -webkit-appearance: button
}

button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled) {
    cursor: pointer
}

button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner {
    padding: 0;
    border-style: none
}

input[type=radio],input[type=checkbox] {
    box-sizing: border-box;
    padding: 0
}

textarea {
    overflow: auto;
    resize: vertical
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

legend {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit;
    white-space: normal
}

progress {
    vertical-align: baseline
}

[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: none
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

output {
    display: inline-block
}

summary {
    display: list-item;
    cursor: pointer
}

template {
    display: none
}

[hidden] {
    display: none !important
}

html {
    -webkit-font-smoothing: antialiased;
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: scroll;
    font-size: 4.26667vw
}

@media(min-width: 36em) {
    html {
        font-size:2.08333vw
    }
}

@media(min-width: 62em) {
    html {
        font-size:1.11111vw
    }
}

@media(min-width: 90em) {
    html {
        font-size:100%
    }
}

body {
    font-family: var(--font-body);
    background-color: var(--colour-white);
    color: var(--colour-body);
    width: 100%;
    overflow: hidden
}

address {
    margin: 0
}

button:focus {
    border-radius: initial;
    outline: 2px auto -webkit-focus-ring-color
}

.brand {
    display: inline-block;
    font-size: 0;
    vertical-align: inherit;
    color: var(--colour-primary);
    display: inline-block;
    position: relative;
    font-size: 0;
    padding: 0.5rem;
    min-height: 3rem;
    min-width: 10.875rem
}

.brand svg {
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
    min-height: 2rem;
    min-width: 9.875rem;
    fill: var(--colour-primary);
    stroke: none !important
}

.brand svg circle {
    fill: var(--colour-white)
}

@media(min-width: 36em) {
    .brand {
        min-height:3.5rem;
        min-width: 13.375rem
    }

    .brand svg {
        min-height: 2.5rem;
        min-width: 12.375rem
    }
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .brand:before {
    background: var(--colour-primary)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .brand svg {
    fill: var(--colour-white)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .brand svg circle {
    fill: var(--colour-primary)
}

.brand--stacked {
    min-height: 5.5rem;
    min-width: 6.1875rem;
    padding-top: 0.5625rem;
    padding-bottom: 0.5625rem
}

.brand--stacked svg {
    min-height: 4.375rem;
    min-width: 5.1875rem
}

@media(min-width: 36em) {
    .brand--stacked {
        min-height:6.5rem;
        min-width: 7.4375rem;
        padding-top: 0.625rem;
        padding-bottom: 0.625rem
    }

    .brand--stacked svg {
        min-height: 5.375rem;
        min-width: 6.4375rem
    }
}

.brand--digital {
    min-height: 3.75rem;
    min-width: 3.5rem
}

.brand--digital svg {
    min-height: 2.75rem;
    min-width: 4.8125rem
}

a.brand:hover,a.brand:focus,a.brand:active,a.brand:hover:active,a.brand:focus:active {
    color: var(--colour-primary) !important;
    text-decoration: none !important
}

@font-face {
    font-family: VirginMoneySans;
    url(../fonts/VirginMoneySans-Light.woff) format("woff");
    font-weight: 200;
    font-display: swap
}

@font-face {
    font-family: VirginMoneySans;
    src: url(../fonts/VirginMoneySans-Regular.woff) format("woff");
    font-display: swap
}

@font-face {
    font-family: VirginMoneySans;
    src: url(../fonts/VirginMoneySans-Medium.woff) format("woff");
    font-weight: 700;
    font-display: swap
}

@font-face {
    font-family: VirginMoneySansBold;
    src: url(../fonts/VirginMoneySans-Bold.woff) format("woff");
    font-weight: 900;
    font-display: swap
}

@font-face {
    font-family: VirginMoneyLoop;
    src: url(../fonts/VMLoop2024-Light.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: VirginMoneyLoop;
    src: url(../fonts/VMLoop2024-Regular.woff) format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: VirginMoneyLoopBold;
    src: url(../fonts/VMLoop2024-Heavy.woff) format("woff");
    font-weight: 900;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "Inter";
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/Inter-Medium.woff) format("woff")
}

.personality-0 {
    --personality: var(--personality-0)
}

.personality-1 {
    --personality: var(--personality-1)
}

.personality-2 {
    --personality: var(--personality-2)
}

.personality-3 {
    --personality: var(--personality-3)
}

.personality-4 {
    --personality: var(--personality-4)
}

.personality-5 {
    --personality: var(--personality-5)
}


.svg__wrapper {
    --svg-stroke-width: 2px;
    --svg-size: 1.5rem;
    vertical-align: middle;
    display: inline-block
}

.svg__wrapper svg {
    width: var(--svg-size);
    height: var(--svg-size);
    fill: none;
    stroke: var(--colour-primary);
    stroke: currentColor;
    stroke-width: 2px;
    stroke-width: var(--svg-stroke-width);
    stroke-linejoin: round
}

.svg__wrapper svg+svg {
    display: none !important
}

.svg__wrapper--alt svg:first-of-type {
    display: none !important
}

.svg__wrapper--alt svg:first-of-type+svg {
    display: block !important
}

.svg__wrapper--lg {
    --svg-stroke-width: 1px;
    --svg-size: 3rem
}

.svg__wrapper--lg svg {
    width: var(--svg-size);
    height: var(--svg-size)
}

.svg__wrapper--xl {
    --svg-stroke-width: 1.5px;
    --svg-size: 6rem
}

.svg__wrapper--xl svg {
    width: var(--svg-size);
    height: var(--svg-size)
}

p .svg__wrapper,ul .svg__wrapper,ol .svg__wrapper,dd .svg__wrapper,.body .svg__wrapper,td .svg__wrapper {
    vertical-align: text-bottom;
    display: inline-block;
    margin-right: .4em
}

p .svg__wrapper svg,ul .svg__wrapper svg,ol .svg__wrapper svg,dd .svg__wrapper svg,.body .svg__wrapper svg,td .svg__wrapper svg {
    width: 1em;
    height: 1em
}

p .svg__wrapper--lg svg,ul .svg__wrapper--lg svg,ol .svg__wrapper--lg svg,dd .svg__wrapper--lg svg,.body .svg__wrapper--lg svg,td .svg__wrapper--lg svg {
    width: 1.5rem;
    height: 1.5rem
}

.contains-svg {
    padding-left: 1.4em;
    position: relative
}

.contains-svg .svg__wrapper {
    position: absolute;
    top: 0;
    left: 0;
    margin-top: -0.1em
}

.container {
    width: 100%;
    padding-right: .5rem;
    padding-left: .5rem;
    margin-right: auto;
    margin-left: auto
}

@media(min-width: 36em) {
    .container {
        max-width:0
    }
}

@media(min-width: 62em) {
    .container {
        max-width:80em
    }
}

.container-fluid,.container-md,.container-sm {
    width: 100%;
    padding-right: .5rem;
    padding-left: .5rem;
    margin-right: auto;
    margin-left: auto
}

@media(min-width: 36em) {
    .container-sm,.container {
        max-width:0
    }
}

@media(min-width: 62em) {
    .container-md,.container-sm,.container {
        max-width:80em
    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -0.5rem;
    margin-left: -0.5rem
}

.no-gutters {
    margin-right: 0;
    margin-left: 0
}

.no-gutters&gt;.col,.no-gutters&gt;[class*=col-] {
    padding-right: 0;
    padding-left: 0
}

.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1 {
    position: relative;
    width: 100%;
    padding-right: .5rem;
    padding-left: .5rem
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%
}

.row-cols-1&gt;* {
    flex: 0 0 100%;
    max-width: 100%
}

.row-cols-2&gt;* {
    flex: 0 0 50%;
    max-width: 50%
}

.row-cols-3&gt;* {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%
}

.row-cols-4&gt;* {
    flex: 0 0 25%;
    max-width: 25%
}

.row-cols-5&gt;* {
    flex: 0 0 20%;
    max-width: 20%
}

.row-cols-6&gt;* {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
}

.col-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%
}

.col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%
}

.col-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%
}

.col-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%
}

.col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%
}

.col-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%
}

.col-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%
}

.col-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%
}

.order-first {
    order: -1
}

.order-last {
    order: 13
}

.order-0 {
    order: 0
}

.order-1 {
    order: 1
}

.order-2 {
    order: 2
}

.order-3 {
    order: 3
}

.order-4 {
    order: 4
}

.order-5 {
    order: 5
}

.order-6 {
    order: 6
}

.order-7 {
    order: 7
}

.order-8 {
    order: 8
}

.order-9 {
    order: 9
}

.order-10 {
    order: 10
}

.order-11 {
    order: 11
}

.order-12 {
    order: 12
}

.offset-1 {
    margin-left: 8.3333333333%
}

.offset-2 {
    margin-left: 16.6666666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.3333333333%
}

.offset-5 {
    margin-left: 41.6666666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.3333333333%
}

.offset-8 {
    margin-left: 66.6666666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.3333333333%
}

.offset-11 {
    margin-left: 91.6666666667%
}

@media(min-width: 36em) {
    .col-sm {
        flex-basis:0;
        flex-grow: 1;
        max-width: 100%
    }

    .row-cols-sm-1&gt;* {
        flex: 0 0 100%;
        max-width: 100%
    }

    .row-cols-sm-2&gt;* {
        flex: 0 0 50%;
        max-width: 50%
    }

    .row-cols-sm-3&gt;* {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .row-cols-sm-4&gt;* {
        flex: 0 0 25%;
        max-width: 25%
    }

    .row-cols-sm-5&gt;* {
        flex: 0 0 20%;
        max-width: 20%
    }

    .row-cols-sm-6&gt;* {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }

    .col-sm-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%
    }

    .col-sm-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-sm-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .col-sm-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-sm-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%
    }

    .col-sm-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%
    }

    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-sm-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%
    }

    .col-sm-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-sm-first {
        order: -1
    }

    .order-sm-last {
        order: 13
    }

    .order-sm-0 {
        order: 0
    }

    .order-sm-1 {
        order: 1
    }

    .order-sm-2 {
        order: 2
    }

    .order-sm-3 {
        order: 3
    }

    .order-sm-4 {
        order: 4
    }

    .order-sm-5 {
        order: 5
    }

    .order-sm-6 {
        order: 6
    }

    .order-sm-7 {
        order: 7
    }

    .order-sm-8 {
        order: 8
    }

    .order-sm-9 {
        order: 9
    }

    .order-sm-10 {
        order: 10
    }

    .order-sm-11 {
        order: 11
    }

    .order-sm-12 {
        order: 12
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.3333333333%
    }

    .offset-sm-2 {
        margin-left: 16.6666666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.3333333333%
    }

    .offset-sm-5 {
        margin-left: 41.6666666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.3333333333%
    }

    .offset-sm-8 {
        margin-left: 66.6666666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.3333333333%
    }

    .offset-sm-11 {
        margin-left: 91.6666666667%
    }
}

@media(min-width: 62em) {
    .col-md {
        flex-basis:0;
        flex-grow: 1;
        max-width: 100%
    }

    .row-cols-md-1&gt;* {
        flex: 0 0 100%;
        max-width: 100%
    }

    .row-cols-md-2&gt;* {
        flex: 0 0 50%;
        max-width: 50%
    }

    .row-cols-md-3&gt;* {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .row-cols-md-4&gt;* {
        flex: 0 0 25%;
        max-width: 25%
    }

    .row-cols-md-5&gt;* {
        flex: 0 0 20%;
        max-width: 20%
    }

    .row-cols-md-6&gt;* {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }

    .col-md-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%
    }

    .col-md-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-md-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .col-md-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-md-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%
    }

    .col-md-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-md-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%
    }

    .col-md-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-md-first {
        order: -1
    }

    .order-md-last {
        order: 13
    }

    .order-md-0 {
        order: 0
    }

    .order-md-1 {
        order: 1
    }

    .order-md-2 {
        order: 2
    }

    .order-md-3 {
        order: 3
    }

    .order-md-4 {
        order: 4
    }

    .order-md-5 {
        order: 5
    }

    .order-md-6 {
        order: 6
    }

    .order-md-7 {
        order: 7
    }

    .order-md-8 {
        order: 8
    }

    .order-md-9 {
        order: 9
    }

    .order-md-10 {
        order: 10
    }

    .order-md-11 {
        order: 11
    }

    .order-md-12 {
        order: 12
    }

    .offset-md-0 {
        margin-left: 0
    }

    .offset-md-1 {
        margin-left: 8.3333333333%
    }

    .offset-md-2 {
        margin-left: 16.6666666667%
    }

    .offset-md-3 {
        margin-left: 25%
    }

    .offset-md-4 {
        margin-left: 33.3333333333%
    }

    .offset-md-5 {
        margin-left: 41.6666666667%
    }

    .offset-md-6 {
        margin-left: 50%
    }

    .offset-md-7 {
        margin-left: 58.3333333333%
    }

    .offset-md-8 {
        margin-left: 66.6666666667%
    }

    .offset-md-9 {
        margin-left: 75%
    }

    .offset-md-10 {
        margin-left: 83.3333333333%
    }

    .offset-md-11 {
        margin-left: 91.6666666667%
    }
}

#content.col-md-8&gt;.container:not(:first-child) {
    padding-top: 0
}

#content.col-md-8&gt;.container:not(:last-child) {
    padding-bottom: 0
}

#content.col-md-8&gt;.container:last-child {
    margin-bottom: 0
}

#content.col-md-8&gt;.container--statement {
    margin-bottom: 3rem
}

@media(min-width: 62em) {
    #content.col-md-8&gt;.container--breakout {
        margin-left:-7.5rem;
        width: 90rem
    }
}

.bg-light:not(.content-list)+.bg-light:not(.bg-light-important) {
    background-color: var(--colour-white) !important;
    --bg-colour: var(--colour-white)
}

.bg-light.container--deck:not(.content-list)+.bg-light.container--deck {
    background-color: var(--colour-light) !important;
    --bg-colour: var(--colour-light)
}

#content:not([class*=col]) {
    z-index: 1;
    position: relative
}

#content:not([class*=col])&gt;*:not([class*=bg-]):not(.container--split):not(.tabs__container--carousel):last-child {
    padding-bottom: 4rem
}

@media(min-width: 36em) {
    #content:not([class*=col])&gt;*:not([class*=bg-]):not(.container--split):not(.tabs__container--carousel):last-child {
        padding-bottom:5rem
    }
}

@media(min-width: 62em) {
    #content:not([class*=col])&gt;*:not([class*=bg-]):not(.container--split):not(.tabs__container--carousel):last-child {
        padding-bottom:7rem
    }
}

#content:not([class*=col])&gt;.bg-dark-2:last-child {
    margin-bottom: 4rem
}

@media(min-width: 62em) {
    #content:not([class*=col])&gt;.bg-dark-2:last-child {
        margin-bottom:5rem
    }
}

.container.bg-dark-2+footer {
    margin-top: 4rem
}

@media(min-width: 62em) {
    .container.bg-dark-2+footer {
        margin-top:5rem
    }
}

@media(min-width: 62em) {
    .container-md+footer {
        margin-top:3rem
    }
}

#content&gt;.container:not(.container--split):not([class*=bg-])+.container:not([class*=bg-]) {
    padding-top: 0
}

article&gt;.banner--split.pattern--connect-bottom .pattern__inner svg {
    margin-top: -15.5rem;
    margin-left: -3rem
}

article&gt;.banner+.container.pattern {
    z-index: -1
}

article&gt;.banner+.container.pattern .pattern__inner {
    min-height: 40rem
}

article&gt;.banner+.container.pattern .pattern__inner svg {
    margin-top: -15.5rem;
    margin-left: -3rem
}

article&gt;.list-social__container {
    z-index: 1
}

article&gt;.container:not(.container--split):not([class*=bg-])+.container:not([class*=bg-]) {
    padding-top: 0;
    padding-bottom: 0;
    position: relative
}

article&gt;.container:first-child+.container.pattern {
    padding-bottom: 0
}

article&gt;.container:first-child+.container.pattern .pattern__inner {
    display: none
}

article&gt;.container:first-child~.list-social__container {
    display: none
}

@media(min-width: 36em) {
    article&gt;.container:not([class*=bg-]):not(.container--split):not(.tabs__container--carousel):last-child {
        padding-bottom:1rem !important
    }
}

@media(min-width: 62em) {
    article&gt;.banner--split.pattern--connect-bottom .pattern__inner svg {
        margin-top:-10rem
    }

    article&gt;.banner+.container.pattern .pattern__inner svg {
        left: 25%;
        margin-top: -10rem
    }

    article&gt;.list-social__container {
        position: relative;
        z-index: 2
    }

    article&gt;.list-social__container .list-social {
        position: absolute;
        top: 100%;
        left: 7.5rem
    }

    article&gt;.container:not(.container--default):not(.container--split):not([class*=bg-]) {
        padding-left: 20rem;
        padding-right: 20rem
    }

    article&gt;.container:not([class*=bg-]):not(.container--split):not(.tabs__container--carousel):last-child {
        padding-bottom: 2rem !important
    }
}

p,ul,ol,dd,.body,td {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    line-height: 1.5rem;
    max-width: 50rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
    padding-bottom: 3rem;
    max-width: var(--max-content-width);
    font-family: var(--font-body);
    font-weight: 400
}

p+p {
    margin-top: -1rem
}

strong,.strong {
    font-weight: 900
}

.lead,.list--featured&gt;li {
    font-weight: bold;
    font-size: 1.125rem;
    line-height: 1.75rem
}

.small,.caveat {
    font-size: 0.875rem;
    line-height: 1.5rem;
    padding-bottom: 3rem;
    font-family: var(--font-body);
    font-weight: 400
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .small,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .caveat {
    color: inherit
}

.small+.small,.caveat+.caveat {
    margin-top: -1.5rem
}

.text-center p,.text-center ul,.text-center ol,.text-center dd,.text-center .body,.text-center td {
    margin-left: auto;
    margin-right: auto
}

.text-center h1,.text-center h2,.text-center h3,.text-center h4,.text-center h5,.text-center h6,.text-center dt {
    margin-left: auto;
    margin-right: auto
}

@media(min-width: 36em) {
    .text-sm-center p,.text-sm-center ul,.text-sm-center ol,.text-sm-center dd,.text-sm-center .body,.text-sm-center td {
        margin-left:auto;
        margin-right: auto
    }

    .text-sm-center h1,.text-sm-center h2,.text-sm-center h3,.text-sm-center h4,.text-sm-center h5,.text-sm-center h6,.text-sm-center dt {
        margin-left: auto;
        margin-right: auto
    }

    .text-sm-left p,.text-sm-left ul,.text-sm-left ol,.text-sm-left dd,.text-sm-left .body,.text-sm-left td {
        margin-left: 0
    }

    .text-sm-left h1,.text-sm-left h2,.text-sm-left h3,.text-sm-left h4,.text-sm-left h5,.text-sm-left h6,.text-sm-left dt {
        margin-left: 0
    }
}

@media(min-width: 62em) {
    .text-md-center p,.text-md-center ul,.text-md-center ol,.text-md-center dd,.text-md-center .body,.text-md-center td {
        margin-left:auto;
        margin-right: auto
    }

    .text-md-center h1,.text-md-center h2,.text-md-center h3,.text-md-center h4,.text-md-center h5,.text-md-center h6,.text-md-center dt {
        margin-left: auto;
        margin-right: auto
    }

    .text-md-left p,.text-md-left ul,.text-md-left ol,.text-md-left dd,.text-md-left .body,.text-md-left td {
        margin-left: 0;
        margin-right: auto
    }

    .text-md-left h1,.text-md-left h2,.text-md-left h3,.text-md-left h4,.text-md-left h5,.text-md-left h6,.text-md-left dt {
        margin-left: 0;
        margin-right: auto
    }
}

blockquote {
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border);
    position: relative;
    color: var(--colour-primary)
}

blockquote&gt;* {
    color: var(--colour-body)
}

blockquote:before {
    content: "";
    height: 3rem;
    width: 3rem;
    display: block;
    margin-bottom: 0.5rem;
    background-color: currentColor;
    mask-image: var(--icon-quote);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    -webkit-mask-image: var(--icon-quote);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0
}

blockquote p {
    font-size: 1.375rem;
    line-height: 2rem;
    padding-bottom: 2rem;
    letter-spacing: -0.2px;
    font-family: var(--font-heading)
}

blockquote p:first-child():before {
    content: open-quote
}

blockquote p:nth-last-child(2):after {
    content: close-quote
}

blockquote cite {
    font-weight: bold;
    font-style: normal;
    font-size: 1rem;
    line-height: 1.5rem;
    padding-bottom: 2rem
}

@media(min-width: 36em) {
    blockquote cite {
        font-size:1.125rem
    }
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) blockquote:before {
    background-color: var(--colour-body) !important
}

@media(min-width: 36em) {
    blockquote:before {
        height:4rem;
        width: 4rem;
        margin-bottom: 1rem
    }

    blockquote p {
        font-size: 1.75rem;
        line-height: 2.25rem
    }

    blockquote cite {
        font-size: 1.125rem
    }
}

blockquote:not(.blockquote--top) {
    padding-left: 4rem
}

@media(min-width: 36em) {
    blockquote:not(.blockquote--top) {
        padding-left:5.5rem
    }
}

blockquote:not(.blockquote--top):before {
    position: absolute;
    top: 0;
    left: 0
}

blockquote:not(.border-0) {
    margin-bottom: 3rem;
    padding-top: 2rem
}

blockquote:not(.border-0):before {
    top: 2rem
}

h2,.h2,h1,.h1 {
    font-feature-settings: var(--personality)
}

h2 *,.h2 *,h1 *,.h1 * {
    font-feature-settings: var(--personality)
}

h6,dt,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1,blockquote cite {
    clear: both;
    font-weight: var(--heading-weight);
    font-family: var(--font-heading);
    margin-bottom: 0;
    width: 100%;
    display: block;
    max-width: 50rem
}

h6 strong,dt strong,.h6 strong,h5 strong,.h5 strong,h4 strong,.h4 strong,h3 strong,.h3 strong,h2 strong,.h2 strong,h1 strong,.h1 strong,blockquote cite strong,h6 .strong,dt .strong,.h6 .strong,h5 .strong,.h5 .strong,h4 .strong,.h4 .strong,h3 .strong,.h3 .strong,h2 .strong,.h2 .strong,h1 .strong,.h1 .strong,blockquote cite .strong,h6 b,dt b,.h6 b,h5 b,.h5 b,h4 b,.h4 b,h3 b,.h3 b,h2 b,.h2 b,h1 b,.h1 b,blockquote cite b {
    font-weight: inherit
}

h6.stronger,dt.stronger,.stronger.h6,h5.stronger,.stronger.h5,h4.stronger,.stronger.h4,h3.stronger,.stronger.h3,h2.stronger,.stronger.h2,h1.stronger,.stronger.h1,blockquote cite.stronger {
    font-family: var(--font-heading-bold)
}

h1,.h1 {
    font-family: var(--font-loop);
    color: var(--colour-heading);
    font-size: 3rem;
    line-height: 3.5rem;
    padding-bottom: 3rem;
    letter-spacing: -0.75px;
    max-width: 100%
}

h1 [aria-hidden=true],.h1 [aria-hidden=true] {
    display: inherit !important
}

@media(min-width: 36em) {
    h1,.h1 {
        font-size:4rem;
        line-height: 4.5rem;
        padding-bottom: 4rem;
        letter-spacing: -1px
    }
}

h2,.h2 {
    font-family: var(--font-loop);
    color: var(--colour-heading);
    font-size: 2.25rem;
    letter-spacing: -0.75px;
    line-height: 2.75rem;
    padding-bottom: 2.5rem;
    max-width: 100%
}

@media(min-width: 36em) {
    h2,.h2 {
        font-size:3rem;
        line-height: 3.5rem;
        padding-bottom: 3rem
    }
}

h3,.h3 {
    font-size: 1.75rem;
    letter-spacing: -0.25px;
    line-height: 2.25rem;
    padding-bottom: 2.5rem;
    color: inherit
}

@media(min-width: 36em) {
    h3,.h3 {
        font-size:2rem;
        letter-spacing: -0.5px;
        line-height: 2.5rem;
        padding-bottom: 2.5rem
    }
}

h4,.h4 {
    font-size: 1.5rem;
    letter-spacing: -0.25px;
    line-height: 2rem;
    padding-bottom: 2rem;
    color: inherit
}

h5,.h5 {
    font-size: 1.25rem;
    letter-spacing: 0px;
    line-height: 1.75rem;
    padding-bottom: 2rem;
    color: inherit
}

@media(min-width: 36em) {
    h5,.h5 {
        letter-spacing:-0.25px
    }
}

h6,dt,.h6 {
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.5rem;
    padding-bottom: 1.5rem;
    color: inherit
}

@media(min-width: 36em) {
    h6,dt,.h6 {
        font-size:1.125rem
    }
}

abbr {
    text-decoration: none !important;
    font-feature-settings: "ss18" !important;
    text-transform: uppercase
}

@media(min-width: 62em) {
    .display-1 {
        font-size:6rem;
        letter-spacing: -2px;
        line-height: 7rem;
        font-family: var(--font-loop);
        padding-bottom: 4rem;
        max-width: 100%;
        font-feature-settings: var(--personality)
    }

    .display-1.stronger {
        font-family: var(--font-loop-bold)
    }

    .display-1 * {
        font-feature-settings: var(--personality)
    }

    .display-2 {
        font-size: 5rem;
        letter-spacing: -1.5px;
        line-height: 5.5rem;
        font-family: var(--font-loop);
        padding-bottom: 4rem;
        max-width: 100%;
        font-feature-settings: var(--personality)
    }

    .display-2.stronger {
        font-family: var(--font-loop-bold)
    }

    .display-2 * {
        font-feature-settings: var(--personality)
    }

    .display-3 {
        font-size: 4.5rem;
        letter-spacing: -1.5px;
        line-height: 5rem;
        font-family: var(--font-loop);
        padding-bottom: 4rem;
        max-width: 100%;
        font-feature-settings: var(--personality)
    }

    .display-3.stronger {
        font-family: var(--font-loop-bold)
    }

    .display-3 * {
        font-feature-settings: var(--personality)
    }

    .display-4 {
        font-size: 4rem;
        letter-spacing: -1px;
        line-height: 4.5rem;
        font-family: var(--font-loop);
        padding-bottom: 4rem;
        max-width: 100%
    }

    .display-4.stronger {
        font-family: var(--font-loop-bold)
    }
}

.display-2.h2-mobile-only {
    font-size: 2.25rem;
    line-height: 2.75rem;
    padding-bottom: 2.5rem;
    letter-spacing: -0.75px
}

@media(min-width: 36em) {
    .display-2.h2-mobile-only {
        font-size:4rem;
        line-height: 4.5rem;
        padding-bottom: 4rem;
        letter-spacing: -1px
    }
}

@media(min-width: 62em) {
    .display-2.h2-mobile-only {
        font-size:5rem;
        letter-spacing: -1.5px;
        line-height: 5.5rem;
        padding-bottom: 4rem
    }
}

.strapline {
    font-family: var(--font-heading);
    font-weight: 400;
    color: var(--colour-dark-2);
    margin-top: -1rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    padding-bottom: 2.5rem
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .strapline {
    color: inherit
}

h1+.strapline,.h1+.strapline,.strapline.strapline--h1 {
    font-size: 1.375rem;
    line-height: 2rem;
    padding-bottom: 3rem
}

@media(min-width: 36em) {
    .strapline {
        font-size:1.3125rem;
        letter-spacing: -0.25px;
        line-height: 1.75rem;
        padding-bottom: 3rem
    }

    h1+.strapline,.h1+.strapline,.strapline.strapline--h1 {
        margin-top: -2rem;
        font-size: 1.5rem;
        letter-spacing: -0.25px;
        line-height: 1.75rem;
        padding-bottom: 4rem
    }
}

@media(min-width: 62em) {
    .display-1+.strapline,.display-2+.strapline,.display-3+.strapline,.display-4+.strapline {
        font-size:1.75rem;
        line-height: 2.25rem
    }

    .strapline.strapline--display {
        font-size: 1.75rem;
        line-height: 2.25rem
    }
}

.heading-reversed .h3+.strapline {
    font-weight: var(--heading-weight);
    font-size: 3rem;
    line-height: 3.5rem;
    padding-bottom: 3rem;
    letter-spacing: -0.75px;
    margin-top: -2rem;
    font-family: var(--font-loop);
    font-feature-settings: var(--personality)
}

@media(min-width: 36em) {
    .heading-reversed .h3+.strapline {
        font-size:4rem;
        line-height: 4.5rem;
        padding-bottom: 4rem;
        letter-spacing: -1px
    }
}

@media(min-width: 62em) {
    .heading-reversed .h3+.strapline {
        font-size:5rem;
        letter-spacing: -1.5px;
        line-height: 5.5rem;
        padding-bottom: 4rem;
        max-width: 100%
    }

    .heading-reversed .h3+.strapline * {
        font-feature-settings: var(--personality)
    }
}

.numeric {
    color: inherit;
    font-family: var(--font-heading)
}

.numeric:not(h6):not(dt):not(.h6) .suffix {
    font-size: .75em
}

hr,.hr {
    margin-bottom: 3rem;
    border: 0;
    color: var(--colour-black);
    border-bottom: 1px solid currentColor;
    opacity: .2
}

hr:after,.hr:after {
    display: table;
    clear: both;
    content: ""
}

hr.hr--thick,.hr.hr--thick {
    border-bottom: 2px solid currentColor
}

hr.hr--clear,.hr.hr--clear {
    margin: 0;
    border-bottom: none
}

ol,ul {
    list-style: none;
    padding-left: 0;
    padding-bottom: 2rem
}

li {
    list-style: none;
    position: relative;
    line-height: inherit;
    padding-left: 0;
    padding-bottom: 2rem
}

li ol,li ul {
    padding-top: 2rem;
    padding-bottom: 0
}

ul li {
    padding-left: 2rem
}

ul li[class*=col-] {
    padding-left: 2rem
}

ul li:before {
    content: "•";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    color: inherit
}

ul li ul {
    padding-bottom: 0
}

ul li ul li:last-child {
    padding-bottom: 0
}

ul li ul li:before {
    color: var(--colour-muted)
}

ol {
    counter-reset: ol
}

ol&gt;li {
    padding-left: 2rem
}

ol&gt;li:before {
    counter-increment: ol;
    content: counter(ol) ". ";
    position: absolute;
    top: 0;
    left: 0;
    min-width: 2rem;
    font-weight: bold;
    display: inline-block;
    font-family: var(--font-heading)
}

ol&gt;li ol {
    counter-reset: ol_level2;
    padding-bottom: 0
}

ol&gt;li ol&gt;li:last-child {
    padding-bottom: 0
}

ol&gt;li ol&gt;li {
    padding-left: 2em
}

ol&gt;li ol&gt;li:before {
    counter-increment: ol_level2;
    content: counter(ol) "." counter(ol_level2) ". "
}

ol&gt;li ol&gt;li ol {
    counter-reset: ol_level3
}

ol&gt;li ol&gt;li ol&gt;li {
    padding-left: 2.5em
}

ol&gt;li ol&gt;li ol&gt;li:before {
    counter-increment: ol_level3;
    content: counter(ol) "." counter(ol_level2) "." counter(ol_level3) ". "
}

dt {
    margin-bottom: 0;
    padding-bottom: 0.5rem
}

dd {
    padding-bottom: 4rem
}

.tick-list&gt;li {
    list-style: none
}

.tick-list&gt;li:before {
    content: "";
    height: 1.5rem;
    width: 1.5rem;
    display: block;
    padding: 0;
    background-color: var(--colour-primary);
    mask-image: var(--icon-tick);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    -webkit-mask-image: var(--icon-tick);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0
}

[class*=bg-] .tick-list&gt;li:before {
    background-color: currentColor
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .tick-list&gt;li:before {
    background-color: currentColor
}

.tick-list.list--featured&gt;li {
    padding-left: 3rem
}

.tick-list.list--featured&gt;li:before {
    height: 2rem;
    width: 2rem
}

ol.decorative&gt;li {
    min-height: 2rem;
    padding-left: 3rem;
    padding-top: 0.25rem
}

ol.decorative&gt;li:before {
    color: var(--colour-primary);
    content: counter(ol);
    width: 2rem;
    height: 2rem;
    line-height: 1.875rem;
    border: 1px solid currentColor;
    border-radius: 1rem;
    text-align: center;
    padding: 0
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) ol.decorative&gt;li:before {
    color: var(--colour-white)
}

.list--featured {
    padding-bottom: 2rem;
    padding-top: 2rem
}

.list--featured:not([class*=list-columns]):not([class*=row]) {
    border-top: 1px solid rgba(0,0,0,.1)
}

.list--featured&gt;li {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid rgba(0,0,0,.1)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .list--featured {
    border-color: currentColor
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .list--featured&gt;li {
    border-color: currentColor
}

.list--featured-icons&gt;li {
    padding-right: 3.5rem
}

.list--featured-icons&gt;li&gt;.svg__wrapper {
    position: absolute;
    top: 0;
    right: 0;
    width: 3rem;
    height: 3rem;
    margin-right: 0
}

.list--featured-icons&gt;li&gt;.svg__wrapper svg {
    width: 100%;
    height: 100%
}

@media(min-width: 62em) {
    .list--featured-icons&gt;li {
        padding-right:7rem
    }

    .list--featured-icons&gt;li&gt;.svg__wrapper {
        width: 5rem;
        height: 5rem
    }
}

ul.list--featured:not(.tick-list):not(.show-bullets)&gt;li {
    padding-left: 0
}

ul.list--featured:not(.tick-list):not(.show-bullets)&gt;li:before {
    display: none
}

.list-bespoke {
    counter-reset: bespoke
}

.list-bespoke li {
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: row
}

.list-bespoke li:before {
    display: none
}

.list__counter {
    counter-increment: bespoke;
    flex-grow: 0;
    flex-shrink: 0;
    display: inline-block;
    width: calc(1em + 1rem);
    color: currentColor
}

.list__counter:before {
    content: counter(bespoke) ". "
}

.list__content {
    flex-grow: 1;
    flex-shrink: 1
}

.list-unstyled&gt;li,.list-nav&gt;li,.list-links&gt;li {
    padding-left: 0;
    padding-bottom: 0
}

.list-unstyled&gt;li:before,.list-nav&gt;li:before,.list-links&gt;li:before {
    display: none
}

.list-collapsed&gt;li {
    padding-bottom: 0
}

[class*=list-columns] {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem
}

[class*=list-columns]&gt;li {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid-column
}

[class*=list-columns].list-links&gt;li:first-child&gt;a {
    border-top: 0
}

[class*=list-columns].list-links&gt;li:first-child&gt;a {
    border-top: 0
}

ul:not(.tick-list)[class*=list-columns]&gt;li,ol:not(.tick-list):not(.decorative)[class*=list-columns]&gt;li {
    padding-left: 0
}

ul:not(.tick-list)[class*=list-columns]&gt;li:before,ol:not(.tick-list):not(.decorative)[class*=list-columns]&gt;li:before {
    display: none
}

.list-columns-2 {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2
}

@media(min-width: 36em) {
    .list-columns-sm-1 {
        -webkit-column-count:1;
        -moz-column-count: 1;
        column-count: 1;
        max-width: var(--max-content-width)
    }

    .list-columns-sm-2 {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        max-width: 100%
    }
}

@media(min-width: 62em) {
    [class*=list-columns] {
        -webkit-column-gap:2rem;
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }

    .list-columns-md-1 {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
        max-width: var(--max-content-width)
    }

    .list-columns-md-2 {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        max-width: 100%
    }

    .list-columns-md-3 {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
        max-width: 100%
    }
}

a {
    color: var(--colour-link);
    cursor: pointer;
    text-decoration: none
}

a:hover,a:focus,a:active {
    cursor: pointer;
    text-decoration: none
}

a:hover,a:active {
    outline: none
}

a:hover:not(:active),a:focus:not(:active) {
    color: var(--colour-hover);
    text-decoration: underline
}

a:active {
    color: var(--colour-active);
    text-decoration: underline
}

a.selected,.js-enabled a[data-toggle=collapse]:not(.collapsed) {
    color: var(--colour-selected)
}

a[data-icon] .svg__wrapper,a.data-icon .svg__wrapper {
    vertical-align: top
}

a .svg__wrapper {
    margin-left: 0.25rem
}

a .svg__wrapper svg {
    stroke: currentColor;
    height: 1rem;
    width: 1rem
}

a[data-icon-left] .svg__wrapper,a.data-icon-left .svg__wrapper {
    margin-left: 0;
    margin-right: 0.25rem
}

p a,p a:focus,p a:hover,p a:active,p.selected,ul a,ul a:focus,ul a:hover,ul a:active,ul.selected,ol a,ol a:focus,ol a:hover,ol a:active,ol.selected,dd a,dd a:focus,dd a:hover,dd a:active,dd.selected,.body a,.body a:focus,.body a:hover,.body a:active,.body.selected,td a,td a:focus,td a:hover,td a:active,td.selected {
    text-decoration: underline;
    font-weight: 900
}

p a:hover,ul a:hover,ol a:hover,dd a:hover,.body a:hover,td a:hover {
    color: var(--colour-hover)
}

p a:focus,ul a:focus,ol a:focus,dd a:focus,.body a:focus,td a:focus {
    color: var(--colour-focus)
}

p a:active,ul a:active,ol a:active,dd a:active,.body a:active,td a:active {
    color: var(--colour-active)
}

p.selected,ul.selected,ol.selected,dd.selected,.body.selected,td.selected {
    color: var(--colour-selected)
}

p a[data-icon],p a.data-icon,ul a[data-icon],ul a.data-icon,ol a[data-icon],ol a.data-icon,dd a[data-icon],dd a.data-icon,.body a[data-icon],.body a.data-icon,td a[data-icon],td a.data-icon {
    text-decoration: none
}

p a[data-icon]:focus,p a[data-icon]:hover,p a[data-icon]:active,p a[data-icon].selcted,p a.data-icon:focus,p a.data-icon:hover,p a.data-icon:active,p a.data-icon.selcted,ul a[data-icon]:focus,ul a[data-icon]:hover,ul a[data-icon]:active,ul a[data-icon].selcted,ul a.data-icon:focus,ul a.data-icon:hover,ul a.data-icon:active,ul a.data-icon.selcted,ol a[data-icon]:focus,ol a[data-icon]:hover,ol a[data-icon]:active,ol a[data-icon].selcted,ol a.data-icon:focus,ol a.data-icon:hover,ol a.data-icon:active,ol a.data-icon.selcted,dd a[data-icon]:focus,dd a[data-icon]:hover,dd a[data-icon]:active,dd a[data-icon].selcted,dd a.data-icon:focus,dd a.data-icon:hover,dd a.data-icon:active,dd a.data-icon.selcted,.body a[data-icon]:focus,.body a[data-icon]:hover,.body a[data-icon]:active,.body a[data-icon].selcted,.body a.data-icon:focus,.body a.data-icon:hover,.body a.data-icon:active,.body a.data-icon.selcted,td a[data-icon]:focus,td a[data-icon]:hover,td a[data-icon]:active,td a[data-icon].selcted,td a.data-icon:focus,td a.data-icon:hover,td a.data-icon:active,td a.data-icon.selcted {
    text-decoration: underline
}

p a .svg__wrapper,ul a .svg__wrapper,ol a .svg__wrapper,dd a .svg__wrapper,.body a .svg__wrapper,td a .svg__wrapper {
    display: inline-block
}

p a .svg__wrapper svg,ul a .svg__wrapper svg,ol a .svg__wrapper svg,dd a .svg__wrapper svg,.body a .svg__wrapper svg,td a .svg__wrapper svg {
    height: 1em;
    width: 1em;
    vertical-align: baseline;
    display: inline-block;
    margin-right: .1em;
    margin-bottom: -0.2em;
    stroke: currentColor
}

p a .svg__wrapper--large svg,ul a .svg__wrapper--large svg,ol a .svg__wrapper--large svg,dd a .svg__wrapper--large svg,.body a .svg__wrapper--large svg,td a .svg__wrapper--large svg {
    height: 1.5em;
    width: 1.5em;
    margin-top: -0.25em;
    margin-bottom: -0.4em;
    margin-right: .2em
}

p a[disabled],ul a[disabled],ol a[disabled],dd a[disabled],.body a[disabled],td a[disabled] {
    opacity: .4;
    pointer-events: none
}

p a[data-icon],p a.data-icon {
    text-decoration: underline
}

p a .svg__wrapper {
    display: none !important
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.img-thumbnail {
    padding: .25rem;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    max-width: 100%;
    height: auto
}

.figure {
    display: inline-block
}

.figure-img {
    margin-bottom: .5rem;
    line-height: 1
}

.figure-caption {
    font-size: 90%;
    color: #6c757d
}

img {
    max-width: 100%;
    margin-bottom: var(--spacing-type)
}

figure {
    margin-bottom: var(--spacing-type)
}

figure img {
    margin-bottom: 0
}

figure figcaption {
    font-size: 0.875rem;
    line-height: 1.5rem;
    padding-bottom: 0;
    padding-top: 1rem;
    font-family: var(--font-body);
    color: var(--colour-muted);
    font-weight: 400
}

.figure--caption-overlay {
    position: relative
}

.figure--caption-overlay:before {
    content: "";
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8) 100%)
}

.figure--caption-overlay figcaption {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem;
    color: var(--colour-white)
}

.img--rounded {
    border-radius: 50%;
    overflow: hidden
}

.img--square,.img--portrait {
    width: 100%;
    padding-top: 100%;
    position: relative
}

.img--square img,.img--portrait img {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.img--square:not(.figure--caption-overlay) figcaption,.img--portrait:not(.figure--caption-overlay) figcaption {
    display: none
}

.img--portrait {
    padding-top: 133.33334%
}

.youtube-embed {
    display: block;
    width: 100%;
    margin-bottom: var(--spacing-type);
    position: relative
}

.youtube-embed .youtube-embed__inner {
    display: block;
    width: 100%;
    padding-top: 56.25%;
    position: relative;
    overflow: hidden;
    outline: none !important
}

.youtube-embed a,.youtube-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.youtube-embed img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1
}

.youtube-embed__btn {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    background: rgba(30,35,50,.75)
}

.youtube-embed__btn .svg__wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 4rem;
    width: 4rem;
    margin: 0;
    transform: translate(-50%, -50%)
}

.youtube-embed__btn .svg__wrapper svg {
    stroke: #fff;
    stroke-width: .75px;
    height: 100%;
    width: 100%
}

@media(min-width: 36em) {
    .youtube-embed__btn {
        width:10rem;
        height: 10rem
    }

    .youtube-embed__btn .svg__wrapper {
        height: 8rem;
        width: 8rem
    }

    .youtube-embed__btn .svg__wrapper svg {
        stroke-width: .5px
    }
}

a:hover .youtube-embed__btn,a:focus .youtube-embed__btn {
    border-color: var(--colour-primary);
    background: var(--colour-primary)
}

a:active .youtube-embed__btn {
    border-color: var(--colour-active);
    background: var(--colour-active)
}

.youtube-embed-wrapper {
    padding: 0 !important;
    top: 0;
    left: 0
}

.youtube-embed-wrapper .youtube-embed {
    height: 100%;
    top: 0 !important;
    left: 0 !important;
    position: absolute !important;
    transform: none !important
}

.youtube-embed-wrapper .youtube-embed img {
    position: relative;
    transform: none;
    top: 0;
    left: 0
}

.youtube-embed-wrapper .youtube-embed .youtube-embed__inner {
    height: 100%;
    position: absolute
}

@media(min-width: 36em) {
    .youtube-embed-wrapper .youtube-embed .youtube-embed__inner .svg__wrapper {
        height:3rem;
        width: 3rem;
        margin-top: 0rem;
        margin-left: 0
    }
}

@media(min-width: 62em) {
    .youtube-embed-wrapper .youtube-embed .youtube-embed__inner&gt;a&gt;img {
        width:auto;
        height: 100%
    }
}

.youtube-embed-wrapper .youtube-embed .youtube-embed__btn .svg__wrapper {
    height: 6rem;
    width: 6rem;
    margin-left: 0
}

.modal__inner .youtube-embed {
    max-width: 100%
}

.playlist {
    width: 100%;
    max-width: 20rem;
    height: 24.375rem;
    margin-bottom: var(--spacing-type)
}

@media(min-width: 36em) {
    .playlist {
        max-width:30.625rem;
        height: 35.625rem
    }
}

.playlist iframe {
    width: 100%;
    height: 100%
}

.loading {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px
}

.loading div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 64px;
    height: 64px;
    margin: 8px;
    border: 8px solid var(--colour-muted);
    border-radius: 50%;
    animation: loading 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: var(--colour-muted) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
}

.loading div:nth-child(1) {
    animation-delay: -0.45s
}

.loading div:nth-child(2) {
    animation-delay: -0.3s
}

.loading div:nth-child(3) {
    animation-delay: -0.15s
}

.badge {
    background: var(--colour-primary);
    font-family: var(--font-body);
    color: var(--colour-black);
    font-weight: bold;
    padding: 0.625rem 0.75rem;
    font-size: 0.625rem;
    line-height: 1em;
    text-transform: uppercase;
    vertical-align: middle;
    display: inline-block;
    margin-bottom: 1rem
}

.badge:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.product-card--accordion-title .badge) {
    color: var(--colour-white)
}

@media(min-width: 36em) {
    .badge:not(.badge--small) {
        font-size:0.75rem;
        padding: 0.75rem 1rem
    }
}

.btn,.list-links&gt;li&gt;a {
    display: inline-block;
    text-align: inherit;
    vertical-align: middle;
    user-select: none;
    text-decoration: none;
    width: auto;
    position: relative;
    border: 1px solid rgba(0,0,0,0);
    border-radius: 0rem;
    cursor: pointer;
    transition: none;
    box-shadow: none !important;
    white-space: normal;
    font-family: var(--font-heading);
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.5rem;
    padding: 0.75rem 1.5rem;
    margin-bottom: 3rem
}

.btn:hover:not(:active),.list-links&gt;li&gt;a:hover:not(:active),.btn:focus:not(:active),.list-links&gt;li&gt;a:focus:not(:active),.btn:active,.list-links&gt;li&gt;a:active {
    text-decoration: none;
    box-shadow: none
}

.btn[disabled],.list-links&gt;li&gt;a[disabled] {
    pointer-events: none;
    cursor: auto;
    opacity: .4
}

@media(min-width: 36em) {
    .btn,.list-links&gt;li&gt;a {
        font-size:1.125rem;
        padding: 1.25rem 2rem;
        margin-bottom: 4rem
    }
}

.btn-primary,.btn-secondary,.btn-tertiary {
    color: var(--btn-colour);
    background: var(--btn-bg);
    border-color: var(--btn-border)
}

.btn-primary:hover:not(:active),.btn-primary:focus:not(:active),.btn-secondary:hover:not(:active),.btn-secondary:focus:not(:active),.btn-tertiary:hover:not(:active),.btn-tertiary:focus:not(:active) {
    color: var(--btn-colour-hover);
    background: var(--btn-bg-hover);
    border-color: var(--btn-border-hover)
}

.btn-primary:active,.js-enabled .btn-primary[data-toggle=collapse]:not(.collapsed),.btn-primary.active,.btn-secondary:active,.js-enabled .btn-secondary[data-toggle=collapse]:not(.collapsed),.btn-secondary.active,.btn-tertiary:active,.js-enabled .btn-tertiary[data-toggle=collapse]:not(.collapsed),.btn-tertiary.active {
    color: var(--btn-colour-active);
    background: var(--btn-bg-active);
    border-color: var(--btn-border-active)
}

.btn-primary {
    --btn-colour: var(--colour-white);
    --btn-bg: var(--colour-primary);
    --btn-border: var(--colour-primary);
    --btn-colour-hover: var(--colour-white);
    --btn-bg-hover: var(--colour-primary-light);
    --btn-border-hover: var(--colour-primary-light);
    --btn-colour-active: var(--colour-white);
    --btn-bg-active: var(--colour-primary-tint);
    --btn-border-active: var(--colour-primary-tint)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white):not(.container--cta):not(.container--product-cards) .btn-primary {
    --btn-colour: var(--colour-primary);
    --btn-bg: var(--colour-white);
    --btn-border: var(--colour-white);
    --btn-colour-hover: var(--colour-primary-tint);
    --btn-bg-hover: var(--colour-light);
    --btn-border-hover: var(--colour-light);
    --btn-colour-active: var(--colour-black);
    --btn-bg-active: var(--colour-border);
    --btn-border-active: var(--colour-border)
}

.btn-primary.btn-invert {
    color: var(--colour-body);
    --btn-colour: var(--colour-primary);
    --btn-bg: var(--colour-white);
    --btn-border: var(--colour-white);
    --btn-colour-hover: var(--colour-primary-tint);
    --btn-bg-hover: var(--colour-light);
    --btn-border-hover: var(--colour-light);
    --btn-colour-active: var(--colour-black);
    --btn-bg-active: var(--colour-border);
    --btn-border-active: var(--colour-border)
}

.btn-secondary {
    --btn-colour: var(--colour-primary);
    --btn-bg: rgba(0,0,0,0);
    --btn-border: currentColor;
    --btn-colour-hover: var(--colour-white);
    --btn-bg-hover: var(--colour-primary);
    --btn-border-hover: var(--colour-primary);
    --btn-colour-active: var(--colour-white);
    --btn-bg-active: var(--colour-primary-tint);
    --btn-border-active: var(--colour-primary-tint)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white):not(.container--product-cards) .btn-secondary {
    border-width: 2px;
    --btn-colour: var(--colour-white);
    --btn-bg: rgba(0,0,0,0);
    --btn-border: var(--colour-white);
    --btn-colour-hover: var(--colour-black);
    --btn-bg-hover: var(--colour-white);
    --btn-border-hover: var(--colour-white);
    --btn-colour-active: var(--colour-black);
    --btn-bg-active: var(--colour-border);
    --btn-border-active: var(--colour-border)
}

.btn-secondary.btn-invert {
    border-width: 2px;
    --btn-colour: var(--colour-white);
    --btn-bg: rgba(0,0,0,0);
    --btn-border: var(--colour-white);
    --btn-colour-hover: var(--colour-black);
    --btn-bg-hover: var(--colour-white);
    --btn-border-hover: var(--colour-white);
    --btn-colour-active: var(--colour-black);
    --btn-bg-active: var(--colour-border);
    --btn-border-active: var(--colour-border)
}

.btn-tertiary {
    --btn-colour: var(--colour-muted);
    --btn-bg: rgba(0,0,0,0);
    --btn-border: currentColor;
    --btn-colour-hover: var(--colour-white);
    --btn-bg-hover: var(--colour-muted);
    --btn-border-hover: var(--colour-muted);
    --btn-colour-active: var(--colour-white);
    --btn-bg-active: var(--colour-dark-2-tint);
    --btn-border-active: var(--colour-dark-2-tint)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white):not(.container--product-cards) .btn-tertiary {
    border-width: 2px;
    --btn-colour: var(--colour-white);
    --btn-bg: rgba(0,0,0,0);
    --btn-border: var(--colour-white);
    --btn-colour-hover: var(--colour-black);
    --btn-bg-hover: var(--colour-light);
    --btn-border-hover: var(--colour-light);
    --btn-colour-active: var(--colour-black);
    --btn-bg-active: var(--colour-border);
    --btn-border-active: var(--colour-border)
}

.btn-tertiary.btn-invert {
    border-width: 2px;
    --btn-colour: var(--colour-white);
    --btn-bg: rgba(0,0,0,0);
    --btn-border: var(--colour-white);
    --btn-colour-hover: var(--colour-black);
    --btn-bg-hover: var(--colour-light);
    --btn-border-hover: var(--colour-light);
    --btn-colour-active: var(--colour-black);
    --btn-bg-active: var(--colour-border);
    --btn-border-active: var(--colour-border)
}

.btn-link {
    background: none;
    padding-left: 0;
    padding-right: 0;
    background: none !important;
    text-align: inherit;
    color: var(--colour-body);
    border: none;
    padding: 0 0 0.25rem 0;
    margin: 0 0 2rem 0;
    min-height: 1.75rem;
    text-decoration: underline;
    text-underline-offset: .4rem
}

.btn-link:hover:not(:active),.btn-link:focus:not(:active),.btn-link:active {
    text-decoration: underline;
    text-underline-offset: .4rem
}

p&gt;.btn-link {
    display: inline
}

p&gt;.btn-link:not(.border-0):after {
    display: none
}

.btn-link:not(.border-0):after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 0;
    width: 100%
}

@media(min-width: 36em) {
    .btn-link {
        font-size:1rem;
        padding: 0 0 0.25rem 0;
        margin: 0 0 2rem 0;
        min-height: 1.75rem
    }
}

.btn-link:hover:not(:active):not(.border-0):after,.btn-link:focus:not(:active):not(.border-0):after,.btn-link:active:not(.border-0):after {
    text-decoration: underline;
    text-underline-offset: .4rem
}

.btn-link[data-toggle=collapse]:not([data-icon]) {
    text-align: left;
    position: relative;
    padding-left: 2rem;
    z-index: 1
}

.btn-link[data-toggle=collapse]:not([data-icon]):after {
    left: 2rem;
    width: calc(100% - 2rem)
}

.btn-link[data-toggle=collapse]:not([data-icon]):before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 1.5rem;
    width: 1.5rem;
    transition: transform .35s;
    mask-image: var(--icon-plus);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    -webkit-mask-image: var(--icon-plus);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    background-color: currentColor
}

.btn-link[data-toggle=collapse]:not([data-icon]):not(.collapsed):before {
    transform: rotate(45deg);
    transform-origin: 50% 50%
}

.btn-link[data-toggle=collapse]:not([data-icon])+.collapse,.btn-link[data-toggle=collapse]:not([data-icon])+.collapsing {
    margin-bottom: 1.5rem;
    padding-left: 2rem;
    margin-top: -1rem
}

.btn-link[data-toggle=collapse][data-icon-right] {
    padding-left: 0;
    padding-right: 2rem
}

.btn-link[data-toggle=collapse][data-icon-right]:before {
    left: auto;
    right: 0
}

.btn-link[data-toggle=collapse][data-icon-right]:after {
    left: 0
}

p+.btn-link {
    margin-top: -1rem
}

.btn-link+p {
    margin-top: 1rem
}

.list-links&gt;li&gt;a {
    padding: 1.5rem 0;
    margin: 0;
    width: 100%;
    min-height: 100%;
    min-width: auto;
    border: none;
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border)
}

@media(min-width: 36em) {
    .list-links&gt;li&gt;a {
        font-size:1rem;
        padding: 1.5rem 0;
        margin: 0
    }
}

.list-links&gt;li&gt;a:hover:not(:active),.list-links&gt;li&gt;a:focus:not(:active),.list-links&gt;li&gt;a:active,.js-enabled .list-links&gt;li&gt;a[data-toggle=collapse]:not(.collapsed) {
    text-decoration: underline;
    border-color: var(--colour-border)
}

.list-links&gt;li:first-child&gt;a {
    border-top: 1px solid currentColor;
    border-color: var(--colour-border)
}

.list-links&gt;li&gt;span~a {
    margin-bottom: 2rem;
    border-top: 1px solid currentColor;
    border-color: var(--colour-border)
}

@media(min-width: 36em) {
    .list-links[class*=list-columns-sm]&gt;li:first-child&gt;a {
        border-top:none
    }
}

.btn .svg__wrapper,.list-links&gt;li&gt;a .svg__wrapper {
    display: inline-block;
    height: 1rem;
    width: 1rem;
    padding-left: 0;
    margin-left: -0.5rem;
    margin-right: 1rem;
    margin-top: 0.25rem;
    vertical-align: top
}

.btn .svg__wrapper svg,.list-links&gt;li&gt;a .svg__wrapper svg {
    height: 100%;
    width: 100%;
    display: block
}

@media(min-width: 36em) {
    .btn .svg__wrapper,.list-links&gt;li&gt;a .svg__wrapper {
        height:1.5rem;
        width: 1.5rem;
        margin-top: 0;
        margin-left: -0.75rem
    }
}

.btn.btn--icon-right .svg__wrapper,.list-links&gt;li&gt;a.btn--icon-right .svg__wrapper {
    margin-left: 1rem;
    margin-right: -0.5rem
}

@media(min-width: 36em) {
    .btn.btn--icon-right .svg__wrapper,.list-links&gt;li&gt;a.btn--icon-right .svg__wrapper {
        margin-left:1rem;
        margin-right: -0.75rem
    }
}

.list-links&gt;li&gt;a[data-icon]:not([data-icon-right]):not(.btn--icon-right) {
    padding-left: 1.5rem
}

.list-links&gt;li&gt;a[data-icon]:not([data-icon-right]):not(.btn--icon-right) .svg__wrapper {
    margin-left: -1.5rem
}

@media(min-width: 36em) {
    .list-links&gt;li&gt;a[data-icon]:not([data-icon-right]):not(.btn--icon-right) {
        padding-left:2rem
    }

    .list-links&gt;li&gt;a[data-icon]:not([data-icon-right]):not(.btn--icon-right) .svg__wrapper {
        margin-left: -2rem
    }
}

.list-links&gt;li&gt;a .svg__wrapper {
    margin-left: 0;
    margin-right: 0.5rem
}

.list-links&gt;li&gt;a[data-icon-right] .svg__wrapper,.list-links&gt;li&gt;a.btn--icon-right .svg__wrapper {
    margin-right: 0;
    margin-left: 0.5rem
}

.btn-link .svg__wrapper {
    margin-left: 0;
    background: var(--bg-colour);
    height: 1.625rem;
    width: 1.5rem;
    padding-bottom: 0.625rem;
    margin-bottom: -0.625rem;
    margin-right: 0;
    padding-right: 0.5rem;
    z-index: 1;
    position: relative
}

@media(min-width: 36em) {
    .btn-link .svg__wrapper {
        height:2.125rem;
        width: 2rem
    }
}

.btn-link.btn--icon-right .svg__wrapper {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0.5rem;
    padding-right: 0
}

.btn-group:not(.btn-group--inline) {
    padding-bottom: 1rem
}

.btn-group:not(.btn-group--inline) .btn:not(.btn-link),.btn-group:not(.btn-group--inline) .list-links&gt;li&gt;a:not(.btn-link) {
    display: block;
    width: 100%;
    margin-bottom: 1rem;
    text-align: center
}

@media(min-width: 36em) {
    .btn-group:not(.btn-group--inline) {
        display:inline-flex;
        flex-wrap: wrap;
        width: calc(100% + 1rem);
        margin-left: -0.5rem;
        margin-right: -0.5rem;
        padding-bottom: 2rem
    }

    .btn-group:not(.btn-group--inline) .btn,.btn-group:not(.btn-group--inline) .list-links&gt;li&gt;a {
        order: 1;
        width: auto !important;
        margin-left: 0.5rem;
        margin-right: 0.5rem
    }

    .btn-group:not(.btn-group--inline) .btn-primary {
        order: 3
    }

    .btn-group:not(.btn-group--inline) .btn-secondary {
        order: 2
    }
}

.btn-group--inline {
    padding-bottom: 2rem
}

@media(min-width: 36em) {
    .btn-group--inline {
        padding-bottom:2.5rem
    }
}

@media(min-width: 62em) {
    .btn-group--inline {
        padding-bottom:3.5rem
    }
}

.btn-group--inline .btn:not(.btn-link),.btn-group--inline .list-links&gt;li&gt;a:not(.btn-link) {
    margin-bottom: 0.5rem;
    margin-right: 0.25rem
}

.btn-badge {
    padding: 0;
    margin-right: .5rem;
    background-repeat: no-repeat;
    background-position: 0 0;
    border: none;
    border-radius: 0;
    background-size: contain;
    text-indent: -100vw;
    height: 40px;
    overflow: hidden
}

.btn-badge.btn-badge--apple-store {
    width: 120px;
    background-image: url(../images/apple-store.svg)
}

.btn-badge.btn-badge--apple-pay {
    width: 61px;
    background-image: url(../images/apple-pay.svg)
}

.btn-badge.btn-badge--google-play {
    width: 133px;
    background-image: url(../images/google-play.png)
}

.btn-badge.btn-badge--google-pay {
    width: 63px;
    background-image: url(../images/google-pay.png)
}

.btn__meta {
    display: block;
    font-weight: normal
}

a:not(:hover):not(:focus):not(:active) .btn__meta {
    color: var(--colour-muted)
}

.btn-icon-only {
    padding: 1rem;
    color: var(--colour-white);
    background: var(--colour-dark)
}

.btn-icon-only:hover:not(:active) {
    color: var(--colour-white);
    background: var(--colour-dark-tint)
}

.btn-icon-only:active {
    color: var(--colour-white);
    background: var(--colour-dark)
}

.btn-icon-only .svg__wrapper {
    margin: 0;
    vertical-align: middle;
    width: 2rem;
    height: 2rem
}

.pattern {
    position: relative;
    z-index: 1
}

.pattern__inner {
    --pattern-scale: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    height: 100%;
    width: 100%;
    pointer-events: none;
    overflow: hidden;
    margin: 0 !important
}

.pattern__inner svg {
    fill: none;
    stroke: var(--pattern-colour);
    position: absolute;
    height: 10rem;
    width: 50rem;
    stroke-width: var(--pattern-stroke-default);
    top: 50%;
    left: 50%;
    z-index: -1;
    transform: translate(-50%, -50%);
    transform-origin: 50% 50%;
    display: block;
    overflow: visible
}

@media(min-width: 36em) {
    .pattern__inner svg {
        height:15rem;
        width: 75rem
    }
}

@media(min-width: 62em) {
    .pattern__inner svg {
        height:20rem;
        width: 100rem
    }
}

[class*=bg-]:not(.bg-primary) .pattern__inner svg {
    opacity: .5
}

.pattern--xs .pattern__inner svg {
    height: 3rem;
    width: 15rem;
    stroke-width: var(--pattern-stroke-sm)
}

@media(min-width: 36em) {
    .pattern--xs .pattern__inner svg {
        height:4.5rem;
        width: 22.5rem
    }
}

@media(min-width: 62em) {
    .pattern--xs .pattern__inner svg {
        height:6rem;
        width: 30rem
    }
}

.pattern--sm .pattern__inner svg {
    height: 5rem;
    width: 25rem;
    stroke-width: var(--pattern-stroke-sm)
}

@media(min-width: 36em) {
    .pattern--sm .pattern__inner svg {
        height:7.5rem;
        width: 37.5rem
    }
}

@media(min-width: 62em) {
    .pattern--sm .pattern__inner svg {
        height:10rem;
        width: 50rem
    }
}

.pattern--lg .pattern__inner {
    --pattern-scale: 2
}

.pattern--lg .pattern__inner svg {
    height: 20rem;
    width: 100rem;
    stroke-width: var(--pattern-stroke-lg)
}

@media(min-width: 36em) {
    .pattern--lg .pattern__inner svg {
        height:30rem;
        width: 150rem
    }
}

@media(min-width: 62em) {
    .pattern--lg .pattern__inner svg {
        height:40rem;
        width: 200rem
    }
}

.pattern--xl .pattern__inner {
    --pattern-scale: 2.5
}

.pattern--xl .pattern__inner svg {
    height: 25rem;
    width: 125rem;
    stroke-width: var(--pattern-stroke-xl)
}

@media(min-width: 36em) {
    .pattern--xl .pattern__inner svg {
        height:37.5rem;
        width: 187.5rem
    }
}

@media(min-width: 62em) {
    .pattern--xl .pattern__inner svg {
        height:50rem;
        width: 250rem
    }
}

.pattern--xxl .pattern__inner {
    --pattern-scale: 3
}

.pattern--xxl .pattern__inner svg {
    height: 30rem;
    width: 150rem;
    stroke-width: var(--pattern-stroke-xl)
}

@media(min-width: 36em) {
    .pattern--xxl .pattern__inner svg {
        height:45rem;
        width: 225rem
    }
}

@media(min-width: 62em) {
    .pattern--xxl .pattern__inner svg {
        height:60rem;
        width: 300rem
    }
}

.pattern--top .pattern__inner svg {
    top: 0;
    transform: translate(-50%, 0%)
}

.pattern--bottom .pattern__inner svg {
    top: 100%;
    transform: translate(-50%, -100%)
}

.pattern--left .pattern__inner svg {
    left: 20%
}

.pattern--right .pattern__inner svg {
    left: 85%
}

.pattern--connect-top .pattern__inner svg {
    top: 0
}

.pattern--connect-bottom .pattern__inner svg {
    top: 100%
}

.pattern--connect-left .pattern__inner svg {
    left: 0
}

.pattern--connect-right .pattern__inner svg {
    left: 100%
}

.pattern--vertical .pattern__inner svg {
    transform: translate(-50%, -50%) rotate(90deg)
}

.pattern--diagonal-left .pattern__inner svg {
    transform: translate(-50%, -50%) rotate(45deg)
}

.pattern--diagonal-right .pattern__inner svg {
    transform: translate(-50%, -50%) rotate(-45deg);
    transform-origin: 50% 50%
}

.pattern--push-up .pattern__inner svg {
    margin-top: -6.25rem
}

.pattern--push-left .pattern__inner svg {
    left: 25%
}

@media(min-width: 62em) {
    .pattern--md-push-left .pattern__inner svg {
        left:25%
    }
}

.pattern[class*=col-] {
    z-index: 3
}

.bg-primary {
    --pattern-colour: var(--colour-primary-tint)
}

.bg-primary .pattern__inner svg {
    opacity: 1 !important
}

.bg-secondary {
    --pattern-colour: var(--colour-secondary-tint)
}

.bg-secondary-2 {
    --pattern-colour: var(--colour-secondary-2-tint)
}

.bg-secondary-3 {
    --pattern-colour: var(--colour-secondary-3-tint)
}

.bg-dark {
    --pattern-colour: var(--colour-dark-tint)
}

.bg-dark-2 {
    --pattern-colour: var(--colour-dark-2-tint)
}

.stroke-primary .pattern__inner svg {
    stroke: var(--colour-primary);
    opacity: 1 !important
}

.stroke-secondary .pattern__inner svg {
    stroke: var(--colour-secondary);
    opacity: 1 !important
}

.stroke-secondary-2 .pattern__inner svg {
    stroke: var(--colour-secondary-2);
    opacity: 1 !important
}

.stroke-secondary-3 .pattern__inner svg {
    stroke: var(--colour-secondary-3);
    opacity: 1 !important
}

.stroke-secondary-4 .pattern__inner svg {
    stroke: var(--colour-secondary-4);
    opacity: 1 !important
}

.stroke-success .pattern__inner svg {
    stroke: var(--colour-success);
    opacity: 1 !important
}

.stroke-info .pattern__inner svg {
    stroke: var(--colour-info);
    opacity: 1 !important
}

.stroke-warning .pattern__inner svg {
    stroke: var(--colour-warning);
    opacity: 1 !important
}

.stroke-danger .pattern__inner svg {
    stroke: var(--colour-danger);
    opacity: 1 !important
}

.stroke-light .pattern__inner svg {
    stroke: var(--colour-light);
    opacity: 1 !important
}

.stroke-dark .pattern__inner svg {
    stroke: var(--colour-dark);
    opacity: 1 !important
}

.stroke-dark-2 .pattern__inner svg {
    stroke: var(--colour-dark-2);
    opacity: 1 !important
}

.stroke-white .pattern__inner svg {
    stroke: var(--colour-white);
    opacity: 1 !important
}

.stroke-black .pattern__inner svg {
    stroke: var(--colour-black);
    opacity: 1 !important
}

.stroke-muted .pattern__inner svg {
    stroke: var(--colour-muted)
}

.stroke-body .pattern__inner svg {
    stroke: var(--colour-body)
}

.stroke-border .pattern__inner svg {
    stroke: var(--colour-border)
}

.stroke-link .pattern__inner svg {
    stroke: var(--colour-link)
}

.stroke-focus .pattern__inner svg {
    stroke: var(--colour-focus)
}

.stroke-hover .pattern__inner svg {
    stroke: var(--colour-hover)
}

.stroke-hover-alt .pattern__inner svg {
    stroke: var(--colour-hover-alt)
}

.stroke-active .pattern__inner svg {
    stroke: var(--colour-active)
}

.stroke-selected .pattern__inner svg {
    stroke: var(--colour-selected)
}

.stroke-input .pattern__inner svg {
    stroke: var(--colour-input)
}

.stroke-heading .pattern__inner svg {
    stroke: var(--colour-heading)
}

.stroke-accent .pattern__inner svg {
    stroke: var(--colour-accent)
}

.stroke-primary-light .pattern__inner svg {
    stroke: var(--colour-primary-light)
}

.stroke-primary-tint .pattern__inner svg {
    stroke: var(--colour-primary-tint)
}

.stroke-secondary-light .pattern__inner svg {
    stroke: var(--colour-secondary-light)
}

.stroke-secondary-tint .pattern__inner svg {
    stroke: var(--colour-secondary-tint)
}

.stroke-secondary-2-tint .pattern__inner svg {
    stroke: var(--colour-secondary-2-tint)
}

.stroke-secondary-3-tint .pattern__inner svg {
    stroke: var(--colour-secondary-3-tint)
}

.stroke-secondary-4-tint .pattern__inner svg {
    stroke: var(--colour-secondary-4-tint)
}

.stroke-dark-tint .pattern__inner svg {
    stroke: var(--colour-dark-tint)
}

.stroke-dark-2-tint .pattern__inner svg {
    stroke: var(--colour-dark-2-tint)
}

.stroke-faded-white .pattern__inner svg {
    stroke: var(--colour-faded-white)
}

.stroke-success-tint .pattern__inner svg {
    stroke: var(--colour-success-tint)
}

.stroke-opaque .pattern__inner svg {
    opacity: 1 !important
}

.theme--business {
    --colour-dark: #1E2332;
    --colour-dark-tint: #00000B;
    --colour-secondary: #D3E629;
    --colour-secondary-tint: #FFFF64;
    --colour-secondary-2: #1E2332;
    --colour-secondary-2-tint: #00000B;
    --pattern-stroke-sm: 18px;
    --pattern-stroke-default: 24px;
    --pattern-stroke-lg: 21px;
    --pattern-stroke-xl: 20px;
    --heading-weight: 400
}

.theme--business .bg-dark[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) {
    --colour-heading: var(--colour-secondary);
    --pattern-colour: var(--colour-dark-tint)
}

.theme--business .bg-secondary[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) {
    --colour-heading: #1E2332;
    --colour-body: #000000;
    --colour-link: #000000;
    --colour-selected: #E10A0A;
    --colour-active: #C20000;
    --colour-hover: #E10A0A;
    --colour-focus: #E10A0A
}

.theme--business .bg-secondary[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .pattern__inner svg {
    opacity: .5
}

.theme--business .bg-secondary[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white):not(.container--cta):not(.container--product-cards) .btn-primary {
    --btn-colour: var(--colour-white);
    --btn-bg: var(--colour-primary);
    --btn-border: var(--colour-primary);
    --btn-colour-hover: var(--colour-white);
    --btn-bg-hover: var(--colour-primary-light);
    --btn-border-hover: var(--colour-primary-light);
    --btn-colour-active: var(--colour-white);
    --btn-bg-active: var(--colour-primary-tint);
    --btn-border-active: var(--colour-primary-tint)
}

.theme--business .bg-secondary[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white):not(.container--cta):not(.container--product-cards) .btn-secondary {
    --btn-colour: var(--colour-primary);
    --btn-bg: var(--bg-colour);
    --btn-border: var(--colour-primary);
    --btn-colour-hover: var(--colour-white);
    --btn-bg-hover: var(--colour-primary);
    --btn-border-hover: var(--colour-primary);
    --btn-colour-active: var(--colour-white);
    --btn-bg-active: var(--colour-primary-tint);
    --btn-border-active: var(--colour-primary-tint);
    border-width: 1px
}

.theme--business .bg-secondary[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white):not(.container--cta):not(.container--product-cards) .btn-tertiary {
    --btn-colour: var(--colour-muted);
    --btn-bg: var(--bg-colour);
    --btn-border: var(--colour-muted);
    --btn-colour-hover: var(--colour-white);
    --btn-bg-hover: var(--colour-muted);
    --btn-border-hover: var(--colour-muted);
    --btn-colour-active: var(--colour-white);
    --btn-bg-active: var(--colour-dark-2-tint);
    --btn-border-active: var(--colour-dark-2-tint);
    border-width: 1px
}

.theme--business .bg-secondary-2[class*=bg-][class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-dark):not(.bg-dark-2):not(.container--product-cards),.theme--business .bg-dark[class*=bg-][class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-dark-2):not(.bg-secondary-2):not(.container--product-cards),.theme--business .bg-dark-2[class*=bg-][class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-dark):not(.bg-secondary-2):not(.container--product-cards) {
    --colour-heading: var(--colour-secondary);
    --colour-body: #FFFFFF;
    color: var(--colour-body)
}

.theme--business .bg-secondary-2[class*=bg-][class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-dark):not(.bg-dark-2):not(.container--product-cards):not(footer):not([class*=stroke-]) .pattern__inner svg,.theme--business .bg-dark[class*=bg-][class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-dark-2):not(.bg-secondary-2):not(.container--product-cards):not(footer):not([class*=stroke-]) .pattern__inner svg,.theme--business .bg-dark-2[class*=bg-][class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-dark):not(.bg-secondary-2):not(.container--product-cards):not(footer):not([class*=stroke-]) .pattern__inner svg {
    stroke: var(--colour-dark-2-tint) !important;
    opacity: .5
}

.theme--business .bg-secondary-2[class*=bg-][class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-dark):not(.bg-dark-2):not(.container--product-cards) .btn-secondary[data-toggle],.theme--business .bg-dark[class*=bg-][class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-dark-2):not(.bg-secondary-2):not(.container--product-cards) .btn-secondary[data-toggle],.theme--business .bg-dark-2[class*=bg-][class*=bg-]:not(.bg-primary):not(.bg-secondary):not(.bg-dark):not(.bg-secondary-2):not(.container--product-cards) .btn-secondary[data-toggle] {
    --btn-colour-active: var(--colour-black);
    --btn-bg-active: var(--colour-secondary);
    --btn-border-active: var(--colour-secondary)
}

.theme--giving {
    --colour-secondary: #C8F5F5
}

.theme--giving .bg-secondary[class*=bg-][class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) {
    --colour-heading: #E10A0A;
    --colour-body: #000000;
    --colour-link: #000000;
    --colour-selected: #E10A0A;
    --colour-active: #C20000;
    --colour-hover: #E10A0A;
    --colour-focus: #E10A0A
}

.theme--giving .bg-secondary[class*=bg-][class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .btn-primary {
    --btn-colour: var(--colour-white);
    --btn-bg: var(--colour-primary);
    --btn-border: var(--colour-primary);
    --btn-colour-hover: var(--colour-white);
    --btn-bg-hover: var(--colour-primary-light);
    --btn-border-hover: var(--colour-primary-light);
    --btn-colour-active: var(--colour-white);
    --btn-bg-active: var(--colour-primary-tint);
    --btn-border-active: var(--colour-primary-tint)
}

.theme--giving .bg-secondary[class*=bg-][class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .btn-secondary {
    --btn-colour: var(--colour-primary);
    --btn-bg: var(--bg-colour);
    --btn-border: var(--colour-primary);
    --btn-colour-hover: var(--colour-white);
    --btn-bg-hover: var(--colour-primary);
    --btn-border-hover: var(--colour-primary);
    --btn-colour-active: var(--colour-white);
    --btn-bg-active: var(--colour-primary-tint);
    --btn-border-active: var(--colour-primary-tint);
    border-width: 1px
}

.theme--giving .bg-secondary[class*=bg-][class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .btn-tertiary {
    --btn-colour: var(--colour-muted);
    --btn-bg: var(--bg-colour);
    --btn-border: var(--colour-muted);
    --btn-colour-hover: var(--colour-white);
    --btn-bg-hover: var(--colour-muted);
    --btn-border-hover: var(--colour-muted);
    --btn-colour-active: var(--colour-white);
    --btn-bg-active: var(--colour-dark-2-tint);
    --btn-border-active: var(--colour-dark-2-tint);
    border-width: 1px
}

.align-baseline {
    vertical-align: baseline !important
}

.align-top {
    vertical-align: top !important
}

.align-middle {
    vertical-align: middle !important
}

.align-bottom {
    vertical-align: bottom !important
}

.align-text-bottom {
    vertical-align: text-bottom !important
}

.align-text-top {
    vertical-align: text-top !important
}

.bg-primary {
    --bg-colour: var(--colour-primary);
    --bg-colour-tint: var(--colour-primary-tint);
    background-color: var(--colour-primary) !important
}

.bg-secondary {
    --bg-colour: var(--colour-secondary);
    --bg-colour-tint: var(--colour-secondary-tint);
    background-color: var(--colour-secondary) !important
}

.bg-secondary-2 {
    --bg-colour: var(--colour-secondary-2);
    --bg-colour-tint: var(--colour-secondary-2-tint);
    background-color: var(--colour-secondary-2) !important
}

.bg-secondary-3 {
    --bg-colour: var(--colour-secondary-3);
    --bg-colour-tint: var(--colour-secondary-3-tint);
    background-color: var(--colour-secondary-3) !important
}

.bg-secondary-4 {
    --bg-colour: var(--colour-secondary-4);
    --bg-colour-tint: var(--colour-secondary-4-tint);
    background-color: var(--colour-secondary-4) !important
}

.bg-success {
    --bg-colour: var(--colour-success);
    --bg-colour-tint: var(--colour-success-tint);
    background-color: var(--colour-success) !important
}

.bg-info {
    --bg-colour: var(--colour-info);
    --bg-colour-tint: var(--colour-info-tint);
    background-color: var(--colour-info) !important
}

.bg-warning {
    --bg-colour: var(--colour-warning);
    --bg-colour-tint: var(--colour-warning-tint);
    background-color: var(--colour-warning) !important
}

.bg-danger {
    --bg-colour: var(--colour-danger);
    --bg-colour-tint: var(--colour-danger-tint);
    background-color: var(--colour-danger) !important
}

.bg-light {
    --bg-colour: var(--colour-light);
    --bg-colour-tint: var(--colour-light-tint);
    background-color: var(--colour-light) !important
}

.bg-dark {
    --bg-colour: var(--colour-dark);
    --bg-colour-tint: var(--colour-dark-tint);
    background-color: var(--colour-dark) !important
}

.bg-dark-2 {
    --bg-colour: var(--colour-dark-2);
    --bg-colour-tint: var(--colour-dark-2-tint);
    background-color: var(--colour-dark-2) !important
}

.bg-white {
    --bg-colour: var(--colour-white);
    --bg-colour-tint: var(--colour-white-tint);
    background-color: var(--colour-white) !important
}

.bg-black {
    --bg-colour: var(--colour-black);
    --bg-colour-tint: var(--colour-black-tint);
    background-color: var(--colour-black) !important
}

.bg-white {
    background-color: #fff !important
}

.bg-transparent {
    background-color: rgba(0,0,0,0) !important
}

.border {
    border: 1px solid currentColor;
    border-color: var(--colour-border)
}

.border-top {
    border-top: 1px solid currentColor;
    border-color: var(--colour-border)
}

.border-right {
    border-right: 1px solid currentColor;
    border-color: var(--colour-border)
}

.border-bottom {
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border)
}

.border-left {
    border-left: 1px solid currentColor;
    border-color: var(--colour-border)
}

.border-0 {
    border: 0 !important
}

.rounded {
    border-radius: 50% !important
}

.clearfix::after {
    display: block;
    clear: both;
    content: ""
}

.d-none {
    display: none !important
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-table {
    display: table !important
}

.d-table-row {
    display: table-row !important
}

.d-table-cell {
    display: table-cell !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

@media(min-width: 36em) {
    .d-sm-none {
        display:none !important
    }

    .d-sm-inline {
        display: inline !important
    }

    .d-sm-inline-block {
        display: inline-block !important
    }

    .d-sm-block {
        display: block !important
    }

    .d-sm-table {
        display: table !important
    }

    .d-sm-table-row {
        display: table-row !important
    }

    .d-sm-table-cell {
        display: table-cell !important
    }

    .d-sm-flex {
        display: flex !important
    }

    .d-sm-inline-flex {
        display: inline-flex !important
    }
}

@media(min-width: 62em) {
    .d-md-none {
        display:none !important
    }

    .d-md-inline {
        display: inline !important
    }

    .d-md-inline-block {
        display: inline-block !important
    }

    .d-md-block {
        display: block !important
    }

    .d-md-table {
        display: table !important
    }

    .d-md-table-row {
        display: table-row !important
    }

    .d-md-table-cell {
        display: table-cell !important
    }

    .d-md-flex {
        display: flex !important
    }

    .d-md-inline-flex {
        display: inline-flex !important
    }
}

@media print {
    .d-print-none {
        display: none !important
    }

    .d-print-inline {
        display: inline !important
    }

    .d-print-inline-block {
        display: inline-block !important
    }

    .d-print-block {
        display: block !important
    }

    .d-print-table {
        display: table !important
    }

    .d-print-table-row {
        display: table-row !important
    }

    .d-print-table-cell {
        display: table-cell !important
    }

    .d-print-flex {
        display: flex !important
    }

    .d-print-inline-flex {
        display: inline-flex !important
    }
}

.flex-row {
    flex-direction: row !important
}

.flex-column {
    flex-direction: column !important
}

.flex-row-reverse {
    flex-direction: row-reverse !important
}

.flex-column-reverse {
    flex-direction: column-reverse !important
}

.flex-wrap {
    flex-wrap: wrap !important
}

.flex-nowrap {
    flex-wrap: nowrap !important
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important
}

.flex-fill {
    flex: 1 1 auto !important
}

.flex-grow-0 {
    flex-grow: 0 !important
}

.flex-grow-1 {
    flex-grow: 1 !important
}

.flex-shrink-0 {
    flex-shrink: 0 !important
}

.flex-shrink-1 {
    flex-shrink: 1 !important
}

.justify-content-start {
    justify-content: flex-start !important
}

.justify-content-end {
    justify-content: flex-end !important
}

.justify-content-center {
    justify-content: center !important
}

.justify-content-between {
    justify-content: space-between !important
}

.justify-content-around {
    justify-content: space-around !important
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-end {
    align-items: flex-end !important
}

.align-items-center {
    align-items: center !important
}

.align-items-baseline {
    align-items: baseline !important
}

.align-items-stretch {
    align-items: stretch !important
}

.align-content-start {
    align-content: flex-start !important
}

.align-content-end {
    align-content: flex-end !important
}

.align-content-center {
    align-content: center !important
}

.align-content-between {
    align-content: space-between !important
}

.align-content-around {
    align-content: space-around !important
}

.align-content-stretch {
    align-content: stretch !important
}

.align-self-auto {
    align-self: auto !important
}

.align-self-start {
    align-self: flex-start !important
}

.align-self-end {
    align-self: flex-end !important
}

.align-self-center {
    align-self: center !important
}

.align-self-baseline {
    align-self: baseline !important
}

.align-self-stretch {
    align-self: stretch !important
}

@media(min-width: 36em) {
    .flex-sm-row {
        flex-direction:row !important
    }

    .flex-sm-column {
        flex-direction: column !important
    }

    .flex-sm-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-sm-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-sm-wrap {
        flex-wrap: wrap !important
    }

    .flex-sm-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .flex-sm-fill {
        flex: 1 1 auto !important
    }

    .flex-sm-grow-0 {
        flex-grow: 0 !important
    }

    .flex-sm-grow-1 {
        flex-grow: 1 !important
    }

    .flex-sm-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-sm-shrink-1 {
        flex-shrink: 1 !important
    }

    .justify-content-sm-start {
        justify-content: flex-start !important
    }

    .justify-content-sm-end {
        justify-content: flex-end !important
    }

    .justify-content-sm-center {
        justify-content: center !important
    }

    .justify-content-sm-between {
        justify-content: space-between !important
    }

    .justify-content-sm-around {
        justify-content: space-around !important
    }

    .align-items-sm-start {
        align-items: flex-start !important
    }

    .align-items-sm-end {
        align-items: flex-end !important
    }

    .align-items-sm-center {
        align-items: center !important
    }

    .align-items-sm-baseline {
        align-items: baseline !important
    }

    .align-items-sm-stretch {
        align-items: stretch !important
    }

    .align-content-sm-start {
        align-content: flex-start !important
    }

    .align-content-sm-end {
        align-content: flex-end !important
    }

    .align-content-sm-center {
        align-content: center !important
    }

    .align-content-sm-between {
        align-content: space-between !important
    }

    .align-content-sm-around {
        align-content: space-around !important
    }

    .align-content-sm-stretch {
        align-content: stretch !important
    }

    .align-self-sm-auto {
        align-self: auto !important
    }

    .align-self-sm-start {
        align-self: flex-start !important
    }

    .align-self-sm-end {
        align-self: flex-end !important
    }

    .align-self-sm-center {
        align-self: center !important
    }

    .align-self-sm-baseline {
        align-self: baseline !important
    }

    .align-self-sm-stretch {
        align-self: stretch !important
    }
}

@media(min-width: 62em) {
    .flex-md-row {
        flex-direction:row !important
    }

    .flex-md-column {
        flex-direction: column !important
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-md-wrap {
        flex-wrap: wrap !important
    }

    .flex-md-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .flex-md-fill {
        flex: 1 1 auto !important
    }

    .flex-md-grow-0 {
        flex-grow: 0 !important
    }

    .flex-md-grow-1 {
        flex-grow: 1 !important
    }

    .flex-md-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-md-shrink-1 {
        flex-shrink: 1 !important
    }

    .justify-content-md-start {
        justify-content: flex-start !important
    }

    .justify-content-md-end {
        justify-content: flex-end !important
    }

    .justify-content-md-center {
        justify-content: center !important
    }

    .justify-content-md-between {
        justify-content: space-between !important
    }

    .justify-content-md-around {
        justify-content: space-around !important
    }

    .align-items-md-start {
        align-items: flex-start !important
    }

    .align-items-md-end {
        align-items: flex-end !important
    }

    .align-items-md-center {
        align-items: center !important
    }

    .align-items-md-baseline {
        align-items: baseline !important
    }

    .align-items-md-stretch {
        align-items: stretch !important
    }

    .align-content-md-start {
        align-content: flex-start !important
    }

    .align-content-md-end {
        align-content: flex-end !important
    }

    .align-content-md-center {
        align-content: center !important
    }

    .align-content-md-between {
        align-content: space-between !important
    }

    .align-content-md-around {
        align-content: space-around !important
    }

    .align-content-md-stretch {
        align-content: stretch !important
    }

    .align-self-md-auto {
        align-self: auto !important
    }

    .align-self-md-start {
        align-self: flex-start !important
    }

    .align-self-md-end {
        align-self: flex-end !important
    }

    .align-self-md-center {
        align-self: center !important
    }

    .align-self-md-baseline {
        align-self: baseline !important
    }

    .align-self-md-stretch {
        align-self: stretch !important
    }
}

.position-static {
    position: static !important
}

.position-relative {
    position: relative !important
}

.position-absolute {
    position: absolute !important
}

.position-fixed {
    position: fixed !important
}

.position-sticky {
    position: sticky !important
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030
}

@supports(position: sticky) {
    .sticky-top {
        position:sticky;
        top: 0;
        z-index: 1020
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.sr-only-focusable:active,.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal
}

.w-25 {
    width: 25% !important
}

.w-50 {
    width: 50% !important
}

.w-75 {
    width: 75% !important
}

.w-100 {
    width: 100% !important
}

.w-auto {
    width: auto !important
}

.h-25 {
    height: 25% !important
}

.h-50 {
    height: 50% !important
}

.h-75 {
    height: 75% !important
}

.h-100 {
    height: 100% !important
}

.h-auto {
    height: auto !important
}

.mw-100 {
    max-width: 100% !important
}

.mh-100 {
    max-height: 100% !important
}

.min-vw-100 {
    min-width: 100vw !important
}

.min-vh-100 {
    min-height: 100vh !important
}

.vw-100 {
    width: 100vw !important
}

.vh-100 {
    height: 100vh !important
}

.m-0 {
    margin: 0 !important
}

.mt-0,.my-0 {
    margin-top: 0 !important
}

.mr-0,.mx-0 {
    margin-right: 0 !important
}

.mb-0,.my-0 {
    margin-bottom: 0 !important
}

.ml-0,.mx-0 {
    margin-left: 0 !important
}

.m-1 {
    margin: .5rem !important
}

.mt-1,.my-1 {
    margin-top: .5rem !important
}

.mr-1,.mx-1 {
    margin-right: .5rem !important
}

.mb-1,.my-1 {
    margin-bottom: .5rem !important
}

.ml-1,.mx-1 {
    margin-left: .5rem !important
}

.m-2 {
    margin: 1rem !important
}

.mt-2,.my-2 {
    margin-top: 1rem !important
}

.mr-2,.mx-2 {
    margin-right: 1rem !important
}

.mb-2,.my-2 {
    margin-bottom: 1rem !important
}

.ml-2,.mx-2 {
    margin-left: 1rem !important
}

.m-3 {
    margin: 1.5rem !important
}

.mt-3,.my-3 {
    margin-top: 1.5rem !important
}

.mr-3,.mx-3 {
    margin-right: 1.5rem !important
}

.mb-3,.my-3 {
    margin-bottom: 1.5rem !important
}

.ml-3,.mx-3 {
    margin-left: 1.5rem !important
}

.m-4 {
    margin: 2rem !important
}

.mt-4,.my-4 {
    margin-top: 2rem !important
}

.mr-4,.mx-4 {
    margin-right: 2rem !important
}

.mb-4,.my-4 {
    margin-bottom: 2rem !important
}

.ml-4,.mx-4 {
    margin-left: 2rem !important
}

.m-5 {
    margin: 3rem !important
}

.mt-5,.my-5 {
    margin-top: 3rem !important
}

.mr-5,.mx-5 {
    margin-right: 3rem !important
}

.mb-5,.my-5 {
    margin-bottom: 3rem !important
}

.ml-5,.mx-5 {
    margin-left: 3rem !important
}

.p-0 {
    padding: 0 !important
}

.pt-0,.py-0 {
    padding-top: 0 !important
}

.pr-0,.px-0 {
    padding-right: 0 !important
}

.pb-0,.py-0 {
    padding-bottom: 0 !important
}

.pl-0,.px-0 {
    padding-left: 0 !important
}

.p-1 {
    padding: .5rem !important
}

.pt-1,.py-1 {
    padding-top: .5rem !important
}

.pr-1,.px-1 {
    padding-right: .5rem !important
}

.pb-1,.py-1 {
    padding-bottom: .5rem !important
}

.pl-1,.px-1 {
    padding-left: .5rem !important
}

.p-2 {
    padding: 1rem !important
}

.pt-2,.py-2 {
    padding-top: 1rem !important
}

.pr-2,.px-2 {
    padding-right: 1rem !important
}

.pb-2,.py-2 {
    padding-bottom: 1rem !important
}

.pl-2,.px-2 {
    padding-left: 1rem !important
}

.p-3 {
    padding: 1.5rem !important
}

.pt-3,.py-3 {
    padding-top: 1.5rem !important
}

.pr-3,.px-3 {
    padding-right: 1.5rem !important
}

.pb-3,.py-3 {
    padding-bottom: 1.5rem !important
}

.pl-3,.px-3 {
    padding-left: 1.5rem !important
}

.p-4 {
    padding: 2rem !important
}

.pt-4,.py-4 {
    padding-top: 2rem !important
}

.pr-4,.px-4 {
    padding-right: 2rem !important
}

.pb-4,.py-4 {
    padding-bottom: 2rem !important
}

.pl-4,.px-4 {
    padding-left: 2rem !important
}

.p-5 {
    padding: 3rem !important
}

.pt-5,.py-5 {
    padding-top: 3rem !important
}

.pr-5,.px-5 {
    padding-right: 3rem !important
}

.pb-5,.py-5 {
    padding-bottom: 3rem !important
}

.pl-5,.px-5 {
    padding-left: 3rem !important
}

.m-auto {
    margin: auto !important
}

.mt-auto,.my-auto {
    margin-top: auto !important
}

.mr-auto,.mx-auto {
    margin-right: auto !important
}

.mb-auto,.my-auto {
    margin-bottom: auto !important
}

.ml-auto,.mx-auto {
    margin-left: auto !important
}

@media(min-width: 36em) {
    .m-sm-0 {
        margin:0 !important
    }

    .mt-sm-0,.my-sm-0 {
        margin-top: 0 !important
    }

    .mr-sm-0,.mx-sm-0 {
        margin-right: 0 !important
    }

    .mb-sm-0,.my-sm-0 {
        margin-bottom: 0 !important
    }

    .ml-sm-0,.mx-sm-0 {
        margin-left: 0 !important
    }

    .m-sm-1 {
        margin: .5rem !important
    }

    .mt-sm-1,.my-sm-1 {
        margin-top: .5rem !important
    }

    .mr-sm-1,.mx-sm-1 {
        margin-right: .5rem !important
    }

    .mb-sm-1,.my-sm-1 {
        margin-bottom: .5rem !important
    }

    .ml-sm-1,.mx-sm-1 {
        margin-left: .5rem !important
    }

    .m-sm-2 {
        margin: 1rem !important
    }

    .mt-sm-2,.my-sm-2 {
        margin-top: 1rem !important
    }

    .mr-sm-2,.mx-sm-2 {
        margin-right: 1rem !important
    }

    .mb-sm-2,.my-sm-2 {
        margin-bottom: 1rem !important
    }

    .ml-sm-2,.mx-sm-2 {
        margin-left: 1rem !important
    }

    .m-sm-3 {
        margin: 1.5rem !important
    }

    .mt-sm-3,.my-sm-3 {
        margin-top: 1.5rem !important
    }

    .mr-sm-3,.mx-sm-3 {
        margin-right: 1.5rem !important
    }

    .mb-sm-3,.my-sm-3 {
        margin-bottom: 1.5rem !important
    }

    .ml-sm-3,.mx-sm-3 {
        margin-left: 1.5rem !important
    }

    .m-sm-4 {
        margin: 2rem !important
    }

    .mt-sm-4,.my-sm-4 {
        margin-top: 2rem !important
    }

    .mr-sm-4,.mx-sm-4 {
        margin-right: 2rem !important
    }

    .mb-sm-4,.my-sm-4 {
        margin-bottom: 2rem !important
    }

    .ml-sm-4,.mx-sm-4 {
        margin-left: 2rem !important
    }

    .m-sm-5 {
        margin: 3rem !important
    }

    .mt-sm-5,.my-sm-5 {
        margin-top: 3rem !important
    }

    .mr-sm-5,.mx-sm-5 {
        margin-right: 3rem !important
    }

    .mb-sm-5,.my-sm-5 {
        margin-bottom: 3rem !important
    }

    .ml-sm-5,.mx-sm-5 {
        margin-left: 3rem !important
    }

    .p-sm-0 {
        padding: 0 !important
    }

    .pt-sm-0,.py-sm-0 {
        padding-top: 0 !important
    }

    .pr-sm-0,.px-sm-0 {
        padding-right: 0 !important
    }

    .pb-sm-0,.py-sm-0 {
        padding-bottom: 0 !important
    }

    .pl-sm-0,.px-sm-0 {
        padding-left: 0 !important
    }

    .p-sm-1 {
        padding: .5rem !important
    }

    .pt-sm-1,.py-sm-1 {
        padding-top: .5rem !important
    }

    .pr-sm-1,.px-sm-1 {
        padding-right: .5rem !important
    }

    .pb-sm-1,.py-sm-1 {
        padding-bottom: .5rem !important
    }

    .pl-sm-1,.px-sm-1 {
        padding-left: .5rem !important
    }

    .p-sm-2 {
        padding: 1rem !important
    }

    .pt-sm-2,.py-sm-2 {
        padding-top: 1rem !important
    }

    .pr-sm-2,.px-sm-2 {
        padding-right: 1rem !important
    }

    .pb-sm-2,.py-sm-2 {
        padding-bottom: 1rem !important
    }

    .pl-sm-2,.px-sm-2 {
        padding-left: 1rem !important
    }

    .p-sm-3 {
        padding: 1.5rem !important
    }

    .pt-sm-3,.py-sm-3 {
        padding-top: 1.5rem !important
    }

    .pr-sm-3,.px-sm-3 {
        padding-right: 1.5rem !important
    }

    .pb-sm-3,.py-sm-3 {
        padding-bottom: 1.5rem !important
    }

    .pl-sm-3,.px-sm-3 {
        padding-left: 1.5rem !important
    }

    .p-sm-4 {
        padding: 2rem !important
    }

    .pt-sm-4,.py-sm-4 {
        padding-top: 2rem !important
    }

    .pr-sm-4,.px-sm-4 {
        padding-right: 2rem !important
    }

    .pb-sm-4,.py-sm-4 {
        padding-bottom: 2rem !important
    }

    .pl-sm-4,.px-sm-4 {
        padding-left: 2rem !important
    }

    .p-sm-5 {
        padding: 3rem !important
    }

    .pt-sm-5,.py-sm-5 {
        padding-top: 3rem !important
    }

    .pr-sm-5,.px-sm-5 {
        padding-right: 3rem !important
    }

    .pb-sm-5,.py-sm-5 {
        padding-bottom: 3rem !important
    }

    .pl-sm-5,.px-sm-5 {
        padding-left: 3rem !important
    }

    .m-sm-auto {
        margin: auto !important
    }

    .mt-sm-auto,.my-sm-auto {
        margin-top: auto !important
    }

    .mr-sm-auto,.mx-sm-auto {
        margin-right: auto !important
    }

    .mb-sm-auto,.my-sm-auto {
        margin-bottom: auto !important
    }

    .ml-sm-auto,.mx-sm-auto {
        margin-left: auto !important
    }
}

@media(min-width: 62em) {
    .m-md-0 {
        margin:0 !important
    }

    .mt-md-0,.my-md-0 {
        margin-top: 0 !important
    }

    .mr-md-0,.mx-md-0 {
        margin-right: 0 !important
    }

    .mb-md-0,.my-md-0 {
        margin-bottom: 0 !important
    }

    .ml-md-0,.mx-md-0 {
        margin-left: 0 !important
    }

    .m-md-1 {
        margin: .5rem !important
    }

    .mt-md-1,.my-md-1 {
        margin-top: .5rem !important
    }

    .mr-md-1,.mx-md-1 {
        margin-right: .5rem !important
    }

    .mb-md-1,.my-md-1 {
        margin-bottom: .5rem !important
    }

    .ml-md-1,.mx-md-1 {
        margin-left: .5rem !important
    }

    .m-md-2 {
        margin: 1rem !important
    }

    .mt-md-2,.my-md-2 {
        margin-top: 1rem !important
    }

    .mr-md-2,.mx-md-2 {
        margin-right: 1rem !important
    }

    .mb-md-2,.my-md-2 {
        margin-bottom: 1rem !important
    }

    .ml-md-2,.mx-md-2 {
        margin-left: 1rem !important
    }

    .m-md-3 {
        margin: 1.5rem !important
    }

    .mt-md-3,.my-md-3 {
        margin-top: 1.5rem !important
    }

    .mr-md-3,.mx-md-3 {
        margin-right: 1.5rem !important
    }

    .mb-md-3,.my-md-3 {
        margin-bottom: 1.5rem !important
    }

    .ml-md-3,.mx-md-3 {
        margin-left: 1.5rem !important
    }

    .m-md-4 {
        margin: 2rem !important
    }

    .mt-md-4,.my-md-4 {
        margin-top: 2rem !important
    }

    .mr-md-4,.mx-md-4 {
        margin-right: 2rem !important
    }

    .mb-md-4,.my-md-4 {
        margin-bottom: 2rem !important
    }

    .ml-md-4,.mx-md-4 {
        margin-left: 2rem !important
    }

    .m-md-5 {
        margin: 3rem !important
    }

    .mt-md-5,.my-md-5 {
        margin-top: 3rem !important
    }

    .mr-md-5,.mx-md-5 {
        margin-right: 3rem !important
    }

    .mb-md-5,.my-md-5 {
        margin-bottom: 3rem !important
    }

    .ml-md-5,.mx-md-5 {
        margin-left: 3rem !important
    }

    .p-md-0 {
        padding: 0 !important
    }

    .pt-md-0,.py-md-0 {
        padding-top: 0 !important
    }

    .pr-md-0,.px-md-0 {
        padding-right: 0 !important
    }

    .pb-md-0,.py-md-0 {
        padding-bottom: 0 !important
    }

    .pl-md-0,.px-md-0 {
        padding-left: 0 !important
    }

    .p-md-1 {
        padding: .5rem !important
    }

    .pt-md-1,.py-md-1 {
        padding-top: .5rem !important
    }

    .pr-md-1,.px-md-1 {
        padding-right: .5rem !important
    }

    .pb-md-1,.py-md-1 {
        padding-bottom: .5rem !important
    }

    .pl-md-1,.px-md-1 {
        padding-left: .5rem !important
    }

    .p-md-2 {
        padding: 1rem !important
    }

    .pt-md-2,.py-md-2 {
        padding-top: 1rem !important
    }

    .pr-md-2,.px-md-2 {
        padding-right: 1rem !important
    }

    .pb-md-2,.py-md-2 {
        padding-bottom: 1rem !important
    }

    .pl-md-2,.px-md-2 {
        padding-left: 1rem !important
    }

    .p-md-3 {
        padding: 1.5rem !important
    }

    .pt-md-3,.py-md-3 {
        padding-top: 1.5rem !important
    }

    .pr-md-3,.px-md-3 {
        padding-right: 1.5rem !important
    }

    .pb-md-3,.py-md-3 {
        padding-bottom: 1.5rem !important
    }

    .pl-md-3,.px-md-3 {
        padding-left: 1.5rem !important
    }

    .p-md-4 {
        padding: 2rem !important
    }

    .pt-md-4,.py-md-4 {
        padding-top: 2rem !important
    }

    .pr-md-4,.px-md-4 {
        padding-right: 2rem !important
    }

    .pb-md-4,.py-md-4 {
        padding-bottom: 2rem !important
    }

    .pl-md-4,.px-md-4 {
        padding-left: 2rem !important
    }

    .p-md-5 {
        padding: 3rem !important
    }

    .pt-md-5,.py-md-5 {
        padding-top: 3rem !important
    }

    .pr-md-5,.px-md-5 {
        padding-right: 3rem !important
    }

    .pb-md-5,.py-md-5 {
        padding-bottom: 3rem !important
    }

    .pl-md-5,.px-md-5 {
        padding-left: 3rem !important
    }

    .m-md-auto {
        margin: auto !important
    }

    .mt-md-auto,.my-md-auto {
        margin-top: auto !important
    }

    .mr-md-auto,.mx-md-auto {
        margin-right: auto !important
    }

    .mb-md-auto,.my-md-auto {
        margin-bottom: auto !important
    }

    .ml-md-auto,.mx-md-auto {
        margin-left: auto !important
    }
}

.text-monospace {
    font-family: Inter,Helvetica,Arial,sans-serif !important
}

.text-justify {
    text-align: justify !important
}

.text-wrap {
    white-space: normal !important
}

.text-nowrap {
    white-space: nowrap !important
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.text-left {
    text-align: left !important
}

.text-right {
    text-align: right !important
}

.text-center {
    text-align: center !important
}

@media(min-width: 36em) {
    .text-sm-left {
        text-align:left !important
    }

    .text-sm-right {
        text-align: right !important
    }

    .text-sm-center {
        text-align: center !important
    }
}

@media(min-width: 62em) {
    .text-md-left {
        text-align:left !important
    }

    .text-md-right {
        text-align: right !important
    }

    .text-md-center {
        text-align: center !important
    }
}

.text-lowercase {
    text-transform: lowercase !important
}

.text-uppercase {
    text-transform: uppercase !important
}

.text-capitalize {
    text-transform: capitalize !important
}

.font-weight-light {
    font-weight: 300 !important
}

.font-weight-lighter {
    font-weight: lighter !important
}

.font-weight-normal {
    font-weight: 400 !important
}

.font-weight-bold {
    font-weight: 700 !important
}

.font-weight-bolder {
    font-weight: 900 !important
}

.font-italic {
    font-style: italic !important
}

.text-white {
    color: #fff !important
}

.text-primary {
    color: var(--colour-primary) !important
}

.text-secondary {
    color: var(--colour-secondary) !important
}

.text-secondary-2 {
    color: var(--colour-secondary-2) !important
}

.text-secondary-3 {
    color: var(--colour-secondary-3) !important
}

.text-secondary-4 {
    color: var(--colour-secondary-4) !important
}

.text-success {
    color: var(--colour-success) !important
}

.text-info {
    color: var(--colour-info) !important
}

.text-warning {
    color: var(--colour-warning) !important
}

.text-danger {
    color: var(--colour-danger) !important
}

.text-light {
    color: var(--colour-light) !important
}

.text-dark {
    color: var(--colour-dark) !important
}

.text-dark-2 {
    color: var(--colour-dark-2) !important
}

.text-white {
    color: var(--colour-white) !important
}

.text-black {
    color: var(--colour-black) !important
}

.text-body {
    color: #000 !important
}

.text-muted {
    color: #6d7173 !important
}

.text-black-50 {
    color: rgba(0,0,0,.5) !important
}

.text-white-50 {
    color: rgba(255,255,255,.5) !important
}

.text-hide {
    font: 0/0 a;
    color: rgba(0,0,0,0);
    text-shadow: none;
    background-color: rgba(0,0,0,0);
    border: 0
}

.text-decoration-none {
    text-decoration: none !important
}

.text-break {
    word-wrap: break-word !important
}

.text-reset {
    color: inherit !important
}

.text-white {
    color: var(--colour-white) !important
}

.text-body {
    color: var(--colour-body) !important
}

.text-muted {
    color: var(--colour-muted) !important
}

.font-heading {
    font-family: var(--font-heading)
}

strong.font-heading {
    font-weight: bold
}

.visible {
    visibility: visible !important
}

.invisible {
    visibility: hidden !important
}

.full-width-panel {
    width: calc(100% + 4rem);
    margin-left: -2rem
}

.limit-width {
    max-width: 50rem
}

.limit-width-10cols {
    max-width: 62.5rem
}

.max-width-none {
    max-width: none !important
}

.js-enabled .js-hide {
    display: none
}

body:not(.js-enabled) .js-show {
    display: none
}

[aria-hidden=true] {
    display: none !important
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.mh-0 {
    min-height: 0 !important
}

body.ie .d-ie-block {
    display: block !important
}

.fade {
    transition: opacity .15s linear
}

@media(prefers-reduced-motion: reduce) {
    .fade {
        transition: none
    }
}

.fade:not(.show) {
    opacity: 0
}

.collapse:not(.show) {
    display: none
}

.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: all .35s ease
}

@media(prefers-reduced-motion: reduce) {
    .collapsing {
        transition: none
    }
}

.fade {
    transition: opacity .15s linear
}

@media(prefers-reduced-motion: reduce) {
    .fade {
        transition: none
    }
}

.fade:not(.show) {
    opacity: 0
}

.collapse:not(.show) {
    display: none;
    height: 0
}

.collapse:not(.show),.collapsing {
    position: relative;
    opacity: 1;
    overflow: hidden
}

.collapsing:not(.tabpanel)&gt;* {
    animation: var(--animation-fade-out)
}

.collapsing.opening:not(.tabpanel)&gt;* {
    animation: var(--animation-fade-in)
}

.no-animate {
    transition: none
}

body:not(.js-enabled) .collapse:target {
    display: block;
    position: static;
    opacity: 1;
    height: auto;
    z-index: auto
}

body:not(.js-enabled) .collapse[data-nonjs-show] {
    display: block;
    position: static;
    opacity: 1;
    height: auto;
    z-index: auto
}

.dynamic.updated {
    animation: var-flash .5s
}

@keyframes var-flash {
    0%,100% {
        color: var(--colour-body);
        background: none
    }

    35% {
        color: var(--colour-secondary);
        background: rgba(255,109,184,.1)
    }

    70% {
        color: var(--colour-secondary-dark);
        background: rgba(255,109,184,.1)
    }
}

.container {
    padding: 3rem 2rem 0 2rem
}

@media(min-width: 36em) {
    .container {
        padding:4rem 3rem 1rem 3rem;
        max-width: 90rem
    }
}

@media(min-width: 62em) {
    .container {
        padding:5rem 7.5rem 2rem 7.5rem
    }
}

.container:before {
    display: table;
    clear: both;
    content: ""
}

.container:after {
    display: table;
    clear: both;
    content: ""
}

.container .container:not(.container--expand) {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-top: 0
}

.container .container--expand {
    margin-left: -2rem;
    margin-right: -2rem;
    width: auto
}

@media(min-width: 36em) {
    .container .container--expand {
        margin-left:-3rem;
        margin-right: -3rem
    }
}

@media(min-width: 62em) {
    .container .container--expand {
        margin-left:-7.5rem;
        margin-right: -7.5rem
    }
}

.container-sm,.container-md {
    padding-right: 0;
    padding-left: 0
}

@media(min-width: 62em) {
    .container-md {
        padding:5rem 7.5rem 2rem 7.5rem;
        max-width: 90rem;
        margin-right: auto;
        margin-left: auto
    }

    .container-md .container:not(.container--expand) {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
        padding-top: 0
    }
}

.container--split {
    padding: 0 !important
}

.container--split&gt;.row {
    margin: 0 !important
}

.container--split&gt;.row&gt;[class*=col] {
    min-width: 100% !important;
    flex: 0 0 100%;
    max-width: 100%;
    padding: 3rem 2rem 0 2rem;
    position: relative;
    z-index: 1
}

.container--split&gt;.row&gt;[class*=col]:not(.pattern--connect-top):not(.pattern--bottom) .pattern__inner svg {
    top: 10rem
}

@media(min-width: 36em) {
    .container--split&gt;.row&gt;[class*=col]:not(.pattern--connect-top):not(.pattern--bottom) .pattern__inner svg {
        top:15rem
    }
}

@media(min-width: 62em) {
    .container--split&gt;.row&gt;[class*=col]:not(.pattern--connect-top):not(.pattern--bottom) .pattern__inner svg {
        top:20rem
    }
}

.container--split&gt;.row&gt;[class*=col].contains-img {
    min-height: 13.125rem
}

@media(min-width: 36em) {
    .container--split&gt;.row&gt;[class*=col].contains-img {
        min-height:27rem
    }
}

@media(min-width: 36em) {
    .container--split&gt;.row&gt;[class*=col] {
        padding:4rem 3rem 1rem 3rem
    }
}

@media(min-width: 62em) {
    .container--split&gt;.row&gt;[class*=col] {
        min-width:50% !important;
        flex: 0 0 50%;
        max-width: 50%;
        padding: 5rem 7.5rem 2rem 7.5rem;
        min-height: 40rem
    }

    .container--split&gt;.row&gt;[class*=col]:nth-child(odd) {
        padding-right: 6.875rem
    }

    .container--split&gt;.row&gt;[class*=col]:nth-child(even) {
        padding-left: 6.875rem
    }
}

.container--split&gt;.row&gt;[class*=col].contains-logo {
    padding: 1rem
}

.container--split&gt;.row&gt;[class*=col].contains-logo&gt;img:not(:first-child) {
    transform: scale(0.5);
    transform-origin: top left
}

@media(min-width: 36em) {
    .container--split&gt;.row&gt;[class*=col].contains-logo {
        padding:2rem
    }

    .container--split&gt;.row&gt;[class*=col].contains-logo&gt;img:not(:first-child) {
        transform: none
    }
}

.container--split&gt;.row&gt;[class*=col] picture {
    position: static
}

.container--split&gt;.row&gt;[class*=col]&gt;img:first-child,.container--split&gt;.row&gt;[class*=col]&gt;picture:first-child img,.container--split&gt;.row&gt;[class*=col]&gt;.pattern__inner:first-child+img,.container--split&gt;.row&gt;[class*=col]&gt;.pattern__inner:first-child+picture img {
    max-width: none;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    height: 100%;
    width: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    margin: 0
}

.container--split&gt;.row&gt;[class*=col].img--square {
    min-height: 20rem
}

.container--split&gt;.row&gt;[class*=col].img--square img {
    object-fit: contain !important;
    object-position: 50% 0%
}

@media(min-width: 36em) {
    .container--split&gt;.row&gt;[class*=col].img--square {
        min-height:30rem
    }
}

@media(min-width: 62em) {
    .container--split&gt;.row&gt;[class*=col].img--square {
        padding:0 !important
    }
}

.container--split&gt;.row&gt;[class*=col].img--position-bottom img {
    object-position: 50% 100% !important
}

@media(min-width: 62em) {
    .container--split&gt;.row&gt;[class*=col].img--overlap-left img {
        transform:translate(-100%, -50%) !important;
        z-index: 10 !important
    }
}

.container--split&gt;.row&gt;[class*=col]&gt;.youtube-embed:first-child {
    max-width: none;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    height: 100%;
    width: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    margin: 0
}

.container--split&gt;.row&gt;[class*=col]&gt;.youtube-embed:first-child .youtube-embed__inner {
    padding-top: 0;
    height: 100%
}

.container--split&gt;.row&gt;[class*=col]&gt;.youtube-embed:first-child img {
    height: 100%
}

.container--split&gt;.row.youtube-embed-wrapper .youtube-embed:first-child {
    top: 0;
    left: 0;
    transform: none
}

.container--split-landscape&gt;.row&gt;[class*=col],.container--split-short&gt;.row&gt;[class*=col] {
    min-height: 0
}

@media(min-width: 62em) {
    .container--split-landscape&gt;.row.contains-img,.container--split-short&gt;.row.contains-img {
        min-height:30rem
    }
}

@media(min-width: 62em) {
    .container--split-inline {
        padding:5rem 7.5rem 2rem 7.5rem !important
    }

    .container--split-inline .col {
        padding: 4rem 3.5rem 1.75rem 3.5rem !important
    }
}

@media(min-width: 36em) {
    .container--form {
        padding:4rem 6.625rem 1rem 6.625rem
    }
}

@media(min-width: 62em) {
    .container--form {
        padding:5rem 20.1875rem 2rem 20.1875rem
    }
}

.container--cta {
    padding-bottom: 12rem;
    min-height: 20rem
}

.container--cta[class*=bg-]:not([class*=stroke-]) .pattern__inner svg {
    stroke: var(--colour-primary) !important;
    opacity: 1
}

@media(min-width: 36em) {
    .container--cta {
        padding-bottom:1rem;
        padding-right: 17.5rem;
        min-height: 27.5rem
    }

    .container--cta.pattern--bottom .pattern__inner svg {
        transform: translate(-50%, -50%) rotate(90deg);
        top: 55%;
        left: 85%
    }
}

@media(min-width: 62em) {
    .container--cta {
        padding-top:6rem;
        padding-bottom: 2rem;
        padding-right: 32.5rem;
        min-height: 30rem
    }
}

.container--statement {
    padding-top: 1.5rem
}

.container--statement&gt;* {
    font-weight: bold;
    text-align: center;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 1rem;
    max-width: 100%
}

.container--statement&gt;*:first-child {
    padding-top: 1.5rem;
    border-top: 2px solid currentColor
}

.container--statement&gt;*:last-child {
    padding-bottom: 1.5rem;
    border-bottom: 2px solid currentColor
}

@media(min-width: 36em) {
    .container--statement&gt;*:first-child {
        padding-top:2rem
    }

    .container--statement&gt;*:last-child {
        padding-bottom: 2rem
    }
}

.container--statement[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-3):not(.bg-secondary-4):not(.bg-light) {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.container--statement[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-3):not(.bg-secondary-4):not(.bg-light)&gt;*:first-child {
    padding-top: 0;
    border-top: none
}

.container--statement[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-3):not(.bg-secondary-4):not(.bg-light)&gt;*:last-child {
    padding-bottom: 0;
    border-bottom: none
}

@media(min-width: 36em) {
    .container--statement[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-3):not(.bg-secondary-4):not(.bg-light) {
        padding-top:3rem;
        padding-bottom: 3rem
    }
}

.container .container.container--statement,.container--statement {
    padding-bottom: 2rem
}

@media(min-width: 36em) {
    .container .container.container--statement,.container--statement {
        padding-bottom:3rem
    }
}

@media(min-width: 62em) {
    .container .container.container--statement,.container--statement {
        padding-bottom:4rem
    }
}

@media(min-width: 62em) {
    .container--limit-width {
        padding-right:32.5rem
    }
}

.banner {
    position: relative;
    z-index: 1;
    overflow: hidden
}

.banner .container {
    padding-bottom: 1rem;
    min-height: 12.5rem;
    position: relative;
    margin: 0;
    background-color: rgba(0,0,0,0)
}

.banner .pattern__inner {
    display: block;
    overflow: visible
}

.banner:not(.banner--split):not(.pattern--vertical):not(.pattern--diagonal-left):not(.pattern--diagonal-right) .pattern__inner svg {
    transform: translate(-50%, -50%) rotate(90deg);
    --pattern-offset: 1800px;
    --pattern-animation-speed: 3s
}

.banner:not(.banner--split):not(.pattern--center):not(.pattern--left):not(.pattern--right):not(.pattern--connect-left):not(.pattern--connect-right) .pattern__inner svg {
    left: 85%
}

@media(min-width: 36em) {
    .banner .container {
        padding-bottom:2rem;
        min-height: 15rem
    }

    .banner .container&gt;*:not(.pattern__inner) {
        max-width: 50rem
    }
}

@media(min-width: 62em) {
    .banner {
        max-width:90rem;
        margin: 0 auto
    }

    .banner .container {
        padding-top: 6rem;
        padding-bottom: 2rem;
        min-height: 20rem
    }
}

.banner .banner__bg {
    display: none
}

.banner .banner__bg img {
    max-width: none;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    width: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover
}

.banner .banner__anchor {
    display: none
}

.banner.bg-light h1 {
    color: var(--colour-primary) !important
}

.banner--split .container {
    min-height: 20rem
}

.banner--split .pattern__inner {
    display: block
}

.banner--split .pattern__inner svg {
    transform: translate(-50%, -50%) rotate(-45deg);
    left: 50%;
    top: 50%;
    height: 20rem;
    width: 100rem;
    stroke-width: var(--pattern-stroke-lg);
    --pattern-scale: 2;
    --pattern-offset: 2250px;
    --pattern-animation-speed: 10s
}

@media(min-width: 36em) {
    .banner--split .pattern__inner svg {
        height:30rem;
        width: 150rem
    }
}

@media(min-width: 62em) {
    .banner--split .pattern__inner svg {
        height:40rem;
        width: 200rem
    }
}

.banner--split .banner__bg {
    display: block;
    min-height: 13.125rem;
    position: relative
}

@media(min-width: 36em) {
    .banner--split .container {
        min-height:25rem;
        padding-top: 5rem
    }

    .banner--split .banner__bg {
        min-height: 27rem
    }
}

@media(min-width: 62em) {
    .banner--split {
        display:flex
    }

    .banner--split.banner--short .container {
        min-height: 30rem
    }

    .banner--split .container {
        min-height: 40rem;
        padding-right: 6.875rem;
        width: 50%;
        padding-top: 7.5rem;
        padding-bottom: 5rem
    }

    .banner--split .container&gt;*:not(.pattern__inner) {
        max-width: none
    }

    .banner--split .banner__bg {
        min-height: 40rem;
        width: 50%
    }

    .banner--split.banner--short .banner__bg {
        min-height: 30rem
    }
}

@media(min-width: 36em) {
    .banner--split.img--square .banner__bg {
        min-height:40rem
    }
}

.banner--split.pattern--connect-bottom .pattern__inner {
    --pattern-scale: 2.5
}

.banner--split.pattern--connect-bottom .pattern__inner svg {
    margin-top: -6.25rem;
    top: 100%;
    height: 25rem;
    width: 125rem;
    stroke-width: var(--pattern-stroke-xl)
}

@media(min-width: 36em) {
    .banner--split.pattern--connect-bottom .pattern__inner svg {
        height:37.5rem;
        width: 187.5rem
    }
}

@media(min-width: 62em) {
    .banner--split.pattern--connect-bottom .pattern__inner svg {
        height:50rem;
        width: 250rem
    }
}

.pattern--banner-speed .pattern__inner svg {
    --pattern-offset: 2250px;
    --pattern-animation-speed: 10s
}

.banner--article {
    display: flex;
    flex-flow: column-reverse
}

.banner--article .badge {
    position: absolute;
    left: 0;
    bottom: 100%;
    z-index: 2;
    margin: 0
}

.banner--article .container {
    padding-top: 2rem;
    padding-bottom: 2rem
}

@media(min-width: 36em) {
    .banner--article .container {
        padding-top:4rem;
        padding-bottom: 2rem
    }
}

@media(min-width: 62em) {
    .banner--article {
        flex-flow:row
    }

    .banner--article .badge {
        position: static;
        margin-bottom: 1rem
    }

    .banner--article .container {
        padding-top: 6rem;
        padding-bottom: 2rem
    }
}

.banner--full {
    --gradient-pos: 63%;
    --gradient-deg: 0deg
}

.banner--full .container {
    min-height: 40rem;
    z-index: 2;
    padding-bottom: 2rem
}

.banner--full .pattern__inner {
    display: none
}

.banner--full .banner__bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1
}

.banner--full .banner__bg:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(var(--gradient-deg), rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.3) var(--gradient-pos))
}

@media(min-width: 36em) {
    .banner--full {
        --gradient-pos: 67%
    }

    .banner--full .container {
        min-height: 50rem;
        padding-top: 5rem;
        padding-bottom: 2.5rem
    }
}

@media(min-width: 62em) {
    .banner--full {
        --gradient-pos: 50%;
        --gradient-deg: 270deg
    }

    .banner--full .container {
        min-height: 40rem;
        padding-right: 0.5rem;
        width: 50%;
        padding-top: 7.5rem;
        padding-bottom: 5rem
    }

    .banner--full.banner--short .container {
        min-height: 30rem
    }

    .banner--full .banner__anchor {
        display: block;
        position: absolute;
        left: 50%;
        bottom: 0;
        z-index: 10;
        margin-left: -3rem;
        width: 6rem;
        height: 9rem;
        background: rgba(0,0,0,.5)
    }

    .banner--full .banner__anchor .svg__wrapper {
        position: absolute;
        top: 1.5rem;
        left: 50%;
        margin-left: -1.5rem;
        height: 3rem;
        width: 3rem
    }

    .banner--full .banner__anchor .svg__wrapper svg {
        width: 100%;
        height: 100%
    }
}

.no-gradient {
    --gradient-pos: none;
    --gradient-deg: none
}

.navbar {
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border);
    background: var(--colour-white);
    z-index: 10;
    position: relative;
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

@media(min-width: 36em) {
    .navbar {
        padding-left:2rem;
        padding-right: 2rem
    }
}

@media(min-width: 62em) {
    .navbar {
        padding-left:0;
        padding-right: 0
    }
}

.navbar&gt;.container-md {
    padding: 1.5rem 0;
    display: flex;
    flex-flow: row nowrap;
    position: relative
}

@media(min-width: 62em) {
    .navbar&gt;.container-md {
        padding:1.5rem 6.5rem
    }
}

.navbar .brand {
    padding: 0;
    margin-right: auto;
    min-height: 2rem
}

@media(min-width: 62em) {
    .navbar .brand {
        min-height:3rem;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
        margin-right: 2.5rem
    }
}

.navbar .isDisabled {
    color: currentColor;
    cursor: not-allowed;
    opacity: .5;
    text-decoration: none;
    pointer-events: none
}

.navbar-toggler {
    background: none;
    border: none;
    margin-left: 1.5rem;
    text-decoration: none !important
}

.navbar-toggler .svg__wrapper svg {
    width: 2rem;
    height: 2rem
}

.navbar-toggler .svg__wrapper--selected {
    display: none
}

body.js-enabled .navbar-toggler:not(.collapsed) .svg__wrapper--selected {
    display: inline-block
}

body.js-enabled .navbar-toggler:not(.collapsed) .svg__wrapper--selected+.svg__wrapper {
    display: none
}

.navbar-toggler .navbar-toggler__label {
    display: none
}

@media(min-width: 36em) {
    .navbar-toggler {
        white-space:nowrap;
        margin-left: 2rem
    }

    .navbar-toggler .svg__wrapper {
        vertical-align: middle;
        margin-top: -0.25rem;
        margin-left: 0.5rem
    }

    .navbar-toggler .svg__wrapper svg {
        width: 1.5rem;
        height: 1.5rem
    }

    .navbar-toggler .navbar-toggler__label {
        display: inline-block;
        line-height: 2rem;
        font-weight: bold
    }
}

@media(min-width: 62em) {
    .navbar-toggler {
        display:none
    }
}

body&gt;.navbar {
    position: fixed
}

body&gt;.navbar+* {
    margin-top: 5rem
}

@media(min-width: 62em) {
    body&gt;.navbar {
        position:relative
    }

    body&gt;.navbar+* {
        margin-top: 0
    }
}

.navbar&gt;.container-md&gt;.collapse,.navbar&gt;.container-md&gt;.collapsing {
    position: absolute;
    top: 100%;
    right: 0;
    margin-right: -1.5rem;
    width: 23.4375rem;
    height: calc(100vh - 5rem) !important;
    border-top: 1px solid currentColor;
    border-color: var(--colour-border);
    padding: 0 1.5rem;
    display: block;
    box-shadow: -2px 2px 4px rgba(0,0,0,.2);
    z-index: 1;
    background: var(--colour-light)
}

@media(min-width: 36em) {
    .navbar&gt;.container-md&gt;.collapse,.navbar&gt;.container-md&gt;.collapsing {
        margin-right:-2rem;
        padding: 0 2rem
    }
}

@media(min-width: 62em) {
    .navbar&gt;.container-md&gt;.collapse,.navbar&gt;.container-md&gt;.collapsing {
        margin-right:0;
        padding: 0 2rem 0 2rem;
        width: calc(2rem + 2rem + 20rem)
    }
}

.navbar&gt;.container-md&gt;.collapse:not(.show) {
    transform: translate(calc(100% + 0.375rem), 0);
    -ms-transform: translate(105%, 0)
}

.navbar&gt;.container-md&gt;.collapsing {
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.navbar&gt;.container-md&gt;.collapsing.opening,.navbar&gt;.container-md&gt;.collapse:target {
    animation: .5s ease-out slide-left forwards;
    z-index: 5
}

.navbar&gt;.container-md&gt;.collapsing.closing {
    animation: .5s ease-out slide-left-out forwards;
    z-index: 5
}

.navbar&gt;.container-md&gt;.collapse.show {
    overflow-y: auto
}

.navbar&gt;.container-md .btn-secondary {
    margin-bottom: 3rem;
    display: inline-block;
    line-height: 1.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 1rem
}

.navbar&gt;.container-md .btn-secondary .svg__wrapper {
    height: 1.5rem;
    width: 1.5rem;
    margin-right: 0.5rem;
    margin-top: 0
}

.navbar&gt;.container-md .btn-secondary .svg__wrapper--selected {
    display: none
}

body.js-enabled .navbar&gt;.container-md .btn-secondary:not(.collapsed) .svg__wrapper--selected {
    display: inline-block
}

body.js-enabled .navbar&gt;.container-md .btn-secondary:not(.collapsed) .svg__wrapper--selected+.svg__wrapper {
    display: none
}

@media(min-width: 62em) {
    .navbar:not(.no-signin)&gt;.container-md:after {
        content:"";
        position: absolute;
        z-index: 99;
        top: calc(100% + 1px);
        left: 100%;
        height: 100vh;
        width: 100vw;
        pointer-events: none;
        background: var(--colour-white)
    }
}

.list-nav {
    padding-top: 1rem;
    padding-bottom: 4rem
}

.list-nav&gt;li {
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border)
}

.list-nav&gt;li&gt;a {
    font-family: var(--font-heading);
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.5rem;
    text-decoration: none;
    margin: 0;
    width: auto;
    min-width: auto;
    border: none;
    margin: 1.5rem 0;
    display: inline-block
}

@media(min-width: 36em) {
    .list-nav&gt;li&gt;a {
        font-size:1rem
    }
}

.list-nav&gt;li&gt;a:hover:not(:active) {
    color: inherit
}

.list-nav&gt;li&gt;a:focus,.list-nav&gt;li&gt;a:hover,.list-nav&gt;li&gt;a:active,.list-nav&gt;li&gt;a.selected,.list-nav&gt;li&gt;a[data-icon]:hover,.list-nav&gt;li&gt;a[data-toggle]:not(.collapsed):not(a.btn--icon-right),.list-nav&gt;li&gt;a.btn--icon-right:hover {
    text-decoration: underline;
    text-underline-offset: .4rem
}

.list-nav&gt;li&gt;a[data-toggle]:not(.collapsed):not(:hover):not(:focus):not(:active) {
    border-color: rgba(0,0,0,0) !important
}

.navbar__cta-title {
    padding-top: 2rem;
    padding-bottom: 1rem;
    max-width: 20rem
}

@media(min-width: 62em) {
    .navbar&gt;.container-md&gt;.collapse.menu {
        position:static;
        height: 3rem !important;
        width: auto;
        box-shadow: none;
        transform: none;
        padding: 0;
        flex: 1 1 100%;
        max-width: 100%;
        white-space: nowrap;
        display: flex;
        justify-content: space-around;
        border-top: none;
        overflow: visible;
        z-index: inherit;
        background: var(--colour-white)
    }

    .navbar&gt;.container-md&gt;.collapse.menu&gt;.list-nav {
        padding-top: 0;
        margin-bottom: 0;
        padding-bottom: 0;
        margin-left: auto
    }

    .navbar&gt;.container-md&gt;.collapse.menu&gt;.list-nav&gt;li {
        display: inline-block;
        margin-right: 2rem;
        border: none
    }

    .navbar&gt;.container-md&gt;.collapse.menu&gt;.list-nav&gt;li&gt;a {
        margin: 0.75rem 0
    }

    .navbar&gt;.container-md&gt;.collapse.menu .btn-secondary {
        margin-bottom: 0;
        display: inline-block;
        line-height: 1.5rem;
        padding: 0.75rem 1.5rem;
        font-size: 1rem
    }

    .navbar&gt;.container-md&gt;.collapse.menu .btn-secondary .svg__wrapper {
        height: 1.5rem;
        width: 1.5rem;
        margin-right: 0.5rem;
        margin-top: 0
    }
}

.navbar .btn-cta-pages.btn,.navbar .list-links&gt;li&gt;a.btn-cta-pages {
    display: none
}

@media(min-width: 62em) {
    .navbar .btn-cta-pages.btn+a.btn,.navbar .list-links&gt;li&gt;.btn-cta-pages.btn+a,.navbar .list-links&gt;li&gt;a.btn-cta-pages+a {
        display:none !important
    }
}

.navbar--dual&gt;.container-md&gt;.collapse.menu {
    background: var(--colour-white)
}

@media(min-width: 62em) {
    .navbar--dual&gt;.container-md&gt;.collapse.menu&gt;.list-nav {
        margin-left:0;
        margin-right: auto
    }

    .navbar--dual&gt;.container-md&gt;.collapse.menu&gt;.list-nav+.list-nav {
        margin-left: auto;
        margin-right: 0
    }

    .navbar--dual&gt;.container-md&gt;.collapse.menu&gt;.list-nav .btn.btn--icon-right .svg__wrapper,.navbar--dual&gt;.container-md&gt;.collapse.menu&gt;.list-nav .list-links&gt;li&gt;a.btn--icon-right .svg__wrapper {
        margin-top: .25rem !important
    }

    .navbar--dual&gt;.container-md&gt;.collapse.menu&gt;.list-nav .btn.btn--icon-right .svg__wrapper svg,.navbar--dual&gt;.container-md&gt;.collapse.menu&gt;.list-nav .list-links&gt;li&gt;a.btn--icon-right .svg__wrapper svg {
        margin-top: -0.25rem
    }
}

@media(min-width: 62em) {
    .navbar--dual.navbar--align-right&gt;.container-md&gt;.collapse.menu .list-nav {
        margin-left:auto;
        margin-right: 0
    }

    .navbar--dual.navbar--align-right&gt;.container-md&gt;.collapse.menu&gt;.list-nav+.list-nav {
        display: none
    }
}

.navbar--dual .menu&gt;.list-nav:first-child {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-bottom: 0
}

@media(min-width: 36em) {
    .navbar--dual .menu&gt;.list-nav:first-child {
        margin-left:-2rem;
        margin-right: -2rem
    }
}

@media(min-width: 62em) {
    .navbar--dual .menu&gt;.list-nav:first-child {
        margin:0
    }
}

.navbar--dual .menu&gt;.list-nav:first-child&gt;li {
    position: relative
}

@media(min-width: 62em) {
    .navbar--dual .menu&gt;.list-nav:first-child&gt;li {
        position:static
    }
}

.navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a {
    margin-left: 2rem;
    margin-right: 2rem
}

.navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle] {
    display: inline-block;
    width: auto;
    position: static
}

.navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle]:after {
    top: 1.125rem;
    right: 1.5rem
}

@media(min-width: 62em) {
    .navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle] {
        position:relative;
        padding-right: 2rem
    }

    .navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle]:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 2rem;
        height: 2rem;
        background: var(--bg-colour)
    }

    .navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle]:after {
        top: 0;
        left: auto;
        right: 0;
        height: 1.5em;
        width: 1.5em;
        mask-image: var(--icon-chevron-down);
        -webkit-mask-image: var(--icon-chevron-down)
    }

    .navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle]:not(.collapsed):after {
        transform: none
    }
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner {
    background: var(--colour-light);
    padding: 0.5rem 2rem;
    border-top: 1px solid currentColor;
    border-color: var(--colour-border)
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle] {
    margin: 1rem 0 1rem 2rem;
    line-height: 1.5rem;
    display: inline-block;
    text-decoration: none;
    font-family: var(--font-heading)
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle]:hover:not(:active) {
    color: inherit
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle]:hover,.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle]:focus,.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle]:active,.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle]:not(.collapsed) {
    border-bottom: 1px solid currentColor;
    margin-bottom: calc(1rem - 1px)
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle]:not(.collapsed) {
    pointer-events: visible
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle]:after {
    left: 0;
    right: auto;
    width: 1.5rem;
    height: 1.5rem;
    top: calc(50% - 0.75rem);
    margin-left: -2rem
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;div&gt;a.btn.btn-link {
    padding: 0;
    margin: 1rem 0 1rem 2rem
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;div&gt;a.btn.btn-link:not(:hover):after {
    display: none
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;div&gt;a.btn:hover {
    color: inherit
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner .collapse:not(.show) {
    display: block;
    height: 0
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner .collapse:not(.show)&gt;* {
    display: none
}

.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner .list-nav:not(.subnav__landing-page):not(.subnav__featured-pages) {
    padding-bottom: 2rem
}

.navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;.subnav {
    padding-left: 2rem;
    padding-right: 2rem
}

.navbar--dual .menu&gt;.list-nav:not(:first-child) li {
    border-bottom: none
}

.navbar--dual .menu .list-nav {
    padding-bottom: 1rem
}

@media(min-width: 62em) {
    .navbar--dual .menu .list-nav {
        padding-bottom:1rem
    }
}

.navbar--dual .menu .list-nav .list-nav {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 2rem
}

@media(min-width: 62em) {
    .navbar--dual .menu .list-nav .list-nav {
        padding-left:0;
        padding-bottom: 0
    }
}

@media(min-width: 62em) {
    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories {
        transition:none !important;
        position: absolute !important;
        top: 100%;
        left: 0;
        width: 100%;
        padding: 0;
        z-index: 100;
        border-top: 1px solid currentColor;
        border-color: var(--colour-border);
        max-height: calc(100vh - 5.5rem)
    }

    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md {
        padding-top: 0rem;
        padding-bottom: 0rem;
        text-align: center;
        background: var(--colour-light);
        box-shadow: 0 2px 2px 0 rgba(0,0,0,.2)
    }

    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner {
        padding: 0;
        margin-left: -1rem;
        margin-right: -1rem;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        border-top: none
    }

    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner .subnav.show {
        box-shadow: 0 2px 2px 0 rgba(0,0,0,.2)
    }

    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner .subnav.show .container-md {
        position: relative
    }

    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner .subnav.show .container-md:after {
        content: "";
        position: absolute;
        top: 0;
        left: 7.5rem;
        width: calc(100% - 7.5rem - 7.5rem);
        border-top: 1px solid currentColor;
        border-color: var(--colour-border)
    }

    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner&gt;a {
        display: inline-block;
        margin: 0 1rem;
        padding: 1.75rem 0
    }

    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner&gt;a:after {
        display: none
    }

    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner&gt;a[data-toggle]:hover,.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner&gt;a[data-toggle]:focus,.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner&gt;a[data-toggle]:active,.navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner&gt;a[data-toggle]:not(.collapsed) {
        border-bottom: 3px solid currentColor;
        padding-bottom: calc(1.75rem - 3px);
        margin-bottom: 0;
        z-index: 5
    }

    .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner&gt;div&gt;a.btn.btn-link {
        padding: 1.75rem 0
    }
}

@media(min-width: 62em) {
    .subnav {
        text-align:left;
        transition: none !important;
        position: absolute !important;
        top: 100%;
        left: 0;
        width: 100%;
        z-index: 3;
        background: var(--colour-light);
        box-shadow: 0 2px 2px 0 rgba(0,0,0,.2);
        padding-left: 0 !important;
        padding-left: 0 !important;
        overflow-y: auto;
        max-height: calc(100vh - 12.5rem);
        white-space: normal
    }

    .subnav .container-md {
        padding-top: 1.75rem
    }

    .subnav .subnav__landing-page {
        margin: 0;
        max-width: none
    }

    .subnav .subnav__landing-page li {
        border: none
    }

    .subnav .subnav__landing-page li a {
        clear: both;
        font-weight: 700;
        font-family: var(--font-heading);
        margin-bottom: 0;
        width: auto;
        display: inline-block;
        font-size: 2rem;
        letter-spacing: -0.5px;
        line-height: 2.5rem;
        padding-bottom: 0;
        margin-bottom: calc(2.5rem - 1px);
        position: relative;
        margin-right: 3rem
    }

    .subnav .subnav__landing-page li a:not(:hover):not(:focus):not(:active) {
        border: none;
        margin-bottom: 2.5rem
    }

    .subnav .subnav__landing-page li a:after {
        content: "";
        position: absolute;
        top: 0.5rem;
        left: 100%;
        margin-left: 0.375rem;
        height: 2rem;
        width: 2rem;
        transition: transform .25s ease-out;
        mask-image: var(--icon-chevron-right);
        mask-size: 100% 100%;
        mask-repeat: no-repeat;
        mask-position: 0 0;
        -webkit-mask-image: var(--icon-chevron-right);
        -webkit-mask-size: 100% 100%;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: 0 0;
        background-color: currentColor
    }

    .subnav .list-nav.subnav__featured-pages {
        margin-bottom: 2rem;
        padding-right: 1rem
    }

    .subnav .list-nav:not(.subnav__featured-pages) {
        padding-right: 1rem
    }

    .subnav .list-nav:not(.subnav__featured-pages) li {
        border: none
    }

    .subnav .list-single-columns .h4,.subnav .list-single-columns .h5 {
        margin-bottom: calc(1rem - 1px);
        padding-bottom: 0
    }

    .subnav .list-single-columns a.h5.text-primary {
        text-decoration: none;
        line-height: 1.5rem
    }

    .subnav .list-single-columns a:active.h5.text-primary,.subnav .list-single-columns a:hover.h5.text-primary {
        text-decoration: underline;
        text-underline-offset: .4rem
    }
}

@media(min-width: 62em)and (min-width: 62em) {
    .subnav .list-single-columns .h4,.subnav .list-single-columns .h5 {
        margin-bottom:0;
        padding-bottom: 1.5rem
    }
}

@media(min-width: 62em) {
    .subnav .card {
        text-decoration:none !important;
        position: relative;
        padding-left: 3.75rem;
        padding-bottom: 0
    }

    .subnav .card .card-body {
        padding-top: 1.5rem;
        padding-right: 1rem
    }

    .subnav .card .card-title {
        padding-bottom: 1rem
    }

    .subnav .card-image-nav {
        display: block;
        position: absolute;
        top: 1rem;
        left: 1rem;
        height: 3.75rem;
        width: 3.75rem
    }
}

body:not(.js-enabled) .navbar&gt;.container-md&gt;.collapse:target {
    overflow-y: auto
}

@media(max-width: 62em) {
    body:not(.js-enabled) .navbar--dual .menu&gt;.list-nav:first-child&gt;li&gt;a[data-toggle] {
        pointer-events:none
    }

    body:not(.js-enabled) .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories {
        height: auto !important
    }

    body:not(.js-enabled) .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories .navbar__categories__inner&gt;a[data-toggle] {
        pointer-events: none
    }

    body:not(.js-enabled) .subnav {
        height: auto !important
    }
}

@media(min-width: 62em) {
    body:not(.js-enabled) .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories {
        overflow-y:auto
    }

    body:not(.js-enabled) .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner {
        display: block
    }

    body:not(.js-enabled) .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner&gt;a {
        display: none
    }

    body:not(.js-enabled) .navbar--dual .menu&gt;.list-nav:first-child .navbar__categories&gt;.container-md .navbar__categories__inner&gt;.collapse {
        display: block;
        height: auto;
        position: static !important
    }
}

.navbar--message-container {
    margin-left: -2rem;
    margin-right: -2rem
}

@media(min-width: 36em) {
    .navbar--message-container .navbar--message {
        margin-left:-1rem
    }
}

@media(min-width: 62em) {
    .navbar--message-container {
        margin-left:0;
        margin-right: 0
    }
}

.cookie-message {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 99
}

.cookie-message&gt;.container {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}

@media(min-width: 36em) {
    .cookie-message&gt;.container {
        padding-top:2rem;
        padding-bottom: 2rem
    }
}

@media(min-width: 62em) {
    .cookie-message&gt;.container {
        padding-top:3rem;
        padding-bottom: 3rem
    }
}

.cookie-message p {
    padding-bottom: 1.5rem
}

@media(min-width: 36em) {
    .cookie-message p {
        padding-bottom:2rem
    }
}

@media(min-width: 62em) {
    .cookie-message p {
        padding-bottom:0
    }
}

.cookie-message .btn,.cookie-message .list-links&gt;li&gt;a {
    margin-bottom: 0
}

.title-bar {
    padding-top: 2rem;
    padding-bottom: 0
}

@media(min-width: 62em) {
    .title-bar {
        padding-top:2.5rem
    }
}

.title-bar .brand {
    margin: -0.5rem -0.5rem 1.5rem -0.5rem;
    min-height: 4rem;
    min-width: 15.875rem
}

.title-bar .brand svg {
    min-height: 3rem;
    min-width: 14.875rem
}

.title-bar__title {
    padding-bottom: 2rem;
    display: block
}

@media(min-width: 62em) {
    .title-bar__title {
        padding-bottom:2.5rem
    }
}

.title-bar__close {
    text-indent: -300vw;
    overflow: hidden;
    height: 2rem;
    width: 2rem;
    display: block;
    position: relative;
    border: 0.125rem solid currentColor;
    color: var(--colour-white);
    border-radius: 50%;
    position: absolute;
    top: 2rem;
    right: 2rem
}

.title-bar__close .svg__wrapper svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 1.375rem;
    width: 1.375rem
}

@media(min-width: 36em) {
    .title-bar__close {
        right:3rem;
        height: 3rem;
        width: 3rem
    }

    .title-bar__close .svg__wrapper svg {
        height: 2rem;
        width: 2rem
    }
}

@media(min-width: 62em) {
    .title-bar__close {
        right:7.5rem;
        top: 2.5rem
    }
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).inview&gt;*:not(.container):not(.pattern):not(.card-deck):not(.pattern__inner):not(.row):not(.tabpanel):not(.collapse):not(.collapsing),body.animate .container:not(.no-animate):not(.notification):not(.filter).inview .container:not(.pagination)&gt;*:not(.container):not(.pattern):not(.card-deck):not(.pattern__inner):not(.row):not(.tabpanel):not(.collapse):not(.collapsing) {
    animation: var(--animation-fade-up)
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).not-inview&gt;*:not(.container):not(.pattern):not(.card-deck):not(.pattern__inner):not(.row):not(.tabpanel):not(.collapse):not(.collapsing),body.animate .container:not(.no-animate):not(.notification):not(.filter).not-inview .container:not(.pagination)&gt;*:not(.container):not(.pattern):not(.card-deck):not(.pattern__inner):not(.row):not(.tabpanel):not(.collapse):not(.collapsing) {
    opacity: 0;
    transform: translate(0, 10rem)
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).not-inview&gt;.row&gt;[class*=col]&gt;*:not(picture):not(img) {
    opacity: 0;
    transform: translate(0, 10rem)
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).inview&gt;.row&gt;[class*=col]&gt;*:not(picture):not(img) {
    opacity: 0;
    transform: translate(0, 10rem);
    animation: var(--animation-fade-up)
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).not-inview&gt;.row&gt;[class*=col]&gt;img,body.animate .container:not(.no-animate):not(.notification):not(.filter).not-inview&gt;.row&gt;[class*=col]&gt;picture {
    opacity: 0
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).inview&gt;.row&gt;[class*=col]&gt;img,body.animate .container:not(.no-animate):not(.notification):not(.filter).inview&gt;.row&gt;[class*=col]&gt;picture {
    opacity: 0;
    animation: var(--animation-fade-in)
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).not-inview .card {
    transform: translate(0, 10rem);
    opacity: 0
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).inview .card {
    transform: translate(0, 10rem);
    opacity: 0;
    animation: var(--animation-fade-up)
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).not-inview .tabpanel.show-onload&gt;*:not(.container):not(.pattern):not(.card-deck):not(.pattern__inner):not(.row):not(.tabpanel):not(.collapse):not(.collapsing),body.animate .container:not(.no-animate):not(.notification):not(.filter).not-inview .tabpanel.show-onload&gt;.pagination {
    opacity: 0;
    transform: translate(0, 10rem)
}

body.animate .container:not(.no-animate):not(.notification):not(.filter).inview .tabpanel.show-onload&gt;*:not(.container):not(.pattern):not(.card-deck):not(.pattern__inner):not(.row):not(.tabpanel):not(.collapse):not(.collapsing),body.animate .container:not(.no-animate):not(.notification):not(.filter).inview .tabpanel.show-onload&gt;.pagination {
    animation: var(--animation-fade-up)
}

.pattern__inner {
    --pattern-1-length: 5786px;
    --pattern-2-length: 3817px;
    --pattern-3-length: 5033px;
    --pattern-1-offset: 1460px;
    --pattern-2-offset: 1000px;
    --pattern-3-offset: 1400px;
    --pattern-1-animation-speed: 8s;
    --pattern-2-animation-speed: 6s;
    --pattern-3-animation-speed: 7s;
    --pattern-scale: 1;
    --pattern-offset: calc(var(--pattern-1-offset) * var(--pattern-scale));
    --pattern-length: calc(var(--pattern-1-length) * var(--pattern-scale));
    --pattern-animation-speed: calc(var(--pattern-1-animation-speed) * var(--pattern-scale))
}

.pattern--lg .pattern__inner {
    --pattern-scale: 2
}

.pattern--xl .pattern__inner {
    --pattern-scale: 2.5
}

.pattern--xxl .pattern__inner {
    --pattern-scale: 3
}

@media(min-width: 36em) {
    .pattern__inner {
        --pattern-1-offset: 1040px;
        --pattern-2-offset: 700px;
        --pattern-3-offset: 600px
    }
}

@media(min-width: 62em) {
    .pattern__inner {
        --pattern-1-offset: 290px;
        --pattern-2-offset: 100px;
        --pattern-3-offset: 70px
    }
}

.pattern--2 .pattern__inner {
    --pattern-offset: calc(var(--pattern-2-offset) * var(--pattern-scale));
    --pattern-length: calc(var(--pattern-2-length) * var(--pattern-scale));
    --pattern-animation-speed: calc(var(--pattern-2-animation-speed) * var(--pattern-scale))
}

.pattern--3 .pattern__inner {
    --pattern-offset: calc(var(--pattern-3-offset) * var(--pattern-scale));
    --pattern-length: calc(var(--pattern-3-length) * var(--pattern-scale));
    --pattern-animation-speed: calc(var(--pattern-3-animation-speed) * var(--pattern-scale))
}

.pattern--xs .pattern__inner {
    --pattern-offset: 0px
}

.pattern--sm .pattern__inner {
    --pattern-offset: 0px
}

@media(prefers-reduced-motion: reduce) {
    .pattern__inner {
        --pattern-animation-speed: 0!important
    }
}

body.animate .container:not(.no-animate).inview .pattern__inner svg,body.animate .container:not(.no-animate).pattern--overlap-bottom.inview+.pattern--overlap-top .pattern__inner svg {
    --animation-draw-in: var(--pattern-animation-speed) ease-out draw-in forwards;
    animation: var(--animation-draw-in)
}

body.animate .container:not(.no-animate).not-inview .pattern__inner svg {
    stroke-dashoffset: calc(var(--pattern-length) - var(--pattern-offset));
    stroke-dasharray: var(--pattern-length)
}

.pattern__inner svg {
    stroke-dashoffset: calc(var(--pattern-length) - var(--pattern-offset));
    stroke-dasharray: var(--pattern-length)
}

body.animate .container.inview-onload .pattern__inner svg,body.animate .banner.inview-onload .pattern__inner svg {
    --animation-draw-in: var(--pattern-animation-speed) ease-out draw-in 0.5s forwards;
    animation: var(--animation-draw-in)
}

body.animate .container.collapsing .pattern__inner svg,body.animate .container.collapse .pattern__inner svg {
    animation: none
}

@media(prefers-reduced-motion) {
    body * {
        animation: none !important
    }

    body .pattern__inner svg {
        stroke-dasharray: 0
    }
}

.form-control,.custom-select {
    display: block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #000;
    background-color: #fff;
    background-clip: padding-box;
    border: 2px solid #dfe3e6;
    border-radius: 0;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

@media(prefers-reduced-motion: reduce) {
    .form-control,.custom-select {
        transition: none
    }
}

.form-control::-ms-expand,.custom-select::-ms-expand {
    background-color: rgba(0,0,0,0);
    border: 0
}

.form-control:-moz-focusring,.custom-select:-moz-focusring {
    color: rgba(0,0,0,0);
    text-shadow: 0 0 0 #000
}

.form-control:focus,.custom-select:focus {
    color: #000;
    background-color: #fff;
    border-color: #dfe3e6;
    outline: 0;
    box-shadow: none
}

.form-control::placeholder,.custom-select::placeholder {
    color: #6d7173;
    opacity: 1
}

.form-control:disabled,.custom-select:disabled,.form-control[readonly],[readonly].custom-select {
    background-color: #fafafa;
    opacity: 1
}

select.form-control:focus::-ms-value,select.custom-select:focus::-ms-value {
    color: #000;
    background-color: #fff
}

.form-control-file,.form-control-range {
    display: block;
    width: 100%
}

.js-enabled input[type=number]::-webkit-outer-spin-button,.js-enabled input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.js-enabled input[type=number] {
    -moz-appearance: textfield
}

.form-group__title {
    font-family: var(--font-heading);
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin: 0;
    margin-bottom: 2rem;
    display: block
}

label,.label {
    font-family: var(--font-heading);
    font-weight: bold;
    font-size: 0.875rem;
    line-height: 1.5rem;
    margin: 0;
    margin-bottom: 0.5rem;
    display: block
}

@media(min-width: 36em) {
    label,.label {
        font-size:1rem
    }
}

label .optional,.label .optional {
    margin-left: 0.5rem;
    color: var(--colour-muted)
}

label .hint,.label .hint {
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-family: var(--font-body);
    font-weight: 400;
    display: block;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    color: var(--colour-muted)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) label .hint,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .label .hint {
    color: inherit
}

label .field-validation-error,label .error,.label .field-validation-error,.label .error {
    display: none
}

.form-control,.custom-select {
    height: var(--input-height);
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.5rem;
    background-color: var(--colour-input);
    border: 1px solid currentColor;
    border-color: var(--colour-muted);
    padding: 0.5rem 0.75rem;
    margin: 0;
    border-radius: 0;
    display: inline-block
}

@media(min-width: 36em) {
    .form-control,.custom-select {
        font-size:1rem;
        padding: 0.75rem 1rem
    }
}

.form-control:hover,.custom-select:hover {
    border-color: var(--colour-body)
}

.form-control:not(:focus):not(:active),.custom-select:not(:focus):not(:active) {
    box-shadow: none
}

.form-control:focus,.custom-select:focus,.form-control:active,.custom-select:active {
    border-color: var(--colour-body);
    box-shadow: 0 0 0 2px var(--colour-body)
}

.form-control[disabled],[disabled].custom-select {
    background-color: var(--colour-light);
    border-color: var(--colour-border);
    pointer-events: none
}

.form-group {
    position: relative;
    overflow: visible;
    margin-bottom: 2.5rem;
    --input-height: 2.5rem
}

.form-group::after {
    display: block;
    clear: both;
    content: ""
}

@media(min-width: 36em) {
    .form-group {
        --input-height: 3rem;
        margin-bottom: 3rem
    }
}

.form-group .form-control__wrapper {
    display: inline-block;
    width: 100%
}

.form-group .form-control__wrapper[data-prefix] {
    position: relative
}

.form-group .form-control__wrapper[data-prefix]:before,.form-group .form-control__wrapper[data-suffix]:before {
    content: attr(data-prefix);
    display: block;
    position: absolute;
    text-align: center;
    bottom: 1px;
    width: 3rem;
    left: 0;
    font-size: 1.25rem;
    pointer-events: none;
    color: var(--colour-muted);
    font-weight: 400;
    font-family: var(--font-heading);
    line-height: var(--input-height);
    height: var(--input-height)
}

.form-group .form-control__wrapper[data-prefix] .form-control,.form-group .form-control__wrapper[data-prefix] .custom-select {
    padding-left: 3rem
}

.form-group .form-control__wrapper[data-suffix]:before {
    content: attr(data-suffix);
    left: auto;
    right: 0;
    width: 4rem
}

.form-group .form-control__wrapper[data-suffix] .form-control,.form-group .form-control__wrapper[data-suffix] .custom-select {
    padding-right: 4rem
}

.form-group.form-group--inline-suffix .form-control__wrapper[data-suffix] {
    position: relative
}

.form-group.form-group--inline-suffix .form-control__wrapper[data-suffix] .form-control,.form-group.form-group--inline-suffix .form-control__wrapper[data-suffix] .custom-select {
    padding-right: 1rem
}

.form-group.form-group--inline-suffix .form-control__wrapper[data-suffix]:before {
    left: calc(100% + 1rem)
}

.form-group p:last-child {
    padding-bottom: 0
}

.form-group&gt;*:last-child {
    margin-bottom: 0
}

.form-group--hidden {
    z-index: -99;
    position: absolute;
    opacity: 0;
    top: -99999px
}

.form-group .form-control~.form-control,.form-group .custom-select~.form-control,.form-group .form-control~.custom-select,.form-group .custom-select~.custom-select {
    margin-left: 0.5rem
}

.form-group {
    --input-width-long: 35rem;
    --input-width-medium: 13.5rem;
    --input-width-short: 9rem;
    --input-width-four: 4.5rem;
    --input-width-two: 3rem
}

.form-group .form-control,.form-group .custom-select,.form-group .form-control__wrapper {
    max-width: var(--input-max-width, 100%)
}

.form-group--long {
    --input-max-width: var(--input-width-long)
}

.form-group--medium {
    --input-max-width: var(--input-width-medium)
}

.form-group--short {
    --input-max-width: var(--input-width-short)
}

.form-group--4-chars {
    --input-max-width: var(--input-width-four)
}

.form-group--2-chars {
    --input-max-width: var(--input-width-two)
}

.form-group .form-control--long {
    --input-max-width: var(--input-width-long)
}

.form-group .form-control--medium {
    --input-max-width: var(--input-width-medium)
}

.form-group .form-control--short {
    --input-max-width: var(--input-width-short)
}

.form-group .form-control--4-chars {
    --input-max-width: var(--input-width-four)
}

.form-group .form-control--2-chars {
    --input-max-width: var(--input-width-two)
}

@media(min-width: 36em) {
    .form-group {
        --input-width-long: 35rem;
        --input-width-medium: 25rem;
        --input-width-short: 15rem;
        --input-width-four: 6rem;
        --input-width-two: 4rem
    }
}

@media(min-width: 36em) {
    .form-group--sm {
        --input-height: 2.5rem;
        margin-bottom: 2.5rem;
        --input-width-long: 35rem;
        --input-width-medium: 13.5rem;
        --input-width-short: 9rem;
        --input-width-four: 4.5rem;
        --input-width-two: 3rem
    }

    .form-group--sm label {
        font-size: 0.875rem
    }

    .form-group--sm .form-control,.form-group--sm .custom-select {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
        line-height: 1.5rem
    }

    .form-group--lg {
        --input-height: 4rem;
        margin-bottom: 3rem;
        --input-width-long: 50rem;
        --input-width-medium: 35rem;
        --input-width-short: 20rem;
        --input-width-four: 9rem;
        --input-width-two: 5.5rem
    }

    .form-group--lg label {
        font-size: 1.25rem;
        line-height: 1.75rem;
        margin-bottom: 1rem
    }

    .form-group--lg .form-control,.form-group--lg .custom-select {
        font-size: 1.25rem;
        line-height: 1.75rem;
        padding: 1.25rem 1rem
    }
}

.form--submitted .form-group--error {
    padding-left: 1rem;
    border-left: 4px solid currentColor;
    border-color: var(--colour-danger)
}

.form--submitted .form-group--error .form-control,.form--submitted .form-group--error .custom-select,.form--submitted .form-group--error .form-control:invalid,.form--submitted .form-group--error .form-control.is-invalid,.form--submitted .form-group--error .form-control.input-validation-error {
    border-color: var(--colour-danger)
}

.form--submitted .form-group--error .form-control:focus,.form--submitted .form-group--error .custom-select:focus,.form--submitted .form-group--error .form-control:invalid:focus,.form--submitted .form-group--error .form-control.is-invalid:focus,.form--submitted .form-group--error .form-control.input-validation-error:focus {
    box-shadow: 0 0 0 1px var(--colour-danger)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form--submitted .form-group--error .form-control,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form--submitted .form-group--error .custom-select {
    border-color: var(--colour-danger)
}

.form--submitted .form-group--error .error:not([aria-hidden=true]) {
    display: block;
    color: var(--colour-danger);
    font-family: var(--font-body);
    font-weight: bold;
    font-size: 1rem;
    padding-top: 0.5rem
}

.form--submitted .form-group--error .error+.error {
    display: none !important
}

.form--submitted .field-validation-error,.form--submitted .error {
    display: none
}

.form--submitted .field-validation-error[aria-hidden=true],.form--submitted .error[aria-hidden=true] {
    display: none
}

.form--submitted .field-validation-error:not([aria-hidden=true]),.form--submitted .error:not([aria-hidden=true]) {
    display: block
}

.form-group--decorative .form-control,.form-group--decorative .custom-select {
    border: none;
    border-bottom: 1px solid currentColor;
    background-color: rgba(0,0,0,0);
    padding-left: 0
}

.form-group--decorative .form-control:hover,.form-group--decorative .custom-select:hover {
    box-shadow: none
}

.form-group--decorative .form-control:focus,.form-group--decorative .custom-select:focus,.form-group--decorative .form-control:active,.form-group--decorative .custom-select:active {
    background-color: rgba(0,0,0,0);
    box-shadow: none;
    border-bottom: 2px solid currentColor;
    margin-bottom: -1px
}

.form-group--decorative .form-control[disabled],.form-group--decorative [disabled].custom-select {
    border-bottom-color: var(--colour-border)
}

.form--submitted .form-group--decorative.form-group--error {
    border-left: none;
    padding-left: 0
}

.form--submitted .form-group--decorative.form-group--error .form-control,.form--submitted .form-group--decorative.form-group--error .custom-select {
    border-bottom: 2px solid currentColor;
    border-color: var(--colour-danger);
    margin-bottom: -1px
}

.form--submitted .form-group--decorative.form-group--error .form-control:focus,.form--submitted .form-group--decorative.form-group--error .custom-select:focus,.form--submitted .form-group--decorative.form-group--error .form-control:active,.form--submitted .form-group--decorative.form-group--error .custom-select:active {
    box-shadow: none
}

textarea,textarea.form-control,textarea.custom-select {
    min-height: 6rem;
    max-height: 25vh
}

.form-group--stepper:not(.form-group--long):not(.form-group--medium):not(.form-group--short):not(.form-group--4-chars):not(.form-group--2-chars) {
    --input-max-width: var(--input-width-two)
}

.form-group--stepper[data-prefix]:not(.form-group--long):not(.form-group--medium):not(.form-group--short):not(.form-group--4-chars):not(.form-group--2-chars),.form-group--stepper[data-suffix]:not(.form-group--long):not(.form-group--medium):not(.form-group--short):not(.form-group--4-chars):not(.form-group--2-chars) {
    --input-max-width: calc(var(--input-width-four) + 3rem)
}

.form-group--stepper.form-group--inline-suffix .form-control__wrapper:before {
    margin-left: 3rem
}

.form-group--stepper .form-control,.form-group--stepper .custom-select,.form-group--stepper .form-control__wrapper {
    float: left
}

.form-group--stepper .form-control__wrapper {
    width: calc(100% - 6rem);
    margin-left: 0.5rem;
    position: relative
}

.form-group--stepper .form-control.stepper__minus,.form-group--stepper .stepper__minus.custom-select,.form-group--stepper .form-control.stepper__plus,.form-group--stepper .stepper__plus.custom-select {
    width: var(--input-height);
    text-indent: -300%;
    overflow: hidden;
    position: relative;
    background: var(--colour-light);
    border-color: var(--colour-border);
    cursor: pointer;
    padding-left: 0
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .form-control.stepper__minus,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .stepper__minus.custom-select,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .form-control.stepper__plus,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .stepper__plus.custom-select {
    background: rgba(0,0,0,0)
}

.form-group--stepper .form-control.stepper__minus:before,.form-group--stepper .stepper__minus.custom-select:before,.form-group--stepper .form-control.stepper__plus:before,.form-group--stepper .stepper__plus.custom-select:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    padding: 0 !important;
    text-align: center;
    font-size: 3rem;
    vertical-align: middle;
    box-sizing: content-box;
    color: var(--colour-body-light);
    -webkit-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
    background: currentColor;
    mask-image: var(--icon-plus);
    mask-size: 2rem 2rem;
    mask-repeat: no-repeat;
    mask-position: 50% 50%;
    -webkit-mask-image: var(--icon-plus);
    -webkit-mask-size: 2rem 2rem;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 50% 50%
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .form-control.stepper__minus:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .stepper__minus.custom-select:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .form-control.stepper__plus:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .stepper__plus.custom-select:before {
    background: var(--colour-white)
}

.form-group--stepper .form-control.stepper__minus:hover,.form-group--stepper .stepper__minus.custom-select:hover,.form-group--stepper .form-control.stepper__minus:focus,.form-group--stepper .stepper__minus.custom-select:focus,.form-group--stepper .form-control.stepper__plus:hover,.form-group--stepper .stepper__plus.custom-select:hover,.form-group--stepper .form-control.stepper__plus:focus,.form-group--stepper .stepper__plus.custom-select:focus {
    border-color: var(--colour-muted);
    box-shadow: 0 0 0 1px var(--colour-muted)
}

.form-group--stepper .form-control.stepper__minus:active,.form-group--stepper .stepper__minus.custom-select:active,.form-group--stepper .form-control.stepper__plus:active,.form-group--stepper .stepper__plus.custom-select:active {
    border-color: var(--colour-body);
    box-shadow: 0 0 0 1px var(--colour-body)
}

.form-group--stepper .form-control.stepper__minus:before,.form-group--stepper .stepper__minus.custom-select:before {
    mask-image: var(--icon-minus);
    -webkit-mask-image: var(--icon-minus)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .form-control.stepper__minus:focus:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .stepper__minus.custom-select:focus:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .form-control.stepper__minus:active:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .stepper__minus.custom-select:active:before {
    background: var(--colour-body)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .form-control.stepper__plus:focus:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .stepper__plus.custom-select:focus:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .form-control.stepper__plus:active:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group--stepper .stepper__plus.custom-select:active:before {
    background: var(--colour-body)
}

.form-group--stepper input.form-control,.form-group--stepper input.custom-select {
    text-align: center
}

.form-group--stepper .form-control.stepper__plus,.form-group--stepper .stepper__plus.custom-select {
    margin-right: 0
}

.form-group--inline {
    display: flex;
    flex-wrap: wrap
}

.form-group--inline label {
    min-width: 11rem;
    flex: 1 0 11rem;
    margin-bottom: 0;
    margin-right: 1rem;
    padding-top: 0.75rem
}

.form-group--inline input,.form-group--inline select {
    flex: 1 1 calc(100% - 12rem);
    max-width: calc(100% - 12rem);
    margin: 0
}

.form-group--inline .form-control__wrapper {
    flex: 1 1 calc(100% - 12rem);
    text-align: right
}

.form-group--inline[data-prefix]:before {
    left: 12rem
}

.text-center .form-group {
    margin-left: auto;
    margin-right: auto
}

.text-center .form-group h5,.text-center .form-group label {
    text-align: left
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group {
    --colour-danger: #ffffff
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .form-control,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .custom-select {
    border-color: var(--colour-border);
    color: var(--colour-white)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .form-control:hover,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .custom-select:hover,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .form-control:active,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .custom-select:active,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .form-control:focus,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .custom-select:focus {
    --border-colour: var(--colour-white);
    border-color: var(--colour-white);
    box-shadow: 0 0 0 1px var(--border-colour)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .form-control:active,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .custom-select:active,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .form-control:focus,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .custom-select:focus {
    background-color: var(--colour-white);
    color: var(--colour-body)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group .form-control[disabled],[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group [disabled].custom-select {
    background-color: rgba(0,0,0,0);
    border-color: var(--colour-border);
    opacity: .4
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .form-control,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .custom-select {
    border-color: var(--colour-muted)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .form-control:hover,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .custom-select:hover {
    box-shadow: none;
    border-color: var(--colour-white)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .form-control:focus,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .custom-select:focus,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .form-control:active,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .custom-select:active {
    background-color: rgba(0,0,0,0);
    box-shadow: none;
    color: var(--colour-white);
    border-color: var(--colour-white)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form--submitted .form-group--decorative.form-group--error .form-control,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form--submitted .form-group--decorative.form-group--error .custom-select {
    border-color: var(--colour-white)
}

.custom-select {
    border-radius: 0;
    display: block;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: var(--icon-chevron-down);
    background-size: 2rem 2rem !important;
    background-position: calc(100% - 0.5rem) 50%;
    background-repeat: no-repeat;
    box-shadow: none
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .custom-select:not(:active):not(:focus) {
    background-image: var(--icon-chevron-down-white)
}

.custom-select[disabled] {
    background-color: var(--colour-light);
    border-color: var(--colour-border)
}

.custom-select:focus {
    outline: 0
}

.custom-select:focus::-ms-value {
    color: #000;
    background-color: #fff
}

.custom-select:active {
    background-color: var(--colour-light)
}

.custom-select::-ms-expand {
    display: none
}

.custom-select[multiple],.custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: .75rem;
    background-image: none
}

.form-group--error .custom-select {
    border-color: var(--colour-primary)
}

.form-group--error .custom-select:hover,.form-group--error .custom-select:focus,.form-group--error .custom-select:active {
    border-color: var(--colour-primary)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .custom-select:focus,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .form-group.form-group--decorative .custom-select:active {
    color: var(--colour-body);
    background-color: var(--colour-white);
    padding-left: .5rem
}

.custom-control {
    padding-left: 0;
    margin-bottom: 1rem;
    position: relative
}

.custom-control&gt;input {
    position: absolute;
    z-index: -1;
    opacity: 0
}

.custom-control::after {
    display: block;
    clear: both;
    content: ""
}

@media(min-width: 36em) {
    .custom-control {
        margin-bottom:1.5rem
    }
}

.custom-control-label {
    position: relative;
    padding-bottom: 0;
    padding-left: 2rem;
    margin-bottom: 1rem;
    --custom-control-bg: var(--colour-white);
    --custom-control-border: var(--colour-muted);
    --custom-control-bg-disabled: var(--colour-light);
    --custom-control-border-disabled: var(--colour-border);
    --custom-control-border-hover: var(--colour-body);
    --custom-control-bg-active: var(--colour-light);
    --checkbox-border-checked: var(--colour-dark-2);
    --checkbox-bg-checked: var(--colour-dark-2);
    --checkbox-tick: var(--colour-white);
    --checkbox-border-checked-hover: var(--colour-body);
    --checkbox-border-checked-active: transparent;
    --checkbox-bg-checked-active: var(--colour-muted);
    --checkbox-tick-active: var(--colour-white);
    --radio-border-checked: var(--colour-body);
    --radio-bg-checked: var(--colour-white)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .custom-control-label {
    --custom-control-bg: transparent;
    --custom-control-border: var(--colour-white);
    --custom-control-bg-disabled: transparent;
    --custom-control-border-disabled: var(--colour-white);
    --custom-control-border-hover: var(--colour-white);
    --custom-control-bg-active: var(--colour-white);
    --checkbox-border-checked: var(--colour-white);
    --checkbox-bg-checked: var(--colour-white);
    --checkbox-tick: #000000;
    --checkbox-border-checked-hover: var(--colour-muted);
    --checkbox-border-checked-active: var(--colour-border);
    --checkbox-bg-checked-active: transparent;
    --checkbox-tick-active: var(--colour-border);
    --radio-border-checked: var(--colour-dark)
}

@media(min-width: 36em) {
    .custom-control-label {
        padding-left:2.25rem;
        margin-bottom: 1.5rem
    }
}

.custom-control-label:last-child {
    margin-bottom: 0
}

.custom-control-label:before {
    content: "";
    pointer-events: none;
    position: absolute;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    top: 0;
    left: 0;
    border: 1px solid currentColor;
    border-color: var(--custom-control-border);
    background: var(--custom-control-bg);
    box-shadow: none
}

.custom-control-label:after {
    content: "";
    pointer-events: none;
    position: absolute;
    display: block;
    background: no-repeat 50%/50% 50%;
    width: 1.5rem;
    height: 1.5rem;
    top: 0;
    left: 0
}

.custom-control-input[type=radio]+.custom-control-label:before {
    border-radius: 50%
}

.custom-control-input[type=checkbox]:disabled~.custom-control-label:before,.custom-control-input[type=radio]:disabled+.custom-control-label:before {
    background: var(--custom-control-bg-disabled);
    border-color: var(--custom-control-border-disabled)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .custom-control-input[type=checkbox]:disabled~.custom-control-label:before,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .custom-control-input[type=radio]:disabled+.custom-control-label:before {
    opacity: .4
}

.custom-control-input[type=checkbox]:not(:disabled)~.custom-control-label:hover:before,.custom-control-input[type=radio]:not(:disabled)+.custom-control-label:hover:before {
    border-color: var(--custom-control-border-hover);
    box-shadow: 0 0 0 1px var(--custom-control-border-hover)
}

.custom-control-input[type=checkbox]:not(:disabled):focus~.custom-control-label:before,.custom-control-input[type=radio]:not(:disabled):focus+.custom-control-label:before {
    border-color: var(--custom-control-border-hover);
    box-shadow: 0 0 0 1px var(--custom-control-border-hover)
}

.custom-control-input[type=checkbox]:not(:disabled):active~.custom-control-label:before,.custom-control-input[type=radio]:not(:disabled):active+.custom-control-label:before {
    border-color: var(--custom-control-border-hover);
    background: var(--custom-control-bg-active)
}

.custom-control-input[type=checkbox]:not(:disabled):checked~.custom-control-label:before {
    border-color: var(--checkbox-border-checked);
    background: var(--checkbox-bg-checked)
}

.custom-control-input[type=checkbox]:not(:disabled):checked~.custom-control-label:after {
    mask-image: var(--icon-tick);
    mask-size: 1.5rem 1.5rem;
    mask-repeat: no-repeat;
    mask-position: 50% 50%;
    -webkit-mask-image: var(--icon-tick);
    -webkit-mask-size: 1.5rem 1.5rem;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 50% 50%;
    background: var(--checkbox-tick)
}

.custom-control-input[type=checkbox]:not(:disabled):checked:focus~.custom-control-label:before,.custom-control-input[type=checkbox]:not(:disabled):checked~.custom-control-label:hover:before {
    border-color: var(--checkbox-border-checked-hover);
    box-shadow: 0 0 0 1px var(--checkbox-border-checked-hover)
}

.custom-control-input[type=checkbox]:not(:disabled):checked:active~.custom-control-label:before {
    border-color: var(--checkbox-border-checked-active);
    background: var(--checkbox-bg-checked-active);
    box-shadow: none
}

.custom-control-input[type=checkbox]:not(:disabled):checked:active~.custom-control-label:after {
    background: var(--checkbox-tick-active)
}

.custom-control-input[type=radio]:not(:disabled):checked+.custom-control-label:before {
    background: var(--radio-bg-checked);
    border-color: var(--radio-border-checked)
}

.custom-control-input[type=radio]:not(:disabled):checked+.custom-control-label:after {
    width: 0.75rem;
    height: 0.75rem;
    margin-left: 0.375rem;
    margin-top: 0.375rem;
    background-color: var(--colour-dark);
    border-radius: 50%
}

.custom-control-input[type=radio]:not(:disabled):checked:focus+.custom-control-label:before,.custom-control-input[type=radio]:not(:disabled):checked+.custom-control-label:hover:before {
    border-color: var(--checkbox-border-checked-hover);
    box-shadow: 0 0 0 1px var(--checkbox-border-checked-hover)
}

@media(min-width: 36em) {
    .custom-control--two-columns {
        display:flex;
        flex-flow: row wrap
    }

    .custom-control--two-columns label.custom-control-label.btn {
        width: calc(50% - 0.5rem);
        max-width: calc(50% - .5rem);
        flex-shrink: 1;
        display: inline-block;
        min-width: calc(50% - .5rem)
    }

    .custom-control--two-columns label.custom-control-label.btn:nth-of-type(odd) {
        margin-right: 1rem
    }

    .custom-control--two-columns .option-content {
        max-width: 100%;
        min-width: 100%
    }
}

@media(min-width: 62em) {
    .custom-control--md-two-columns {
        display:flex;
        flex-flow: row wrap
    }

    .custom-control--md-two-columns label.custom-control-label.btn {
        width: calc(50% - 0.5rem);
        max-width: calc(50% - .5rem);
        flex-shrink: 1;
        display: inline-block;
        min-width: calc(50% - .5rem)
    }

    .custom-control--md-two-columns label.custom-control-label.btn:nth-of-type(odd) {
        margin-right: 1rem
    }

    .custom-control--md-two-columns .option-content {
        max-width: 100%;
        min-width: 100%
    }
}

.form-group--custom-inline .custom-control {
    display: inline-block
}

.form-group--custom-inline .custom-control:not(:last-child) {
    padding-right: 1.5rem
}

.custom-control-label.btn,.list-links&gt;li&gt;a.custom-control-label {
    --custom-btn-bg: var(--colour-light);
    --custom-btn-border: var(--colour-border);
    --custom-btn-border-hover: var(--colour-muted);
    --custom-btn-border-active: var(--colour-body);
    --custom-btn-bg-checked: var(--colour-dark-2);
    --custom-btn-color-checked: var(--colour-white);
    --custom-btn-border-checkbox-checked: var(--colour-white);
    --custom-btn-border-checkbox-hover: var(--colour-white);
    background: var(--custom-btn-bg);
    border: 1px solid currentColor;
    border-color: var(--custom-btn-border);
    padding: 0.75rem 0.75rem 0.75rem 3.75rem;
    margin-bottom: 0.5rem;
    display: block
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .custom-control-label.btn,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .list-links&gt;li&gt;a.custom-control-label {
    --custom-btn-bg: transparent;
    --custom-btn-border: var(--colour-white);
    --custom-btn-border-hover: var(--colour-white);
    --custom-btn-border-active: var(--colour-white);
    --custom-btn-bg-checked: var(--colour-white);
    --custom-btn-color-checked: #000000;
    --custom-btn-border-checkbox-checked: var(--colour-body);
    --custom-btn-border-checkbox-hover: var(--colour-muted)
}

@media(min-width: 36em) {
    .custom-control-label.btn,.list-links&gt;li&gt;a.custom-control-label {
        padding:1rem 1rem 1rem 4.25rem;
        margin-bottom: 1rem
    }
}

.custom-control-input[type=radio]:not(:disabled)+.custom-control-label.btn:not(.btn),.list-links&gt;li&gt;.custom-control-input[type=radio]:not(:disabled)+a.custom-control-label:not(.btn) {
    padding-left: 3.5rem;
    padding-right: 1.5rem
}

.custom-control-label.btn:before,.list-links&gt;li&gt;a.custom-control-label:before,.custom-control-label.btn:after,.list-links&gt;li&gt;a.custom-control-label:after {
    top: 0.75rem;
    left: 0.75rem
}

@media(min-width: 36em) {
    .custom-control-label.btn:before,.list-links&gt;li&gt;a.custom-control-label:before,.custom-control-label.btn:after,.list-links&gt;li&gt;a.custom-control-label:after {
        top:1rem;
        left: 1rem
    }
}

.custom-control-input[type=checkbox]:not(:disabled)~.custom-control-label.btn:hover,.list-links&gt;li&gt;.custom-control-input[type=checkbox]:not(:disabled)~a.custom-control-label:hover,.custom-control-input[type=radio]:not(:disabled)+.custom-control-label.btn:hover,.list-links&gt;li&gt;.custom-control-input[type=radio]:not(:disabled)+a.custom-control-label:hover,.custom-control-input[type=checkbox]:not(:disabled):focus~.custom-control-label.btn,.list-links&gt;li&gt;.custom-control-input[type=checkbox]:not(:disabled):focus~a.custom-control-label,.custom-control-input[type=radio]:not(:disabled):focus+.custom-control-label.btn,.list-links&gt;li&gt;.custom-control-input[type=radio]:not(:disabled):focus+a.custom-control-label {
    border-color: var(--custom-btn-border-hover);
    box-shadow: 0 0 0 1px var(--custom-btn-border-hover) !important
}

.custom-control-input[type=checkbox]:not(:disabled):active~.custom-control-label.btn,.list-links&gt;li&gt;.custom-control-input[type=checkbox]:not(:disabled):active~a.custom-control-label,.custom-control-input[type=radio]:not(:disabled):active+.custom-control-label.btn,.list-links&gt;li&gt;.custom-control-input[type=radio]:not(:disabled):active+a.custom-control-label {
    border-color: var(--custom-btn-border-active);
    box-shadow: 0 0 0 1px var(--custom-btn-border-active) !important
}

.custom-control-input[type=checkbox]:not(:disabled):checked~.custom-control-label.btn,.list-links&gt;li&gt;.custom-control-input[type=checkbox]:not(:disabled):checked~a.custom-control-label,.custom-control-input[type=radio]:not(:disabled):checked+.custom-control-label.btn,.list-links&gt;li&gt;.custom-control-input[type=radio]:not(:disabled):checked+a.custom-control-label {
    background-color: var(--custom-btn-bg-checked);
    color: var(--custom-btn-color-checked)
}

.custom-control-input[type=checkbox]:not(:disabled):not(:focus):not(:active):checked~.custom-control-label.btn:not(:hover):before,.list-links&gt;li&gt;.custom-control-input[type=checkbox]:not(:disabled):not(:focus):not(:active):checked~a.custom-control-label:not(:hover):before {
    border-color: var(--custom-btn-border-checkbox-checked)
}

.custom-control-input[type=checkbox]:not(:disabled):focus:not(:active):checked~.custom-control-label.btn:before,.list-links&gt;li&gt;.custom-control-input[type=checkbox]:not(:disabled):focus:not(:active):checked~a.custom-control-label:before,.custom-control-input[type=checkbox]:not(:disabled):checked~.custom-control-label.btn:hover:before,.list-links&gt;li&gt;.custom-control-input[type=checkbox]:not(:disabled):checked~a.custom-control-label:hover:before {
    border-color: var(--custom-btn-border-checkbox-hover);
    box-shadow: 0 0 0 1px var(--custom-btn-border-checkbox-hover)
}

.form-group--btns-inline .custom-control {
    float: left;
    margin-bottom: 0
}

.form-group--btns-inline .custom-control label {
    float: left
}

.form-group--btns-inline .custom-control label {
    margin-right: 0.5rem
}

.custom-control-label.btn-select {
    padding-right: 3rem;
    padding-left: 1rem
}

.custom-control-label.btn-select:before {
    display: none
}

.custom-control-label.btn-select:after,.custom-control-label.btn-select:hover:after {
    display: none
}

.custom-control-label.btn-select[data-icon] {
    padding-left: 3rem
}

.custom-control-label.btn-select[data-icon] .svg__wrapper {
    position: absolute;
    top: 1rem;
    left: 1rem;
    margin: 0
}

.custom-control-input[type=checkbox]:not(:disabled):checked~.custom-control-label.btn-select:after,.custom-control-input[type=radio]:not(:disabled):checked+.custom-control-label.btn-select:after {
    display: block;
    left: auto;
    right: 1rem;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    mask-image: var(--icon-tick);
    mask-size: 1.5rem 1.5rem;
    mask-repeat: no-repeat;
    mask-position: 50% 50%;
    -webkit-mask-image: var(--icon-tick);
    -webkit-mask-size: 1.5rem 1.5rem;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 50% 50%;
    background: var(--checkbox-tick)
}

.custom-control-label.btn-select~.option-content {
    padding-left: 0;
    margin-left: 0;
    border: none
}

.option-content {
    clear: both;
    display: none;
    margin-left: 0.5rem;
    padding-left: 1.25rem;
    border-left: 4px solid currentColor;
    border-color: var(--colour-border);
    overflow: hidden;
    margin-bottom: 2rem
}

@media(min-width: 36em) {
    .option-content {
        padding-left:1.5rem
    }
}

.option-content&gt;*:last-child {
    margin-bottom: 0
}

.option-content .form-group:not(.form-group--btns-inline) label {
    float: none
}

.option-content .form-group--inline.form-group--btns-inline .custom-control.custom-radio label:not(label:first-child) {
    float: left
}

.option-1:checked~.option-1-content {
    display: block
}

.option-2:checked~.option-2-content {
    display: block
}

.option-3:checked~.option-3-content {
    display: block
}

.option-4:checked~.option-4-content {
    display: block
}

.option-5:checked~.option-5-content {
    display: block
}

.option-6:checked~.option-6-content {
    display: block
}

.option-7:checked~.option-7-content {
    display: block
}

.option-8:checked~.option-8-content {
    display: block
}

.option-9:checked~.option-9-content {
    display: block
}

.option-10:checked~.option-10-content {
    display: block
}

.option-11:checked~.option-11-content {
    display: block
}

.option-12:checked~.option-12-content {
    display: block
}

.option-13:checked~.option-13-content {
    display: block
}

.option-14:checked~.option-14-content {
    display: block
}

.option-15:checked~.option-15-content {
    display: block
}

.option-16:checked~.option-16-content {
    display: block
}

.option-17:checked~.option-17-content {
    display: block
}

.option-18:checked~.option-18-content {
    display: block
}

.option-19:checked~.option-19-content {
    display: block
}

.option-20:checked~.option-20-content {
    display: block
}

.form-group--range {
    margin-bottom: 10rem;
    position: relative;
    z-index: 1
}

input[type=range].custom-range {
    position: absolute;
    top: 100%;
    left: 0;
    width: calc(100% + 2.5rem);
    max-width: calc(100% + 2.5rem);
    flex: 1 0 calc(100% + 2.5rem) !important;
    margin-top: 1.5rem;
    margin-left: -1.25rem;
    margin-right: -1.25rem;
    height: 2.5rem;
    padding: 0;
    background-color: rgba(0,0,0,0);
    appearance: none;
    -webkit-appearance: none
}

.form-group--error input[type=range].custom-range {
    margin-left: calc(-1.25rem - 4px);
    max-width: calc(100% + 2.5rem + 4px)
}

input[type=range].custom-range:focus {
    outline: none
}

input[type=range].custom-range:focus::-webkit-slider-thumb {
    box-shadow: none
}

input[type=range].custom-range:focus::-moz-range-thumb {
    box-shadow: none
}

input[type=range].custom-range:focus::-ms-thumb {
    box-shadow: none
}

input[type=range].custom-range::-moz-focus-outer {
    border: 0
}

input[type=range].custom-range::-webkit-slider-thumb {
    width: 2.5rem;
    height: 2.5rem;
    border: none;
    border-radius: 50%;
    box-shadow: none;
    appearance: none;
    background-color: var(--colour-secondary);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpolyline points='8.74 17.63 3 12 8.74 6.38' stroke='%23FFFFFF' stroke-width='2px' stroke-linejoin='round' fill='transparent'%3e%3c/polyline%3e%3cpolyline points='15.26 17.63 21 12 15.26 6.38' stroke='%23FFFFFF' stroke-width='2px' stroke-linejoin='round' fill='transparent'%3e%3c/polyline%3e%3c/svg%3e");
    background-size: 1.5rem;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    margin-top: -1.125rem;
    -webkit-appearance: none
}

input[type=range].custom-range::-webkit-slider-thumb:hover,input[type=range].custom-range::-webkit-slider-thumb:focus {
    background-color: var(--colour-secondary-light)
}

input[type=range].custom-range::-webkit-slider-thumb:active {
    background-color: var(--colour-secondary-tint)
}

input[type=range].custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.25rem;
    color: rgba(0,0,0,0);
    cursor: pointer;
    border-color: rgba(0,0,0,0);
    border-radius: 0;
    box-shadow: none;
    background-color: var(--colour-border);
    background: linear-gradient(to right, var(--bg-colour), var(--bg-colour) calc(1.25rem - 1px), var(--colour-secondary) calc(1.25rem - 1px), var(--colour-secondary) var(--percent, 0%), var(--colour-border) var(--percent, 0%), var(--colour-border) calc(100% - 1.25rem + 1px), var(--bg-colour) calc(100% - 1.25rem + 1px))
}

input[type=range].custom-range::-moz-range-thumb {
    width: 2.5rem;
    height: 2.5rem;
    border: none;
    border-radius: 50%;
    box-shadow: none;
    appearance: none;
    background-color: var(--colour-secondary);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpolyline points='8.74 17.63 3 12 8.74 6.38' stroke='%23FFFFFF' stroke-width='2px' stroke-linejoin='round' fill='transparent'%3e%3c/polyline%3e%3cpolyline points='15.26 17.63 21 12 15.26 6.38' stroke='%23FFFFFF' stroke-width='2px' stroke-linejoin='round' fill='transparent'%3e%3c/polyline%3e%3c/svg%3e");
    background-size: 1.5rem;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

input[type=range].custom-range::-moz-range-thumb:hover,input[type=range].custom-range::-moz-range-thumb:focus {
    background-color: var(--colour-secondary-light)
}

input[type=range].custom-range::-moz-range-thumb:active {
    background-color: var(--colour-secondary-tint)
}

input[type=range].custom-range::-moz-range-track {
    width: 100%;
    height: 0.25rem;
    color: rgba(0,0,0,0);
    cursor: pointer;
    border-color: rgba(0,0,0,0);
    border-radius: 0;
    box-shadow: none;
    background-color: var(--colour-border);
    background: linear-gradient(to right, var(--bg-colour), var(--bg-colour) calc(1.25rem - 1px), var(--colour-secondary) calc(1.25rem - 1px), var(--colour-secondary) var(--percent, 0%), var(--colour-border) var(--percent, 0%), var(--colour-border) calc(100% - 1.25rem + 1px), var(--bg-colour) calc(100% - 1.25rem + 1px))
}

input[type=range].custom-range::-ms-thumb {
    width: 2.5rem;
    height: 2.5rem;
    border: none;
    border-radius: 50%;
    box-shadow: none;
    appearance: none;
    background-color: var(--colour-secondary);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpolyline points='8.74 17.63 3 12 8.74 6.38' stroke='%23FFFFFF' stroke-width='2px' stroke-linejoin='round' fill='transparent'%3e%3c/polyline%3e%3cpolyline points='15.26 17.63 21 12 15.26 6.38' stroke='%23FFFFFF' stroke-width='2px' stroke-linejoin='round' fill='transparent'%3e%3c/polyline%3e%3c/svg%3e");
    background-size: 1.5rem;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    margin-top: 0
}

input[type=range].custom-range::-ms-thumb:hover,input[type=range].custom-range::-ms-thumb:focus {
    background-color: var(--colour-secondary-light)
}

input[type=range].custom-range::-ms-thumb:active {
    background-color: var(--colour-secondary-tint)
}

input[type=range].custom-range::-ms-track {
    width: 100%;
    height: 0.25rem;
    color: rgba(0,0,0,0);
    cursor: pointer;
    border-color: rgba(0,0,0,0);
    border-radius: 0;
    box-shadow: none;
    background-color: var(--colour-border)
}

input[type=range].custom-range::-ms-fill-lower {
    background-color: var(--colour-secondary)
}

input[type=range].custom-range::-ms-fill-upper {
    background-color: var(--colour-border)
}

input[type=range].custom-range:disabled {
    opacity: .5
}

.custom-range__markers {
    height: 3.5rem;
    width: 100%;
    position: absolute;
    top: 100%;
    margin-top: 1rem;
    left: 0;
    z-index: -1
}

.form-group--error .custom-range__markers {
    margin-left: -4px
}

.custom-range__markers .marker {
    position: absolute;
    top: 0;
    height: 100%;
    display: none
}

.custom-range__markers .marker:before {
    content: "";
    display: block;
    top: 50%;
    left: 0;
    height: 1rem;
    margin-top: -0.5rem;
    margin-left: -1px;
    width: 2px;
    position: absolute;
    background: var(--colour-border)
}

.custom-range__markers .marker__title {
    position: absolute;
    top: 100%;
    left: 0;
    transform: translate(-50%, 0);
    opacity: 1
}

.custom-range__markers .marker:first-child {
    display: block
}

.custom-range__markers .marker:first-child .marker__title {
    transform: translate(-15%, 0)
}

.custom-range__markers .marker:last-child {
    display: block;
    width: 0 !important
}

.custom-range__markers .marker:last-child .marker__title {
    transform: translate(-85%, 0)
}

@media(min-width: 36em) {
    .custom-range__markers .marker {
        display:block
    }
}

@media(min-width: 36em) {
    .form-group--range-highlight .marker--highlight:after {
        content:"";
        display: block;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        position: absolute;
        background: var(--colour-secondary-light);
        opacity: .1
    }

    .form-group--range-highlight .marker--highlight+.marker--highlight {
        background: rgba(0,0,0,0)
    }
}

.pips {
    padding: 1.5rem 0
}

.pips ul {
    display: block;
    border: none;
    text-align: center;
    list-style: none;
    padding: 0;
    margin: 0 -1rem 0 -1rem;
    justify-content: center;
    max-width: none
}

.pips ul .pip {
    padding: 0;
    text-align: center;
    display: inline-block;
    min-width: auto;
    max-width: auto;
    margin: 0 0.5rem 0 0.5rem
}

.pips ul .pip:before {
    display: none
}

.pips ul .pip a,.pips ul .pip button {
    display: inline-block;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    border: solid 1px #6d7173;
    padding: 0;
    background-color: rgba(0,0,0,0)
}

.pips ul .pip a.current,.pips ul .pip button.current {
    border-color: var(--colour-primary);
    background: var(--colour-primary)
}

.pips ul .pip a.current:before,.pips ul .pip button.current:before {
    display: none
}

.pips ul .pip a:focus,.pips ul .pip button:focus {
    outline-width: 1px
}

.pips ul .pip a:focus,.pips ul .pip a:hover,.pips ul .pip button:focus,.pips ul .pip button:hover {
    border-color: var(--colour-primary)
}

.pips ul .pip a:focus:before,.pips ul .pip a:hover:before,.pips ul .pip button:focus:before,.pips ul .pip button:hover:before {
    display: none
}

.tooltip {
    position: relative;
    font-weight: bold;
    cursor: pointer;
    text-decoration-style: dotted;
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
    text-decoration-line: underline;
    text-decoration: 1px underline dotted currentColor
}

.tooltip strong,.tooltip .strong {
    color: inherit
}

.tooltip:after {
    display: none
}

.tooltip:hover,.tooltip:focus,.tooltip:active {
    color: var(--colour-hover);
    text-decoration: 1px underline
}

.tooltip.btn-link {
    margin-bottom: 2rem
}

p .tooltip,ul .tooltip,ol .tooltip,dd .tooltip,.body .tooltip,td .tooltip {
    margin: 0;
    display: inline;
    font-weight: 700
}

[data-tooltip] {
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 400;
    font-family: var(--font-body);
    position: absolute;
    visibility: hidden;
    opacity: 0;
    transition: opacity .2s ease-in-out,visibility .2s ease-in-out,margin .2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
    transform: translate3d(0, 0, 0);
    pointer-events: none;
    z-index: 2;
    padding: 0.75rem;
    margin-top: 0.5rem;
    width: 18.125rem;
    background-color: var(--colour-dark);
    color: var(--colour-white);
    border-radius: 0.5rem;
    text-align: left;
    bottom: auto;
    top: 100%;
    left: 0;
    margin: 0.5rem 0
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) [data-tooltip] {
    background-color: var(--colour-white);
    color: var(--colour-black)
}

.tooltip:hover [data-tooltip],.tooltip:focus [data-tooltip],.tooltip:active [data-tooltip] {
    visibility: visible;
    opacity: 1
}

.tooltip--right [data-tooltip] {
    left: auto;
    right: 0
}

.tooltip--center [data-tooltip] {
    left: 50%;
    transform: translate(-50%, 0)
}

.tooltip--top [data-tooltip] {
    top: auto;
    bottom: 100%
}

@media(min-width: 36em) {
    .tooltip--sm-right [data-tooltip] {
        left:auto;
        right: 0;
        transform: none
    }

    .tooltip--sm-center [data-tooltip] {
        right: auto;
        left: 50%;
        transform: translate(-50%, 0)
    }
}

@media(min-width: 62em) {
    .tooltip--md-right [data-tooltip] {
        left:auto;
        right: 0;
        transform: none
    }

    .tooltip--md-center [data-tooltip] {
        right: auto;
        left: 50%;
        transform: translate(-50%, 0)
    }
}

.tooltip--short [data-tooltip] {
    width: 13.5rem
}

@media(min-width: 36em) {
    [data-tooltip] {
        width:20rem
    }

    .tooltip--short [data-tooltip] {
        width: 13.5rem
    }

    .tooltip--long [data-tooltip] {
        width: 30rem
    }
}

.author {
    position: relative;
    padding-left: 4rem
}

.author__img {
    height: 3rem;
    width: 3rem;
    margin-right: 1rem;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0
}

.author__img img {
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.author .h6 {
    padding-bottom: 1rem
}

.author .small {
    display: block;
    padding-bottom: 3rem
}

@media(min-width: 36em) {
    .author {
        padding-left:5rem
    }

    .author__img {
        height: 4rem;
        width: 4rem
    }
}

.author--bio {
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    border-color: var(--colour-border);
    padding-top: 2rem;
    margin-bottom: 2rem
}

.author--bio .author__img {
    top: 2rem
}

@media(min-width: 36em) {
    .author--bio {
        padding-top:3rem;
        margin-bottom: 3rem
    }

    .author--bio .author__img {
        top: 3rem
    }
}

.list-social {
    padding-bottom: 3rem;
    overflow: hidden
}

.list-social li {
    float: left;
    margin-left: 0;
    margin-right: 1rem
}

.list-social li svg {
    height: 3rem;
    width: 3rem;
    fill: #fff
}

.list-social li svg .svg__border {
    display: none
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .list-social li svg {
    fill: currentColor
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .list-social li svg .svg__border {
    display: block
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .list-social li a:not(:hover):not(:focus):not(:active) svg .svg__bg {
    display: none
}

@media(min-width: 62em) {
    .list-social--vertical {
        max-width:4rem
    }

    .list-social--vertical li {
        clear: both;
        margin-bottom: 1rem
    }
}

#aflyerqr canvas {
    background-color: #fff;
    padding: 1.5em;
    border-radius: 12px;
    height: 200px;
    width: 200px
}

table {
    width: 100%;
    font-size: 1rem;
    border: none;
    margin-bottom: 2rem;
    display: block;
    overflow: auto
}

td,th {
    padding: 1rem;
    font-weight: normal;
    text-align: left;
    vertical-align: top;
    border: none;
    font-size: 1rem;
    line-height: 1.5rem
}

th {
    font-weight: bold
}

tr {
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border)
}

tr:last-child {
    border-bottom: 2px solid currentColor;
    border-color: var(--colour-border)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) tr {
    color: var(--colour-white);
    border-color: var(--colour-white)
}

.bg-dark-2 tr {
    border-color: var(--colour-muted) !important
}

thead tr:first-child {
    border-top: 2px solid currentColor;
    border-color: var(--colour-border)
}

thead th {
    font-size: 1rem;
    line-height: 1.5rem;
    padding-bottom: 1.5rem;
    color: inherit;
    font-weight: bold;
    display: table-cell;
    width: auto;
    vertical-align: bottom
}

@media(min-width: 36em) {
    thead th {
        font-size:1.125rem
    }
}

@media(min-width: 36em) {
    thead th {
        width:auto;
        display: table-cell
    }
}

tbody:first-child tr:first-child {
    border-top: 2px solid currentColor;
    border-color: var(--colour-border)
}

.table__wrapper {
    display: block;
    width: calc(100% + 1rem);
    padding-right: 1rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    margin-bottom: 2rem
}

.table__wrapper table {
    margin-bottom: 0;
    display: table;
    overflow: hidden
}

@media(max-width: 36em) {
    .table-stacked thead {
        display:block
    }

    .table-stacked tbody {
        display: block;
        border-top: 2px solid currentColor;
        border-color: var(--colour-border)
    }

    [class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .table-stacked tbody {
        color: var(--colour-white);
        border-color: var(--colour-muted)
    }

    .table-stacked tr {
        display: block;
        position: relative;
        padding-left: .5rem;
        padding-right: .5rem;
        padding-bottom: 1rem;
        padding-top: 1rem
    }

    .table-stacked td,.table-stacked th {
        display: block;
        padding: .5rem 0rem
    }

    [class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .table-stacked td,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .table-stacked th {
        color: var(--colour-white);
        border-color: var(--colour-muted)
    }

    .table-stacked tr:after,.table-stacked td:after,.table-stacked th:after {
        content: "";
        clear: both;
        display: block
    }

    .js-enabled .table-stacked thead {
        display: none
    }

    .js-enabled .table-stacked td,.js-enabled .table-stacked th {
        display: block;
        padding: .5rem 0rem;
        padding-left: 50%
    }

    [class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .js-enabled .table-stacked td,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .js-enabled .table-stacked th {
        color: var(--colour-white);
        border-color: var(--colour-muted)
    }

    .js-enabled .table-stacked td[data-col]:before,.js-enabled .table-stacked th[data-col]:before {
        content: attr(data-col);
        padding: 0;
        margin-bottom: 0;
        display: inline-block;
        width: 100%;
        font-weight: bold;
        margin: 0;
        margin-left: -100%;
        padding-right: 1rem;
        vertical-align: top
    }
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--colour-light)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .table-striped tbody tr:nth-of-type(odd) {
    color: var(--colour-white);
    background-color: rgba(255,255,255,.1)
}

.bg-light .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--colour-white)
}

.table-hover tbody tr:hover,.table-hover tbody tr:focus {
    background-color: var(--colour-light)
}

[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .table-hover tbody tr:hover,[class*=bg-]:not(.bg-secondary-2):not(.bg-secondary-4):not(.bg-light):not(.bg-success):not(.bg-info):not(.bg-warning):not(.bg-white) .table-hover tbody tr:focus {
    color: var(--colour-white);
    background-color: rgba(255,255,255,.1)
}

.bg-light .table-hover tbody tr:hover,.bg-light .table-hover tbody tr:focus {
    background-color: var(--colour-white)
}

.card-spanrows-wrap {
    grid-template-columns: 1fr;
    grid-gap: 1em
}

@media(min-width: 62em) {
    .card-spanrows-wrap {
        display:grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 1em;
        justify-content: space-between
    }
}

.card-left-spanrows {
    grid-column: 1/2;
    grid-row: 1/4;
    grid-gap: 1em;
    margin-bottom: 1em
}

.bg-primary .accordion .accordion__title:after {
    background-color: currentColor
}

.carousel-card-logo {
    position: absolute;
    height: 60px;
    width: 60px;
    top: 8px;
    right: 8px;
    z-index: 1
}

.carousel-no-link {
    pointer-events: none
}

.card-pip-white button.current {
    background: #fff !important;
    border-color: #fff !important
}

.card-pip-white button {
    border-color: #fff !important
}

.white--card-title,.white--card-title:hover,.white--card-title:active {
    color: #fff !important
}

#aflyerqr canvas {
    background-color: #fff;
    padding: 1.5em;
    border-radius: 12px;
    height: 200px;
    width: 200px
}

.card-deck--highlight .product-card__hero-label {
    margin: 0 -1rem;
    background-color: var(--colour-secondary);
    color: var(--colour-white);
    padding: 1rem;
    font-size: .875rem
}

@media(min-width: 36em) {
    .card-deck--highlight .product-card__hero-label {
        margin:0 -1.5rem;
        font-size: .75rem
    }
}

@media(min-width: 62em) {
    .card-deck--highlight .product-card__hero-label {
        margin:0;
        font-size: .75rem
    }
}

.card-deck--highlight .product-card__hero-border {
    border: 2px solid var(--colour-secondary)
}

.footer {
    padding-top: 4rem;
    padding-bottom: 9rem
}

.footer h3,.footer .h3 {
    padding-bottom: 1.5rem
}

@media(min-width: 36em) {
    .footer h3,.footer .h3 {
        padding-bottom:2rem
    }
}

@media(min-width: 62em) {
    .footer {
        padding-top:6rem;
        padding-bottom: 12.5rem
    }
}

.footer [class*=col-] {
    margin-bottom: 1rem
}

@media(min-width: 36em) {
    .footer [class*=col-] {
        margin-bottom:2rem
    }
}

.footer[class*=bg-] .pattern__inner svg {
    stroke-width: 12px;
    transform: translate(0%, -100%);
    left: 0;
    opacity: 1;
    stroke: var(--colour-primary) !important
}

.footer .btn-link {
    margin-bottom: 1.5rem;
    text-decoration: none !important
}

.footer .btn-link:after {
    display: none
}

.footer .list-social {
    padding-top: 1rem;
    padding-bottom: 3rem
}

.footer .list-social li {
    margin-right: 0.5rem
}

.footer .list-social li svg {
    height: 2rem;
    width: 2rem
}

.footer--slim {
    padding-top: 2.5rem;
    padding-bottom: 2rem
}

@media(min-width: 62em) {
    .footer--slim {
        padding-top:2rem;
        padding-bottom: 2.5rem;
        min-height: auto
    }
}

.footer--slim [class*=col-] {
    margin-right: 1rem
}

@media(min-width: 36em) {
    .footer--slim [class*=col-] {
        margin-right:1rem
    }
}

@media(min-width: 62em) {
    .footer--slim [class*=col-] {
        margin-right:5rem
    }
}

.accordion {
    margin-bottom: 4rem;
    border-bottom: 1px solid;
    border-bottom-color: var(--colour-border);
    width: 100%;
    max-width: 50rem;
    text-align: left
}

.accordion .collapse,.accordion .collapsing {
    padding: 0
}

.accordion--small {
    max-width: 50rem
}

.accordion__tab {
    border-top: 1px solid currentColor;
    border-top-color: var(--colour-border);
    display: block !important
}

.accordion .item+.h2 {
    border-top: 2px solid currentColor;
    border-top-color: var(--colour-border);
    padding-top: 3rem !important
}

.accordion .item&gt;.collapse,.accordion .item&gt;.collapsing {
    padding-right: 3rem !important;
    font-size: 1rem;
    line-height: 0.875rem;
    color: var(--colour-body)
}

.accordion__title {
    padding: 0;
    font-size: 1rem;
    line-height: 1.5rem;
    display: block;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    text-decoration: none;
    position: relative;
    padding-right: 3rem;
    font-weight: bold;
    font-family: var(--font-heading);
    position: relative
}

.accordion__title:hover,.accordion__title.hover,.accordion__title:not(.collapsed) {
    color: var(--colour-primary)
}

.accordion__title:after {
    content: "";
    position: absolute;
    top: calc(50% - 1rem);
    left: auto;
    right: 0.5rem;
    height: 2rem;
    width: 2rem;
    transition: transform .25s ease-out;
    mask-image: var(--icon-plus);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    -webkit-mask-image: var(--icon-plus);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    background-color: currentColor
}

.accordion__title:not(.collapsed):after {
    transform: rotate(45deg)
}

.accordion__title:after {
    top: 1.25rem
}

.accordion__title:after {
    content: "";
    position: absolute;
    top: calc(50% - 1rem);
    left: auto;
    right: 0.5rem;
    height: 2rem;
    width: 2rem;
    transition: transform .25s ease-out;
    background-color: var(--colour-primary)
}

.tabs ul {
    list-style: none;
    padding: 0;
    margin: 0 -2rem 0 -2rem;
    justify-content: center;
    max-width: none
}

.tabs ul .tab {
    display: block;
    padding: 0
}

.tabs ul .tab:before {
    content: ""
}

.tabs ul .tab__target {
    display: block;
    text-align: left;
    padding: 1.25rem 1rem 1.25rem 1rem;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border)
}

.tabs ul .tab__target:before {
    height: 100%;
    width: 0.25rem;
    background: rgba(0,0,0,0);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    transform: none
}

.tabs ul .tab__target:active,.tabs ul .tab__target:hover,.tabs ul .tab__target:focus {
    text-decoration: none
}

.tabs ul .tab__target:hover,.tabs ul .tab__target:focus {
    background: var(--colour-light);
    color: var(--colour-body)
}

.tabs ul .tab__target:active {
    background: var(--colour-light);
    color: var(--colour-active)
}

.tabs ul .tab__target:hover:before,.tabs ul .tab__target:focus:before,.tabs ul .tab__target:active:before,.js-enabled .tabs ul .tab__target:not(.collapsed):before {
    background: currentColor
}

.js-enabled .tabs ul a[role=tab]:not(.collapsed) {
    color: var(--colour-primary);
    pointer-events: none
}

@media(min-width: 36em) {
    .tabs ul {
        display:flex;
        flex-wrap: nowrap;
        border-bottom: 1px solid currentColor;
        border-color: var(--colour-border);
        margin-left: auto;
        margin-right: auto;
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important
    }

    .tabs ul .tab {
        border: 0;
        width: auto;
        min-width: 16.6666666667%;
        max-width: 20rem;
        flex: 0 1 20rem
    }

    .tabs ul .tab__target {
        border: none;
        text-align: center;
        justify-content: center;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        min-height: 100%;
        padding: 2rem 0.5rem 1.5rem 0.5rem
    }

    .tabs ul .tab__target:before {
        width: 100%;
        height: 1px;
        top: auto;
        bottom: 0;
        margin-bottom: -1px
    }

    .tabs ul .tab__target:hover,.tabs ul .tab__target:focus {
        background: rgba(0,0,0,0)
    }

    .tabs ul .tab__target:active:before,.js-enabled .tabs ul .tab__target:not(.collapsed):before {
        height: 2px
    }
}

.tabpanel {
    background: var(--bg-colour);
    height: auto !important;
    display: none !important;
    padding-top: 1.5rem;
    position: relative
}

.tabpanel:focus {
    outline: none
}

.tabpanel .img--banner {
    margin-top: -1.5rem
}

.tabpanel.show {
    display: block !important;
    overflow: visible
}

body:not(.js-enabled) .tabpanel:target {
    display: block !important
}

.tabs--content {
    display: none
}

.tabs--content~.tabpanel {
    padding-top: 3rem;
    margin-top: -3rem
}

.tabs__container--carousel {
    padding: 0;
    margin-bottom: 0 !important
}

.carousel-wrapper {
    position: relative;
    overflow: hidden
}

.carousel-wrapper .tabpanel {
    padding: 0;
    background: rgba(0,0,0,0)
}

.tabs--carousel {
    position: absolute;
    width: 50%;
    left: 25%;
    z-index: 2;
    padding: 1.5rem 0
}

@media(min-width: 62em) {
    .tabs--carousel {
        width:50%;
        left: 50%;
        top: 4rem;
        padding: 0 0 0 7.5rem
    }
}

.tabs--carousel ul {
    display: block;
    border: none;
    text-align: center
}

@media(min-width: 62em) {
    .tabs--carousel ul {
        text-align:left
    }
}

.tabs--carousel ul .tab {
    text-align: center;
    display: inline-block;
    min-width: auto;
    max-width: auto;
    margin: 0 1rem 0 0
}

.tabs--carousel ul .tab .tab__target {
    display: block;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    border: solid 1px #6d7173;
    padding: 0
}

.tabs--carousel ul .tab .tab__target:not(.collapsed) {
    border-color: var(--colour-primary);
    background: var(--colour-primary)
}

.tabs--carousel ul .tab .tab__target:not(.collapsed):before {
    display: none
}

.tabs--carousel ul .tab .tab__target:hover {
    border-color: var(--colour-primary)
}

.tabs--carousel ul .tab .tab__target:hover:before {
    display: none
}

.carousel-wrapper .tabpanel {
    -webkit-transition-duration: 1.5s;
    transition-duration: 1.5s
}

.carousel-wrapper .tabpanel&gt;.container {
    animation-duration: 1.25s !important
}

.carousel-wrapper .tabpanel.collapsing {
    display: block !important
}

.carousel-wrapper .tabpanel.opening {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.carousel-wrapper .tabpanel.closing~.tabpanel.opening&gt;.container {
    animation: var(--animation-slide-left)
}

.carousel-wrapper .tabpanel.closing&gt;.container {
    animation: var(--animation-slide-right-out)
}

.carousel-wrapper .tabpanel.closing&gt;.btn,.carousel-wrapper .list-links&gt;li.tabpanel.closing&gt;a {
    display: none
}

.carousel-wrapper .tabpanel.opening&gt;.container {
    animation: var(--animation-slide-right)
}

.carousel-wrapper .tabpanel.opening&gt;.container&gt;.row&gt;.col-12+.col-12 {
    opacity: 0;
    animation: 1.25s ease-out fade-in .25s forwards
}

.carousel-wrapper .tabpanel.opening~.tabpanel.closing&gt;.container {
    animation: var(--animation-slide-left-out)
}

.tabpanel .btn-icon-only {
    top: 0;
    z-index: 2;
    margin-bottom: 0;
    position: absolute
}

.tabpanel .btn-icon-only.tab-left {
    left: 0
}

.tabpanel .btn-icon-only.tab-right {
    right: 0;
    left: auto
}

@media(min-width: 62em) {
    .tabpanel .btn-icon-only {
        top:50%;
        margin-top: -2.25rem
    }
}

.tabpanel .container--split [class^=col-]:last-of-type&gt;*:first-child {
    padding-top: 2rem
}

body:not(.js-enabled) .carousel-wrapper .tabpanel:last-child {
    display: block !important
}

body:not(.js-enabled) .carousel-wrapper .tabpanel:target~.tabpanel:last-child {
    display: none !important
}

.pagination {
    --bg-colour: var(--colour-secondary);
    --bg-colour-light: var(--colour-secondary-light);
    --bg-colour-tint: var(--colour-secondary-tint);
    display: flex;
    flex-flow: row wrap;
    padding: 1rem 0 3rem 0
}

.pagination:before,.pagination:after {
    display: none
}

@media(min-width: 36em) {
    .pagination {
        flex-flow:row nowrap;
        padding-top: 2rem;
        padding-bottom: 4rem
    }
}

@media(min-width: 62em) {
    .pagination {
        padding-top:2.5rem;
        padding-bottom: 5rem
    }
}

@media(min-width: 62em)and (min-width: 62em) {
    .pagination {
        padding:2.5rem 7.5rem 5rem 7.5rem
    }
}

.pagination.container[class*=bg-] {
    background: none !important
}

.pagination&gt;a {
    flex: 0 0 100%;
    padding: 2rem 2rem 2rem 2rem
}

.pagination&gt;a.pagination__previous:not(:hover):not(:focus):not(:active) {
    --colour-body: #000000;
    color: var(--colour-body)
}

@media(min-width: 36em) {
    .pagination&gt;a {
        flex:1 0 50%
    }
}

.pagination&gt;a .body {
    display: block;
    text-transform: uppercase;
    padding-bottom: 1rem;
    text-decoration: none
}

.pagination&gt;a .h4 {
    padding-bottom: 1rem;
    color: inherit
}

.pagination&gt;a:hover,.pagination&gt;a:focus,.pagination&gt;a:active {
    background: var(--bg-colour-tint);
    color: var(--colour-white);
    --colour-body: var(--colour-white);
    text-decoration: none
}

.pagination&gt;a:hover .body,.pagination&gt;a:focus .body,.pagination&gt;a:active .body {
    text-decoration: none
}

.pagination&gt;a:hover .h4,.pagination&gt;a:focus .h4,.pagination&gt;a:active .h4 {
    text-decoration: underline
}

@media(min-width: 36em) {
    .pagination&gt;a {
        padding:2rem 1.5rem
    }

    .pagination&gt;a:last-child {
        padding-left: 3rem
    }

    .pagination&gt;a:first-child {
        padding-right: 3rem
    }
}

@media(min-width: 62em) {
    .pagination&gt;a {
        padding:2rem
    }

    .pagination&gt;a:last-child {
        padding-left: 2rem
    }

    .pagination&gt;a:first-child {
        padding-right: 2rem
    }
}

.pagination__next {
    background: var(--bg-colour);
    --colour-body: var(--colour-white);
    color: var(--colour-white)
}

@media(min-width: 36em) {
    .pagination__next {
        order:2
    }
}

.pagination__previous {
    color: var(--colour-body);
    background: var(--bg-colour-light)
}

.container .pagination.container {
    padding-top: 1rem;
    padding-bottom: 3rem;
    margin-left: -2rem;
    margin-right: -2rem;
    width: auto
}

@media(min-width: 36em) {
    .container .pagination.container {
        padding-top:2rem;
        padding-bottom: 4rem;
        margin-left: -3rem;
        margin-right: -3rem
    }
}

@media(min-width: 62em) {
    .container .pagination.container {
        padding-top:2.5rem;
        padding-bottom: 5rem;
        margin-left: 0;
        margin-right: 0
    }
}

.theme--business .pagination&gt;a:focus,.theme--business .pagination&gt;a:hover,.theme--business .pagination&gt;a:active {
    color: var(--colour-black);
    --colour-body: var(--colour-black)
}

.theme--business .pagination&gt;a.pagination__next {
    color: var(--colour-black);
    --colour-body: var(--colour-black)
}

.theme--business .pagination&gt;a.pagination__next:hover,.theme--business .pagination&gt;a.pagination__next:focus,.theme--business .pagination&gt;a.pagination__next:active {
    background: var(--bg-colour)
}

.theme--business .pagination&gt;a.pagination__previous,.theme--business .pagination&gt;a.pagination__previous:hover,.theme--business .pagination&gt;a.pagination__previous:focus,.theme--business .pagination&gt;a.pagination__previous:active {
    background: var(--bg-colour-tint)
}

.alert-msg {
    --bg-colour: var(--colour-light);
    margin-bottom: 3rem;
    padding-top: 1rem;
    min-height: 5rem;
    position: relative;
    background: var(--colour-light);
    text-align: left !important;
    padding-left: 4.5rem;
    padding-right: 1.5rem;
    position: relative;
    margin-left: -2rem;
    margin-right: -2rem
}

.alert-msg .alert__title {
    padding-bottom: 1rem
}

.alert-msg p {
    margin-left: 0
}

.alert-msg&gt;:first-child {
    max-width: calc(100% - 4rem)
}

.alert-msg&gt;:last-child:not(.btn) {
    padding-bottom: 2rem
}

@media(min-width: 36em) {
    .alert-msg {
        padding-top:1.5rem;
        padding-left: 6.5rem;
        min-height: 6.5rem;
        margin-left: 0;
        margin-right: 0
    }
}

.alert-msg&gt;.strip {
    width: 3rem;
    background: var(--colour-alert-highlight);
    padding: 1.25rem 0.75rem;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%
}

@media(min-width: 36em) {
    .alert-msg&gt;.strip {
        width:5rem;
        padding: 2rem 1.5rem
    }
}

.alert-msg&gt;.strip .svg__wrapper {
    display: block;
    position: absolute
}

.alert-msg&gt;.strip .svg__wrapper svg {
    width: 1.5rem;
    height: 1.5rem
}

@media(min-width: 36em) {
    .alert-msg&gt;.strip .svg__wrapper svg {
        width:2rem;
        height: 2rem
    }
}

.alert--danger {
    --bg-colour: var(--colour-alert-error-highlight);
    background: var(--colour-alert-error-highlight)
}

.alert--danger&gt;.strip {
    background: var(--colour-alert-error)
}

.alert--danger&gt;.svg__wrapper svg {
    stroke: var(--colour-danger)
}

.alert--danger&gt;.svg__wrapper--fill svg {
    stroke: none;
    fill: var(--colour-danger)
}

.alert--warning {
    --bg-colour: var(--colour-alert-warning);
    background: var(--colour-alert-warning)
}

.alert--warning&gt;.strip {
    background: var(--colour-alert-warning-highlight)
}

.alert--warning&gt;.svg__wrapper svg {
    stroke: var(--colour-warning)
}

.alert--warning&gt;.svg__wrapper--fill svg {
    stroke: none;
    fill: var(--colour-warning)
}

.alert--success {
    --bg-colour: var(--colour-alert-success);
    background: var(--colour-alert-success)
}

.alert--success&gt;.strip {
    background: var(--colour-alert-success-highlight)
}

.alert--success&gt;.svg__wrapper svg {
    stroke: var(--colour-success)
}

.alert--success&gt;.svg__wrapper--fill svg {
    stroke: none;
    fill: var(--colour-success)
}

.content-list .content-list__title {
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border)
}

@media(min-width: 62em) {
    .content-list .content-list__title {
        border-bottom:none
    }
}

.content-list .list-links {
    max-width: none
}

.content-list .list-links&gt;li:first-child&gt;a {
    border-top: none
}

.content-list .list-links li {
    padding-right: .5rem;
    padding-left: .5rem
}

.content-list .list-links li a[data-toggle] svg {
    transition: transform .5s
}

.js-enabled .content-list .list-links li a[data-toggle]:not(.collapsed) {
    pointer-events: none
}

.js-enabled .content-list .list-links li a[data-toggle]:not(.collapsed) svg {
    transform: rotate(90deg)
}

@media(min-width: 62em) {
    [class*=col-md-] .content-list {
        padding:0;
        margin: 0;
        background: none !important
    }

    [class*=col-md-] .content-list .content-list__title {
        border-bottom: 1px solid currentColor;
        border-color: var(--colour-border)
    }

    [class*=col-md-] .content-list .list-links li {
        min-width: 100%
    }
}

.content-list+.content-list {
    padding-top: 1rem
}

.index {
    padding-top: 2rem;
    padding-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    text-align: center;
    font-family: var(--font-heading);
    font-weight: 200
}

@media(min-width: 62em) {
    .index {
        font-size:1.25rem;
        line-height: 1.5rem
    }
}

.index .col {
    border-right: 1px solid currentColor;
    border-color: var(--colour-border);
    margin-bottom: 1rem;
    min-width: 14.2857142857%;
    max-width: 14.2857142857%
}

.index .col:nth-child(7n),.index .col:last-child {
    border-right: none
}

@media(min-width: 36em) {
    .index .col {
        min-width:7.6923076923%;
        max-width: 7.6923076923%
    }

    .index .col:nth-child(7n) {
        border-right: 1px solid currentColor;
        border-color: var(--colour-border)
    }

    .index .col:nth-child(13) {
        border-right: none
    }
}

@media(min-width: 62em) {
    .index .col {
        min-width:3.8461538462%;
        max-width: 3.8461538462%
    }

    .index .col:nth-child(13) {
        border-right: 1px solid currentColor;
        border-color: var(--colour-border)
    }
}

.index a {
    font-weight: 700;
    display: block
}

.container--product-cards:not([class*=bg-]) {
    --bg-colour: var(--colour-light);
    background-color: var(--colour-light)
}

.product-card--accordion .badge {
    background: inherit;
    color: var(--colour-black);
    font-weight: bold;
    font-size: 1rem;
    line-height: 1em;
    text-transform: none;
    text-decoration: underline;
    text-underline-offset: .4rem;
    vertical-align: middle;
    display: inline-block;
    margin-bottom: 1rem
}

.product-card--accordion .badge:not(.badge-small) {
    padding: 1rem 3rem .75rem 0
}

@media(min-width: 36em) {
    .product-card--accordion .badge {
        position:relative
    }

    .product-card--accordion .badge:not(.badge-small) {
        padding: .5rem 3rem .75rem 0
    }

    .product-card--accordion .badge:after {
        content: "";
        position: absolute;
        top: calc(50% - 1rem);
        left: auto;
        right: 0.5rem;
        height: 2rem;
        width: 2rem;
        transition: transform .25s ease-out;
        mask-image: var(--icon-plus);
        mask-size: 100% 100%;
        mask-repeat: no-repeat;
        mask-position: 0 0;
        -webkit-mask-image: var(--icon-plus);
        -webkit-mask-size: 100% 100%;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: 0 0;
        background-color: currentColor
    }

    .product-card--accordion .badge:not(.collapsed) .badge:after {
        transform: rotate(45deg)
    }
}

.product-card--accordion .badge.collapsed:after {
    color: var(--colour-black)
}

@media(max-width: 61.98em) {
    .product-card--accordion .badge:after {
        top:60%;
        left: 30%
    }
}

.product-card--accordion .badge:not(.product-card--accordion-title.collapsed .badge),.product-card--accordion .badge:focus:not(:active) {
    color: var(--colour-selected)
}

@media(max-width: 61.98em) {
    .product-card--accordion .badge {
        position:relative
    }

    .product-card--accordion .badge:after {
        content: "";
        position: absolute;
        top: calc(50% - .8rem);
        left: auto;
        right: 0.5rem;
        height: 2rem;
        width: 2rem;
        transition: transform .25s ease-out;
        mask-image: var(--icon-plus);
        mask-size: 100% 100%;
        mask-repeat: no-repeat;
        mask-position: 0 0;
        -webkit-mask-image: var(--icon-plus);
        -webkit-mask-size: 100% 100%;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: 0 0;
        background-color: currentColor
    }

    .product-card--accordion .badge:not(.product-card--accordion-title.collapsed .badge):after {
        transform: rotate(45deg)
    }
}

.product-card--accordion .product-card--accordion-title .product-card__header {
    padding-top: 1rem
}

.product-card--accordion .product-card--accordion-title:not(.collapsed) .badge:after {
    transform: rotate(45deg)
}

.product-card {
    --bg-colour: var(--colour-white);
    background: var(--colour-white);
    padding: 1rem;
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: 1rem;
    box-shadow: 0 0.25rem 1rem 0 rgba(0,0,0,.08)
}

.product-card:last-child() {
    margin-bottom: 0
}

.product-card:hover,.product-card:focus-within {
    box-shadow: 0 0.5rem 1.25rem 0 rgba(0,0,0,.25)
}

.product-card:last-child {
    margin-bottom: 2rem
}

@media(min-width: 36em) {
    .product-card {
        padding:2rem 1.5rem
    }
}

@media(min-width: 36em) {
    .container--product-cards:not(.product-cards--vertical) .product-card {
        padding:2rem 1.5rem;
        margin-left: -1.5rem;
        margin-right: -1.5rem
    }
}

@media(min-width: 62em) {
    .container--product-cards:not(.product-cards--vertical) .product-card {
        padding:2rem;
        margin-left: 0;
        margin-right: 0
    }
}

.product-card__header .product-card__title {
    color: var(--colour-primary);
    position: relative;
    display: inline-block;
    width: auto
}

.product-card__header a:hover,.product-card__header a:focus {
    text-decoration: none
}

.product-card__header a:hover .product-card__title,.product-card__header a:focus .product-card__title {
    text-decoration: underline
}

.product-card__header .product-card__logo {
    max-height: 5rem;
    min-width: 6rem;
    max-width: 6rem
}

@media(min-width: 62em) {
    .product-card__header .product-card__logo {
        max-width:min-content
    }

    .product-card__header .product-card__logo img {
        height: 4rem;
        margin-bottom: 1rem;
        width: auto;
        object-fit: contain
    }
}

@media(min-width: 36em) {
    .container--product-cards:not(.product-cards--vertical) .product-card__header {
        padding-bottom:0.5rem
    }
}

.product-card__body {
    position: relative
}

.product-card__body:not(.product-card--no-footer .product-card__body) {
    margin-bottom: 2rem
}

@media(min-width: 36em) {
    .container--product-cards:not(.product-cards--vertical):not(.product-card--no-footer) .product-card__body {
        padding-bottom:0.5rem
    }
}

@media(min-width: 62em) {
    .container--product-cards:not(.product-cards--vertical):not(.product-card--no-footer) .product-card__body {
        margin-right:-0.75rem;
        margin-left: -0.75rem
    }

    .container--product-cards:not(.product-cards--vertical):not(.product-card--no-footer) .product-card__body .col-md {
        min-width: 20%;
        max-width: 33.3333%;
        max-width: 20rem;
        padding-left: .75rem;
        padding-right: .75rem
    }

    .container--product-cards:not(.product-cards--vertical):not(.product-card--no-footer) .product-card__body .col-md:nth-child(5)~.col-md {
        max-width: 20%
    }
}

.product-card__body:not(.product-card--no-footer .product-card__body):after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0.5rem;
    width: calc(100% - 1rem);
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border)
}

.product-card-detail:not(.product-card--no-footer .product-card-detail) {
    padding-bottom: 1rem
}

.product-card-detail--img {
    max-width: 7.5rem !important;
    min-width: 7.5rem !important
}

@media(min-width: 36em) {
    .container--product-cards:not(.product-cards--vertical) .rep_example .col-sm {
        min-width:33.33%
    }
}

@media(min-width: 62em) {
    .container--product-cards:not(.product-cards--vertical) .rep_example .col-sm {
        min-width:0%
    }
}

.product-card__footer .btn-group {
    margin: 0;
    padding: 0
}

.product-card__footer .btn-group a:last-child {
    margin-bottom: 0
}

@media(min-width: 36em) {
    .container--product-cards:not(.product-cards--vertical) .product-card__footer .btn-group {
        justify-content:flex-end;
        margin-right: -0.5rem;
        width: auto;
        flex-wrap: nowrap
    }

    .container--product-cards:not(.product-cards--vertical) .product-card__footer .btn-group a {
        margin-bottom: 0;
        white-space: nowrap
    }
}

@media(min-width: 36em) {
    .product-cards--vertical .product-card__wrapper {
        margin-left:-1rem;
        margin-right: -1rem;
        display: flex;
        flex-flow: row wrap;
        justify-content: center
    }

    .product-cards--vertical .product-card__wrapper .product-card__logo {
        order: 2;
        min-width: 6rem !important;
        max-width: 6rem !important;
        padding: 0
    }

    .product-cards--vertical .product-card__wrapper .product-card {
        margin: 0 1rem 2rem 1rem;
        width: calc(50% - 2rem);
        display: flex;
        flex-direction: column
    }

    .product-cards--vertical .product-card__wrapper .product-card .product-card__body:not(.rep_example) {
        display: block;
        flex-grow: 1
    }

    .product-cards--vertical .product-card__wrapper .col-3 {
        flex: 0 0 25% !important;
        max-width: 25% !important
    }

    .product-cards--vertical .product-card__wrapper .col-6 {
        flex: 0 0 50% !important;
        max-width: 50% !important
    }

    .product-cards--vertical .product-card__wrapper .col-12 {
        flex: 0 0 100% !important;
        max-width: 100% !important
    }

    .product-cards--vertical .product-card__wrapper .text-sm-right {
        text-align: left !important
    }

    .product-cards--vertical .product-card__wrapper .justify-content-end {
        justify-content: flex-start !important
    }

    .product-cards--vertical .product-card__wrapper .product-card__footer .btn-group {
        margin-left: -0.5rem;
        margin-right: -0.5rem;
        display: block
    }

    .product-cards--vertical .product-card__wrapper .product-card__footer .btn-group a:last-child {
        margin-bottom: 0
    }
}

@media(min-width: 62em) {
    .product-cards--vertical:not(.product-cards--vertical-3-cols) {
        padding:5rem 12rem 4rem 12rem
    }

    .product-cards--vertical-3-cols .product-card__wrapper {
        margin-left: -0.5rem;
        margin-right: -0.5rem
    }

    .product-cards--vertical-3-cols .product-card__wrapper .product-card {
        margin: 0 0.5rem 2rem 0.5rem;
        width: calc(33% - 2rem);
        max-width: calc(50% - 2rem);
        flex-grow: 1
    }
}

.product-card--grayscale .product-card__title {
    color: var(--colour-body)
}

.notification {
    display: flex;
    flex-flow: row wrap;
    position: relative;
    text-align: left !important;
    padding-top: 1rem;
    padding-bottom: 0
}

@media(max-width: 36em) {
    .notification {
        padding-left:1rem;
        padding-right: 1rem
    }
}

.notification .notification__icon {
    min-width: 2.5rem;
    max-width: 2.5rem
}

@media(min-width: 36em) {
    .notification .notification__icon {
        width:5rem
    }
}

.notification .notification__icon.svg__wrapper svg {
    width: 1.5rem;
    height: 1.5rem;
    vertical-align: text-bottom
}

.notification .notification__title {
    flex: 1 1 calc(100% - 5rem);
    padding-bottom: 1rem
}

@media(min-width: 62em) {
    .notification .notification__title {
        flex:1 1 calc(50% - 5rem)
    }
}

.notification .notification__action {
    flex: 1 1 auto;
    min-width: 100%;
    padding-bottom: 0.8125rem;
    margin-top: -0.125rem
}

.notification .notification__action .btn-link {
    margin-bottom: -1px
}

@media(min-width: 62em) {
    .notification .notification__action {
        min-width:0;
        text-align: right
    }
}

.notification .notification__icon~.notification__action {
    padding-left: 2.5rem
}

.notification .notification__close {
    flex: 1 1 auto;
    text-align: right
}

.notification .notification__close button {
    background: none;
    border: none;
    padding: 0
}

.notification .notification__close button:hover,.notification .notification__close button:focus {
    color: var(--colour-hover)
}

.notification .notification__close button:active {
    color: var(--colour-active)
}

.notification .notification__close .svg__wrapper {
    display: block
}

.notification .notification__close .svg__wrapper svg {
    width: 1.5rem;
    height: 1.5rem;
    vertical-align: text-bottom
}

html.modal--active,html.modal--active body {
    overflow: hidden
}

html.modal--active .navbar,html.modal--active body .navbar {
    z-index: 1
}

html.modal--active #content {
    z-index: revert
}

.modal {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity 200ms;
    z-index: -1
}

.modal&gt;* {
    opacity: 0
}

.modal:target,.modal.target {
    pointer-events: auto;
    opacity: 1;
    z-index: 9999;
    position: fixed
}

.modal:target&gt;*,.modal.target&gt;* {
    opacity: 1
}

.modal:target&gt;.modal__inner,.modal.target&gt;.modal__inner {
    animation: 1.25s ease-out modal-fade-up forwards
}

.modal__inner {
    position: absolute;
    display: block;
    width: calc(100% - 2rem);
    max-width: 20rem;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    box-shadow: 0px 8px 20px 0px rgba(0,0,0,.25);
    background: var(--colour-white);
    height: auto;
    max-height: calc(100vh - 2rem);
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

@media(min-width: 36em) {
    .modal__inner {
        max-width:35rem
    }
}

@media(min-width: 62em) {
    .modal__inner {
        max-width:40rem
    }
}

.modal__header {
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border);
    padding: 1rem 3rem 1rem 1rem;
    text-align: left;
    background-color: var(--colour-light);
    position: relative
}

@media(min-width: 36em) {
    .modal__header {
        text-align:center;
        padding-left: 3rem;
        padding-right: 3rem
    }
}

@media(min-width: 62em) {
    .modal__header {
        padding-top:1rem;
        padding-bottom: 1rem;
        padding-right: 3rem;
        padding-left: 3rem;
        margin-left: 0
    }
}

.modal__header .modal__close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1.25rem 1rem
}

.modal__header .modal__close .svg__wrapper {
    margin: 0
}

.modal__body {
    padding: 2rem 1rem 0 1rem;
    background-color: var(--colour-white);
    text-align: center
}

@media(min-width: 36em) {
    .modal__body {
        padding-left:3rem;
        padding-right: 3rem
    }
}

.modal__overlay {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0,0,0,.5);
    transition: opacity 200ms
}

@media(min-width: 36em) {
    .modal--large .modal__inner {
        max-width:45rem
    }
}

@media(min-width: 62em) {
    .modal--large .modal__inner {
        max-width:64rem
    }
}

.modal--image .modal__inner&gt;figure {
    margin: 0
}

.modal--image .modal__inner&gt;figure&gt;img {
    object-fit: contain;
    margin: 0
}

@media(min-width: 62em) {
    .modal--image .modal__inner {
        width:fit-content;
        max-width: calc(100% - 6rem)
    }
}

.card {
    padding-bottom: 1rem;
    position: relative;
    display: block;
    margin-bottom: 1rem;
    background-color: var(--colour-white);
    text-align: left;
    transition: box-shadow .2s ease-in-out;
    box-shadow: 0 .25rem 1rem 0 rgba(0,0,0,.08)
}

@media(min-width: 36em) {
    .card {
        padding-bottom:1.5rem
    }
}

.card:hover:not(:active),.card:focus:not(:active),.card:active {
    text-decoration: none;
    box-shadow: 0 .5rem 1.1rem 0 rgba(0,0,0,.25)
}

.card:hover:not(:active) .card-image img,.card:focus:not(:active) .card-image img,.card:active .card-image img {
    opacity: .8
}

.card:hover:not(:active) .card-body *:not(.card-title),.card:focus:not(:active) .card-body *:not(.card-title),.card:active .card-body *:not(.card-title) {
    color: var(--colour-body)
}

.card:hover:not(:active) .card-body .card-title,.card:focus:not(:active) .card-body .card-title,.card:active .card-body .card-title {
    color: var(--colour-hover)
}

.card:hover:not(:active) .btn-link:after,.card:focus:not(:active) .btn-link:after,.card:active .btn-link:after {
    border-bottom-width: 2px;
    margin-bottom: -1px
}

.card:hover:not(:active) .card-body .card-title,.card:hover:not(:active) .btn-link,.card:focus:not(:active) .card-body .card-title,.card:focus:not(:active) .btn-link {
    color: var(--colour-hover)
}

.card:active .card-body .card-title,.card:active .btn-link {
    color: var(--colour-active)
}

@media(min-width: 36em) {
    .card {
        display:flex;
        flex-flow: column
    }
}

.card .card-icon {
    display: none
}

@media(min-width: 36em) {
    .card .youtube-embed__btn {
        width:7.5rem;
        height: 7.5rem
    }

    .card .youtube-embed__btn .svg__wrapper {
        height: 6.5rem;
        width: 6.5rem
    }

    .card .youtube-embed__btn .svg__wrapper svg {
        stroke-width: .75px
    }
}

.card-body {
    padding: 1.5rem 1.5rem 0.5rem 1.5rem
}

@media(min-width: 36em) {
    .card-body {
        padding:2rem 2rem 0.5rem 2rem
    }
}

.card-body&gt;* {
    padding-bottom: 1rem
}

.card-image {
    padding-top: 56.25%;
    position: relative
}

.card-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    margin: 0
}

.card-image .badge {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    margin: 0
}

.card-image .badge:empty {
    display: none
}

.card-footer {
    padding: 0 1.5rem 0.5rem 1.5rem;
    margin-top: auto
}

@media(min-width: 36em) {
    .card-footer {
        padding:0 2rem 0.5rem 2rem
    }
}

.card-footer .card-author {
    display: none
}

.card-footer .btn-link {
    margin-bottom: 0
}

@media(min-width: 62em) {
    .container--deck:not(.container--deck-full-width) {
        padding:5rem 12rem 4rem 12rem
    }
}

@media(min-width: 36em) {
    .card-deck {
        margin-left:-1rem;
        margin-right: -1rem;
        display: flex;
        flex-flow: row wrap;
        justify-content: center
    }

    .card-deck .card {
        margin: 0 1rem 2rem 1rem;
        width: calc(50% - 2rem)
    }
}

.card-deck--icon .card {
    padding-left: 2rem
}

.card-deck--icon .card .card-icon {
    display: block;
    position: absolute;
    top: 1.75rem;
    left: 1rem;
    width: 2rem;
    height: 2rem;
    margin-left: 0
}

@media(min-width: 36em) {
    .card-deck--icon .card .card-icon {
        top:2.25rem
    }
}

.card-deck--icon .card .card-icon svg {
    width: 2rem;
    height: 2rem;
    stroke: var(--colour-primary)
}

.card-deck--icon-large .card .card-title {
    min-height: 6.5rem;
    padding-right: 4rem;
    color: var(--colour-primary)
}

.card-deck--icon-large .card .card-icon {
    display: block;
    position: absolute;
    top: 1.5rem;
    right: 1rem;
    width: 5rem;
    height: 5rem;
    margin-left: 0
}

@media(min-width: 36em) {
    .card-deck--icon-large .card .card-icon {
        top:2rem
    }
}

.card-deck--icon-large .card .card-icon svg {
    width: 100%;
    height: 100%;
    stroke: #000
}

.card-deck--portrait .card {
    padding-left: 7.5rem
}

.card-deck--portrait .card .card-image {
    height: 100%;
    padding-top: 0;
    width: 7.5rem;
    position: absolute;
    top: 0;
    left: 0
}

.card-deck--portrait .card:nth-child(even) {
    padding-left: 0;
    padding-right: 7.5rem
}

.card-deck--portrait .card:nth-child(even) .card-image {
    left: auto;
    right: 0
}

@media(min-width: 36em) {
    .card-deck--portrait .card {
        padding-left:9.375rem;
        width: 100%
    }

    .card-deck--portrait .card .card-image {
        width: 9.375rem
    }
}

@media(min-width: 62em) {
    .card-deck--portrait .card {
        width:calc(50% - 2rem)
    }

    .card-deck--portrait .card:nth-child(even) {
        padding-right: 0;
        padding-left: 9.375rem
    }

    .card-deck--portrait .card:nth-child(even) .card-image {
        left: 0;
        right: auto
    }

    .card-deck--portrait .card:nth-child(4n-2)+.card,.card-deck--portrait .card:nth-child(4n-2)+.card+.card {
        padding-left: 0;
        padding-right: 9.375rem
    }

    .card-deck--portrait .card:nth-child(4n-2)+.card .card-image,.card-deck--portrait .card:nth-child(4n-2)+.card+.card .card-image {
        left: auto;
        right: 0
    }
}

.card-deck~.btn,.list-links&gt;li&gt;.card-deck~a,.card-deck~div&gt;.btn {
    margin: 0 auto
}

@media(min-width: 36em) {
    .card-deck~.btn,.list-links&gt;li&gt;.card-deck~a,.card-deck~div&gt;.btn {
        margin:0 auto 2rem auto
    }
}

@media(min-width: 62em) {
    .card-deck--3-cols .card {
        width:calc(33.33333% - 2rem)
    }
}

.article-deck {
    justify-content: start;
    padding-bottom: 1rem
}

@media(min-width: 36em) {
    .article-deck {
        margin-left:-1rem;
        margin-right: -1rem;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start
    }
}

@media(min-width: 36em) {
    .article-deck .card {
        margin:0 1rem 2rem 1rem;
        width: calc(50% - 2rem)
    }
}

@media(min-width: 62em) {
    .article-deck .card {
        width:calc(33.33333% - 2rem)
    }
}

.article-deck .card .card-title {
    font-size: 1.5rem;
    letter-spacing: -0.25px;
    line-height: 2rem;
    padding-bottom: 1.5rem;
    color: inherit
}

.article-deck .card .card-icon,.article-deck .card .card-footer .btn-link {
    display: none
}

.article-deck .card .card-body {
    padding: 1rem 1rem 0 1rem
}

@media(min-width: 62em) {
    .article-deck .card .card-body {
        padding-top:1.5rem
    }
}

.article-deck .card .card-footer {
    padding: 0rem 1rem 0 1rem
}

.article-deck .card .card-footer .card-author {
    display: block;
    padding: 0
}

.article-deck .card .card-image {
    overflow: hidden
}

.article-deck .card .card-image img {
    transition: .25s
}

.article-deck .card:hover:not(:active) .card-image img,.article-deck .card:focus:not(:active) .card-image img,.article-deck .card:active .card-image img {
    transform: translate(-50%, -50%) scale(1.1)
}

.article-deck .card:hover:not(:active) .card-body .card-title,.article-deck .card:focus:not(:active) .card-body .card-title,.article-deck .card:active .card-body .card-title {
    text-decoration: underline
}

.article-deck--square .card-image {
    padding-top: 100%
}

.article-deck--images-only .card {
    padding: 0
}

.article-deck--images-only .card-body,.article-deck--images-only .card-footer {
    display: none
}

@media(min-width: 36em) {
    .article-deck--left {
        margin-left:0;
        margin-left: 0
    }

    .article-deck--left .card:not(:first-child),.article-deck--left:not(.article-deck--fixed) .card:first-child {
        display: flex;
        flex-flow: row nowrap;
        padding: 0;
        margin: 0 0 1rem 0;
        width: 100%
    }

    .article-deck--left .card:not(:first-child) .card-image,.article-deck--left:not(.article-deck--fixed) .card:first-child .card-image {
        width: 11.625rem;
        height: 11.625rem;
        padding: 0;
        flex-shrink: 0
    }

    .article-deck--left .card:not(:first-child) .card-body&gt;*:not(.card-title),.article-deck--left:not(.article-deck--fixed) .card:first-child .card-body&gt;*:not(.card-title) {
        display: none
    }

    .article-deck--left .card:not(:first-child) .card-title,.article-deck--left:not(.article-deck--fixed) .card:first-child .card-title {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        max-height: 6rem;
        overflow: hidden;
        padding: 0;
        margin-bottom: 1.5rem
    }

    .article-deck--left .card:not(:first-child) .card-footer,.article-deck--left:not(.article-deck--fixed) .card:first-child .card-footer {
        position: absolute;
        bottom: 1.5rem;
        left: 11.625rem;
        width: calc(100% - 11.625rem)
    }
}

@media(min-width: 62em) {
    .article-deck--left .card:not(:first-child),.article-deck--left:not(.article-deck--fixed) .card:first-child {
        margin:0 1rem 2rem 1rem;
        width: calc(50% - 2rem)
    }
}

.article-deck--fixed .card:nth-child(4)~.card {
    display: none
}

@media(min-width: 36em) {
    .article-deck--fixed .card:first-child {
        margin-left:0;
        margin-right: 0;
        margin-bottom: 1rem;
        width: 100%
    }
}

@media(min-width: 62em) {
    .article-deck--fixed {
        display:block;
        overflow: hidden
    }

    .article-deck--fixed .card {
        width: calc(50% - 0.5rem);
        float: right
    }

    .article-deck--fixed .card:first-child {
        float: left;
        display: inline-block;
        width: calc(50% - 0.5rem)
    }
}

@supports(display: grid) {
    @media(min-width: 62em) {
        .article-deck--fixed {
            display:grid;
            overflow: visible;
            grid-template-columns: calc(50% - .5rem) calc(50% - .5rem);
            grid-gap: 0;
            column-gap: 1rem;
            margin-left: 0;
            margin-right: 0;
            margin-bottom: 2rem
        }

        .article-deck--fixed .card {
            width: auto !important;
            margin: 0 0 1rem 0 !important;
            grid-column: 2
        }

        .article-deck--fixed .card:first-child {
            grid-column: 1;
            grid-row: 1/4;
            display: flex
        }

        .article-deck--fixed .card:first-child,.article-deck--fixed .card:nth-child(4) {
            margin: 0 !important
        }
    }
}

.article-deck--feed {
    justify-content: flex-start
}

body:not(.ie) .article-deck--feed {
    align-items: flex-start
}

@media(min-width: 62em) {
    .article-deck--feed .card {
        width:calc(33.33333% - 2rem)
    }
}

.article-deck--feed .card .card-image {
    padding: 0
}

.article-deck--feed .card .card-image img {
    position: static;
    transform: none
}

.article-deck--feed .card.js-trans {
    transform: translate(0, 10rem);
    opacity: 0;
    animation: var(--animation-fade-up)
}

.article-deck--feed .card.js-hide .card-image {
    display: none
}

.article-deck--feed .card:hover:not(:active) .card-image img,.article-deck--feed .card:focus:not(:active) .card-image img,.article-deck--feed .card:active .card-image img {
    transform: scale(1.1)
}

.article-deck--feed .card .card-body .small {
    padding-top: 2rem;
    padding-bottom: 0;
    color: var(--colour-muted)
}

@media(min-width: 36em) {
    .article-deck--feed {
        min-height:2px
    }
}

@media(min-width: 62em) {
    .article-deck--feed {
        min-height:3px
    }
}

body.js-enabled.ie .article-deck--feed.js-processed {
    height: auto !important
}

@media(max-width: 36em) {
    body.js-enabled:not(.ie) .article-deck--feed.js-processed {
        height:auto !important
    }
}

@media(min-width: 36em) {
    body.js-enabled:not(.ie) .article-deck--feed.js-processed {
        display:flex;
        flex-flow: column wrap;
        align-content: space-between;
        padding-top: 2rem;
        padding-bottom: 0;
        margin-top: -2rem;
        margin-left: -0.5rem;
        margin-right: -0.5rem
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed:before,body.js-enabled:not(.ie) .article-deck--feed.js-processed:after {
        content: "";
        flex-basis: 100%;
        width: 0;
        order: 2
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed .card {
        margin-bottom: 0;
        margin-top: 1rem;
        margin-left: 0.5rem;
        margin-right: 0.5rem;
        width: calc(50% - 1rem)
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed .card:nth-child(1),body.js-enabled:not(.ie) .article-deck--feed.js-processed .card:nth-child(2) {
        margin-top: 0
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed .card:nth-child(odd) {
        order: 1
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed .card:nth-child(even) {
        order: 3
    }
}

@media(min-width: 62em) {
    body.js-enabled:not(.ie) .article-deck--feed.js-processed {
        margin-left:-1rem;
        margin-right: -1rem
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed .card {
        margin-bottom: 0.5rem;
        margin-top: 1rem;
        margin-left: 1rem;
        margin-right: 1rem;
        width: calc(33.33333% - 2rem)
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed:after {
        content: "";
        flex-basis: 100%;
        width: 0;
        order: 4
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed .card:nth-child(3) {
        margin-top: 0
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed .card:nth-child(3n+1) {
        order: 1
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed .card:nth-child(3n+2) {
        order: 3
    }

    body.js-enabled:not(.ie) .article-deck--feed.js-processed .card:nth-child(3n) {
        order: 5
    }
}

.article-deck.carousel {
    display: flex;
    display: inline-flex;
    flex-flow: row nowrap;
    margin-left: -1rem;
    margin-right: -1rem;
    padding-bottom: 0;
    padding-right: 1.5rem
}

.article-deck.carousel .card {
    margin: 0 0.5rem 2rem 0.5rem;
    flex-shrink: 0;
    flex-grow: 0;
    min-width: 18.4375rem;
    flex-basis: 18.4375rem;
    scroll-snap-align: start
}

@media(min-width: 36em) {
    .article-deck.carousel .card {
        scroll-snap-align:unset;
        min-width: 20rem;
        flex-basis: 20rem
    }

    .article-deck.carousel .card:last-child:nth-child(odd) {
        margin-right: -0.5rem
    }

    .article-deck.carousel .card:nth-child(odd) {
        scroll-snap-align: start
    }
}

@media(min-width: 62em) {
    .article-deck.carousel {
        padding-right:2rem
    }

    .article-deck.carousel .card {
        scroll-snap-align: unset;
        min-width: 23.3rem;
        flex: 0 0;
        margin-left: 1rem;
        margin-right: 1rem;
        box-sizing: border-box
    }

    .article-deck.carousel .card:last-child:nth-child(odd) {
        margin-right: 1rem
    }

    .article-deck.carousel .card:last-child:not(:nth-child(3n)) {
        margin-right: -1rem
    }

    .article-deck.carousel .card:nth-child(odd) {
        scroll-snap-align: unset
    }

    .article-deck.carousel .card:nth-child(3n+1) {
        scroll-snap-align: start
    }
}

@media(min-width: 90em) {
    .article-deck.carousel .card {
        min-width:23.666666875rem
    }
}

.carousel__wrapper {
    padding-left: 2.5rem;
    padding-right: 2rem;
    margin-left: -2rem;
    margin-right: -2rem;
    overflow: auto;
    scroll-snap-type: x mandatory;
    scroll-padding: 2rem
}

@media(min-width: 36em) {
    .carousel__wrapper {
        padding-left:3.5rem;
        padding-right: 3rem;
        margin-left: -3rem;
        margin-right: -3rem;
        scroll-padding: 3rem;
        min-height: 2px
    }
}

@media(min-width: 62em) {
    .carousel__wrapper {
        padding-left:7.5rem;
        padding-right: 7.5rem;
        margin-left: -7.5rem;
        margin-right: -7.5rem;
        scroll-padding: 7.5rem;
        min-height: 3px
    }
}

.carousel__controls {
    margin-left: -2rem;
    margin-right: -2rem;
    overflow: hidden
}

@media(min-width: 36em) {
    .carousel__controls {
        margin-left:-3rem;
        margin-right: -3rem
    }
}

.carousel__controls .control-left,.carousel__controls .control-right {
    margin-bottom: 0
}

.carousel__controls .control-right {
    float: right
}

@media(min-width: 62em) {
    .carousel__controls {
        position:static
    }

    .carousel__controls .control-left,.carousel__controls .control-right {
        position: absolute;
        top: 50%;
        left: 0;
        z-index: 99;
        margin-top: -2.0625rem
    }

    .carousel__controls .control-right {
        left: auto;
        right: 0
    }
}

body.js-enabled .carousel__controls .pips {
    position: absolute;
    width: 50%;
    left: 25%;
    z-index: 2
}

body.js-enabled .carousel__controls .pips .pip:nth-child(6)~.pip {
    display: none
}

@media(min-width: 36em) {
    body.js-enabled .carousel__controls .pips .pip:nth-child(6)~.pip:not(:nth-child(even)) {
        display:inline-block
    }

    body.js-enabled .carousel__controls .pips .pip:nth-child(even) {
        display: none
    }
}

@media(min-width: 62em) {
    body.js-enabled .carousel__controls .pips {
        padding-top:0
    }

    body.js-enabled .carousel__controls .pips .pip:nth-child(6)~.pip:nth-child(3n+1),body.js-enabled .carousel__controls .pips .pip:nth-child(even) {
        display: inline-block
    }

    body.js-enabled .carousel__controls .pips .pip:nth-child(6)~.pip:not(:nth-child(3n+1)),body.js-enabled .carousel__controls .pips .pip:not(:nth-child(3n+1)) {
        display: none
    }
}

@media(min-width: 62em) {
    .carousel__container {
        position:relative;
        color: var(--bg-colour, #ffffff) !important;
        margin-left: -7.5rem;
        padding-left: 7.5rem;
        margin-right: -7.5rem;
        padding-right: 7.5rem
    }

    .carousel__mask {
        position: relative;
        color: var(--bg-colour, #ffffff) !important;
        margin-left: -1.25rem;
        padding-left: 1.25rem;
        margin-right: -1.25rem;
        padding-right: 1.25rem;
        overflow: hidden
    }

    body.js-enabled .carousel__container {
        margin-bottom: 3rem
    }
}

body.js-enabled .carousel__wrapper {
    scrollbar-width: none;
    -ms-overflow-style: none
}

body.js-enabled .carousel__wrapper::-webkit-scrollbar {
    display: none
}

.img-grid__item {
    padding-left: 5rem;
    position: relative;
    display: block;
    width: 100%;
    min-height: 4rem;
    margin-bottom: 1rem
}

@media(min-width: 36em) {
    .img-grid__item {
        text-align:center;
        padding-left: 0;
        margin-bottom: 2rem
    }
}

.img-grid a.img-grid__item {
    text-decoration: none !important
}

.img-grid a.img-grid__item:hover:not(:active) .img-grid__title,.img-grid a.img-grid__item:focus:not(:active) .img-grid__title,.img-grid a.img-grid__item:active .img-grid__title {
    text-decoration: underline
}

.img-grid a.img-grid__item:hover:not(:active) img,.img-grid a.img-grid__item:focus:not(:active) img,.img-grid a.img-grid__item:active img {
    opacity: .8
}

@media(min-width: 62em) {
    .img-grid a.img-grid__item:hover:not(:active) .img-grid__img img,.img-grid a.img-grid__item:focus:not(:active) .img-grid__img img,.img-grid a.img-grid__item:active .img-grid__img img {
        opacity:1;
        transform: translate(-50%, -50%) scale(1.1)
    }
}

.img-grid__img {
    height: 4rem;
    width: 4rem;
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid currentColor;
    border-color: var(--colour-border);
    overflow: hidden
}

.img-grid__img img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    margin: 0
}

@media(min-width: 36em) {
    .img-grid__img {
        position:relative;
        height: 12.5rem;
        width: 12.5rem;
        display: inline-block;
        margin-bottom: 0.5rem
    }
}

.img-grid__title {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    display: block
}

.img-grid__desc {
    padding-bottom: 0.5rem;
    display: block
}

.img-grid--logos .img-grid__img img {
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
    min-height: calc(100% - 1rem);
    min-width: calc(100% - 1rem)
}

@media(min-width: 36em) {
    .img-grid--logos .img-grid__img img {
        width:calc(100% - 2rem);
        height: calc(100% - 2rem);
        min-height: calc(100% - 2rem);
        min-width: calc(100% - 2rem)
    }
}

.filter {
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border);
    padding: 1.5rem 1rem 0rem 1rem
}

.filter&gt;.row {
    position: relative;
    padding-left: 2.5rem
}

.filter&gt;.row&gt;.svg__wrapper {
    position: absolute;
    top: 0;
    left: 0.5rem
}

.filter .filter__title .h6 {
    padding-bottom: 1rem
}

.filter .filter__btn .btn,.filter .filter__btn .list-links&gt;li&gt;a {
    margin-bottom: calc(1.5rem - 1px)
}

@media(min-width: 36em) {
    .filter {
        padding:1.75rem 3rem 0.25rem 3rem
    }
}

@media(min-width: 62em) {
    .filter {
        padding-left:7.5rem;
        padding-right: 7.5rem
    }

    .filter .filter__btn {
        text-align: right
    }
}

@media(min-width: 62em) {
    .filter .form-group {
        display:flex;
        flex-flow: row wrap;
        margin-right: -0.5rem;
        margin-left: -0.5rem
    }

    .filter .form-group .custom-control {
        flex: 0 0 50%;
        padding-right: 0.5rem;
        padding-left: 0.5rem
    }
}

@media(min-width: 62em) {
    .filter .form-group .custom-control {
        flex:0 0 33.3333%
    }
}

.progress__container {
    padding: 1rem 1rem 1.5rem 1rem;
    border-bottom: 1px solid currentColor;
    border-color: var(--colour-border)
}

@media(min-width: 36em) {
    .progress__container {
        padding:1.5rem 1.5rem 2rem 1.5rem
    }
}

@media(min-width: 62em) {
    .progress__container {
        padding:2rem 7.5rem 2rem 7.5rem
    }
}

.progress {
    display: flex;
    flex-wrap: wrap;
    margin-right: -1rem;
    margin-left: -1rem;
    counter-reset: progress;
    position: relative;
    padding-bottom: 0;
    z-index: 1
}

@media(min-width: 36em) {
    .progress {
        max-width:100%;
        margin: 0
    }
}

.progress li {
    min-height: 1px;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    flex: 1 0 0px;
    text-align: center;
    counter-increment: progress
}

.progress li:first-child:nth-last-child(4),.progress li:first-child:nth-last-child(4)~li {
    max-width: 25%
}

.progress li:first-child:nth-last-child(5),.progress li:first-child:nth-last-child(5)~li {
    max-width: 20%
}

.progress__step-number {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    height: 1.5rem;
    line-height: 1.5rem;
    width: 1.5rem;
    border: 1px solid currentColor;
    color: var(--colour-muted);
    border-color: var(--colour-border);
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    text-indent: -500%;
    padding: 0
}

@media(min-width: 36em) {
    .progress__step-number {
        font-size:1rem;
        height: 2rem;
        line-height: 2rem;
        width: 2rem;
        margin-bottom: 0.5rem
    }
}

.progress__step-number:before {
    content: counter(progress);
    position: absolute;
    width: 100%;
    text-align: center;
    text-indent: 0;
    top: 0;
    left: 0;
    line-height: 1.375rem
}

@media(min-width: 36em) {
    .progress__step-number:before {
        line-height:1.875rem
    }
}

[data-status=done] .progress__step-number,[data-status=current] .progress__step-number {
    background: var(--colour-primary);
    border-color: var(--colour-primary);
    color: var(--colour-white);
    font-weight: 900
}

[data-status=done] .progress__step-number:before {
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e%3cpolyline points='5,13.5 9,17.5 19,6.5' stroke='%23FFFFFF' stroke-width='2px' stroke-linejoin='round' fill='transparent' /%3e%3c/svg%3e");
    background-size: 1rem 1rem;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    height: 100%
}

@media(min-width: 36em) {
    [data-status=done] .progress__step-number:before {
        background-size:1.5rem 1.5rem
    }
}

.progress__step-title {
    display: none;
    color: var(--colour-body-light);
    padding-bottom: 0
}

.progress__step-title.current {
    color: var(--colour-body-highlight);
    font-weight: 700
}

@media(min-width: 36em) {
    .progress__step-title {
        display:block
    }
}

.progress__step-status {
    display: block;
    height: 2px;
    width: calc(100% - 1.5rem - 8px);
    min-width: calc(100% - 1.5rem - 8px);
    background-color: var(--colour-border);
    position: absolute;
    top: calc(0.75rem - 1px);
    left: calc(50% + 0.75rem + 4px);
    padding: 0;
    z-index: -2;
    overflow: hidden
}

@media(min-width: 36em) {
    .progress__step-status {
        width:calc(100% - 2rem - 8px);
        min-width: calc(100% - 2rem - 8px);
        top: calc(1rem - 1px);
        left: calc(50% + 1rem + 4px)
    }
}

[data-status=done] .progress__step-status:after {
    width: 100%
}

.progress__step-status:after {
    content: "";
    display: block;
    height: 4px;
    width: var(--progress);
    background-color: var(--colour-primary);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

.progress li:last-child .progress__step-status {
    display: none
}

.progress__current {
    text-align: center;
    padding-bottom: 0;
    display: block;
    font-weight: 900
}

@media(min-width: 36em) {
    .progress__current {
        display:none
    }
}

.calculator__results {
    background: var(--colour-white);
    padding: 1.5rem 1rem;
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: 2rem;
    box-shadow: 0 4px 16px 0 rgba(0,0,0,.08)
}

@media(min-width: 36em) {
    .calculator__results {
        padding:2rem 1.5rem;
        margin-left: -1.5rem;
        margin-right: -1.5rem
    }
}

@media(min-width: 62em) {
    .calculator__results {
        padding:2rem;
        margin-left: 0;
        margin-right: 0
    }
}

.calculator__results&gt;.btn-group:last-child {
    padding-bottom: 0
}

.calculator__results&gt;.btn-group:last-child&gt;.btn:last-child,.list-links.calculator__results&gt;li.btn-group:last-child&gt;a:last-child {
    margin-bottom: 0
}

.container--chart {
    --colour-chart-1: var(--colour-secondary);
    --colour-chart-2: var(--colour-secondary-2);
    --colour-chart-3: var(--colour-secondary-4);
    --colour-chart-4: var(--colour-secondary-3);
    --colour-chart-5: var(--colour-accent);
    --colour-chart-6: var(--colour-success);
    --colour-chart-7: var(--colour-secondary);
    --colour-chart-8: var(--colour-secondary-2);
    --colour-chart-9: var(--colour-secondary-4);
    --colour-chart-10: var(--colour-secondary-3);
    --colour-chart-11: var(--colour-accent);
    --colour-chart-12: var(--colour-success)
}

.chart-colour-1 {
    color: var(--colour-chart-1) !important
}

.chart-colour-2 {
    color: var(--colour-chart-2) !important
}

.chart-colour-3 {
    color: var(--colour-chart-3) !important
}

.chart-colour-4 {
    color: var(--colour-chart-4) !important
}

.chart-colour-5 {
    color: var(--colour-chart-5) !important
}

.chart-colour-6 {
    color: var(--colour-chart-6) !important
}

.chart-colour-7 {
    color: var(--colour-chart-7) !important
}

.chart-colour-8 {
    color: var(--colour-chart-8) !important
}

.chart-colour-9 {
    color: var(--colour-chart-9) !important
}

.chart-colour-10 {
    color: var(--colour-chart-10) !important
}

.chart-colour-11 {
    color: var(--colour-chart-11) !important
}

.chart-colour-12 {
    color: var(--colour-chart-12) !important
}

.chart__key {
    padding-bottom: 1rem;
    margin-left: -1rem;
    margin-right: -1rem
}

@media(min-width: 36em) {
    .chart__key {
        margin-left:-1.5rem;
        margin-right: -1.5rem
    }
}

@media(min-width: 62em) {
    .chart__key {
        margin-left:0;
        margin-right: 0
    }
}

.chart__key:after {
    display: table;
    clear: both;
    content: ""
}

.chart__key .key__title {
    display: block;
    max-width: 100%
}

.chart__key .custom-checkbox {
    color: var(--colour-body);
    width: 50%;
    float: left
}

@media(min-width: 36em) {
    .chart__key .custom-checkbox {
        width:auto;
        padding-right: 4rem
    }
}

.chart__key .custom-control-input[type=checkbox] {
    pointer-events: none
}

.chart__key .custom-control-input[type=checkbox]:not(:disabled):checked~.custom-control-label:before {
    border-color: currentColor;
    background: currentColor
}

.chart__key .key__btn&gt;span {
    content: "";
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    height: 1em;
    line-height: 1.1em;
    width: 1em;
    margin-bottom: -0.1em;
    margin-right: .5em;
    background: currentColor
}

.js-enabled .chart__key .custom-control-input[type=checkbox] {
    pointer-events: inherit
}

.chart__wrapper {
    margin-top: 1rem;
    position: relative;
    display: block;
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: 4rem
}

@media(min-width: 36em) {
    .chart__wrapper {
        margin-left:-1.5rem;
        margin-right: -1.5rem
    }
}

@media(min-width: 62em) {
    .chart__wrapper {
        margin-left:0;
        margin-right: 0
    }
}

.chart {
    display: flex;
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 1.5rem
}

@media(min-width: 36em) {
    .chart {
        padding-top:42.86%;
        margin-bottom: 0
    }
}

.chart .chart__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex
}

@media(min-width: 36em) {
    .chart .chart__inner {
        height:calc(100% - 1.5rem)
    }
}

.chart .chart__label {
    font-size: 0.875rem;
    line-height: 1.5rem;
    color: var(--colour-body)
}

.chart .chart__y-axis {
    text-align: right;
    position: relative;
    display: flex;
    flex-flow: column-reverse;
    width: 0;
    margin-bottom: 2px
}

@media(min-width: 36em) {
    .chart .chart__y-axis {
        width:auto;
        padding-right: 0.5rem
    }
}

@media(min-width: 62em) {
    .chart .chart__y-axis {
        margin-bottom:3px
    }
}

.chart .chart__y-axis .group {
    flex-grow: 0;
    flex-shrink: 0;
    height: var(--percent)
}

.chart .chart__y-axis .group .chart__label {
    display: none
}

.chart .chart__y-axis .group:last-child .chart__label {
    display: block;
    -webkit-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -o-transform: translate(0, -100%);
    transform: translate(0, -100%)
}

@media(min-width: 36em) {
    .chart .chart__y-axis .group .chart__label {
        display:block;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        -o-transform: translate(0, -50%);
        transform: translate(0, -50%)
    }

    .chart .chart__y-axis .group:last-child .chart__label {
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        -o-transform: translate(0, -50%);
        transform: translate(0, -50%)
    }
}

.chart .chart__guidelines {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex-flow: column-reverse
}

.chart .chart__guidelines .guideline {
    flex-grow: 0;
    flex-shrink: 0;
    height: var(--percent);
    color: var(--colour-border);
    border-top: 1px solid currentColor;
    margin: 0
}

.chart .chart__guidelines .guideline:first-child {
    display: none
}

.chart .chart__x-axis {
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
    color: var(--colour-border);
    border-bottom: 2px solid currentColor
}

@media(min-width: 62em) {
    .chart .chart__x-axis {
        border-bottom:3px solid currentColor
    }
}

.bg-light .chart .chart__x-axis {
    background: var(--colour-white)
}

.chart .chart__x-axis ul {
    display: flex;
    margin: 0;
    padding: 0;
    height: 100%;
    max-width: none
}

.chart .chart__x-axis ul .group {
    height: 100%;
    flex: 0 1 100%;
    display: flex;
    -ms-flex-align: end !important;
    align-items: flex-end !important;
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.chart .chart__x-axis ul .group .chart__label {
    position: absolute;
    top: 100%;
    padding-top: 0.5rem;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    min-width: 100%;
    text-align: center;
    display: none
}

@media(min-width: 36em) {
    .chart .chart__x-axis ul .group .chart__label {
        display:block;
        white-space: nowrap
    }
}

.chart .chart__x-axis--mobile {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%
}

.chart .chart__x-axis--mobile .chart__label {
    float: left;
    padding-top: 0.5rem
}

.chart .chart__x-axis--mobile .chart__label+.chart__label {
    float: right
}

@media(min-width: 36em) {
    .chart .chart__x-axis--mobile {
        display:none
    }
}

.chart .data__wrapper {
    display: flex;
    height: 100%;
    width: 100%;
    -ms-flex-align: end !important;
    align-items: flex-end !important;
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.chart .data {
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    height: 100%;
    height: var(--percent);
    margin-left: 0.125rem;
    margin-right: 0.125rem;
    position: relative;
    outline: none;
    border-radius: 0.25rem;
    border: none;
    z-index: 2;
    max-width: 3rem;
    background: currentColor
}

@media(min-width: 36em) {
    .chart .data {
        max-width:4rem
    }
}

@media(min-width: 62em) {
    .chart .data {
        max-width:6rem
    }
}

.chart .data:hover {
    z-index: 10
}

.chart .data:focus,.chart .data:active {
    z-index: 20
}

.chart .data [data-tooltip] {
    width: auto;
    max-width: 12.5rem;
    text-align: center;
    z-index: 99
}

@media(min-width: 62em) {
    .chart .data [data-tooltip] {
        left:50% !important;
        right: auto !important;
        transform: translate(-50%, 0) !important
    }
}

.chart .data [data-tooltip] span,.chart .data [data-tooltip] strong {
    display: block
}

.chart .data__label {
    position: absolute;
    bottom: 100%;
    opacity: 0;
    pointer-events: none
}

.chart--line .chart .chart__x-axis ul .group .chart__label {
    text-align: left;
    min-width: auto;
    left: 0
}

.chart--line .chart .chart__x-axis ul .group:first-child .chart__label {
    -webkit-transform: translate(0%, 0);
    -ms-transform: translate(0%, 0);
    -o-transform: translate(0%, 0);
    transform: translate(0%, 0)
}

.chart--line .chart .chart__x-axis ul .group:last-child {
    max-width: 1px
}

.chart--line .chart .chart__x-axis ul .group:last-child .chart__label {
    left: auto;
    right: 0;
    -webkit-transform: translate(0%, 0);
    -ms-transform: translate(0%, 0);
    -o-transform: translate(0%, 0);
    transform: translate(0%, 0)
}

.chart--line .chart .data {
    height: 0.5rem;
    width: 0.5rem;
    flex: none;
    margin: 0 0 -0.25rem -0.25rem;
    position: absolute;
    bottom: var(--percent);
    left: 0;
    opacity: 0;
    z-index: 20;
    background: currentColor;
    border-radius: 50%
}

.chart--line .chart .data:hover {
    z-index: 30
}

@media(min-width: 36em) {
    .chart--line .chart .data {
        height:1rem;
        width: 1rem;
        margin: 0 0 -0.5rem -0.5rem
    }
}

.chart--line .chart .marker {
    width: 0;
    color: var(--colour-border);
    border-left: 1px dashed currentColor;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0%;
    opacity: 0;
    z-index: 0
}

.chart--line .chart .data:hover {
    opacity: 1 !important
}

.chart--line .chart .data:hover .marker {
    opacity: 1
}

.chart--line .chart .group:hover .marker {
    opacity: 1
}

.chart--line .chart .line,.chart--line .chart .range {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: visible;
    pointer-events: none
}

.chart--line .chart .line path,.chart--line .chart .range path {
    stroke: currentColor;
    stroke-width: .6px;
    stroke-linejoin: round
}

@media(min-width: 36em) {
    .chart--line .chart .line path,.chart--line .chart .range path {
        stroke-width:.5px
    }
}

@media(min-width: 62em) {
    .chart--line .chart .line path,.chart--line .chart .range path {
        stroke-width:.4px
    }
}

.chart--line .chart .line.invert path,.chart--line .chart .range.invert path {
    color: #fff !important
}

.chart--line .chart .line--dashed {
    stroke-dasharray: 1.5px
}

@media(min-width: 36em) {
    .chart--line .chart .line--dashed {
        stroke-dasharray:.75px
    }
}

.chart--line .chart .line--thin path {
    stroke-width: .3px;
    stroke-linecap: initial
}

@media(min-width: 36em) {
    .chart--line .chart .line--thin path {
        stroke-width:.25px
    }
}

@media(min-width: 62em) {
    .chart--line .chart .line--thin path {
        stroke-width:.2px
    }
}

.chart--line .chart .range {
    z-index: 0 !important
}

.chart--line .chart .range path {
    stroke: none !important;
    fill: currentColor;
    opacity: .5
}

.chart--line .chart .range.show path {
    opacity: 1
}

.chart--line.show-points .chart .data:not(:hover):not(:focus):not(:active) {
    opacity: 1;
    transform: scale(0.5)
}

.chart--stacked .chart__key .custom-checkbox {
    pointer-events: none
}

.chart--stacked .custom-control-label:after {
    display: none
}

.chart--stacked .chart .data__wrapper {
    flex-flow: column-reverse;
    justify-content: flex-start !important;
    align-items: center !important
}

.chart--stacked .chart .data {
    width: 80%;
    flex: 0 0 var(--percent);
    border-radius: 0
}

.chart--pie .chart__wrapper {
    margin-left: 0;
    margin-right: 0
}

.chart--pie .chart {
    padding-top: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: center
}

@media(min-width: 36em) {
    .chart--pie .chart {
        justify-content:space-between
    }
}

.chart--pie .pie {
    height: 17rem;
    width: 17rem;
    flex: 0 0 17rem;
    position: relative
}

.chart--pie .pie:after {
    content: "";
    display: block;
    z-index: 5;
    position: absolute;
    top: 15%;
    left: 15%;
    height: 70%;
    width: 70%;
    border-radius: 50%
}

.chart--pie .pie .hotspot {
    position: absolute;
    opacity: 0;
    top: 0;
    left: 50%;
    height: 50%;
    width: 50%;
    transform-origin: bottom left;
    z-index: 4;
    border-top-right-radius: 100%
}

.chart--pie .pie .hotspot--inner {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-origin: bottom left;
    border-top-right-radius: 100%
}

.chart--pie .pie .tooltip {
    top: 15%;
    left: 50%
}

.chart--pie .pie .tooltip [data-tooltip] {
    width: auto;
    white-space: nowrap;
    transform: translate(-50%, 1rem)
}

.chart--pie .pie .hotspot:hover+.tooltip [data-tooltip] {
    opacity: 1;
    visibility: visible
}

.chart--pie .pie .tooltip[data-quarter="2"],.chart--pie .pie .tooltip[data-quarter="3"] {
    top: 50%
}

.chart--pie .pie .hotspot:last-of-type+.tooltip {
    top: 15%
}

@media(min-width: 62em) {
    .chart--pie .pie .tooltip[data-quarter="1"] {
        position:absolute;
        top: 2%;
        left: 75%
    }

    .chart--pie .pie .tooltip[data-quarter="1"] [data-tooltip] {
        transform: none
    }

    .chart--pie .pie .tooltip[data-quarter="2"] {
        position: absolute;
        top: 80%;
        left: 75%
    }

    .chart--pie .pie .tooltip[data-quarter="2"] [data-tooltip] {
        transform: none
    }

    .chart--pie .pie .tooltip[data-quarter="3"] {
        position: absolute;
        top: 80%;
        right: 75%;
        left: auto
    }

    .chart--pie .pie .tooltip[data-quarter="3"] [data-tooltip] {
        transform: none;
        left: auto;
        right: 0
    }

    .chart--pie .pie .tooltip[data-quarter="4"],.chart--pie .pie .hotspot:last-of-type+.tooltip {
        position: absolute;
        top: 2%;
        right: 75%;
        left: auto
    }

    .chart--pie .pie .tooltip[data-quarter="4"] [data-tooltip],.chart--pie .pie .hotspot:last-of-type+.tooltip [data-tooltip] {
        transform: none;
        left: auto;
        right: 0
    }
}

.chart--pie .pie .hotspot.hotspot--small {
    z-index: 1
}

.chart--pie .pie .hotspot.hotspot--xxsmall {
    z-index: 2;
    width: 15%
}

.chart--pie .pie .hotspot.hotspot--xsmall {
    z-index: 2;
    width: 27%;
    border-top-right-radius: 70%
}

.chart--pie .pie .hotspot:last-of-type {
    z-index: 3
}

.chart--pie .pie .hotspot:nth-of-type(1):hover~svg circle:nth-child(1),.chart--pie .pie .hotspot:nth-of-type(2):hover~svg circle:nth-child(2),.chart--pie .pie .hotspot:nth-of-type(3):hover~svg circle:nth-child(3),.chart--pie .pie .hotspot:nth-of-type(4):hover~svg circle:nth-child(4),.chart--pie .pie .hotspot:nth-of-type(5):hover~svg circle:nth-child(5),.chart--pie .pie .hotspot:nth-of-type(6):hover~svg circle:nth-child(6),.chart--pie .pie .hotspot:nth-of-type(7):hover~svg circle:nth-child(7),.chart--pie .pie .hotspot:nth-of-type(8):hover~svg circle:nth-child(8),.chart--pie .pie .hotspot:nth-of-type(9):hover~svg circle:nth-child(9),.chart--pie .pie .hotspot:nth-of-type(10):hover~svg circle:nth-child(10),.chart--pie .pie .hotspot:nth-of-type(11):hover~svg circle:nth-child(11) {
    stroke-width: var(--stroke-width-hover, 4px)
}

.chart--pie .pie svg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    pointer-events: none
}

.chart--pie .pie svg circle {
    stroke-width: 3px;
    pointer-events: all;
    stroke: currentColor
}

.chart--pie .pie .group__title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    pointer-events: none
}

@media(min-width: 36em) {
    .chart--pie[data-group-count="1"] .chart__wrapper {
        width:18.75rem;
        margin: 0;
        float: left
    }

    .chart--pie[data-group-count="1"] .chart__key {
        pointer-events: none;
        padding-top: 2rem;
        width: calc(100% - 20.75rem);
        margin: 0;
        float: right
    }

    .chart--pie[data-group-count="1"] .chart__key .custom-checkbox {
        width: 100%
    }

    .chart--pie[data-group-count="2"] .chart {
        justify-content: start
    }

    .chart--pie[data-group-count="2"] .chart .pie:first-child {
        margin-right: 4rem
    }
}

.chart--stacked .chart__key .custom-checkbox,.chart--pie .chart__key .custom-checkbox,.chart--basic .chart__key .custom-checkbox {
    pointer-events: none
}

.chart--stacked .custom-control-label:after,.chart--pie .custom-control-label:after,.chart--basic .custom-control-label:after {
    display: none
}

.chart--line.chart--basic .chart__key .custom-control {
    width: auto;
    min-width: 50%
}

.chart--line.chart--basic .chart__key .custom-control-label:before {
    height: 2px;
    margin-top: calc(.75rem - 1px);
    background: none !important;
    border: none;
    border-bottom: 2px solid currentColor
}

.chart--line.chart--basic .chart__key .line--dashed .custom-control-label:before {
    border-bottom: 2px dotted currentColor
}

.chart--line.chart--basic .chart__key .line--thin .custom-control-label:before {
    border-bottom: 1px solid currentColor
}

@media(min-width: 36em) {
    .chart--line.chart--basic .chart__key {
        padding-left:3.5rem;
        position: relative
    }

    .chart--line.chart--basic .chart__key .custom-control {
        width: auto;
        min-width: 0
    }

    .chart--line.chart--basic .chart__key .key__title {
        position: absolute;
        top: 0;
        left: 0;
        max-width: none;
        width: auto
    }

    .chart--line.chart--basic .chart__key .custom-checkbox {
        padding-right: 2rem
    }
}

.chart .group .data.hide {
    pointer-events: none;
    opacity: 0
}

.chart .line.hide {
    opacity: 0
}

.container--chart--no-key .chart__key {
    display: none
}

.chart--key-beneath {
    display: flex;
    flex-direction: column-reverse
}

.chart--key-beneath .chart__key {
    margin-top: -1rem;
    margin-bottom: 2rem
}

@media print {
    *,*::before,*::after {
        text-shadow: none !important;
        box-shadow: none !important
    }

    a:not(.btn) {
        text-decoration: underline
    }

    abbr[title]::after {
        content: " (" attr(title) ")"
    }

    pre {
        white-space: pre-wrap !important
    }

    pre,blockquote {
        border: 1px solid #6d7173;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    tr,img {
        page-break-inside: avoid
    }

    p,h2,h3 {
        orphans: 3;
        widows: 3
    }

    h2,h3 {
        page-break-after: avoid
    }

    @page {
        size: a3
    }

    body {
        min-width: 992px !important
    }

    .container {
        min-width: 992px !important
    }

    .navbar {
        display: none
    }

    .badge {
        border: 1px solid #000
    }

    .table {
        border-collapse: collapse !important
    }

    .table td,.table th {
        background-color: #fff !important
    }

    .table-bordered th,.table-bordered td {
        border: 1px solid #dfe3e6 !important
    }

    .table-dark {
        color: inherit
    }

    .table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody {
        border-color: #dfe3e6
    }

    .table .thead-dark th {
        color: inherit;
        border-color: #dfe3e6
    }
}

/*# sourceMappingURL=vmstrap-1.3.5.min.css.map */
</pre></body></html>