/*!****************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/styles.scss ***!
  \****************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap);
/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/styles.scss (1) ***!
  \********************************************************************************************************************************************************************************************************************************************/
@font-face {
  font-family: "Muller Narrow";
  src: url(fonts/MullerNarrow-ExtraBold.f070a77c.otf);
  font-weight: bold;
  font-display: swap;
}
:root {
  --cfx-blue: #262262;
  --cfx-pink: #D60081;
  --cfx-green: #139D4B;
  --blue-dark: #0058BA;
  --blue: #007BC2;
  --blue-light: #0096DA;
  --pink-dark: #9E0C87;
  --pink: #D60D8C;
  --pink-light: #ED2891;
  --grey-dark: rgb(232, 232, 232);
  --grey: rgb(237, 237, 237);
  --grey-light: rgb(241, 241, 241);
  --product-orange: #EC9535;
  --product-green: #75B547;
  --product-blue: #349AD5;
  --product-pink: #D60D8C;
  --max-width: 1440px;
  --angle-size: 115vw;
  --padding: 20px;
  --font-small: 13.5px;
  --font-small-heading: 21px;
  --font-large-heading: 45px;
}
@media screen and (min-width: 450px) {
  :root {
    --font-large-heading: 55.5px;
  }
}
@media screen and (min-width: 768px) {
  :root {
    --angle-size: 1170px;
    --padding: 2rem;
    --font-small: 18px;
    --font-small-heading: 28px;
    --font-large-heading: 74px;
  }
}
@media screen and (min-width: 1200px) {
  :root {
    --padding: 100px;
  }
}

* {
  box-sizing: border-box;
}

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

section {
  container-type: inline-size;
}

body {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  font-family: "DM Sans", sans-serif;
}
body.lock {
  overflow: hidden;
}
body.wp-admin {
  --wp-admin-theme-color: var(--cfx-pink);
  --wp-admin-theme-color-darker-10: var(--pink-dark);
}
body.wp-admin h1, body.wp-admin h2, body.wp-admin h3 {
  font-family: "Muller Narrow", sans-serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
}
body.wp-admin a,
body.wp-admin .wrap .page-title-action, body.wp-admin.wp-core-ui .button {
  color: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
body.wp-admin a:focus, body.wp-admin a:hover,
body.wp-admin .wrap .page-title-action:focus,
body.wp-admin .wrap .page-title-action:hover, body.wp-admin.wp-core-ui .button:focus, body.wp-admin.wp-core-ui .button:hover {
  color: var(--pink-dark);
  border-color: var(--pink-dark);
}
body.wp-admin.wp-core-ui .button {
  background-color: white;
}
body.wp-admin #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu {
  background-color: var(--cfx-pink);
}
body:not(.wp-admin) {
  font-size: 16.5px;
  line-height: 1.5;
  color: black;
}
@media screen and (min-width: 768px) {
  body:not(.wp-admin) {
    font-size: 22px;
  }
}
body:not(.wp-admin) h1, body:not(.wp-admin) .h1 {
  margin: 1rem 0;
  font-family: "Muller Narrow", sans-serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
  font-size: var(--font-large-heading);
  line-height: 1;
}
body:not(.wp-admin) h2, body:not(.wp-admin) .h2 {
  margin: 1rem 0;
  font-family: "Muller Narrow", sans-serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
  font-size: 45.75px;
  line-height: 1.03;
}
@media screen and (min-width: 768px) {
  body:not(.wp-admin) h2, body:not(.wp-admin) .h2 {
    font-size: 61px;
  }
}
body:not(.wp-admin) h3, body:not(.wp-admin) .h3 {
  margin: 1rem 0;
  font-family: "Muller Narrow", sans-serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
  line-height: 1.14;
  font-size: var(--font-small-heading);
}
body:not(.wp-admin) h1 sup, body:not(.wp-admin) h2 sup, body:not(.wp-admin) h3 sup {
  font-size: 0.7em;
}
body:not(.wp-admin) .small {
  font-size: var(--font-small);
}
body:not(.wp-admin) .mice {
  font-size: 14px;
}
body:not(.wp-admin) .highlight {
  background-color: var(--cfx-pink);
  color: white !important;
}
body:not(.wp-admin) .button, body:not(.wp-admin) .button-wrap a {
  display: inline-flex;
  place-items: center;
  min-width: 250px;
  padding: 9.75px 31.5px;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  border-radius: 40px;
  border: 1px solid;
  transition: 0.15s;
  cursor: pointer;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  body:not(.wp-admin) .button, body:not(.wp-admin) .button-wrap a {
    padding: 13px 42px;
  }
}
body:not(.wp-admin) table {
  font-size: var(--font-small);
  border-spacing: 0;
}
body:not(.wp-admin) table tbody tr th, body:not(.wp-admin) table tbody tr td {
  border-top: 1px solid var(--grey);
}
body:not(.wp-admin) table th, body:not(.wp-admin) table td {
  padding: 1rem;
  vertical-align: top;
}
body:not(.wp-admin) table th {
  text-align: left;
  font-weight: 900;
}
body:not(.wp-admin) table td:first-child {
  font-weight: 900;
}

.simple-swiper {
  display: flex;
  gap: var(--padding);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  max-width: var(--max-width);
  margin: 0 auto;
}
@container (min-width: 768px) {
  .simple-swiper {
    gap: 2rem;
  }
}
.simple-swiper::before, .simple-swiper::after {
  content: "";
  scroll-snap-align: start;
  display: block;
  padding-left: calc(var(--padding) - 2rem);
}
.simple-swiper > * {
  scroll-snap-align: start;
}

.nav-shortcuts a {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 100000;
  padding: 10px 20px;
  font-weight: bold;
  color: #000;
  background-color: #fff;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.15);
  transform: translate3d(-50%, -200%, 0);
}
.nav-shortcuts a:focus {
  transform: translate3d(-50%, 0, 0);
}

header {
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: white;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.15);
}
header .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
@media screen and (min-width: 1070px) {
  header .wrap {
    grid-column-gap: 2rem;
  }
}
header .logo img {
  width: 73px;
  margin: 1rem 0;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1070px) {
  header .logo img {
    width: auto;
  }
}
header button {
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
}
@media screen and (min-width: 1070px) {
  header button {
    display: none;
  }
}
header .navs {
  display: none;
}
@media screen and (min-width: 1070px) {
  header .navs {
    display: grid;
    width: 100%;
  }
}
header .navs.open {
  display: flex;
  flex-direction: column;
  padding: 6rem 20px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
}
@media screen and (min-width: 1070px) {
  header .navs.open {
    position: static;
    padding: 0;
  }
}
header .navs button {
  position: absolute;
  top: 0;
  right: 0;
  padding: var(--padding);
  font-size: 2rem;
  line-height: 0.8;
  z-index: 10;
}
header .navs button::before {
  content: "";
  display: block;
  width: 25px;
  height: 27px;
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzEiIHZpZXdCb3g9IjAgMCAzMCAzMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuMjg5NTUgMjguNUwyNy4yNTAxIDEuOTk5MDQiIHN0cm9rZT0iI0Q2MDA4MSIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTI3LjI1IDI4LjQ4NjhMMi4yODk0NSAxLjk4NTg1IiBzdHJva2U9IiMyNjIyNjIiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=) center no-repeat;
}
header .navs .main-menu {
  color: var(--cfx-blue);
  font-weight: bold;
}
header .navs .main-menu .menu-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
header .navs .main-menu .menu-item a {
  font-size: 22px;
}
header .navs .main-menu .menu-item .submenu-button img {
  transform: rotate(-90deg);
}
header .navs .main-menu .menu-item-has-children > a.touched + .sub-menu {
  left: 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
@media only screen and (min-width: 1070px) {
  header .navs .main-menu .menu-item-has-children > a.touched + .sub-menu {
    left: unset;
    clip-path: unset;
  }
}
header .navs .main-menu ul {
  grid-gap: 2rem;
}
@media screen and (min-width: 1070px) {
  header .navs .main-menu .menu-item {
    align-items: unset;
  }
  header .navs .main-menu .menu-item-has-children {
    display: grid;
  }
  header .navs .main-menu .menu-item-has-children .submenu-button {
    display: none;
  }
  header .navs .main-menu .menu-item-has-children:focus-within .sub-menu, header .navs .main-menu .menu-item-has-children:hover .sub-menu {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
  header .navs .main-menu .menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 0.7em;
    margin-left: 0.5ch;
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyMCAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwIDEuODg3NjlMMTAgMTEuODg3N0wtNC4zNzExNGUtMDcgMS44ODc3TDEuNzc1IDAuMTEyNjk1TDEwIDguMzM3NjlMMTguMjI1IDAuMTEyNjk0TDIwIDEuODg3NjlaIiBmaWxsPSIjMjYyMjYyIi8+Cjwvc3ZnPgo=) center no-repeat;
    transform: unset;
  }
}
header .navs .main-menu .sub-menu {
  font-size: 22px;
  font-weight: 500;
  position: absolute;
  z-index: 9;
  top: 0;
  left: 100%;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 0 0, 0% 0, 0% 0);
  transition: 0.3s;
  background: white;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 6rem 20px;
}
header .navs .main-menu .sub-menu .submenu-back {
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}
header .navs .main-menu .sub-menu .submenu-back img {
  transform: rotate(90deg);
}
@media screen and (min-width: 1070px) {
  header .navs .main-menu .sub-menu {
    top: unset;
    left: unset;
    width: unset;
    height: unset;
    font-size: var(--font-small);
    position: absolute;
    z-index: 9;
    grid-auto-flow: row;
    grid-gap: 0.5em;
    margin: 1.6em 0 0 -1em;
    padding: 1em;
    text-align: left;
    background-color: white;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0% 0);
    transition: 0.15s;
    display: grid;
  }
  header .navs .main-menu .sub-menu .menu-item a {
    font-size: var(--font-small);
  }
  header .navs .main-menu .sub-menu .submenu-back {
    display: none;
  }
}
header .navs .aux-menu {
  font-size: 18px;
  font-weight: 500;
  color: #5E5E5E;
}
@media screen and (min-width: 1070px) {
  header .navs .aux-menu {
    font-size: var(--font-small);
    grid-row: 1;
  }
  header .navs .aux-menu::after {
    content: "";
    display: block;
    height: 1px;
    background: linear-gradient(270deg, #505050 0%, white 100%);
  }
}
header .navs ul {
  display: grid;
  grid-gap: 1rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1070px) {
  header .navs ul {
    align-items: center;
    grid-auto-flow: column;
    grid-gap: 3rem;
    justify-content: flex-end;
    text-align: center;
  }
}
header .navs ul li:not(.button-wrap).current-menu-item > a {
  color: var(--cfx-pink);
}
header .navs ul li:not(.button-wrap) a {
  color: inherit;
  text-decoration: none;
}
header .navs ul li:not(.button-wrap) a:focus, header .navs ul li:not(.button-wrap) a:hover {
  text-decoration: underline;
}
header .navs .button-wrap a {
  color: white;
  background-color: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
header .navs .button-wrap a:focus, header .navs .button-wrap a:hover {
  color: var(--cfx-pink);
  background-color: white;
}

.loading-spinner-container {
  display: none;
}

.loading .loading-spinner-container {
  display: block;
  position: relative;
  width: 35px;
  height: 35px;
  z-index: 1000;
}
.loading .loading-spinner-container::after {
  content: "";
  display: block;
  height: 25px;
  width: 25px;
  border: 5px solid black;
  border-radius: 50%;
  border-left-color: transparent;
  border-right-color: transparent;
  animation: load 1s linear infinite;
}
@keyframes load {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.search-container {
  position: relative;
}
.search-container input {
  padding: 10px 40px 10px 10px;
  border: 1px solid var(--grey-light);
  width: 100%;
  height: 50px;
  position: relative;
  background: transparent;
  color: var(--cfx-blue);
  z-index: 2;
  font-size: 0.8em;
  font-family: "DM Sans", sans-serif;
}
.search-container input::-moz-placeholder {
  color: var(--cfx-blue);
}
.search-container input::placeholder {
  color: var(--cfx-blue);
}
.search-container .icon {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
}
.search-container .icon svg path {
  stroke: var(--cfx-blue);
}
.search-container .loading-spinner-container {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
}

.auth-section {
  margin: 4rem 0;
}
.auth-section .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
.auth-section .wrap #auth-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.auth-section .wrap #auth-container .form {
  padding: 2rem;
  border-radius: 30px;
  background: var(--grey-light);
}
.auth-section .wrap #auth-container .form h3 {
  color: var(--cfx-blue);
  margin-bottom: 1.5rem;
  margin-top: 0;
}
.auth-section .wrap #auth-container .form form {
  display: flex;
  flex-direction: column;
}
.auth-section .wrap #auth-container .form form label {
  font-size: 0.8em;
}
.auth-section .wrap #auth-container .form form input[type=text], .auth-section .wrap #auth-container .form form input[type=password], .auth-section .wrap #auth-container .form form input[type=email] {
  margin-bottom: 1.5rem;
  height: 35px;
  max-width: 450px;
  min-width: 400px;
  width: 100%;
  border: 1px solid #CDCDCD;
}
.auth-section .wrap #auth-container .form form input[type=checkbox] {
  border: 1px solid #CDCDCD;
}
.auth-section .wrap #auth-container .form form .remember {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 1.5rem;
}
.auth-section .wrap #auth-container .form form button {
  color: white;
  background-color: var(--cfx-pink);
  border-color: var(--cfx-pink);
  width: -moz-max-content;
  width: max-content;
  padding: 0.5rem 3rem;
  font-size: 1em;
}
.auth-section .wrap #auth-container .form form button:focus, .auth-section .wrap #auth-container .form form button:hover {
  color: var(--cfx-pink);
  background-color: white;
}
.auth-section .wrap #auth-container .form form .flex {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.auth-section .wrap #auth-container .form form .flex .toggle {
  font-weight: bold;
  font-size: 0.8em;
}
.auth-section .wrap #auth-container .form form .error {
  color: var(--cfx-blue);
  font-size: 0.6em;
  margin-top: 1.5rem;
}
.auth-section .wrap #auth-container .form form .success {
  color: var(--cfx-green);
  font-size: 0.6em;
  margin-top: 1.5rem;
  font-weight: bold;
}
@container (max-width: 500px) {
  .auth-section .wrap #auth-container .form form input:not(input[type=checkbox]) {
    min-width: 200px;
  }
}
.auth-section .wrap #auth-container .form .toggle {
  color: var(--cfx-blue);
  font-size: 0.5em;
  cursor: pointer;
  text-decoration: underline;
}
.auth-section .wrap #auth-container .form .toggle:hover {
  text-decoration: none;
}

section.buy-callout {
  margin: 100px 0 60px;
}
@container (min-width: 1400px) {
  section.buy-callout .container {
    display: grid;
  }
  section.buy-callout .container::before {
    grid-area: 1/1;
    content: "";
    display: block;
    width: 100%;
    height: 78%;
    background: linear-gradient(180deg, rgba(247, 248, 247, 0.12) 0%, rgba(166, 166, 166, 0.2) 100%);
    filter: blur(10px);
  }
}
section.buy-callout .wrap {
  position: relative;
  z-index: 2;
}
@container (min-width: 1400px) {
  section.buy-callout .wrap {
    grid-area: 1/1;
    display: grid;
    grid-template-columns: auto 780px;
    grid-gap: 2rem;
    max-width: var(--max-width);
    margin: 0 auto;
    padding-left: var(--padding);
    padding-right: var(--padding);
  }
}
section.buy-callout .image {
  display: grid;
  justify-items: center;
  max-width: 780px;
  margin: 0 auto;
  padding-inline: 20px;
}
@container (min-width: 1400px) {
  section.buy-callout .image {
    order: 1;
  }
}
section.buy-callout .content {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  text-align: center;
}
@container (min-width: 1400px) {
  section.buy-callout .content {
    padding: 0;
    text-align: left;
  }
}
section.buy-callout .content h2 {
  color: var(--cfx-blue);
}
section.buy-callout .content .button {
  color: white;
  background-color: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
section.buy-callout .content .button:focus, section.buy-callout .content .button:hover {
  color: var(--cfx-pink);
  background-color: white;
}
@media only screen and (max-width: 767px) {
  section.buy-callout {
    margin: 60px 0;
  }
}

section.compare {
  text-align: center;
  color: var(--cfx-blue);
  --border: 1px solid #B6B6B6;
}
@media screen and (min-width: 1400px) {
  section.compare {
    display: grid;
  }
  section.compare .bg, section.compare .wrap {
    grid-area: 1/1;
  }
  section.compare .bg {
    display: grid;
    margin-bottom: -390px;
    background-color: var(--grey);
    background: linear-gradient(180deg, var(--grey) 50%, white 100%);
  }
  section.compare .bg::before, section.compare .bg::after {
    grid-area: 1/1;
    content: "";
    clip-path: polygon(500px 0%, 100% 0, 100% 100%, 500px 100%, 0% 50%);
    transition: 1s;
  }
  section.compare .bg::before {
    background-color: var(--grey-dark);
    background: linear-gradient(0deg, var(--grey-dark) 50%, white 100%);
    transform: rotateZ(180deg) translateX(2200px);
  }
  section.compare .bg::after {
    background-color: rgba(247, 248, 247, 0.6);
    background: linear-gradient(0deg, var(--grey-light) 50%, white 100%);
    transform: rotateZ(180deg) translateX(3000px);
  }
  section.compare .wrap {
    z-index: 1;
  }
}
@media screen and (min-width: 1400px) {
  section.compare.active .bg::before {
    transform: rotateZ(180deg) translateX(200px);
  }
  section.compare.active .bg::after {
    transform: rotateZ(180deg) translateX(1000px);
  }
}
section.compare .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  margin-top: 3rem;
}
@container (min-width: 1024px) {
  section.compare .items {
    display: grid;
    grid-template-columns: 400px 1fr 1fr;
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
    margin: 3rem 0;
  }
}
section.compare .legend {
  display: none;
}
@container (min-width: 1024px) {
  section.compare .legend {
    display: contents;
    text-align: left;
  }
  section.compare .legend::before, section.compare .legend::after {
    content: "";
  }
  section.compare .legend strong {
    display: grid;
    align-items: center;
    height: 100%;
    border-bottom: var(--border);
  }
  section.compare .legend strong:first-child {
    border-top: var(--border);
  }
}
section.compare article {
  margin: 5rem 0;
}
@container (min-width: 1024px) {
  section.compare article {
    display: contents;
  }
}
section.compare img {
  width: 90px;
  box-shadow: 0px 30px 50px 0px rgba(0, 0, 0, 0.3);
}
@container (min-width: 1024px) {
  section.compare img {
    width: 120px;
  }
}
section.compare h3 {
  margin: 2rem 0;
}
@container (min-width: 1024px) {
  section.compare h3 {
    padding: 0 1rem;
  }
}
@container (min-width: 1024px) {
  section.compare .title + .detail {
    border-top: var(--border);
  }
}
section.compare .detail {
  padding: 1rem 0;
  text-align: left;
  border-bottom: var(--border);
}
@container (min-width: 1024px) {
  section.compare .detail {
    display: grid;
    align-items: center;
    height: 100%;
    padding: 1rem;
    text-align: center;
  }
}
section.compare .detail p {
  font-size: var(--font-small);
}
section.compare .detail:last-of-type {
  border-bottom: none;
}
@container (min-width: 1024px) {
  section.compare .detail:last-of-type {
    border-bottom: var(--border);
  }
}
section.compare h4, section.compare p {
  margin: 0.5rem 0;
}
@container (min-width: 1024px) {
  section.compare h4 {
    position: absolute;
    font-size: 0;
  }
}
section.compare .button {
  justify-self: center;
  margin: 2rem 0;
  color: white;
  background-color: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
section.compare .button:focus, section.compare .button:hover {
  color: var(--cfx-pink);
  background-color: white;
}

section.copy-icons {
  margin: 5rem 0;
  overflow: hidden;
}
section.copy-icons .wrap {
  display: grid;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
@container (min-width: 1024px) {
  section.copy-icons .wrap {
    grid-template-columns: 4fr 5fr;
    grid-gap: 2rem;
  }
}
section.copy-icons h2 {
  color: var(--cfx-blue);
  margin-top: 0;
}
section.copy-icons .button {
  color: white;
  background-color: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
section.copy-icons .button:focus, section.copy-icons .button:hover {
  color: var(--cfx-pink);
  background-color: white;
}
section.copy-icons ul {
  display: grid;
  gap: 1rem;
  margin: 2rem 0;
  padding: 0;
  list-style: none;
  color: var(--cfx-pink);
}
@container (min-width: 500px) {
  section.copy-icons ul {
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
  }
}
section.copy-icons ul li {
  display: flex;
  gap: 1rem;
  align-items: center;
}
section.copy-icons .mice {
  color: var(--cfx-blue);
}
@media only screen and (min-width: 768px) {
  section.copy-icons .mice p br {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  section.copy-icons {
    margin: 2rem 0;
  }
}

section.featured-testimonials {
  display: grid;
  position: relative;
  width: 100%;
  grid-template-columns: 1fr;
  overflow: hidden;
  background-color: var(--cfx-blue);
}
section.featured-testimonials .bg-img-container {
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0.8;
  z-index: 1;
}
section.featured-testimonials .bg-img-container img {
  width: 100%;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top right;
     object-position: top right;
}
section.featured-testimonials .content {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-block: 120px 60px;
  width: 100%;
  height: -moz-max-content;
  height: max-content;
  grid-area: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 40px;
  min-width: 0;
  z-index: 2;
}
section.featured-testimonials .content h2 {
  max-width: 540px;
  margin: 0;
  font-size: var(--font-large-heading);
  color: white;
  filter: drop-shadow(1px 1px 1px rgb(0, 0, 0));
}
section.featured-testimonials .content .items blockquote {
  display: grid;
  grid-template-rows: auto auto 1fr;
  padding: 2rem 2.5rem 2.5rem;
  text-align: center;
  color: var(--cfx-blue);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  min-width: 300px;
  margin: 0;
  max-width: 400px;
  width: calc(100vw - 80px);
  height: auto;
}
section.featured-testimonials .content .items blockquote h3 {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: 900;
  text-transform: none;
  text-align: center;
  position: relative;
  display: inline-block;
  margin: auto;
}
section.featured-testimonials .content .items blockquote h3::before {
  content: "";
  width: 18px;
  height: 18px;
  margin-right: 0.5rem;
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjQ4NjMgMy42NDc4N0wxMC4yMTAyIDBIMS4zOTU2M0w5LjA3ODE4IDguNTU2NEwwLjU5ODYzMyAxOEg5LjQxMzJMMTMuNDg2MyAxMy40NjM0TDE3Ljg5MjcgOC41NTY0TDEzLjQ4NjMgMy42NDc4N1oiIGZpbGw9IiNFQzAwOEMiLz4KPC9zdmc+Cg==) no-repeat;
  position: absolute;
  left: -15px;
  top: 50%;
  transform: translate(-100%, -50%);
}
section.featured-testimonials .content .items blockquote p {
  font-style: italic;
  font-size: 18px;
  line-height: 28px;
  font-weight: 400;
}
section.featured-testimonials .content .items blockquote cite {
  align-self: flex-end;
  font-size: var(--font-small);
  font-style: normal;
  color: #5E5E5E;
}
section.featured-testimonials .content .pagination-container {
  width: 100%;
}
section.featured-testimonials .content .pagination-container:has(.swiper-pagination-lock) {
  display: none;
}
section.featured-testimonials .content .pagination-container .featured-testimonials-swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
}
section.featured-testimonials .content .pagination-container .featured-testimonials-swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border: 2px solid white;
  opacity: 1 !important;
  background: transparent;
  transition: 0.3s;
}
section.featured-testimonials .content .pagination-container .featured-testimonials-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: white;
}
@media only screen and (min-width: 1200px) {
  section.featured-testimonials .bg-img-container {
    max-height: 1000px;
  }
}
@media only screen and (max-width: 767px) {
  section.featured-testimonials .bg-img-container img {
    -o-object-position: 70% 0%;
       object-position: 70% 0%;
  }
  section.featured-testimonials .content {
    padding-block: 60px 40px;
  }
  section.featured-testimonials .content .items blockquote {
    min-width: unset;
    width: calc(100vw - 60px);
  }
}

section.hero {
  color: white;
  background-color: var(--pink);
  display: grid;
  grid-template-columns: 1fr minmax(0, var(--max-width)) 1fr;
}
section.hero::before, section.hero::after {
  content: "";
  display: block;
  clip-path: polygon(var(--angle-size) 0, 100% 0, 100% 100%, 0 100%, 0% calc(var(--angle-size) * 1.3));
}
section.hero::before {
  grid-area: 1/1/span 1/span 2;
  z-index: 1;
  transform: rotateY(180deg);
}
section.hero::after {
  grid-area: 1/2/span 1/span 2;
}
section.hero .wrap {
  grid-area: 1/2;
  z-index: 2;
  width: 100%;
}
section.hero::before {
  background-color: var(--pink-light);
}
section.hero::after {
  background-color: var(--pink-dark);
}
section.hero .wrap {
  display: grid;
  min-height: 270px;
}
@container (min-width: 1024px) {
  section.hero .wrap {
    grid-template-columns: 1fr auto;
    grid-gap: 2rem;
    max-width: var(--max-width);
    margin: 0 auto;
    padding-left: var(--padding);
    padding-right: var(--padding);
    min-height: 325px;
  }
}
section.hero .content {
  align-self: center;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
section.hero .content .paragraph {
  font-family: "DM Sans", sans-serif;
  font-size: 16.5px;
  line-height: 1.5;
  color: white;
  font-weight: normal;
  text-transform: none !important;
}
@media screen and (min-width: 768px) {
  section.hero .content .paragraph {
    font-size: 22px;
  }
}
@container (min-width: 1024px) {
  section.hero .content {
    margin: 0;
    padding: 0;
  }
}
section.hero .buttons {
  display: grid;
  grid-template-columns: repeat(auto-fill, 250px);
  grid-gap: 1rem;
  margin: 2rem 0;
}
section.hero .buttons .button:first-child {
  color: white;
  background-color: var(--cfx-blue);
  border-color: var(--cfx-blue);
}
section.hero .buttons .button:first-child:focus, section.hero .buttons .button:first-child:hover {
  color: var(--cfx-blue);
  background-color: white;
  border-color: white;
}
section.hero .buttons .button:nth-child(2) {
  color: var(--cfx-blue);
  background-color: white;
  border-color: white;
}
section.hero .buttons .button:nth-child(2):focus, section.hero .buttons .button:nth-child(2):hover {
  color: white;
  background-color: var(--cfx-blue);
  border-color: var(--cfx-blue);
}
section.hero .images {
  grid-area: 2/1;
  display: grid;
}
@container (min-width: 1024px) {
  section.hero .images {
    grid-area: 1/2;
    justify-self: flex-end;
    align-self: flex-end;
    width: 426px;
    padding-top: 2rem;
  }
}
section.hero .images > * {
  display: none;
}
section.hero .images .show {
  display: grid;
  margin: auto;
}
section.hero .badge {
  grid-area: 2/1;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 1rem;
  justify-items: flex-end;
  align-items: flex-end;
  width: 100%;
  margin: 0 auto;
  padding: 1rem;
}
@container (min-width: 1024px) {
  section.hero .badge {
    grid-area: 1/2;
    justify-self: flex-end;
    margin: 0;
  }
}
section.hero .badge img {
  width: 70px;
}
@container (min-width: 1024px) {
  section.hero .badge img {
    width: 103px;
  }
}
section.hero .image img {
  box-shadow: 1px 1px 30px rgba(0, 0, 0, 0.2);
}
section.hero.home .badge, section.hero.product .badge {
  max-width: 426px;
}
@container (min-width: 1024px) {
  section.hero.home .badge, section.hero.product .badge {
    justify-items: flex-start;
  }
}
@container (min-width: 1024px) {
  section.hero.home .badge img, section.hero.product .badge img {
    transform: translateX(-4rem);
  }
}
section.hero.home .badge .mice, section.hero.product .badge .mice {
  justify-self: flex-end;
}
@container (min-width: 1024px) {
  section.hero.home .content {
    max-width: 700px;
  }
}
section.hero.product .buttons {
  grid-template-columns: repeat(auto-fill, 300px);
}
@container (min-width: 1024px) {
  section.hero.product .mice {
    transform: translateX(-313px);
  }
}

.hero + section.product-lineup {
  background-color: var(--grey);
}
.hero + section.product-lineup::before {
  grid-row: 1/span 2;
  background-color: var(--grey-dark);
}
.hero + section.product-lineup::after {
  grid-row: 1/span 2;
  background-color: var(--grey-dark);
}

.compare + section.product-lineup {
  background-color: var(--grey);
}
@media screen and (min-width: 1400px) {
  .compare + section.product-lineup {
    background-color: transparent;
  }
}

section.product-lineup {
  display: grid;
  grid-template-columns: 1fr minmax(0, var(--max-width)) 1fr;
  overflow: hidden;
}
section.product-lineup::before, section.product-lineup::after {
  content: "";
  display: block;
  clip-path: polygon(var(--angle-size) 0, 100% 0, 100% 100%, 0 100%, 0% calc(var(--angle-size) * 1.3));
}
section.product-lineup::before {
  grid-area: 1/1/span 1/span 2;
  z-index: 1;
  transform: rotateY(180deg);
}
section.product-lineup::after {
  grid-area: 1/2/span 1/span 2;
}
section.product-lineup .wrap {
  grid-area: 1/2;
  z-index: 2;
  width: 100%;
}
section.product-lineup::before, section.product-lineup::after {
  opacity: 0;
  transition: 1s ease-in-out;
}
section.product-lineup::before {
  transform: rotateY(180deg) translateX(500px);
}
section.product-lineup::after {
  transform: translateX(500px);
}
section.product-lineup.active::before, section.product-lineup.active::after {
  opacity: 1;
}
section.product-lineup.active::before {
  transform: rotateY(180deg) translateX(0);
}
section.product-lineup.active::after {
  transform: translateX(0);
}
section.product-lineup .image {
  grid-area: 1/1/span 1/span 3;
  display: grid;
  justify-items: center;
  z-index: 2;
  padding-top: 3rem;
  padding-inline: 20px;
}
section.product-lineup .image .container {
  display: grid;
  justify-items: center;
}
section.product-lineup .image img {
  grid-area: 1/1;
  position: relative;
}
section.product-lineup .image img.badge {
  justify-self: flex-start;
  top: 12%;
  max-width: 12%;
}
section.product-lineup .image img.products {
  max-width: 82%;
}
section.product-lineup .image::before, section.product-lineup .image img {
  grid-area: 1/1;
}
section.product-lineup .image::before {
  content: "";
  display: block;
  width: 100%;
  height: 78%;
  background: linear-gradient(180deg, rgba(247, 248, 247, 0.12) 0%, rgba(166, 166, 166, 0.2) 100%);
  filter: blur(10px);
}
section.product-lineup .wrap {
  display: grid;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  grid-row: 2;
  padding-bottom: 5rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  section.product-lineup .wrap {
    padding-bottom: 3rem;
    padding-inline: 0;
  }
}
section.product-lineup h2, section.product-lineup h3 {
  color: var(--cfx-blue);
}
section.product-lineup h2 {
  margin-bottom: 0;
}
section.product-lineup .copy {
  margin-bottom: 1rem;
}
section.product-lineup .copy p {
  display: inline-block;
}
section.product-lineup .copy a {
  margin-left: 10px;
  font-size: var(--font-small);
  font-weight: bold;
  color: var(--cfx-pink);
  white-space: nowrap;
}
section.product-lineup .copy a::after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 17px;
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAyMSAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2LjY3MiA3LjQ4NUwxMC42MDEgMS40MTRMMTIuMDE1IDBMMjAuNSA4LjQ4NUwxOS43OTMgOS4xOTJMMTIuMDE1IDE2Ljk3TDEwLjYwMSAxNS41NTZMMTYuNjcyIDkuNDg1SDAuNVY3LjQ4NUgxNi42NzJaIiBmaWxsPSIjRUMwMDhDIi8+Cjwvc3ZnPgo=) no-repeat;
  transition: transform 0.15s;
}
section.product-lineup .copy a:focus::after, section.product-lineup .copy a:hover::after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 17px;
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAyMSAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2LjY3MiA3LjQ4NUwxMC42MDEgMS40MTRMMTIuMDE1IDBMMjAuNSA4LjQ4NUwxOS43OTMgOS4xOTJMMTIuMDE1IDE2Ljk3TDEwLjYwMSAxNS41NTZMMTYuNjcyIDkuNDg1SDAuNVY3LjQ4NUgxNi42NzJaIiBmaWxsPSIjRUMwMDhDIi8+Cjwvc3ZnPgo=) no-repeat;
  transform: translateX(5px);
}
section.product-lineup .items {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 2rem;
}
@container (min-width: 900px) {
  section.product-lineup .items {
    grid-template-columns: 1fr 1fr;
  }
}
@container (min-width: 1440px) {
  section.product-lineup .items {
    grid-template-columns: repeat(4, 1fr);
  }
}
section.product-lineup article {
  display: grid;
  grid-template-rows: auto auto 1fr;
}
section.product-lineup article h3 {
  margin-bottom: 0;
}
section.product-lineup article p {
  font-size: var(--font-small);
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 630px) {
  section.product-lineup article p {
    max-width: 250px;
  }
}
section.product-lineup article .button {
  justify-self: center;
  align-self: flex-end;
  color: var(--cfx-pink);
  background-color: white;
  border-color: var(--cfx-pink);
  max-width: 100%;
}
section.product-lineup article .button:focus, section.product-lineup article .button:hover {
  color: white;
  background-color: var(--cfx-pink);
}

section.hero.product .image {
  display: none;
}
@container (min-width: 1024px) {
  section.hero.product .image {
    display: grid;
    grid-area: 1/2;
    margin-bottom: -6rem;
    padding-top: 3rem;
  }
}
section.hero.product .badge {
  display: none;
}
@container (min-width: 1024px) {
  section.hero.product .badge {
    display: grid;
  }
}

section.product-features {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
section.product-features h2 {
  font-size: var(--font-small-heading);
}
section.product-features ul {
  display: grid;
  grid-gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  margin: 3rem 0;
  padding: 0;
  list-style: none;
}
section.product-features ul li {
  text-align: center;
}
section.product-features ul li h3 {
  color: var(--cfx-blue);
}
section.product-features ul li p {
  color: #333;
}
section.product-features::after {
  content: "";
  display: block;
  margin-bottom: 3rem;
  border-top: 1px solid #B6B6B6;
}

section.product-copy {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
section.product-copy h2 {
  font-size: var(--font-small-heading);
  color: var(--cfx-pink);
}
section.product-copy p, section.product-copy li {
  color: var(--cfx-blue);
}

div.product-bg {
  padding-top: 6rem;
  padding-bottom: 4rem;
  position: relative;
  background: #EBEBEB;
}
@media only screen and (max-width: 767px) {
  div.product-bg {
    padding-top: 0rem;
    padding-bottom: 2rem;
  }
}
div.product-bg section {
  position: relative;
  z-index: 2;
}
div.product-bg::before, div.product-bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  clip-path: polygon(var(--angle-size) 0, 100% 0, 100% 100%, 0 100%, 0% calc(var(--angle-size) * 1.3));
  opacity: 0;
  transition: 1s ease-in-out;
}
div.product-bg::before {
  background-color: #E7E7E7;
  transform: rotateY(180deg) translateX(500px);
}
div.product-bg::after {
  background-color: var(--grey-light);
  transform: translateX(500px);
}
div.product-bg.active::before, div.product-bg.active::after {
  opacity: 1;
}
div.product-bg.active::before {
  transform: rotateY(180deg) translateX(0);
}
div.product-bg.active::after {
  transform: translateX(0);
}

section.social {
  margin: 3rem 0 0;
  padding-bottom: 3rem;
  overflow: hidden;
}
section.social .pre-content .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
section.social .pre-content .wrap h2 {
  font-size: var(--font-small-heading);
  color: var(--cfx-blue);
}
section.social .pre-content .wrap .social-links {
  display: flex;
  gap: 3rem;
  align-items: center;
  padding: 0;
  list-style: none;
}
section.social .pre-content .wrap .social-links a {
  display: block;
  transition: transform 0.15s;
}
section.social .pre-content .wrap .social-links a:focus, section.social .pre-content .wrap .social-links a:hover {
  transform: scale(1.2);
}
@container (min-width: 1024px) {
  section.social .pre-content .wrap {
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
section.social .social-swiper {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
section.social .social-swiper .swiper-wrapper .swiper-slide {
  max-width: 320px;
  width: calc(100vw - 80px);
  position: relative;
}
section.social .social-swiper .swiper-wrapper .swiper-slide iframe {
  min-width: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  z-index: 9 !important;
}
section.social .social-swiper .swiper-wrapper .swiper-slide .drag-blocker {
  position: absolute;
  inset: 0;
  z-index: 10;
  background: transparent;
  transition: 0.3s;
}
section.social .social-swiper .swiper-wrapper .swiper-slide .drag-blocker h3 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
section.social .social-swiper .swiper-wrapper .swiper-slide:hover .drag-blocker {
  box-shadow: 1px 1px 30px rgba(0, 0, 0, 0.2);
}
section.social .pagination-container {
  width: 100%;
  margin-top: 30px;
}
section.social .pagination-container:has(.swiper-pagination-lock) {
  display: none;
}
section.social .pagination-container .social-swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
}
section.social .pagination-container .social-swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border: 2px solid var(--cfx-blue);
  opacity: 1 !important;
  background: transparent;
  transition: 0.3s;
}
section.social .pagination-container .social-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--cfx-blue);
}
@media only screen and (max-width: 767px) {
  section.social .social-swiper .swiper-wrapper .swiper-slide {
    width: calc(100vw - 60px);
    max-width: 400px;
  }
}

section.where-to-buy-grid {
  display: grid;
  grid-template-columns: 1fr minmax(0, var(--max-width)) 1fr;
  background-color: var(--grey-light);
}
section.where-to-buy-grid::before, section.where-to-buy-grid::after {
  content: "";
  display: block;
  clip-path: polygon(var(--angle-size) 0, 100% 0, 100% 100%, 0 100%, 0% calc(var(--angle-size) * 1.3));
}
section.where-to-buy-grid::before {
  grid-area: 1/1/span 1/span 2;
  z-index: 1;
  transform: rotateY(180deg);
}
section.where-to-buy-grid::after {
  grid-area: 1/2/span 1/span 2;
}
section.where-to-buy-grid .wrap {
  grid-area: 1/2;
  z-index: 2;
  width: 100%;
}
section.where-to-buy-grid::before, section.where-to-buy-grid::after {
  opacity: 0;
  transition: 1s ease-in-out;
}
section.where-to-buy-grid::before {
  grid-row: 1/span 2;
  background-color: var(--grey-dark);
  transform: rotateY(180deg) translateX(500px);
}
section.where-to-buy-grid::after {
  grid-row: 1/span 2;
  background-color: var(--grey);
  z-index: 5;
  transform: translateX(500px);
}
section.where-to-buy-grid.active::before, section.where-to-buy-grid.active::after {
  opacity: 1;
}
section.where-to-buy-grid.active::before {
  transform: rotateY(180deg) translateX(0);
}
section.where-to-buy-grid.active::after {
  transform: translateX(0);
}
section.where-to-buy-grid .wrap {
  padding: 4rem 0;
  position: relative;
  z-index: 6;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  section.where-to-buy-grid .wrap {
    padding-bottom: 3rem;
    padding-top: 2rem;
  }
}
section.where-to-buy-grid .wrap h2 {
  text-align: center;
  margin-top: 0;
  margin-bottom: 3rem;
  color: var(--cfx-blue);
}
section.where-to-buy-grid .wrap .locations {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}
section.where-to-buy-grid .wrap .locations .location {
  background-color: white;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
}
section.where-to-buy-grid .wrap .locations .location h3 {
  text-align: center;
  margin-top: 0;
  color: var(--cfx-blue);
}
section.where-to-buy-grid .wrap .locations .location .button {
  color: white;
  background-color: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
section.where-to-buy-grid .wrap .locations .location .button:focus, section.where-to-buy-grid .wrap .locations .location .button:hover {
  color: var(--cfx-pink);
  background-color: white;
}
@container (min-width: 1300px) {
  section.where-to-buy-grid .wrap .locations {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@container (max-width: 631px) {
  section.where-to-buy-grid .wrap .locations .location {
    max-width: 400px;
    margin: 0 auto;
    width: 100%;
  }
}

section.icons {
  margin: 6rem 0;
}
section.icons * {
  color: var(--cfx-blue);
}
section.icons .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
section.icons .wrap h2 {
  text-align: center;
  margin-top: 0;
  margin-bottom: 3rem;
}
section.icons .wrap .items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
section.icons .wrap .items .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
section.icons .wrap .items .item .image {
  max-width: 74px;
  height: auto;
}
section.icons .wrap .items .item h3, section.icons .wrap .items .item p {
  text-align: center;
  margin: 0;
}
section.icons .wrap .items .item h3 {
  max-width: 250px;
}
section.icons .wrap .items .item p {
  font-size: var(--font-small);
}
@container (max-width: 920px) {
  section.icons .wrap .items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@container (max-width: 480px) {
  section.icons .wrap .items {
    grid-template-columns: repeat(1, 1fr);
  }
  section.icons .wrap .items .item {
    max-width: 250px;
    margin: 0 auto;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  section.icons {
    margin: 2rem 0;
  }
  section.icons .wrap h2 {
    margin-bottom: 2rem;
  }
}

section.featured-posts {
  display: grid;
  grid-template-columns: 1fr minmax(0, var(--max-width)) 1fr;
  background-color: var(--grey);
  overflow: hidden;
}
section.featured-posts::before, section.featured-posts::after {
  content: "";
  display: block;
  clip-path: polygon(var(--angle-size) 0, 100% 0, 100% 100%, 0 100%, 0% calc(var(--angle-size) * 1.3));
}
section.featured-posts::before {
  grid-area: 1/1/span 1/span 2;
  z-index: 1;
  transform: rotateY(180deg);
}
section.featured-posts::after {
  grid-area: 1/2/span 1/span 2;
}
section.featured-posts .wrap {
  grid-area: 1/2;
  z-index: 2;
  width: 100%;
}
section.featured-posts::before {
  grid-row: 1/span 2;
  background-color: var(--grey-light);
}
section.featured-posts::after {
  grid-row: 1/span 2;
  background-color: var(--grey-dark);
}
section.featured-posts::before, section.featured-posts::after {
  opacity: 0;
  transition: 1s ease-in-out;
}
section.featured-posts::before {
  transform: rotateY(180deg) translateX(500px);
}
section.featured-posts::after {
  transform: translateX(500px);
}
section.featured-posts.active::before, section.featured-posts.active::after {
  opacity: 1;
}
section.featured-posts.active::before {
  transform: rotateY(180deg) translateX(0);
}
section.featured-posts.active::after {
  transform: translateX(0);
}
section.featured-posts .wrap {
  padding: 4rem 0;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
section.featured-posts .wrap .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  row-gap: 4rem;
}
section.featured-posts .wrap .grid h2 {
  margin-top: 0;
  color: var(--cfx-blue);
}
section.featured-posts .wrap .grid h2.col-3 {
  grid-column: span 3;
  text-align: center;
}
section.featured-posts .wrap .grid .post {
  height: auto;
}
section.featured-posts .wrap .grid .post a {
  text-decoration: none;
  position: relative;
  height: 100%;
  display: block;
}
section.featured-posts .wrap .grid .post a::before {
  content: "";
  position: absolute;
  top: -15px;
  left: -15px;
  right: -15px;
  bottom: -15px;
  border-radius: 20px;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  z-index: -1;
  box-shadow: 1px 1px 30px rgba(0, 0, 0, 0.2);
  opacity: 0;
  background-color: rgba(255, 255, 255, 0.2);
  transition: 0.3s;
}
section.featured-posts .wrap .grid .post a h3 {
  text-decoration: none;
}
section.featured-posts .wrap .grid .post a:hover .image img {
  transform: scale(1.1);
}
section.featured-posts .wrap .grid .post a:hover::before {
  opacity: 1;
}
section.featured-posts .wrap .grid .post.col-2 {
  grid-column: span 2;
}
section.featured-posts .wrap .grid .post .image {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}
section.featured-posts .wrap .grid .post .image::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
section.featured-posts .wrap .grid .post .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
section.featured-posts .wrap .grid .post .content h3 {
  text-decoration: underline;
  font-weight: 600;
  font-family: "DM Sans", sans-serif;
  text-transform: none;
  color: var(--cfx-pink);
}
section.featured-posts .wrap .grid .post .content p {
  text-decoration: none;
  color: var(--cfx-blue);
  margin-bottom: 0;
}
@container (max-width: 1160px) {
  section.featured-posts .wrap .grid {
    grid-template-columns: repeat(2, 1fr);
  }
  section.featured-posts .wrap .grid h2 {
    grid-column: span 2 !important;
  }
  section.featured-posts .wrap .grid .post.col-2 {
    grid-column: span 1;
  }
}
@container (max-width: 767px) {
  section.featured-posts .wrap {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  section.featured-posts .wrap .grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    row-gap: 2rem;
  }
  section.featured-posts .wrap .grid h2 {
    grid-column: span 1 !important;
  }
  section.featured-posts .wrap .grid .post a::before {
    display: none;
  }
  section.featured-posts .wrap .grid .post.col-2 {
    grid-column: span 1;
  }
}

section.support-switcher-container {
  overflow: hidden;
}
section.support-switcher-container .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-block: 60px;
  width: 100%;
  height: -moz-max-content;
  height: max-content;
}
section.support-switcher-container .pre-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
section.support-switcher-container .pre-content * {
  margin: 0;
}
section.support-switcher-container .pre-content h2 {
  color: var(--cfx-blue);
  text-align: center;
}
section.support-switcher-container .pre-content .button-container {
  display: flex;
  justify-content: center;
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%;
  gap: 30px;
  margin: auto;
}
section.support-switcher-container .pre-content .button-container .button {
  background: transparent;
}
section.support-switcher-container .pre-content .button-container .button:nth-child(1) {
  border: 2px solid var(--cfx-pink);
  color: var(--cfx-pink);
}
section.support-switcher-container .pre-content .button-container .button:nth-child(1):hover, section.support-switcher-container .pre-content .button-container .button:nth-child(1).active {
  background: var(--cfx-pink);
  color: white;
}
section.support-switcher-container .pre-content .button-container .button:nth-child(2) {
  border: 2px solid var(--cfx-green);
  color: var(--cfx-green);
}
section.support-switcher-container .pre-content .button-container .button:nth-child(2):hover, section.support-switcher-container .pre-content .button-container .button:nth-child(2).active {
  background: var(--cfx-green);
  color: white;
}
section.support-switcher-container .main-content {
  display: grid;
  position: relative;
  width: 100%;
  grid-template-columns: 1fr;
}
section.support-switcher-container .main-content .bg-img-container {
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: grid;
  background-color: var(--cfx-blue);
}
section.support-switcher-container .main-content .bg-img-container .bg-img {
  grid-area: 1/1;
  width: 100%;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: 1s;
}
section.support-switcher-container .main-content .bg-img-container .bg-img.active {
  opacity: 1;
}
section.support-switcher-container .main-content .bg-img-container .bg-img.mobile {
  display: none;
}
section.support-switcher-container .main-content .wrap {
  grid-area: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 40px;
  padding-top: 120px;
  min-width: 0;
}
section.support-switcher-container .main-content .wrap h3 {
  color: white;
  margin: 0;
  filter: drop-shadow(1px 1px 1px rgb(0, 0, 0));
}
section.support-switcher-container .main-content .wrap .button-container {
  display: flex;
  justify-content: start;
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%;
  gap: 30px;
  margin: 0 auto 0 0;
}
section.support-switcher-container .main-content .wrap .button-container .button {
  min-width: 250px;
  border: 2px solid white;
  color: white;
  background: transparent;
}
section.support-switcher-container .main-content .wrap .button-container .button:nth-child(1):hover, section.support-switcher-container .main-content .wrap .button-container .button:nth-child(1).active {
  background: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
section.support-switcher-container .main-content .wrap .button-container .button:nth-child(2):hover, section.support-switcher-container .main-content .wrap .button-container .button:nth-child(2).active {
  background: var(--cfx-green);
  border-color: var(--cfx-green);
  color: white;
}
section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide {
  opacity: 0;
  transition: 0.3s;
}
section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container {
  list-style: none;
  counter-reset: item;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 30px;
  margin: 0;
  padding: 0;
}
section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container * {
  margin: 0;
  padding: 0;
  color: var(--cfx-blue);
}
section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container .step {
  counter-increment: item;
  background: white;
  display: block;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 20px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  padding: 40px 20px;
}
section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container .step::before {
  content: counter(item) ".";
  font-size: 115px;
  line-height: 85px;
  height: -moz-max-content;
  height: max-content;
  font-family: "Muller Narrow", sans-serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--cfx-pink);
}
section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container .step h4 {
  margin-bottom: 10px;
  max-width: 210px;
}
section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container .step p {
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
}
section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide:nth-child(2) .step-container .step::before {
  color: var(--cfx-green) !important;
}
section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide.swiper-slide-active {
  opacity: 1;
}
@media only screen and (min-width: 1200px) {
  section.support-switcher-container .main-content .bg-img-container {
    max-height: 1000px;
  }
}
@container (max-width: 1199px) {
  section.support-switcher-container .main-content .wrap h3 {
    text-align: center;
  }
  section.support-switcher-container .main-content .wrap .button-container {
    justify-content: center;
    align-items: center;
    margin: auto;
  }
  section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container {
    grid-template-columns: 1fr;
    grid-gap: 40px;
  }
  section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container .step {
    align-items: center;
  }
  section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container .step::before {
    font-size: 100px;
    line-height: 70px;
  }
}
@container (max-width: 767px) {
  section.support-switcher-container .wrap {
    padding-block: 40px !important;
  }
  section.support-switcher-container .button-container {
    flex-direction: column;
    gap: 40px !important;
  }
  section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container .step::before {
    font-size: 85px;
    line-height: 60px;
  }
  section.support-switcher-container .main-content .wrap .support-swiper .swiper-wrapper .swiper-slide .step-container .step p {
    font-size: 14px;
    line-height: 21px;
  }
}
@container (max-width: 500px) {
  section.support-switcher-container .main-content .bg-img-container .bg-img.desktop {
    display: none;
  }
  section.support-switcher-container .main-content .bg-img-container .bg-img.mobile {
    display: block;
  }
}

section.infographic-container {
  overflow: hidden;
  position: relative;
}
section.infographic-container .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-block: 40px;
  width: 100%;
  height: -moz-max-content;
  height: max-content;
}
section.infographic-container .wrap h2 {
  color: var(--cfx-blue);
  text-align: center;
  margin: 0;
  position: relative;
  z-index: 3;
}
section.infographic-container .wrap .info-points-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
section.infographic-container .wrap .info-points-grid::before {
  content: "";
  position: absolute;
  bottom: 50%;
  right: 50%;
  width: 100%;
  height: 200%;
  background-image: linear-gradient(to bottom right, transparent, #EBEBEB, #E7E7E7);
  transform-origin: bottom right;
  transform: rotate(315deg);
  opacity: 0;
  z-index: 2;
  transition: 1s;
}
section.infographic-container .wrap .info-points-grid::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 50%;
  width: 100%;
  height: 200%;
  background-image: linear-gradient(to bottom left, transparent, #EBEBEB, #E7E7E7);
  transform-origin: bottom left;
  transform: rotate(-315deg);
  opacity: 0;
  z-index: 2;
  transition: 1s;
}
section.infographic-container .wrap .info-points-grid .grid-cell {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
section.infographic-container .wrap .info-points-grid .grid-cell * {
  margin: 0;
}
section.infographic-container .wrap .info-points-grid .grid-cell h3 {
  color: var(--cfx-blue);
}
section.infographic-container .wrap .info-points-grid .grid-cell .copy {
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
}
section.infographic-container .wrap .info-points-grid .background-image-container {
  position: relative;
  width: 100%;
  z-index: 1;
}
section.infographic-container .wrap .info-points-grid .background-image-container .background-image {
  width: 100%;
}
section.infographic-container .wrap .info-points-grid .background-image-container .background-image.desktop {
  display: none;
}
section.infographic-container .wrap .info-points-grid .background-image-container .background-image.mobile {
  max-width: 400px;
  display: block;
  margin: auto;
}
section.infographic-container .wrap .info-points-grid.active::before {
  transform: rotate(-45deg);
  opacity: 0.3;
}
section.infographic-container .wrap .info-points-grid.active::after {
  transform: rotate(45deg);
  opacity: 0.3;
}
@container (min-width: 768px) {
  section.infographic-container .wrap .info-points-grid .grid-cell .copy {
    font-size: 18px;
    line-height: 28px;
  }
}
@container (min-width: 1199px) {
  section.infographic-container .wrap {
    padding-block: 60px;
  }
  section.infographic-container .wrap .info-points-grid {
    display: grid;
    grid-template-rows: max-content 1fr 1fr max-content;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    position: relative;
    margin-top: 60px;
  }
  section.infographic-container .wrap .info-points-grid::before {
    opacity: 0.15;
    background-image: linear-gradient(to bottom right, transparent, transparent, transparent, #EBEBEB, #E7E7E7);
    transform: rotate(180deg);
  }
  section.infographic-container .wrap .info-points-grid::after {
    opacity: 0.5;
    transform: rotate(180deg);
    background-image: linear-gradient(to bottom right, transparent, transparent, transparent, #EBEBEB, #E7E7E7);
  }
  section.infographic-container .wrap .info-points-grid .grid-cell::before, section.infographic-container .wrap .info-points-grid .grid-cell::after {
    content: "";
    position: absolute;
    background: var(--cfx-blue);
  }
  section.infographic-container .wrap .info-points-grid .grid-cell::before {
    height: 3px;
  }
  section.infographic-container .wrap .info-points-grid .grid-cell::after {
    width: 3px;
  }
  section.infographic-container .wrap .info-points-grid .grid-cell:nth-child(2) {
    grid-column: 3;
    grid-row: 1;
  }
  section.infographic-container .wrap .info-points-grid .grid-cell:nth-child(2)::before {
    width: 50%;
    left: -10px;
    top: 25px;
    transform: translateX(-100%);
  }
  section.infographic-container .wrap .info-points-grid .grid-cell:nth-child(2)::after {
    height: 106%;
    left: calc(-10px - 50%);
    top: 25px;
    transform: translateX(-100%);
  }
  section.infographic-container .wrap .info-points-grid .grid-cell:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
  }
  section.infographic-container .wrap .info-points-grid .grid-cell:nth-child(3)::before {
    width: 82%;
    left: 25%;
    top: -50%;
  }
  section.infographic-container .wrap .info-points-grid .grid-cell:nth-child(3)::after {
    height: 40%;
    top: -50%;
    left: 25%;
  }
  section.infographic-container .wrap .info-points-grid .grid-cell:nth-child(4) {
    grid-column: 2;
    grid-row: 4;
    padding-right: 50px;
    padding-top: 50px;
  }
  section.infographic-container .wrap .info-points-grid .grid-cell:nth-child(4)::before {
    width: 50px;
    bottom: 50%;
    right: 0;
  }
  section.infographic-container .wrap .info-points-grid .grid-cell:nth-child(4)::after {
    height: 143%;
    right: 0;
    bottom: 50%;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container {
    grid-row: 2/4;
    grid-column: 1/4;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .background-image {
    height: 100%;
    width: auto;
    margin: auto;
    max-width: 75%;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .background-image.mobile {
    display: none;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .background-image.desktop {
    display: block;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .pulses {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 35%;
    height: -moz-max-content;
    height: max-content;
    z-index: 100;
    border-radius: 50%;
    border: 3px solid var(--cfx-blue);
    transform: translate(-50%, -50%);
    box-sizing: border-box;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .pulses::before {
    content: "";
    width: 100%;
    padding-bottom: 100%;
    display: block;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .pulses::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: 2.5s pulseBorder ease-in-out infinite;
    opacity: 0.1;
    z-index: 10;
  }
  @keyframes pulseBorder {
    0% {
      box-shadow: 0 0 0 0 var(--cfx-blue);
    }
    20% {
      box-shadow: 0 0 20px 15px var(--cfx-blue);
    }
    40% {
      box-shadow: 0 0 0 0 var(--cfx-blue);
    }
    100% {
      box-shadow: 0 0 0 0 var(--cfx-blue);
    }
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .pulses .pulse {
    position: absolute;
    border-radius: 50%;
    border: 1px solid var(--cfx-blue);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
  }
  @keyframes pulseAnimation {
    0% {
      width: 100%;
      height: 100%;
      opacity: 1;
    }
    50% {
      opacity: 0;
    }
    100% {
      width: 200%;
      height: 200%;
      opacity: 0;
    }
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .pulses .pulse.p1 {
    animation: pulseAnimation 10s infinite linear 0s;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .pulses .pulse.p2 {
    animation: pulseAnimation 10s infinite linear 2.5s;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .pulses .pulse.p3 {
    animation: pulseAnimation 10s infinite linear 5s;
  }
  section.infographic-container .wrap .info-points-grid .background-image-container .pulses .pulse.p4 {
    animation: pulseAnimation 10s infinite linear 7.5s;
  }
  section.infographic-container .wrap .info-points-grid.active::before {
    opacity: 0.15;
    transform: rotate(-45deg);
  }
  section.infographic-container .wrap .info-points-grid.active::after {
    opacity: 0.5;
    transform: rotate(-45deg);
  }
}

.accordion-container {
  margin: 3rem 0;
}
.accordion-container .section-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
.accordion-container .section-inner .accordion-precontent-container .flex {
  display: flex;
  gap: 3rem;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.accordion-container .section-inner .accordion-precontent-container .flex .category-container {
  position: relative;
  height: -moz-max-content;
  height: max-content;
}
.accordion-container .section-inner .accordion-precontent-container .flex .category-container select {
  position: relative;
  z-index: 2;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  font-family: "DM Sans", sans-serif;
  background-color: transparent;
  padding: 0.5rem 1rem;
  padding-left: 0;
  padding-right: 3rem;
  cursor: pointer;
  border-radius: 10px;
  color: var(--cfx-blue);
  font-weight: 600;
  outline: none;
  font-size: 1em;
}
.accordion-container .section-inner .accordion-precontent-container .flex .category-container img {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
}
.accordion-container .section-inner .accordion-precontent-container .flex .search-container {
  max-width: 400px;
  width: 100%;
}
.accordion-container .section-inner .accordion-precontent-container h2 {
  color: var(--cfx-blue);
  margin-bottom: 3rem;
}
.accordion-container .section-inner .accordion-content-container .link-container {
  margin: 0 auto;
  margin-top: 3rem;
  width: -moz-max-content;
  width: max-content;
}
.accordion-container .section-inner .accordion-content-container .link-container .button {
  color: white;
  background-color: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
.accordion-container .section-inner .accordion-content-container .link-container .button:focus, .accordion-container .section-inner .accordion-content-container .link-container .button:hover {
  color: var(--cfx-pink);
  background-color: white;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-group {
  display: none;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-group.open {
  display: block;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-group.category-hide {
  display: none !important;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper h2 {
  color: var(--cfx-blue);
  margin-top: 4rem;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card {
  transition: 0.3s;
  display: grid;
  grid-template-rows: 1fr;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card:not(:last-child) {
  border-bottom: 1px solid #B6B6B6;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner {
  overflow: hidden;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 3rem;
  cursor: pointer;
  gap: 20px;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-header .card-heading {
  text-transform: uppercase;
  font-size: 1.25em;
  letter-spacing: 0.56px;
  font-weight: 600;
  color: var(--cfx-blue);
  font-family: "Muller Narrow", sans-serif;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-header .accordion-chevron {
  transition: 0.3s;
  transform: scale(-1);
  box-sizing: border-box;
  width: 1.5rem;
  height: 1.5rem;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-header .accordion-chevron img {
  width: 100%;
  height: auto;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-header:hover .card-heading {
  color: var(--cfx-pink);
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: 0.3s;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text {
  overflow: hidden;
  color: var(--cfx-blue);
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text * {
  color: var(--cfx-blue);
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text p, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text table, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text ul {
  transition: 0.3s;
  margin-top: 0;
  margin-bottom: 0;
  transition-delay: 0s;
  opacity: 0;
  padding-right: 3rem;
  font-size: var(--font-small);
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text p, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text li {
  font-size: 1em;
}
@container (max-width: 800px) {
  .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text:has(table) {
    overflow-x: auto;
  }
  .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text table {
    width: 800px;
  }
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card.open .accordion-card-inner .accordion-chevron, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner:focus .accordion-chevron {
  transform: scale(1);
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card.open .accordion-card-inner .card-body, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner:focus .card-body {
  grid-template-rows: 1fr;
  padding-bottom: 1rem;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card.open .accordion-card-inner .card-body .card-body-text:not(:last-child), .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner:focus .card-body .card-body-text:not(:last-child) {
  margin-bottom: 1rem;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card.open .accordion-card-inner .card-body .card-body-text p, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card.open .accordion-card-inner .card-body .card-body-text table, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card.open .accordion-card-inner .card-body .card-body-text ul, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner:focus .card-body .card-body-text p, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner:focus .card-body .card-body-text table, .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner:focus .card-body .card-body-text ul {
  opacity: 1;
  transition-delay: 0.3s;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card:not(.match) {
  grid-template-rows: 0fr;
  border: none;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card:nth-last-child(1 of .match) {
  border-bottom: none;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .error-message {
  color: var(--cfx-blue);
  display: none;
  padding: 4rem 0;
  font-weight: 600;
}
.accordion-container .section-inner .accordion-content-container .accordion-wrapper .error-message.show {
  display: block;
}
.accordion-container .section-inner .questions-section h2 {
  margin: 4rem 0 2rem;
  color: var(--cfx-blue);
}
.accordion-container .section-inner .questions-section .flex-box {
  display: flex;
  gap: 60px;
  flex-wrap: wrap;
}
.accordion-container .section-inner .questions-section .flex-box a {
  font-size: 2em;
  line-height: 2.1em;
  font-weight: 600;
  color: var(--cfx-pink);
  font-family: "Muller Narrow", sans-serif;
}
@media only screen and (max-width: 767px) {
  .accordion-container {
    margin: 2rem 0;
  }
  .accordion-container .section-inner .questions-section h2 {
    margin: 2rem 0 1rem;
  }
  .accordion-container .section-inner .questions-section .flex-box {
    gap: 30px;
    row-gap: 1rem;
  }
  .accordion-container .section-inner .questions-section .flex-box a {
    font-size: 1.5em;
    line-height: 1.6em;
  }
  .accordion-container .section-inner .accordion-precontent-container h2 {
    margin-bottom: 1rem;
  }
  .accordion-container .section-inner .accordion-precontent-container .search-container {
    max-width: 100%;
    width: 100%;
  }
  .accordion-container .section-inner .accordion-precontent-container .flex {
    gap: 1rem;
  }
  .accordion-container .section-inner .accordion-precontent-container .flex .category-container img {
    width: 20px;
    height: 20px;
  }
  .accordion-container .section-inner .accordion-content-container .accordion-wrapper h2 {
    margin-top: 2rem;
  }
  .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-header {
    grid-template-columns: 1fr 30px;
  }
  .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-header .accordion-chevron {
    width: 20px;
    height: 20px;
  }
  .accordion-container .section-inner .accordion-content-container .accordion-wrapper .accordion-card .accordion-card-inner .card-body .card-body-text p {
    padding-right: 0;
  }
  .accordion-container .section-inner .accordion-content-container .link-container {
    margin-top: 1rem;
  }
}

section.content-with-background-container {
  overflow: hidden;
  display: grid;
}
section.content-with-background-container.align-bottom {
  align-items: end;
}
section.content-with-background-container.align-top {
  align-items: center;
}
section.content-with-background-container .bg-img-container {
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
section.content-with-background-container .bg-img-container .bg-img {
  width: 100%;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
}
section.content-with-background-container .bg-img-container .bg-img.desktop {
  display: none;
}
section.content-with-background-container .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  grid-area: 1/1;
  padding-block: 60px;
  width: 100%;
  height: -moz-max-content;
  height: max-content;
}
section.content-with-background-container .wrap .content-card {
  padding: 40px 20px;
  background: rgba(255, 255, 255, 0.65);
  border-radius: 20px;
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%;
  display: grid;
  gap: 20px;
}
section.content-with-background-container .wrap .content-card .icon-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px;
  grid-area: 3/1;
}
section.content-with-background-container .wrap .content-card .icon-container .icon {
  max-width: 80px;
  height: auto;
}
section.content-with-background-container .wrap .content-card a {
  display: inline;
  color: var(--cfx-blue);
}
section.content-with-background-container .wrap .content-card h2, section.content-with-background-container .wrap .content-card .copy, section.content-with-background-container .wrap .content-card .icon-container {
  max-width: 880px;
  width: 100%;
}
section.content-with-background-container .wrap .content-card * {
  color: var(--cfx-blue);
}
section.content-with-background-container .wrap .content-card .h2 {
  max-width: 660px;
  margin: 0;
  display: block;
}
section.content-with-background-container .wrap .content-card .h3 {
  font-size: 31px !important;
  line-height: 34px !important;
  margin: 0;
  display: block;
}
section.content-with-background-container .wrap .content-card .copy {
  font-weight: 700;
}
section.content-with-background-container .wrap .content-card .copy * {
  margin: 0;
  color: var(--cfx-blue);
  margin: 0;
}
@media only screen and (min-width: 1200px) {
  section.content-with-background-container .bg-img-container {
    max-height: 1000px;
  }
}
@media only screen and (min-width: 500px) {
  section.content-with-background-container .bg-img-container .bg-img.mobile {
    display: none;
  }
  section.content-with-background-container .bg-img-container .bg-img.desktop {
    display: block;
  }
  section.content-with-background-container .wrap {
    padding-block: 140px;
  }
  section.content-with-background-container .wrap .content-card {
    padding: 60px 40px;
    display: flex;
    flex-direction: column;
  }
  section.content-with-background-container .wrap .content-card .icon-container {
    justify-content: flex-start;
  }
  section.content-with-background-container .wrap .content-card .icon-container .icon {
    max-width: 100px;
  }
  section.content-with-background-container.align-top {
    align-items: start !important;
  }
  section.content-with-background-container.blog-post .wrap .content-card {
    max-width: 800px !important;
  }
  section.content-with-background-container.blog-post .wrap .content-card .copy {
    font-weight: normal;
  }
}

section.global-testimonials-container {
  overflow: hidden;
  position: relative;
}
section.global-testimonials-container .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-block: 40px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 3fr;
  grid-template-rows: 1fr auto;
  grid-gap: 20px;
}
section.global-testimonials-container .wrap .content-container {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  width: 100%;
  z-index: 3;
}
section.global-testimonials-container .wrap .content-container * {
  margin: 0;
  color: var(--cfx-blue);
}
section.global-testimonials-container .wrap .content-container .copy {
  font-size: 18px;
  line-height: 21px;
}
section.global-testimonials-container .wrap .navigation-container {
  grid-column: 1;
  grid-row: 2;
  height: 50px;
  width: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 100px;
  overflow: hidden;
  border: 1px solid var(--cfx-pink);
  z-index: 3;
}
section.global-testimonials-container .wrap .navigation-container .swiper-button {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.global-testimonials-container .wrap .navigation-container .swiper-button:hover {
  cursor: pointer;
  background: rgba(214, 0, 129, 0.1);
}
section.global-testimonials-container .wrap .navigation-container .swiper-button.swiper-button-disabled {
  opacity: 0.5;
  pointer-events: none;
}
section.global-testimonials-container .wrap .global-testimonials-swiper {
  grid-column: 2;
  grid-row: 1/3;
  min-height: 350px;
  z-index: 1;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .loading-spinner {
  display: none;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .loading-spinner::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 60px;
  width: 60px;
  border: 12px solid var(--cfx-blue);
  border-radius: 50%;
  border-left-color: transparent;
  border-right-color: transparent;
  animation: load 2s linear infinite;
}
@keyframes load {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container {
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px;
  height: auto;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container * {
  margin: 0;
  color: white;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container .credit {
  font-family: "Muller Narrow", sans-serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
  font-size: 28px;
  line-height: 32px;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container .location {
  font-size: 22px;
  line-height: 32px;
  font-weight: 300;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container .title {
  font-size: 22px;
  line-height: 32px;
  font-weight: 900;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container .testimonial {
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  font-weight: 300;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container.wide {
  max-width: 425px;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container.narrow {
  max-width: 315px;
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container:nth-child(3n+1) {
  background-color: var(--cfx-pink);
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container:nth-child(3n+2) {
  background-color: var(--cfx-blue);
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container:nth-child(3n+3) {
  background-color: var(--blue-dark);
}
section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container.swiper-slide-hidden {
  transform: scale(1.5);
}
section.global-testimonials-container .wrap .pagination-container {
  display: none;
  width: 100%;
}
section.global-testimonials-container .wrap .pagination-container .testimonial-swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
}
section.global-testimonials-container .wrap .pagination-container .testimonial-swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border: 2px solid var(--cfx-blue);
  opacity: 1 !important;
  background: transparent;
  transition: 0.3s;
}
section.global-testimonials-container .wrap .pagination-container .testimonial-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--cfx-blue);
}
@media only screen and (min-width: 1200px) {
  section.global-testimonials-container .wrap .fade-container {
    grid-column: 1;
    grid-row: 1/3;
    height: 100%;
    width: 20px;
    background: white;
    width: 100%;
    z-index: 2;
    position: relative;
  }
  section.global-testimonials-container .wrap .fade-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: white;
    transform: translateX(-100%);
  }
  section.global-testimonials-container .wrap .fade-container::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 100%;
    transform: translateX(100%);
    background-image: linear-gradient(to right, white, transparent);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
  }
}
@media only screen and (max-width: 1199px) {
  section.global-testimonials-container .wrap {
    display: flex;
    flex-direction: column;
  }
  section.global-testimonials-container .wrap .fade-container {
    display: none;
  }
  section.global-testimonials-container .wrap .navigation-container {
    display: none;
  }
  section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container.wide {
    max-width: 320px;
  }
  section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container.narrow {
    max-width: 235px;
  }
  section.global-testimonials-container .wrap .pagination-container {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  section.global-testimonials-container .wrap .global-testimonials-swiper {
    min-height: unset;
  }
  section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container {
    width: calc(100vw - 60px);
  }
  section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container.wide {
    max-width: 400px;
  }
  section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container .credit {
    font-size: 21px;
    line-height: 24px;
  }
  section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container .location {
    font-size: 17px;
    line-height: 24px;
    font-weight: 300;
  }
  section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container .title {
    font-size: 17px;
    line-height: 24px;
    font-weight: 900;
  }
  section.global-testimonials-container .wrap .global-testimonials-swiper .testimonials-container .testimonial-card-container .testimonial {
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    font-weight: 300;
  }
}

section.coupons-callout-container .main-content {
  display: grid;
  align-items: center;
}
section.coupons-callout-container .main-content .bg-img-container {
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
section.coupons-callout-container .main-content .bg-img-container .bg-img {
  width: 100%;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top right;
     object-position: top right;
}
section.coupons-callout-container .main-content .bg-img-container .bg-img.mobile {
  display: none;
}
section.coupons-callout-container .main-content .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-block: 120px;
  grid-area: 1/1;
  width: 100%;
}
section.coupons-callout-container .main-content .wrap .title {
  margin: 0;
  margin-bottom: 20px;
  color: var(--cfx-blue);
  filter: drop-shadow(1px 1px 1px rgba(255, 255, 255, 0.5));
}
section.coupons-callout-container .main-content .wrap .copy {
  margin: 0;
  color: var(--cfx-blue);
  filter: drop-shadow(1px 1px 1px rgba(255, 255, 255, 0.5));
}
section.coupons-callout-container .main-content .wrap .coupon-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 30px;
  margin-top: 40px;
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  padding: 40px 20px;
  display: flex;
  justify-content: center;
  gap: 20px;
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .details {
  display: flex;
  flex-direction: column;
  align-items: center;
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .details .number {
  color: var(--cfx-pink);
  font-family: "Muller Narrow", sans-serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
  font-size: 200px;
  line-height: 160px;
  display: flex;
  align-items: flex-start;
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .details .number .symbol {
  font-size: 70px;
  line-height: 70px;
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .details .type {
  color: var(--cfx-blue);
  font-size: 54px;
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  width: -moz-max-content;
  width: max-content;
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .content .button {
  color: white;
  background-color: var(--cfx-blue);
  border-color: var(--cfx-blue);
  border: 2px solid var(--cfx-blue);
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .content .button:focus, section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .content .button:hover {
  color: var(--cfx-blue);
  background-color: white;
  border-color: white;
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .content .button:hover {
  background: transparent;
  border: 2px solid var(--cfx-blue);
}
section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .content .mice {
  text-align: center;
  color: var(--cfx-blue);
}
section.coupons-callout-container .callout-content {
  margin-top: -140px;
}
section.coupons-callout-container .callout-content .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-block: 40px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
section.coupons-callout-container .callout-content .wrap * {
  margin: 0;
}
section.coupons-callout-container .callout-content .wrap .img {
  max-width: 830px;
  width: 100%;
}
section.coupons-callout-container .callout-content .wrap .title {
  color: var(--cfx-blue);
  text-align: center;
}
section.coupons-callout-container .callout-content .wrap .button {
  color: white;
  background-color: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
section.coupons-callout-container .callout-content .wrap .button:focus, section.coupons-callout-container .callout-content .wrap .button:hover {
  color: var(--cfx-pink);
  background-color: white;
}
@media only screen and (min-width: 1200px) {
  section.coupons-callout-container .main-content .bg-img-container {
    max-height: 1000px;
  }
}
@media only screen and (max-width: 1440px) {
  section.coupons-callout-container .main-content .wrap .title, section.coupons-callout-container .main-content .wrap .copy {
    margin-inline: auto;
    text-align: center;
  }
  section.coupons-callout-container .main-content .wrap .coupon-grid {
    grid-template-columns: max-content;
    justify-content: center;
    gap: 40px;
  }
  section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card {
    gap: 40px;
  }
  section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .details {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .details .number {
    font-size: 150px;
    line-height: 110px;
  }
  section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .details .number .symbol {
    font-size: 40px;
    line-height: 40px;
  }
  section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card .details .type {
    font-size: 40px;
    line-height: 40px;
  }
}
@media only screen and (max-width: 767px) {
  section.coupons-callout-container .main-content .wrap {
    padding-block: 80px;
  }
  section.coupons-callout-container .main-content .wrap.has-callout {
    padding-bottom: 120px !important;
  }
  section.coupons-callout-container .main-content .wrap .title, section.coupons-callout-container .main-content .wrap .copy {
    margin-left: 0;
    text-align: left;
  }
  section.coupons-callout-container .main-content .wrap .coupon-grid {
    grid-template-columns: 1fr;
  }
  section.coupons-callout-container .main-content .wrap .coupon-grid .coupon-card {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  section.coupons-callout-container .callout-content .wrap {
    gap: 20px;
  }
}
@media only screen and (max-width: 500px) {
  section.coupons-callout-container .main-content .bg-img-container .bg-img.mobile {
    display: block;
  }
  section.coupons-callout-container .main-content .bg-img-container .bg-img.desktop {
    display: none;
  }
}

section.tabbed-content-container {
  margin-bottom: 60px;
}
section.tabbed-content-container .navigation-tabs .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-top: 60px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
}
section.tabbed-content-container .navigation-tabs .wrap .navigation-tab {
  font-family: "Muller Narrow", sans-serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--cfx-blue);
  cursor: pointer;
  display: flex;
  width: -moz-max-content;
  width: max-content;
  align-items: center;
  gap: 20px;
  font-size: 22px;
  line-height: 22px;
  text-transform: capitalize !important;
}
section.tabbed-content-container .navigation-tabs .wrap .navigation-tab .chevron {
  transition: 0.3s;
}
section.tabbed-content-container .navigation-tabs .wrap .navigation-tab:hover, section.tabbed-content-container .navigation-tabs .wrap .navigation-tab.active {
  color: var(--cfx-pink);
}
section.tabbed-content-container .navigation-tabs .wrap .navigation-tab:hover .chevron, section.tabbed-content-container .navigation-tabs .wrap .navigation-tab.active .chevron {
  transform: translateX(5px);
}
section.tabbed-content-container .tab-content {
  overflow: hidden;
}
section.tabbed-content-container .tab-content .swiper-slide .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-top: 60px;
  width: 100%;
  height: -moz-max-content;
  height: max-content;
}
section.tabbed-content-container .tab-content .swiper-slide .wrap h1, section.tabbed-content-container .tab-content .swiper-slide .wrap h2 {
  max-width: 700px;
}
section.tabbed-content-container .tab-content .swiper-slide .wrap * {
  color: var(--cfx-blue);
}
section.tabbed-content-container .tab-content .swiper-slide .wrap *:first-child {
  margin-top: 0;
}
section.tabbed-content-container .tab-content .swiper-slide .wrap *:last-child {
  margin-bottom: 0;
}
section.tabbed-content-container .buttons {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  margin-top: 2rem;
}
section.tabbed-content-container .buttons .button {
  color: white;
  background-color: var(--cfx-pink);
  border-color: var(--cfx-pink);
}
section.tabbed-content-container .buttons .button:focus, section.tabbed-content-container .buttons .button:hover {
  color: var(--cfx-pink);
  background-color: white;
}
@media only screen and (max-width: 767px) {
  section.tabbed-content-container {
    margin-bottom: 40px;
  }
  section.tabbed-content-container .navigation-tabs .wrap {
    gap: 20px;
    padding-top: 40px;
  }
  section.tabbed-content-container .tab-content .swiper-slide .wrap {
    padding-top: 40px;
  }
}

section.content-columns {
  margin: 3rem 0;
}
section.content-columns .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
section.content-columns .wrap .columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
section.content-columns .wrap .columns h3 {
  color: var(--cfx-pink);
}
section.content-columns .wrap .columns p, section.content-columns .wrap .columns li {
  color: var(--cfx-blue);
}
section.content-columns .wrap .columns a {
  color: var(--cfx-blue);
}
section.content-columns .wrap .columns ul {
  padding-left: 20px;
}
section.content-columns .wrap .columns li {
  margin-bottom: 0.5rem;
}
@container (max-width: 1024px) {
  section.content-columns .wrap .columns {
    grid-template-columns: 1fr;
  }
}
@container (max-width: 767px) {
  section.content-columns .wrap .columns {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

section.other-products-container {
  overflow: hidden;
}
section.other-products-container .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-block: 40px;
  width: 100%;
  height: -moz-max-content;
  height: max-content;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
section.other-products-container .wrap h2 {
  color: var(--cfx-blue);
  text-align: center;
  margin: 0;
  position: relative;
  z-index: 2;
}
section.other-products-container .wrap .other-products-swiper {
  display: flex;
  position: relative;
  z-index: 1;
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card {
  padding: 0px 50px 30px;
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 400px;
  width: calc(100vw - 60px);
  height: auto;
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .img-container {
  width: 100%;
  position: relative;
  margin-bottom: calc(18% + 10px);
  margin-inline: auto;
  max-width: 260px;
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .img-container .other-product-img {
  width: 100%;
  display: block;
  box-shadow: 0px 4px 80px 0px rgba(0, 0, 0, 0.45);
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .img-container .badge {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  width: 36%;
  height: auto;
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .other-product-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  height: 100%;
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .other-product-content * {
  margin: 0;
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .other-product-content h3 {
  text-align: center;
  color: white;
  filter: drop-shadow(1px 1px 1px rgb(0, 0, 0));
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .other-product-content .content {
  font-size: 18px;
  line-height: 28px;
  color: white;
  font-weight: 400;
  text-align: center;
  filter: drop-shadow(1px 1px 1px rgb(0, 0, 0));
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .other-product-content .button {
  margin-top: auto;
  color: var(--cfx-blue);
  background-color: white;
  border-color: white;
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .other-product-content .button:focus, section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .other-product-content .button:hover {
  color: white;
  background-color: var(--cfx-blue);
  border-color: var(--cfx-blue);
}
section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .card-background {
  position: absolute;
  top: 13%;
  left: 0;
  width: 100%;
  height: 87%;
  border-radius: 20px;
  z-index: -1;
}
section.other-products-container .wrap .pagination-container {
  width: 100%;
}
section.other-products-container .wrap .pagination-container:has(.swiper-pagination-lock) {
  display: none;
}
section.other-products-container .wrap .pagination-container .other-products-swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
}
section.other-products-container .wrap .pagination-container .other-products-swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border: 2px solid var(--cfx-blue);
  opacity: 1 !important;
  background: transparent;
  transition: 0.3s;
}
section.other-products-container .wrap .pagination-container .other-products-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--cfx-blue);
}
@container (min-width: 768px) {
  section.other-products-container .wrap {
    padding-block: 60px;
  }
  section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card {
    width: 100%;
    padding: 0px 65px 40px;
    width: calc(33.3% - 20px);
    min-width: 390px;
    max-width: calc(100vw - 80px);
  }
  section.other-products-container .wrap .other-products-swiper .swiper-wrapper .other-product-card .img-container {
    max-width: unset;
  }
}

.not-found-container .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-block: 40px;
}
.not-found-container .wrap * {
  color: var(--cfx-blue);
}

section.video-container {
  margin-block: 40px;
}
section.video-container .wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  width: 100%;
}
section.video-container .wrap .thumbnail-wrapper {
  width: 100%;
  position: relative;
  height: 0;
  padding-bottom: 40%;
  cursor: pointer;
  background-color: var(--cfx-blue);
  min-height: 220px;
  border: 1px solid #5E5E5E;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
section.video-container .wrap .thumbnail-wrapper .thumbnail {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center left;
     object-position: center left;
  opacity: 0.8;
  transition: 0.3s;
}
section.video-container .wrap .thumbnail-wrapper .play-icon-wrapper {
  max-width: 40px;
  min-width: 20px;
  width: 5%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
section.video-container .wrap .thumbnail-wrapper .play-icon-wrapper img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 65%;
  transform: translate(-50%, -50%);
  z-index: 2;
  transition: 0.3s;
}
section.video-container .wrap .thumbnail-wrapper .play-icon-wrapper::before {
  content: "";
  position: absolute;
  width: 200%;
  padding-bottom: 200%;
  border-radius: 50%;
  background: var(--grey-light);
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
section.video-container .wrap .thumbnail-wrapper .play-icon-wrapper::after {
  content: "";
  position: absolute;
  width: 200%;
  padding-bottom: 200%;
  border-radius: 50%;
  border: 1px solid var(--grey-light);
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
}
section.video-container .wrap .thumbnail-wrapper .h2 {
  color: white;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  filter: drop-shadow(1px 1px 1px rgb(0, 0, 0));
}
section.video-container .wrap .thumbnail-wrapper:hover .thumbnail {
  opacity: 0.6;
}
section.video-container .wrap .thumbnail-wrapper:hover .play-icon-wrapper::after {
  width: 600%;
  padding-bottom: 600%;
  opacity: 0;
}
section.video-container video {
  display: block;
  width: 100%;
}

.modal-container {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
  display: flex;
  align-items: center;
  overflow-y: scroll;
  padding: 40px var(--padding);
  box-sizing: border-box;
  background: rgba(38, 34, 98, 0.5);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.3s, height 0.3s 0.3s, top 0s, padding 0.3s 0.3s;
}
.modal-container .modal-content {
  opacity: 1;
  transition: 0.3s;
  transition-delay: 0.6s;
  width: 100%;
  margin: auto;
  background-color: var(--cfx-blue);
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  border-radius: 20px;
  max-width: 1240px;
}
.modal-container .modal-content .content-wrapper {
  padding: 2px;
  border-radius: 20px;
  overflow: hidden;
}
.modal-container .modal-content .content-wrapper .close-btn-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  margin: 10px 10px 0 0;
  padding: 5px;
  background: rgba(255, 255, 255, 0.3);
  box-sizing: border-box;
  border-radius: 20px;
}
.modal-container .modal-content .content-wrapper .close-btn-wrapper .close-btn {
  width: 30px;
  height: 30px;
  display: block;
}
.modal-container .modal-content .content-wrapper .close-btn-wrapper:hover {
  background: rgb(255, 255, 255);
}
.modal-container .modal-content .content-wrapper video, .modal-container .modal-content .content-wrapper img {
  width: 100%;
  border-radius: 20px;
}
.modal-container:not(.active) {
  width: 0;
  top: -200vh;
  height: 2px;
  padding: 0;
  transition: width 0.3s 0.6s, height 0.3s 0.3s, top 0s 0.9s, padding 0.2s 0.3s !important;
}
.modal-container:not(.active) .modal-content {
  opacity: 0;
  transition: 0.3s;
  transition-delay: 0s;
}

body:not(.wp-admin) .fade-in {
  opacity: 0;
  transition: 1s;
  filter: blur(8px);
}
body:not(.wp-admin) .fade-in.active {
  opacity: 1;
  filter: blur(0);
}
body:not(.wp-admin) .fade-in-up {
  opacity: 0;
  transition: 1s;
  transform: translateY(100px);
  filter: blur(8px);
}
body:not(.wp-admin) .fade-in-up.active {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
body:not(.wp-admin) .fade-in-down {
  opacity: 0;
  transition: 1s;
  transform: translateY(-100px);
  filter: blur(8px);
}
body:not(.wp-admin) .fade-in-down.active {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
body:not(.wp-admin) .fade-in-left {
  opacity: 0;
  transition: 1s;
  transform: translateX(-500px);
  filter: blur(8px);
}
body:not(.wp-admin) .fade-in-left.active {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}
body:not(.wp-admin) .fade-in-right {
  opacity: 0;
  transition: 1s;
  transform: translateX(500px);
  filter: blur(8px);
}
body:not(.wp-admin) .fade-in-right.active {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.cascade-in .cascade-item, .cascade-in .cascade-item-slow {
  opacity: 0;
  animation-delay: 0s;
}
.cascade-in.active .cascade-item, .cascade-in.active .cascade-item-slow {
  animation-name: cascadeInAnimation;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
}

@keyframes cascadeInAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.cascade-in-right .cascade-item, .cascade-in-right .cascade-item-slow {
  opacity: 0;
  animation-delay: 0s;
}
.cascade-in-right.active .cascade-item, .cascade-in-right.active .cascade-item-slow {
  animation-name: cascadeInRightAnimation;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
}

@keyframes cascadeInRightAnimation {
  0% {
    opacity: 0;
    transform: translateX(300px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.cascade-in-left .cascade-item, .cascade-in-left .cascade-item-slow {
  opacity: 0;
  animation-delay: 0s;
}
.cascade-in-left.active .cascade-item, .cascade-in-left.active .cascade-item-slow {
  animation-name: cascadeInLeftAnimation;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
}

@keyframes cascadeInLeftAnimation {
  0% {
    opacity: 0;
    transform: translateX(-300px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.cascade-up {
  overflow: hidden;
}
.cascade-up .cascade-item, .cascade-up .cascade-item-slow {
  animation-delay: 0s;
  transform: translateY(100%);
}
.cascade-up.active .cascade-item, .cascade-up.active .cascade-item-slow {
  animation-name: cascadeUpAnimation;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
}

@keyframes cascadeUpAnimation {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.cascade-in-blur .cascade-item, .cascade-in-blur .cascade-item-slow {
  animation-delay: 0s;
  opacity: 0.8;
  filter: blur(8px);
}
.cascade-in-blur.active .cascade-item, .cascade-in-blur.active .cascade-item-slow {
  animation-name: cascadeInBlurAnimation;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
}

@keyframes cascadeInBlurAnimation {
  0% {
    opacity: 0.8;
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
.cascade-item:nth-child(1) {
  animation-delay: 0s;
}

.cascade-item:nth-child(2) {
  animation-delay: 0.2s;
}

.cascade-item:nth-child(3) {
  animation-delay: 0.4s;
}

.cascade-item:nth-child(4) {
  animation-delay: 0.6s;
}

.cascade-item:nth-child(5) {
  animation-delay: 0.8s;
}

.cascade-item:nth-child(6) {
  animation-delay: 1s;
}

.cascade-item:nth-child(7) {
  animation-delay: 1.2s;
}

.cascade-item:nth-child(8) {
  animation-delay: 1.4s;
}

.cascade-item:nth-child(9) {
  animation-delay: 1.6s;
}

.cascade-item:nth-child(10) {
  animation-delay: 1.8s;
}

.cascade-item-slow:nth-child(1) {
  animation-delay: 0s;
}

.cascade-item-slow:nth-child(2) {
  animation-delay: 0.5s;
}

.cascade-item-slow:nth-child(3) {
  animation-delay: 1s;
}

.cascade-item-slow:nth-child(4) {
  animation-delay: 1.5s;
}

.cascade-item-slow:nth-child(5) {
  animation-delay: 2s;
}

.cascade-item-slow:nth-child(6) {
  animation-delay: 2.5s;
}

.cascade-item-slow:nth-child(7) {
  animation-delay: 3s;
}

.cascade-item-slow:nth-child(8) {
  animation-delay: 3.5s;
}

.cascade-item-slow:nth-child(9) {
  animation-delay: 4s;
}

.cascade-item-slow:nth-child(10) {
  animation-delay: 4.5s;
}

.spin {
  transition: 1s;
  transform: rotate(0) scale(0);
  opacity: 0;
  filter: blur(30px);
}
.spin.active {
  transform: rotate(720deg) scale(1);
  opacity: 1;
  filter: blur(0);
}

.blur-in.animate {
  transition: 1.5s;
  filter: blur(40px);
}
.blur-in.animate.active {
  filter: blur(0);
}

.animate-count.animate .number {
  opacity: 0;
  transition: 3s;
}
.animate-count.animate.active .number {
  opacity: 1;
}

footer {
  display: grid;
  grid-template-columns: 1fr minmax(0, var(--max-width)) 1fr;
  color: white;
  background-color: var(--blue-dark);
}
footer::before, footer::after {
  content: "";
  display: block;
  clip-path: polygon(var(--angle-size) 0, 100% 0, 100% 100%, 0 100%, 0% calc(var(--angle-size) * 1.3));
}
footer::before {
  grid-area: 1/1/span 1/span 2;
  z-index: 1;
  transform: rotateY(180deg);
}
footer::after {
  grid-area: 1/2/span 1/span 2;
}
footer .wrap {
  grid-area: 1/2;
  z-index: 2;
  width: 100%;
}
@media screen and (min-width: 768px) {
  footer {
    background-color: var(--blue);
    --angle-size: 5000px;
  }
  footer.active {
    --angle-size: 1000px;
  }
  footer::before, footer::after {
    transition: 1s;
  }
  footer::before {
    background-color: var(--blue-dark);
    clip-path: polygon(calc(var(--angle-size) * 0.5) 0, 100% 0, 100% 100%, 0 100%, 0% calc(var(--angle-size) * 1.3 * 0.5));
  }
  footer::after {
    background-color: var(--blue-light);
    clip-path: polygon(calc(var(--angle-size) * 1.5) 0, 100% 0, 100% 100%, 0 100%, 0% calc(var(--angle-size) * 1.3 * 1.5));
  }
}
footer .wrap {
  display: grid;
  grid-gap: 2rem;
  align-items: flex-start;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  footer .wrap {
    grid-template-columns: auto auto;
    grid-template-areas: "logo logo" "badges badges" "nav connect" "hr hr" "legal legal" "copy copy";
  }
}
@media screen and (min-width: 1024px) {
  footer .wrap {
    grid-template-columns: 230px auto auto auto;
    grid-template-rows: 135px auto auto auto;
    grid-column-gap: 4rem;
    grid-template-areas: "logo nav nav connect" "badges nav nav connect" "hr hr hr hr" "legal legal copy copy";
  }
}
footer ul {
  padding: 0;
  list-style: none;
}
footer .logo {
  justify-self: center;
}
@media screen and (min-width: 768px) {
  footer .logo {
    grid-area: logo;
    justify-self: flex-start;
  }
}
footer .logo img {
  width: 122px;
}
@media screen and (min-width: 768px) {
  footer .logo img {
    width: 163px;
  }
}
footer .badges {
  justify-self: center;
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
}
@media screen and (min-width: 768px) {
  footer .badges {
    grid-area: badges;
    justify-self: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
}
footer .badges img {
  width: 49px;
}
@media screen and (min-width: 768px) {
  footer .badges img {
    width: 65px;
  }
}
footer .badges .qualifier {
  width: 100%;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  footer nav.nav {
    grid-area: nav;
  }
}
footer nav.nav ul.sub-menu {
  display: none;
}
@media screen and (min-width: 1400px) {
  footer nav.nav {
    display: grid;
    grid-template-columns: auto auto;
  }
  footer nav.nav #sub-menu-footer {
    padding-top: calc(57px + 1rem);
  }
}
footer nav ul {
  display: grid;
  grid-gap: 1rem;
  margin: 1rem 0;
}
footer nav ul li:not(.button-wrap) a {
  font-size: 18px;
  text-decoration: none;
  color: inherit;
}
@media screen and (min-width: 768px) {
  footer nav ul li:not(.button-wrap) a {
    font-size: 16px;
  }
}
footer nav ul li:not(.button-wrap) a:focus, footer nav ul li:not(.button-wrap) a:hover {
  text-decoration: underline;
}
footer nav ul .button-wrap {
  text-align: center;
  order: -1;
}
@media screen and (min-width: 768px) {
  footer nav ul .button-wrap {
    text-align: left;
  }
}
footer nav ul .button-wrap a {
  color: white;
  background-color: transparent;
  border-color: white;
}
footer nav ul .button-wrap a:focus, footer nav ul .button-wrap a:hover {
  color: black;
  background-color: white;
}
footer nav ul .lang-item {
  display: none;
}
footer .connect {
  min-width: unset;
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  footer .connect {
    grid-area: connect;
    min-width: 350px;
  }
}
footer .connect h2 {
  font-family: inherit;
  font-size: 27.75px;
  letter-spacing: 0.02em;
  text-transform: none;
}
@media screen and (min-width: 768px) {
  footer .connect h2 {
    font-size: 37px;
  }
}
footer .connect h3 {
  font-family: inherit;
  font-size: inherit;
  text-transform: none;
  margin-top: 2rem;
}
footer .connect ul {
  display: flex;
  gap: 1.5rem;
}
footer .connect ul a {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  border: 1px solid white;
  transition: transform 0.15s;
}
footer .connect ul a:focus, footer .connect ul a:hover {
  transform: scale(1.2);
}
footer .connect a {
  text-decoration: none;
  color: inherit;
}
footer .connect a:focus, footer .connect a:hover {
  text-decoration: underline;
}
footer .connect a.phone {
  margin-bottom: 1rem;
}
footer .connect a.phone, footer .connect a.email {
  display: block;
}
@media screen and (min-width: 768px) {
  footer .connect a.phone, footer .connect a.email {
    display: inline;
    font-size: 15px;
    margin-bottom: 0;
  }
}
footer .connect a.phone::before, footer .connect a.email::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-repeat: no-repeat;
}
footer .connect a.phone {
  margin-right: 2rem;
}
footer .connect a.phone::before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0IDEyLjg0NTVWMTMuMzAwNUMxNCAxMy40ODYxIDEzLjkyNjMgMTMuNjY0MiAxMy43OTUgMTMuNzk1NUMxMy42NjM3IDEzLjkyNjcgMTMuNDg1NyAxNC4wMDA1IDEzLjMgMTQuMDAwNUgxMS45QzguNzQzOTIgMTQuMDAwNSA1LjcxNzExIDEyLjc0NjcgMy40ODU0MyAxMC41MTUxQzEuMjUzNzUgOC4yODMzOCAwIDUuMjU2NTYgMCAyLjEwMDQ5TDAgMC43MDA0ODhDMCAwLjUxNDgzNyAwLjA3Mzc0OTggMC4zMzY3ODkgMC4yMDUwMjUgMC4yMDU1MTRDMC4zMzYzMDEgMC4wNzQyMzgxIDAuNTE0MzQ4IDAuMDAwNDg4MjgxIDAuNyAwLjAwMDQ4ODI4MUwzLjUgMC4wMDA0ODgyODFDMy42ODU2NSAwLjAwMDQ4ODI4MSAzLjg2MzcgMC4wNzQyMzgxIDMuOTk0OTcgMC4yMDU1MTRDNC4xMjYyNSAwLjMzNjc4OSA0LjIgMC41MTQ4MzcgNC4yIDAuNzAwNDg4VjMuNTAwNDlDNC4yIDMuODkyNDkgMy45ODMgNC40MTc0OSAzLjcxIDQuNjkwNDlMMi4yMTIgNi4xODg0OUMzLjI3NiA4LjcwODQ5IDUuMjkyIDEwLjcyNDUgNy44MTIgMTEuNzg4NUw5LjI5NiAxMC4zMDQ1QzkuNTc2IDEwLjAyNDUgMTAuMTAxIDkuODA3NDkgMTAuNDg2IDkuODA3NDlIMTMuM0MxMy40ODQ0IDkuODA5MzMgMTMuNjYwNyA5Ljg4MzkgMTMuNzkwNSAxMC4wMTVDMTMuOTIwMiAxMC4xNDYgMTMuOTkzIDEwLjMyMyAxMy45OTMgMTAuNTA3NVYxMi44NTI1TDE0IDEyLjg0NTVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
}
footer .connect a.email::before {
  height: 14px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNCAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjYgMC40MDAzOTFDMTIuOTcxMyAwLjQwMDM5MSAxMy4zMjc0IDAuNTQ3ODkgMTMuNTg5OSAwLjgxMDQ0MUMxMy44NTI1IDEuMDcyOTkgMTQgMS40MjkwOSAxNCAxLjgwMDM5VjEwLjIwMDRDMTQgMTAuNTcxNyAxMy44NTI1IDEwLjkyNzggMTMuNTg5OSAxMS4xOTAzQzEzLjMyNzQgMTEuNDUyOSAxMi45NzEzIDExLjYwMDQgMTIuNiAxMS42MDA0SDEuNEMxLjAyODcgMTEuNjAwNCAwLjY3MjYwMSAxMS40NTI5IDAuNDEwMDUxIDExLjE5MDNDMC4xNDc1IDEwLjkyNzggMCAxMC41NzE3IDAgMTAuMjAwNFYxLjgwMDM5QzAgMS4wMzAzOSAwLjYzIDAuNDAwMzkxIDEuNCAwLjQwMDM5MUgxMi42Wk05LjU0MSA2Ljc3MDM5TDE0IDEwLjIwMDRWOC44MDAzOUwxMC40MTYgNi4wNzAzOUwxNCAzLjIwMDM5VjEuODAwMzlMNyA3LjQwMDM5TDAgMS44MDAzOVYzLjIwMDM5TDMuNTg0IDYuMDcwMzlMMCA4LjgwMDM5VjEwLjIwMDRMNC40NTkgNi43NzAzOUw3IDguODAwMzlMOS41NDEgNi43NzAzOVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
}
footer .hbspt-form form {
  display: grid;
  grid-template-columns: 1fr auto;
}
footer .hbspt-form form input {
  height: 48px;
  font-family: inherit;
  font-size: 16px;
  border: 1px solid var(--cfx-blue);
}
footer .hbspt-form form .field > label {
  position: absolute;
  font-size: 0;
}
footer .hbspt-form form .field input {
  width: 100%;
  padding: 0.5em 1em;
  border-radius: 8px 0 0 8px;
}
footer .hbspt-form form .field ul {
  display: none;
}
footer .hbspt-form form .hs-submit input {
  display: grid;
  place-items: center;
  width: 124px;
  font-weight: bold;
  letter-spacing: 0.02em;
  color: white;
  background-color: var(--cfx-blue);
  border-radius: 0 8px 8px 0;
  cursor: pointer;
  transition: 0.15s;
}
footer .hbspt-form form .hs-submit input:focus, footer .hbspt-form form .hs-submit input:hover {
  color: var(--cfx-blue);
  background-color: white;
}
footer .hbspt-form form .hs_error_rollup {
  grid-area: 1/1/span 1/span 2;
}
@media screen and (min-width: 768px) {
  footer .hbspt-form form .hs_error_rollup {
    font-size: 15px;
  }
}
footer .hbspt-form form .hs_error_rollup ul {
  margin: 0 0 0.5em;
}
@media screen and (min-width: 768px) {
  footer .hbspt-form form .submitted-message {
    font-size: 15px;
  }
}
footer hr {
  width: 100%;
  margin: 0;
  border-top: 1px solid white;
}
@media screen and (min-width: 768px) {
  footer hr {
    grid-area: hr;
  }
}
@media screen and (min-width: 768px) {
  footer .legal {
    grid-area: legal;
  }
}
footer .legal ul {
  margin: 0;
}
@media screen and (min-width: 768px) {
  footer .legal ul {
    display: flex;
    gap: 3rem;
  }
}
footer .copy {
  font-size: 12px;
}
@media screen and (min-width: 1024px) {
  footer .copy {
    grid-area: copy;
    text-align: right;
  }
}
@media screen and (min-width: 768px){
  footer .logo {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  footer .badges {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  footer nav.nav {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  footer .connect {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
  footer hr {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  footer .legal {
    -ms-grid-row: 9;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  footer .copy {
    -ms-grid-row: 11;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}
@media screen and (min-width: 1024px){
  footer .logo {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  footer .badges {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  footer nav.nav {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3;
    -ms-grid-column-span: 3;
  }
  footer .connect {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 7;
  }
  footer hr {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 7;
  }
  footer .legal {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  footer .copy {
    -ms-grid-row: 4;
    -ms-grid-column: 5;
    -ms-grid-column-span: 3;
  }
}

/*# sourceMappingURL=index.css.map*/