:root {
  --space-unit: 16px;
  --space-xxxxs: calc(0.5 * var(--space-unit));
  --space-xxxs: calc(1 * var(--space-unit));
  --space-xxs: calc(1.5 * var(--space-unit));
  --space-xs: calc(2 * var(--space-unit));
  --space-sm: calc(2.5 * var(--space-unit));
  --space-md: calc(3 * var(--space-unit));
  --space-lg: calc(3.5 * var(--space-unit));
  --space-xl: calc(4 * var(--space-unit));
  --space-xxl: calc(4.5 * var(--space-unit));
  --space-xxxl: calc(5 * var(--space-unit));
  --space-xxxxl: calc(5.5 * var(--space-unit));
  --space-xxxxxl: calc(7.1 * var(--space-unit));
}

:root {
  --font-body: 20px;
  --font-mega: 221px;
  --font-very-large2: 100px;
  --font-very-large: 80px;
  --font-header-1: 60px;
  --font-header-2: 41px;
  --font-header-3: 32px;
  --font-large-text: 26px;
  --font-x-large-text: 32px;
  --font-small-text: 15px;
  --font-small-text2: 16px;
  --font-all-caps: 12px;
  --lh-body: 32px;
  --lh-header-1: 70px;
  --lh-header-2: 48px;
  --lh-header-3: 40px;
  --lh-large-text: 34px;
  --lh-x-large-text: 46px;
  --lh-small-text: 21px;
  --lh-all-caps: 32px;
}

@media (max-width: 1600px) {
  :root {
    --font-mega: 100px;
    --font-very-large2: 70px;
    --font-very-large: 60px;
  }
}
@media (max-width: 1400px) {
  :root {
    --font-mega: 60px;
    --font-very-large2: 60px;
    --font-very-large: 50px;
  }
}
@media (max-width: 900px) {
  :root {
    --font-mega: 50px;
    --font-very-large2: 45px;
    --font-very-large: 40px;
    --font-header-1: 50px;
    --font-header-2: 35px;
    --font-header-3: 28px;
    --font-x-large-text: 28px;
    --lh-header-1: 60px;
    --lh-header-2: 40px;
    --lh-header-3: 40px;
  }
}
@media (max-width: 500px) {
  :root {
    --font-mega: 40px;
    --font-very-large2: 38px;
    --font-very-large: 35px;
    --font-header-1: 40px;
    --font-header-2: 30px;
    --font-header-3: 26px;
    --font-x-large-text: 26px;
    --lh-header-1: 50px;
    --lh-header-2: 36px;
    --lh-header-3: 34px;
  }
  .has-extra-huge {
    font-size: 40px;
  }
  .has-huge-font-size {
    font-size: 35px;
  }
  .has-large-font-size {
    font-size: 30px;
  }
  .has-medium-font-size {
    font-size: 26px;
  }
}
@media (max-width: 400px) {
  :root {
    --font-mega: 40px;
    --font-very-large: 30px;
    --font-header-1: 28px;
    --font-header-2: 26px;
    --font-header-3: 24px;
    --font-x-large-text: 24px;
    --lh-header-1: 40px;
    --lh-header-2: 30px;
    --lh-header-3: 30px;
  }
}
body {
  --wp--preset--font-size--extra-huge: 140px;
}
@media (max-width: 1600px) {
  body {
    --wp--preset--font-size--extra-huge:80px;
    --wp--preset--font-size--huge:60px;
  }
}
@media (max-width: 1400px) {
  body {
    --wp--preset--font-size--extra-huge:60px;
    --wp--preset--font-size--huge:50px;
  }
}
@media (max-width: 900px) {
  body {
    --wp--preset--font-size--extra-huge:50px;
    --wp--preset--font-size--huge:40px;
    --wp--preset--font-size--large:35px;
    --wp--preset--font-size--medium:28px;
  }
}
@media (max-width: 500px) {
  body {
    --wp--preset--font-size--extra-huge:40px;
    --wp--preset--font-size--huge:35px;
    --wp--preset--font-size--large:30px;
    --wp--preset--font-size--medium:26px;
  }
}

.has-extra-huge-font-size {
  line-height: 110%;
  font-family: "ivymode", sans-serif;
}

.has-huger-font-size {
  font-size: var(--font-very-large2) !important;
  font-family: "ivymode", sans-serif;
  font-weight: normal;
}

.has-huge-font-size {
  font-size: var(--font-header-1);
  line-height: var(--lh-header-1);
  font-family: "ivymode", sans-serif;
  font-weight: normal;
  font-family: "ivymode", sans-serif;
}

.has-large-font-size {
  font-size: var(--font-header-2);
  line-height: var(--lh-header-2);
  font-family: "ivymode", sans-serif;
  font-weight: normal;
  font-family: "ivymode", sans-serif;
}

.has-medium-font-size {
  font-size: var(--font-header-3);
  line-height: var(--lh-header-3);
  font-family: "ivymode", sans-serif;
  font-weight: normal;
  font-family: "ivymode", sans-serif;
}

.has-highlight-font-size {
  font-size: var(--font-large-text);
  line-height: var(--lh-large-text);
}

.has-normal-font-size {
  font-size: var(--font-body);
  line-height: var(--lh-body);
}

.has-small-font-size {
  font-size: var(--font-small-text);
  line-height: var(--lh-small-text);
}

.has-all-caps-font-size {
  font-size: var(--font-all-caps);
  line-height: var(--lh-all-caps);
  letter-spacing: 1px;
}

.has-white-background-color {
  background-color: #ffffff;
}

.has-white-color {
  color: #ffffff;
}

.has-black-background-color {
  background-color: #000000;
}

.has-black-color {
  color: #000000;
}

.has-gray-background-color {
  background-color: #e9e9e9;
}

.has-gray-color {
  color: #e9e9e9;
}

.has-light-gray-background-color {
  background-color: #e0e0e0;
}

.has-light-gray-color {
  color: #e0e0e0;
}

.has-purple-background-color {
  background-color: #ba70ef;
}

.has-purple-color {
  color: #ba70ef;
}

.has-neon-purple-background-color {
  background-color: #d8a3fd;
}

.has-neon-purple-color {
  color: #d8a3fd;
}

.has-neon-blue-background-color {
  background-color: #74ddda;
}

.has-neon-blue-color {
  color: #74ddda;
}

.has-neon-red-background-color {
  background-color: #ff5746;
}

.has-neon-red-color {
  color: #ff5746;
}

.has-neon-green-background-color {
  background-color: #5be26a;
}

.has-neon-green-color {
  color: #5be26a;
}

.has-neon-yellow-background-color {
  background-color: #ffdf18;
}

.has-neon-yellow-color {
  color: #ffdf18;
}

.has-neon-orange-background-color {
  background-color: #ff7d58;
}

.has-neon-orange-color {
  color: #ff7d58;
}

.shop-nav-inner {
  border-top: solid 1px #E9E9E9;
  padding-top: 30px;
}

.shop-nav-group {
  margin-top: -20px;
  padding: 0 3.3% 0 3.3%;
}

.shop-nav {
  list-style: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.shop-nav li {
  font-size: var(--font-small-text);
  margin-left: var(--space-xxxs);
  margin-right: var(--space-xxxs);
  line-height: 22px;
}
.shop-nav li a {
  text-decoration: none;
}

@media (max-width: 1200px) {
  .shop-nav-group {
    display: none;
  }
}
@media (max-width: 900px) {
  .shop-nav {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .shop-nav li {
    width: calc(50% - var(--space-xs));
    margin-bottom: var(--space-xxxxs);
  }
}
@media (max-width: 600px) {
  .shop-nav {
    display: none;
  }
  .shop-nav li {
    width: 100%;
    text-align: center;
  }
}