@import url("https://fonts.googleapis.com/css2?family=Geist:ital,wght@0,100..900;1,100..900&display=swap");
:root {
  --clr-accent-1: #FAA61A;
  --clr-accent-2: #DC8B05;
  --clr-body-1: #F8F9FA;
  --clr-body-2: #D7D8D9;
  --clr-body-3: #7B7C7D;
  --clr-body-4: #535354;
  --clr-body-5: #363636;
  --clr-notice-success-light: rgba(207, 234, 207, 1);
  --clr-notice-success-dark: rgba(92, 184, 92, 1);
  --clr-notice-info-light: rgba(199, 228, 253, 1);
  --clr-notice-info-dark: rgba(66, 165, 246, 1);
  --clr-notice-warning-light: rgba(252, 226, 184, 1);
  --clr-notice-warning-dark: rgba(222, 143, 18, 1);
  --clr-notice-error-light: rgba(245, 195, 200, 1);
  --clr-notice-error-dark: oklch(59.153% 0.20203 21.222);
  --clr-notice-alt-light: oklch(93.253% 0.03828 346.029);
  --clr-notice-alt-dark: oklch(72.828% 0.19712 351.97);
}

:root {
  --font-family: "Geist", sans-serif;
  --fw-regular: 400;
  --fw-medium: 600;
  --fw-bold: 800;
}

:root {
  --br-s: .125rem;
  --br-m: .25rem;
  --br-l: .5rem;
}

/*!
 * Bootstrap Grid v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
}

.row-cols-auto > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
}

.col-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: -ms-grid !important;
  display: grid !important;
}

.d-inline-grid {
  display: -ms-inline-grid !important;
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.d-inline-flex {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

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

.flex-fill {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 auto !important;
          flex: 1 1 auto !important;
}

.flex-row {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
}

.flex-column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.flex-row-reverse {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important;
}

.flex-grow-0 {
  -webkit-box-flex: 0 !important;
      -ms-flex-positive: 0 !important;
          flex-grow: 0 !important;
}

.flex-grow-1 {
  -webkit-box-flex: 1 !important;
      -ms-flex-positive: 1 !important;
          flex-grow: 1 !important;
}

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
}

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
      flex-shrink: 1 !important;
}

.flex-wrap {
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
}

.flex-nowrap {
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
      flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}

.justify-content-end {
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}

.justify-content-center {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.justify-content-between {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.justify-content-around {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important;
}

.justify-content-evenly {
  -webkit-box-pack: space-evenly !important;
      -ms-flex-pack: space-evenly !important;
          justify-content: space-evenly !important;
}

.align-items-start {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}

.align-items-end {
  -webkit-box-align: end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important;
}

.align-items-center {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}

.align-items-baseline {
  -webkit-box-align: baseline !important;
      -ms-flex-align: baseline !important;
          align-items: baseline !important;
}

.align-items-stretch {
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
}

.align-content-start {
  -ms-flex-line-pack: start !important;
      align-content: flex-start !important;
}

.align-content-end {
  -ms-flex-line-pack: end !important;
      align-content: flex-end !important;
}

.align-content-center {
  -ms-flex-line-pack: center !important;
      align-content: center !important;
}

.align-content-between {
  -ms-flex-line-pack: justify !important;
      align-content: space-between !important;
}

.align-content-around {
  -ms-flex-line-pack: distribute !important;
      align-content: space-around !important;
}

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
      align-content: stretch !important;
}

.align-self-auto {
  -ms-flex-item-align: auto !important;
      -ms-grid-row-align: auto !important;
      align-self: auto !important;
}

.align-self-start {
  -ms-flex-item-align: start !important;
      align-self: flex-start !important;
}

.align-self-end {
  -ms-flex-item-align: end !important;
      align-self: flex-end !important;
}

.align-self-center {
  -ms-flex-item-align: center !important;
      -ms-grid-row-align: center !important;
      align-self: center !important;
}

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
      align-self: baseline !important;
}

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
      -ms-grid-row-align: stretch !important;
      align-self: stretch !important;
}

.order-first {
  -webkit-box-ordinal-group: 0 !important;
      -ms-flex-order: -1 !important;
          order: -1 !important;
}

.order-0 {
  -webkit-box-ordinal-group: 1 !important;
      -ms-flex-order: 0 !important;
          order: 0 !important;
}

.order-1 {
  -webkit-box-ordinal-group: 2 !important;
      -ms-flex-order: 1 !important;
          order: 1 !important;
}

.order-2 {
  -webkit-box-ordinal-group: 3 !important;
      -ms-flex-order: 2 !important;
          order: 2 !important;
}

.order-3 {
  -webkit-box-ordinal-group: 4 !important;
      -ms-flex-order: 3 !important;
          order: 3 !important;
}

.order-4 {
  -webkit-box-ordinal-group: 5 !important;
      -ms-flex-order: 4 !important;
          order: 4 !important;
}

.order-5 {
  -webkit-box-ordinal-group: 6 !important;
      -ms-flex-order: 5 !important;
          order: 5 !important;
}

.order-last {
  -webkit-box-ordinal-group: 7 !important;
      -ms-flex-order: 6 !important;
          order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: -ms-grid !important;
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: -ms-inline-grid !important;
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-sm-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-sm-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-sm-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-sm-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-sm-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-sm-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-sm-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }
  .align-self-sm-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-sm-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-sm-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }
  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
  .order-sm-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-sm-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-sm-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-sm-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-sm-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-sm-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-sm-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-sm-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: -ms-grid !important;
    display: grid !important;
  }
  .d-md-inline-grid {
    display: -ms-inline-grid !important;
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-md-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-md-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-md-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-md-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-md-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-md-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-md-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-md-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-md-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-md-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-md-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-md-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-md-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-md-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-md-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }
  .align-self-md-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-md-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-md-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }
  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
  .order-md-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-md-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-md-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-md-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-md-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-md-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-md-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-md-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: -ms-grid !important;
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: -ms-inline-grid !important;
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-lg-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-lg-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-lg-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-lg-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-lg-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-lg-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-lg-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }
  .align-self-lg-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-lg-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-lg-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }
  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
  .order-lg-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-lg-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-lg-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-lg-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-lg-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-lg-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-lg-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-lg-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: -ms-grid !important;
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: -ms-inline-grid !important;
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-xl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-xl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-xl-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-xl-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-xl-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-xl-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-xl-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }
  .align-self-xl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-xl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-xl-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }
  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
  .order-xl-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-xl-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-xl-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-xl-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-xl-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-xl-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-xl-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-xl-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: -ms-grid !important;
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: -ms-inline-grid !important;
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-xxl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-xxl-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-xxl-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-xxl-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-xxl-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-xxl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-xxl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-xxl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-xxl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-xxl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-xxl-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }
  .align-self-xxl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-xxl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-xxl-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }
  .align-self-xxl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
  .order-xxl-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-xxl-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-xxl-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-xxl-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-xxl-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-xxl-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-xxl-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-xxl-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: -ms-grid !important;
    display: grid !important;
  }
  .d-print-inline-grid {
    display: -ms-inline-grid !important;
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-print-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

body {
  min-height: 100svh;
  line-height: 1.5;
}

h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

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

img,
picture {
  max-width: 100%;
  display: block;
  height: auto;
}

input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

html {
  font-size: 1rem;
  font-family: var(--font-family);
  font-weight: var(--fw-regular);
  color: var(--clr-body-3);
}

h1, h2,
h3, h4 {
  color: var(--clr-body-5);
}

h1:not([class]) {
  margin-bottom: 1.125rem;
}

h2:not([class]) {
  margin-bottom: 1.25rem;
}

h3:not([class]) {
  margin-bottom: 1.5rem;
}

h4:not([class]) {
  margin-bottom: 1.75rem;
}

p, h1, h2, h3, h4, a, span, button {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
  text-decoration-thickness: 0.125rem;
  text-decoration-color: currentColor;
  text-underline-offset: -0.25rem;
}
a:not([class]):hover {
  color: var(--clr-body-5);
  text-decoration-color: var(--clr-accent-1);
  text-underline-offset: 0.25rem;
}

* > p {
  margin-bottom: 1.75rem;
}
* > p:last-of-type {
  margin-bottom: 0;
}

* > p:has(+ ul, + ol) {
  margin-bottom: 0.75rem;
}

* > ul:not([class]):has(+ p) {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
  list-style-type: "-  ";
}
* > ul:not([class]):has(+ p)::marker {
  font-weight: var(--fw-medium);
  color: var(--clr-body-2);
}

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

html {
  overflow-y: scroll;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

main {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.container {
  max-width: 1600px;
}

.page-header {
  border-bottom: 0.125rem solid var(--clr-body-2);
  position: relative;
  z-index: 999;
}

.page-header__top {
  background-color: var(--clr-body-3);
  padding-block: 0.5rem;
}
.page-header__top .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .page-header__top .container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.page-header__top .account-links ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
}
.page-header__top .account-links__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  color: white;
  background-color: transparent;
  line-height: 1;
  padding: 0.325rem 0.5rem;
  border-radius: var(--br-m);
  position: relative;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-header__top .account-links__link:hover, .page-header__top .account-links__link:active {
  background-color: var(--clr-body-4);
}
.page-header__top .contact-links {
  display: none;
}
@media (min-width: 768px) {
  .page-header__top .contact-links {
    display: block;
  }
}
.page-header__top .contact-links ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
}
.page-header__top .contact-links__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  text-decoration: none;
  color: white;
  background-color: transparent;
  line-height: 1;
  padding: 0.325rem 0.5rem;
  border-radius: var(--br-m);
  position: relative;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-header__top .contact-links__link:hover, .page-header__top .contact-links__link:active {
  background-color: var(--clr-body-4);
}

.page-header__middle {
  padding-block: 1rem;
  background-color: var(--clr-body-1);
}
.page-header__middle .container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 576px) {
  .page-header__middle .container {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media (min-width: 992px) {
  .page-header__middle .container {
    -ms-grid-columns: 1fr 2rem 2fr 2rem 1fr;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 2rem;
  }
}
.page-header__middle .header-logo-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -ms-grid-column-align: center;
      justify-self: center;
}
@media (min-width: 1200px) {
  .page-header__middle .header-logo-link {
    -ms-grid-column-align: start;
        justify-self: start;
  }
}
.page-header__middle .header-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.page-header__middle .header-logo svg {
  height: 2.5rem;
}
@media (min-width: 576px) {
  .page-header__middle .header-logo svg {
    height: 3.5rem;
  }
}
@media (min-width: 992px) {
  .page-header__middle .header-logo svg {
    height: 2.5rem;
  }
}
@media (min-width: 1200px) {
  .page-header__middle .header-logo svg {
    height: 3.5rem;
  }
}
.page-header__middle .search-bar {
  -ms-grid-column-align: center;
      justify-self: center;
}
@media (min-width: 576px) {
  .page-header__middle .search-bar {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media (min-width: 992px) {
  .page-header__middle .search-bar {
    grid-column: unset;
  }
}
.page-header__middle .delivery-banner {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-column-align: center;
      justify-self: center;
  gap: 1rem;
}
@media (min-width: 768px) {
  .page-header__middle .delivery-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 992px) {
  .page-header__middle .delivery-banner {
    -ms-grid-column-align: end;
        justify-self: end;
  }
}
.page-header__middle .delivery-banner__left {
  font-size: 2rem;
  line-height: 1;
  color: var(--clr-accent-1);
}
.page-header__middle .delivery-banner__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  line-height: 1;
}
.page-header__middle .delivery-banner__right h4 {
  font-size: 1rem;
  color: var(--clr-accent-1);
  margin: 0;
}
.page-header__middle .delivery-banner__right p {
  font-size: 0.875rem;
}

.page-header__bottom {
  background-color: var(--clr-body-1);
  height: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.page-header__bottom > .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.page-header__bottom .mobile-nav-toggle {
  height: 2rem;
  width: 2rem;
  padding: 0;
  margin: 0;
  border: none;
  display: -ms-grid;
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  color: var(--clr-body-5);
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
@media (min-width: 1200px) {
  .page-header__bottom .mobile-nav-toggle {
    display: none;
  }
}
.page-header__bottom .mobile-nav-toggle:hover {
  color: var(--clr-accent-1);
}
.page-header__bottom .primary-navigation {
  display: none;
  color: var(--clr-body-5);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media (min-width: 1200px) {
  .page-header__bottom .primary-navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.page-header__bottom .primary-navigation__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
}
.page-header__bottom .primary-navigation__item:hover .primary-navigation__submenu {
  translate: 0 0;
  opacity: 1;
  pointer-events: fill;
}
.page-header__bottom .primary-navigation__item:hover .primary-navigation__link i {
  color: var(--clr-accent-1);
}
.page-header__bottom .primary-navigation__link {
  height: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 0.5rem;
  font-weight: var(--fw-medium);
}
.page-header__bottom .primary-navigation__link:hover i {
  color: var(--clr-accent-1);
}
.page-header__bottom .primary-navigation__link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  font-size: 0.875rem;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-header__bottom .primary-navigation__link a:hover, .page-header__bottom .primary-navigation__link a:active {
  color: var(--clr-accent-1);
}
@media (min-width: 1600px) {
  .page-header__bottom .primary-navigation__link a {
    font-size: 1rem;
  }
}
.page-header__bottom .primary-navigation__link i {
  font-size: 0.75rem;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-header__bottom .primary-navigation__submenu {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  padding-block: 2rem;
  translate: 0 1rem;
  opacity: 0;
  background-color: white;
  border-bottom: 2px solid var(--clr-accent-1);
  -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
          box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
  pointer-events: none;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-header__bottom .primary-navigation__submenu > .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
}
.page-header__bottom .primary-navigation__subitem a {
  padding: 0.25rem 0.5rem;
  border-radius: var(--br-m);
  text-decoration: none;
  font-weight: var(--fw-medium);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-header__bottom .primary-navigation__subitem a:hover {
  background-color: var(--clr-body-1);
  color: var(--clr-accent-1);
}

.mobile-navigation {
  background-color: white;
  position: absolute;
  top: 100%;
  width: 100%;
  padding: 2rem 2rem;
  border-bottom: 2px solid var(--clr-accent-1);
  translate: 0 1rem;
  opacity: 0;
  pointer-events: none;
  -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
          box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
@media (min-width: 1200px) {
  .mobile-navigation {
    visibility: hidden;
    display: none;
  }
}
.mobile-navigation--menu-open {
  translate: 0;
  opacity: 1;
  pointer-events: fill;
}
.mobile-navigation__list {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-navigation__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.mobile-navigation__link a {
  text-decoration: none;
  font-size: 1.25rem;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.mobile-navigation__link a:hover {
  color: var(--clr-accent-1);
}
.mobile-navigation__toggle-btn {
  color: var(--clr-body-3);
  background-color: transparent;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.mobile-navigation__toggle-btn:hover {
  color: var(--clr-accent-1);
}
.mobile-navigation__submenu {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0fr;
  grid-template-rows: 0fr;
  -webkit-transition: all 300ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 300ms cubic-bezier(0.66, 0, 0.34, 1);
}
.mobile-navigation__submenu--expanded {
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
}
.mobile-navigation__submenu--expanded .mobile-navigation__sublist {
  margin-top: 1rem;
}
.mobile-navigation__sublist {
  overflow: hidden;
  display: -ms-grid;
  display: grid;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding-block: 0;
  padding-inline: 0.5rem 0;
  -webkit-transition: all 300ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 300ms cubic-bezier(0.66, 0, 0.34, 1);
}
.mobile-navigation__subitem a {
  text-decoration: none;
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
}
.mobile-navigation__subitem a:hover {
  color: var(--clr-accent-1);
}

.page-footer {
  padding-block: 3rem;
  background-color: var(--clr-body-1);
}
.page-footer__top {
  gap: 1.5rem 0;
  margin-bottom: 2rem;
}
.page-footer__block {
  display: -ms-grid;
  display: grid;
  grid-auto-rows: -webkit-max-content;
  grid-auto-rows: max-content;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  gap: 1rem;
}
@media (min-width: 768px) {
  .page-footer__block {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    text-align: left;
  }
}
.page-footer__block h3 {
  font-size: 1.25rem;
  text-transform: uppercase;
  color: var(--clr-accent-1);
  margin-bottom: 0;
}
.page-footer__block ul {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
  line-height: 1;
  list-style: none;
  margin: 0;
  padding: 0;
}
.page-footer__block ul a {
  text-decoration: none;
}
@media (min-width: 768px) {
  .page-footer__block-toggle {
    display: none;
  }
}
.page-footer__what3words {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1;
}
.page-footer__what3words:hover .page-footer__what3words-key {
  background-color: var(--clr-accent-2);
}
@media (min-width: 768px) {
  .page-footer__what3words {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}
.page-footer__what3words-logo {
  height: 1.5rem;
}
.page-footer__what3words-key {
  padding: 0.25rem 0.5rem;
  background-color: var(--clr-accent-1);
  color: white !important;
  border-radius: var(--br-m);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

.copyright-notice {
  font-size: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  text-align: center;
}
@media (min-width: 768px) {
  .copyright-notice {
    text-align: left;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}

.social-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .social-links {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
}
.social-links a:hover {
  color: var(--clr-accent-1);
}

.button {
  padding: 0.75rem 1rem;
  font-weight: var(--fw-medium);
  background-color: var(--clr-accent-1);
  border: none;
  border-radius: var(--br-m);
  padding-inline: 1rem;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  color: var(--clr-body-5);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.button:hover, .button:active {
  background-color: var(--clr-accent-2);
}
.button--small {
  padding: 0.5rem 0.75rem;
  background-color: transparent;
  border: 0.125rem solid var(--clr-body-2);
  font-size: 0.875rem;
  gap: 0.25rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.button--small:hover {
  background-color: transparent;
  border-color: var(--clr-accent-1);
}

.product-card__image-wrapper {
  width: 100%;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: var(--br-m);
  overflow: clip;
  position: relative;
  margin-bottom: 0.5rem;
  background-color: var(--clr-body-2);
}
.product-card__image-wrapper:hover .product-card__image {
  scale: 1.025;
}
.product-card__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-card__tags {
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  right: 0.5rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.25rem;
}
.product-card__tag {
  padding: 0.375rem;
  background-color: var(--clr-body-2);
  color: var(--clr-body-4);
  border-radius: var(--br-m);
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
}
.product-card__tag.on-sale, .product-card__tag.discount, .product-card__tag.out-of-stock {
  background-color: var(--clr-notice-error-light);
  color: var(--clr-notice-error-dark);
}
.product-card__tag.on-backorder {
  background-color: var(--clr-notice-warning-light);
  color: var(--clr-notice-warning-dark);
}
.product-card__tag.new, .product-card__tag.free-delivery, .product-card__tag.pack {
  background-color: var(--clr-notice-info-light);
  color: var(--clr-notice-info-dark);
}
.product-card__title-link {
  text-decoration: none;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  line-height: 1.1;
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
}
.product-card__title-link:hover .product-card__title {
  color: var(--clr-accent-1);
}
.product-card__title {
  text-wrap: wrap;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-card__category {
  line-height: 1;
  text-decoration: none;
  color: var(--clr-body-3);
  font-size: 0.75rem;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  font-weight: var(--fw-medium);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.product-card__category:hover, .product-card__category:active {
  color: var(--clr-body-5);
}
.product-card__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}
.product-card__price-prefix {
  font-weight: var(--fw-medium);
  font-size: 0.875rem;
  color: var(--clr-body-5);
}
.product-card__price-value {
  color: var(--clr-accent-1);
  font-weight: var(--fw-bold);
  font-size: 1.25rem;
}
.product-card__price-prediscount {
  font-weight: var(--fw-medium);
  font-size: 1rem;
  text-decoration: line-through;
  text-decoration-color: var(--clr-body-5);
}

.subcategory-card__image-wrapper {
  width: 100%;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: var(--br-m);
  overflow: clip;
  position: relative;
  margin-bottom: 0.5rem;
}
.subcategory-card__image-wrapper:hover .subcategory-card__image {
  scale: 1.025;
}
.subcategory-card__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.subcategory-card__title-link {
  text-decoration: none;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  line-height: 1.1;
  margin-bottom: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
}
.subcategory-card__title-link:hover .subcategory-card__title {
  color: var(--clr-accent-1);
}
.subcategory-card__title {
  text-wrap: wrap;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

.ps-searchbar {
  position: relative;
}
.ps-searchbar:focus-within .ps-searchbar__form {
  -webkit-box-shadow: 0px 0px 0px 0.125rem var(--clr-accent-1);
          box-shadow: 0px 0px 0px 0.125rem var(--clr-accent-1);
}
.ps-searchbar:focus-within .ps-searchbar__search-icon {
  color: var(--clr-body-5);
}
.ps-searchbar__form {
  height: 2rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2rem 1fr 2rem;
  grid-template-columns: 2rem 1fr 2rem;
  background-color: white;
  -webkit-box-shadow: 0px 0px 0px 0.125rem var(--clr-body-2);
          box-shadow: 0px 0px 0px 0.125rem var(--clr-body-2);
  border-radius: var(--br-m);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.ps-searchbar__clear {
  border: none;
  background-color: transparent;
  padding: 0;
  margin: 0;
  display: -ms-grid;
  display: grid;
  place-items: center;
  height: 2rem;
  width: 2rem;
  cursor: pointer;
  color: var(--clr-body-2);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.ps-searchbar__clear:hover {
  color: var(--clr-notice-error-dark);
}
.ps-searchbar__input {
  height: 100%;
  background-color: transparent;
  border: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-grid-column: 2;
  grid-column: 2;
  text-align: center;
  padding: 0;
}
.ps-searchbar__input:focus, .ps-searchbar__input:focus-within {
  outline: none;
}
.ps-searchbar__search-icon {
  height: 2rem;
  width: 2rem;
  display: -ms-grid;
  display: grid;
  place-items: center;
  color: var(--clr-body-2);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.ps-searchbar__dropdown {
  position: absolute;
  background-color: white;
  border-radius: var(--br-m);
  padding: 0.5rem;
  top: calc(100% + 1rem);
  z-index: 9999;
  width: 100%;
  -webkit-box-shadow: 0px 0px 0px 0.125rem var(--clr-body-2);
          box-shadow: 0px 0px 0px 0.125rem var(--clr-body-2);
}
.ps-searchbar__results {
  max-height: 25rem;
  overflow-y: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.ps-searchbar__result-link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 4rem 0.5rem 1fr;
  grid-template-columns: 4rem 1fr;
  gap: 0.5rem;
  text-decoration: none;
  padding-bottom: 0.5rem;
  border-bottom: 0.125rem solid var(--clr-body-1);
}
.ps-searchbar__result-link:last-of-type, .ps-searchbar__result-link:only-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
.ps-searchbar__result-link:hover .ps-searchbar__result-name {
  color: var(--clr-accent-1);
}
.ps-searchbar__result-image-wrapper {
  height: 4rem;
  width: 4rem;
  overflow: clip;
  border-radius: var(--br-s);
  border: 0.125rem solid var(--clr-body-2);
}
.ps-searchbar__result-image {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ps-searchbar__result-name {
  color: var(--clr-body-5);
  margin-block: 0.5rem;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

.alert {
  border: 1.5px solid var(--clr-body-2);
  color: var(--clr-body-3);
  background-color: var(--clr-body-1);
  border-radius: var(--br-m);
  padding: 0.5rem 0.5rem 0.5rem 0.75rem;
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.alert-danger {
  background-color: var(--clr-notice-error-light);
  border-color: var(--clr-notice-error-dark);
  color: var(--clr-notice-error-dark);
}
.alert-warning {
  background-color: var(--clr-notice-warning-light);
  border-color: var(--clr-notice-warning-dark);
  color: var(--clr-notice-warning-dark);
}
.alert-success {
  background-color: var(--clr-notice-success-light);
  border-color: var(--clr-notice-success-dark);
  color: var(--clr-notice-success-dark);
}
.alert-info {
  background-color: var(--clr-notice-info-light);
  border-color: var(--clr-notice-info-dark);
  color: var(--clr-notice-info-dark);
}
.alert .btn-close {
  border: 1.5px solid var(--clr-body-2);
  border-color: inherit;
  border-radius: var(--br-s);
  height: 1.5rem;
  width: 1.5rem;
  background-color: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: inherit;
}
.alert a {
  color: inherit;
  font-weight: var(--fw-medium);
}
.alert i {
  margin: 0 !important;
}

.category-page-header {
  padding-block: 1.25rem;
  border-bottom: 0.125rem solid var(--clr-body-2);
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
}

.breadcrumbs-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}

.breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0.75rem;
}
.breadcrumbs__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  line-height: 1;
}
.breadcrumbs__item a {
  text-decoration: none;
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  text-transform: uppercase;
}
.breadcrumbs__item a:hover {
  color: var(--clr-accent-1);
}
.breadcrumbs__item span {
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  color: var(--clr-accent-1);
}
.breadcrumbs__item i {
  font-size: 0.5rem;
  color: var(--clr-body-2);
}
.breadcrumbs__previous-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  text-decoration: none;
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--clr-body-3);
}
.breadcrumbs__previous-page:hover {
  color: var(--clr-body-5);
}
.breadcrumbs__previous-page i {
  font-size: 0.5rem;
}

.shopping-cart {
  padding-left: 0.75rem;
  border-left: 2px solid var(--clr-body-2);
  margin-inline: auto 0;
}
.shopping-cart__link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  line-height: 1;
  text-decoration: none;
  color: var(--clr-body-5);
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  -ms-grid-column-align: center;
      justify-self: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: var(--fw-medium);
}
.shopping-cart__link:hover .shopping-cart__icon {
  color: var(--clr-accent-2);
}
.shopping-cart__icon {
  font-size: 1.25rem;
  color: var(--clr-accent-1);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.shopping-cart__qty {
  color: var(--clr-body-3);
}
.shopping-cart__qty::before {
  content: "(";
}
.shopping-cart__qty::after {
  content: ")";
}

.hero-slider {
  margin-bottom: 1.5rem;
}
.hero-slider .swiper-wrapper {
  height: 12rem;
}
@media (min-width: 576px) {
  .hero-slider .swiper-wrapper {
    height: 16rem;
  }
}
@media (min-width: 768px) {
  .hero-slider .swiper-wrapper {
    height: 20rem;
  }
}
@media (min-width: 1600px) {
  .hero-slider .swiper-wrapper {
    height: 24rem;
  }
}
.hero-slider .hero-slide {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.hero-slider .hero-slide > .container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 1rem;
  padding-block: 0.75rem;
}
@media (min-width: 1600px) {
  .hero-slider .hero-slide > .container {
    padding-block: 2rem;
  }
}
.hero-slider .hero-slide__text {
  font-size: 1.5rem;
  text-transform: uppercase;
  font-weight: var(--fw-bold);
  color: white;
  max-width: auto;
  text-wrap: balance;
}
@media (min-width: 576px) {
  .hero-slider .hero-slide__text {
    font-size: 2rem;
    max-width: 25ch;
  }
}
@media (min-width: 768px) {
  .hero-slider .hero-slide__text {
    font-size: 2.5rem;
    max-width: 25ch;
  }
}
.hero-slider .hero-slide__button {
  background-color: var(--clr-accent-1);
  color: var(--clr-body-5);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.hero-slider .hero-slide__button:hover {
  background-color: var(--clr-accent-2);
}
.hero-slider .hero-slider-button-wrapper {
  position: absolute;
  z-index: 9999;
  bottom: 0.75rem;
}
@media (min-width: 1600px) {
  .hero-slider .hero-slider-button-wrapper {
    bottom: 2rem;
  }
}
.hero-slider .hero-slider-button-wrapper {
  width: 100%;
  pointer-events: none;
}
.hero-slider .hero-slider-button-wrapper > .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.hero-slider .hero-slider-button-wrapper .hero-slider-button {
  pointer-events: fill;
  background-color: var(--clr-body-3);
  color: white;
  height: 2.5rem;
  width: 2.5rem;
  display: -ms-grid;
  display: grid;
  place-items: center;
  border-radius: var(--br-m);
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.hero-slider .hero-slider-button-wrapper .hero-slider-button:hover, .hero-slider .hero-slider-button-wrapper .hero-slider-button:active {
  background-color: var(--clr-body-2);
  color: var(--clr-body-5);
}

.hero-ctas .hero-cta {
  background-color: var(--clr-accent-1);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  padding: 1.25rem 2rem;
  border-radius: var(--br-m);
  text-decoration: none;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  font-size: 1.25rem;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.hero-ctas .hero-cta:hover {
  background-color: var(--clr-accent-2);
}
.hero-ctas .hero-cta i {
  font-size: 1.5rem;
}

.payments-banner {
  background-color: var(--clr-accent-1);
  padding-block: 1rem;
}
.payments-banner .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media (min-width: 992px) {
  .payments-banner .container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.payments-banner__text {
  color: white;
  font-size: 1.5rem;
  font-weight: var(--fw-medium);
}
.payments-banner__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: white;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  list-style: none;
  margin: 0px;
  padding: 0.25rem;
  gap: 0.25rem;
  border-radius: 0.625rem;
}
.payments-banner__list-item img {
  height: 2rem;
}
.payments-banner .mollie-logo {
  height: 1.75rem;
}

.category-tree {
  background-color: var(--clr-body-1);
  padding: 1rem;
  border-radius: var(--br-m);
}
.category-tree__list, .category-tree__sublist {
  list-style: none;
  padding: 0;
  margin: 0;
}
.category-tree__list {
  display: -ms-grid;
  display: grid;
  gap: 0.75rem;
}
.category-tree__sublist {
  padding-left: 0.5rem;
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.category-tree__item {
  line-height: 1.1rem;
  padding-bottom: 0.75rem;
  border-bottom: 0.0625rem solid var(--clr-body-2);
}
.category-tree__item:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}
.category-tree__item.has-children {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: -webkit-max-content 0fr;
  -ms-grid-rows: max-content 0fr;
  grid-template-rows: -webkit-max-content 0fr;
  grid-template-rows: max-content 0fr;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.category-tree__item-split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.category-tree__item-link, .category-tree__subitem-link {
  text-decoration: none;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.category-tree__item-link.is-active, .category-tree__subitem-link.is-active {
  color: var(--clr-accent-1);
}
.category-tree__item-link:hover, .category-tree__subitem-link:hover {
  color: var(--clr-accent-1);
}
.category-tree__sublist {
  overflow: hidden;
}
.category-tree__subitem-link {
  color: var(--clr-body-3);
  font-weight: var(--fw-regular);
}
.category-tree__item.has-children.is-open {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: -webkit-max-content 1fr;
  -ms-grid-rows: max-content 1fr;
  grid-template-rows: -webkit-max-content 1fr;
  grid-template-rows: max-content 1fr;
}
.category-tree__item.has-children.is-open .category-tree__sublist {
  padding-top: 0.5rem;
}
.category-tree__item-toggle {
  color: var(--clr-body-3);
  cursor: pointer;
  padding: 0;
  margin: 0;
  outline: 0;
  border: none;
  background-color: transparent;
  height: 1rem;
  width: 1rem;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.category-tree__item-toggle:hover {
  color: var(--clr-accent-1);
}

.cart-page {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 2rem;
}
@media (min-width: 1200px) {
  .cart-page {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
    gap: 0;
  }
}

.blockcart-modal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
}
.blockcart-modal__dialog {
  position: fixed;
  background: white;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  padding: 1rem;
  border-radius: var(--br-m);
  max-width: calc(100vw - 3rem);
  width: 100vw;
}
@media (min-width: 992px) {
  .blockcart-modal__dialog {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 2rem;
  }
}
@media (min-width: 1600px) {
  .blockcart-modal__dialog {
    max-width: calc(1600px - 1.5rem);
  }
}
.blockcart-modal__content {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
}
.blockcart-modal__header {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media (min-width: 992px) {
  .blockcart-modal__header {
    -ms-grid-columns: 2rem 1fr 2rem;
    grid-template-columns: 2rem 1fr 2rem;
  }
}
.blockcart-modal__title {
  -ms-grid-column-align: center;
      justify-self: center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  color: var(--clr-notice-success-dark);
  line-height: 1.1;
  text-align: center;
}
@media (min-width: 992px) {
  .blockcart-modal__title {
    gap: 0.5rem;
    text-align: left;
  }
}
@media (min-width: 992px) {
  .blockcart-modal__title {
    -ms-grid-column: 2;
    grid-column: 2;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.blockcart-modal__title i {
  font-size: 2rem;
}
@media (min-width: 992px) {
  .blockcart-modal__title i {
    font-size: 1.5rem;
  }
}
.blockcart-modal__title span {
  font-size: 1.25rem;
  font-weight: var(--fw-medium);
}
.blockcart-modal__button {
  cursor: pointer;
  display: none;
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
  height: 2rem;
  width: 2rem;
  place-items: center;
  background-color: transparent;
  border: none;
  color: var(--clr-body-2);
  -ms-grid-column-align: center;
      justify-self: center;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
@media (min-width: 992px) {
  .blockcart-modal__button {
    display: -ms-grid;
    display: grid;
  }
}
.blockcart-modal__button:hover {
  color: var(--clr-notice-error-dark);
}
.blockcart-modal__body {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 992px) {
  .blockcart-modal__body {
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto;
  }
}
.blockcart-modal__product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 992px) {
  .blockcart-modal__product {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.blockcart-modal__product-image {
  height: 10rem;
  width: 10rem;
  border-radius: var(--br-m);
  overflow: clip;
  display: none;
}
@media (min-width: 992px) {
  .blockcart-modal__product-image {
    display: block;
  }
}
.blockcart-modal__product-image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.blockcart-modal__product-name {
  line-height: 1.1;
  font-weight: var(--fw-medium);
  font-size: 1.5rem;
  color: var(--clr-accent-1);
  margin-bottom: 0.5rem;
}
.blockcart-modal__product-variants {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 0.5rem;
}
.blockcart-modal__product-variants li {
  padding: 0.25rem 0.5rem;
  border-radius: var(--br-m);
  background-color: var(--clr-body-1);
  font-size: 0.75rem;
  line-height: 1;
}
.blockcart-modal__variant-value {
  color: var(--clr-body-5);
}
.blockcart-modal__product-price {
  font-size: 1.75rem;
  color: var(--clr-accent-1);
  font-weight: var(--fw-medium);
}
.blockcart-modal__summary {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
  background-color: var(--clr-body-1);
  padding: 1.5rem;
  border-radius: var(--br-m);
}
.blockcart-modal__subtotals {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.blockcart-modal__total {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.5rem;
}
.blockcart-modal__total .label {
  color: var(--clr-body-3);
}
.blockcart-modal__total .value {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  font-size: 1.125rem;
}
.blockcart-modal__grand-total {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.blockcart-modal__grand-total .label {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  font-size: 0.875rem;
}
.blockcart-modal__grand-total .value {
  color: var(--clr-accent-1);
  font-weight: var(--fw-medium);
  font-size: 1.5rem;
}
.blockcart-modal__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  -ms-grid-row: 2;
  grid-row: 2;
}
@media (min-width: 992px) {
  .blockcart-modal__footer {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    grid-row: unset;
    gap: 2rem;
  }
}
.blockcart-modal__footer a, .blockcart-modal__footer button {
  padding: 1rem 1.5rem;
  border-radius: var(--br-m);
  border: none;
  text-decoration: none;
  font-weight: var(--fw-medium);
  text-align: center;
}
.blockcart-modal__footer a {
  background-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.blockcart-modal__footer a:hover {
  background-color: var(--clr-accent-2);
}
.blockcart-modal__footer button {
  background-color: var(--clr-body-3);
  color: white;
  cursor: pointer;
}
.blockcart-modal__footer button:hover {
  background-color: var(--clr-body-4);
}

.modal-backdrop {
  width: 100vw;
  height: 100vh;
  background-color: var(--clr-body-5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
}

body.modal-open {
  padding: 0 !important;
}

.modal-backdrop.fade {
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

.modal-backdrop.show {
  opacity: 0.5 !important;
}

/* 2. Modal container setup */
#blockcart-modal.modal.fade {
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

/* 3. Dialog box slide & scale entrance animation */
#blockcart-modal.modal.fade .modal-dialog {
  opacity: 0;
  translate: -50% calc(1rem - 50%);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

/* 4. Active open state */
#blockcart-modal.modal.show .modal-dialog {
  opacity: 1;
  translate: -50% -50%;
}

.error-title {
  font-size: 2rem;
  margin-bottom: 4rem;
}

.error-notice {
  font-size: 1.875rem;
  margin-bottom: 2rem;
}

.error-description {
  margin-bottom: 2rem !important;
}

.sales-banner:hover .sales-banner__top, .sales-banner:hover .sales-banner__bottom {
  background-color: var(--clr-accent-1);
}
.sales-banner__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  padding-block: 3rem;
  width: auto;
}
.sales-banner__wrapper {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0.25rem 1rem 1fr 1rem 0.25rem;
  grid-template-rows: 0.25rem 1fr 0.25rem;
  gap: 1rem;
}
.sales-banner__top, .sales-banner__bottom {
  height: 100%;
  width: 75%;
  -ms-grid-column-align: center;
      justify-self: center;
  background-color: white;
  border-radius: 100vh;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.sales-banner__middle {
  font-size: 2rem;
  color: var(--clr-accent-1);
  -ms-grid-column-align: center;
      justify-self: center;
  text-transform: uppercase;
  font-weight: var(--fw-medium);
  text-align: center;
  line-height: 1.1;
}

.specials-and-offers {
  padding-block: 3rem;
  background-color: var(--clr-body-1);
}
.specials-and-offers .row {
  gap: 1.5rem 0;
}
.specials-and-offers__header {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .specials-and-offers__header {
    -ms-grid-columns: 1fr -webkit-max-content;
    -ms-grid-columns: 1fr max-content;
    grid-template-columns: 1fr -webkit-max-content;
    grid-template-columns: 1fr max-content;
  }
}
.specials-and-offers__header .view-more-link {
  -ms-grid-row: 3;
  grid-row: 3;
  color: inherit;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  font-weight: var(--fw-medium);
}
.specials-and-offers__header .view-more-link:hover {
  color: var(--clr-body-5);
}
@media (min-width: 768px) {
  .specials-and-offers__header .view-more-link {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-column-align: end;
        justify-self: end;
  }
}
.specials-and-offers__header h1 {
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--clr-accent-1);
}
@media (min-width: 768px) {
  .specials-and-offers__header h1 {
    font-size: 1rem;
  }
}
.specials-and-offers__header h2 {
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .specials-and-offers__header h2 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media (min-width: 1200px) {
  .specials-and-offers__header h2 {
    font-size: 2.5rem;
  }
}

.featured-categories {
  padding-block: 3rem;
}
.featured-categories--alt {
  background-color: var(--clr-body-1);
}
.featured-categories .row {
  gap: 1.5rem 0;
}
.featured-categories__header {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
.featured-categories__header h1, .featured-categories__header h2 {
  margin: 0;
}
@media (min-width: 768px) {
  .featured-categories__header {
    -ms-grid-columns: 1fr -webkit-max-content;
    -ms-grid-columns: 1fr max-content;
    grid-template-columns: 1fr -webkit-max-content;
    grid-template-columns: 1fr max-content;
  }
}
.featured-categories__header .view-more-link {
  -ms-grid-row: 3;
  grid-row: 3;
  color: inherit;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  font-weight: var(--fw-medium);
}
.featured-categories__header .view-more-link:hover {
  color: var(--clr-body-5);
}
@media (min-width: 768px) {
  .featured-categories__header .view-more-link {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-column-align: end;
        justify-self: end;
  }
}
.featured-categories__header h1 {
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--clr-accent-1);
}
@media (min-width: 768px) {
  .featured-categories__header h1 {
    font-size: 1rem;
  }
}
.featured-categories__header h2 {
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .featured-categories__header h2 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media (min-width: 1200px) {
  .featured-categories__header h2 {
    font-size: 2.5rem;
  }
}
.featured-categories__description {
  margin-top: 1.25rem;
}
@media (min-width: 768px) {
  .featured-categories__description {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
.featured-categories__description p {
  max-width: 90ch;
}

.featured-category__image-wrapper {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  aspect-ratio: 4/3;
  border-radius: var(--br-m);
  overflow: clip;
  margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
  .featured-category__image-wrapper {
    aspect-ratio: 16/9;
  }
}
@media (min-width: 992px) {
  .featured-category__image-wrapper {
    aspect-ratio: 4/3;
  }
}
@media (min-width: 1200px) {
  .featured-category__image-wrapper {
    aspect-ratio: 16/9;
  }
}
.featured-category__image-wrapper:hover .featured-category__image {
  scale: 1.025;
}
.featured-category__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.featured-category__title-link {
  text-decoration: none;
}
.featured-category__title-link:hover .featured-category__title {
  color: var(--clr-accent-1);
}
.featured-category__title {
  text-wrap: wrap;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

.category-header__hero-image-wrapper {
  width: 100%;
  aspect-ratio: 16/9;
  background-color: pink;
  border-radius: var(--br-m);
  overflow: clip;
}
.category-header__hero-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.category-header__content {
  display: -ms-grid;
  display: grid;
  grid-auto-rows: -webkit-max-content;
  grid-auto-rows: max-content;
  gap: 1.5rem;
}

.category-subcategories {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 0.125rem solid var(--clr-body-2);
}
.category-subcategories__title {
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.products__title {
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.products__selection {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 1rem;
}

.products-sort-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  gap: 0.5rem;
}
.products-sort-icons .sort-options-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}
.products-sort-icons .sort-icon-btn {
  width: 2rem;
  height: 2rem;
  display: -ms-grid;
  display: grid;
  place-items: center;
  border-radius: var(--br-m);
  border: 0.125rem solid var(--clr-body-2);
  color: var(--clr-body-2);
  text-decoration: none;
}
.products-sort-icons .sort-icon-btn:hover {
  color: var(--clr-body-5);
}
.products-sort-icons .current {
  color: var(--clr-body-5);
  border-color: var(--clr-accent-1);
}

#js-product-list > .row {
  margin-bottom: 1rem;
  gap: 1.5rem 0;
}

.pagination__number {
  margin-bottom: 0.5rem;
}

.products__pagination .pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 0.5rem;
}
.products__pagination .page-item:first-of-type {
  margin-right: auto;
}
.products__pagination .page-item:last-of-type {
  margin-left: auto;
}
.products__pagination .page-item.active .page-link {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.products__pagination .page-link {
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: transparent;
  border-radius: var(--br-m);
  border: 0.125rem solid var(--clr-body-2);
  color: var(--clr-body-2);
  padding: 0.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  text-transform: uppercase;
  cursor: pointer;
  line-height: 1;
}
.products__pagination .page-link:hover {
  color: var(--clr-body-5);
}
.products__pagination .page-link span {
  font-weight: var(--fw-medium);
  font-size: 0.875rem;
  line-height: 1;
}
.products__pagination .page-link i {
  font-size: 0.75rem;
}
.products__pagination .page-link:not(.previous):not(.next) {
  width: 1.625rem;
  height: 1.625rem;
}

.product-gallery {
  border-radius: var(--br-m);
  margin-bottom: 0;
}
.product-gallery:has(+ .product-gallery__thumbs) {
  margin-bottom: 0.75rem;
}
.product-gallery__slide {
  border-radius: 0.25rem;
  overflow: clip;
}
.product-gallery__product-image {
  width: 100%;
  aspect-ratio: 1;
  background-color: var(--clr-body-2);
  overflow: hidden;
  position: relative;
  cursor: crosshair;
}
.product-gallery__product-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  pointer-events: none;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  will-change: transform;
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0.25, 1, 0.5, 1);
  transition: -webkit-transform 250ms cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 250ms cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 250ms cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 250ms cubic-bezier(0.25, 1, 0.5, 1);
}
.product-gallery__thumbs {
  width: 100%;
  margin-top: 12px;
  overflow: hidden;
  position: relative;
}
.product-gallery__thumbs > .swiper-wrapper:not(.swiper-wrapper-initialized) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 12px;
}
.product-gallery__thumbs > .swiper-wrapper:not(.swiper-wrapper-initialized) > .swiper-slide {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 48px) / 5);
          flex: 0 0 calc((100% - 48px) / 5);
  width: calc((100% - 48px) / 5);
  max-width: calc((100% - 48px) / 5);
  margin-right: 0 !important;
}
.product-gallery__thumbs-slide {
  border-radius: 0.25rem;
  overflow: clip;
  border: 0.125rem solid var(--clr-body-2);
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-gallery__thumbs-slide.swiper-slide-thumb-active {
  border-color: var(--clr-accent-1);
}
.product-gallery__thumb-image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  aspect-ratio: 1;
  background-color: var(--clr-body-2);
}
.product-gallery__thumb-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.product-gallery__button {
  position: absolute;
  bottom: 0.75rem;
  z-index: 999;
  height: 2.5rem;
  width: 2.5rem;
  display: -ms-grid;
  display: grid;
  place-items: center;
  background-color: var(--clr-body-2);
  color: var(--clr-body-5);
  cursor: pointer;
  border-radius: var(--br-m);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-gallery__button:hover {
  background-color: var(--clr-body-5);
  color: white;
}
.product-gallery__button--prev {
  left: 0.75rem;
}
.product-gallery__button--next {
  right: 0.75rem;
}
.product-gallery__button.swiper-button-disabled {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
}

.product__left {
  margin-bottom: 2rem;
}
@media (min-width: 1200px) {
  .product__left {
    margin-bottom: 0;
  }
}
.product__container {
  margin-bottom: 4rem;
}
.product__name {
  margin-bottom: 0.75rem;
}
.product__name h1 {
  line-height: 1.1;
}
.product__flags {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 0.125rem solid var(--clr-body-2);
}
.product__flags .product-flags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0 !important;
}
.product__flags .badge {
  padding: 0.375rem;
  background-color: var(--clr-body-2);
  color: var(--clr-body-4);
  border-radius: var(--br-m);
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  line-height: 1;
}
.product__flags .badge.on-sale, .product__flags .badge.discount, .product__flags .badge.out-of-stock {
  background-color: var(--clr-notice-error-light);
  color: var(--clr-notice-error-dark);
}
.product__flags .badge.on-backorder {
  background-color: var(--clr-notice-warning-light);
  color: var(--clr-notice-warning-dark);
}
.product__flags .badge.new, .product__flags .badge.free-delivery, .product__flags .badge.pack {
  background-color: var(--clr-notice-info-light);
  color: var(--clr-notice-info-dark);
}
.product__prices {
  margin-bottom: 1rem;
}
.product__prices-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.product__regular-price {
  font-size: 1.25rem;
  text-decoration: line-through;
  text-decoration-thickness: 0.125rem;
  text-decoration-style: double;
}
.product__price {
  font-size: 1.75rem;
  font-weight: var(--fw-medium);
  color: var(--clr-accent-1);
}
.product__tax-infos {
  text-transform: uppercase;
  color: var(--clr-body-5);
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
}
.product__discount-infos span {
  background-color: var(--clr-notice-success-light);
  color: var(--clr-notice-success-dark);
  padding: 0.375rem;
  font-size: 0.875rem;
  border-radius: var(--br-m);
  text-transform: uppercase;
  font-weight: var(--fw-medium);
  line-height: 1;
}
.product__description-short {
  margin-bottom: 2rem;
}
.product__availability-status {
  padding: 0.25rem 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  border-radius: var(--br-m);
  border: 1.5px solid var(--clr-body-2);
  color: var(--clr-body-3);
  background-color: var(--clr-body-1);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.product__availability-status.text-warning {
  background-color: var(--clr-notice-warning-light);
  border-color: var(--clr-notice-warning-dark);
  color: var(--clr-notice-warning-dark);
}
.product__availability-status.text-success {
  background-color: var(--clr-notice-success-light);
  border-color: var(--clr-notice-success-dark);
  color: var(--clr-notice-success-dark);
}
.product__availability-status.text-danger {
  background-color: var(--clr-notice-error-light);
  border-color: var(--clr-notice-error-dark);
  color: var(--clr-notice-error-dark);
}
.product__availability-messages {
  font-weight: var(--fw-medium);
  font-size: 0.875rem;
  text-transform: uppercase;
}
.product__add-to-cart-container {
  margin-bottom: 1rem;
}

.product__variants {
  margin-bottom: 2rem;
}

.product-variant {
  border: none;
  margin: 0;
  padding: 0;
}
.product-variant__legend {
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}
.product-variant__select, .product-variant ::picker(select) {
  -webkit-appearance: base-select;
     -moz-appearance: base-select;
          appearance: base-select;
}
.product-variant ::picker(select) {
  margin-top: 0.5rem;
  background: white;
  border-radius: var(--br-m);
  padding: 0.5rem;
  border: 0.125rem solid var(--clr-body-2);
  color: var(--clr-body-3);
  top: anchor(bottom);
  bottom: auto;
  left: anchor(left);
  right: anchor(right);
}
.product-variant__select {
  padding: 0.25rem 0.75rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  color: var(--clr-body-3);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-variant__select:open {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.product-variant__select:hover {
  background-color: white;
  color: var(--clr-body-5);
}
.product-variant__select::picker-icon {
  content: "\f078";
  font-family: "Font Awesome 7 Pro", "FontAwesome" !important;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 0.875rem;
  color: var(--clr-body-3);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.product-variant__select:open::picker-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  color: var(--clr-accent-1);
}
.product-variant__select:hover::picker-icon {
  color: var(--clr-accent-1);
}
.product-variant__select option {
  padding: 0.25rem 0.5rem;
  gap: 0;
  border-radius: var(--br-m);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  margin-bottom: 0.5rem;
  color: var(--clr-body-5);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-variant__select option:hover {
  background-color: var(--clr-body-2);
}
.product-variant__select option:last-of-type {
  margin-bottom: 0;
}
.product-variant__select option::checkmark {
  content: "";
}
.product-variant__radios {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}
.product-variant__radio input {
  display: none;
}
.product-variant__radio input:checked + label {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.product-variant__radio label {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 0.125rem solid var(--clr-body-2);
  padding: 0.5rem 0.75rem;
  border-radius: var(--br-m);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-variant__radio label:hover {
  color: var(--clr-body-5);
}

.product-quantity {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}
.product-quantity .quantity-button__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-quantity .quantity-button__group:focus-within {
  border-color: var(--clr-accent-1);
}
.product-quantity .quantity-button__group button {
  width: 2.5rem;
  height: 2.5rem;
  background-color: transparent;
  color: var(--clr-body-2);
  border: none;
  padding: none;
  margin: none;
  display: -ms-grid;
  display: grid;
  place-items: center;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-quantity .quantity-button__group button:hover {
  color: var(--clr-body-5);
}
.product-quantity .quantity-button__group input {
  width: 5ch;
  border: none;
  text-align: center;
  outline: none;
}

.product__add-to-cart-button {
  height: 2.75rem;
  font-weight: var(--fw-medium);
  background-color: var(--clr-accent-1);
  border: none;
  border-radius: var(--br-m);
  padding-inline: 1rem;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product__add-to-cart-button:hover {
  background-color: var(--clr-accent-2);
}

.ps-emailalerts.ps-emailalerts--product p.h4 {
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  margin-bottom: 0.5rem !important;
  color: var(--clr-body-5);
}
.ps-emailalerts.ps-emailalerts--product p + p {
  margin-bottom: 0.75rem !important;
}
.ps-emailalerts.ps-emailalerts--product input {
  height: 1.875rem;
  padding-inline: 0.5rem;
  border-radius: var(--br-m);
  -webkit-box-shadow: 0px 0px 0px 0.125rem var(--clr-body-2);
          box-shadow: 0px 0px 0px 0.125rem var(--clr-body-2);
  outline: none;
  border: none;
  margin-right: 0.5rem;
}
.ps-emailalerts.ps-emailalerts--product button {
  background-color: var(--clr-accent-1);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 2rem;
  padding-inline: 0.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: var(--fw-medium);
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  color: var(--clr-body-5);
  border-radius: var(--br-m);
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.ps-emailalerts.ps-emailalerts--product button:hover, .ps-emailalerts.ps-emailalerts--product button:active {
  background-color: var(--clr-accent-2);
}

.product-navigation-tabs {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 0.125rem solid var(--clr-body-2);
}
.product-navigation-tabs__tab-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  gap: 1rem;
  margin: 0;
  padding: 0;
  border-bottom: 0.125rem solid var(--clr-body-2);
}
.product-navigation-tabs__tab-item {
  line-height: 1;
}
.product-navigation-tabs__tab-button {
  background-color: transparent;
  border: none;
  margin: 0;
  padding-inline: 0;
  padding-block: 1rem;
  cursor: pointer;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
  font-size: 1.125rem;
  position: relative;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-navigation-tabs__tab-button:hover {
  color: var(--clr-accent-1);
}
.product-navigation-tabs__tab-button::after {
  content: "";
  display: block;
  height: 0.125rem;
  width: 100%;
  background-color: transparent;
  position: absolute;
  bottom: -0.125rem;
  left: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-navigation-tabs__tab-button--active {
  color: var(--clr-accent-1);
}
.product-navigation-tabs__tab-button--active::after {
  background-color: var(--clr-accent-1);
}
.product-navigation-tabs__pane-wrappers {
  padding-top: 1.5rem;
}
.product-navigation-tabs__tab-pane {
  display: none;
}
.product-navigation-tabs__tab-pane--active {
  display: block;
  -webkit-animation: tabFadeIn 200ms cubic-bezier(0.66, 0, 0.34, 1) forwards;
          animation: tabFadeIn 200ms cubic-bezier(0.66, 0, 0.34, 1) forwards;
}
@-webkit-keyframes tabFadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(0.5rem);
            transform: translateY(0.5rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes tabFadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(0.5rem);
            transform: translateY(0.5rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.attachments {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.attachments .attachment {
  padding: 0.75rem 1rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  text-decoration: none;
  color: var(--clr-body-5);
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.attachments .attachment__name {
  font-weight: var(--fw-medium);
}
.attachments .attachment__description {
  color: var(--clr-body-3);
}
.attachments .attachment:hover {
  border-color: var(--clr-accent-1);
}

.ps-categoryproducts, .ps-viewedproduct, .product__accessories, .ps-featuredproducts {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
}
.ps-categoryproducts:has(+ .ps-categoryproducts, + .ps-viewedproduct, + .product__accessories, + .ps-featuredproducts), .ps-viewedproduct:has(+ .ps-categoryproducts, + .ps-viewedproduct, + .product__accessories, + .ps-featuredproducts), .product__accessories:has(+ .ps-categoryproducts, + .ps-viewedproduct, + .product__accessories, + .ps-featuredproducts), .ps-featuredproducts:has(+ .ps-categoryproducts, + .ps-viewedproduct, + .product__accessories, + .ps-featuredproducts) {
  padding-bottom: 2rem;
  border-bottom: 0.125rem solid var(--clr-body-2);
  margin-bottom: 2rem;
}
.ps-categoryproducts .row, .ps-viewedproduct .row, .product__accessories .row, .ps-featuredproducts .row {
  gap: 1.5rem 0;
}
.ps-categoryproducts .button, .ps-viewedproduct .button, .product__accessories .button, .ps-featuredproducts .button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.info-table {
  margin-block: 0 1.75rem;
}
.info-table h4 {
  margin-bottom: 1rem;
}
.info-table .info-table__contents {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  border-radius: 4px;
}
.info-table__row {
  grid-column: 1/-1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: subgrid;
  grid-template-columns: subgrid;
  padding: 0.75rem 1rem;
  border-left: 0.125rem solid var(--clr-body-2);
  border-right: 0.125rem solid var(--clr-body-2);
}
.info-table__row:first-child {
  border-radius: var(--br-m) var(--br-m) 0 0;
}
.info-table__row:last-child {
  border-bottom: 0.125rem solid var(--clr-body-2);
  border-radius: 0 0 var(--br-m) var(--br-m);
}
.info-table__row:nth-child(even) {
  background-color: #f9f9f9;
}
.info-table__row--header {
  background-color: var(--clr-accent-1) !important;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  border-color: var(--clr-accent-1);
}
.info-table__row--span-all > * {
  grid-column: 1/-1;
}
.info-table__row p {
  margin: 0;
}

.product__description-short .info-table {
  margin-block: 1.75rem 0;
}

.cart-summary-wrapper {
  background-color: var(--clr-body-1);
  padding: 2rem;
  border-radius: var(--br-m);
  position: sticky;
  top: 3rem;
}

.cart-summary__summary {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
}
.cart-summary__products {
  margin-bottom: 0.75rem;
}
.cart-summary__totals, .cart-summary__subtotals {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.cart-summary__tax-and-total {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
}
.cart-summary__totals {
  padding-bottom: 1.5rem;
  border-bottom: 0.125rem solid var(--clr-body-2);
}
.cart-summary__line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.cart-summary__value {
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}
.cart-summary__checkout-button, .cart-summary__continue-button {
  padding: 0.75rem 1rem;
  border-radius: var(--br-m);
  border: none;
  text-decoration: none;
  font-weight: var(--fw-medium);
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.cart-summary__grand-total {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
  text-align: center;
}
.cart-summary__grand-total .cart-summary__label {
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}
.cart-summary__grand-total .cart-summary__value {
  font-size: 1.25rem;
  color: var(--clr-accent-1);
}
.cart-summary__checkout-button {
  background-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.cart-summary__checkout-button:hover {
  background-color: var(--clr-accent-2);
}
.cart-summary__checkout-button--disabled {
  cursor: not-allowed;
  opacity: none;
}
.cart-summary__voucher {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

.cart-voucher__input {
  display: -ms-grid;
  display: grid;
  gap: 0.75rem;
}
.cart-voucher__input-label {
  line-height: 1.1;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}
.cart-voucher__form {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.cart-voucher__input-wrapper {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2.5rem 0.5rem 1fr 0.5rem 2.5rem;
  grid-template-columns: 2.5rem 1fr 2.5rem;
  gap: 0.5rem;
  background-color: white;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
}
.cart-voucher__input-wrapper input {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 2.5rem;
  padding: 0;
  background-color: transparent;
  border: none;
  outline: none;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  color: var(--clr-body-5);
}
.cart-voucher__input-wrapper input::-webkit-input-placeholder {
  color: var(--clr-body-2);
}
.cart-voucher__input-wrapper input::-moz-placeholder {
  color: var(--clr-body-2);
}
.cart-voucher__input-wrapper input:-ms-input-placeholder {
  color: var(--clr-body-2);
}
.cart-voucher__input-wrapper input::-ms-input-placeholder {
  color: var(--clr-body-2);
}
.cart-voucher__input-wrapper input::placeholder {
  color: var(--clr-body-2);
}
.cart-voucher__clear-button {
  background-color: transparent;
  border: none;
  padding: 0;
  margin: 0;
  display: -ms-grid;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--clr-body-3);
  pointer-events: none;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.cart-voucher__clear-button.is-visible {
  pointer-events: fill;
  opacity: 1;
}
.cart-voucher__clear-button:hover {
  color: var(--clr-notice-error-dark);
}
.cart-voucher__apply-voucher {
  padding: 0.75rem 1rem;
  border-radius: var(--br-m);
  border: none;
  text-decoration: none;
  font-weight: var(--fw-medium);
  text-align: center;
  background-color: var(--clr-body-3);
  color: white;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.cart-voucher__apply-voucher:hover {
  background-color: var(--clr-body-4);
}
.cart-voucher__applied-vouchers {
  display: -ms-grid;
  display: grid;
  gap: 0.75rem;
}
.cart-voucher__applied-list-label {
  line-height: 1.1;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}
.cart-voucher__applied-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.cart-voucher__applied-voucher {
  border: 0.125rem solid var(--clr-body-2);
  background-color: white;
  padding: 0.5rem;
  border-radius: var(--br-m);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cart-voucher__applied-voucher-label {
  color: var(--clr-body-5);
  font-size: 0.875rem;
}
.cart-voucher__applied-voucher-label i {
  font-size: 1rem;
  color: var(--clr-accent-1);
}
.cart-voucher__remove-voucher {
  text-decoration: none;
  color: var(--clr-body-2);
}
.cart-voucher__remove-voucher:hover {
  color: var(--clr-notice-error-dark);
}
.cart-voucher__highlighted-vouchers {
  display: -ms-grid;
  display: grid;
  gap: 0.7rem;
}
.cart-voucher__highlighted-vouchers-label {
  line-height: 1.1;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}
.cart-voucher__codes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.cart-voucher__code-button {
  border: 0.125rem solid var(--clr-body-2);
  background-color: white;
  padding: 0.5rem;
  border-radius: var(--br-m);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  line-height: 1;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.cart-voucher__code-button:hover {
  border-color: var(--clr-accent-1);
}
.cart-voucher__code-value {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.cart-voucher__code-name {
  font-size: 0.75rem;
}

.cart-page {
  margin-bottom: 2rem;
}
.cart-page__list-wrapper {
  padding-block: 1rem;
}
.cart-page__item {
  border-bottom: 0.0625rem solid var(--clr-body-2);
}
.cart-page__item:last-of-type {
  border: none;
}
.cart-page__continue-button {
  padding: 0.75rem 1rem;
  border-radius: var(--br-m);
  border: none;
  text-decoration: none;
  font-weight: var(--fw-medium);
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  background-color: var(--clr-body-3);
  color: white;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.cart-page__continue-button:hover {
  background-color: var(--clr-body-4);
}
.cart-page__empty {
  padding-block: 1rem 2rem;
}

.product-line {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  padding-block: 1.5rem;
  gap: 1.5rem;
}
@media (min-width: 1200px) {
  .product-line {
    -ms-grid-columns: 10rem 1fr;
    grid-template-columns: 10rem 1fr;
  }
}
.product-line__image-wrapper {
  aspect-ratio: 1;
  background-color: var(--clr-body-2);
  overflow: clip;
  border-radius: var(--br-m);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.product-line__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.product-line__content {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.product-line__content-top {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.product-line__title {
  font-size: 1.25rem;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
  text-decoration: none;
}
.product-line__title:hover {
  color: var(--clr-accent-1);
}
.product-line__pricing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.product-line__line-price {
  color: var(--clr-accent-1);
  font-size: 1.25rem;
  font-weight: var(--fw-medium);
}
.product-line__item-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}
.product-line__price {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.product-line__regular-price {
  text-decoration: line-through;
}
.product-line__item-each {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  font-size: 0.75rem;
}
.product-line__content-middle {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media (min-width: 1200px) {
  .product-line__content-middle {
    -ms-grid-columns: 1fr auto 3rem;
    grid-template-columns: 1fr auto 3rem;
  }
}
.product-line__attributes {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  -ms-grid-column-span: 2;
  grid-column: span 2;
}
@media (min-width: 1200px) {
  .product-line__attributes {
    grid-column: unset;
  }
}
.product-line__attribute {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  gap: 0.25rem;
  padding: 0.5rem 0.5rem;
  border-radius: var(--br-m);
  background-color: var(--clr-body-1);
  font-size: 0.75rem;
  line-height: 1;
}
.product-line__attribute-value {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.product-line__quantity-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}
.product-line__quantity-control .quantity-button__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-line__quantity-control .quantity-button__group:focus-within {
  border-color: var(--clr-accent-1);
}
.product-line__quantity-control .quantity-button__group button {
  width: 2.5rem;
  height: 2.5rem;
  background-color: transparent;
  color: var(--clr-body-2);
  border: none;
  padding: none;
  margin: none;
  display: -ms-grid;
  display: grid;
  place-items: center;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.product-line__quantity-control .quantity-button__group button:hover {
  color: var(--clr-body-5);
}
.product-line__quantity-control .quantity-button__group input {
  width: 5ch;
  border: none;
  text-align: center;
  outline: none;
}
.product-line__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
@media (min-width: 1200px) {
  .product-line__actions {
    -ms-grid-column: 3;
    grid-column: 3;
  }
}
.product-line__actions a {
  display: -ms-grid;
  display: grid;
  width: 2rem;
  aspect-ratio: 1;
  place-items: center;
  font-size: 1rem;
  color: var(--clr-body-2);
}
.product-line__actions a:hover {
  color: var(--clr-notice-error-dark);
}
.product-line__item-availability {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
}
.product-line__item-availability.text-warning {
  color: var(--clr-notice-warning-dark);
}
.product-line__item-availability.text-danger {
  color: var(--clr-notice-error-dark);
}

/* Hide all step panels inside the checkout tab content by default */
.checkout-grid__content .tab-content > section.step.tab-pane {
  display: none !important;
}

/* Display only the active step */
.checkout-grid__content .tab-content > section.step.tab-pane.active,
.checkout-grid__content .tab-content > section.step.tab-pane.show,
.checkout-grid__content .tab-content > section.step.tab-pane.js-current-step {
  display: block !important;
}

/* Ensure child form content is visible within the active step */
.checkout-grid__content .tab-content > section.step.tab-pane.active .step__content {
  display: block !important;
}

.checkout-grid__content .tab-content > section.step.tab-pane {
  display: none !important;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

.checkout-grid__content .tab-content > section.step.tab-pane.active.show,
.checkout-grid__content .tab-content > section.step.tab-pane.js-current-step {
  display: block !important;
  opacity: 1;
}

/* Container styling */
#personal-information-tabs.nav-underline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  border-bottom: 2px solid var(--clr-body-1);
  margin-bottom: 1.75rem;
  padding: 0;
  list-style: none;
}

#personal-information-tabs .nav-item {
  margin-bottom: -2px; /* Pull active border over the container line */
}

/* Tab button base */
#personal-information-tabs .nav-link {
  position: relative;
  display: inline-block;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0.65rem 0.25rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--clr-body-3);
  cursor: pointer;
  -webkit-transition: color 0.2s ease, border-color 0.2s ease;
  transition: color 0.2s ease, border-color 0.2s ease;
  text-decoration: none;
}

/* Hover state */
#personal-information-tabs .nav-link:hover,
#personal-information-tabs .nav-link:focus {
  color: #212529;
  border-bottom-color: var(--clr-body-3);
}

/* Active tab state */
#personal-information-tabs .nav-link.active {
  color: var(--clr-body-5);
  border-bottom-color: var(--clr-accent-1);
}

/* Optional smooth fade animation for tab panes */
#personal-information-tabs-content .tab-pane {
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

/* Ensure the inactive form panel is completely hidden */
#personal-information-tabs-content > .tab-pane {
  display: none !important;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}

/* Force display only for the active form panel */
#personal-information-tabs-content > .tab-pane.active {
  display: block !important;
  visibility: visible;
}

/* Ensure full opacity once Bootstrap's .show class is added */
#personal-information-tabs-content > .tab-pane.active.show {
  opacity: 1;
}

.checkout-grid .cart-summary__subtotals {
  padding-bottom: 1rem;
}

.checkout-steps {
  background-color: var(--clr-body-1);
  padding-block: 1.5rem;
  margin-bottom: 2rem;
}
.checkout-steps__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
}
.checkout-steps__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.checkout-steps__btn {
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  background-color: transparent;
  font-size: 0.875rem;
  text-transform: uppercase;
  font-weight: var(--fw-medium);
  color: var(--clr-body-2);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.checkout-steps__btn:hover {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.checkout-steps__step--success .checkout-steps__btn {
  background-color: var(--clr-notice-success-light);
  color: var(--clr-notice-success-dark);
  border-color: var(--clr-notice-success-dark);
}
.checkout-steps__step--current .checkout-steps__btn {
  background-color: transparent;
  color: var(--clr-body-5);
  border-color: var(--clr-accent-1);
}

.step__title h1, .step__title p {
  font-size: 1.5rem;
  color: var(--clr-body-5);
  font-weight: var(--fw-bold);
  margin-bottom: 1.5rem;
}
.step #login-form, .step #customer-form {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
}
.step #login-form .form-group, .step #customer-form .form-group {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.step #login-form .form-control, .step #customer-form .form-control {
  background-color: white;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  width: 25rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.25rem 0.5rem;
  height: 2rem;
  outline: none;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #login-form .form-control:focus-visible, .step #customer-form .form-control:focus-visible {
  border-color: var(--clr-accent-1);
}
.step #login-form .form-label, .step #customer-form .form-label {
  font-size: 1rem;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.step #login-form .form-label.required::after, .step #customer-form .form-label.required::after {
  content: "*";
  color: var(--clr-notice-error-dark);
}
.step #login-form .form-text, .step #customer-form .form-text {
  font-size: 0.75rem;
  color: var(--clr-body-3);
}
.step #login-form .form-check, .step #customer-form .form-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.step #login-form .form-check-input, .step #customer-form .form-check-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #login-form .form-check-input::after, .step #customer-form .form-check-input::after {
  content: "";
  position: absolute;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  background-color: var(--clr-accent-1);
  inset: 0.125rem;
  border-radius: var(--br-s);
  scale: 0;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #login-form .form-check-input:hover, .step #customer-form .form-check-input:hover {
  border-color: var(--clr-body-5);
}
.step #login-form .form-check-input:checked, .step #customer-form .form-check-input:checked {
  border-color: var(--clr-body-5);
}
.step #login-form .form-check-input:checked::after, .step #customer-form .form-check-input:checked::after {
  scale: 1;
  opacity: 1;
}
.step #login-form .form-check-label, .step #customer-form .form-check-label {
  display: -ms-grid;
  display: grid;
  gap: 0.25rem;
  color: var(--clr-body-5);
}
.step #login-form .form-check-label em, .step #customer-form .form-check-label em {
  font-size: 0.75rem;
  color: var(--clr-body-3);
}
.step #login-form .form-check-label .optional, .step #customer-form .form-check-label .optional {
  font-size: 0.875rem;
  color: var(--clr-body-3);
}
.step #login-form .password-field, .step #customer-form .password-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
}
.step #login-form .button.js-custom-toggle-password, .step #customer-form .button.js-custom-toggle-password {
  height: 2rem;
  width: 2rem;
  display: -ms-grid;
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  color: var(--clr-body-3);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #login-form .button.js-custom-toggle-password:hover, .step #customer-form .button.js-custom-toggle-password:hover {
  color: var(--clr-body-5);
}
.step #login-form .button.js-custom-toggle-password i, .step #customer-form .button.js-custom-toggle-password i {
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #login-form .button.js-custom-toggle-password .fa-eye, .step #customer-form .button.js-custom-toggle-password .fa-eye {
  color: var(--clr-notice-error-dark);
}
.step #login-form .create-account-password .form-text, .step #customer-form .create-account-password .form-text {
  display: none;
}
.step .buttons-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.step .button {
  background-color: var(--clr-accent-1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  font-weight: var(--fw-medium);
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  border: none;
  color: var(--clr-body-5);
  border-radius: var(--br-m);
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step .button:hover, .step .button:active {
  background-color: var(--clr-accent-2);
}
.step .button span, .step .button i {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.step .button i {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.step .button--small {
  padding: 0.25rem 0.5rem;
  background-color: transparent;
  border: 0.125rem solid var(--clr-body-2);
  font-size: 0.875rem;
  gap: 0.25rem;
}
.step .button--small:hover {
  background-color: transparent;
  border-color: var(--clr-accent-1);
}
.step .button--cancel {
  padding: 0.25rem 0.5rem;
  background-color: transparent;
  border: 0.125rem solid var(--clr-body-2);
  font-size: 0.875rem;
  gap: 0.25rem;
}
.step .button--cancel:hover {
  background-color: var(--clr-notice-error-light);
  border-color: var(--clr-notice-error-dark);
  color: var(--clr-notice-error-dark);
}
.step__account {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
  margin-bottom: 1rem;
}
.step__account p {
  margin: 0;
}
.step__account .logout-box {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.step__content > .js-address-form {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
}
.step__content > .js-address-form > form {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
}
.step__content > .js-address-form > .buttons-wrapper {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.step .main-address-wrapper, .step .invoice-address-wrapper {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.step .main-address-wrapper > p, .step .invoice-address-wrapper > p {
  margin: 0;
}
.step .main-address-wrapper h3, .step .invoice-address-wrapper h3 {
  margin-bottom: 0;
}
.step .address__list {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  padding: 2rem;
  background-color: var(--clr-body-1);
  border-radius: var(--br-l);
}
.step .address-card {
  padding: 1rem;
  background-color: white;
  border-radius: var(--br-m);
  border: 0.125rem solid var(--clr-body-2);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step .address-card.selected {
  border-color: var(--clr-accent-1);
}
.step .address-card.selected:hover {
  border-color: var(--clr-accent-1);
}
.step .address-card:hover {
  border-color: var(--clr-body-3);
}
.step .address-card__container {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  height: 100%;
  grid-auto-rows: -webkit-max-content -webkit-max-content 1fr;
  grid-auto-rows: max-content max-content 1fr;
}
.step .address-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.step .address-card__header input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.125rem;
  height: 1.125rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step .address-card__header input::after {
  content: "";
  position: absolute;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  background-color: var(--clr-accent-1);
  inset: 0.125rem;
  border-radius: var(--br-s);
  scale: 0;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step .address-card__header input:checked::after {
  scale: 1;
  opacity: 1;
}
.step .address-card__alias {
  line-height: 1;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}
.step .address-card__content {
  display: -ms-grid;
  display: grid;
  gap: 0.125rem;
  list-style: none;
  padding: 0;
  margin: 0;
  font-style: normal;
}
.step .address-card__actions {
  -ms-flex-item-align: end;
      -ms-grid-row-align: end;
      align-self: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.step .address-card__edit, .step .address-card__delete {
  line-height: 1;
  background-color: var(--clr-body-1);
  padding: 0.5rem 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--clr-body-3);
  text-decoration: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border-radius: var(--br-m);
  border: 0.125rem solid var(--clr-body-2);
}
.step .address-card__edit:hover {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.step .address-card__delete:hover {
  background-color: var(--clr-notice-error-light);
  color: var(--clr-notice-error-dark);
  border-color: var(--clr-notice-error-dark);
}
.step #delivery-address .form-fields, .step #invoice-address .form-fields {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.step #delivery-address .form-check .form-check-input, .step #invoice-address .form-check .form-check-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #delivery-address .form-check .form-check-input::after, .step #invoice-address .form-check .form-check-input::after {
  content: "";
  position: absolute;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  background-color: var(--clr-accent-1);
  inset: 0.125rem;
  border-radius: var(--br-s);
  scale: 0;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #delivery-address .form-check .form-check-input:hover, .step #invoice-address .form-check .form-check-input:hover {
  border-color: var(--clr-body-5);
}
.step #delivery-address .form-check .form-check-input:checked, .step #invoice-address .form-check .form-check-input:checked {
  border-color: var(--clr-body-5);
}
.step #delivery-address .form-check .form-check-input:checked::after, .step #invoice-address .form-check .form-check-input:checked::after {
  scale: 1;
  opacity: 1;
}
.step #delivery-address > .js-address-form, .step #invoice-address > .js-address-form {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.step #delivery-address > .js-address-form > form, .step #invoice-address > .js-address-form > form {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.step #delivery-address .form-group, .step #invoice-address .form-group {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.step #delivery-address .form-control, .step #invoice-address .form-control {
  background-color: white;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  width: 25rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.25rem 0.5rem;
  height: 2rem;
  outline: none;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #delivery-address .form-control:focus-visible, .step #invoice-address .form-control:focus-visible {
  border-color: var(--clr-accent-1);
}
.step #delivery-address .form-label, .step #invoice-address .form-label {
  font-size: 1rem;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.step #delivery-address .form-label.required::after, .step #invoice-address .form-label.required::after {
  content: "*";
  color: var(--clr-notice-error-dark);
}
.step #delivery-address .form-text, .step #invoice-address .form-text {
  font-size: 0.75rem;
  color: var(--clr-body-3);
}
.step #delivery-address .form-check, .step #invoice-address .form-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.step #delivery-address .form-select, .step #delivery-address ::picker(select), .step #invoice-address .form-select, .step #invoice-address ::picker(select) {
  -webkit-appearance: base-select;
     -moz-appearance: base-select;
          appearance: base-select;
}
.step #delivery-address ::picker(select), .step #invoice-address ::picker(select) {
  margin-top: 0.5rem;
  background: white;
  border-radius: var(--br-m);
  padding: 0.5rem;
  border: 0.125rem solid var(--clr-body-2);
  color: var(--clr-body-5);
  top: anchor(bottom);
  bottom: auto;
  left: anchor(left);
  right: anchor(right);
}
.step #delivery-address .form-select, .step #invoice-address .form-select {
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  color: var(--clr-body-5);
  background-color: white;
  width: 25rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.25rem 0.5rem;
  height: 2rem;
  outline: none;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #delivery-address .form-select:focus-visible, .step #invoice-address .form-select:focus-visible {
  border-color: var(--clr-accent-1);
}
.step #delivery-address .form-select:open, .step #invoice-address .form-select:open {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.step #delivery-address .form-select:hover, .step #invoice-address .form-select:hover {
  background-color: white;
  color: var(--clr-body-5);
}
.step #delivery-address .form-select::picker-icon, .step #invoice-address .form-select::picker-icon {
  content: "\f078";
  font-family: "Font Awesome 7 Pro", "FontAwesome" !important;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 0.875rem;
  color: var(--clr-body-3);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.step #delivery-address .form-select:open::picker-icon, .step #invoice-address .form-select:open::picker-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  color: var(--clr-accent-1);
}
.step #delivery-address .form-select:hover::picker-icon, .step #invoice-address .form-select:hover::picker-icon {
  color: var(--clr-accent-1);
}
.step #delivery-address .form-select option, .step #invoice-address .form-select option {
  padding: 0.25rem 0.5rem;
  gap: 0;
  border-radius: var(--br-m);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  margin-bottom: 0.5rem;
  color: var(--clr-body-5);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.step #delivery-address .form-select option:hover, .step #invoice-address .form-select option:hover {
  background-color: var(--clr-body-2);
}
.step #delivery-address .form-select option:last-of-type, .step #invoice-address .form-select option:last-of-type {
  margin-bottom: 0;
}
.step #delivery-address .form-select option::checkmark, .step #invoice-address .form-select option::checkmark {
  content: "";
}

.delivery-options__list {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  margin-bottom: 2rem;
}

.delivery-option__item {
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  padding: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.delivery-option__item:has(.form-check-input:checked) {
  border-color: var(--clr-accent-1);
}
.delivery-option__label {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
}
.delivery-option__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.delivery-option__check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.delivery-option__check .form-check-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.delivery-option__check .form-check-input::after {
  content: "";
  position: absolute;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  background-color: var(--clr-accent-1);
  inset: 0.125rem;
  border-radius: var(--br-s);
  scale: 0;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.delivery-option__check .form-check-input:hover {
  border-color: var(--clr-body-5);
}
.delivery-option__check .form-check-input:checked {
  border-color: var(--clr-body-5);
}
.delivery-option__check .form-check-input:checked::after {
  scale: 1;
  opacity: 1;
}
.delivery-option__carrier-name {
  font-size: 1.125rem;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.delivery-option__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
.delivery-option__price {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}

.order-options .form-label {
  margin-bottom: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.order-options textarea {
  width: calc(100% - 4rem);
  resize: vertical;
  padding: 1rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  min-height: 4lh;
}

.payment-options__list {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  margin-bottom: 2rem;
}

.payment-option {
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  padding: 1rem;
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.payment-option:has(.form-check-input:checked) {
  border-color: var(--clr-accent-1);
}
.payment-option__form-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  width: 100%;
}
.payment-option__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}
.payment-option .form-check-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.payment-option .form-check-input::after {
  content: "";
  position: absolute;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  background-color: var(--clr-accent-1);
  inset: 0.125rem;
  border-radius: var(--br-s);
  scale: 0;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.payment-option .form-check-input:hover {
  border-color: var(--clr-body-5);
}
.payment-option .form-check-input:checked {
  border-color: var(--clr-body-5);
}
.payment-option .form-check-input:checked::after {
  scale: 1;
  opacity: 1;
}

.conditions-to-approve {
  margin-bottom: 2rem;
}
.conditions-to-approve .form-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.conditions-to-approve .form-check-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.conditions-to-approve .form-check-input::after {
  content: "";
  position: absolute;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  background-color: var(--clr-accent-1);
  inset: 0.125rem;
  border-radius: var(--br-s);
  scale: 0;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.conditions-to-approve .form-check-input:hover {
  border-color: var(--clr-body-5);
}
.conditions-to-approve .form-check-input:checked {
  border-color: var(--clr-body-5);
}
.conditions-to-approve .form-check-input:checked::after {
  scale: 1;
  opacity: 1;
}

#js-checkout-summary .cart-summary__tax-and-total {
  padding-bottom: 2rem;
}
#js-checkout-summary .cart-summary__products {
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 0.125rem solid var(--clr-body-2);
}
#js-checkout-summary .cart-summary__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
#js-checkout-summary .cart-summary__header:has(.cart-summary__details-button[aria-expanded=true]) {
  margin-bottom: 1rem;
}
#js-checkout-summary .cart-summary__products-wrapper {
  background-color: var(--clr-body-1);
  padding-inline: 1rem;
  padding-block: 0;
  border-radius: var(--br-m);
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0fr;
  grid-template-rows: 0fr;
  overflow: hidden;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
#js-checkout-summary .cart-summary__products-wrapper--open {
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  padding-block: 1rem;
}
#js-checkout-summary .cart-summary__products-list {
  min-height: 0;
  overflow: hidden;
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
#js-checkout-summary .cart-summary-product {
  border-bottom: 1px solid var(--clr-body-2);
  padding-bottom: 1rem;
}
#js-checkout-summary .cart-summary-product:last-of-type {
  border: none;
  padding: 0;
}
#js-checkout-summary .cart-summary-product__content {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
#js-checkout-summary .cart-summary-product__link {
  text-decoration: none;
  color: var(--clr-accent-1);
  font-size: 1.25rem;
  line-height: 1.1;
  font-weight: var(--fw-medium);
}
#js-checkout-summary .cart-summary-product__link:hover {
  color: var(--clr-accent-2);
}
#js-checkout-summary .cart-summary-product__attributes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.25rem;
}
#js-checkout-summary .cart-summary-product__attribute {
  font-size: 0.875rem;
  padding: 0.125rem 0.5rem;
  border: 1px solid var(--clr-body-2);
  border-radius: var(--br-s);
  line-height: 1;
}
#js-checkout-summary .cart-summary-product__price-qty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5ch;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}
#js-checkout-summary .cart-summary-product__total {
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}

.order-confirmation__details {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  margin-bottom: 3rem;
}
.order-confirmation__details-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.order-confirmation__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.order-confirmation__detail-value {
  line-height: 1;
  border: 0.125rem solid var(--clr-body-2);
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  border-radius: var(--br-m);
  padding: 0.5rem 0.75rem;
}
.order-confirmation__products {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.order-confirmation__product {
  padding: 1rem;
  background-color: var(--clr-body-1);
  border-radius: var(--br-m);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 10rem 1rem 1fr;
  grid-template-columns: 10rem 1fr;
  gap: 1rem;
}
.order-confirmation__product-image {
  border-radius: var(--br-s);
  background-color: var(--clr-body-2);
  overflow: hidden;
}
.order-confirmation__product-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.order-confirmation__product-details {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.order-confirmation__product-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.order-confirmation__product-qty-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5ch;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.order-confirmation__product-total {
  font-size: 1.125rem;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.order-confirmation__product-total span {
  font-size: 0.875rem;
  color: var(--clr-body-4);
}
.order-confirmation__table {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
}
.order-confirmation__subtotals {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content 1rem auto;
  -ms-grid-columns: max-content 1rem auto;
  grid-template-columns: -webkit-max-content auto;
  grid-template-columns: max-content auto;
  gap: 0.25rem 1rem;
}
.order-confirmation__subtotals .order-confirmation__line {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: subgrid;
  grid-template-columns: subgrid;
  -ms-grid-column-span: 2;
  grid-column: span 2;
}
.order-confirmation__subtotals .order-confirmation__line-label {
  font-size: 1.125rem;
}
.order-confirmation__subtotals .order-confirmation__line-value {
  font-size: 1.25rem;
}
.order-confirmation__line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.order-confirmation__line-value {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.order-confirmation__totals .order-confirmation__line-label {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
  font-size: 1.125rem;
}
.order-confirmation__totals .order-confirmation__line-value {
  color: var(--clr-accent-1);
  font-weight: var(--fw-medium);
  font-size: 1.5rem;
}

#order-confirmation .page-title-section {
  margin-bottom: 1.5rem;
}
#order-confirmation .alert:has(+ *) {
  margin-bottom: 1.25rem;
}
#order-confirmation .payment-return {
  margin-bottom: 1.5rem;
}

.account-menu-sidebar {
  background-color: var(--clr-body-1);
  padding: 1rem;
  border-radius: var(--br-m);
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.account-menu-sidebar__nav {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.account-menu-sidebar__link, .account-menu-sidebar .account-menu__link {
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  text-decoration: none;
  font-weight: var(--fw-medium);
  color: var(--clr-body-3);
  width: auto;
}
.account-menu-sidebar__link:hover, .account-menu-sidebar .account-menu__link:hover {
  border-color: var(--clr-accent-1);
}
.account-menu-sidebar__link--active, .account-menu-sidebar .account-menu__link--active {
  color: var(--clr-body-5);
  border-color: var(--clr-accent-1);
}
.account-menu-sidebar__icon, .account-menu-sidebar .account-menu__icon {
  color: var(--clr-body-5);
  font-size: 1.5rem;
}

.my-account-header {
  margin-bottom: 3rem;
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}

.account-menu {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  grid-auto-rows: 1fr;
}
@media (min-width: 768px) {
  .account-menu {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .account-menu {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}
.account-menu > .account-menu__link {
  padding: 2rem;
  display: -ms-grid;
  display: grid;
  grid-auto-rows: -webkit-max-content auto;
  grid-auto-rows: max-content auto;
  gap: 1.5rem;
  justify-items: center;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  text-align: center;
  text-decoration: none;
  font-size: 1.25rem;
  line-height: 1.1;
  color: var(--clr-body-3);
  width: auto;
}
.account-menu > .account-menu__link:hover {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.account-menu__icon {
  font-size: 2rem;
  color: var(--clr-body-5);
}

.page-content--customer {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
}
.page-content--customer .js-customer-form {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.page-content--customer .form-group {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.page-content--customer .form-label {
  font-size: 1rem;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.page-content--customer .form-label.required::after {
  content: "*";
  color: var(--clr-notice-error-dark);
}
.page-content--customer .form-control {
  background-color: white;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  width: 25rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.25rem 0.5rem;
  height: 2rem;
  outline: none;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .form-control:focus-visible {
  border-color: var(--clr-accent-1);
}
.page-content--customer .form-text {
  font-size: 0.75rem;
  color: var(--clr-body-3);
  line-height: 1;
}
.page-content--customer .input-group.password-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
}
.page-content--customer .button.js-custom-toggle-password {
  height: 2rem;
  width: 2rem;
  display: -ms-grid;
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  color: var(--clr-body-3);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .button.js-custom-toggle-password:hover {
  color: var(--clr-body-5);
}
.page-content--customer .button.js-custom-toggle-password i {
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .button.js-custom-toggle-password .fa-eye {
  color: var(--clr-notice-error-dark);
}
.page-content--customer .form-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.page-content--customer .form-check-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .form-check-input::after {
  content: "";
  position: absolute;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  background-color: var(--clr-accent-1);
  inset: 0.125rem;
  border-radius: var(--br-s);
  scale: 0;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .form-check-input:hover {
  border-color: var(--clr-body-5);
}
.page-content--customer .form-check-input:checked {
  border-color: var(--clr-body-5);
}
.page-content--customer .form-check-input:checked::after {
  scale: 1;
  opacity: 1;
}
.page-content--customer .addresses__list {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  padding: 2rem;
  background-color: var(--clr-body-1);
  border-radius: var(--br-l);
}
@media (min-width: 768px) {
  .page-content--customer .addresses__list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1600px) {
  .page-content--customer .addresses__list {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}
.page-content--customer .address-card {
  padding: 1rem;
  background-color: white;
  border-radius: var(--br-m);
  border: 0.125rem solid var(--clr-body-2);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .address-card.selected {
  border-color: var(--clr-accent-1);
}
.page-content--customer .address-card.selected:hover {
  border-color: var(--clr-accent-1);
}
.page-content--customer .address-card:hover {
  border-color: var(--clr-body-3);
}
.page-content--customer .address-card--add-address {
  background-color: var(--clr-body-2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  gap: 1.5rem;
  text-decoration: none;
  color: var(--clr-body-3);
}
.page-content--customer .address-card--add-address i {
  font-size: 2rem;
  color: var(--clr-body-5);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .address-card--add-address span {
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
}
.page-content--customer .address-card--add-address:hover {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
  background-color: white;
}
.page-content--customer .address-card--add-address:hover i {
  color: var(--clr-accent-1);
}
.page-content--customer .address-card__container {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  height: 100%;
  grid-auto-rows: -webkit-max-content -webkit-max-content 1fr;
  grid-auto-rows: max-content max-content 1fr;
}
.page-content--customer .address-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.page-content--customer .address-card__header input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.125rem;
  height: 1.125rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .address-card__header input::after {
  content: "";
  position: absolute;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  background-color: var(--clr-accent-1);
  inset: 0.125rem;
  border-radius: var(--br-s);
  scale: 0;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .address-card__header input:checked::after {
  scale: 1;
  opacity: 1;
}
.page-content--customer .address-card__alias {
  line-height: 1;
  font-weight: var(--fw-medium);
  color: var(--clr-body-5);
}
.page-content--customer .address-card__content {
  display: -ms-grid;
  display: grid;
  gap: 0.125rem;
  list-style: none;
  padding: 0;
  margin: 0;
  font-style: normal;
}
.page-content--customer .address-card__actions {
  -ms-flex-item-align: end;
      -ms-grid-row-align: end;
      align-self: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.page-content--customer .address-card__edit, .page-content--customer .address-card__delete {
  line-height: 1;
  background-color: var(--clr-body-1);
  padding: 0.5rem 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--clr-body-3);
  text-decoration: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border-radius: var(--br-m);
  border: 0.125rem solid var(--clr-body-2);
}
.page-content--customer .address-card__edit:hover {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.page-content--customer .address-card__delete:hover {
  background-color: var(--clr-notice-error-light);
  color: var(--clr-notice-error-dark);
  border-color: var(--clr-notice-error-dark);
}
.page-content--customer .form-fields {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  margin-bottom: 2rem;
}
.page-content--customer .form-select, .page-content--customer ::picker(select) {
  -webkit-appearance: base-select;
     -moz-appearance: base-select;
          appearance: base-select;
}
.page-content--customer ::picker(select) {
  margin-top: 0.5rem;
  background: white;
  border-radius: var(--br-m);
  padding: 0.5rem;
  border: 0.125rem solid var(--clr-body-2);
  color: var(--clr-body-5);
  top: anchor(bottom);
  bottom: auto;
  left: anchor(left);
  right: anchor(right);
}
.page-content--customer .form-select {
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  color: var(--clr-body-5);
  background-color: white;
  width: 25rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.25rem 0.5rem;
  height: 2rem;
  outline: none;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .form-select:focus-visible {
  border-color: var(--clr-accent-1);
}
.page-content--customer .form-select:open {
  border-color: var(--clr-accent-1);
  color: var(--clr-body-5);
}
.page-content--customer .form-select:hover {
  background-color: white;
  color: var(--clr-body-5);
}
.page-content--customer .form-select::picker-icon {
  content: "\f078";
  font-family: "Font Awesome 7 Pro", "FontAwesome" !important;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 0.875rem;
  color: var(--clr-body-3);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.page-content--customer .form-select:open::picker-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  color: var(--clr-accent-1);
}
.page-content--customer .form-select:hover::picker-icon {
  color: var(--clr-accent-1);
}
.page-content--customer .form-select option {
  padding: 0.25rem 0.5rem;
  gap: 0;
  border-radius: var(--br-m);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  margin-bottom: 0.5rem;
  color: var(--clr-body-5);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.page-content--customer .form-select option:hover {
  background-color: var(--clr-body-2);
}
.page-content--customer .form-select option:last-of-type {
  margin-bottom: 0;
}
.page-content--customer .form-select option::checkmark {
  content: "";
}

.order-history {
  max-width: 100%;
  overflow-x: auto;
}
.order-history__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content 1.5rem -webkit-max-content 1.5rem -webkit-max-content 1.5rem -webkit-max-content 1.5rem -webkit-max-content 1.5rem -webkit-max-content;
  -ms-grid-columns: max-content 1.5rem max-content 1.5rem max-content 1.5rem max-content 1.5rem max-content 1.5rem max-content;
  grid-template-columns: repeat(6, -webkit-max-content);
  grid-template-columns: repeat(6, max-content);
  gap: 1rem 1.5rem;
}
.order-history__row, .order-history__header {
  grid-column: 1/-1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: subgrid;
  grid-template-columns: subgrid;
}
.order-history__header {
  margin-bottom: 0.5rem;
  padding-inline: 1rem;
}
.order-history__row {
  background-color: var(--clr-body-1);
  padding: 1rem;
  border-radius: var(--br-m);
}
.order-history__status {
  font-size: 0.75rem;
  color: white;
  padding: 0.25rem 0.5rem;
  border-radius: var(--br-s);
  line-height: 1;
}
.order-history__cell--actions .button.button--small {
  padding: 0.25rem 0.5rem;
}

.grid-table--voucher {
  max-width: 100%;
  overflow-x: auto;
}
.grid-table--voucher .grid-table__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content 1.5rem -webkit-max-content 1.5rem -webkit-max-content 1.5rem -webkit-max-content 1.5rem -webkit-max-content 1.5rem -webkit-max-content 1.5rem -webkit-max-content;
  -ms-grid-columns: max-content 1.5rem max-content 1.5rem max-content 1.5rem max-content 1.5rem max-content 1.5rem max-content 1.5rem max-content;
  grid-template-columns: repeat(7, -webkit-max-content);
  grid-template-columns: repeat(7, max-content);
  gap: 1rem 1.5rem;
}
.grid-table--voucher .grid-table__row, .grid-table--voucher .grid-table__header {
  grid-column: 1/-1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: subgrid;
  grid-template-columns: subgrid;
}
.grid-table--voucher .grid-table__header {
  margin-bottom: 0.5rem;
  padding-inline: 1rem;
}
.grid-table--voucher .grid-table__row {
  background-color: var(--clr-body-1);
  padding: 1rem;
  border-radius: var(--br-m);
}
.grid-table--voucher .grid-table__cell[data-ps-label=Code] {
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}

.psgdpr-access-data {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.psgdpr-access-data__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem;
  background-color: var(--clr-body-1);
  border-radius: var(--br-m);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.psgdpr-access-data__buttons .button {
  margin: 0 !important;
}

.psgdpr-erasure-requests {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}

.login #login-form {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
.login .form-group {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.login .form-label {
  font-size: 1rem;
  color: var(--clr-body-5);
  font-weight: var(--fw-medium);
}
.login .form-label.required::after {
  content: "*";
  color: var(--clr-notice-error-dark);
}
.login .form-control {
  background-color: white;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  width: 25rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.25rem 0.5rem;
  height: 2rem;
  outline: none;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.login .form-control:focus-visible {
  border-color: var(--clr-accent-1);
}
.login .form-text {
  font-size: 0.75rem;
  color: var(--clr-body-3);
  line-height: 1;
}
.login .input-group.password-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
}
.login .button.js-custom-toggle-password {
  height: 2rem;
  width: 2rem;
  display: -ms-grid;
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  color: var(--clr-body-3);
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.login .button.js-custom-toggle-password:hover {
  color: var(--clr-body-5);
}
.login .button.js-custom-toggle-password i {
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.login .button.js-custom-toggle-password .fa-eye {
  color: var(--clr-notice-error-dark);
}
.login .form-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.login .form-check-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.125rem solid var(--clr-body-2);
  border-radius: var(--br-m);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.login .form-check-input::after {
  content: "";
  position: absolute;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  background-color: var(--clr-accent-1);
  inset: 0.125rem;
  border-radius: var(--br-s);
  scale: 0;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}
.login .form-check-input:hover {
  border-color: var(--clr-body-5);
}
.login .form-check-input:checked {
  border-color: var(--clr-body-5);
}
.login .form-check-input:checked::after {
  scale: 1;
  opacity: 1;
}

.contact-details-title {
  margin-bottom: 2rem;
}

.contact-details .row {
  gap: 1rem 0;
}
.contact-details__block h2 {
  margin-bottom: 1rem;
  color: var(--clr-accent-1);
}
.contact-details__tradingas {
  font-size: 1.125rem;
  color: var(--clr-body-5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.5rem;
}
.contact-details__contact-details {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
}
.contact-details__contact-details a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 0.75rem;
  border-radius: var(--br-m);
  border: 0.125rem solid var(--clr-body-2);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.125rem;
  text-decoration: none;
  color: var(--clr-body-5);
}
.contact-details__contact-details a:hover {
  border-color: var(--clr-accent-1);
}
.contact-details__address {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: var(--clr-body-5);
  font-size: 1.125rem;
}
.contact-details__what3words {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1;
}
.contact-details__what3words:hover .page-footer__what3words-key {
  background-color: var(--clr-accent-2);
}
.contact-details__what3words-logo {
  height: 1.5rem;
}
.contact-details__what3words-key {
  padding: 0.25rem 0.5rem;
  background-color: var(--clr-accent-1);
  color: white !important;
  border-radius: var(--br-m);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
  transition: all 200ms cubic-bezier(0.66, 0, 0.34, 1);
}