@charset "UTF-8";
/*
	This defines the brand:
	1) Font imports
	2) Brand palette
	This can contain any variables (name and value)
*/
/* poppins-300italic - latin */
@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 300;
    src: url("../assets/fonts/poppins/poppins-v15-latin-300italic.eot"); /* IE9 Compat Modes */
    src: local(""), url("../assets/fonts/poppins/poppins-v15-latin-300italic.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-300italic.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-300italic.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-300italic.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-300italic.svg#Poppins") format("svg"); /* Legacy iOS */
}
/* poppins-300 - latin */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 300;
    src: url("../assets/fonts/poppins/poppins-v15-latin-300.eot"); /* IE9 Compat Modes */
    src: local(""), url("../assets/fonts/poppins/poppins-v15-latin-300.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-300.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-300.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-300.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-300.svg#Poppins") format("svg"); /* Legacy iOS */
}
/* poppins-regular - latin */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/poppins/poppins-v15-latin-regular.eot"); /* IE9 Compat Modes */
    src: local(""), url("../assets/fonts/poppins/poppins-v15-latin-regular.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-regular.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-regular.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-regular.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-regular.svg#Poppins") format("svg"); /* Legacy iOS */
}
/* poppins-500 - latin */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    src: url("../assets/fonts/poppins/poppins-v15-latin-500.eot"); /* IE9 Compat Modes */
    src: local(""), url("../assets/fonts/poppins/poppins-v15-latin-500.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-500.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-500.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-500.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-500.svg#Poppins") format("svg"); /* Legacy iOS */
}
/* poppins-italic - latin */
@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 400;
    src: url("../assets/fonts/poppins/poppins-v15-latin-italic.eot"); /* IE9 Compat Modes */
    src: local("Poppins-Italic"),
        url("../assets/fonts/poppins/poppins-v15-latin-italic.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-italic.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-italic.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-italic.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-italic.svg#Poppins") format("svg"); /* Legacy iOS */
}
/* poppins-500italic - latin */
@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 500;
    src: url("../assets/fonts/poppins/poppins-v15-latin-500italic.eot"); /* IE9 Compat Modes */
    src: local(""), url("../assets/fonts/poppins/poppins-v15-latin-500italic.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-500italic.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-500italic.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-500italic.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-500italic.svg#Poppins") format("svg"); /* Legacy iOS */
}
/* poppins-600 - latin */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    src: url("../assets/fonts/poppins/poppins-v15-latin-600.eot"); /* IE9 Compat Modes */
    src: local(""), url("../assets/fonts/poppins/poppins-v15-latin-600.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-600.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-600.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-600.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-600.svg#Poppins") format("svg"); /* Legacy iOS */
}
/* poppins-700 - latin */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    src: url("../assets/fonts/poppins/poppins-v15-latin-700.eot"); /* IE9 Compat Modes */
    src: local(""), url("../assets/fonts/poppins/poppins-v15-latin-700.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-700.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-700.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-700.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-700.svg#Poppins") format("svg"); /* Legacy iOS */
}
/* poppins-600italic - latin */
@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 600;
    src: url("../assets/fonts/poppins/poppins-v15-latin-600italic.eot"); /* IE9 Compat Modes */
    src: local(""), url("../assets/fonts/poppins/poppins-v15-latin-600italic.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-600italic.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-600italic.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-600italic.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-600italic.svg#Poppins") format("svg"); /* Legacy iOS */
}
/* poppins-700italic - latin */
@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 700;
    src: url("../assets/fonts/poppins/poppins-v15-latin-700italic.eot"); /* IE9 Compat Modes */
    src: local(""), url("../assets/fonts/poppins/poppins-v15-latin-700italic.eot?#iefix") format("embedded-opentype"),
        /* IE6-IE8 */ url("../assets/fonts/poppins/poppins-v15-latin-700italic.woff2") format("woff2"),
        /* Super Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-700italic.woff") format("woff"),
        /* Modern Browsers */ url("../assets/fonts/poppins/poppins-v15-latin-700italic.ttf") format("truetype"),
        /* Safari, Android, iOS */ url("../assets/fonts/poppins/poppins-v15-latin-700italic.svg#Poppins") format("svg"); /* Legacy iOS */
}
/*
	These ensure flexbox properties work in older versions of Safari
	Likely that these can be removed within following year
*/
/*
	This is a stripped down version of normalize.css
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}

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

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

button {
    padding: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type="search"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}

audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    max-width: 100%;
}

html {
    -webkit-text-size-adjust: 100%; /* 2 */
    -ms-text-size-adjust: 100%; /* 2 */
}

legend {
    border: 0;
    padding: 0;
    white-space: normal;
}

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */
button,
input,
select,
textarea {
    font-size: 100%; /* 1 */
    margin: 0; /* 2 */
    font-family: inherit;
    vertical-align: baseline; /* 3 */
    *vertical-align: middle; /* 3 */
}

/**
 * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
    overflow: visible; /* 4 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 3+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/*
	Variables set at app level
*/
/*
	Basic mobile/desktop media query
	Referred to throughout components where screen size infers
	container size or context at which layout should change
*/
/*
	For adjustments made to accomodate smallest screens that
	would be less than optimal for larger mobiles
*/
/*
	constraint on overall UI width used in quote process
*/
* {
    box-sizing: border-box;
}

/* 100% height and flex properties on body and main ensure that footer is pinned to bottom */
html {
    height: 100%;
}

body {
    margin: 0;
    z-index: 1;
    min-height: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
}

main {
    -webkit-flex-grow: 1;
    flex-grow: 1;
}

.spaced {
    margin-bottom: 48px;
}

.spaced-above-below {
    margin-top: 24px;
    margin-bottom: 24px;
}

.display-none {
    display: none !important;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.align-center {
    text-align: center;
}

@media screen and (max-width: 768px) {
    .flex--mobile-col {
        -webkit-flex-direction: column;
        flex-direction: column;
    }
    .full-width-mobile {
        max-width: 100%;
        height: auto;
    }
}
@media screen and (max-width: 768px) {
    .display-desktop-only {
        display: none;
    }
}
@media screen and (min-width: 769px) {
    .display-mobile-only {
        display: none;
    }
}
/*
	Base font sizes for mobile and desktop
*/
/*
	Base font size for calculations
*/
html {
    font-size: 100%;
}

body {
    color: #1f1f1f;
    font-family: Poppins, Helvetica, Arial, sans-serif;
}
@media all and (max-width: 768px) {
    body {
        line-height: 1.5rem;
    }
}
@media all and (min-width: 769px) {
    body {
        line-height: 1.625rem;
    }
}
@media all and (min-width: 769px) {
    body {
        font-size: 1.125rem;
    }
}
@media all and (max-width: 768px) {
    body {
        font-size: 1rem;
    }
}

a:link,
a:visited,
a:active,
a:hover {
    color: #1f1f1f;
}

a:focus {
    background-color: hsl(0deg, 0%, 95%);
}

h1,
h2 {
    font-family: Poppins, Helvetica, Arial, sans-serif;
}

h1 {
    font-weight: 600;
}
@media all and (min-width: 769px) {
    h1 {
        font-size: 2.625rem;
        line-height: 3.125rem;
        margin-top: -0.5rem;
        margin-bottom: 1.5rem;
    }
}
@media all and (max-width: 768px) {
    h1 {
        font-size: 2rem;
        line-height: 2.5rem;
        margin-top: -0.5rem;
        margin-bottom: 1.5rem;
    }
}

h2 {
    font-weight: 600;
}
@media all and (min-width: 769px) {
    h2 {
        font-size: 2.625rem;
        line-height: 3.125rem;
        margin-top: -0.5rem;
        margin-bottom: 1rem;
    }
}
@media all and (max-width: 768px) {
    h2 {
        font-size: 2rem;
        line-height: 2.5rem;
        margin-top: -0.5rem;
        margin-bottom: 1rem;
    }
}

h3,
.h3-style {
    font-weight: 600;
    font-size: 1.625rem;
    line-height: 2.125rem;
    margin-top: -0.5rem;
    margin-bottom: 1rem;
}

h4,
.h4-style {
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.625rem;
    margin-top: -0.5rem;
    margin-bottom: 1rem;
}

@media all and (min-width: 769px) {
    p {
        font-size: 1.125rem;
        line-height: 1.625rem;
        margin-top: -0.5rem;
        margin-bottom: 1rem;
    }
}
@media all and (max-width: 768px) {
    p {
        font-size: 1rem;
        line-height: 1.5rem;
        margin-top: -0.5rem;
        margin-bottom: 1rem;
    }
}

strong,
b {
    font-weight: 600;
}

.page-heading {
    color: #1f1f1f;
}

.standard-list {
    margin-top: 18px;
    margin-bottom: 18px;
    margin-left: 20px;
}

.simple-list {
    margin: 8px 0 18px;
}
.simple-list li {
    list-style: none;
}

table.simple-table,
table.simple-table tbody {
    display: block;
}

table.simple-table tr {
    display: flex;
}

table.simple-table tr:not(:last-child) {
    margin-bottom: 16px;
}

table.simple-table th,
table.simple-table td {
    text-align: left;
    display: inline-block;
}

table.simple-table th {
    font-weight: 400;
    flex-basis: 40%;
}

table.simple-table td {
    font-weight: 600;
}

@media all and (max-width: 600px) {
    table.simple-table th {
        padding-right: 16px;
    }
}
@media all and (min-width: 601px) {
    table.simple-table th {
        padding-right: 48px;
    }
}
@media all and (min-width: 769px) {
    .small-text {
        font-size: 1rem;
        line-height: 1.5rem;
        margin-top: -0.5rem;
        margin-bottom: 1rem;
    }
}

@media all and (max-width: 768px) {
    .label-size {
        font-size: 1.25rem;
        line-height: 1.6875rem;
        margin-top: -0.4375rem;
        margin-bottom: 1.0625rem;
    }
}
@media all and (min-width: 769px) {
    .label-size {
        font-size: 1.375rem;
        line-height: 1.75rem;
        margin-top: -0.375rem;
        margin-bottom: 1.125rem;
    }
}

.deeplink {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}
@media screen and (min-width: 769px) {
    .deeplink {
        padding: 48px;
    }
}

.deeplink__content {
    width: 100%;
    max-width: 800px;
}

.deeplink__panel {
    background-color: #fff;
    width: 100%;
}
@media screen and (min-width: 769px) {
    .deeplink__panel {
        padding: 36px;
    }
}
@media screen and (max-width: 768px) {
    .deeplink__panel {
        padding: 24px;
    }
}
@media all and (min-width: 769px) {
    .deeplink__panel > p:last-child {
        margin-bottom: -0.5rem;
    }
}
@media all and (max-width: 768px) {
    .deeplink__panel > p:last-child {
        margin-bottom: -0.5rem;
    }
}
.deeplink__panel .important-note--panel {
    background: #efefef;
}

@media all and (max-width: 615px) {
    .deeplink__panel__heading {
        font-size: 20px;
    }
    .deeplink__panel__logo {
        width: 120px;
    }
}
@media all and (min-width: 616px) and (max-width: 850px) {
    .deeplink__panel__heading {
        font-size: 32px;
    }
    .deeplink__panel__logo {
        width: 190px;
    }
}
@media all and (min-width: 851px) {
    .deeplink__panel__heading {
        font-size: 42px;
    }
    .deeplink__panel__logo {
        width: 238px;
    }
}
.deeplink__panel__logo {
    display: inline-block;
}
.deeplink__panel__logo path {
    fill: #000000;
}

.deeplink__brand {
    display: -webkit-flex;
    display: flex;
}

.deeplink__brand,
.deeplink__copy,
.deeplink__progress {
    margin-bottom: 32px;
}

.deeplink__brand__image {
    margin-right: 24px;
}
@media all and (max-width: 768px) {
    .deeplink__brand__image .brand-logo {
        width: 85px;
    }
}
@media all and (min-width: 769px) {
    .deeplink__brand__image .brand-logo {
        width: 130px;
    }
}

.deeplink__brand__text {
    padding-top: 10px;
}
@media all and (min-width: 769px) {
    .deeplink__brand__text p {
        font-size: 1.125rem;
        line-height: 1.625rem;
        margin-top: -0.5rem;
        margin-bottom: 1rem;
    }
}
@media all and (min-width: 769px) {
    .deeplink__brand__text p:last-child {
        margin-bottom: -0.5rem;
    }
}
@media all and (max-width: 768px) {
    .deeplink__brand__text p {
        font-size: 1rem;
        line-height: 1.5rem;
        margin-top: -0.5rem;
        margin-bottom: 1rem;
    }
}
@media all and (max-width: 768px) {
    .deeplink__brand__text p:last-child {
        margin-bottom: -0.5rem;
    }
}

.deeplink__copy p:last-child {
    margin-bottom: -0.5rem;
}

.deeplink-promo-container {
    width: 100%;
}

.deeplink-promo__image {
    width: 100%;
    flex-basis: 100%;
}

.input-shell--autocomplete {
    position: relative;
}

.autocomplete__options {
    position: absolute;
    width: 100%;
    max-width: 360px;
    padding-top: 3px;
    border: 1px solid #333;
    list-style: none;
    z-index: 10;
}
@media all and (max-width: 768px) {
    .autocomplete__options {
        top: 44px;
    }
}
@media all and (min-width: 769px) {
    .autocomplete__options {
        top: 47px;
    }
}

input[type="text"]:focus ~ .autocomplete__options {
    border-top: 4px solid #ac831b;
    padding-top: 0;
}

.autocomplete__option {
    padding: 4px;
    font-size: 1rem;
    line-height: 1.5rem;
    background-color: #fff;
}
.autocomplete__option:focus {
    outline: none;
    background-color: #4db6a1;
}
.autocomplete__option:hover {
    cursor: pointer;
}
.autocomplete__option:hover:not(:focus) {
    background-color: #efefef;
}

.input-shell--prefixed {
    position: relative;
}
.input-shell--prefixed:before {
    content: "£";
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: absolute;
    left: 2px;
    top: 2px;
    width: 47px;
    height: calc(100% - 4px);
    font-weight: 600;
    background-color: #f1f1f1;
    color: #1f1f1f;
}
.input-shell--prefixed.input-shell--prefixed--registration:before {
    content: "GB";
}
.input-shell--prefixed input[type="text"],
.input-shell--prefixed input[type="number"] {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding-left: 55px;
}
.input-shell--prefixed input[type="text"][aria-invalid="true"],
.input-shell--prefixed input[type="tel"][aria-invalid="true"],
.input-shell--prefixed input[type="number"][aria-invalid="true"],
.input-shell--prefixed input[type="search"][aria-invalid="true"],
.input-shell--prefixed input[type="password"][aria-invalid="true"],
.input-shell--prefixed input[type="email"][aria-invalid="true"] {
    padding-left: 53px;
}

.field-group--error .input-shell--prefixed:before {
    left: 4px;
    top: 4px;
    width: 45px;
    height: calc(100% - 8px);
}

input[type="number"] {
    -webkit-appearance: none;
    -moz-appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"] {
    border: 2px solid #1f1f1f;
    border-radius: 0;
    padding: 8px;
    line-height: 1rem;
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="search"],
    input[type="password"] {
        font-size: 16px;
    }
}
@media screen and (min-width: 769px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="search"],
    input[type="password"] {
        font-size: 18px;
    }
}
input[type="text"].standard-width,
input[type="email"].standard-width,
input[type="tel"].standard-width,
input[type="number"].standard-width,
input[type="search"].standard-width,
input[type="password"].standard-width {
    width: 100%;
    max-width: 360px;
}
input[type="text"].half-width,
input[type="email"].half-width,
input[type="tel"].half-width,
input[type="number"].half-width,
input[type="search"].half-width,
input[type="password"].half-width {
    width: 172px;
}
input[type="text"].small-width,
input[type="email"].small-width,
input[type="tel"].small-width,
input[type="number"].small-width,
input[type="search"].small-width,
input[type="password"].small-width {
    width: 108px;
}
input[type="text"].x-small-width,
input[type="email"].x-small-width,
input[type="tel"].x-small-width,
input[type="number"].x-small-width,
input[type="search"].x-small-width,
input[type="password"].x-small-width {
    width: 70px;
}
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
input[type="number"]::placeholder,
input[type="search"]::placeholder,
input[type="password"]::placeholder {
    font-weight: 400;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="email"]:focus,
button:focus,
select:focus,
input[type="radio"]:focus + label,
input[type="checkbox"]:focus + label {
    outline: 4px solid #ac831b;
}

input[type="checkbox"] {
    border-radius: 0;
    background-color: #f1f1f1;
}

.input-shell--option {
    position: relative;
}
.input-shell--option input[type="radio"],
.input-shell--option input[type="checkbox"] {
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    left: 1em;
    top: calc(50% - 0.75em);
}
.input-shell--option input[type="radio"]:focus,
.input-shell--option input[type="checkbox"]:focus {
    outline: none;
}
.input-shell--option input[type="radio"][disabled],
.input-shell--option input[type="checkbox"][disabled] {
    opacity: 0.3;
}
.input-shell--option input[type="radio"][disabled] + label,
.input-shell--option input[type="checkbox"][disabled] + label {
    opacity: 0.3;
}
.input-shell--option input[type="radio"] + label,
.input-shell--option input[type="checkbox"] + label {
    display: inline-block;
    border: 2px solid #1f1f1f;
    border-radius: 0;
    padding: 10px 10px 10px 54px;
    cursor: pointer;
    font-weight: 600;
    background-color: #fff;
}
@media all and (min-width: 769px) {
    .input-shell--option input[type="radio"] + label,
    .input-shell--option input[type="checkbox"] + label {
        line-height: 1.625rem;
    }
}
@media all and (max-width: 768px) {
    .input-shell--option input[type="radio"] + label,
    .input-shell--option input[type="checkbox"] + label {
        line-height: 1.5rem;
    }
}
.input-shell--option input[type="radio"] + label:hover,
.input-shell--option input[type="checkbox"] + label:hover {
    background-color: #d4d4d4;
}
.input-shell--option input[type="radio"] {
    filter: alpha(opacity=0);
    opacity: 0;
}
.input-shell--option input[type="radio"]:checked + label:before {
    border-color: #1f1f1f;
}
.input-shell--option input[type="radio"]:checked + label:after {
    filter: alpha(opacity=1);
    opacity: 1;
}
.input-shell--option input[type="radio"] + label:before {
    content: "";
    border: 2px solid #9f9f9f;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    width: 26px;
    height: 26px;
    top: calc(50% - 15px);
}
@media screen and (max-width: 768px) {
    .input-shell--option input[type="radio"] + label:before {
        left: 16px;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--option input[type="radio"] + label:before {
        left: 18px;
    }
}
.input-shell--option input[type="radio"] + label:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    border-radius: 50%;
    zoom: 1;
    filter: alpha(opacity=0);
    opacity: 0;
}
@media screen and (max-width: 768px) {
    .input-shell--option input[type="radio"] + label:after {
        border: 8px solid #81d5eb;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--option input[type="radio"] + label:after {
        border: 9px solid #81d5eb;
    }
}
@media screen and (max-width: 768px) {
    .input-shell--option input[type="radio"] + label:after {
        top: calc(50% - 8px);
        left: 23px;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--option input[type="radio"] + label:after {
        top: calc(50% - 9px);
        left: 24px;
    }
}
.input-shell--option input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    border-width: 2px;
    border-style: solid;
    border-color: #9f9f9f;
    background-color: #fff;
}
.input-shell--option input[type="checkbox"]:checked {
    background-image: url(../assets/icons/checkbox-tick.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    border-color: #1f1f1f;
}

.input-shell--option:not(:last-child) {
    margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
    .input-shell--option:not(.input-shell--horizontal) input[type="radio"] + label,
    .input-shell--option:not(.input-shell--horizontal) input[type="checkbox"] + label {
        width: 100%;
        max-width: 360px;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--option:not(.input-shell--horizontal) input[type="radio"] + label,
    .input-shell--option:not(.input-shell--horizontal) input[type="checkbox"] + label {
        width: 360px;
    }
}

.input-shell--plain {
    position: relative;
}
.input-shell--plain input[type="radio"],
.input-shell--plain input[type="checkbox"] {
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    left: 1em;
    top: 0.75rem;
}
.input-shell--plain input[type="radio"] + label,
.input-shell--plain input[type="checkbox"] + label {
    display: inline-block;
    padding: 0.75rem 0.75rem 0.75rem 3.5rem;
    margin-left: -1rem;
    cursor: pointer;
    line-height: 1.5rem;
}
.input-shell--plain input[type="radio"]:focus + label,
.input-shell--plain input[type="checkbox"]:focus + label {
    outline: none;
}
.input-shell--plain input[type="radio"] {
    filter: alpha(opacity=0);
    opacity: 0;
    left: 0;
}
.input-shell--plain input[type="radio"]:checked + label:before {
    border-color: #1f1f1f;
}
.input-shell--plain input[type="radio"]:checked + label:after {
    filter: alpha(opacity=1);
    opacity: 1;
}
.input-shell--plain input[type="radio"] + label:before {
    content: "";
    border: 2px solid #9f9f9f;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    width: 26px;
    height: 26px;
    top: calc(50% - 15px);
}
@media screen and (max-width: 768px) {
    .input-shell--plain input[type="radio"] + label:before {
        left: 16px;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--plain input[type="radio"] + label:before {
        left: 18px;
    }
}
.input-shell--plain input[type="radio"] + label:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    border-radius: 50%;
    zoom: 1;
    filter: alpha(opacity=0);
    opacity: 0;
}
@media screen and (max-width: 768px) {
    .input-shell--plain input[type="radio"] + label:after {
        border: 8px solid #81d5eb;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--plain input[type="radio"] + label:after {
        border: 9px solid #81d5eb;
    }
}
@media screen and (max-width: 768px) {
    .input-shell--plain input[type="radio"] + label:after {
        top: calc(50% - 8px);
        left: 23px;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--plain input[type="radio"] + label:after {
        top: calc(50% - 9px);
        left: 24px;
    }
}
.input-shell--plain input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    border-width: 2px;
    border-style: solid;
    border-color: #9f9f9f;
    background-color: #fff;
    left: 0;
}
.input-shell--plain input[type="checkbox"]:checked {
    background-image: url(../assets/icons/checkbox-tick.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    border-color: #1f1f1f;
}
.input-shell--plain input[type="checkbox"]:focus {
    outline: none;
}

input[type="radio"]:checked + label,
input[type="checkbox"]:checked + label {
    border-width: 4px;
    padding: 8px 8px 8px 52px;
}

.input-shell--plain input[type="radio"]:checked + label,
.input-shell--plain input[type="checkbox"]:checked + label {
    padding: 0.75rem 0.75rem 0.75rem 3.5rem;
}

.input-shell--tooltip input[type="radio"]:checked + label,
.input-shell--tooltip input[type="checkbox"]:checked + label {
    padding: 0;
}

.input-shell--image {
    margin-bottom: 16px;
    position: relative;
}
.input-shell--image input[type="radio"],
.input-shell--image input[type="checkbox"] {
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    left: 1em;
    top: calc(50% - 0.75em);
}
.input-shell--image input[type="radio"] + label,
.input-shell--image input[type="checkbox"] + label {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    background-color: #fff;
    border: 2px solid #1f1f1f;
    border-radius: 0;
    padding: 2px 2px 2px 54px;
    cursor: pointer;
    font-weight: 600;
}
.input-shell--image input[type="radio"] + label:hover,
.input-shell--image input[type="checkbox"] + label:hover {
    background-color: #f1f1f1;
}
@media screen and (max-width: 768px) {
    .input-shell--image input[type="radio"] + label,
    .input-shell--image input[type="checkbox"] + label {
        width: 100%;
        max-width: 360px;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--image input[type="radio"] + label,
    .input-shell--image input[type="checkbox"] + label {
        width: 360px;
    }
}
.input-shell--image input[type="radio"]:checked + label,
.input-shell--image input[type="checkbox"]:checked + label {
    border-width: 4px;
    padding: 0 0 0 52px;
}
.input-shell--image input[type="radio"] {
    filter: alpha(opacity=0);
    opacity: 0;
}
.input-shell--image input[type="radio"]:checked + label:before {
    border-color: #1f1f1f;
}
.input-shell--image input[type="radio"]:checked + label:after {
    filter: alpha(opacity=1);
    opacity: 1;
}
.input-shell--image input[type="radio"] + label:before {
    content: "";
    border: 2px solid #9f9f9f;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    width: 26px;
    height: 26px;
    top: calc(50% - 15px);
}
@media screen and (max-width: 768px) {
    .input-shell--image input[type="radio"] + label:before {
        left: 16px;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--image input[type="radio"] + label:before {
        left: 18px;
    }
}
.input-shell--image input[type="radio"] + label:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    border-radius: 50%;
    zoom: 1;
    filter: alpha(opacity=0);
    opacity: 0;
}
@media screen and (max-width: 768px) {
    .input-shell--image input[type="radio"] + label:after {
        border: 8px solid #81d5eb;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--image input[type="radio"] + label:after {
        border: 9px solid #81d5eb;
    }
}
@media screen and (max-width: 768px) {
    .input-shell--image input[type="radio"] + label:after {
        top: calc(50% - 8px);
        left: 23px;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--image input[type="radio"] + label:after {
        top: calc(50% - 9px);
        left: 24px;
    }
}
@media screen and (max-width: 768px) {
    .input-shell--image + .input-shell--option input[type="radio"] + label,
    .input-shell--image + .input-shell--option input[type="checkbox"] + label {
        width: 100%;
        max-width: 360px;
    }
}
@media screen and (min-width: 769px) {
    .input-shell--image + .input-shell--option input[type="radio"] + label,
    .input-shell--image + .input-shell--option input[type="checkbox"] + label {
        width: 360px;
    }
}
.input-shell--image--large input[type="radio"] + label .input-shell--image__image,
.input-shell--image--large input[type="checkbox"] + label .input-shell--image__image {
    line-height: 0;
    max-width: 120px;
    margin-left: 5px;
    position: relative;
    border-left: 1px solid #1f1f1f;
}
.input-shell--image--large input[type="radio"] + label .input-shell--image__image img,
.input-shell--image--large input[type="checkbox"] + label .input-shell--image__image img {
    width: 119px;
}
.input-shell--image--large input[type="radio"] + label .input-shell--image__image__animated,
.input-shell--image--large input[type="checkbox"] + label .input-shell--image__image__animated {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
}
.input-shell--image--large input[type="radio"] + label:hover .input-shell--image__image__animated,
.input-shell--image--large input[type="checkbox"] + label:hover .input-shell--image__image__animated {
    display: block;
}
.input-shell--image:not(.input-shell--image--large) input[type="radio"] + label img,
.input-shell--image:not(.input-shell--image--large) input[type="checkbox"] + label img {
    margin: 10px;
}

select {
    display: block;
    font-family: Poppins, Helvetica, Arial, sans-serif;
    font-weight: 500;
    line-height: 1.3;
    margin: 0;
    padding: 8px 40px 8px 8px;
    height: 50px;
    border: 2px solid #1f1f1f;
    border-radius: 0;
    background-color: #fff;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    outline-offset: 0;
    width: 100%;
    max-width: 360px;
    background-image: url(../assets/icons/dropdown-arrow.svg);
    background-repeat: no-repeat;
    background-position: right 0.7em top 55%;
    background-size: 22px auto;
}
select option:checked {
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    select {
        font-size: 16px;
    }
}
@media screen and (min-width: 769px) {
    select {
        font-size: 1.125rem;
    }
}
select.option-selected {
    border-width: 4px;
}

.field-group--small select {
    width: 100%;
    min-width: auto;
}
.field-group--small select[disabled] {
    opacity: 0.3;
}

.select2-container {
    display: block !important;
    max-width: 360px;
}

.select2-container .select2-selection--single {
    height: 50px !important;
}

.select2-container--default .select2-selection--single {
    border: 2px solid #1f1f1f !important;
    border-radius: 0 !important;
}
.select2-container--default .select2-selection--single:focus {
    outline: 4px solid #ac831b;
}

.select2-selection__rendered {
    height: 50px !important;
    line-height: 50px !important;
    padding-right: 32px !important;
}

.select2-selection__placeholder {
    color: #1f1f1f !important;
    font-weight: 500;
}

.select2-container--default {
    border-radius: 0;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #1f1f1f !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 12px !important;
}

.select2-search__field {
    padding: 0.75rem 1rem !important;
    border: 2px solid #1f1f1f !important;
    background-color: #fff !important;
    height: 50px;
}
@media screen and (max-width: 768px) {
    .select2-search__field {
        font-size: 16px;
        width: 100%;
        max-width: 360px;
    }
}
@media screen and (min-width: 769px) {
    .select2-search__field {
        font-size: 1.125rem;
        max-width: 360px;
    }
}
.select2-search__field:focus {
    outline: 4px solid #ac831b;
}
.select2-search__field[aria-invalid="true"] {
    outline: 2px solid #e61414;
}

.select2-container--default .select2-selection--single {
    background-image: url(../assets/icons/dropdown-arrow.svg);
    background-repeat: no-repeat;
    background-position: right 0.7em top 55%;
    background-size: 22px auto;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

/*
.show-only--add-form {
	> form > *:not(#jointpolicyholder-section) {
		display: none;
	}

	> form #jointpolicyholder-section {
		border-left: none;
		padding-left: 0;
		@include marginTopSize(-48);
	}

	#additionalPolicyholderListContainer {
		> *:not(#add-item-form) {
			display: none;
		}
	}

	#add-item-form {
		.section-heading {
			margin-top: 0;
			margin-bottom: 0;
			border-top: none;
			padding-top: 0;
		}
	}
}
*/
.show-only--add-form__cancel {
    display: none;
}

.show-only--add-form > form > *:not(.show-only--add-form__section) {
    display: none;
}
.show-only--add-form .field-group--indented > legend {
    margin-bottom: 24px;
    top: 0;
}
.show-only--add-form .show-only--add-form__cancel {
    display: block;
}
.show-only--add-form .show-only--add-form__section {
    border-left: none;
    padding-left: 0;
    margin-top: -48px;
}
.show-only--add-form .show-only--add-form__item-container > *:not(.show-only--add-form__form) {
    display: none;
}
.show-only--add-form__form .section-heading {
    margin-top: 0;
    border-top: none;
    padding-top: 0;
}

.button-group {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: -16px;
}
.button-group.spaced {
    margin-bottom: 32px;
}

.button-group__item {
    margin-bottom: 16px;
}
.button-group__item:not(:last-child) {
    margin-right: 16px;
}
.button-group__item:not(:first-child) .btn--transparent {
    margin-left: 32px;
}

.date-field {
    display: inline-block;
}
.date-field:not(:last-of-type) {
    margin-right: 16px;
    width: 70px;
}
.date-field:last-of-type {
    width: 108px;
}
.date-field label {
    display: inline-block;
    margin-bottom: 8px;
}
.date-field input[type="text"],
.date-field input[type="number"] {
    width: 100%;
}

.date-select {
    width: 172px;
    display: inline-block;
}
.date-select:not(:last-of-type) {
    margin-right: 16px;
}
.date-select label {
    display: inline-block;
    margin-bottom: 8px;
}
.date-select select {
    width: 100%;
    min-width: auto;
}

.field-validation-error {
    display: block;
    color: #e61414;
    margin-bottom: 16px;
    font-weight: 600;
    position: relative;
    padding-left: 40px;
    padding-top: 5px;
}
.field-validation-error:not(:empty):before {
    content: "";
    display: flex;
    justify-content: center;
    align-items: center;
    width: 25px;
    height: 25px;
    background-color: #e61414;
    background-image: url(../assets/icons/icon-exclamation.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    position: absolute;
    top: 0.2em;
    left: 0;
}

[aria-live="assertive"].error-message {
    /* styles moved to field-validation-error */
}

input[type="text"][aria-invalid="true"],
input[type="tel"][aria-invalid="true"],
input[type="number"][aria-invalid="true"],
input[type="search"][aria-invalid="true"],
input[type="password"][aria-invalid="true"],
input[type="email"][aria-invalid="true"],
select[aria-invalid="true"] {
    border-color: #e61414;
    border-width: 4px;
    padding: 6px;
}

.error-summary {
    border: 4px solid #e61414;
    border-radius: 0;
    padding: 24px;
    max-width: 800px;
    margin-bottom: 48px;
    background: #fff;
}
.error-summary__heading {
    color: #e61414;
    font-weight: 600;
}
.error-summary__link a {
    color: #1f1f1f;
    font-weight: 600;
}
.error-summary + .note {
    display: none;
}
.error-summary + .note + .promo {
    display: none;
}

.field-group:focus {
    outline: none;
}

.field-group--indented {
    margin-top: -24px;
    border-left: 3px solid #1f1f1f;
    padding-top: 24px;
    padding-left: 24px;
}
.field-group--indented .field-group--indented {
    border-left: 0;
    padding-left: 0;
}
.field-group--indented > legend {
    position: relative;
}
@media screen and (max-width: 768px) {
    .field-group--indented > legend {
        top: 48px;
        margin-bottom: 48px;
    }
}
@media screen and (min-width: 769px) {
    .field-group--indented > legend {
        top: 39px;
        margin-bottom: 32px;
    }
}
.field-group:not(.field-group--small) {
    margin-bottom: 48px;
    max-width: 800px;
}

.field-group--small {
    margin-bottom: 32px;
    max-width: 300px;
}
.field-group--small .label--standard,
.field-group--small legend {
    font-size: 1rem;
    line-height: 1.5rem;
    margin-top: -0.5rem;
    margin-bottom: 0.5rem;
}
.field-group--small legend {
    position: relative;
    top: -6px;
}
.field-group--small legend + .horizontal {
    margin-top: -6px;
}
.field-group--small .input-shell--horizontal {
    margin-bottom: 0;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

fieldset:focus {
    outline: none;
}

.grid-layout {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-content: space-between;
    width: 100%;
    max-width: 330px;
}

.input-shell--button-style {
    position: relative;
    display: -webkit-flex;
    display: flex;
    margin-bottom: 16px;
    width: 66px;
    height: 50px;
}
.input-shell--button-style input[type="radio"],
.input-shell--button-style input[type="checkbox"] {
    position: absolute;
    left: -4000px;
}
.input-shell--button-style input[type="radio"] + label,
.input-shell--button-style input[type="checkbox"] + label {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    align-content: center;
    border: 2px solid #1f1f1f;
    cursor: pointer;
    height: 50px;
    width: 50px;
    font-weight: 500;
    background-color: #fff;
}
.input-shell--button-style input[type="radio"] + label:hover,
.input-shell--button-style input[type="checkbox"] + label:hover {
    background-color: #d4d4d4;
}
.input-shell--button-style input:checked ~ label {
    background-color: #81d5eb !important;
    color: #1f1f1f !important;
    border-width: 4px;
    padding: 9px 0;
}

.horizontal {
    display: -webkit-flex;
    display: flex;
}

.input-shell--horizontal {
    margin-bottom: 8px;
    flex-basis: 50%;
    max-width: 172px;
}
.input-shell--horizontal:not(:last-child) {
    margin-right: 16px;
}

.field-group:not(.field-group--small) .input-shell--horizontal.input-shell--option:not(:last-child) {
    margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
    .field-group:not(.field-group--small) .input-shell--horizontal input[type="radio"] + label,
    .field-group:not(.field-group--small) .input-shell--horizontal input[type="checkbox"] + label {
        width: 100%;
    }
}
@media screen and (min-width: 769px) {
    .field-group:not(.field-group--small) .input-shell--horizontal input[type="radio"] + label,
    .field-group:not(.field-group--small) .input-shell--horizontal input[type="checkbox"] + label {
        min-width: 172px;
    }
}

.field-group--small .input-shell--horizontal.input-shell--option:not(:last-child) {
    margin-bottom: 0;
}
.field-group--small .input-shell--horizontal label {
    width: 100%;
}

.label--standard,
legend {
    display: block;
    font-weight: 600;
}
@media all and (max-width: 768px) {
    .label--standard,
    legend {
        font-size: 1.25rem;
        line-height: 1.6875rem;
        margin-top: -0.4375rem;
        margin-bottom: 1.0625rem;
    }
}
@media all and (min-width: 769px) {
    .label--standard,
    legend {
        font-size: 1.375rem;
        line-height: 1.75rem;
        margin-top: -0.375rem;
        margin-bottom: 1.125rem;
    }
}

.label--small {
    display: block;
    font-weight: 600;
    margin-top: 24px;
    margin-bottom: 24px;
}
@media all and (min-width: 769px) {
    .label--small {
        font-size: 1.125rem;
    }
}
@media all and (max-width: 768px) {
    .label--small {
        font-size: 1rem;
    }
}

.licence-field {
    border: 2px solid #1f1f1f;
    border-radius: 0;
    padding: 6px;
    line-height: 1rem;
    font-weight: 500;
    background-color: #fff;
}
@media screen and (max-width: 768px) {
    .licence-field {
        width: 100%;
        max-width: 360px;
    }
}
@media screen and (min-width: 769px) {
    .licence-field {
        width: 360px;
    }
}
.licence-field.error {
    border-color: red;
    border-width: 4px;
    padding: 4px;
}

.licence-field__input {
    position: relative;
    display: inline-block;
}
@media screen and (max-width: 768px) {
    .licence-field__input:nth-of-type(1) {
        width: 70px;
    }
    .licence-field__input:nth-of-type(2) {
        width: 82px;
    }
    .licence-field__input:nth-of-type(3) {
        width: 31px;
    }
    .licence-field__input:nth-of-type(4) {
        width: 49px;
    }
}
@media screen and (min-width: 769px) {
    .licence-field__input:nth-of-type(1) {
        width: 84px;
    }
    .licence-field__input:nth-of-type(2) {
        width: 98px;
    }
    .licence-field__input:nth-of-type(3) {
        width: 44px;
    }
    .licence-field__input:nth-of-type(4) {
        width: 62px;
    }
}
.licence-field__input:not(:last-of-type):after {
    content: "/";
    color: #9f9f9f;
    position: absolute;
}
@media screen and (max-width: 768px) {
    .licence-field__input:not(:last-of-type) {
        margin-right: 8px;
    }
    .licence-field__input:not(:last-of-type):after {
        font-size: 16px;
        top: calc(50% - 8px);
        right: -10px;
    }
}
@media screen and (min-width: 769px) {
    .licence-field__input:not(:last-of-type) {
        margin-right: 12px;
    }
    .licence-field__input:not(:last-of-type):after {
        font-size: 18px;
        top: calc(50% - 9px);
        right: -12px;
    }
}
.licence-field__input input[type="text"],
.licence-field__input input[type="number"] {
    width: 100%;
    border-color: transparent;
    text-transform: uppercase;
    padding-top: 2px;
    padding-bottom: 2px;
}
@media screen and (max-width: 768px) {
    .licence-field__input input[type="text"],
    .licence-field__input input[type="number"] {
        padding-left: 1px;
        padding-right: 1px;
    }
}
@media screen and (min-width: 769px) {
    .licence-field__input input[type="text"],
    .licence-field__input input[type="number"] {
        padding-left: 4px;
        padding-right: 4px;
    }
}
.licence-field__input input[type="text"][aria-invalid="true"],
.licence-field__input input[type="number"][aria-invalid="true"] {
    border-color: red;
}

.input-shell--spaced {
    margin-bottom: 16px;
}

.terms-and-conditions {
    border-top: 4px solid #1f1f1f;
    margin-top: 48px;
    max-width: 800px;
    padding-top: 16px;
}
.terms-and-conditions a:link,
.terms-and-conditions a:visited,
.terms-and-conditions a:active,
.terms-and-conditions a:hover {
    color: #1f1f1f;
}
.terms-and-conditions__panel {
    background: #d4d4d4;
    padding: 24px;
    margin-bottom: 48px;
    border-radius: 0;
}
.terms-and-conditions .input-shell--plain + p {
    margin-top: 16px;
}

.toggle {
    position: relative;
    text-align: right;
    padding-right: 50px;
}
.toggle label {
    font-weight: 600;
}
.toggle input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.toggle input[type="radio"]:checked + label {
    outline: none;
}
.toggle input[type="radio"]:not(:checked) + label span {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.toggle input[type="radio"]:not(:checked) + label:before {
    content: "";
    background-color: #1f1f1f;
    width: 40px;
    height: 20px;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 10px;
}
.toggle input[type="radio"]:not(:checked) + label:after {
    content: "";
    background-color: #fff;
    width: 16px;
    height: 16px;
    display: block;
    position: absolute;
    top: 2px;
    right: 22px;
    border-radius: 10px;
}
.toggle input[type="radio"]:not(:checked) + label:first-of-type:after {
    right: 2px;
}

@media screen and (min-width: 769px) {
    .accordion {
        margin-bottom: 48px;
    }
}
@media screen and (max-width: 768px) {
    .accordion {
        margin-bottom: 32px;
    }
}
.accordion:not(.accordion--small) .accordion__section {
    border-top: 1px solid #1f1f1f;
    padding-top: 32px;
}
.accordion:not(.accordion--small) .accordion__section:last-child {
    border-bottom: 1px solid #1f1f1f;
}
.accordion:not(.accordion--small) .accordion__section:not(.accordion__section--expanded) {
    padding-bottom: 32px;
}
.accordion:not(.accordion--small) .accordion__section .accordion__section__heading,
.accordion:not(.accordion--small) .accordion__section .accordion__section__button {
    font-size: 1.625rem;
    line-height: 2.125rem;
    font-weight: 600;
}
.accordion:not(.accordion--small) .accordion__section .accordion__section__button span {
    width: 30px;
    height: 30px;
    top: calc(50% - 15px);
    background-size: 30px 30px;
}
.accordion.accordion--small .accordion__section {
    border-top: 3px solid #1f1f1f;
    padding-top: 16px;
}
.accordion.accordion--small .accordion__section:last-child {
    border-bottom: 3px solid #1f1f1f;
}
.accordion.accordion--small .accordion__section:not(.accordion__section--expanded) {
    padding-bottom: 16px;
}
.accordion.accordion--small .accordion__section .accordion__section__heading,
.accordion.accordion--small .accordion__section .accordion__section__button {
    font-weight: 600;
}
@media all and (min-width: 769px) {
    .accordion.accordion--small .accordion__section .accordion__section__heading,
    .accordion.accordion--small .accordion__section .accordion__section__button {
        font-size: 1.125rem;
    }
}
@media all and (max-width: 768px) {
    .accordion.accordion--small .accordion__section .accordion__section__heading,
    .accordion.accordion--small .accordion__section .accordion__section__button {
        font-size: 1rem;
    }
}
.accordion.accordion--small .accordion__section .accordion__section__button span {
    width: 24px;
    height: 24px;
    top: calc(50% - 12px);
    background-size: 24px 24px;
}

.accordion--light .accordion__section {
    border-top: 1px solid #494949 !important;
}
.accordion--light .accordion__section:last-child {
    border-bottom: 1px solid #494949 !important;
}

.accordion--with-icon .accordion__section__button {
    padding-left: 40px;
}
.accordion--with-icon .accordion__section__button:before {
    display: block;
    width: 24px;
    height: 20px;
    position: absolute;
    left: 0;
}
.accordion--with-icon .accordion__section__header__content {
    padding-left: 40px;
}

.accordion--with-icon--pound .accordion__section__button:before {
    content: "£";
    font-size: 24px;
    line-height: 20px;
    font-weight: bold;
}

.accordion--with-icon--tick .accordion__section__button:before {
    content: "";
    background-image: url(../assets/icons/checkbox-tick.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.accordion--with-icon--cross .accordion__section__button:before {
    content: "";
    background-image: url(../assets/icons/icon-plus.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    transform: rotate(45deg);
}

.accordion__section__heading {
    margin-bottom: 0;
}

span.accordion__section__button {
    display: block;
}

.accordion__section__button {
    position: relative;
    padding-right: 2rem;
    width: 100%;
    text-align: left;
    border: none;
    background: transparent;
}
.accordion__section__button span {
    content: "";
    display: block;
    position: absolute;
    background-image: url(../assets/icons/icon-plus.svg);
    right: 1rem;
}

.accordion__section__content {
    display: none;
}

.accordion__section--expanded .accordion__section__button span {
    background-image: url(../assets/icons/icon-minus.svg);
}
.accordion__section--expanded .accordion__section__content {
    display: block;
    padding-top: 32px;
    padding-bottom: 32px;
}

.arrow-link,
.slide-out-trigger {
    text-decoration: none;
    font-weight: 600;
    color: #1f1f1f;
}
.arrow-link span,
.slide-out-trigger span {
    text-decoration: underline;
    display: inline-block;
}
.arrow-link:not(.arrow-link--back) span,
.slide-out-trigger:not(.arrow-link--back) span {
    margin-right: 8px;
}
.arrow-link:not(.arrow-link--back):after,
.slide-out-trigger:not(.arrow-link--back):after {
    content: "";
    display: inline-block;
    background-size: 13px;
    width: 13px;
    height: 13px;
    background-image: url(../assets/icons/arrow.svg);
    filter: brightness(0%);
    background-repeat: no-repeat;
    background-position: 0 0;
    margin: auto 0;
    min-width: 13px;
}

.arrow-link--back:before {
    content: "";
    display: inline-block;
    background-size: 13px;
    width: 13px;
    height: 13px;
    background-image: url(../assets/icons/arrow.svg);
    filter: brightness(0%);
    background-repeat: no-repeat;
    background-position: 0 0;
    transform: rotate(180deg);
}
.arrow-link--back span {
    margin-left: 8px;
}

button.arrow-link {
    border: none;
    background-color: transparent;
    text-decoration: underline;
}
button.arrow-link:before {
    margin-right: 8px;
}
button.arrow-link:after {
    margin-left: 8px;
}

.internal-band {
    padding-top: 48px;
    padding-bottom: 48px;
    margin-bottom: 48px;
}
.internal-band > h2 {
    margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
    .internal-band {
        padding-left: 16px;
        padding-right: 16px;
        margin-left: -16px;
        margin-right: -16px;
    }
}
@media screen and (min-width: 769px) {
    .internal-band {
        padding-left: 58px;
        padding-right: 58px;
        margin-left: -58px;
        margin-right: -58px;
    }
}
.internal-band--secondary {
    background-color: #81d5eb;
}
.internal-band--secondary > h2 {
    color: #1f1f1f;
}
.internal-band--tertiary {
    background-color: #fff;
}

/* hack to allow for situations where band is nested within a field-group and would be constrained to 800px */
@media screen and (min-width: 800px) {
    .field-group .internal-band {
        width: calc(100vw - 20px);
    }
}
/* allow for situations where band is nested within a field-group--indented */
@media screen and (min-width: 800px) {
    .field-group--indented .internal-band {
        width: calc(100vw - 108px);
    }
}
@media screen and (min-width: 351px) {
    .field-group--indented .internal-band {
        margin-left: 0;
        margin-right: 0;
    }
}
.brand-rating-info h3,
.brand-rating-info p {
    font-size: 0.875rem;
    line-height: 1rem;
    margin-top: -0.125rem;
    margin-bottom: 0.875rem;
}
.brand-rating-info h3 {
    font-weight: 700;
}
.brand-rating-info img {
    margin-bottom: 24px;
}

.btn--primary {
    display: inline-flex;
    border: none;
    text-decoration: none;
    text-align: left;
    position: relative;
    align-items: center;
    border-radius: 0;
    background-color: #1f1f1f;
    color: #fff !important;
    font-weight: 600;
    box-shadow: none;
}
.btn--primary.btn--arrow:after {
    display: inline-block;
    filter: brightness(1);
    content: "";
    transition: transform 0.3s ease;
    background-image: url(../assets/icons/arrow.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    top: 50%;
}
.btn--primary.btn--arrow[disabled]:after {
    background-image: none !important;
}
.btn--primary.btn--arrow.btn--medium:after,
.btn--primary.btn--arrow.btn--small:after {
    background-size: 16px;
    min-width: 16px;
    height: 16px;
    margin-left: 8px;
}
.btn--primary.btn--arrow.btn--large:after {
    background-size: 24px;
    min-width: 24px;
    height: 24px;
    margin-left: 16px;
}
.btn--primary.btn--arrow:hover:after {
    transform: rotate(45deg);
}

.btn--secondary {
    display: inline-flex;
    border: none;
    text-decoration: none;
    text-align: left;
    align-items: center;
    border-radius: 0;
    background-color: #81d5eb;
    color: #1f1f1f !important;
    font-weight: 600;
    box-shadow: none;
}

.btn--secondary.btn--arrow:after {
    display: inline-block;
    filter: brightness(1);
    content: "";
    transition: transform 0.3s ease;
    background-image: url(../assets/icons/arrow.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    top: 50%;
    filter: brightness(0%) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) contrast(100%);
}
.btn--secondary.btn--arrow[disabled]:after {
    background-image: none !important;
}
.btn--secondary.btn--arrow.btn--medium:after,
.btn--secondary.btn--arrow.btn--small:after {
    background-size: 16px;
    min-width: 16px;
    height: 16px;
    margin-left: 8px;
}
.btn--secondary.btn--arrow.btn--large:after {
    background-size: 24px;
    min-width: 24px;
    height: 24px;
    margin-left: 16px;
}
.btn--secondary.btn--arrow:hover:after {
    transform: rotate(45deg);
}

.btn--tertiary {
    display: inline-flex;
    border: none;
    text-decoration: none;
    text-align: left;
    border-radius: 0;
    background-color: #fff;
    color: #1f1f1f !important;
    font-weight: 500;
    box-shadow: inset 0px 0px 0px 2px #1f1f1f;
}
.btn--tertiary:hover {
    background-color: #d4d4d4;
}

.btn--large {
    font-size: 1.375rem;
    line-height: 1.75rem;
    padding: 21px 24px;
}

.btn--small,
.btn--medium {
    font-size: 1.25rem;
    line-height: 1.6875rem;
    padding-top: 12.5px;
    padding-bottom: 12.5px;
}

.btn--medium {
    padding-left: 24px;
    padding-right: 24px;
}

.btn--small {
    padding-left: 16px;
    padding-right: 16px;
}

.btn--transparent {
    border: none;
    background-color: transparent;
    color: inherit;
    text-decoration: underline;
}

.btn--underline,
.btn--show,
.btn--details {
    border: none;
    background: transparent;
    font-weight: 600;
    position: relative;
}
.btn--underline span,
.btn--show span,
.btn--details span {
    text-decoration: underline;
    margin-right: 4px;
}

.btn--details {
    font-size: 0.875rem;
    line-height: 1rem;
    margin-top: -0.125rem;
    margin-bottom: 0.375rem;
    text-align: left;
    font-weight: Poppins, Helvetica, Arial, sans-serif;
}
.btn--details:before {
    display: inline-block;
    content: "";
    background-image: url(../assets/icons/chevron.svg);
    background-size: 11px 11px;
    width: 11px;
    height: 11px;
    margin-right: 5px;
}
.btn--details.btn--details--open:before {
    transform: rotate(90deg);
}
.btn--details.btn--details--open + .details {
    display: block;
}

.details {
    display: none;
    padding-left: 18px;
}

.btn--disabled,
button[disabled] {
    background: hsl(0deg, 0%, 95%) !important;
    color: hsl(0deg, 0%, 65%) !important;
    border-color: hsl(0deg, 0%, 65%) !important;
    pointer-events: none;
}

.btn--submit {
    position: relative;
}
.btn--submit svg,
.btn--submit img {
    width: 32px;
    height: 32px;
    position: absolute;
    left: calc(50% - 16px);
    top: calc(50% - 16px);
}
.btn--submit svg path {
    fill: rgb(255, 255, 255);
}

button[disabled].btn--submitting,
.btn--submitting {
    pointer-events: none;
    text-align: center;
    color: transparent !important;
    background: rgba(31, 31, 31, 0.5) !important;
}

.btn--submit:not(.btn--submitting) svg,
.btn--submit:not(.btn--submitting) img {
    display: none;
}

.btn--submit.btn--submitting svg,
.btn--submit.btn--submitting img {
    display: block;
    animation: submitrotation 1s infinite ease-in-out;
}

@keyframes submitrotation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(359deg);
    }
}
.btn--show:after {
    display: inline-block;
    content: "";
    background-image: url(../assets/icons/icon-plus.svg);
    background-size: 13px 13px;
    width: 13px;
    height: 13px;
}
.btn--show.btn--show--open:after {
    background-image: url(../assets/icons/icon-minus.svg);
}

.btn--edit {
    border: none;
    background: transparent;
    position: relative;
}
.btn--edit span {
    text-decoration: underline;
    margin-right: 4px;
}
.btn--edit span em {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.btn--edit:before {
    display: inline-block;
    content: "";
    background-image: url(../assets/icons/chevron.svg);
    background-size: 11px 11px;
    width: 11px;
    height: 11px;
    margin-right: 5px;
}
.btn--edit.btn--edit--open:before {
    transform: rotate(90deg);
}

.edit-region {
    display: none;
}

.edit-region--open {
    display: block;
}
.edit-region--open .field-group {
    margin-top: 16px;
    margin-bottom: 16px;
}

.btn--image {
    display: inline-flex;
    border: none;
    text-decoration: none;
    text-align: left;
    border: none;
    background-color: transparent;
    color: inherit;
}

.cookie-wrapper {
    position: fixed;
    left: 0;
    bottom: -225px;
    background: hsl(0deg, 0%, 83%);
    z-index: 999;
    color: #1f1f1f;
    width: 100%;
    -webkit-transition: bottom 700ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -moz-transition: bottom 700ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: bottom 700ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
@media all and (max-width: 768px) {
    .cookie-wrapper {
        padding: 15px 75px 35px 16px;
    }
}
@media all and (min-width: 769px) {
    .cookie-wrapper {
        padding: 20px 75px 40px 24px;
    }
}
.cookie-wrapper a {
    color: #1f1f1f;
}
.cookie-wrapper p {
    margin: 0;
    padding: 0;
    font-size: 0.875rem;
    line-height: 1.5rem;
    margin-top: -0.625rem;
    margin-bottom: -0.625rem;
}
.cookie-wrapper p a {
    text-decoration: underline;
}

.cookie-wrapper--slide-in {
    bottom: -20px;
}

.cookie-wrapper__close {
    display: block;
    text-indent: -9000px;
    background: hsl(0deg, 0%, 95%);
    border-top: 1px solid #d4d4d4;
    position: absolute;
    text-decoration: none !important;
}
@media all and (max-width: 768px) {
    .cookie-wrapper__close {
        width: 40px;
        height: 40px;
        right: 5px;
        top: 5px;
    }
}
@media all and (min-width: 769px) {
    .cookie-wrapper__close {
        width: 70px;
        height: 100%;
        right: 0;
        top: 0;
    }
}
.cookie-wrapper__close:after {
    content: "×";
    text-indent: 0;
    font-size: 30px;
    line-height: 1em;
    position: absolute;
    right: 50%;
    top: 50%;
    width: 30px;
    text-align: center;
    margin-right: -15px;
}
@media all and (max-width: 768px) {
    .cookie-wrapper__close:after {
        margin-top: -14px;
    }
}
@media all and (min-width: 769px) {
    .cookie-wrapper__close:after {
        margin-top: -25px;
    }
}

/* used on more info panel */
.detail-container {
    margin-bottom: 32px;
}

li.detail {
    font-size: 1rem;
}

@media all and (min-width: 769px) {
    .detail {
        display: -webkit-flex;
        display: flex;
        margin-bottom: 8px;
    }
    .detail .detail__heading,
    .detail .detail__value {
        flex-basis: 50%;
    }
    .detail__value--mobile {
        display: none;
    }
    li.detail .detail__heading {
        position: relative;
        padding-left: 16px;
    }
    li.detail .detail__heading:before {
        content: "•";
        position: absolute;
        left: 0;
    }
}
@media all and (max-width: 768px) {
    .detail {
        margin-bottom: 0;
    }
    .detail .detail__value--desktop {
        display: none;
    }
    li.detail {
        margin-left: 24px;
    }
    .detail__heading {
        margin-right: 0.75rem;
    }
    .detail__heading:after {
        content: ":";
    }
    .detail__value--mobile {
        display: block;
        margin-top: -10px;
        margin-bottom: 24px;
    }
}
.dimmer {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 900;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.dismiss-link {
    display: block;
    width: 24px;
    height: 24px;
    text-decoration: none;
    background-color: #81d5eb;
}
.dismiss-link span {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.dismiss-link:hover,
.dismiss-link:focus {
    width: auto;
    padding-right: 4px;
    font-size: 0.875rem;
    font-weight: 600;
}
.dismiss-link:hover span,
.dismiss-link:focus span {
    position: relative;
    margin: 0;
    top: 4px;
    padding-left: 24px;
}
.dismiss-link:before {
    content: "";
    background-image: url(../assets/icons/icon-cross.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    margin-left: 2px;
    margin-top: 2px;
}

.expanded-help--standard {
    margin-top: -0.5rem;
    margin-bottom: 24px;
}

.expanded-help--small {
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin-top: -0.375rem;
    margin-bottom: 16px;
}

.expanded-help summary {
    color: inherit;
    cursor: pointer;
    display: inline-block;
    position: relative;
}

.expanded-help--standard summary {
    padding-left: 22px;
}

.expanded-help--small summary {
    padding-left: 16px;
}

.expanded-help summary:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    background-image: url(../assets/icons/chevron-white.svg);
    background-repeat: no-repeat;
    filter: brightness(0);
}

.expanded-help[open] summary:before {
    transform: rotate(90deg);
}

.expanded-help--standard summary:before {
    background-size: 15px 15px;
    width: 15px;
    height: 15px;
    top: 6px;
}

.expanded-help--small summary:before {
    background-size: 11px 11px;
    width: 11px;
    height: 11px;
    top: 4px;
}

.expanded-help summary span,
.expanded-help summary strong {
    text-decoration: underline;
    display: inline-block;
}

.expanded-help__content {
    color: inherit;
    border-left-style: solid;
    border-left-color: inherit;
    padding-left: 16px;
}

.expanded-help--standard .expanded-help__content {
    border-left-width: 5px;
}

.expanded-help--small .expanded-help__content {
    border-left-width: 2px;
}

.expanded-help[open] .expanded-help__content {
    margin-top: 1rem;
}

.expiry-note {
    margin-bottom: 16px;
    position: relative;
    padding-left: 24px;
    font-size: 14px;
}
.expiry-note:before {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0;
    top: calc(50% - 8px);
    background-image: url(../assets/icons/icon-clock-inverted.svg);
}

.highlight {
    border-radius: 0;
    background: #fff;
    padding: 24px;
    margin-bottom: 32px;
}
.highlight p:last-child {
    margin-bottom: -0.5rem;
}

.colour-highlight {
    border-radius: 0;
    background: #fedf85;
    padding: 20px;
}

.icon {
    display: block;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
}
.icon span {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.icon--x-small {
    width: 16px;
    height: 16px;
}

.icon--small {
    width: 21px;
    height: 21px;
}

.icon--medium {
    width: 24px;
    height: 24px;
}

.icon--tick {
    background-image: url(../assets/icons/checkbox-tick.svg);
}

.icon--cross {
    background-image: url(../assets/icons/icon-cross.svg);
}

.icon--add {
    background-image: url(../assets/icons/icon-plus.svg);
}

.icon-list {
    padding-left: 0;
    list-style: none;
}

.icon-list__item {
    margin-bottom: 1em;
    position: relative;
    padding-left: 32px;
}
.icon-list__item .icon--x-small {
    position: absolute;
    left: 0;
    top: 0;
    flex-basis: 16px;
}

.illustrated-info {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
    .illustrated-info {
        -webkit-flex-direction: column;
        flex-direction: column;
    }
}

@media screen and (max-width: 768px) {
    .illustrated-info__image {
        width: 100%;
        text-align: center;
        padding-bottom: 16px;
    }
    .illustrated-info__image img {
        width: 120px;
    }
}
@media screen and (min-width: 769px) {
    .illustrated-info__image {
        width: 160px;
    }
    .illustrated-info__image img {
        width: 100%;
    }
}
.illustrated-info__image img {
    border: 1px solid #ddd;
}

.illustrated-info__copy {
    padding: 8px;
}
@media screen and (min-width: 769px) {
    .illustrated-info__copy {
        width: calc(100% - 150px);
        padding-left: 24px;
    }
}
.illustrated-info__copy h4 {
    font-weight: 600;
}

.important-note {
    margin-bottom: 32px;
}
.important-note div {
    min-height: 32px;
    display: flex;
    align-items: center;
}
.important-note p:last-child {
    margin-bottom: -0.5rem;
}

.important-note--panel {
    border-radius: 0;
    background: #fff;
    padding-top: 24px;
    padding-right: 24px;
    padding-bottom: 24px;
}
.important-note--panel:not(.important-note--icon) {
    padding-left: 24px;
}
.important-note--panel.important-note--icon {
    padding-left: 72px;
}
.important-note--panel.important-note--icon:before {
    top: 24px;
    left: 24px;
}

.important-note:not(.important-note--panel).important-note--icon {
    padding-left: 48px;
}
.important-note:not(.important-note--panel).important-note--icon:before {
    top: 0;
    left: 0;
}

.important-note--icon {
    position: relative;
}
.important-note--icon:before {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    background-color: #1f1f1f;
    position: absolute;
}

.important-note--icon--alert:before {
    content: "";
    background-image: url(../assets/icons/icon-exclamation.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.important-note--icon--lightbulb:before {
    content: "";
    background-image: url(../assets/icons/icon-lightbulb.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.important-note--icon--pound:before {
    content: "";
    background-image: url(../assets/icons/icon-pound.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.important-note--icon--tick:before {
    content: "";
    background-image: url(../assets/icons/white-tick.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.installment-list {
    margin: 0 0 -8px 0;
    font-size: 1rem;
}
.installment-list li {
    list-style: none;
}

.main-content {
    background-color: #f1f1f1;
}

.main-content.white {
    background-color: #ffffff;
}
@media screen and (max-width: 768px) {
    .main-content {
        padding: 24px 16px 48px;
    }
}
@media screen and (min-width: 769px) {
    .main-content {
        padding: 24px 58px 48px;
    }
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    z-index: 9851;
}

.modal__box {
    background: white;
    color: #1f1f1f;
    width: 90%;
    max-width: 600px;
}
@media screen and (min-width: 769px) {
    .modal__box {
        padding: 48px;
    }
}
@media screen and (max-width: 768px) {
    .modal__box {
        padding: 32px 24px;
    }
}

.modal-dimmer {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9850;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.slide-out--more-info {
    max-width: 700px;
}
.slide-out--more-info h2 {
    font-weight: 700;
}
@media all and (min-width: 769px) {
    .slide-out--more-info h2 {
        font-size: 1.375rem;
        line-height: 1.75rem;
        margin-top: -0.375rem;
        margin-bottom: 1.625rem;
    }
}
@media all and (max-width: 768px) {
    .slide-out--more-info h2 {
        font-size: 1.25rem;
        line-height: 1.6875rem;
        margin-top: -0.4375rem;
        margin-bottom: 1.0625rem;
    }
}
.slide-out--more-info h4,
.slide-out--more-info p {
    font-size: 1rem;
    line-height: 1.375rem;
    margin-top: -0.375rem;
    margin-bottom: 1.125rem;
}
.slide-out--more-info .colour-highlight {
    margin-bottom: 24px;
}
.slide-out--more-info .colour-highlight p:last-child {
    margin-bottom: -0.5rem;
}
@media all and (min-width: 769px) {
    .slide-out--more-info .slide-out__close {
        font-size: 1rem;
        line-height: 1.5rem;
        margin-top: -0.5rem;
        margin-bottom: 1.5rem;
    }
}
@media all and (max-width: 768px) {
    .slide-out--more-info .slide-out__close {
        font-size: 1rem;
        line-height: 1.5rem;
        margin-top: -0.5rem;
        margin-bottom: 1rem;
    }
}
.slide-out--more-info section {
    margin-bottom: 32px;
}
.slide-out--more-info section h3 {
    font-size: 1rem;
    line-height: 1.375rem;
    margin-top: -0.375rem;
    margin-bottom: 1.125rem;
    font-weight: 700;
}
.slide-out--more-info .accordion__section--expanded .accordion__section__content {
    padding-bottom: 0;
}

.more-info__summary {
    display: -webkit-flex;
    display: flex;
}
@media screen and (min-width: 769px) {
    .more-info__summary {
        margin-bottom: 24px;
    }
}
@media screen and (max-width: 768px) {
    .more-info__summary {
        margin-bottom: 24px;
    }
}
@media all and (max-width: 768px) {
    .more-info__summary {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media all and (max-width: 768px) {
    .more-info__summary__brand {
        flex-basis: 100%;
        margin-bottom: 16px;
    }
}
@media all and (min-width: 769px) {
    .more-info__summary__brand {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        flex-basis: 218px;
    }
}
.more-info__summary__brand__logo {
    width: 130px;
}
@media all and (min-width: 769px) {
    .more-info__summary__brand__logo {
        text-align: center;
    }
}
.more-info__summary__brand__logo img {
    max-width: 100%;
}

.more-info__summary__price {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
@media all and (max-width: 375px) {
    .more-info__summary__price {
        -webkit-flex-direction: column;
        flex-direction: column;
    }
}
@media all and (max-width: 768px) {
    .more-info__summary__price {
        flex-basis: 100%;
    }
}
@media all and (min-width: 769px) {
    .more-info__summary__price {
        flex-basis: calc(100% - 218px);
    }
}

.more-info__summary__price-note {
    display: flex;
}
@media all and (min-width: 769px) {
    .more-info__summary__price-note {
        margin-left: 218px;
    }
}
.more-info__summary__price-note .expiry-note {
    margin-top: -8px;
    margin-left: auto;
    margin-right: auto;
}

.more-info__summary__panel {
    background-color: hsl(0deg, 0%, 83%);
    border-top: 4px solid #81d5eb;
    padding: 16px;
    justify-content: center;
    display: flex;
    flex-direction: column;
    font-size: 0.875rem;
}
@media screen and (max-width: 375px) {
    .more-info__summary__panel {
        flex-basis: 100%;
    }
    .more-info__summary__panel:not(:last-child) {
        margin-bottom: 16px;
    }
}
@media screen and (min-width: 351px) {
    .more-info__summary__panel {
        flex-basis: calc(50% - 0.5rem);
    }
}
.more-info__summary__panel h4 {
    font-size: 0.875rem;
    line-height: 1rem;
    margin-top: -0.125rem;
    margin-bottom: 0.375rem;
    font-weight: 400;
}

@media screen and (min-width: 769px) {
    .more-info__actions,
    .more-info__policy-overview,
    .more-info__details {
        margin-bottom: 48px;
    }
}
@media screen and (max-width: 768px) {
    .more-info__actions,
    .more-info__policy-overview,
    .more-info__details {
        margin-bottom: 32px;
    }
}

@media all and (max-width: 768px) {
    .more-info__actions__details {
        margin-top: 24px;
        margin-bottom: 24px;
    }
}
@media all and (min-width: 769px) {
    .more-info__actions__details {
        margin-top: 32px;
        margin-bottom: 32px;
    }
}

.more-info__policy-overview,
.more-info__rewards {
    border-top: 1px solid #ddd;
}
@media screen and (min-width: 769px) {
    .more-info__policy-overview,
    .more-info__rewards {
        padding-top: 32px;
    }
}
@media screen and (max-width: 768px) {
    .more-info__policy-overview,
    .more-info__rewards {
        padding-top: 24px;
    }
}

.more-info__details {
    flex-basis: 100%;
}

.note {
    background: #fff;
    padding: 24px;
    max-width: 800px;
    margin-bottom: 48px;
}
@media all and (max-width: 768px) {
    .note h3 {
        font-size: 1.375rem;
        line-height: 1.625rem;
        margin-top: -0.25rem;
        margin-bottom: 1.25rem;
    }
    .note h3:last-child {
        margin-bottom: -0.25rem;
    }
    .note p {
        font-size: 1rem;
        line-height: 1.5rem;
        margin-top: -0.5rem;
        margin-bottom: 1rem;
    }
    .note p:last-child {
        margin-bottom: -0.5rem;
    }
}
@media all and (min-width: 769px) {
    .note p {
        font-size: 1.25rem;
        line-height: 1.6875rem;
        margin-top: -0.4375rem;
        margin-bottom: 1.0625rem;
    }
    .note p:last-child {
        margin-bottom: -0.4375rem;
    }
}
.note h3:last-child:last-child {
    margin-bottom: -0.5rem;
}
.note:not(.note--borderless) {
    border: 4px solid #1f1f1f;
}

.page-banner {
    background: #81d5eb;
    color: #1f1f1f;
    line-height: 1em;
    padding-top: 16px;
    padding-bottom: 16px;
}
.page-banner a:link,
.page-banner a:visited,
.page-banner a:active,
.page-banner a:hover {
    color: #1f1f1f;
}
.page-banner .arrow-link:after {
    filter: brightness(100%);
}
.page-banner .arrow-link span {
    width: auto;
}
@media screen and (max-width: 768px) {
    .page-banner {
        padding-left: 16px;
        padding-right: 16px;
    }
}
@media screen and (min-width: 769px) {
    .page-banner {
        padding-left: 58px;
        padding-right: 58px;
    }
}

.page-footer {
    background: #1f1f1f;
    color: #fff;
    font-weight: 300;
}
@media screen and (max-width: 768px) {
    .page-footer.page-footer--full-width {
        padding: 36px 16px 18px;
    }
}
@media screen and (min-width: 769px) {
    .page-footer.page-footer--full-width {
        padding: 48px 16px 18px;
    }
}
@media screen and (max-width: 768px) {
    .page-footer:not(.page-footer--full-width) {
        padding: 36px 16px;
    }
}
@media screen and (min-width: 769px) {
    .page-footer:not(.page-footer--full-width) {
        padding: 48px 58px;
    }
}
.page-footer a:link,
.page-footer a:visited,
.page-footer a:active,
.page-footer a:hover {
    color: #fff;
}
.page-footer p {
    font-size: 0.875rem;
    line-height: 1.375rem;
    margin-top: -0.5rem;
    margin-bottom: 1.5rem;
}
.page-footer .expanded-help summary:before {
    filter: brightness(1);
}
@media screen and (max-width: 1009px) {
    .page-footer .back-to-top {
        justify-content: flex-start;
    }
}
@media screen and (min-width: 1010px) {
    .page-footer .back-to-top {
        justify-content: flex-end;
    }
    .page-footer .expanded-help {
        margin-right: 204px;
    }
    .page-footer .expanded-help + .back-to-top {
        margin-top: -96px;
    }
}
.page-footer .back-to-top {
    display: flex;
}
@media screen and (max-width: 768px) {
    .page-footer .back-to-top a {
        margin-top: 24px;
    }
}
@media screen and (min-width: 769px) {
    .page-footer .back-to-top a {
        margin-top: 48px;
    }
}
.page-footer .back-to-top a {
    display: flex;
    font-weight: 600;
    color: #fff;
    align-content: center;
    text-decoration: none;
}
.page-footer .back-to-top span {
    line-height: 30px;
}
.page-footer .back-to-top svg {
    display: block;
    width: 30px;
    height: 30px;
    margin-left: 16px;
}
.page-footer .back-to-top svg path.arrow {
    fill: #1f1f1f;
}
.page-footer .back-to-top svg path.square {
    fill: currentColor;
}

.page-header {
    background: #1f1f1f;
    color: #fff;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
}
@media screen and (max-width: 768px) {
    .page-header {
        height: 50px;
    }
}
@media screen and (min-width: 769px) {
    .page-header {
        height: 60px;
    }
}
.page-header.page-header--full-width {
    padding-left: 16px;
    padding-right: 16px;
}
@media screen and (max-width: 768px) {
    .page-header:not(.page-header--full-width) {
        padding-left: 16px;
        padding-right: 16px;
    }
}
@media screen and (min-width: 769px) {
    .page-header:not(.page-header--full-width) {
        padding-left: 58px;
        padding-right: 58px;
    }
}

.page-header__logo {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}
.page-header__logo a,
.page-header__logo span {
    -webkit-align-items: center;
    align-items: center;
}
.page-header__logo a:focus {
    background: transparent;
}
@media all and (max-width: 768px) {
    .page-header__logo a,
    .page-header__logo span,
    .page-header__logo img {
        height: 27px;
    }
}
@media all and (min-width: 769px) {
    .page-header__logo a,
    .page-header__logo span,
    .page-header__logo img {
        height: 36px;
    }
}

@media all and (min-width: 769px) {
    .page-header__links {
        margin-left: 32px;
    }
}
.page-header__links .arrow-link {
    color: #fff;
}
.page-header__links .arrow-link:after {
    filter: brightness(1) !important;
}
@media all and (max-width: 350px) {
    .page-header__links .arrow-link {
        font-size: 1.125rem;
    }
}
@media all and (min-width: 351px) {
    .page-header__links .arrow-link {
        font-size: 1.375rem;
    }
}

.panel {
    background-color: #81d5eb;
    margin-bottom: 24px;
    max-width: 800px;
    border-radius: 0;
}
@media screen and (min-width: 769px) {
    .panel {
        padding: 32px;
    }
}
@media screen and (max-width: 768px) {
    .panel {
        padding: 24px;
    }
}
.panel p {
    margin-bottom: 16px;
}
.panel.panel--error {
    border: 4px solid #e61414;
}

.price--small {
    font-size: 1rem;
}
.price--small .price__pence {
    font-size: 0.875rem;
}

.price--medium {
    font-size: 1.375rem;
}

.price--large {
    font-size: 1.875rem;
}
.price--large .price__installment {
    display: block;
}
.price--large .price__installment:first-child {
    margin-bottom: 4px;
}

.price--large .price__pence,
.price--medium .price__pence {
    font-size: 0.6em;
    vertical-align: super;
}

.price__installment {
    font-weight: 400;
    font-size: 0.5em;
}

.process-footer {
    border-top: 4px solid #1f1f1f;
    margin-top: 48px;
    max-width: 800px;
    padding-top: 48px;
}

.process-footer__navigation {
    margin-bottom: 48px;
}

.process-header {
    margin-bottom: 24px;
}

.nav-banner {
    background: #81d5eb;
}
@media all and (max-width: 768px) {
    .nav-banner {
        padding: 2px 0 0 0;
    }
}
@media all and (min-width: 769px) {
    .nav-banner {
        padding: 16px 58px 22px 58px;
    }
}

.progress__list {
    display: -webkit-flex;
    display: flex;
    padding: 0;
    list-style: none;
}

.progress__list__item {
    border-bottom-width: 8px;
    border-bottom-style: solid;
}
.progress__list__item a:link,
.progress__list__item a:visited,
.progress__list__item a:active,
.progress__list__item a:hover {
    color: #1f1f1f;
}
.progress__list__item a,
.progress__list__item span {
    display: -webkit-flex;
    display: flex;
    color: #1f1f1f;
    width: 100%;
    -webkit-justify-content: center;
    justify-content: center;
    z-index: 1; /* prevent poking through dimmer etc */
}
.progress__list__item a:focus,
.progress__list__item a:active {
    background: transparent;
}

.progress__list--4 .progress__list__item {
    flex-basis: 25%;
}

.progress__list__item {
    border-bottom-color: rgba(255, 255, 255, 0.5);
}

.progress__list__item--active ~ .progress__list__item--accessible {
    border-bottom-color: rgba(255, 255, 255, 0.5);
}

@media all and (max-width: 768px) {
    .progress__list {
        position: relative;
    }
    .progress__list__item a,
    .progress__list__item span,
    .progress__list__item i {
        display: none;
    }
    .progress__list__item--active,
    .progress__list__item--accessible {
        border-bottom-color: #1f1f1f;
    }
    .progress__list__item--active span {
        padding: 8px 0 28px 0;
        display: block;
    }
    .progress__list__item--active span b {
        position: absolute;
        left: 2rem;
        font-weight: 700;
    }
    .progress__list__item--active span i {
        position: absolute;
        right: 2rem;
        display: block;
        font-weight: normal;
    }
    .progress__list__item--active span i strong {
        font-weight: 700;
    }
}
@media all and (min-width: 769px) {
    .progress__list {
        -webkit-justify-content: space-between;
        justify-content: space-between;
        margin: -13px 0 -22px;
        max-width: 800px;
    }
    .progress__list__item {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
    }
    .progress__list__item a {
        text-decoration: underline;
    }
    .progress__list__item a,
    .progress__list__item span {
        padding: 6px 0;
        margin-bottom: 1px;
    }
    .progress__list__item i {
        display: none;
    }
    .progress__list__item--active {
        border-bottom-color: #1f1f1f;
    }
    .progress__list__item--accessible {
        border-bottom-color: #1f1f1f;
    }
    .progress__list__item--active b {
        font-weight: 700;
    }
    .progress__list__item--accessible a {
        font-weight: normal;
    }
    .progress__list__item:not(.progress__list__item--active):not(.progress__list__item--accessible) span {
        opacity: 0.4;
    }
    .progress__list__item:not(.progress__list__item--active) b {
        font-weight: normal;
    }
}
.progress-bar {
    width: 100%;
    background-color: #f1f1f1;
}

.progress-bar__progress {
    background-color: #81d5eb;
}
.progress-bar__progress:not(.progress-bar__progress--manual) {
    -webkit-transition: width 5s ease-out;
    transition: width 5s ease-out;
}
.progress-bar__progress:not(.progress-bar__progress--end) {
    width: 0;
}
.progress-bar__progress.progress-bar__progress--end {
    width: 100%;
}

.progress-bar__text {
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    padding: 8px;
    font-weight: 600;
}

@media screen and (max-width: 768px) {
    .progress-bar,
    .progress-bar__progress {
        height: 32px;
    }
    .progress-bar__text {
        height: 32px;
        margin-top: -32px;
    }
}
@media screen and (min-width: 769px) {
    .progress-bar,
    .progress-bar__progress {
        height: 48px;
    }
    .progress-bar__text {
        height: 48px;
        margin-top: -48px;
    }
}
.promo {
    max-width: 800px;
    padding: 24px;
    background-color: #1f1f1f;
    color: #fff;
}
.promo p {
    margin: 0;
}
.promo img {
    width: 130px;
    position: relative;
    top: 2px;
    margin-left: 2px;
    margin-right: 2px;
}
@media screen and (max-width: 768px) {
    .promo {
        margin-top: 40px;
        margin-bottom: 40px;
    }
}
@media screen and (min-width: 769px) {
    .promo {
        margin-top: 48px;
        margin-bottom: 48px;
    }
}

.quote-panel {
    width: 100%;
    margin-bottom: 24px;
    background-color: #81d5eb;
}
@media all and (min-width: 769px) {
    .quote-panel {
        max-width: 400px;
    }
}

.quote-panel__header {
    background: hsl(0deg, 0%, 83%);
    padding: 32px;
}
.quote-panel__header h3 {
    font-size: 1.625rem;
    line-height: 2.125rem;
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
}

.quote-panel__summary {
    padding: 32px;
    color: #1f1f1f;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.quote-panel__summary .important-note:last-child {
    margin-bottom: 0;
}
.quote-panel__summary .arrow-link {
    margin-bottom: 2rem;
    color: #1f1f1f;
}
.quote-panel__summary .arrow-link:not(.arrow-link--back):after {
    filter: brightness(0);
}
.quote-panel__summary .arrow-link.arrow-link--back:before {
    filter: brightness(0);
}

.quote-panel__actions {
    padding: 32px;
    background-color: hsl(0deg, 0%, 83%);
}
.quote-panel__actions .field-group {
    margin-bottom: 24px;
}
.quote-panel__actions .label--standard {
    font-size: 1.125rem;
    line-height: 1.625rem;
    margin-top: -0.5rem;
    margin-bottom: 1rem;
}
@media all and (min-width: 769px) {
    .quote-panel__actions select {
        min-width: auto;
        width: 336px;
    }
}
.quote-panel__actions .terms-and-conditions__panel {
    margin-bottom: 32px;
}

@media screen and (max-width: 768px) {
    .quote-summary-section {
        margin-bottom: 32px;
    }
    .quote-summary-section h2 {
        margin-top: 32px;
    }
    .quote-summary-section checkbox-list-question label {
        display: block;
        margin-top: -24px;
    }
}
@media screen and (min-width: 769px) {
    .quote-summary-section {
        margin-bottom: 48px;
    }
    .quote-summary-section h2 {
        margin-top: 48px;
    }
    .quote-summary-section checkbox-list-question label {
        display: block;
        margin-left: 40%;
        margin-top: -32px;
    }
}
.quote-summary-section .field-group {
    max-width: 1400px;
    margin-top: 32px;
    margin-bottom: 32px;
}
.quote-summary-section .field-group .internal-band {
    background-color: #f1f1f1;
    color: #1f1f1f;
    padding-top: 0;
    padding-bottom: 0;
}
.quote-summary-section .field-group .internal-band > h2 {
    color: #1f1f1f;
}

/* hack to allow for situations where band is nested within a field-group and would be constrained to 800px */
@media screen and (min-width: 769px) {
    .quote-summary-section .field-group .internal-band {
        width: 100vw;
    }
}
.field-group.quote-summary-section__summary {
    display: flex;
}
@media screen and (max-width: 768px) {
    .field-group.quote-summary-section__summary {
        flex-direction: column;
    }
}

.quote-summary-section .field-group--indented,
.quote-summary-section.field-group--indented,
.field-group.quote-summary-section__summary .field-group--indented,
.field-group.quote-summary-section__summary.field-group--indented {
    border: none;
    margin-left: 0;
    padding: 0;
}
@media all and (max-width: 768px) {
    .quote-summary-section label,
    .quote-summary-section .label--standard,
    .field-group.quote-summary-section__summary label,
    .field-group.quote-summary-section__summary .label--standard {
        line-height: 1.5rem;
    }
}
@media all and (min-width: 769px) {
    .quote-summary-section label,
    .quote-summary-section .label--standard,
    .field-group.quote-summary-section__summary label,
    .field-group.quote-summary-section__summary .label--standard {
        line-height: 1.625rem;
    }
}
@media all and (min-width: 769px) {
    .quote-summary-section label,
    .quote-summary-section .label--standard,
    .field-group.quote-summary-section__summary label,
    .field-group.quote-summary-section__summary .label--standard {
        font-size: 1.125rem;
    }
}
@media all and (max-width: 768px) {
    .quote-summary-section label,
    .quote-summary-section .label--standard,
    .field-group.quote-summary-section__summary label,
    .field-group.quote-summary-section__summary .label--standard {
        font-size: 1rem;
    }
}
.quote-summary-section label,
.quote-summary-section .label--standard,
.field-group.quote-summary-section__summary label,
.field-group.quote-summary-section__summary .label--standard {
    margin: 0 0 8px 0;
}
.quote-summary-section .label--standard,
.field-group.quote-summary-section__summary .label--standard {
    font-weight: 400;
    margin-bottom: 8px;
}
.quote-summary-section label:not(.label--standard),
.field-group.quote-summary-section__summary label:not(.label--standard) {
    font-weight: 600;
}
@media screen and (min-width: 769px) {
    .quote-summary-section label,
    .field-group.quote-summary-section__summary label {
        flex-basis: 50%;
    }
    .quote-summary-section .label--standard,
    .field-group.quote-summary-section__summary .label--standard {
        padding-right: 32px;
        flex-basis: 40%;
    }
}

/* alternative quote summary page */
.quote-summary-table {
    margin-bottom: 48px;
    width: 100%;
    /* overrides for read-only fields */
    /* end overrides for read-only fields */
}
.quote-summary-table tr.field-group {
    margin: 0;
    padding: 0;
    max-width: none;
}
.quote-summary-table .field-group--indented {
    border: none;
}
.quote-summary-table th,
.quote-summary-table td {
    text-align: left;
}
.quote-summary-table td {
    font-weight: 600;
}
@media screen and (max-width: 768px) {
    .quote-summary-table th,
    .quote-summary-table td {
        display: block;
    }
    .quote-summary-table th {
        padding-top: 30px;
    }
    .quote-summary-table td {
        padding-top: 10px;
    }
}
@media screen and (min-width: 769px) {
    .quote-summary-table th,
    .quote-summary-table td {
        padding-top: 30px;
    }
    .quote-summary-table th {
        width: 50%;
        padding-right: 32px;
    }
}

.quote__promotion {
    background-color: #81d5eb !important;
    font-weight: 300;
    font-size: 16px;
    grid-area: promo;
    padding: 16px;
    color: #000 !important;
}

.quote__panel {
    background-color: #f1f1f1;
    border-radius: 0;
    border-top: 6px solid #81d5eb;
    border-left: 1px solid hsl(0deg, 0%, 65%);
    border-right: 1px solid hsl(0deg, 0%, 65%);
    border-bottom: 1px solid hsl(0deg, 0%, 65%);
    max-width: 1300px;
    margin-bottom: 32px;
    display: -webkit-flex;
    display: flex;
}
@media all and (max-width: 768px) {
    .quote__panel {
        -webkit-flex-direction: column;
        flex-direction: column;
    }
}

.quote__panel__details {
    padding: 24px 16px 16px;
    flex-grow: 1;
}
@media all and (min-width: 769px) {
    .quote__panel__details h2 {
        font-size: 1.375rem;
        line-height: 1.75rem;
        margin-top: -0.375rem;
        margin-bottom: 1.125rem;
    }
}
@media all and (max-width: 768px) {
    .quote__panel__details h2 {
        font-size: 1.3125rem;
        line-height: 1.6875rem;
        margin-top: -0.375rem;
        margin-bottom: 1.125rem;
    }
}

.quote__panel__section {
    display: -webkit-flex;
    display: flex;
}
@media all and (max-width: 768px) {
    .quote__panel__section {
        -webkit-flex-direction: column;
        flex-direction: column;
    }
}

.quote__panel__price {
    padding: 24px;
    background-color: hsl(0deg, 0%, 95%);
}
.quote__panel__price select {
    width: 100%;
}
.quote__panel__price button {
    margin-top: 16px;
    margin-bottom: 16px;
    width: 100%;
}
@media all and (min-width: 769px) {
    .quote__panel__price {
        width: 300px;
    }
}

.quote__panel__section__identifier {
    border: 1px solid hsl(0deg, 0%, 65%);
    border-radius: 0;
    padding: 8px;
    height: 100%;
}
@media all and (max-width: 768px) {
    .quote__panel__section__identifier--mobile-collapse {
        align-self: flex-start;
    }
}

@media all and (max-width: 768px) {
    .quote__panel__section__actions {
        margin-top: 16px;
    }
}
@media all and (min-width: 769px) {
    .quote__panel__section__actions {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
    }
    .quote__panel__section__actions ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        width: 100%;
    }
}
.quote__panel__section__actions ul {
    list-style: none;
    margin-left: 0;
    display: -webkit-flex;
    display: flex;
}
@media all and (max-width: 1279px) {
    .quote__panel__section__actions ul {
        -webkit-flex-direction: column;
        flex-direction: column;
    }
    .quote__panel__section__actions ul li {
        margin-bottom: 8px;
    }
}
@media all and (min-width: 769px) {
    .quote__panel__section__actions ul li {
        margin-left: 16px;
    }
}

.quote__panel__summary {
    padding-top: 16px;
    display: -webkit-flex;
    display: flex;
}
@media all and (max-width: 1000px) {
    .quote__panel__summary {
        -webkit-flex-direction: column;
        flex-direction: column;
    }
}
@media all and (min-width: 1001px) {
    .quote__panel__summary ul {
        margin-right: 32px;
    }
}
.quote__panel__summary ul {
    list-style: none;
}
.quote__panel__summary li {
    margin-bottom: 8px;
}

@media all and (min-width: 769px) {
    .quote__panel__price__heading {
        font-size: 1.375rem;
        line-height: 1.75rem;
        margin-top: -0.375rem;
        margin-bottom: 0.125rem;
    }
}
@media all and (max-width: 768px) {
    .quote__panel__price__heading {
        font-size: 1.3125rem;
        line-height: 1.6875rem;
        margin-top: -0.375rem;
        margin-bottom: 0.125rem;
    }
}

.quote__panel__price__alert {
    font-weight: 600;
}
@media all and (min-width: 769px) {
    .quote__panel__price__alert {
        font-size: 1.375rem;
        line-height: 1.75rem;
        margin-top: -0.375rem;
        margin-bottom: 0.125rem;
    }
}
@media all and (max-width: 768px) {
    .quote__panel__price__alert {
        font-size: 1.3125rem;
        line-height: 1.6875rem;
        margin-top: -0.375rem;
        margin-bottom: 0.125rem;
    }
}

.quote-retrieval-footer {
    display: -webkit-flex;
    display: flex;
    width: 100%;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 24px;
    margin-bottom: 24px;
}

.saved-items {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 1040px;
}

.saved-item {
    background-color: #81d5eb;
    padding: 32px;
    margin-bottom: 32px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 100%;
    border-radius: 0;
}
@media all and (min-width: 769px) {
    .saved-item {
        max-width: 320px;
    }
    .saved-item:not(:last-child) {
        margin-right: 24px;
    }
}
.saved-item .btn {
    margin-top: 16px;
}

.saved-items__toggle {
    flex-basis: 100%;
    margin-bottom: 24px;
}

.primary-indicator {
    background-color: rgba(255, 255, 255, 0.3);
    padding: 8px 8px 8px 40px;
    font-weight: 600;
    position: relative;
}
.primary-indicator:after {
    position: absolute;
    display: block;
    width: 16px;
    height: 16px;
    margin-left: 4px;
    margin-top: 4px;
    content: "";
    background-image: url(../assets/icons/checkbox-tick.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    filter: brightness(100);
}

.primary-indicator.white:after {
    background-image: url(../assets//icons/white-tick.svg);
    background-size: contain;
}

.section-heading {
    color: #1f1f1f;
}
.section-heading.section-heading--no-border {
    padding-top: 18px;
}
.section-heading:not(.section-heading--no-border) {
    border-top: 4px solid #1f1f1f;
    margin-top: 48px;
    max-width: 800px;
}
@media all and (max-width: 768px) {
    .section-heading:not(.section-heading--no-border) {
        padding-top: 32px;
    }
}
@media all and (min-width: 769px) {
    .section-heading:not(.section-heading--no-border) {
        padding-top: 40px;
    }
}
@media all and (max-width: 768px) {
    .section-heading {
        margin-bottom: 32px;
    }
}
@media all and (min-width: 769px) {
    .section-heading {
        margin-bottom: 40px;
    }
}
.section-heading a {
    color: #1f1f1f;
}

.show-more-link {
    text-decoration: none;
    font-weight: 600;
    color: #1f1f1f;
}
.show-more-link span {
    text-decoration: underline;
    display: inline-block;
    margin-right: 8px;
}
.show-more-link:after {
    content: "";
    display: inline-block;
    width: 17px;
    height: 17px;
    margin-bottom: -2px;
    background-image: url(../assets/icons/icon-plus.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
}
.show-more-link ~ .input-shell {
    display: none;
    transition: all linear 1s;
}

.slide-out {
    z-index: 905;
    position: fixed;
    top: 0;
    height: 100%;
    width: 90%;
    overflow-y: auto;
    background-color: #fff;
    text-align: left;
}
@media screen and (max-width: 768px) {
    .slide-out {
        padding: 32px 16px;
    }
}
@media screen and (min-width: 769px) {
    .slide-out {
        padding: 32px 48px;
    }
}
.slide-out:not(.slide-out--left) {
    -webkit-transition: right 0.5s linear;
    transition: right 0.5s linear;
    border-left: 2px solid hsl(0deg, 0%, 20%);
}
.slide-out:not(.slide-out--left).slide-out--closed {
    right: -90%;
}
.slide-out:not(.slide-out--left):not(.slide-out--closed) {
    right: 0;
}
.slide-out.slide-out--left {
    -webkit-transition: left 0.5s linear;
    transition: left 0.5s linear;
    border-right: 2px solid hsl(0deg, 0%, 20%);
}
.slide-out.slide-out--left.slide-out--closed {
    left: -90%;
}
.slide-out.slide-out--left:not(.slide-out--closed) {
    left: 0;
}
.slide-out:not(.slide-out--more-info) {
    max-width: 800px;
}
.slide-out .important-note--panel {
    background: #f1f1f1;
}
.slide-out .input-shell--option input[type="radio"] + label:hover,
.slide-out .input-shell--button-style input[type="radio"] + label:hover {
    background-color: #efefef;
}

.slide-out__close {
    text-decoration: none;
    font-weight: bold;
    display: inline-block;
    color: #1f1f1f;
    margin-bottom: 48px;
}
.slide-out__close span {
    text-decoration: underline;
    display: inline-block;
    margin-left: 8px;
}
.slide-out__close:before {
    display: inline-block;
}
.slide-out__close:not(.arrow-link):before {
    content: "x";
}

@media screen and (max-width: 768px) {
    .field-group + .slide-out-trigger-wrap {
        margin-top: -1.25rem;
        margin-bottom: 3rem;
    }
}
@media screen and (min-width: 769px) {
    .field-group + .slide-out-trigger-wrap {
        margin-top: -1.4rem;
        margin-bottom: 3.375rem;
    }
}

.guide-copy {
    margin-bottom: 48px;
}
@media all and (min-width: 769px) {
    .guide-copy h3 {
        font-size: 1.375rem;
        line-height: 1.75rem;
        margin-top: -0.375rem;
        margin-bottom: 1.125rem;
    }
}
@media all and (max-width: 768px) {
    .guide-copy h3 {
        font-size: 1.25rem;
        line-height: 1.6875rem;
        margin-top: -0.4375rem;
        margin-bottom: 1.0625rem;
    }
}
.guide-copy p {
    font-size: 1rem;
    line-height: 1.375rem;
    margin-top: -0.375rem;
    margin-bottom: 1.125rem;
}

.loading-panel {
    padding-top: 32px;
    padding-bottom: 32px;
    display: flex;
    align-items: center;
}
.loading-panel span {
    margin-left: 24px;
}

.spinner {
    width: 67px;
    height: 67px;
    font-size: 0;
    animation: rotation 1s infinite ease-in-out;
    background: url(../assets/icons/spinner.svg);
}

.spinner--centered {
    margin-left: auto;
    margin-right: auto;
}

input[type="text"] + .spinner,
.btn + .spinner {
    display: inline-block;
    margin-bottom: -5px;
    margin-left: 10px;
    width: 20px;
    height: 20px;
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(359deg);
    }
}
.summary {
    margin-bottom: 48px;
}

.summary__content {
    font-weight: 600;
    font-size: 1.3125rem;
    line-height: 1.3em;
    margin-bottom: 16px;
}

.summary-list__item {
    display: flex;
    width: 100%;
    max-width: 800px;
    flex-wrap: wrap;
    position: relative;
    border-top: 1px solid #ddd;
    padding-top: 8px;
    padding-bottom: 8px;
}

.summary-list__item:last-child {
    border-bottom: 1px solid #ddd;
}

.summary-list__item__value {
    font-weight: bold;
}

.summary-list__item__actions {
    position: absolute;
    top: 8px;
    right: 0;
}

.summary-list__item__edit {
    flex-basis: 100%;
}

@media all and (max-width: 768px) {
    .summary-list__item__key {
        flex-basis: 80%;
    }
    .summary-list__item__value {
        flex-basis: 80%;
    }
}
@media all and (min-width: 769px) {
    .summary-list:not(.summary-list--key-only) .summary-list__item__key {
        flex-basis: 40%;
    }
    .summary-list:not(.summary-list--key-only) .summary-list__item__value {
        flex-basis: 40%;
    }
    .summary-list--key-only .summary-list__item__key {
        flex-basis: 80%;
    }
}
.summary-table th,
.summary-table td {
    font-weight: 600;
    vertical-align: middle;
}
.summary-table .summary-table__value {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}
@media screen and (max-width: 768px) {
    .summary-table {
        width: 100%;
        display: block;
    }
    .summary-table th {
        padding: 8px;
    }
    .summary-table thead {
        display: none;
    }
    .summary-table tbody,
    .summary-table tfoot {
        display: block;
    }
    .summary-table tbody tr,
    .summary-table tbody td,
    .summary-table tfoot tr,
    .summary-table tfoot td {
        display: -webkit-flex;
        display: flex;
    }
    .summary-table tbody tr {
        -webkit-flex-direction: column;
        flex-direction: column;
        margin-bottom: 16px;
    }
    .summary-table tbody th,
    .summary-table tbody td {
        width: 100%;
    }
    .summary-table tbody th,
    .summary-table tbody td {
        width: 100%;
        margin-bottom: 0.25rem;
    }
    .summary-table tbody td span {
        display: -webkit-flex;
        display: flex;
        padding: 8px;
    }
    .summary-table tbody td span.summary-table__mobile-heading {
        background-color: rgba(255, 255, 255, 0.5);
        -webkit-flex-grow: 2;
        flex-grow: 2;
    }
    .summary-table tbody td span.summary-table__value {
        background-color: #fff;
        flex-basis: 100px;
    }
    .summary-table tfoot th {
        flex-grow: 2;
    }
    .summary-table tfoot td {
        background-color: #fff;
        flex-basis: 100px;
        padding: 8px;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
    }
}
@media screen and (min-width: 769px) {
    .summary-table {
        border-collapse: separate;
        border-spacing: 8px;
        margin-left: -8px;
        max-width: 800px;
    }
    .summary-table thead th {
        background-color: rgba(255, 255, 255, 0.5);
    }
    .summary-table th,
    .summary-table td {
        padding: 16px;
    }
    .summary-table td {
        background-color: #fff;
        width: 25%;
        text-align: center;
    }
    .summary-table .summary-table__mobile-heading {
        display: none;
    }
}
.summary-table thead th:first-child {
    text-align: left;
}
.summary-table tbody th,
.summary-table tfoot th {
    text-align: left;
}
.summary-table tbody th {
    background-color: hsl(0deg, 0%, 95%);
    color: #1f1f1f;
}
.summary-table tfoot th {
    background-color: #1f1f1f;
    color: #f1f1f1;
}

.accordion__section__content .summary-table th,
.accordion__section__content .summary-table td {
    font-size: 1rem;
}

@media screen and (max-width: 768px) {
    .accordion__section__content .summary-table thead {
        display: block !important;
        padding-bottom: 8px;
    }
    .accordion__section__content .summary-table thead th:not(:first-child) {
        display: none;
    }
    .accordion__section__content .summary-table tbody td span.summary-table__mobile-heading {
        background-color: #81d5eb;
        color: #1f1f1f;
    }
}
@media screen and (min-width: 769px) {
    .accordion__section__content .summary-table {
        border-spacing: 8px;
        margin-left: -8px;
    }
    .accordion__section__content .summary-table thead th:not(:first-child) {
        background-color: #81d5eb;
        color: #1f1f1f;
    }
    .accordion__section__content .summary-table td {
        border: 1px solid #ccc;
    }
}
.timer {
    display: inline-block;
    min-width: 3.25em;
    text-align: center;
}

.input-shell--tooltip [role="tooltip"] {
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: all 0.5s;
    border-style: solid;
    border-color: #1f1f1f;
    padding-left: 16px;
}
.input-shell--tooltip [role="tooltip"] p:last-child {
    margin-bottom: 0;
}
.input-shell--tooltip:not(.input-shell--tooltip--small) {
    margin-top: -8px;
}
.input-shell--tooltip:not(.input-shell--tooltip--small) [role="tooltip"] {
    border-left-width: 5px;
}
.input-shell--tooltip.input-shell--tooltip--small {
    margin-top: -16px;
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.input-shell--tooltip.input-shell--tooltip--small [role="tooltip"] {
    border-left-width: 2px;
}
.input-shell--tooltip.input-shell--tooltip--small [role="tooltip"] h4,
.input-shell--tooltip.input-shell--tooltip--small [role="tooltip"] p {
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin-top: -0.375rem;
    margin-bottom: 0.625rem;
}
.input-shell--tooltip.input-shell--tooltip--small [role="tooltip"] h4:first-child,
.input-shell--tooltip.input-shell--tooltip--small [role="tooltip"] p:first-child {
    margin-top: 0 !important;
}

.field-group--indented .input-shell--tooltip [role="tooltip"] {
    border-left: none;
    padding-left: 0;
}

[role="tooltip"] > img {
    margin-top: 8px;
}

.tooltip-trigger {
    position: absolute;
    left: -4000px;
}

[role="tooltip"] {
    margin-bottom: 20px;
}
[role="tooltip"] h4:first-child {
    margin-top: 0;
}
[role="tooltip"] h4:not(:first-child) {
    margin-top: 18px;
}

legend + [role="tooltip"],
.label--standard + [role="tooltip"] {
    margin-top: -8px;
}

.tooltip-trigger:checked ~ [role="tooltip"] {
    margin-top: 16px;
    opacity: 1;
    height: auto;
}

.input-shell--tooltip:not(.input-shell--tooltip--small) .tooltip-trigger + label:before {
    background-size: 15px 15px;
    width: 15px;
    height: 15px;
    margin-right: 7px;
}
.input-shell--tooltip.input-shell--tooltip--small .tooltip-trigger + label:before {
    background-size: 11px 11px;
    width: 11px;
    height: 11px;
    margin-right: 5px;
}
.input-shell--tooltip.input-shell--tooltip--small .tooltip-trigger:checked ~ [role="tooltip"] {
    margin-bottom: 8px;
}

.tooltip-trigger + label {
    color: #1f1f1f;
    display: inline-block;
    cursor: pointer;
}
.tooltip-trigger + label:before {
    display: inline-block;
    content: "";
    background-image: url(../assets/icons/chevron.svg);
}
.tooltip-trigger + label span {
    text-decoration: underline;
}

.tooltip-trigger:checked + label:before {
    transform: rotate(90deg);
}

.tooltip-trigger:focus + label {
    background: hsl(0deg, 0%, 95%);
}

.polling {
    z-index: 905;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 95%;
    max-width: 900px;
    -webkit-transition: margin 0.5s linear;
    transition: margin 0.5s linear;
    background-color: #f1f1f1;
}
.polling--closed {
    margin-left: -95%;
}
.polling:not(.polling--closed) {
    margin-left: 0;
}

@media screen and (max-width: 500px) {
    .polling.polling--with-footer .polling__main {
        height: calc(100% - 50px - 160px);
    }
}
@media screen and (min-width: 501px) {
    .polling.polling--with-footer .polling__main {
        height: calc(100% - 60px - 110px);
    }
}
@media screen and (max-width: 959px) {
    .polling:not(.polling--with-footer) .polling__main {
        height: calc(100% - 50px);
    }
}
@media screen and (min-width: 960px) {
    .polling:not(.polling--with-footer) .polling__main {
        height: calc(100% - 60px);
    }
}

.polling__main {
    overflow-y: auto;
}
@media screen and (max-width: 768px) {
    .polling__main {
        padding: 32px 16px;
    }
}
@media screen and (min-width: 769px) {
    .polling__main {
        padding: 48px 32px 8px;
    }
}
@media screen and (max-width: 768px) {
    .polling__main .progress-bar {
        margin-bottom: 32px;
    }
}
@media screen and (min-width: 769px) {
    .polling__main .progress-bar {
        margin-bottom: 48px;
    }
}

@media screen and (max-width: 768px) {
    .polling__main__copy {
        margin-bottom: 32px;
    }
}
@media screen and (min-width: 769px) {
    .polling__main__copy {
        margin-bottom: 48px;
    }
}
@media all and (min-width: 769px) {
    .polling__main__copy p:last-child {
        margin-bottom: -0.5rem;
    }
}
@media all and (max-width: 768px) {
    .polling__main__copy p:last-child {
        margin-bottom: -0.5rem;
    }
}

.polling__footer {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    background-color: #81d5eb;
    color: #1f1f1f;
}
.polling__footer .spinner {
    margin-left: auto;
    margin-right: auto;
    width: 20px;
    height: 20px;
}
@media screen and (max-width: 500px) {
    .polling__footer {
        height: 160px;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        padding: 16px;
    }
}
@media screen and (min-width: 501px) {
    .polling__footer {
        height: 110px;
        padding: 32px;
    }
}

.polling__footer__price h3 {
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.625rem;
    margin-top: -0.5rem;
    margin-bottom: 0rem;
}
.polling__footer__price .price {
    font-size: 3rem;
}

.polling__footer__price,
.polling__footer__action {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
}

.polling__options {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
@media screen and (max-width: 959px) {
    .polling__options {
        -webkit-flex-direction: column;
        flex-direction: column;
    }
}
@media screen and (min-width: 960px) {
    .polling__options {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}
.polling__options .option-panel {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    background-color: #fff;
}
@media screen and (min-width: 769px) {
    .polling__options .option-panel {
        padding: 32px;
    }
}
@media screen and (max-width: 768px) {
    .polling__options .option-panel {
        padding: 16px;
    }
}
@media screen and (min-width: 769px) {
    .polling__options .option-panel {
        margin-bottom: 32px;
    }
}
@media screen and (max-width: 768px) {
    .polling__options .option-panel {
        margin-bottom: 24px;
    }
}
@media all and (min-width: 960px) {
    .polling__options .option-panel {
        flex-basis: calc(50% - 16px);
    }
}
@media all and (max-width: 959px) {
    .polling__options .option-panel:last-child {
        margin-bottom: 0;
    }
}
.polling__options .option-panel h3 {
    font-size: 1.25rem;
    line-height: 1.6875rem;
    margin-top: -0.4375rem;
    margin-bottom: 0.5625rem;
}
.polling__options .option-panel p {
    font-size: 1rem;
    line-height: 1.375rem;
    margin-top: -0.375rem;
    margin-bottom: 0.625rem;
}
.polling__options .option-panel label {
    font-size: 1rem;
}
.polling__options .option-panel .input-shell {
    margin-top: 8px;
    margin-bottom: -14px;
}

.polling-promo-container {
    flex-basis: 100%;
}

.polling-promo__image {
    width: 100%;
    flex-basis: 100%;
}

.message-banner {
    color: #1f1f1f;
    padding-top: 16px;
    padding-right: 16px;
    padding-bottom: 16px;
}
.message-banner a:link,
.message-banner a:visited,
.message-banner a:active,
.message-banner a:hover {
    color: #1f1f1f;
}
.message-banner .arrow-link:after {
    margin-bottom: -2px;
    filter: brightness(0);
}

.message-banner:not(.message-banner--icon) {
    padding-left: 16px;
}

.message-banner--icon {
    position: relative;
}
.message-banner--icon:before {
    content: "";
    display: block;
    background-color: #1f1f1f;
    position: absolute;
}
.message-banner--icon:after {
    content: "";
    position: absolute;
    display: block;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.message-banner:not(.message-banner--inline) p {
    font-size: 0.875rem;
    line-height: 1rem;
    margin-top: -0.125rem;
    margin-bottom: 0.375rem;
}
.message-banner:not(.message-banner--inline) p:last-child {
    margin-bottom: -0.125rem;
}

.message-banner--inline {
    background-color: #81d5eb;
}
.message-banner--inline p:last-child {
    margin-bottom: -0.5rem;
}

.message-banner--icon:not(.message-banner--icon--large) {
    padding-left: 40px;
}
.message-banner--icon:not(.message-banner--icon--large):before {
    width: 24px;
    height: 24px;
    top: 10px;
    left: 8px;
}
.message-banner--icon:not(.message-banner--icon--large):after {
    position: absolute;
    top: 14px;
    left: 12px;
    width: 16px;
    height: 16px;
}

.message-banner--icon--large {
    padding-left: 68px;
}
.message-banner--icon--large:before {
    width: 32px;
    height: 32px;
    top: 10px;
    left: 16px;
}
.message-banner--icon--large:after {
    top: 14px;
    left: 20px;
    width: 24px;
    height: 24px;
}

.message-banner--icon--pound:after {
    background-image: url(../assets/icons/icon-pound.svg);
}

.message-banner--icon--blackbox:after {
    background-image: url(../assets/icons/icon-blackbox.svg);
}

.message-banner--icon--electric:after {
    background-image: url(../assets/icons/icon-electric.svg);
}

.message-banner--icon--plug:after {
    background-image: url(../assets/icons/icon-plug.svg);
}

.message-banner--icon--dial:after {
    background-image: url(../assets/icons/icon-dial.svg);
}

.message-banner--icon--telematics:after {
    background-image: url(../assets/icons/icon-telematics.svg);
}

.message-banner--icon--star:after {
    background-image: url(../assets/icons/icon-star.svg);
}

.result-band {
    background: #d4d4d4;
}

.product-highlight {
    padding-top: 16px;
    padding-right: 16px;
    padding-bottom: 16px;
    background: #fedf85;
}
.product-highlight p {
    font-size: 0.875rem;
    line-height: 1rem;
    margin-top: -0.125rem;
    margin-bottom: 0.875rem;
}
.product-highlight p:last-child {
    margin-bottom: -0.125rem;
}
.product-highlight a:link,
.product-highlight a:visited,
.product-highlight a:active,
.product-highlight a:hover {
    color: #1f1f1f;
}

.product-highlight:not(.product-highlight--icon) {
    padding-left: 16px;
}

.product-highlight--icon {
    padding-left: 40px;
    position: relative;
}
.product-highlight--icon:before {
    font-weight: 700;
    font-size: 18px;
    position: absolute;
    top: calc(50% - 12px);
    left: 14px;
}

.product-highlight--icon--blackbox:before {
    content: "£";
}

.product-highlight--icon--paypermile:before {
    content: "!";
}

.full__border {
    border: 4px solid #81d5eb !important;
}

.result {
    background-color: #fff;
    border-top: 4px solid #81d5eb;
    width: 100%;
    position: relative;
}
.result tr {
    position: relative;
}
.result th,
.result td {
    vertical-align: middle;
    font-size: 0.875rem;
    line-height: 1rem;
}
@media all and (min-width: 769px) {
    .result tbody th span {
        font-size: 0.875rem;
        line-height: 1rem;
        margin-top: -0.125rem;
        margin-bottom: -0.125rem;
    }
}
@media all and (min-width: 769px) {
    .result .result__feature__note,
    .result .result__feature__status {
        font-size: 0.875rem;
    }
}
.result .result__cost__details__price {
    background-color: hsl(0deg, 0%, 83%);
    width: 100%;
}
.result .result__cost__details__price h4 {
    font-size: 1rem;
    line-height: 1.125rem;
    margin-top: -0.125rem;
    margin-bottom: 0.375rem;
}
.result .result__cost__details__price .price__installment {
    font-size: 14px;
}
.result .result__cost__details__price .installment-list {
    margin-top: 4px;
}
.result .result__cost__details__price .installment-list li {
    margin-bottom: 4px;
}
.result .result__cost__details__price,
.result .result__cost__details__excess {
    padding: 12px;
}
.result .result__cost__details__heading {
    display: -webkit-flex;
    display: flex;
    font-size: 0.875rem;
    line-height: 1rem;
    margin-top: -0.125rem;
    margin-bottom: 0.875rem;
}
.result .result__cost__details__heading + div {
    margin-bottom: 8px;
}
.result .result__cost__policy-type {
    background-color: #fedf85;
    padding: 8px;
    font-weight: 600;
}
.result td.result__info button + button,
.result td.result__info button + .slide-out-trigger-wrap {
    margin-top: 24px;
}

.result-container {
    padding-left: 4px;
    padding-right: 4px;
    margin-bottom: 16px;
}
.result-container:not(.result-container--additional) {
    background-color: hsl(0deg, 0%, 95%);
}
.result-container--additional {
    background-color: #81d5eb;
}

@media all and (min-width: 1300px) {
    .result-container {
        max-width: 1200px;
    }
}
@media all and (min-width: 960px) {
    .result-container .dismiss-link {
        background-color: #81d5eb;
        color: #1f1f1f;
        position: absolute;
        top: -2px;
        left: 0;
    }
    .result-container .dismiss-link:before {
        filter: brightness(0);
    }
    .result-container--additional .dismiss-link {
        left: -2px;
    }
}
@media all and (max-width: 959px) {
    .result-container .dismiss-link {
        display: none;
    }
}
@media all and (min-width: 960px) {
    .result th,
    .result td {
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
    }
    .result th:not(:first-child),
    .result td:not(:first-child) {
        border-left: 1px solid #ccc;
    }
    .result th:not(:last-child),
    .result td:not(:last-child) {
        border-right: 1px solid #ccc;
    }
    .result thead {
        display: none;
    }
    .result tbody th span {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        font-weight: 600;
        border-bottom: 1px solid #ccc;
        margin-left: 8px;
        margin-right: 8px;
    }
    .result td:not(.result__cost) {
        text-align: center;
    }
    .result__brand {
        width: 155px;
        text-align: center;
        height: 160px;
    }
    .result__brand .brand-logo {
        width: 80px;
    }
    .result__brand .brand-rating {
        margin-top: 8px;
        width: 90px;
    }
    .result__brand .star-rating {
        margin-left: auto;
        margin-right: auto;
    }
    td.result__cost {
        width: 180px;
        vertical-align: top;
    }
    .result__features {
        display: none;
    }
    td.result__feature {
        padding: 4px;
        vertical-align: top;
    }
    td.result__info {
        padding: 8px;
        font-size: 1.125rem;
    }
    .result__feature__note {
        padding: 8px 8px 16px;
        max-width: 105px;
    }
    .result__feature__status {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-align-items: center;
        align-items: center;
        margin-top: 24px;
    }
}
@media all and (min-width: 960px) and (max-width: 1120px) {
    .result__feature {
        width: 110px;
    }
    .result--narrow-col .result__feature {
        width: 100px;
    }
}
@media all and (min-width: 1121px) and (max-width: 1299px) {
    .result__feature {
        width: 150px;
    }
    .result--narrow-col .result__feature {
        width: 135px;
    }
}
@media all and (min-width: 1300px) and (max-width: 1399px) {
    .result__feature {
        width: 110px;
    }
    .result--narrow-col .result__feature {
        width: 100px;
    }
}
@media all and (min-width: 1400px) and (max-width: 1499px) {
    .result__feature {
        width: 130px;
    }
    .result--narrow-col .result__feature {
        width: 115px;
    }
}
@media all and (min-width: 960px) and (max-width: 1499px) {
    .result tbody th {
        height: 5.25em;
    }
    .result tbody th span {
        height: 5.25em;
    }
}
@media all and (min-width: 1500px) {
    .result__feature {
        width: 160px;
    }
    .result--narrow-col .result__feature {
        width: 135px;
    }
    .result tbody th {
        height: 4.25em;
    }
    .result tbody th span {
        height: 4.25em;
    }
}
@media all and (max-width: 959px) {
    .result thead,
    .result tbody {
        display: block;
        width: 100%;
    }
    .result thead {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }
    .result tbody th {
        display: none;
    }
    .result tr {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .result .result__brand {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-align-items: center;
        align-items: center;
        width: 45%;
        padding-top: 16px;
        border-right: 1px solid #d4d4d4;
    }
    .result .result__brand .brand-rating {
        margin-top: 16px;
    }
    .result .brand-logo {
        width: 100px;
    }
    .result .brand-rating {
        margin-top: 16px;
        width: 90px;
    }
    .result td.result__brand,
    .result td.result__cost {
        border-bottom: 1px solid #d4d4d4;
    }
    .result td.result__cost {
        width: 55%;
    }
    .result td.result__features,
    .result td.result__info {
        padding-top: 8px;
        padding-left: 16px;
        padding-right: 16px;
        flex-basis: 100%;
    }
    .result td.result__features {
        padding-top: 16px;
        padding-bottom: 8px;
    }
    .result td.result__info {
        padding-bottom: 16px;
        font-size: 1rem;
    }
    .result td.result__feature {
        display: none;
    }
    .result .result__cost__details__price,
    .result .result__cost__details__excess {
        padding: 16px;
    }
    .result .result__cost__details__price {
        min-height: 90px;
    }
}
@media all and (max-width: 330px) {
    td.result__brand img {
        max-width: 120px;
    }
    .result .result__cost__details__price {
        min-height: 83px;
    }
}
@media all and (min-width: 561px) {
    td.result__features .icon-list {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    td.result__features .icon-list .icon-list__item {
        flex-basis: calc(50% - 8px);
    }
    td.result__features .icon-list .icon-list__item:nth-child(odd) {
        margin-right: 8px;
    }
    td.result__features .icon-list .icon-list__item:nth-child(even) {
        margin-left: 8px;
    }
}
@media all and (min-width: 769px) {
    .page-banner__controls {
        margin-left: -40px;
        margin-right: -40px;
    }
}
@media all and (max-width: 1299px) {
    .page-banner__controls .page-banner__controls__filter .btn--underline,
    .page-banner__controls .page-banner__controls__filter .btn--details,
    .page-banner__controls .page-banner__controls__filter .btn--show {
        color: #1f1f1f;
    }
}
@media all and (min-width: 1300px) {
    .page-banner__controls .page-banner__controls__filter {
        display: none;
    }
}
@media all and (min-width: 1300px) {
    .page-banner__controls .page-banner__controls__installments {
        display: none;
    }
}
@media all and (max-width: 1299px) {
    .page-banner__controls {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        justify-content: space-between;
    }
}

@media all and (max-width: 1299px) {
    .page-banner--sticky {
        position: sticky;
        z-index: 899;
        top: 0;
    }
}
.results {
    display: block;
    padding-bottom: 32px;
    padding-left: 16px;
    padding-right: 16px;
}
@media screen and (max-width: 1299px) {
    .results {
        padding-top: 18px;
    }
}
@media screen and (min-width: 1300px) {
    .results {
        padding-top: 32px;
    }
}
.results > .important-note {
    margin-bottom: 16px;
}

@media screen and (max-width: 1299px) {
    .results-filter {
        position: fixed;
        overflow-y: auto;
        height: 100%;
        z-index: 902;
        top: 0;
        margin-left: -340px;
        -webkit-transition: margin 0.3s linear;
        transition: margin 0.3s linear;
    }
    .results-filter--open {
        margin-left: 0;
    }
    .filter__close {
        text-decoration: none;
        font-weight: bold;
        display: inline-block;
        margin-bottom: 32px;
        color: #1f1f1f;
    }
    .filter__close span {
        text-decoration: underline;
        display: inline-block;
        margin-left: 8px;
    }
    .filter__close:before {
        content: "x";
        display: inline-block;
    }
}
@media screen and (max-width: 959px) {
    .results-filter {
        width: 90%;
        min-width: 320px;
        max-width: 340px;
    }
}
@media screen and (min-width: 960px) and (max-width: 1299px) {
    .results-filter {
        width: 340px;
    }
}
@media screen and (min-width: 1300px) {
    .results-wrapper {
        display: -webkit-flex;
        display: flex;
    }
    .results {
        flex-basis: calc(100% - 340px);
    }
    .results-filter {
        flex-basis: 340px;
    }
    .filter__close {
        display: none;
    }
}
.results-filter {
    padding: 32px 16px 16px;
    background-color: #fff;
    font-size: 1rem;
}
.results-filter input,
.results-filter select {
    font-size: 16px; /* explicit to avoid scaling down */
}
.results-filter .update-section .input-shell--plain {
    margin-bottom: -13px;
}
.results-filter .update-section:not(.update-section--confirm) fieldset:last-of-type {
    margin-bottom: 16px;
}
.results-filter .results-filter__features .input-shell--plain {
    margin-bottom: -8px;
}
.results-filter .input-shell--option input[type="radio"] + label:hover,
.results-filter .input-shell--button-style input[type="radio"] + label:hover {
    background-color: #efefef;
}
.results-filter .button-group__item:not(:first-child) .btn--transparent {
    margin-left: 0;
}

.results-filter__heading {
    font-size: 1.375rem;
    line-height: 1.625rem;
    margin-top: -0.25rem;
    margin-bottom: 1.75rem;
}

.results-filter__options,
.results-filter__features {
    padding-bottom: 32px;
}

.results-filter__features {
    padding-top: 32px;
    border-top: 1px solid #ddd;
}
.results-filter__features h3,
.results-filter__features p {
    font-size: 1rem;
    line-height: 1.375rem;
    margin-top: -0.375rem;
    margin-bottom: 1.125rem;
}
.results-filter__features p {
    margin-bottom: 8px;
}

.results-filter__features-info {
    display: -webkit-flex;
    display: flex;
    margin-top: -8px;
}

.results-filter__view-quotes {
    padding-bottom: 32px;
}

.results-filter__footer {
    padding-bottom: 16px;
}
.results-filter__footer button {
    width: 100%;
}

.update-section:not(.update-section--confirm) .button-group {
    display: none;
}
.update-section.update-section--confirm {
    background-color: #fff;
    z-index: 5000;
    position: relative;
    margin: -16px -16px 32px -16px;
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px;
}

.update-section-dimmer {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 900;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
@media screen and (max-width: 959px) {
    .update-section-dimmer {
        width: 90%;
        min-width: 320px;
        max-width: 340px;
    }
}
@media screen and (min-width: 960px) {
    .update-section-dimmer {
        width: 100%;
    }
}

.update-dimmer {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9800;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.update-message {
    color: #fff;
}
@media all and (min-width: 769px) {
    .update-message h3 {
        font-size: 1.875rem;
        line-height: 2.5rem;
        margin-top: -0.625rem;
        margin-bottom: 1.375rem;
    }
}
@media all and (max-width: 768px) {
    .update-message h3 {
        font-size: 1.375rem;
        line-height: 1.75rem;
        margin-top: -0.375rem;
        margin-bottom: 1.625rem;
    }
}
.update-message .spinner {
    background: url(../images/theme-layout-css/images/spinner/spinner-light.svg);
}

.main-results {
    background-color: hsl(0deg, 0%, 95%);
}

.results-promo-container {
    margin-bottom: 16px;
}
@media all and (max-width: 768px) {
    .results-promo-container .cta-promo {
        flex-direction: column;
    }
}
@media all and (min-width: 769px) {
    .results-promo-container .cta-promo {
        align-items: center;
        justify-content: space-between;
    }
    .results-promo-container .cta-promo p {
        margin-bottom: 0;
    }
    .results-promo-container .cta-promo__cta {
        max-width: 270px;
        padding-left: 16px;
    }
}
.results-promo-container .cta-promo {
    background: #1f1f1f;
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 24px;
}
.results-promo-container .cta-promo__cta .btn--primary {
    background-color: #fff;
    color: #1f1f1f !important;
}
.results-promo-container .cta-promo__cta .btn--primary.btn--arrow:after {
    filter: brightness(0);
}

.results-promo {
    border: 2px solid #000;
    padding: 24px;
}
.results-promo h3 {
    font-size: 1.375rem;
    line-height: 1.75rem;
    margin-top: -0.375rem;
    margin-bottom: 1.125rem;
}
.results-promo p {
    font-size: 1rem;
    line-height: 1.375rem;
    margin-top: -0.375rem;
    margin-bottom: 0.625rem;
}
.results-promo p:last-of-type {
    margin-bottom: -6px;
}

@media all and (min-width: 1300px) {
    .results-promo-container {
        max-width: 1200px;
    }
}
.results-section-intro {
    margin-top: 48px;
    margin-bottom: 24px;
}
@media all and (max-width: 959px) {
    .results-section-intro {
        margin-left: 16px;
        margin-right: 16px;
    }
}

@media all and (max-width: 1299px) {
    .results-summary--large-screen {
        display: none;
    }
}
@media all and (min-width: 1300px) {
    .results-summary--large-screen {
        margin-left: -40px;
        font-size: 1rem;
        line-height: 1rem;
    }
    .results-summary--large-screen span {
        width: 340px;
        display: inline-block;
    }
}

@media all and (max-width: 1299px) {
    .results-summary--small-screen {
        margin-left: 16px;
        margin-right: 16px;
        padding-top: 16px;
    }
}
@media all and (min-width: 1300px) {
    .results-summary--small-screen {
        display: none;
    }
}

.rewards-banner--deeplink {
    padding: 32px;
}

@media all and (max-width: 768px) {
    .rewards-banner--deeplink {
        flex-direction: column;
    }
    .rewards-banner--deeplink .rewards-banner__col1 h2 {
        font-size: 26px;
    }
    .rewards-banner--polling .rewards-banner__col2 {
        display: none;
    }
    .rewards-banner--deeplink .rewards-banner__col2 {
        text-align: center;
    }
}
@media all and (min-width: 769px) {
    .rewards-banner--polling .rewards-banner__col1,
    .rewards-banner--deeplink .rewards-banner__col1 {
        width: calc(60% - 24px);
        margin-right: 24px;
    }
    .rewards-banner--deeplink .rewards-banner__col1 {
        display: flex;
        align-items: center;
    }
    .rewards-banner--deeplink .rewards-banner__col1 h2 {
        font-size: 32px;
        line-height: 40px;
    }
    .rewards-banner--polling .rewards-banner__col2,
    .rewards-banner--deeplink .rewards-banner__col2 {
        width: 40%;
        text-align: right;
    }
}
.rewards-banner--results .rewards-banner__col1 {
    display: flex;
    flex-direction: column;
}

@media all and (max-width: 768px) {
    .rewards-banner--results {
        flex-direction: column;
    }
    .rewards-banner--results .rewards-banner__heading {
        width: 240px;
        max-width: 100%;
        margin: 16px 0;
    }
}
@media all and (min-width: 769px) {
    .rewards-banner--results .rewards-banner__col1 {
        width: calc(30% - 24px);
        margin-right: 24px;
    }
    .rewards-banner--results .rewards-banner__col1 .rewards-banner__heading {
        width: 195px;
        margin: 8px 0;
    }
    .rewards-banner--results .rewards-banner__col1 p {
        font-size: 12px;
        margin: 0;
    }
    .rewards-banner--results .rewards-banner__col2 {
        width: 70%;
        display: flex;
        align-items: center;
    }
    .rewards-banner--results .rewards-list {
        display: flex;
        flex-wrap: wrap;
    }
    .rewards-banner--results .rewards-list li:first-child {
        width: calc(60% - 48px);
        margin-right: 48px;
    }
    .rewards-banner--results .rewards-list li:nth-child(2) {
        width: 40%;
    }
    .rewards-banner--results .rewards-list li:not(:last-child) {
        margin-bottom: 0;
    }
}
.rewards-banner--polling .rewards-banner__heading {
    max-width: 100%;
    margin-bottom: 24px;
}

.rewards-banner--polling .rewards-banner__col1 p:last-child,
.rewards-banner--deeplink .rewards-banner__col1 p:last-child {
    margin-bottom: 0;
}

.rewards-banner--polling .rewards-banner__col2 img,
.rewards-banner--deeplink .rewards-banner__col2 img {
    width: 100%;
}

.rewards-banner--polling .rewards-banner__col2 img {
    max-width: 290px;
}

.rewards-banner--deeplink .rewards-banner__col2 img {
    max-width: 245px;
}

.rewards-banner--results .rewards-banner__logo {
    width: 85px;
}
.rewards-banner--results .rewards-list {
    margin-bottom: 0;
}

@media all and (max-width: 850px) {
    .rewards-promo-container {
        padding-top: 16px;
    }
    .rewards-promo-container h3 {
        margin: 0 16px;
    }
    .rewards-promo {
        padding: 8px 4px;
    }
    .rewards-promo li {
        padding: 8px 4px;
        flex-basis: 50%;
    }
    .rewards-promo li div {
        width: 120px;
        height: 50px;
    }
    .rewards-promo li div img {
        max-width: 120px;
        max-height: 50px;
    }
}
@media all and (min-width: 851px) {
    .rewards-promo-container:not(.rewards-promo-container--horizontal) {
        padding-top: 24px;
    }
    .rewards-promo-container h3 {
        margin: 0 24px;
    }
    .rewards-promo {
        padding: 16px 8px;
    }
    .rewards-promo li {
        padding: 8px;
        flex-basis: 25%;
    }
    .rewards-promo li div {
        width: 140px;
        height: 60px;
    }
    .rewards-promo li div img {
        max-width: 150px;
        max-height: 60px;
    }
}
@media all and (min-width: 851px) {
    .rewards-promo-container--horizontal h3 {
        padding-top: 16px;
    }
}
@media all and (min-width: 1001px) {
    .rewards-promo-container--horizontal {
        display: flex;
        align-items: center;
    }
    .rewards-promo-container--horizontal h3 {
        width: 20%;
        flex-grow: 1;
        margin-bottom: 16px;
    }
    .rewards-promo-container--horizontal .rewards-promo {
        flex-basis: 728px;
    }
}
.rewards-promo-container {
    color: #fff;
    background: rgb(31, 31, 31);
}

.rewards-promo {
    display: flex;
    flex-wrap: wrap;
    margin: 0px;
    background: rgb(31, 31, 31);
    color: white;
    font-weight: 600;
}
.rewards-promo li {
    display: flex;
    text-align: center;
    justify-content: space-between;
    flex-direction: column;
}
.rewards-promo li div {
    padding: 0px;
    display: block;
    margin: 0px auto;
    display: flex;
    justify-content: center;
}
.rewards-promo li div img {
    width: 100%;
}
.rewards-promo li span {
    display: block;
    margin: 16px auto 0;
    font-size: 0.875rem;
}

/**
* Extra classes
*/

.section-break {
    height: 4px;
    background-color: #1f1f1f;
}

.results-promo.white {
    background-color: #fff;
    border: none;
}

.panel.white {
    background-color: #fff;
}

.tick-box-white {
    padding: 8px 8px 8px 30px !important;
    margin-right: 8px;
    background-color: #ffffff;
}

.important-note--icon--tick:before {
    content: "";
    background-image: url(../assets/icons/white-tick.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.error-header {
    font-size: 2rem;
    font-weight: bold;
}
.error-page {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    min-height: 100vh;
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-direction: column;
    background-color: #d4d4d4;
    color: black;
}
.error-button {
    background-color: #1f1f1f;
    color: #fff;
    font-weight: 600;
    font-size: 22px;
    border-radius: 0;
    border-style: none;
}
