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

*:not(dialog) {
  margin: 0;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 36px;
  cursor: pointer;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

ul, ol {
  padding: 0;
}
ul li, ol li {
  list-style: none inside none;
}

button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

a {
  text-decoration: none;
  color: inherit;
}

#root, #__next {
  isolation: isolate;
}

body {
  font-family: "Google Sans", sans-serif;
  color: #232b3d;
}

header.site {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 64px;
  background-color: #fff;
  border-bottom: 1px solid #EAE1DE;
  padding-left: 1.25em;
  padding-right: 1.25em;
}
header.site span, header.site nav, header.site div.menu {
  flex: 0 0 auto;
  display: flex;
}
header.site span {
  align-items: center;
}
header.site nav {
  gap: 0.5em;
}
header.site nav a, header.site nav button {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  text-transform: capitalize;
  font-size: 0.9375em;
  min-height: 38px;
  padding-left: 0.75em;
  padding-right: 0.75em;
  border-radius: 4px;
}
header.site nav a:not(.buy) {
  border: 1px solid transparent;
}
header.site nav a:not(.buy):hover {
  background-color: #F2F3F8;
  border-color: #F2F3F8;
}
header.site nav a.buy {
  background-color: #163376;
  border: 1px solid #163376;
  color: #fff;
  border-radius: 4px;
}
header.site div.menu button[data-toggle] {
  display: flex;
  align-items: center;
  border: 1px solid #163376;
  flex: 0 0 auto;
  min-height: 36px;
  padding-left: 0.75em;
  padding-right: 0.75em;
  border-radius: 4px;
}
header.site div.menu button[data-toggle]:hover, header.site div.menu button[data-toggle][aria-expanded] {
  background-color: #163376;
}
header.site div.menu button[data-toggle]:hover svg path, header.site div.menu button[data-toggle][aria-expanded] svg path {
  fill: #fff;
}

main {
  min-height: calc(100vh - 64px);
  padding: 0 calc((100% - 1180px) / 2);
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
}
main h2 {
  font-size: 1.125em;
  font-weight: 500;
  margin-bottom: 0.25em;
}
main.compact {
  background-color: #FFF3EF;
}
main.spotlight {
  background-color: #232b3d;
}
main.spotlight section.main {
  flex: 0 0 50%;
}
main.spotlight section.main p.headline {
  font-size: 2.5em;
}
main.spotlight section.main h1, main.spotlight section.main p {
  color: #fff;
}
main.spotlight section.main button, main.spotlight section.main a {
  min-height: 40px;
  padding-left: 1.25em;
  padding-right: 1.25em;
  border-radius: 4px;
}
main.spotlight section.main button.action {
  background-color: #CA3400;
  color: #fff;
  border: 1px solid #CA3400;
  margin-right: 1em;
}
main.spotlight section.main button.action + button {
  background-color: #232b3d;
  color: #fff;
  border: 1px solid #fff;
}
main.spotlight section.main + section {
  flex: 0 0 50%;
}
main.compact section.main {
  flex: 0 0 50%;
  text-align: center;
}
main.compact section.main p.headline::after {
  left: calc(50% - 26px);
}
main.compact section.main + section {
  flex: 0 0 100%;
}
main.heading section.main {
  flex: 0 0 100%;
}
main.heading section.main h1, main.heading section.main p {
  padding: 0 50% 0 0;
}
main.heading section.main ~ section {
  flex: 0 0 65%;
}
main.heading section.main ~ section + section {
  flex: 0 0 35%;
}
main.gallery section.main {
  flex: 0 0 100%;
}
main.gallery section.main h1, main.gallery section.main p {
  padding: 0 50% 0 0;
}
main.gallery section.main ~ section {
  flex: 0 0 50%;
}
main.gallery section.main ~ section p {
  margin-bottom: 1em;
}
main.page section.main {
  flex: 0 0 50%;
}
main.page section.main + section {
  flex: 0 0 50%;
}
main.overview section.main {
  flex: 0 0 100%;
  text-align: center;
  justify-content: center;
}
main.overview section.main h1, main.overview section.main p {
  padding: 0 25%;
  flex: 0 0 100%;
  justify-content: center;
  display: flex;
}
main.overview section.main + section {
  flex: 0 0 100%;
}
main.overview section.main + section div.list div {
  border: 1px solid #EAE1DE;
}
main.default section.main {
  flex: 0 0 100%;
}
main:not(.spotlight) section.main p.headline {
  font-size: 2.25em;
}
main section {
  display: flex;
  flex-wrap: wrap;
}
main h1 {
  color: #CA3400;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-size: 0.875em;
  flex: 0 0 100%;
  margin-top: 3em;
  margin-bottom: 1em;
}
main p.intro {
  font-size: 1.25em;
  opacity: 0.8;
  margin-bottom: 1em;
}
main p.headline {
  font-family: "Momo Trust Display", sans-serif;
  flex: 0 0 100%;
  line-height: 1.25;
  position: relative;
  margin-bottom: 0.875em;
}
main p.headline::after {
  background-color: #CA3400;
  height: 3px;
  width: 52px;
  content: " ";
  display: block;
  position: absolute;
  bottom: -16px;
}
main section + section {
  justify-content: center;
}

div.product {
  flex: 0 0 400px;
  display: flex;
  flex-wrap: wrap;
  background-color: #fff;
  padding: 1.5em;
  border-radius: 8px;
  justify-content: center;
  border: 1px solid #EAE1DE;
  margin-top: 0.5em;
}
div.product div.logo {
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 1em;
}
div.product div.logo span {
  font-family: "Momo Trust Display", sans-serif;
  font-size: 1.25em;
  flex: 0 0 100%;
  justify-content: center;
  display: flex;
}
div.product div.price {
  font-family: "Momo Trust Display", sans-serif;
  font-size: 1.325em;
  justify-content: center;
}
div.product p.info {
  justify-content: center;
  display: flex;
  text-align: center;
  margin-top: 0.125em;
  margin-bottom: 1em;
  font-size: 0.875em;
  flex: 0 0 auto;
}
div.product div button {
  background-color: #CA3400;
  color: #fff;
  text-align: center;
  min-height: 36px;
  border-radius: 4px;
  flex: 0 0 100%;
  text-transform: capitalize;
}
div.product ul, div.product div, div.product p {
  flex: 0 0 100%;
  display: flex;
}
div.product ul {
  flex-wrap: wrap;
  list-style-position: outside;
  margin-top: 1em;
  margin-bottom: 1em;
}
div.product ul li {
  flex: 0 0 100%;
  background-repeat: no-repeat;
  background-position: 0 center;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='10' viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.247 0.341708C10.6106 -0.0738131 11.2425 -0.116375 11.6581 0.246982C12.0736 0.610563 12.1162 1.24247 11.7529 1.65811L4.75285 9.65811C4.5706 9.8664 4.30974 9.98973 4.03313 9.99893C3.75653 10.0081 3.48858 9.90263 3.29289 9.70694L0.292893 6.70694C-0.0976311 6.31642 -0.0976311 5.6834 0.292893 5.29288C0.683417 4.90236 1.31643 4.90236 1.70696 5.29288L3.9511 7.53702L10.247 0.341708Z' fill='%230DCA29'/%3E%3C/svg%3E%0A");
  padding-left: 2em;
}

div.list {
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin-top: 2em;
}
div.list > div {
  flex: 0 0 calc(33.3333333% - 0.6666667em);
  background-color: #fff;
  padding: 1.5em;
  border-radius: 8px;
  border: 1px solid #EAE1DE;
}
div.list > div button {
  margin-top: 1em;
  border: 1px solid rgba(35, 43, 61, 0.4);
  color: rgba(35, 43, 61, 0.9);
  min-height: 36px;
  border-radius: 4px;
  padding-left: 1em;
  padding-right: 1em;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
div.list > div button svg path {
  fill: rgba(35, 43, 61, 0.6);
}

div.testimonials {
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin-top: 2em;
}
div.testimonials > div {
  flex: 0 0 calc(33.3333333% - 0.6666667em);
  background-color: #fff;
  padding: 1.5em;
  border-radius: 8px;
}
div.testimonials > div p:first-child {
  display: flex;
  gap: 4px;
}
div.testimonials > div p + p {
  margin-top: 1em;
}
div.testimonials > div div.avatar {
  flex: 0 0 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  margin-top: 1em;
}
div.testimonials > div div.avatar div {
  flex: 0 0 calc(100% - 50px);
  flex-wrap: wrap;
  display: flex;
}
div.testimonials > div div.avatar div span {
  flex: 0 0 100%;
}
div.testimonials > div div.avatar div span + span {
  font-size: 0.75em;
  opacity: 0.8;
}
div.testimonials > div div.avatar div span:first-child {
  font-size: 0.9375em;
}
div.testimonials > div div.avatar abbr {
  flex: 0 0 36px;
  height: 36px;
  border-radius: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 0.875em;
}
div.testimonials > div:nth-child(1) div abbr {
  background-color: #31a454;
}
div.testimonials > div:nth-child(2) div abbr {
  background-color: #6226b1;
}
div.testimonials > div:nth-child(3) div abbr {
  background-color: #d94141;
}

div.questions {
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2em;
}
div.questions h2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1em;
}
div.questions h2 svg path {
  fill: #232b3d;
}
div.questions p {
  opacity: 0.9;
}
div.questions div {
  flex: 0 0 600px;
  margin-bottom: 0.75em;
  border-bottom: 1px solid rgba(35, 43, 61, 0.1);
  padding-bottom: 0.5em;
}

div.layers {
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 1em;
}
div.layers div {
  flex: 0 0 100%;
  margin-bottom: 1em;
  border: 1px solid #e3e4eb;
  border-radius: 8px;
  padding: 1em 1.5em;
}
div.layers div p {
  padding-left: 48px;
}
div.layers div h2 {
  display: flex;
  flex: 0 0 100%;
  align-items: center;
  gap: 16px;
}
div.layers div h2 span {
  background-color: #163376;
  color: #fff;
  align-items: center;
  display: flex;
  flex: 0 0 32px;
  height: 32px;
  border-radius: 16px;
  justify-content: center;
  font-size: 0.875em;
  font-weight: 400;
}

div.steps {
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin-top: 5em;
}
div.steps > div {
  flex: 0 0 calc(25% - 0.75em);
  background-color: #fff;
  padding: 1.5em;
  border-radius: 8px;
  border: 1px solid #EAE1DE;
  position: relative;
  text-align: center;
}
div.steps > div h2 {
  margin-top: 1.5em;
}
div.steps > div::before {
  width: 72px;
  height: 72px;
  content: " ";
  display: block;
  background-repeat: no-repeat;
  left: calc(50% - 36px);
  top: -36px;
  position: absolute;
}
div.steps > div:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg width='72' height='72' viewBox='0 0 72 72' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M72 36C72 55.8823 55.8823 72 36 72C16.1177 72 0 55.8823 0 36C0 16.1177 16.1177 0 36 0C55.8823 0 72 16.1177 72 36Z' fill='%23163376'/%3E%3Cpath d='M34 49C34 47.8954 33.1046 47 32 47C30.8954 47 30 47.8954 30 49C30 50.1046 30.8954 51 32 51C33.1046 51 34 50.1046 34 49ZM46 49C46 47.8954 45.1046 47 44 47C42.8954 47 42 47.8954 42 49C42 50.1046 42.8954 51 44 51C45.1046 51 46 50.1046 46 49ZM20.9824 19C23.2147 19 25.1766 20.4797 25.79 22.626L26.7549 26H49.7637C51.9938 26 53.4446 28.3471 52.4473 30.3418L47.4473 40.3418C46.9391 41.3581 45.9 42 44.7637 42H31.5088C30.1694 42 28.992 41.1121 28.624 39.8242L23.8672 23.1758C23.4992 21.8879 22.3218 21 20.9824 21H19V19H20.9824ZM30.5469 39.2744C30.6695 39.7037 31.0623 40 31.5088 40H44.7637C45.1424 40 45.4888 39.786 45.6582 39.4473L50.6582 29.4473C50.9907 28.7824 50.5071 28 49.7637 28H27.3262L30.5469 39.2744ZM36 49C36 51.2091 34.2091 53 32 53C29.7909 53 28 51.2091 28 49C28 46.7909 29.7909 45 32 45C34.2091 45 36 46.7909 36 49ZM48 49C48 51.2091 46.2091 53 44 53C41.7909 53 40 51.2091 40 49C40 46.7909 41.7909 45 44 45C46.2091 45 48 46.7909 48 49Z' fill='white'/%3E%3C/svg%3E%0A");
}
div.steps > div:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg width='72' height='72' viewBox='0 0 72 72' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M72 36C72 55.8823 55.8823 72 36 72C16.1177 72 0 55.8823 0 36C0 16.1177 16.1177 0 36 0C55.8823 0 72 16.1177 72 36Z' fill='%23163376'/%3E%3Cpath d='M50 36C50 28.268 43.732 22 36 22C28.268 22 22 28.268 22 36C22 43.732 28.268 50 36 50V52C27.1634 52 20 44.8366 20 36C20 27.1634 27.1634 20 36 20C44.8366 20 52 27.1634 52 36C52 44.8366 44.8366 52 36 52V50C43.732 50 50 43.732 50 36Z' fill='white'/%3E%3Cpath d='M42.2881 29.2973C42.6762 28.9044 43.3102 28.9004 43.7031 29.2885C44.096 29.6766 44.1 30.3106 43.7119 30.7036L33.7119 40.8276C33.5248 41.017 33.2692 41.1236 33.0029 41.1245C32.7367 41.1252 32.4812 41.0197 32.293 40.8315L28.293 36.8315C27.9026 36.4409 27.9025 35.8079 28.293 35.4174C28.6835 35.0271 29.3165 35.0271 29.707 35.4174L32.9951 38.7055L42.2881 29.2973Z' fill='white'/%3E%3C/svg%3E%0A");
}
div.steps > div:nth-child(3)::before {
  background-image: url("data:image/svg+xml,%3Csvg width='72' height='72' viewBox='0 0 72 72' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M72 36C72 55.8823 55.8823 72 36 72C16.1177 72 0 55.8823 0 36C0 16.1177 16.1177 0 36 0C55.8823 0 72 16.1177 72 36Z' fill='%23163376'/%3E%3Cpath d='M35.4028 19.2225C35.978 18.9258 36.6615 18.9258 37.2368 19.2225L50.5571 26.0975C52.0004 26.8427 52.0004 28.9071 50.5571 29.6522L37.2368 36.5272C36.6615 36.824 35.978 36.824 35.4028 36.5272L22.0825 29.6522C20.6392 28.9071 20.6392 26.8427 22.0825 26.0975L35.4028 19.2225ZM23.0004 27.8749L36.3198 34.7499L49.6391 27.8749L36.3198 20.9999L23.0004 27.8749Z' fill='white'/%3E%3Cpath d='M35.5 36.3749C35.5 35.8226 35.9477 35.3749 36.5 35.3749C37.0523 35.3749 37.5 35.8226 37.5 36.3749V50.1796L50 43.2841V28.3749C50 27.8226 50.4477 27.3749 51 27.3749C51.5523 27.3749 52 27.8226 52 28.3749V43.2841C52 44.0125 51.6036 44.6841 50.9658 45.036L36.9834 52.7509C36.6827 52.9167 36.3173 52.9167 36.0166 52.7509L22.0342 45.036C21.3964 44.6841 21 44.0125 21 43.2841V28.3749C21 27.8226 21.4477 27.3749 22 27.3749C22.5523 27.3749 23 27.8226 23 28.3749V43.2841L35.5 50.1796V36.3749Z' fill='white'/%3E%3C/svg%3E%0A");
}
div.steps > div:nth-child(4)::before {
  background-image: url("data:image/svg+xml,%3Csvg width='72' height='72' viewBox='0 0 72 72' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M72 36C72 55.8823 55.8823 72 36 72C16.1177 72 0 55.8823 0 36C0 16.1177 16.1177 0 36 0C55.8823 0 72 16.1177 72 36Z' fill='%23163376'/%3E%3Cpath d='M43 43C43.5523 43 44 43.4477 44 44C44 44.5523 43.5523 45 43 45H30C29.4477 45 29 44.5523 29 44C29 43.4477 29.4477 43 30 43H43ZM43 38C43.5523 38 44 38.4477 44 39C44 39.5523 43.5523 40 43 40H30C29.4477 40 29 39.5523 29 39C29 38.4477 29.4477 38 30 38H43ZM43 33C43.5523 33 44 33.4477 44 34C44 34.5523 43.5523 35 43 35H30C29.4477 35 29 34.5523 29 34C29 33.4477 29.4477 33 30 33H43ZM51 48C51 50.2091 49.2091 52 47 52H26C23.7909 52 22 50.2091 22 48V24C22 21.7909 23.7909 20 26 20H42C42.2652 20 42.5195 20.1054 42.707 20.293L50.707 28.293C50.8946 28.4805 51 28.7348 51 29V48ZM47.5859 28L43 23.4141V28H47.5859ZM24 48C24 49.1046 24.8954 50 26 50H47C48.1046 50 49 49.1046 49 48V30H43C41.8954 30 41 29.1046 41 28V22H26C24.8954 22 24 22.8954 24 24V48Z' fill='white'/%3E%3C/svg%3E%0A");
}

div.description p {
  margin-bottom: 1em;
}

div.menu {
  position: relative;
}

div.options {
  position: fixed;
  right: 0;
  width: 280px;
  display: flex;
  flex-wrap: wrap;
  height: calc(100vh - 64px);
  top: 64px;
  align-content: flex-start;
  border-left: 1px solid rgba(35, 43, 61, 0.2);
  padding: 1.25em 0;
  background-color: #fff;
  z-index: 10;
}
div.options footer {
  position: fixed;
  bottom: 0;
  width: 280px;
  min-height: 36px;
  display: flex;
  align-items: center;
}
div.options footer small {
  font-size: 0.875em;
  display: flex;
  padding-left: 24px;
  padding-right: 24px;
}
div.options div {
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(35, 43, 61, 0.1);
  padding-bottom: 1em;
  margin-bottom: 1em;
}
div.options div h3 {
  font-size: 0.75em;
  text-transform: uppercase;
  color: rgba(35, 43, 61, 0.6);
  font-weight: 400;
  padding-left: 22px;
  padding-right: 22px;
}
div.options div h3, div.options div ul {
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
}
div.options div ul {
  margin-top: 1em;
}
div.options div ul li {
  flex: 0 0 100%;
  display: flex;
  padding-left: 6px;
  padding-right: 6px;
}
div.options div ul li a, div.options div ul li button {
  flex: 0 0 100%;
  min-height: 32px;
  display: flex;
  border-radius: 4px;
  align-items: center;
  padding-left: 1em;
  padding-right: 1em;
}
div.options div ul li a:hover, div.options div ul li button:hover {
  background-color: #F2F3F8;
}

div[data-dialog] {
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  align-content: center;
  flex-wrap: wrap;
  min-height: 100vh;
  gap: 1em;
}
div[data-dialog] p {
  flex: 0 0 100%;
  justify-content: center;
  display: flex;
  font-size: 1.125em;
}

dialog {
  background-color: rgba(35, 43, 61, 0.6);
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  border: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
}

div.modal.login {
  flex: 0 0 480px;
}
div.modal.login section {
  padding-bottom: 3em;
}
div.modal.login section form {
  margin-bottom: 2em;
}
div.modal.login section p {
  margin-top: 1em;
}
div.modal.login section p button {
  color: #CA3400;
}

div.modal.page {
  flex: 0 0 780px;
}

div.modal.form {
  flex: 0 0 600px;
}

div.modal.page section, div.modal.form section {
  min-height: calc(100vh - 160px);
}

div.modal {
  margin-top: 1em;
  background-color: #fff;
  display: flex;
  border-radius: 16px;
  flex-wrap: wrap;
}
div.modal header {
  min-height: 56px;
  display: flex;
  justify-content: space-between;
  flex: 0 0 100%;
  align-items: center;
  padding-left: 1.5em;
  padding-right: 1.5em;
  border-bottom: 1px solid rgba(35, 43, 61, 0.1);
}
div.modal header h2 {
  font-size: 1.25em;
  font-weight: 400;
  text-transform: capitalize;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
div.modal header h2 span {
  opacity: 0.6;
}
div.modal section {
  max-height: calc(100vh - 161px);
  overflow-y: auto;
  flex: 0 0 100%;
  padding-left: 1.5em;
  padding-right: 1.5em;
}
div.modal footer {
  min-height: 72px;
  display: flex;
  flex: 0 0 100%;
  padding-left: 1.5em;
  padding-right: 1.5em;
  align-items: center;
  border-top: 1px solid rgba(35, 43, 61, 0.1);
  flex-wrap: wrap;
  justify-content: space-between;
}
div.modal footer[data-init] {
  justify-content: flex-end;
}
div.modal footer div {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-height: 36px;
  gap: 1em;
  border: 1px solid rgba(35, 43, 61, 0.3);
  border-radius: 4px;
  padding-left: 1em;
  padding-right: 1em;
}
div.modal footer div span {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  font-size: 0.9375em;
  gap: 0.5em;
}
div.modal footer div span:hover {
  cursor: pointer;
  color: #163376;
}
div.modal footer div span:hover svg path {
  fill: #163376;
}
div.modal footer button[type] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  min-height: 36px;
  padding-left: 1em;
  padding-right: 1em;
  border-radius: 4px;
  gap: 0.75em;
  font-weight: 500;
}
div.modal footer button[type=button] {
  border: 1px solid rgba(35, 43, 61, 0.4);
  background-color: #fff;
  color: rgba(35, 43, 61, 0.8);
}
div.modal footer button[type=button] svg path {
  fill: rgba(35, 43, 61, 0.8);
}
div.modal footer button[type=submit] {
  border: 1px solid #CA3400;
  background-color: #CA3400;
  color: #fff;
}
div.modal footer button[type=submit] svg path {
  fill: white;
}
div.modal footer button[type][disabled] {
  background-color: #fff;
  border: 1px solid rgba(35, 43, 61, 0.2);
  color: rgba(35, 43, 61, 0.4);
  opacity: 1;
}
div.modal footer button[type][disabled] svg path {
  fill: rgba(35, 43, 61, 0.3);
}
div.modal footer button[type][disabled]:hover {
  cursor: default;
}

div.review {
  margin-top: 1.5em;
  display: flex;
  flex: 0 0 100%;
  flex-wrap: wrap;
}
div.review div, div.review h3 {
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
}
div.review h3 {
  font-weight: 500;
  font-size: 1em;
  margin-bottom: 0.25em;
}
div.review div {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid rgba(35, 43, 61, 0.1);
}
div.review div span {
  flex: 0 0 100%;
}
div.review div span strong {
  font-weight: 400;
}
div.review div:last-child {
  border-bottom: none;
}

form {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin-top: 1.25em;
  justify-content: space-between;
}
form label {
  display: flex;
  flex: 0 0 100%;
  flex-wrap: wrap;
}
form label[data-row=townCity] {
  flex: 0 0 calc(100% - 260px);
}
form label[data-row=postcode] {
  flex: 0 0 40px;
}
form label span {
  font-size: 0.9375em;
  flex: 0 0 100%;
  margin-bottom: 0;
  font-weight: 400;
  display: flex;
}
form label textarea + span {
  margin-top: 0.5em;
}
form label textarea + span small {
  display: flex;
  flex: 0 0 50%;
}
form label textarea + span small + small {
  justify-content: flex-end;
}
form label input, form label textarea, form label select {
  flex: 0 0 100%;
  border: 1px solid rgba(35, 43, 61, 0.25);
  border-radius: 4px;
  background-color: #fff;
  padding-left: 0.75em;
  padding-right: 0.75em;
  font-size: 1em;
}
form label input:hover, form label input:focus, form label textarea:hover, form label textarea:focus, form label select:hover, form label select:focus {
  border: 1px solid rgba(35, 43, 61, 0.95);
  outline: 3px solid rgba(35, 43, 61, 0.05);
}
form label input, form label select {
  min-height: 34px;
}
form label select {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.2929 0.292893C10.6834 -0.0976311 11.3164 -0.0976311 11.707 0.292893C12.0975 0.683417 12.0975 1.31643 11.707 1.70696L6.70696 6.70696C6.31643 7.09748 5.68342 7.09748 5.29289 6.70696L0.292893 1.70696C-0.0976311 1.31643 -0.0976311 0.683417 0.292893 0.292893C0.683417 -0.0976311 1.31643 -0.0976311 1.70696 0.292893L5.99992 4.58586L10.2929 0.292893Z' fill='%23232B3D'/%3E%3C/svg%3E%0A");
  background-position: calc(100% - 12px) center;
}
form label select option[disabled] {
  color: #232b3d;
  opacity: 1;
}
form label textarea {
  padding-top: 0.5em;
}
form button[type] {
  background-color: #CA3400;
  color: #fff;
  flex: 0 0 100%;
  min-height: 40px;
  border-radius: 4px;
}

div.tabs {
  display: flex;
  border: 1px solid rgba(35, 43, 61, 0.25);
  margin-top: 2em;
  margin-bottom: 2em;
  border-radius: 4px;
}
div.tabs button {
  min-height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  color: rgba(35, 43, 61, 0.8);
}
div.tabs button svg path {
  fill: rgba(35, 43, 61, 0.8);
}
div.tabs button[aria-selected] {
  background-color: rgba(35, 43, 61, 0.05);
  color: #232b3d;
}

div.tabs.checkout button {
  flex: 0 0 33.3333333%;
}
div.tabs.checkout button:first-child + button {
  border-left: 1px solid rgba(35, 43, 61, 0.25);
  border-right: 1px solid rgba(35, 43, 61, 0.25);
}

div.tabs.contact button {
  flex: 0 0 50%;
}
div.tabs.contact button + button {
  border-left: 1px solid rgba(35, 43, 61, 0.25);
}

div.progress {
  display: flex;
  flex: 0 0 100%;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 1em;
}
div.progress div {
  flex: 0 0 33.333333%;
  justify-content: center;
  display: flex;
}
div.progress div span {
  flex: 0 0 100%;
  text-align: center;
  position: relative;
  font-size: 0.9375em;
}
div.progress div span::after {
  content: " ";
  width: 16px;
  height: 16px;
  background-color: #fff;
  display: block;
  position: absolute;
  left: calc(50% - 6px);
  border-radius: 8px;
  border: 2px solid #ccc;
  bottom: -21px;
}
div.progress div[data-valid=false] {
  border-bottom: 2px solid #ccc;
  padding-bottom: 0.75em;
}
div.progress div[data-valid=false] span {
  color: rgba(35, 43, 61, 0.6);
}
div.progress div[data-valid=false] span::after {
  background-color: #fff;
  border: 2px solid #ccc;
}
div.progress div[data-valid=true] {
  border-bottom: 2px solid #3bcd47;
  padding-bottom: 0.75em;
}
div.progress div[data-valid=true] span {
  color: #232b3d;
}
div.progress div[data-valid=true] span::after {
  background-color: #3bcd47;
  border: 2px solid #3bcd47;
}/*# sourceMappingURL=public.css.map */