﻿:root {
  --brand-primary: #291d4c;
  --brand-primary-hover: #493c6e;
  --brand-text-on-primary: #ffffff;
  --brand-surface: #ffffff;
  --fluent-secondary: rgba(197, 237, 250, 0.9);
  --fluent-text-on-secondary: rgba(37, 127, 204, 0.9);
  --brand-focus: rgba(41, 29, 76, 1);
}

html,
body {
  min-height: 100vh;
}

body {
  display: flex;
  flex-direction: column;
}

main[role="main"] {
  flex: 1 0 auto;
  display: flex;
  min-height: 0;
  min-width: 0;
  background-color: #f0f2fe;
}

@media (max-width: 690px) {
  main[role="main"] {
    background-color: #ffffff;
  }
}

.bubble {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  padding-block: 1.5rem;
  background-color: transparent;
}

@media (max-width: 690px) {
  .bubble {
    padding-block: 0;
  }
}

.container.narrow {
  background-color: #ffffff;
  max-width: 680px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  margin: 0 auto;
  padding: 0;
}

@media (max-width: 690px) {
  .container.narrow {
    border-radius: 0;
    box-shadow: none;
  }
}

.padded-block {
  padding: 1.5rem;
}

.title {
  color: var(--brand-primary);
}

.subtitle {
  color: var(--brand-primary);
}

.value-wrap {
  max-width: clamp(12rem, 60%, 70%);
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: end;
}

.lender-logo {
  max-width: 164px;
  max-height: 74px;
  padding-block: 0.5rem;
}

.alert-light {
  margin: 1rem 0;
  --bs-alert-bg: var(--bs-gray-100);
  --bs-alert-border-color: inherit;
}

.accordion {
  --bs-accordion-btn-padding-x: 0;
  --bs-accordion-btn-padding-y: 0;
  --bs-accordion-body-padding-x: 0;
  --bs-accordion-body-padding-y: 0;
  --bs-accordion-active-bg: var(--brand-surface);
  --bs-accordion-active-color: var(--bs-accordion-btn-color);
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-border-width: 0;
}

.btn {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
  color: var(--brand-text-on-primary);
  padding: 0.75rem 1.25rem;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.btn:hover,
.btn:focus {
  background-color: var(--brand-primary-hover);
  border-color: var(--brand-primary-hover);
  color: var(--brand-text-on-primary);
}

.form-control {
  border-color: var(--brand-primary);
  padding: 0.7rem 0.7rem;
}

.form-control:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 0.1rem var(--brand-focus);
  outline: 0;
}

.form-control.is-valid,
.was-validated .form-control:valid {
  border-color: var(--bs-form-valid-border-color);
  padding: 0.7rem 0.7rem;
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.1rem var(--bs-form-valid-border-color);
  outline: 0;
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding: 0.7rem 0.7rem;
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.1rem var(--bs-form-invalid-border-color);
  outline: 0;
}

.modal-header {
  border-bottom: 0;
  padding-bottom: 0;
}

.modal.fade {
  transition: opacity 60ms linear;
}

.modal.fade .modal-dialog {
  transition: transform 80ms ease-out;
}

.body-text {
  color: var(--bs-body-color);
}

.light-text {
  color: var(--bs-light-text-emphasis);
}

.center-text {
  text-align: center;
}

.error {
  color: var(--bs-danger);
}

.error-container {

  margin: 0 auto;
}

.hidden {
  display: none;
}

.fluent-block {
  background-color: var(--fluent-secondary);
}

.fluent-text {
  color: var(--fluent-text-on-secondary);
}

@media (max-width: 400px) {
  .fluent-text {
    font-size: 0.875em;
  }
}

.fluent-logo {
  position: relative;
  margin-top: -0px;
  width: 33px;
  height: 35px;
  transform: translateX(-50%) translateY(-20%) scale(2.2);
}

@media (max-width: 400px) {
  .fluent-logo {
    transform: translateX(-30%) translateY(-20%) scale(2);
  }
}


/* Styles adapted from https://www.moneysupermarket.com/ */

.cms-footer__app-store-list.svelte-3d6fq1.svelte-3d6fq1 {
  align-content: center;
  display: flex;
  margin-top: 16px
}

.cms-footer__app-store-list.svelte-3d6fq1 a.svelte-3d6fq1:not(:last-child) {
  margin-right: 16px
}

.cms-footer__app-store-list.svelte-3d6fq1 img.svelte-3d6fq1 {
  height: 42px;
  width: auto
}

@media only screen and (min-width: 992px) {
  .cms-footer__app-store-list.svelte-3d6fq1.svelte-3d6fq1 {
    margin-left:40px
  }
}

.cms-image-link-list.svelte-3d6fq1.svelte-3d6fq1 {
  display: flex
}

.cms-image-link-list--horizontal.svelte-3d6fq1.svelte-3d6fq1 {
  flex-direction: row;
  justify-content: flex-start;
  align-items: center
}

.cms-image-link-list__link.svelte-3d6fq1.svelte-3d6fq1 {
  display: block;
  position: relative
}

.cms-image-link-list__link--horizontal.svelte-3d6fq1.svelte-3d6fq1 {
  margin-right: 10px
}

.cms-image-link-list__link--horizontal.svelte-3d6fq1.svelte-3d6fq1:last-of-type {
  margin-right: 0
}

.cms-image-link-list__image.svelte-3d6fq1.svelte-3d6fq1 {
  width: fit-content;
  height: auto
}

.msmg-footer {
  box-sizing: border-box;
  background: #291d4c;
  padding: 48px 0;
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif
}

.msmg-footer *,.msmg-footer *:after,.msmg-footer *:before {
  box-sizing: border-box
}

.msmg-footer__container {
  display: flex;
  margin-left: auto;
  margin-right: auto;
  flex-wrap: wrap;
  max-width: 1280px
}

@media screen and (max-width: 1440px) {
  .msmg-footer__container {
    width:92.5%
  }
}

@media screen and (max-width: 768px) {
  .msmg-footer__container {
    width:91.6558018253%
  }
}

@media screen and (max-width: 320px) {
  .msmg-footer__container {
    width:85%
  }
}

.msmg-footer__separator {
  width: 100%;
  height: 1px;
  background: #aaa2b2;
  margin: 16px 0 24px
}

.msmg-footer__nav,.msmg-footer__social-list {
  display: flex;
  width: 100%;
  padding-left: 0;
  padding-right: 0
}

@media only screen and (min-width: 1280px) {
  .msmg-footer__nav,.msmg-footer__social-list {
    display:flex;
    width: 91.6666666667%;
    padding-left: 0;
    padding-right: 0;
    margin-right: 8.3333333333%
  }
}

.msmg-footer__awards {
  list-style-type: none;
  padding: 0;
  margin: 0
}

.msmg-footer__awards-container {
  order: 2
}

@media screen and (min-width: 768px) {
  .msmg-footer__awards-container {
    order:0
  }
}

.msmg-footer__awards__item,.msmg-footer__list {
  padding: 0;
  margin: 0
}

.msmg-footer__list-item {
  display: block;
  margin: 0 0 24px;
  padding: 0
}

.msmg-footer__list-item:nth-last-child(-n+2) {
  margin-bottom: 0
}

.msmg-footer__list-link {
  color: #fff;
  outline: white;
  font-weight: 500;
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size: 14px;
  line-height: 22px;
  font-weight: 700;
  text-decoration: none
}

.msmg-footer__logo {
  margin-top: 9px
}

.msmg-footer__text-block {
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 32px
}

.msmg-footer__text-block:last-child {
  margin-bottom: 0
}

.msmg-footer__text-block--big {
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size: 14px;
  line-height: 22px;
  font-weight: 700
}

.msmg-footer__social-list {
  align-content: center;
  display: flex;
  margin: 16px 0 0;
  list-style: none
}

.msmg-footer__social-list__item {
  box-sizing: content-box;
  flex: 0 1 46px;
  margin-top: 0;
  padding: 0
}

.msmg-footer__social-list__item:before {
  display: none
}

.msmg-footer__social-list__item:not(:first-child) {
  margin-left: 16px
}

.msmg-footer__social-list__icon {
  max-width: 100%
}

.msmg-footer__text-block__link,.msmg-footer__text-block__button {
  color: #fff;
  outline: white;
  font-weight: 700
}

.msmg-footer__text-block__button {
  padding: 0;
  cursor: pointer;
  background-color: transparent;
  border-width: 0px;
  font-size: inherit;
  text-decoration: underline
}

.msmg-footer__awarded {
  display: grid;
  column-gap: 30px;
  row-gap: 16px;
  grid-template-columns: 1fr;
  align-items: center
}

@media screen and (min-width: 768px) {
  .msmg-footer__awarded {
    grid-template-columns:auto 1fr
  }
}

.msmg-footer__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2,auto);
  column-gap: 12px
}

@media only screen and (min-width: 768px) {
  .msmg-footer__nav {
    align-content:flex-start;
    display: flex
  }

  .msmg-footer__list {
    align-content: space-between;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
  }

  .msmg-footer__list-item {
    flex: 0 1 33%;
    margin-bottom: 16px
  }

  .msmg-footer__logo {
    order: -1;
    margin: 4px 32px 0 0
  }
}

@media only screen and (min-width: 992px) {
  .msmg-footer__text-block {
    margin-bottom:32px
  }

  .msmg-footer__app-store-links {
    align-items: center;
    display: flex
  }

  .msmg-footer__app-store-links>* {
    margin: 0
  }
}

@media only screen and (min-width: 1230px) {
  .msmg-footer__nav {
    align-items:center
  }

  .msmg-footer__list {
    flex: 0 1 100%;
    flex-wrap: nowrap;
    justify-content: space-between
  }

  .msmg-footer__list-item {
    flex: 0 1 auto;
    margin-bottom: 0
  }

  .msmg-footer__logo {
    margin-top: 0
  }
}

.msmg-footer .foo {
  --main-bg-color: transparent
}

.msmg-logo.svelte-76ry3o {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0;
  flex: 0 1 auto
}

.msmg-logo.svelte-76ry3o:focus {
  outline: 2px solid var(--focus-color, #2b173f)
}

.msmg-logo__image.svelte-76ry3o {
  width: 101px;
  height: 38px
}

@media screen and (min-width: 480px) {
  .msmg-logo__image.svelte-76ry3o {
    width: 211px;
    height: 26px
  }
}

@media screen and (max-width: 340px) {
  .msmg-logo__image.svelte-76ry3o {
    width: 190px;
    height: 24px
  }
}

@media screen and (min-width: 341px) and (max-width: 479px) {
  .msmg-logo__image.svelte-76ry3o {
    width: 217px;
    height: 27px
  }
}

.msmg-container-leading {
  --box-height: 50px;
  box-sizing: border-box;
  height: var(--box-height);
  --box-height: 70px
}

.msmg-container-leading *,
.msmg-container-leading *:after,
.msmg-container-leading *:before {
  box-sizing: border-box
}

@media screen and (min-width: 992px) {
  .msmg-container-leading {
    --box-height: 72px
  }
}

.msmg-cms-header {
  display: flex;
  background-color: var(--background-color, #ffffff);
  border-bottom: 1px solid;
  border-bottom-color: var(--border-bottom-color, #f6f3f9);
  height: inherit
}

.msmg-cms-header[data-theme=light] {
  --theme: "light";
  --background-color: #ffffff;
  --color: #291d4c;
  --border-bottom-color: #584f78;
  --focus-color: #2b173f
}

.msmg-cms-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
  width: 100%;
  top: 0;
  margin: 0 auto;
  height: 100%
}

.msmg-cms-header__content-link {
  position: absolute;
  left: 10px;
  padding: 11px 10px;
  border-radius: 0;
  box-shadow: 0 1px #f6f3f9;
  background-color: #fff;
  text-align: center;
  text-decoration: none;
  color: #590f85;
  z-index: -1000;
  font-weight: 500;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 18px
}

.msmg-cms-header__content-link:not(:focus) {
  top: -100%
}

.msmg-cms-header__content-link:focus {
  top: 70px;
  outline: 2px solid var(--focus-color, #2b173f);
  z-index: 999
}

.msmg-cms-header.msmg-cms-header {
  font-family: Saans, Open Sans
}

.msmg-cms-header.msmg-cms-header .msmg-cms-header__inner {
  max-width: 1280px;
  padding: 0 16px
}

@media screen and (min-width: 1305px) {
  .msmg-cms-header.msmg-cms-header .msmg-cms-header__inner {
    padding: 0
  }
}