*, *:before, *:after {
  font-family: Poppins;
  font-size: 14px;
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
}

p, a {
  font-family: Poppins;
  font-size: 14px;
  letter-spacing: 0px;
  box-sizing: inherit;
}
@media only screen and (max-width: 769.98px) {
  p, a {
    font-size: 14px;
  }
}
p::before, p::after, a::before, a::after {
  box-sizing: inherit;
}

@media only screen and (max-width: 575.98px) {
  * {
    font-size: 14px;
  }
}
html {
  box-sizing: border-box;
  scroll-behavior: smooth;
  height: 100%;
}

body {
  color: var(--text-primary-color);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  margin: 0;
  font-size: 1.5rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
}
body.fixed {
  overflow: hidden;
}

@media only screen and (min-width: 770px) {
  body {
    font-size: 1.6rem;
  }
}
main#MainContent {
  flex: 1;
}

h1,
.h1 {
  color: var(--heading-color);
}

h2,
.h2,
h3,
h4,
.h4,
h5,
.h5 {
  color: var(--subheading-color);
}

a {
  text-decoration: none;
  color: var(--text-primary-color);
}
a:hover {
  color: var(--text-primary-color);
}
h1,
h2,
h3,
h4,
h5,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5,
.heading-sm,
.heading-md,
.heading-lg {
  font-family: Poppins;
  font-style: normal;
  font-weight: 700;
  word-break: initial;
  margin: 0;
}
h1 em, h1 strong, h1 i, h1 b,
h2 em,
h2 strong,
h2 i,
h2 b,
h3 em,
h3 strong,
h3 i,
h3 b,
h4 em,
h4 strong,
h4 i,
h4 b,
h5 em,
h5 strong,
h5 i,
h5 b,
.h0 em,
.h0 strong,
.h0 i,
.h0 b,
.h1 em,
.h1 strong,
.h1 i,
.h1 b,
.h2 em,
.h2 strong,
.h2 i,
.h2 b,
.h3 em,
.h3 strong,
.h3 i,
.h3 b,
.h4 em,
.h4 strong,
.h4 i,
.h4 b,
.h5 em,
.h5 strong,
.h5 i,
.h5 b,
.heading-sm em,
.heading-sm strong,
.heading-sm i,
.heading-sm b,
.heading-md em,
.heading-md strong,
.heading-md i,
.heading-md b,
.heading-lg em,
.heading-lg strong,
.heading-lg i,
.heading-lg b {
  font-family: Poppins;
}

@media only screen and (max-width: 575.98px) {
  .heading-lg {
    font-size: var(--heading-lg-mobile);
  }
  .heading-lg em, .heading-lg strong, .heading-lg i, .heading-lg b {
    font-size: var(--heading-lg-mobile);
  }
}
@media only screen and (min-width: 576px) {
  .heading-lg {
    font-size: var(--heading-lg-tablet);
  }
  .heading-lg em, .heading-lg strong, .heading-lg i, .heading-lg b {
    font-size: var(--heading-lg-tablet);
  }
}
@media only screen and (min-width: 1200px) {
  .heading-lg {
    font-size: var(--heading-lg);
  }
  .heading-lg em, .heading-lg strong, .heading-lg i, .heading-lg b {
    font-size: var(--heading-lg);
  }
}
@media only screen and (min-width: 770px) {
  .heading-md {
    font-size: var(--heading-md-tablet);
  }
}
@media only screen and (max-width: 575.98px) {
  .heading-md {
    font-size: var(--heading-md-mobile);
  }
}
.heading-sm {
  font-size: var(--heading-sm);
}

strong {
  font-weight: bold;
}

.rich-text-container.heading-lg p,
.rich-text-container.heading-lg strong,
.rich-text-container.heading-lg em,
.rich-text-container.heading-lg a {
  font-size: var(--heading-lg);
}
.rich-text-container.heading-md p,
.rich-text-container.heading-md strong,
.rich-text-container.heading-md em,
.rich-text-container.heading-md a {
  font-size: var(--heading-md);
}
.rich-text-container.heading-sm p,
.rich-text-container.heading-sm strong,
.rich-text-container.heading-sm em,
.rich-text-container.heading-sm a {
  font-size: var(--heading-sm);
}

@media only screen and (max-width: 769.98px) {
  .rich-text-container.heading-lg p, .rich-text-container.heading-lg strong, .rich-text-container.heading-lg em, .rich-text-container.heading-lg a {
    font-size: var(--heading-md-tablet);
  }
  .rich-text-container.heading-md p, .rich-text-container.heading-md strong, .rich-text-container.heading-md em, .rich-text-container.heading-md a {
    font-size: var(--heading-md-tablet);
  }
}
@media only screen and (max-width: 575.98px) {
  .rich-text-container.heading-lg p, .rich-text-container.heading-lg strong, .rich-text-container.heading-lg em, .rich-text-container.heading-lg a {
    font-size: var(--heading-lg-mobile);
  }
  .rich-text-container.heading-md p, .rich-text-container.heading-md strong, .rich-text-container.heading-md em, .rich-text-container.heading-md a {
    font-size: var(--heading-md-mobile);
  }
}
.is-hidden {
  display: none !important;
}

button:not([class^=button-]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  border: none;
  background: none;
  cursor: pointer;
}

.button {
  background: var(--primary-color);
  color: var(--button-1-text-color);
  border-radius: var(--button-1-radius);
  font-weight: 700;
  border: none;
  cursor: pointer;
  outline: none;
  line-height: 1.15;
}
.button, .button * {
  font-size: var(--button-font-size);
}
.button:hover {
  background-color: var(--button-1-hover-color);
  color: var(--button-1-hover-text-color);
  border-radius: var(--button-1-hover-radius);
}

button, input:not(.custom-filter .filter-body input[type=checkbox]), select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.button-1 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-1-color);
  color: var(--button-1-text-color);
  border-radius: var(--button-1-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: bold;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-1-border-color);
}
.button-1 i,
.button-1 svg,
.button-1 i svg,
.button-1 i svg path,
.button-1 svg path {
  fill: var(--button-1-text-color);
}
.button-1:hover {
  background-color: var(--button-1-hover-color);
  color: var(--button-1-hover-text-color);
  border-radius: var(--button-1-hover-radius);
  border: solid 2px var(--button-1-hover-border-color);
}
.button-1:hover i,
.button-1:hover svg,
.button-1:hover i svg,
.button-1:hover i svg path,
.button-1:hover svg path {
  fill: var(--button-1-hover-text-color);
}

.button-2 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-2-color);
  color: var(--button-2-text-color);
  border-radius: var(--button-2-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-2-border-color);
}
.button-2 i,
.button-2 svg,
.button-2 i svg,
.button-2 i svg path,
.button-2 svg path {
  fill: var(--button-2-text-color);
}
.button-2:hover {
  background-color: var(--button-2-hover-color);
  color: var(--button-2-hover-text-color);
  border-radius: var(--button-2-hover-radius);
  border: solid 2px var(--button-2-hover-border-color);
}
.button-2:hover i,
.button-2:hover svg,
.button-2:hover i svg,
.button-2:hover i svg path,
.button-2:hover svg path {
  fill: var(--button-2-hover-text-color);
}

.button-3 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-3-color);
  color: var(--button-3-text-color);
  border-radius: var(--button-3-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-3-border-color);
}
.button-3 i,
.button-3 svg,
.button-3 i svg,
.button-3 i svg path,
.button-3 svg path {
  fill: var(--button-3-text-color);
}
.button-3:hover {
  background-color: var(--button-3-hover-color);
  color: var(--button-3-hover-text-color);
  border-radius: var(--button-3-hover-radius);
  border: solid 2px var(--button-3-hover-border-color);
}
.button-3:hover i,
.button-3:hover svg,
.button-3:hover i svg,
.button-3:hover i svg path,
.button-3:hover svg path {
  fill: var(--button-3-hover-text-color);
}

.button-4 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-4-color);
  color: var(--button-4-text-color);
  border-radius: var(--button-4-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-4-border-color);
}
.button-4 i,
.button-4 svg,
.button-4 i svg,
.button-4 i svg path,
.button-4 svg path {
  fill: var(--button-4-text-color);
}
.button-4:hover {
  background-color: var(--button-4-hover-color);
  color: var(--button-4-hover-text-color);
  border-radius: var(--button-4-hover-radius);
  border: solid 2px var(--button-4-hover-border-color);
}
.button-4:hover i,
.button-4:hover svg,
.button-4:hover i svg,
.button-4:hover i svg path,
.button-4:hover svg path {
  fill: var(--button-4-hover-text-color);
}

.button-5 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-5-color);
  color: var(--button-5-text-color);
  border-radius: var(--button-5-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: bold;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-5-border-color);
}
.button-5 i,
.button-5 svg,
.button-5 i svg,
.button-5 i svg path,
.button-5 svg path {
  fill: var(--button-5-text-color);
}
.button-5:hover {
  background-color: var(--button-5-hover-color);
  color: var(--button-5-hover-text-color);
  border-radius: var(--button-5-hover-radius);
  border: solid 2px var(--button-5-hover-border-color);
}
.button-5:hover i,
.button-5:hover svg,
.button-5:hover i svg,
.button-5:hover i svg path,
.button-5:hover svg path {
  fill: var(--button-5-hover-text-color);
}

.button-6 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-6-color);
  color: var(--button-6-text-color);
  border-radius: var(--button-6-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-6-border-color);
}
.button-6 i,
.button-6 svg,
.button-6 i svg,
.button-6 i svg path,
.button-6 svg path {
  fill: var(--button-6-text-color);
}
.button-6:hover {
  background-color: var(--button-6-hover-color);
  color: var(--button-6-hover-text-color);
  border-radius: var(--button-6-hover-radius);
  border: solid 2px var(--button-6-hover-border-color);
}
.button-6:hover i,
.button-6:hover svg,
.button-6:hover i svg,
.button-6:hover i svg path,
.button-6:hover svg path {
  fill: var(--button-6-hover-text-color);
}

[class^=button-].disabled,
[class^=button-].disabled:hover {
  background: #393939;
  border-color: #393939;
  opacity: 0.7;
}

.page-width {
  max-width: var(--page-width);
  padding: 0 1.5rem;
  margin: 0 auto;
}

.page-width-header {
  max-width: 1600px;
  padding: 0 1.5rem;
  margin: 0 auto;
}

@media only screen and (min-width: 770px) {
  .page-width {
    padding: 0 5rem;
  }
  .page-width-header {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 319.98px) {
  .page-width-header {
    padding: 0 1rem;
  }
}
.page-width-left {
  margin: 0 0 0 auto;
  width: 100%;
  max-width: calc(100vw - (100vw - var(--page-width)) / 2 + 5rem);
  padding-left: 5rem;
}
@media only screen and (max-width: 991.98px) {
  .page-width-left {
    padding: 0 1.5rem;
  }
}

.page-width-right {
  margin: 0 auto 0 0;
  width: 100%;
  max-width: calc(100vw - (100vw - var(--page-width)) / 2 + 5rem);
  padding-right: 5rem;
}
@media only screen and (max-width: 991.98px) {
  .page-width-right {
    padding: 0 1.5rem;
  }
}

.select {
  width: 100%;
  position: relative;
}

.form-errors {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
  grid-column: 1/-1;
  left: 0;
  padding: 5px 10px;
  margin: 10px auto;
  color: white;
  background: #cb3840;
  border: solid 2px #b3333a;
  border-radius: 5px;
}
@media only screen and (max-width: 575.98px) {
  .form-errors {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}
.form-errors .icon-error {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  color: #b3333a;
}
.form-errors .form__message {
  color: white;
  margin: -2px 5px 0 10px;
}
.form-errors .form__message strong {
  font-weight: 700;
}
.form-errors ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.form-errors ul li {
  color: white;
}
.form-errors ul li a {
  color: inherit;
  text-decoration: underline;
}

.form-success {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
  grid-column: 1/-1;
  left: 0;
  padding: 5px 10px;
  margin: 10px auto;
  color: white;
  background: #428445;
  border: solid 2px #346937;
  border-radius: 5px;
}
@media only screen and (max-width: 575.98px) {
  .form-success {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}
.form-success .success-icon {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

.icon {
  width: 32px;
  height: 32px;
}

#cookieNotice {
  box-sizing: border-box;
  position: fixed;
  padding: 10px 15px;
  border-radius: 10px;
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.25);
  z-index: 999997;
  background-color: #ffffff;
}
#cookieNotice * {
  margin: 0;
  padding: 0;
  text-decoration: none;
  list-style: none;
  box-sizing: border-box;
}
#cookieNotice.display-right {
  position: fixed;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  width: 35vw;
}
#cookieNotice .title-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 5px;
  font-size: 20px;
}
#cookieNotice p, #cookieNotice a, #cookieNotice ul {
  font-size: 12px;
  margin-bottom: 10px;
  text-align: center;
}
#cookieNotice .btn-wrap {
  display: flex;
  flex-direction: row;
  font-weight: 700;
  justify-content: center;
  margin: 0 -5px 0 -5px;
  flex-wrap: wrap;
}
#cookieNotice .btn-wrap button {
  flex-grow: 1;
  padding: 0 7px;
  margin: 0 5px 5px 5px;
  border-radius: 20px;
  line-height: 30px;
  cursor: pointer;
  white-space: nowrap;
  min-width: 80px;
  border: none;
  font-size: 14px;
  transition: box-shadow 0.3s;
  outline: none;
  border: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

@media only screen and (max-width: 769.98px) {
  #cookieNotice.display-right {
    width: 85vw;
  }
}
.openSideCart {
  cursor: pointer;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 20px !important;
  color: var(--text-primary-color);
}

.customer {
  display: flex;
}

.swiper-scrollbar .swiper-scrollbar-drag,
.swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--primary-color);
}

.margin-s {
  margin-top: var(--section-margin-s);
  margin-bottom: var(--section-margin-s);
}

.margin-m {
  margin-top: var(--section-margin-m);
  margin-bottom: var(--section-margin-m);
}

.margin-l {
  margin-top: var(--section-margin-l);
  margin-bottom: var(--section-margin-l);
}

.margin-bottom-l {
  margin-bottom: var(--section-margin-l);
}

.padding-s {
  padding-top: var(--section-padding-s);
  padding-bottom: var(--section-padding-s);
}

.padding-m {
  padding-top: var(--section-padding-m);
  padding-bottom: var(--section-padding-m);
}

.padding-l {
  padding-top: var(--section-padding-l);
  padding-bottom: var(--section-padding-l);
}

.padding-top-s {
  padding-top: var(--section-padding-s);
}

.padding-top-m {
  padding-top: var(--section-padding-m);
}

.padding-top-l {
  padding-top: var(--section-padding-l);
}

.padding-bottom-s {
  padding-bottom: var(--section-padding-s);
}

.padding-bottom-m {
  padding-bottom: var(--section-padding-m);
}

.padding-bottom-l {
  padding-bottom: var(--section-padding-l);
}

.vertical-padding {
  padding-top: var(--spacing-sections-desktop);
  padding-bottom: var(--spacing-sections-desktop);
}
@media only screen and (max-width: 769.98px) {
  .vertical-padding {
    padding-top: calc(var(--spacing-sections-desktop) * 0.6);
    padding-bottom: calc(var(--spacing-sections-desktop) * 0.6);
  }
}

.vertical-margin {
  margin-top: var(--spacing-sections-desktop);
  margin-bottom: var(--spacing-sections-desktop);
}
@media only screen and (max-width: 769.98px) {
  .vertical-margin {
    margin-top: var(--spacing-sections-desktop);
    margin-bottom: var(--spacing-sections-desktop);
  }
}

td {
  padding: 25px;
  border: solid 2px #d5d6d7;
  vertical-align: top;
}

thead tr td {
  font-weight: bold;
  padding: 10px 25px;
}

body.locked {
  overflow: hidden !important;
}

[data-hover=anim-grow] {
  scale: 100%;
  transition: scale 0.1s ease-in-out;
}
[data-hover=anim-grow]:hover {
  scale: 110%;
}

.swiper-lazy-preloader {
  border: 4px solid var(--swiper-preloader-color, var(--primary-color)) !important;
  border-top-color: transparent !important;
}
.swiper-lazy-preloader + img {
  opacity: 0;
}

.check-circle-outer, .spinner-circle-outer {
  --check-color: var(--accent-2-color);
  --circle-size: 50px;
  --check-width: calc( var(--circle-size) / 20 );
  width: var(--circle-size);
  height: var(--circle-size);
  position: relative;
  margin: auto;
  border-radius: 50%;
  overflow: hidden;
}
.check-circle-outer .check-line-short, .spinner-circle-outer .check-line-short {
  position: absolute;
  width: var(--check-width);
  height: 30%;
  background-color: var(--check-color);
  border-radius: 100px;
  rotate: -45deg;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  -webkit-animation: enter 400ms ease 450ms forwards;
          animation: enter 400ms ease 450ms forwards;
}
.check-circle-outer .check-line-long, .spinner-circle-outer .check-line-long {
  --height: 60%;
  position: absolute;
  width: var(--check-width);
  height: 0;
  background-color: var(--check-color);
  border-radius: 100px;
  rotate: 45deg;
  top: 71%;
  left: 39%;
  transform: translate(-50%, -50%);
  -webkit-animation: grow-line 400ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 650ms forwards;
          animation: grow-line 400ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 650ms forwards;
}
.check-circle-outer .check-circle, .check-circle-outer .spinner-circle, .spinner-circle-outer .check-circle, .spinner-circle-outer .spinner-circle {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--check-width) solid;
  border-color: var(--check-color);
  opacity: 0.2;
}
.check-circle-outer .check-circle-mask, .check-circle-outer .spinner-circle-mask, .spinner-circle-outer .check-circle-mask, .spinner-circle-outer .spinner-circle-mask {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--check-width) transparent solid;
  border-left-color: var(--check-color);
  opacity: 0;
}
.check-circle-outer .check-circle, .spinner-circle-outer .check-circle {
  -webkit-animation: show 300ms ease 950ms forwards;
          animation: show 300ms ease 950ms forwards;
}
.check-circle-outer .check-circle-mask, .spinner-circle-outer .check-circle-mask {
  --spin-end: 70deg;
  -webkit-animation: spin-circle 300ms ease 350ms forwards;
          animation: spin-circle 300ms ease 350ms forwards;
}
.check-circle-outer .spinner-circle-mask, .spinner-circle-outer .spinner-circle-mask {
  --spin-end: 0deg;
  -webkit-animation: spin-circle 1000ms ease forwards infinite;
          animation: spin-circle 1000ms ease forwards infinite;
}

.cross-circle-outer {
  --cross-color: #d8056b;
  --cross-size: 50px;
  --cross-width: calc(var(--cross-size) / 20);
  width: var(--cross-size);
  height: var(--cross-size);
  position: relative;
  margin: auto;
  border-radius: 50%;
  overflow: hidden;
  -webkit-animation: shake 350ms ease-in-out 900ms;
          animation: shake 350ms ease-in-out 900ms;
}

.cross-line-left,
.cross-line-right {
  position: absolute;
  width: var(--cross-width);
  height: 0%;
  background-color: var(--cross-color);
  border-radius: 100px;
  top: 48%;
  left: 48%;
  -webkit-animation: cross-grow 600ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 250ms forwards;
          animation: cross-grow 600ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 250ms forwards;
}

.cross-line-right {
  rotate: 45deg;
}

.cross-line-left {
  rotate: -45deg;
}

.cross-circle {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--cross-width) solid;
  border-color: var(--cross-color);
  opacity: 0.2;
  -webkit-animation: show 300ms ease 600ms forwards;
          animation: show 300ms ease 600ms forwards;
}

.cross-circle-mask {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--cross-width) transparent solid;
  border-left-color: var(--cross-color);
  -webkit-animation: spin-circle 300ms ease forwards;
          animation: spin-circle 300ms ease forwards;
}

.exclaimation-circle-outer {
  --exclaimation-color: #FF8A05;
  --exclaimation-size: 100px;
  --exclaimation-width: calc(var(--exclaimation-size) / 20);
  width: var(--exclaimation-size);
  height: var(--exclaimation-size);
  position: relative;
  margin: auto;
  border-radius: 50%;
  overflow: hidden;
  -webkit-animation: shake 350ms ease-in-out 900ms;
          animation: shake 350ms ease-in-out 900ms;
}

.exclaimation-line {
  position: absolute;
  width: calc(var(--exclaimation-width) * 2);
  height: 0%;
  background-color: var(--exclaimation-color);
  border-radius: 100px;
  top: 17%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-animation: exclamation-grow 600ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 250ms forwards;
          animation: exclamation-grow 600ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 250ms forwards;
}

.exclaimation-dot {
  position: absolute;
  width: calc(var(--exclaimation-width) * 2.5);
  height: calc(var(--exclaimation-width) * 2.5);
  border-radius: 50%;
  background-color: var(--exclaimation-color);
  bottom: 17%;
  left: 50%;
  --endX: -50%;
  --endY: 0;
  opacity: 0;
  transform: translate(-50%, -200%);
  -webkit-animation: drop 400ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 600ms forwards, show 200ms ease 700ms forwards;
          animation: drop 400ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 600ms forwards, show 200ms ease 700ms forwards;
}

.exclaimation-circle {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--exclaimation-width) rgba(173, 255, 47, 0.2) solid;
  border-color: var(--exclaimation-color);
  opacity: 0.2;
  -webkit-animation: show 300ms ease 600ms forwards;
          animation: show 300ms ease 600ms forwards;
}

.exclaimation-circle-mask {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--exclaimation-width) transparent solid;
  border-top-color: var(--exclaimation-color);
  -webkit-animation: spin-circle 300ms ease forwards;
          animation: spin-circle 300ms ease forwards;
}

@-webkit-keyframes spin-circle {
  0% {
    rotate: 320deg;
    opacity: 1;
  }
  99% {
    rotate: var(--spin-end);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes spin-circle {
  0% {
    rotate: 320deg;
    opacity: 1;
  }
  99% {
    rotate: var(--spin-end);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes enter {
  0% {
    left: 0%;
    top: 0%;
  }
  100% {
    left: 42%;
    top: 57%;
  }
}
@keyframes enter {
  0% {
    left: 0%;
    top: 0%;
  }
  100% {
    left: 42%;
    top: 57%;
  }
}
@-webkit-keyframes grow-line {
  0% {
    height: 0;
    top: 72%;
    left: 40%;
  }
  100% {
    height: var(--height);
    top: 44%;
    left: 40%;
  }
}
@keyframes grow-line {
  0% {
    height: 0;
    top: 72%;
    left: 40%;
  }
  100% {
    height: var(--height);
    top: 44%;
    left: 40%;
  }
}
@-webkit-keyframes show {
  to {
    opacity: 1;
  }
}
@keyframes show {
  to {
    opacity: 1;
  }
}
@-webkit-keyframes show-message {
  from {
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes show-message {
  from {
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
@-webkit-keyframes drop {
  to {
    transform: translate(-50%, 0);
  }
}
@keyframes drop {
  to {
    transform: translate(-50%, 0);
  }
}
@-webkit-keyframes exclamation-grow {
  0% {
    top: 8%;
    left: 50%;
    height: 0;
  }
  100% {
    top: 17%;
    left: 50%;
    height: 50%;
  }
}
@keyframes exclamation-grow {
  0% {
    top: 8%;
    left: 50%;
    height: 0;
  }
  100% {
    top: 17%;
    left: 50%;
    height: 50%;
  }
}
@-webkit-keyframes cross-grow {
  0% {
    top: 48%;
    left: 48%;
    height: 0;
  }
  100% {
    top: 21%;
    left: 49%;
    height: 60%;
  }
}
@keyframes cross-grow {
  0% {
    top: 48%;
    left: 48%;
    height: 0;
  }
  100% {
    top: 21%;
    left: 49%;
    height: 60%;
  }
}
@-webkit-keyframes shake {
  0% {
    transform: translate(2px, 2px) rotate(0deg);
  }
  10% {
    transform: translate(-2px, -3px) rotate(-2deg);
  }
  20% {
    transform: translate(-5px, 0px) rotate(2deg);
  }
  30% {
    transform: translate(5px, 3px) rotate(0deg);
  }
  40% {
    transform: translate(2px, -2px) rotate(2deg);
  }
  50% {
    transform: translate(-2px, 3px) rotate(-2deg);
  }
  60% {
    transform: translate(-5px, 2px) rotate(0deg);
  }
  70% {
    transform: translate(5px, 2px) rotate(-2deg);
  }
  80% {
    transform: translate(-2px, -2px) rotate(2deg);
  }
  90% {
    transform: translate(2px, 3px) rotate(0deg);
  }
  100% {
    transform: translate(2px, -3px) rotate(-2deg);
  }
}
@keyframes shake {
  0% {
    transform: translate(2px, 2px) rotate(0deg);
  }
  10% {
    transform: translate(-2px, -3px) rotate(-2deg);
  }
  20% {
    transform: translate(-5px, 0px) rotate(2deg);
  }
  30% {
    transform: translate(5px, 3px) rotate(0deg);
  }
  40% {
    transform: translate(2px, -2px) rotate(2deg);
  }
  50% {
    transform: translate(-2px, 3px) rotate(-2deg);
  }
  60% {
    transform: translate(-5px, 2px) rotate(0deg);
  }
  70% {
    transform: translate(5px, 2px) rotate(-2deg);
  }
  80% {
    transform: translate(-2px, -2px) rotate(2deg);
  }
  90% {
    transform: translate(2px, 3px) rotate(0deg);
  }
  100% {
    transform: translate(2px, -3px) rotate(-2deg);
  }
}
.loader {
  border: 8px solid #f3f3f3; /* Light grey */
  border-top: 8px solid var(--accent-2-color); /* Blue */
  border-radius: 50%;
  width: 120px;
  height: 120px;
  -webkit-animation: spin 2s linear infinite;
          animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.stacked-field {
  --border:none;
  position: relative;
}
.stacked-field.stacked-field-alt {
  --border: solid 1px;
}
.stacked-field.hidden {
  display: none;
}
.stacked-field input,
.stacked-field select {
  display: block;
  width: 100%;
  border: var(--border);
  outline: none;
  padding: 8px 17px;
  padding-right: 35px;
  border-radius: 5px;
  text-overflow: ellipsis;
  color: var(--text-primary-color);
  background-color: inherit;
}
.stacked-field__label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.stacked-field__field {
  min-height: 36px;
  background-color: white;
  border-radius: 5px;
  display: flex;
  align-items: center;
  position: relative;
}
.stacked-field__field:focus-within {
  outline: solid 2px black;
}
.stacked-field__field svg {
  position: absolute;
  right: 16px;
  pointer-events: none;
  height: 9px;
  width: 16px;
}
.stacked-field__field.date {
  flex: 1;
}
.stacked-field__field.date select {
  padding-right: 28px;
  padding-left: 10px;
}
.stacked-field__field.date .dob_day {
  min-width: 65px;
}
.stacked-field__field.date .dob_year,
.stacked-field__field.date .dob_month {
  min-width: 76px;
}
.stacked-field__field.date svg {
  right: 10px;
}
.stacked-field__field.number-unit {
  overflow: hidden;
}
.stacked-field__field.number-unit .unit {
  position: absolute;
  left: calc(8px + 4ch);
}
.stacked-field__field.number-unit span {
  white-space: nowrap;
}
.stacked-field__multi {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  width: 100%;
}
.stacked-field .school-search {
  position: absolute;
  inset: 1px;
  width: calc(100% - 35px);
  padding-right: 1px;
  z-index: 1;
}
.stacked-field .school-search:-moz-placeholder-shown {
  text-overflow: ellipsis;
}
.stacked-field .school-search:placeholder-shown {
  text-overflow: ellipsis;
}
.stacked-field .school-search::-webkit-search-cancel-button {
  -webkit-appearance: none;
  background-color: var(--accent-2-color);
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23777'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>");
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
}
.stacked-field .search-results {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 1;
  display: none;
  background-color: white;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.stacked-field .search-results.active {
  display: block;
  outline: 2px solid black;
}
.stacked-field .search-results:empty {
  outline: none;
  display: none;
}
.stacked-field .search-results .search-result {
  cursor: pointer;
  padding: 8px;
  padding-left: 17px;
}
.stacked-field .search-results .search-result:hover {
  background-color: #f2f3f8;
}

[data-modal=modal-message] .modal {
  display: flex;
}
[data-modal=modal-message] .message-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  margin: auto;
  font-weight: bold;
}
[data-modal=modal-message] .message-inner .check-circle-outer, [data-modal=modal-message] .message-inner .spinner-circle-outer, [data-modal=modal-message] .message-inner .cross-circle-outer, [data-modal=modal-message] .message-inner .exclaimation-circle-outer {
  --circle-size: 100px;
  --cross-size: 100px;
  --check-color: var(--accent-1-color);
  --cross-color: var(--accent-2-color);
  display: none;
  margin: 0;
}
[data-modal=modal-message] .message-inner .check-circle-outer.active, [data-modal=modal-message] .message-inner .spinner-circle-outer.active, [data-modal=modal-message] .message-inner .cross-circle-outer.active, [data-modal=modal-message] .message-inner .exclaimation-circle-outer.active {
  display: flex;
}
[data-modal=modal-message] .message-inner .message {
  opacity: 0;
  -webkit-animation: show-message 400ms ease 750ms forwards;
          animation: show-message 400ms ease 750ms forwards;
  font-size: 16px;
  max-width: 320px;
  overflow-wrap: anywhere;
}
[data-modal=modal-message] .message-inner .variant-container {
  display: none;
  gap: 10px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 320px;
}
[data-modal=modal-message] .message-inner .variant-container.active {
  display: flex;
}
[data-modal=modal-message] .message-inner .message.error {
  color: var(--accent-2-color);
}
[data-modal=modal-message] .message-inner .message.success {
  color: var(--accent-1-color);
}
[data-modal=modal-message] .message-inner.active {
  display: flex;
}

#dummy-chat-button-iframe, #ShopifyChat {
  transition: 0.3s all;
}
@media only screen and (max-width: 769.98px) {
  #dummy-chat-button-iframe, #ShopifyChat {
    left: unset !important;
    right: 10px !important;
  }
}

.pagination-navigation {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 50px auto 50px;
  padding: 0.5rem 0;
  font-size: 18px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--text-primary-color);
  cursor: pointer;
}
.pagination-navigation .page-number,
.pagination-navigation .pagination-arrow {
  width: 40px;
  height: 40px;
  aspect-ratio: 1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #ddd;
  font-size: 14px;
  color: var(--text-primary-color);
  background: white;
  transition: 0.25s;
}
.pagination-navigation .page-number svg,
.pagination-navigation .pagination-arrow svg {
  height: 30px;
  width: 20px;
  fill: var(--text-primary-color);
}
.pagination-navigation .page-number.page-gap,
.pagination-navigation .pagination-arrow.page-gap {
  cursor: auto; /*border: none;*/
}
.pagination-navigation .page-number:hover:not(.page-gap), .pagination-navigation .page-number.active:not(.page-gap),
.pagination-navigation .pagination-arrow:hover:not(.page-gap),
.pagination-navigation .pagination-arrow.active:not(.page-gap) {
  color: white;
  background: var(--accent-2-color);
  border-color: var(--accent-2-color);
}
.pagination-navigation .page-number:hover:not(.page-gap) svg, .pagination-navigation .page-number.active:not(.page-gap) svg,
.pagination-navigation .pagination-arrow:hover:not(.page-gap) svg,
.pagination-navigation .pagination-arrow.active:not(.page-gap) svg {
  fill: white;
}

.predictive-search .close {
  display: none;
}

.search.mobile {
  display: none;
}
@media only screen and (max-width: 991.98px) {
  .search.mobile {
    display: block;
  }
}

.shopify-challenge__container .shopify-challenge__button {
  margin: 30px auto !important;
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-5-color);
  color: var(--button-5-text-color);
  border-radius: var(--button-5-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: bold;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-5-border-color);
}
.shopify-challenge__container .shopify-challenge__button:hover {
  background-color: var(--button-1-hover-color);
  color: var(--button-1-hover-text-color);
  border-radius: var(--button-1-hover-radius);
  border: solid 2px var(--button-1-hover-border-color);
}
