@import url("https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600&display=swap");
body {
  font-family: "Jost", sans-serif !important;
  font-size: 1.2vw;
}
@media only screen and (max-width: 1100px) {
  body {
    font-size: 16px;
  }
}
@media only screen and (min-width: 1700px) {
  body {
    font-size: 1vw;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

ul[class],
ol[class] {
  padding: 0;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

ul[class],
ol[class] {
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s ease-in-out !important;
}

button {
  transition: 0.3s ease-in-out !important;
}

img {
  max-width: 100%;
  display: block;
}

button,
textarea,
select {
  font: inherit;
  border: none;
  outline: none;
  margin: 0;
  padding: 0;
  transition: 0.3s ease-in-out !important;
}

.fa {
  font: normal normal normal 14px/1 FontAwesome !important;
}

/*DO NOT REMOVE*/
.ShellMainContent .Center {
  min-height: 60vh;
  margin: 0 auto;
  background-color: #fff;
  display: inline-block;
  width: 100%;
}

.ShellStoreMainContent {
  padding: 0 1rem;
  max-width: 1300px;
  margin: 0 auto;
  width: 100%;
}
@media only screen and (min-width: 1700px) {
  .ShellStoreMainContent {
    max-width: 80%;
  }
}

.ShellFolderItems {
  padding: 0 1rem;
  max-width: 1300px;
  margin: 0 auto;
  width: 100%;
}
@media only screen and (min-width: 1700px) {
  .ShellFolderItems {
    max-width: 100%;
  }
}

.section {
  padding: 12vh 0;
}
@media only screen and (max-width: 1100px) {
  .section {
    padding: 8vh 0;
  }
}
@media only screen and (max-width: 768px) {
  .section {
    padding: 6vh 0;
  }
}
.section.bg {
  background: url(https://uploads-ssl.webflow.com/63be96fec18c43ba57dfd6e6/63d22f28a612d0daed0e562c_about.jpg) 50%
    no-repeat;
  background-size: cover;
}
.section.about {
  background: url(https://uploads-ssl.webflow.com/63be96fec18c43ba57dfd6e6/63d22f2809e8c7fbe2246bbd_banner-about.jpg)
    50% no-repeat;
  background-size: cover;
}
.section.bottom-0 {
  padding: 12vh 0 0;
}
@media only screen and (max-width: 1100px) {
  .section.bottom-0 {
    padding: 8vh 0 0;
  }
}
@media only screen and (max-width: 768px) {
  .section.bottom-0 {
    padding: 6vh 0 0;
  }
}

.container {
  width: 100%;
  max-width: 1300px;
  padding: 0 1rem;
  margin: 0 auto;
}
@media only screen and (max-width: 500px) {
  .container {
    padding: 0 0.75rem;
  }
}
@media only screen and (min-width: 1700px) {
  .container {
    max-width: 80%;
  }
}
.container.mobile {
  display: none;
  transition: 0.2s ease-in-out 0.2s;
}
@media only screen and (max-width: 1100px) {
  .container.mobile {
    display: block;
  }
}


.button {
  display: inline-block;
  padding: 1.5vh 4vh;
  background-color: #c83035;
  font-size: 1em;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  border: 1px solid #c83035;
  transition: 0.3s ease-in-out;
}
.button:hover,
.button:active {
  background-color: #962327;
  border-color: #962327;
  text-decoration: none !important;
  color: #fff !important;
}
.button:focus-visible {
  outline: none;
}
.button.large {
  padding: 2.5vh 6.5vh;
}
@media only screen and (max-width: 1100px) {
  .button.large {
    padding: 2vh 5vh;
  }
}
@media only screen and (max-width: 500px) {
  .button.large {
    padding: 1.5vh 2.5vh;
  }
}
@media only screen and (min-width: 1700px) {
  .button {
    font-size: 1.2em;
  }
}

.button-white {
  display: inline-block;
  padding: 1.5vh 4vh;
  background-color: #fff;
  font-size: 1em;
  color: #111;
  font-weight: 500;
  line-height: 1;
  border: 1px solid #111;
}
.button-white:hover,
.button-white:active {
  background-color: #f2f3f4;
  text-decoration: none !important;
  color: #111 !important;
}
.button-white:focus-visible {
  outline: none;
}

.title {
  font-size: 2.7em;
  color: #111;
  font-weight: 600;
  line-height: 1.2;
}
@media only screen and (max-width: 1100px) {
  .title {
    font-size: 1.8em;
  }
}
.title.medium {
  font-size: 2em;
}
@media only screen and (max-width: 1100px) {
  .title.medium {
    font-size: 1.5em;
  }
}
.title.small {
  font-size: 1.25em;
}
@media only screen and (max-width: 1100px) {
  .title.small {
    font-size: 1em;
  }
}
.title.red {
  color: #c83035;
}
.title.white {
  color: #fff;
}

.categories {
  overflow: hidden;
  visibility: hidden;
  position: absolute;
  opacity: 0;
  top: 5.5vh;
  left: 0;
  z-index: -1;
  display: flex;
  flex-direction: column;
  gap: 0.75vh;
  padding: 2vh;
  background-color: #fff;
  box-shadow: 0px 0px 6px rgba(118, 118, 118, 0.3);
  transition: 0.4s;
}
.categories__item {
  padding: 0.5vh;
  font-size: 1em;
  color: #111;
  font-weight: 500;
  line-height: 1;
}
.categories__item.accent {
  color: #c83035;
}
.categories__item:hover,
.categories__item:active {
  text-decoration: none !important;
  color: #962327;
}
@media only screen and (max-width: 500px) {
  .categories__item {
    padding: 0.5vh 0;
  }
}
@media only screen and (min-width: 1700px) {
  .categories__item {
    font-size: 1.2em;
  }
}
.categories:hover {
  z-index: 10;
  overflow: initial;
  visibility: visible;
  opacity: 1;
}

.header {
  position: relative;
}
@media only screen and (max-width: 1100px) {
  .header__inner {
    display: none;
  }
}
.header__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 2vh;
  padding: 2vh 0;
  background-color: #fff;
}
.header__top-left {
  display: flex;
  align-items: center;
  gap: 2vh;
}
.header__title {
  font-size: 0.9em;
  color: #111;
  font-weight: 500;
  line-height: 1.2;
}
@media only screen and (max-width: 1100px) {
  .header__title {
    font-size: 0.8em;
  }
}
@media only screen and (max-width: 500px) {
  .header__title {
    display: none;
  }
}
.header__text {
  margin-top: 5px;
  font-size: 0.8em;
  color: #111;
  font-weight: 400;
  line-height: 1;
}
@media only screen and (max-width: 1100px) {
  .header__text {
    font-size: 0.7em;
  }
}
@media only screen and (max-width: 500px) {
  .header__text {
    display: none;
  }
}
.header__bottom {
  padding: 1.5vh 0;
  background-color: #111;
}
.header__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 2vh;
}
@media only screen and (max-width: 1100px) {
  .header__bottom {
    height: 0;
    overflow: hidden;
  }
}
.header__logo {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
@media only screen and (max-width: 1100px) {
  .header__logo {
    width: auto;
    height: 4vh;
  }
}
.header__logo-wrap {
  width: 10vw;
}
@media only screen and (max-width: 1100px) {
  .header__logo-wrap {
    width: auto;
  }
}
.header__links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2vh;
}
.header__icons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2vh;
}
.header__info {
  position: relative;
  display: flex;
}
@media only screen and (max-width: 1100px) {
  .header__info {
    position: static;
  }
}
.header__btn {
  display: inline-block;
  padding: 1.5vh 6vh 1.5vh 4vh;
  font-size: 1em;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  border: 1px solid #c83035;
  background: url(https://uploads-ssl.webflow.com/63be96fec18c43ba57dfd6e6/63d244518cc85207792bdc09_arrow%20down.svg),
    #c83035;
  background-repeat: no-repeat;
  background-position: 90% 50%;
}
.header__btn:hover,
.header__btn:active {
  background-color: #962327;
  border-color: #962327;
  text-decoration: none !important;
  color: #fff !important;
}
.header__btn:focus-visible {
  outline: none;
}
@media only screen and (min-width: 1700px) {
  .header__btn {
    background-size: 24px;
  }
}
.header__partners {
  display: flex;
  align-items: center;
  gap: 4vh;
  margin-left: auto;
}
@media only screen and (max-width: 1100px) {
  .header__partners {
    align-items: flex-start;
    width: max-content;
  }
}
@media only screen and (max-width: 768px) {
  .header__partners {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 auto;
    gap: 5vh;
  }
}
@media only screen and (max-width: 500px) {
  .header__partners {
    gap: 3vh;
  }
}
.header__img {
  height: 4vh;
  width: 100%;
  object-fit: contain;
}
.header__cart {
  position: relative;
}
.header__link img {
  height: 1.3em;
  width: auto;
  object-fit: contain;
}

#cats:hover ~ .categories {
  z-index: 10;
  overflow: initial;
  visibility: visible;
  opacity: 1;
}

.header-mobile__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2vh;
  padding: 2vh 0;
  height: 60px;
}
.header-mobile__top-left {
  display: flex;
  align-items: center;
  gap: 1vh;
}

.header-mobile__action {
  display: flex;
  align-items: center;
  gap: 1vh;
  cursor: pointer;
}

.header-mobile__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1vh;
  padding-bottom: 2vh;
  border-bottom: 1px solid #a0a0a0;
}
@media only screen and (max-width: 768px) {
  .header-mobile__row {
    align-items: flex-start;
  }
}

.header-mobile__menu {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 4vh;
  padding: 24px 24px 40px;
  background-color: #fff;
  border-bottom: 2px solid #f2f2f2;
  overflow: hidden;
  transition: 0.4s ease-in-out;
}
.header-mobile__menu.closed {
  opacity: 0;
  transform: translateY(-350%);
  transition: 0.6s ease-in-out;
}
.header-mobile__menu.opened {
  opacity: 1;
  transform: translateY(0);
  transition: 0.6s ease-in-out;
  z-index: 2;
}

.header-mobile__icons {
  display: flex;
  align-items: center;
  gap: 2vh;
}

.header__link .CartItemCount {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -100%);
  display: grid;
  place-items: center;
  font-size: 0.75em;
  color: #962327 !important;
  font-weight: 400;
  line-height: 1;
}

.menu {
  display: flex;
  align-items: center;
  gap: 10px;
}
.menu__link {
  padding: 1vh;
  font-size: 1em;
  color: #111;
  font-weight: 500;
  line-height: 1.1;
}
.menu__link:hover,
.menu__link:active {
  text-decoration: none !important;
  color: #962327;
}
@media only screen and (max-width: 500px) {
  .menu__link {
    padding: 14px 0;
  }
}
@media only screen and (min-width: 1700px) {
  .menu__link {
    font-size: 1.2em;
  }
}
@media only screen and (max-width: 768px) {
  .menu.mobile {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media only screen and (max-width: 500px) {
  .menu.mobile {
    gap: 20px;
  }
}

.search-wrapper {
  display: flex;
}
@media only screen and (max-width: 1100px) {
  .search-wrapper {
    background-color: #f2f3f4;
    border: none !important;
  }
}

.search__btn.SearchButton {
  transform: translateX(calc(-100% - 10px));
  cursor: pointer;
}
@media only screen and (max-width: 1100px) {
  .search__btn.SearchButton {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media only screen and (min-width: 1700px) {
  .search__btn.SearchButton {
    width: 1vw;
  }
}

.search__input {
  display: inline-block;
  width: 350px;
  padding: 1.5vh 6vh 1.5vh 2vh;
  font-size: 1em;
  color: #111;
  font-weight: 500;
  line-height: 1;
  border: 1px solid #fff;
  font-size: 0.9em;
  color: #111;
  font-weight: 400;
  line-height: 1.2;
  transition: 0.3s ease-in-out;
}
.search__input::placeholder {
  font-size: 0.9em;
  color: #767676;
  font-weight: 400;
  line-height: 1.2;
}
.search__input:focus,
.search__input:focus-visible {
  outline: none;
}
@media only screen and (max-width: 1100px) {
  .search__input {
    width: 100%;
    background-color: #f2f3f4;
  }
}
@media only screen and (min-width: 1700px) {
  .search__input {
    padding: 1.5vh 2vh;
    width: 20vw;
  }
}

@media only screen and (max-width: 1100px) {
  .ShellSearch {
    background-color: #fff;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
  }
}

.hamburger {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0 6px;
}

.line {
  width: 20px;
  height: 3px;
  border-radius: 6px;
  background-color: #111;
  transition: 0.4s ease-in-out;
}
.line.first {
  transform: rotate(-45deg) translate(-5.5px, 3px);
  opacity: 0.24;
}
.line.last {
  transform: rotate(45deg) translate(-5.5px, -3px);
  opacity: 0.24;
}

.footer {
  background-color: #111;
}
.footer__inner {
  display: grid;
  grid-template-columns: 1fr 2.3fr;
  gap: 2vh;
  align-items: start;
  padding: 7vh 0;
}
.footer__inner-left {
  display: flex;
  flex-direction: column;
  gap: 2vh;
}
@media only screen and (max-width: 768px) {
  .footer__inner-left {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 2vh;
  }
}
@media only screen and (max-width: 1100px) {
  .footer__inner {
    grid-template-columns: 1fr 2fr;
  }
}
@media only screen and (max-width: 768px) {
  .footer__inner {
    grid-template-columns: 1fr;
    gap: 3vh;
  }
}
.footer__title {
  margin-top: 1vh;
  font-size: 0.9em;
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
}
.footer__title-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.5vh;
}
@media only screen and (max-width: 500px) {
  .footer__title {
    display: none;
  }
}
.footer__text {
  font-size: 0.8em;
  color: #fff;
  font-weight: 400;
  line-height: 1.2;
}
@media only screen and (max-width: 1100px) {
  .footer__text {
    font-size: 0.7em;
  }
}
@media only screen and (max-width: 500px) {
  .footer__text {
    display: none;
  }
  .footer__text.static {
    display: block;
  }
}
.footer__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3vh;
}
@media only screen and (max-width: 768px) {
  .footer__row {
    flex-direction: column;
  }
}
.footer__columns {
  display: grid;
  grid-template-columns: 1fr 1.5fr 1.5fr 2fr;
  gap: 1vh;
  align-items: start;
}
@media only screen and (max-width: 1100px) {
  .footer__columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 3vh;
  }
}
.footer__column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3vh;
}
@media only screen and (max-width: 500px) {
  .footer__column {
    width: 100%;
  }
}
.footer__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1vh;
  width: 100%;
}
.footer__link {
  padding: 0.5vh 1vh 0.5vh 0;
  font-size: 0.9em;
  color: #a0a0a0;
  font-weight: 400;
  line-height: 1.4;
}
.footer__link:hover,
.footer__link:active {
  color: #fff !important;
  text-decoration: none;
}
.footer__text {
  font-size: 0.9em;
  color: #a0a0a0 !important;
  font-weight: 400;
  line-height: 1.4;
}
.footer__bottom {
  padding: 4vh 0;
  background-color: #111;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.footer__logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.footer__logo-wrap {
  width: 140px;
}
@media only screen and (max-width: 1100px) {
  .footer__logo-wrap {
    width: 200px;
  }
}
@media only screen and (max-width: 500px) {
  .footer__logo-wrap {
    margin: 0 auto;
  }
}
@media only screen and (min-width: 1700px) {
  .footer__logo-wrap {
    width: 12vw;
  }
}
.footer__partners {
  display: flex;
  align-items: center;
  gap: 3vh;
}
@media only screen and (max-width: 768px) {
  .footer__partners {
    flex-wrap: wrap;
  }
}
.footer__img {
  height: 3vh;
  width: auto;
  object-fit: contain;
}
@media only screen and (max-width: 768px) {
  .footer__img {
    height: 2.5vh;
  }
}

.hero {
  height: 72vh;
  padding-bottom: 2vh;
  background: rgba(17, 17, 17, 0.1);
}
@media only screen and (max-width: 1100px) {
  .hero {
    height: 37vh;
    margin-top: 2vh;
  }
}
@media only screen and (max-width: 500px) {
  .hero {
    height: 32vh;
    margin-top: 2vh;
  }
}
@media only screen and (max-width: 350px) {
  .hero {
    height: 37vh;
  }
}
.hero__inner {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 3vh;
  height: 70vh;
}
@media only screen and (max-width: 1100px) {
  .hero__inner {
    height: 35vh;
  }
}
@media only screen and (max-width: 500px) {
  .hero__inner {
    height: 30vh;
    gap: 1.5vh;
  }
}
@media only screen and (max-width: 350px) {
  .hero__inner {
    height: 35vh;
  }
}
.hero__inner.about {
  height: 40vh;
}

.swiper {
  height: 100%;
  width: 100%;
}
.swiper .swiper-slide {
  background-size: contain !important;
  background-position: 50% !important;
  background-repeat: no-repeat !important;
  height: 95% !important;
}
@media only screen and (max-width: 1100px) {
  .swiper .swiper-slide {
    object-fit: contain !important;
  }
}
.swiper .slide-1 {
  background: url("https://uploads-ssl.webflow.com/63be96fec18c43ba57dfd6e6/654e4174c352b42eeb931bb2_Banner%201%20(2).png");
}
.swiper .slide-2 {
  background: url("https://uploads-ssl.webflow.com/63be96fec18c43ba57dfd6e6/654e417595959722af9ae0be_Banner%202%20(2).png");
}
.swiper .slide-3 {
  background: url("https://uploads-ssl.webflow.com/63be96fec18c43ba57dfd6e6/654e417537412f742798a438_Banner%203%20(2).png");
}
.swiper .slide-4 {
  background: url("https://uploads-ssl.webflow.com/63be96fec18c43ba57dfd6e6/654e417533f0994f5249ad34_Banner%204%20(2).png");
}
.swiper .slide-5 {
  background: url("https://uploads-ssl.webflow.com/63be96fec18c43ba57dfd6e6/654e417495959722af9ae08f_Banner%205%20(2).png");
}
.swiper .swiper-button-next,
.swiper .swiper-button-prev {
  width: 4vh;
  height: 4vh;
  background: #f2f3f4;
  border-radius: 50%;
  padding: 1vh;
}
@media only screen and (max-width: 1100px) {
  .swiper .swiper-button-next,
  .swiper .swiper-button-prev {
    width: 3vh;
    height: 3vh;
  }
}
.swiper .swiper-button-next::after,
.swiper .swiper-button-prev::after {
  font-size: 1em !important;
  color: #111;
}
@media only screen and (max-width: 500px) {
  .swiper .swiper-button-next::after,
  .swiper .swiper-button-prev::after {
    font-size: 0.75em !important;
  }
}
.swiper .swiper-button-next {
  right: 2%;
}
.swiper .swiper-button-prev {
  left: 2%;
}


.row-center {
  text-align: center;
}

.centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3vh;
  padding-top: 3vh;
}

.policy {
  display: flex;
  flex-direction: column;
  gap: 1vh;
  margin: 4vh auto;
  max-width: 70%;
}
@media only screen and (max-width: 1100px) {
  .policy {
    max-width: 90%;
  }
}
@media only screen and (max-width: 768px) {
  .policy {
    max-width: 96%;
  }
}
.policy .text {
  margin-bottom: 2vh;
}
@media only screen and (max-width: 1100px) {
  .policy .text {
    font-size: 1em;
  }
}
.policy .row-center {
  margin-bottom: 6vh;
}
.policy .space {
  padding-bottom: 1.5vh;
}

.block {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  align-items: center;
  gap: 1.5vh;
  height: 20vh;
  padding: 2vh 5vh 2vh 2vh;
  background: url(https://uploads-ssl.webflow.com/63be96fec18c43ba57dfd6e6/63d2760a6977d104360bc35e_bg.jpg) 50%
    no-repeat;
  background-size: cover;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 1100px) {
  .block {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 1vh;
    height: 15vh;
    padding: 1.5vh;
  }
}
@media only screen and (max-width: 768px) {
  .block {
    height: 20vh;
    grid-template-columns: 1fr 1fr;
    gap: 2vh;
  }
}
.block__icon {
  height: 14vh;
  width: 100%;
  object-fit: contain;
}
@media only screen and (max-width: 1100px) {
  .block__icon {
    height: 10vh;
  }
}
@media only screen and (max-width: 768px) {
  .block__icon {
    height: 14vh;
  }
}
.block__icon-wrapper {
  display: grid;
  place-items: center;
  width: 16vh;
  height: 16vh;
  padding: 1vh;
  background: #fff;
  border-radius: 0.5vh;
}
@media only screen and (max-width: 1100px) {
  .block__icon-wrapper {
    height: 12vh;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .block__icon-wrapper {
    height: 17vh;
  }
}
.block__title {
  font-size: 1.2em;
  color: #111;
  font-weight: 600;
  line-height: 1;
}
.block:hover,
.block:active {
  text-decoration: none;
  box-shadow: 0px 0px 10px rgba(118, 118, 118, 0.3);
}

.pad {
  display: flex;
  flex-direction: column;
  gap: 4vh;
  width: 55%;
  padding: 6vh 5vh;
  background-color: rgba(255, 255, 255, 0.55);
  border-radius: 0.5vh;
}
@media only screen and (max-width: 1100px) {
  .pad {
    width: 75%;
  }
}
@media only screen and (max-width: 768px) {
  .pad {
    width: 100%;
  }
}

.grid-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 3vh;
  margin: 5vh 0 12vh;
}
@media only screen and (max-width: 1100px) {
  .grid-5 {
    grid-template-columns: repeat(3, 1fr);
    margin: 5vh 0;
    gap: 2vh;
  }
}
@media only screen and (max-width: 768px) {
  .grid-5 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 500px) {
  .grid-5 {
    grid-template-columns: 1fr;
  }
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3vh;
  margin: 5em 0;
}
@media only screen and (max-width: 1100px) {
  .grid-4.centered {
    grid-template-columns: repeat(2, 1fr);
    gap: 10vh 3vh;
    margin: 0 0;
  }
}
@media only screen and (max-width: 1100px) {
  .grid-4 {
    grid-template-columns: repeat(3, 1fr);
    gap: 2vh;
  }
}
@media only screen and (max-width: 768px) {
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 500px) {
  .grid-4 {
    grid-template-columns: 1fr;
  }
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3vh;
  margin: 5em 0;
}
@media only screen and (max-width: 1100px) {
  .grid-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vh;
  }
}
@media only screen and (max-width: 768px) {
  .grid-3 {
    grid-template-columns: 1fr;
    gap: 2vh;
  }
}
@media screen and (max-width: 1200px) {
  .grid-3.small {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vh;
  }
}
@media only screen and (max-width: 768px) {
  .grid-3.small {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 500px) {
  .grid-3.small {
    grid-template-columns: 1fr;
  }
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3vh;
}
@media only screen and (max-width: 768px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }
}

.link {
  font-size: 1.5em;
  color: #c83035;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: underline;
}
.link:hover,
.link:active {
  color: #962327;
}
.link.inner {
  font-size: 100%;
  line-height: 1.4;
}

.text {
  font-size: 1.2em;
  color: #111;
  font-weight: 400;
  line-height: 1.4;
}
.text.small {
  font-size: 0.9em;
}

/*about page*/
.about__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 5vh;
  justify-items: stretch;
}
.about__grid-reverse {
  grid-template-columns: 1fr 1.3fr;
}
@media only screen and (max-width: 768px) {
  .about__grid {
    grid-template-columns: 1fr;
  }
}

.about__info {
  display: flex;
  flex-direction: column;
  gap: 3vh;
}

.about__img {
  height: 60vh;
  width: auto;
  object-fit: contain;
}
@media only screen and (max-width: 768px) {
  .about__img {
    height: 40vh;
    width: 75%;
  }
  .about__img:last-child {
    margin-left: auto;
  }
}
@media only screen and (max-width: 500px) {
  .about__img {
    width: 100%;
  }
}

/*contact page*/
.ShellForm {
  position: relative;
  padding-bottom: 25vh;
}
@media only screen and (max-width: 1100px) {
  .ShellForm {
    display: flex;
    flex-direction: column;
  }
}

.ShellForm > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3vh;
  width: 100%;
  max-width: 1300px;
  padding: 0 1rem;
  margin: 6vh auto;
}
@media only screen and (max-width: 1100px) {
  .ShellForm > div {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media only screen and (max-width: 500px) {
  .ShellForm > div {
    padding: 0 0.5rem;
  }
}
@media only screen and (min-width: 1700px) {
  .ShellForm > div {
    max-width: 80%;
  }
}

.SubmitForm {
  position: absolute;
  bottom: 5vh;
  right: 50%;
  display: flex !important;
  flex-direction: column;
  width: auto !important;
  margin: 0 !important;
  padding: 0 1rem !important;
}
.SubmitForm label {
  padding: 0 1vh;
  font-size: 0.8em;
}
.SubmitForm .captchaText {
  border: 0;
  border: 1px solid #a0a0a0;
}
.SubmitForm .captchaText:focus-visible {
  outline: none !important;
  border-color: #767676;
}
@media only screen and (max-width: 1100px) {
  .SubmitForm {
    transform: translateX(50%);
  }
}
@media only screen and (max-width: 500px) {
  .SubmitForm {
    width: 100% !important;
    padding: 0 1.5rem !important;
  }
}

.SubmitForm input[type="submit"] {
  display: inline-block;
  padding: 1.25vh 2.5vh !important;
  font-size: 1.1em !important;
  color: #fff !important;
  font-weight: 400;
  line-height: 1;
  border-radius: 4px;
  background-color: #c83035 !important;
  border: 1px solid #c83035 !important;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 1100px) {
  .SubmitForm input[type="submit"] {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 500px) {
  .SubmitForm input[type="submit"] {
    font-size: 0.8em;
  }
}
@media only screen and (min-width: 1700px) {
  .SubmitForm input[type="submit"] {
    padding: 1vh 2.5vh !important;
    font-size: 0.8em !important;
  }
}
.SubmitForm input[type="submit"]:hover,
.SubmitForm input[type="submit"]:active {
  color: #fff !important;
  background-color: #962327 !important;
  text-decoration: none !important;
  outline: none !important;
}

.ShellForm.create-page > div {
  grid-template-columns: 1fr;
}

.ShellForm.create-page .SubmitForm {
  right: auto;
  left: 50%;
  bottom: 3vh;
  transform: translateX(-50%);
}
@media only screen and (max-width: 1100px) {
  .ShellForm.create-page .SubmitForm {
    transform: translateX(-50%);
    flex-direction: column;
  }
}

.form {
  display: flex;
  flex-direction: column;
  gap: 1vh;
}
@media only screen and (max-width: 1100px) {
  .form {
    width: 70%;
    margin: 0 auto;
  }
  .form--large {
    width: 90%;
  }
}
@media only screen and (max-width: 768px) {
  .form--large {
    width: 100%;
  }
}
@media only screen and (max-width: 500px) {
  .form {
    width: 100%;
  }
}
.form__heading {
  display: flex;
  flex-direction: column;
  gap: 1vh;
  margin-bottom: 3vh;
}
@media only screen and (max-width: 1100px) {
  .form__heading {
    align-items: center;
  }
}
.form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3vh;
}
@media only screen and (max-width: 1100px) {
  .form__grid {
    gap: 2vh;
  }
}
@media only screen and (max-width: 500px) {
  .form__grid {
    grid-template-columns: 1fr;
  }
}
.form__grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3vh;
}
@media only screen and (max-width: 1100px) {
  .form__grid-3 {
    gap: 2vh;
  }
}
@media only screen and (max-width: 500px) {
  .form__grid-3 {
    grid-template-columns: 1fr;
  }
}
.form__block {
  display: flex;
  flex-direction: column;
  gap: 1vh;
}
.form__input {
  border-color: transparent;
  border: 1px solid #a0a0a0;
  padding: 1vh !important;
  margin-bottom: 2vh;
  font-size: 1em !important;
  color: #111;
  font-weight: 400;
  line-height: 1;
  transition: 0.3s ease-in-out;
}
.form__input.textarea {
  min-height: 15vh;
}
.form__input::placeholder {
  font-size: 0.8em !important;
  color: #767676;
  font-weight: 400;
  line-height: 1;
  font-style: normal !important;
}
.form__input::placeholder::first-letter {
  text-transform: uppercase;
}
.form__input:focus-visible {
  outline: none !important;
  border: 1px solid rgba(17, 17, 17, 0.9);
}
.form__label {
  font-size: 0.8em;
  color: #111;
  font-weight: 500;
  line-height: 1;
}
.form__label span {
  color: #c83035;
}
.form__subtitle {
  font-size: 0.9em;
  color: #111;
  font-weight: 600;
  line-height: 1;
  padding: 3vh 0 1vh;
  margin-bottom: 1vh;
  border-bottom: 1px solid rgba(118, 118, 118, 0.3);
}

.contact {
  display: flex;
  flex-direction: column;
  gap: 4vh;
  justify-self: end;
  margin: 0 auto;
  width: max-content;
  height: max-content;
  padding: 6vh 8vh;
  background-color: #f2f3f4;
}
@media only screen and (max-width: 768px) {
  .contact {
    width: 70% !important;
    padding: 4vh;
  }
}
@media only screen and (max-width: 500px) {
  .contact {
    width: 100% !important;
    padding: 2vh;
  }
}
.contact__block {
  display: flex;
  flex-direction: column;
  gap: 2vh;
}
.contact__row {
  display: flex;
  align-items: center;
  gap: 1vh;
}
.contact__text {
  font-size: 1em;
  color: #111;
  font-weight: 400;
  line-height: 1;
}
.contact__text.bold {
  font-weight: 500;
}
.contact__text.link {
  font-size: 1em;
  color: #111;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
}
.contact__text.link:hover,
.contact__text.link:active {
  color: #962327;
}

/*buttons*/
.btn-default.focus,
.btn-default:focus {
  outline: none !important;
  outline-offset: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  color: #fff !important;
  background-color: #962327 !important;
  border-color: #962327 !important;
}

a:focus,
a:hover {
  outline: none !important;
  outline-offset: 0 !important;
  color: #962327 !important;
  transition: 0.3s ease-in-out;
}

/*red*/
.LoginButton,
.ShellCreateAccount a.btn.btn-default,
.ShellMiniCart .CheckoutLink,
.AddToCartButton,
.CheckoutOptions .CheckoutOptionsButtons .CheckoutButton,
input#ctl00_Store_content_ButtonAddBoxAdd,
.ShellCalculateShipping .EnterZipCodeButton {
  display: inline-block;
  height: auto !important;
  padding: 1.5vh 4vh;
  background-color: #c83035;
  font-size: 1em;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  border: 1px solid #c83035;
  border-radius: 0 !important;
  transition: 0.3s ease-in-out;
}
.LoginButton:hover,
.LoginButton:active,
.ShellCreateAccount a.btn.btn-default:hover,
.ShellCreateAccount a.btn.btn-default:active,
.ShellMiniCart .CheckoutLink:hover,
.ShellMiniCart .CheckoutLink:active,
.AddToCartButton:hover,
.AddToCartButton:active,
.CheckoutOptions .CheckoutOptionsButtons .CheckoutButton:hover,
.CheckoutOptions .CheckoutOptionsButtons .CheckoutButton:active,
input#ctl00_Store_content_ButtonAddBoxAdd:hover,
input#ctl00_Store_content_ButtonAddBoxAdd:active,
.ShellCalculateShipping .EnterZipCodeButton:hover,
.ShellCalculateShipping .EnterZipCodeButton:active {
  background-color: #962327 !important;
  border-color: #962327;
  text-decoration: none !important;
  color: #fff !important;
}
.LoginButton:focus-visible,
.ShellCreateAccount a.btn.btn-default:focus-visible,
.ShellMiniCart .CheckoutLink:focus-visible,
.AddToCartButton:focus-visible,
.CheckoutOptions .CheckoutOptionsButtons .CheckoutButton:focus-visible,
input#ctl00_Store_content_ButtonAddBoxAdd:focus-visible,
.ShellCalculateShipping .EnterZipCodeButton:focus-visible {
  outline: none;
}
.LoginButton:focus,
.ShellCreateAccount a.btn.btn-default:focus,
.ShellMiniCart .CheckoutLink:focus,
.AddToCartButton:focus,
.CheckoutOptions .CheckoutOptionsButtons .CheckoutButton:focus,
input#ctl00_Store_content_ButtonAddBoxAdd:focus,
.ShellCalculateShipping .EnterZipCodeButton:focus {
  outline: none !important;
  outline-offset: 0 !important;
}

/*white*/
.CalculateShippingLink,
.CheckoutOptions .CheckoutOptionsButtons .ContinueShopping,
.EditCommunicatePreferencesDiv.pull-right,
.modal-footer .btn,
.ShellMiniCartFooter a.ContrastBoldLink,
.EditOrderButton,
.ShellContent a.btn,
.TopButtons .ResfreshButton.btn.btn-default.SubtleBtn,
.InvoiceList .btn.btn-default,
.printOrder .btn {
  display: inline-block;
  height: auto !important;
  padding: 1.5vh 4vh;
  background-color: #fff !important;
  font-size: 1em;
  color: #111;
  font-weight: 500;
  line-height: 1;
  border: 1px solid #111;
  border-radius: 0 !important;
  transition: 0.3s ease-in-out;
}
.CalculateShippingLink:hover,
.CalculateShippingLink:active,
.CheckoutOptions .CheckoutOptionsButtons .ContinueShopping:hover,
.CheckoutOptions .CheckoutOptionsButtons .ContinueShopping:active,
.EditCommunicatePreferencesDiv.pull-right:hover,
.EditCommunicatePreferencesDiv.pull-right:active,
.modal-footer .btn:hover,
.modal-footer .btn:active,
.ShellMiniCartFooter a.ContrastBoldLink:hover,
.ShellMiniCartFooter a.ContrastBoldLink:active,
.EditOrderButton:hover,
.EditOrderButton:active,
.ShellContent a.btn:hover,
.ShellContent a.btn:active,
.TopButtons .ResfreshButton.btn.btn-default.SubtleBtn:hover,
.TopButtons .ResfreshButton.btn.btn-default.SubtleBtn:active,
.InvoiceList .btn.btn-default:hover,
.InvoiceList .btn.btn-default:active,
.printOrder .btn:hover,
.printOrder .btn:active {
  background-color: #f2f3f4 !important;
  text-decoration: none !important;
  color: #111 !important;
  border-color: #111 !important;
}
.CalculateShippingLink:focus-visible,
.CheckoutOptions .CheckoutOptionsButtons .ContinueShopping:focus-visible,
.EditCommunicatePreferencesDiv.pull-right:focus-visible,
.modal-footer .btn:focus-visible,
.ShellMiniCartFooter a.ContrastBoldLink:focus-visible,
.EditOrderButton:focus-visible,
.ShellContent a.btn:focus-visible,
.TopButtons .ResfreshButton.btn.btn-default.SubtleBtn:focus-visible,
.InvoiceList .btn.btn-default:focus-visible,
.printOrder .btn:focus-visible {
  outline: none;
}
.CalculateShippingLink:focus,
.CheckoutOptions .CheckoutOptionsButtons .ContinueShopping:focus,
.EditCommunicatePreferencesDiv.pull-right:focus,
.modal-footer .btn:focus,
.ShellMiniCartFooter a.ContrastBoldLink:focus,
.EditOrderButton:focus,
.ShellContent a.btn:focus,
.TopButtons .ResfreshButton.btn.btn-default.SubtleBtn:focus,
.InvoiceList .btn.btn-default:focus,
.printOrder .btn:focus {
  outline: none !important;
  outline-offset: 0 !important;
}
@media only screen and (max-width: 500px) {
  .CalculateShippingLink,
  .CheckoutOptions .CheckoutOptionsButtons .ContinueShopping,
  .EditCommunicatePreferencesDiv.pull-right,
  .modal-footer .btn,
  .ShellMiniCartFooter a.ContrastBoldLink,
  .EditOrderButton,
  .ShellContent a.btn,
  .TopButtons .ResfreshButton.btn.btn-default.SubtleBtn,
  .InvoiceList .btn.btn-default,
  .printOrder .btn {
    padding: 1.5vh 2vh;
    font-size: 0.9em;
  }
}

/*login*/
.Admin_Editable {
  position: static;
}

.ShellStoreMainContent {
  float: none !important;
  background-color: #fff;
}

.ShellLoginPage {
  display: grid;
  place-items: center;
  min-height: 70vh;
  width: 40vw !important;
  margin: 4vh auto !important;
}
@media only screen and (max-width: 1100px) {
  .ShellLoginPage {
    width: 60vw !important;
  }
}
@media only screen and (max-width: 768px) {
  .ShellLoginPage {
    width: 80vw !important;
  }
}
@media only screen and (max-width: 500px) {
  .ShellLoginPage {
    width: 96% !important;
  }
}

.LoginControl {
  display: flex;
  flex-direction: column;
  gap: 1vh;
}

.LoginPageBorder {
  padding: 3vh !important;
  box-shadow: 0px 0px 10px rgba(118, 118, 118, 0.3) !important;
}
@media only screen and (max-width: 500px) {
  .LoginPageBorder {
    padding: 1.5vh !important;
  }
}

.LoginTitle {
  margin: 2vh auto;
  float: none !important;
}
.LoginTitle h1 {
  text-align: center;
  font-size: 2em;
  color: #962327;
  font-weight: 700;
  line-height: 1.4;
}

.ShellLoginUserName input,
.ShellLoginPassword input {
  width: 100% !important;
  height: 36px !important;
  transition: 0.3s ease-in-out;
  border-radius: 0;
  border: 1px solid #a0a0a0;
}
.ShellLoginUserName input:focus,
.ShellLoginPassword input:focus {
  border-color: #767676;
  outline: none !important;
  box-shadow: none !important;
}
@media only screen and (min-width: 1700px) {
  .ShellLoginUserName input,
  .ShellLoginPassword input {
    height: 2vw !important;
  }
}

.LoginUserNameLabel,
.LoginPasswordLabel {
  text-align: left !important;
  padding-bottom: 1vh;
}

.LoginButton {
  float: none !important;
}

.ForgotPasswordLink.ComplimentarySmallLink {
  border: none;
  font-size: 0.9em;
  padding: 1vh 0;
}
.ForgotPasswordLink.ComplimentarySmallLink:hover,
.ForgotPasswordLink.ComplimentarySmallLink:active {
  background-color: transparent;
  color: #962327;
}

.EmptyCartMessage {
  font-size: 0.9em !important;
}

.CreditCard {
  display: flex;
  align-items: center;
  gap: 1vh;
}
.CreditCard .CreditCardNumber {
  width: auto !important;
  font-size: 0.9em !important;
}
.CreditCard i {
  font-size: 100% !important;
}
.CreditCard i::before {
  width: auto !important;
  font-size: 100% !important;
}

/*mini cart*/
.ShellMiniCart.Bottom {
  font-size: 1em !important;
}

.ShellMiniCart.Bottom .MiniCartWrapper {
  max-width: 35vw !important;
  background-color: #962327;
}
@media only screen and (max-width: 1100px) {
  .ShellMiniCart.Bottom .MiniCartWrapper {
    max-width: 60vw !important;
  }
}
@media only screen and (min-width: 1700px) {
  .ShellMiniCart.Bottom .MiniCartWrapper {
    max-height: 60vh !important;
  }
}

.ShellMiniCart.Bottom.Open .MiniCartHeader,
.MiniCartHeader:hover {
  background-color: #962327 !important;
}

.MiniCartHeader.ContrastBackground {
  padding: 1vh !important;
  opacity: 0.85 !important;
  transition: 0.3s ease-in-out;
}

.ShellMiniCart.Bottom .MiniCartContent {
  padding: 5px 0 5px 5px !important;
  overflow: hidden !important;
}
@media only screen and (min-width: 1700px) {
  .ShellMiniCart.Bottom .MiniCartContent {
    max-height: 50vh !important;
    height: 50vh;
  }
}

.ShellMiniCartFooter {
  margin-top: 3vh;
  padding: 0 20px !important;
}
.ShellMiniCartFooter > div {
  width: 100% !important;
}
.ShellMiniCartFooter > .ShellMiniCartTotal {
  font-size: 1em !important;
}

.MiniCartHeader h2 {
  margin: 0 !important;
  font-size: 1em !important;
}

.ShellMiniCartItems {
  padding: 2px 5px 5px !important;
  width: 100% !important;
  max-height: 340px !important;
}
@media only screen and (min-width: 1700px) {
  .ShellMiniCartItems {
    max-height: 35vh !important;
  }
}

.ShellMiniCartItem {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1vh;
  justify-content: space-between;
  padding: 10px 20px 10px 5px !important;
}

.ShellMiniCartItem .MiniCartItemTitle,
.ShellMiniCartItem .MiniCartItemTotal {
  font-size: 1em !important;
}

.ShellCartRight .ShellEstimateTaxShipping,
.ShellMiniCartFooter .ShellEstimateTaxShipping,
.ShippingOptionsMessageLabel {
  display: none !important;
}

.MiniCartItemPrice {
  display: flex;
  align-items: center;
  gap: 2vh;
  margin: 0 !important;
}

.MiniCartItemImage img {
  width: 7vw !important;
  object-fit: contain;
}

.ShellMiniCart .CheckoutLink {
  margin: 10px 0 !important;
}

/*products*/
.ShellFolderItems {
  padding-top: 4vh;
}

.ShellStoreItems {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2vh;
}
@media only screen and (max-width: 1100px) {
  .ShellStoreItems {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .ShellStoreItems {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 500px) {
  .ShellStoreItems {
    grid-template-columns: repeat(1, 1fr);
  }
}

.ShellTemplate.Item {
  width: 100% !important;
  padding: 0 !important;
  height: auto !important;
}
@media only screen and (max-width: 500px) {
  .ShellTemplate.Item {
    height: auto !important;
  }
}

.ShellTemplate.Folder article {
  width: 100% !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 290px;
}
@media only screen and (min-width: 1700px) {
  .ShellTemplate.Folder article {
    min-height: 30vh;
  }
}

.ShellStoreMainContent article:hover .ShellDetailInfo {
  max-height: none !important;
}

.TemplateImage {
  height: 150px !important;
  width: auto;
  object-fit: contain;
}
.TemplateImage > img {
  height: 100%;
  object-fit: contain;
  max-width: 75% !important;
}
@media only screen and (max-width: 500px) {
  .TemplateImage {
    display: flex !important;
  }
}

.ComplimentaryLink:hover:hover,
.ComplimentaryLink:hover:active,
.ComplimentaryLink:active:hover,
.ComplimentaryLink:active:active {
  text-decoration: none;
  color: #962327 !important;
}

.TemplateTitle {
  font-weight: 700;
  max-width: 100%;
  padding: 1vh 0;
  font-size: 1.1em;
}
.TemplateTitle:hover,
.TemplateTitle:active {
  text-decoration: none;
  color: #962327 !important;
}

a.ClickableTemplate {
  display: flex;
  flex-direction: column;
  gap: 2vh;
  margin: 0 !important;
  padding: 2vh;
}
a.ClickableTemplate:hover {
  background-color: transparent !important;
}
a.ClickableTemplate:hover .TemplateTitle {
  color: #962327 !important;
}
@media only screen and (max-width: 768px) {
  a.ClickableTemplate {
    padding: 1.5vh;
  }
}
@media only screen and (max-width: 500px) {
  a.ClickableTemplate {
    padding: 1vh;
  }
}

.ShellStoreItems > div[class*="col-"] {
  margin: 0 !important;
  width: 100%;
}

.ShellMiniCartFooter a.ContrastBoldLink,
.ComplimentarySmallLink {
  display: inline-block;
  padding: 1vh 2vh;
  background-color: #fff;
  font-size: 1em;
  color: #111;
  font-weight: 500;
  line-height: 1;
  border: 1px solid #111;
  border-radius: 0 !important;
  transition: 0.3s ease-in-out;
  margin: 0 !important;
}
.ShellMiniCartFooter a.ContrastBoldLink:hover,
.ShellMiniCartFooter a.ContrastBoldLink:active,
.ComplimentarySmallLink:hover,
.ComplimentarySmallLink:active {
  background-color: #f2f3f4;
  text-decoration: none !important;
  color: #111 !important;
}
.ShellMiniCartFooter a.ContrastBoldLink:focus-visible,
.ComplimentarySmallLink:focus-visible {
  outline: none;
}

.ShellStoreMainContent article:hover .TemplateDescription,
.ShellStoreMainContent article:hover .ShellSaveLater,
.ShellStoreMainContent article:hover .TemplateLink {
  display: none !important;
}

.ShellStoreMainContent article:hover .TemplateAddToCart,
html.touch .ShellStoreMainContent article:hover {
  display: flex !important;
}

.ShellTemplate > a article,
.ShellTemplate > article {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 2vh !important;
  border: none !important;
  box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.09) !important;
  transition: 0.3s ease-in-out;
}
.ShellTemplate > a article:hover,
.ShellTemplate > a article:active,
.ShellTemplate > article:hover,
.ShellTemplate > article:active {
  box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.2) !important;
}

.ShellTemplate .TemplateIcons,
.ShellDetailPrice .ShellNewIcon {
  display: none;
}

.ShellTemplateDetail {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}
@media only screen and (max-width: 500px) {
  .ShellTemplateDetail {
    height: auto;
  }
}

.ShellStoreMainContent .TemplatePrice {
  position: relative !important;
  font-size: 1em;
  font-weight: 700;
}

.ShellTemplateImage {
  display: inline-block;
  object-fit: contain;
  width: auto;
  margin-bottom: 2vh;
}

.ShellTemplate.Item .TemplateId,
.TemplateQuantity,
.TemplateAddToCart,
.TemplateDescription {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 500px) {
  .ShellTemplate.Item .TemplateId,
  .TemplateQuantity,
  .TemplateAddToCart,
  .TemplateDescription {
    float: none !important;
    text-align: center;
  }
}

.TemplateDescription ::target-text {
  width: 0;
  height: 0;
}

.TemplateId {
  font-size: 0.85em;
}

.TemplateQuantity {
  float: none !important;
}

.TemplateQuantityTextBox {
  width: 5vw !important;
  margin: 1.5vh auto;
  border-radius: 0;
  transition: 0.3s ease-in-out;
  text-align: center;
}
.TemplateQuantityTextBox:focus {
  border-color: #767676;
  box-shadow: 0px 0px 6px rgba(118, 118, 118, 0.3);
}
@media only screen and (max-width: 500px) {
  .TemplateQuantityTextBox {
    width: 5vh !important;
  }
}
@media only screen and (min-width: 1700px) {
  .TemplateQuantityTextBox {
    height: 2vw;
  }
}

/**filter sidebar*/
.SpecSideBar {
  width: 17% !important;
  margin: 0 1% 0 0 !important;
  padding: 10px !important;
  background: #fff;
  box-shadow: 0px 0px 17px rgba(25, 36, 48, 0.1) !important;
}
@media only screen and (max-width: 1100px) {
  .SpecSideBar {
    width: auto !important;
    margin-bottom: 4vh !important;
  }
}
@media only screen and (min-width: 1700px) {
  .SpecSideBar {
    padding: 20px !important;
  }
}

.SpecSideBar .collapsible {
  font-size: 0.9em;
  color: #111;
  font-weight: 400;
  line-height: 1;
  border-radius: 4px !important;
  background-color: rgba(17, 17, 17, 0.2);
}
@media only screen and (max-width: 1100px) {
  .SpecSideBar .collapsible {
    margin-bottom: 1vh;
    padding: 8px !important;
    font-size: 0.8em;
  }
}

.Category {
  margin-bottom: 1.5vh;
}

.SpecSideBar .Category table label {
  margin: 0 !important;
  font-size: 0.8em;
  color: #111;
  font-weight: 400;
  line-height: 1;
}

.SpecSideBar .Category table input {
  margin: 0 !important;
  width: 14px;
  height: 14px;
}
@media only screen and (min-width: 1700px) {
  .SpecSideBar .Category table input {
    width: 1vw;
    height: 1vw;
  }
}

.SpecSideBar .Category table span {
  margin: 0.5vh 0;
  display: flex;
  align-items: center;
  gap: 0.3vh;
  transition: 0.3s ease-in-out;
}

.findBtn,
.mobileBtn {
  display: inline-block;
  padding: 1.25vh 2.5vh;
  margin: 2vh 0 !important;
  font-size: 1.1em;
  color: #fff;
  font-weight: 400;
  line-height: 1;
  border-radius: 0;
  background-color: #c83035;
  border: 1px solid #c83035 !important;
  transition: 0.3s ease-in-out;
}
.findBtn .fa,
.mobileBtn .fa {
  color: #fff;
  padding-left: 5px;
}
@media only screen and (max-width: 1100px) {
  .findBtn,
  .mobileBtn {
    margin: 0 !important;
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 500px) {
  .findBtn,
  .mobileBtn {
    font-size: 0.8em;
  }
}
.findBtn:hover,
.findBtn:active,
.findBtn:focus,
.mobileBtn:hover,
.mobileBtn:active,
.mobileBtn:focus {
  color: #fff;
  background-color: #962327;
  text-decoration: none !important;
  outline: none !important;
}
.findBtn:last-child,
.mobileBtn:last-child {
  display: none;
}
@media only screen and (max-width: 1100px) {
  .findBtn:last-child,
  .mobileBtn:last-child {
    display: block;
  }
}

@media only screen and (max-width: 1100px) {
  .findBtn:first-child {
    display: none;
  }
}

.ShellStoreMainContent.specssearch .ShellFolderItems {
  width: 82% !important;
  padding-top: 0 !important;
}
@media only screen and (max-width: 1100px) {
  .ShellStoreMainContent.specssearch .ShellFolderItems {
    width: 100% !important;
  }
}

.SpecSideBar .SidebarContent.showMobileSideBarContent {
  position: static !important;
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2vh;
  margin-top: 3vh;
  box-shadow: none !important;
}

@media only screen and (max-width: 1100px) {
  .SpecSideBar .MobileSidebar {
    display: flex !important;
  }
}

/*navigation*/
.ShellNavigation {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5vh;
  margin: 3vh 0;
}
@media only screen and (max-width: 768px) {
  .ShellNavigation > * {
    font-size: 0.8em !important;
  }
}

.ComplimentaryColor,
.PrimaryLink {
  color: #111 !important;
  transition: 0.3s ease-in-out !important;
}
.ComplimentaryColor:hover,
.ComplimentaryColor:active,
.PrimaryLink:hover,
.PrimaryLink:active {
  text-decoration: none !important;
  color: #962327 !important;
}

.Id.ComplimentaryColor {
  font-size: 1.2em;
  color: #111;
  font-weight: 400;
  line-height: 1;
}
@media only screen and (max-width: 1100px) {
  .Id.ComplimentaryColor {
    font-size: 0.9em;
  }
}

/*item page*/
.ShellDetail.ShellTitleFirst {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 2vh;
  margin: 4vh 0;
}
@media only screen and (max-width: 1100px) {
  .ShellDetail.ShellTitleFirst {
    grid-template-columns: 1fr;
  }
}

.ShellDetail .ShellImages.SingleImage {
  max-width: none !important;
}

.ShellDetail .ShellImages.SingleImage a {
  position: relative;
  width: 100%;
  height: 55vh;
  padding: 3vh !important;
  box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.09) !important;
}
@media only screen and (max-width: 1100px) {
  .ShellDetail .ShellImages.SingleImage a {
    height: 35vh;
    padding: 1vh;
  }
}

.ShellDetail .ShellImages.SingleImage a img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.ShellDetail .ShellImages.SingleImage a div,
.ShellDetail .ShellImages .ExpandText {
  display: none;
}

.ShellDetailPrice {
  padding: 3vh !important;
  background: #f2f3f4;
}
@media only screen and (max-width: 1100px) {
  .ShellDetailPrice {
    padding: 2vh !important;
  }
}

.ShellPriceBox {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2vh;
  height: 30vh;
  width: 100%;
  padding: 0 !important;
  box-shadow: none !important;
}
@media only screen and (max-width: 1100px) {
  .ShellPriceBox {
    height: 15vh;
  }
}

.AddToCartControls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1vh;
  width: 100% !important;
  padding: 0 !important;
}

.ShellTitleFirst h1 {
  font-size: 1.5em;
  color: #111;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 3vh;
  white-space: pre-wrap;
}
@media only screen and (max-width: 1100px) {
  .ShellTitleFirst h1 {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .ShellTitleFirst h1 {
    font-size: 1em;
  }
}

.FolderNavigationArrow {
  padding: 5px 0 !important;
}

.PagingItemTitle {
  white-space: pre-wrap;
}

.ComplimentaryColor h2,
.AddToCartQuantityLabel {
  margin: 0 !important;
  font-size: 1em !important;
  color: #111;
  font-weight: 400;
  line-height: 1;
}

.AddToCartQuantityTextBox {
  width: 50px;
  min-height: 4.5vh;
  max-width: none !important;
  margin: 0 !important;
  text-align: center;
  border-radius: 0 !important;
  background-color: #f2f3f4;
  font-size: 1em;
  color: #111;
  font-weight: 400;
  line-height: 1;
}
.AddToCartQuantityTextBox:focus {
  border: #767676 !important;
  box-shadow: none !important;
}
@media only screen and (min-width: 1700px) {
  .AddToCartQuantityTextBox {
    width: 120px;
  }
}

.AddToCartPriceLabel {
  margin: 2vh 0 !important;
  font-size: 1.25em;
  color: #111;
  font-weight: 500;
  line-height: 1;
}
@media only screen and (max-width: 1100px) {
  .AddToCartPriceLabel {
    font-size: 1em;
  }
}

.ShellTabsAccessories {
  margin: 4vh 0;
}

.ShellItemTabs {
  min-height: auto !important;
}

/*cart*/
.ShellStoreMainContent.cart {
  margin: 6vh auto 0;
}
.ShellStoreMainContent.cart h1 {
  margin-bottom: 3vh;
  font-size: 1.5em;
  color: #111;
  font-weight: 700;
  line-height: 1;
}

.ShellCartLeft {
  width: 70% !important;
}
@media only screen and (max-width: 768px) {
  .ShellCartLeft {
    width: 100% !important;
  }
}

.ShellCartRight {
  width: 28% !important;
  margin: 0 !important;
  max-width: none !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2vh;
}
@media only screen and (max-width: 768px) {
  .ShellCartRight {
    width: 100% !important;
  }
}

.CheckoutOptions .CheckoutOptionsButtons {
  display: grid;
  gap: 1vh;
  padding: 0 !important;
}

.CheckoutOptions .CheckoutOptionsButtons input {
  float: none !important;
  margin: 0 !important;
}

.CartSubtotal {
  font-size: 1em !important;
}
.CartSubtotal > .ContrastColor {
  font-size: 1.1em !important;
}

.CheckoutOptions .SignInText {
  width: 100% !important;
  margin: 2vh 0 !important;
}
.CheckoutOptions .SignInText > a {
  text-decoration: none !important;
  color: #c83035;
}

.ShellCart {
  display: flex;
  gap: 1.5vh;
  flex-direction: column;
}

.ShellCart div.ShellCartItem {
  display: grid;
  grid-template-columns: 1fr 3fr 1fr 1.3fr;
  gap: 1vh;
  justify-content: space-between;
  padding: 2vh 1vh !important;
  margin: 0 !important;
  box-shadow: 0px 1px 10px rgba(3, 3, 3, 0.09) !important;
}
.ShellCart div.ShellCartItem:hover {
  background-color: transparent !important;
}
@media only screen and (max-width: 768px) {
  .ShellCart div.ShellCartItem {
    position: relative;
    grid-template-columns: 1fr;
  }
}

.ShellCart .ShellCartItem > .Image {
  order: 1;
  padding: 0 !important;
}
@media only screen and (max-width: 768px) {
  .ShellCart .ShellCartItem > .Image {
    width: 20vw;
  }
}

.ShellCart .ShellCartItem > .Image a {
  height: 100%;
  display: grid;
  place-items: center;
  padding: 0 !important;
}

.ShellCart .ShellCartItem > .Image a img {
  max-height: none !important;
  height: 15vh;
  max-width: none !important;
  width: 100%;
  object-fit: contain;
}
@media only screen and (max-width: 768px) {
  .ShellCart .ShellCartItem > .Image a img {
    height: 20vh;
  }
}

.ShellCart .ShellCartItem > .Quantity,
.ShellCart .ShellCartItem > .UnitPrice {
  align-self: flex-end;
}
@media only screen and (max-width: 768px) {
  .ShellCart .ShellCartItem > .Quantity,
  .ShellCart .ShellCartItem > .UnitPrice {
    margin-left: auto;
  }
}

.ShellCart .ShellCartItem > .Weight,
.ShellCart .ShellCartItem > .Unit {
  display: none;
}

.ShellCart .ShellCartItem > .Quantity {
  width: 110px;
  order: 3;
}

.ShellCart .ShellCartItem > .UnitPrice {
  order: 4;
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .ShellCart .ShellCartItem > .UnitPrice {
    text-align: left;
  }
}

.minus.btn.btn-default,
.plus.btn.btn-default,
.ShellCart .ShellCartItem > .Quantity .form-control {
  min-width: 40px;
  height: 30px !important;
  padding: 0 2px;
  border: 1px solid #767676;
  background-color: transparent;
  box-shadow: none;
  color: #111;
  text-align: center;
  border-radius: 0;
  transition: 0.3s ease-in-out;
  font-size: 0.8em;
}
.minus.btn.btn-default:hover,
.minus.btn.btn-default:active,
.minus.btn.btn-default:focus,
.plus.btn.btn-default:hover,
.plus.btn.btn-default:active,
.plus.btn.btn-default:focus,
.ShellCart .ShellCartItem > .Quantity .form-control:hover,
.ShellCart .ShellCartItem > .Quantity .form-control:active,
.ShellCart .ShellCartItem > .Quantity .form-control:focus {
  color: #111 !important;
  background-color: transparent !important;
  border: 1px solid #767676 !important;
}
@media only screen and (min-width: 1700px) {
  .minus.btn.btn-default,
  .plus.btn.btn-default,
  .ShellCart .ShellCartItem > .Quantity .form-control {
    width: 2vw;
    height: 2vw !important;
  }
}

.minus.btn.btn-default,
.plus.btn.btn-default {
  font-size: 16px;
}
@media only screen and (min-width: 1700px) {
  .minus.btn.btn-default,
  .plus.btn.btn-default {
    font-size: 36px;
  }
}

.ShellCart .ShellCartItem > .UnitPrice,
.ShellCart .ShellCartItem > .Detail .Title {
  margin-bottom: 1vh;
  font-size: 1em !important;
  font-weight: 700 !important;
  line-height: 1.4;
}
@media only screen and (max-width: 1100px) {
  .ShellCart .ShellCartItem > .UnitPrice,
  .ShellCart .ShellCartItem > .Detail .Title {
    font-size: 0.9em !important;
  }
}

.ShellCart .ShellCartItem .ItemQuantityAndUnitPrice {
  font-size: 0.9em !important;
  font-weight: 400 !important;
  line-height: 1;
}
@media only screen and (max-width: 1100px) {
  .ShellCart .ShellCartItem .ItemQuantityAndUnitPrice {
    font-size: 0.8em;
  }
}

.ShellCart .ShellCartItem .ItemQuantityAndUnitPrice > span {
  padding: 0 3px;
  font-size: 100% !important;
  font-weight: 400 !important;
  line-height: 1;
}
@media only screen and (max-width: 1100px) {
  .ShellCart .ShellCartItem .ItemQuantityAndUnitPrice > span {
    font-size: 0.7em;
  }
}

.ShellCart .ShellCartItem > .Detail {
  display: flex;
  flex-direction: column;
  text-align: left;
  order: 2;
}

.ShellCart .ShellCartItem > .Detail .ItemId,
.ShellCart .ShellCartItem > .Detail .ExcludeShipVia {
  font-size: 0.9em !important;
  font-weight: 400;
  line-height: 1;
}
@media only screen and (max-width: 1100px) {
  .ShellCart .ShellCartItem > .Detail .ItemId,
  .ShellCart .ShellCartItem > .Detail .ExcludeShipVia {
    font-size: 0.8em !important;
  }
}

.ShellCart .ShellCartItem > .Detail .Remove {
  position: absolute;
  right: 2vh;
  margin: 0 !important;
  font-size: 0.7em !important;
}
@media only screen and (max-width: 768px) {
  .ShellCart .ShellCartItem > .Detail .Remove {
    top: 2vh;
  }
}

.icon-heart6 {
  font-family: "icomoon" !important;
}

.ShellCart .ShellCartItem > .Detail .MoveToCart {
  display: flex;
  align-items: center;
  gap: 1vh;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
@media only screen and (max-width: 768px) {
  .ShellCart .ShellCartItem > .Detail .MoveToCart {
    position: absolute;
    top: 2vh;
    right: 0;
  }
}

.ShellAddBox .AddBoxItemNumber,
.ShellAddBox .AddBoxQuantity {
  display: flex;
  flex-direction: column;
  gap: 1vw;
}

.ShellAddBox {
  margin: 2vh 0 6vh !important;
  padding: 3vh 0 !important;
}

.ShellAddBox h2 {
  font-size: 1.1em !important;
  color: #962327 !important;
  font-weight: 500 !important;
  line-height: 1;
}

.AddBoxItemNumberTextBox,
.AddBoxItemQuantityTextBox,
.ShellCalculateShipping .CalculateShippingZip input {
  height: 36px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 1em;
}
.AddBoxItemNumberTextBox:focus,
.AddBoxItemQuantityTextBox:focus,
.ShellCalculateShipping .CalculateShippingZip input:focus {
  box-shadow: none !important;
  border-color: #767676 !important;
}
@media only screen and (min-width: 1700px) {
  .AddBoxItemNumberTextBox,
  .AddBoxItemQuantityTextBox,
  .ShellCalculateShipping .CalculateShippingZip input {
    height: 2vw !important;
  }
}

.ShellAddBox .AddToCart {
  margin: 3.5vw 0 0 15px !important;
}
@media only screen and (min-width: 1700px) {
  .ShellAddBox .AddToCart {
    margin: 2vw 0 0 15px !important;
  }
}

/*create account*/
.AccountTextField {
  display: grid;
  align-items: center;
  gap: 3vh;
  grid-template-columns: 1fr 3fr;
  margin-bottom: 1vh;
}

.AccountTextFieldLabel {
  width: auto !important;
}

.CommentsTextArea {
  min-height: 10vh;
}

.CreateAccountFields h1,
.CreateAccountFields h2 {
  text-align: right;
  font-size: 1em !important;
  color: #c83035;
  padding: 2vh 0;
}

.ShellCreateAccount {
  position: relative;
  margin: 4vh auto;
  width: 70% !important;
  padding-bottom: 10vh;
  float: none !important;
}
.ShellCreateAccount h1 {
  font-size: 2.5em !important;
  color: #111;
  font-weight: 900 !important;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width: 1100px) {
  .ShellCreateAccount h1 {
    font-size: 1.5em !important;
  }
}
.ShellCreateAccount > span {
  display: block;
  margin-top: 2vh;
}
@media only screen and (max-width: 1100px) {
  .ShellCreateAccount {
    width: 100% !important;
  }
}

.ShellStoreMainContent .ShellLoginControl .ShellCreateAccount {
  display: flex;
  flex-direction: column;
  gap: 1vh;
  font-size: 1em !important;
  padding: 0;
}

.ShellCreateAccount a.btn.btn-default {
  font-size: unset !important;
}

.TaxExemptCheckBox {
  float: right !important;
}
.TaxExemptCheckBox input[type="checkbox"] {
  margin: 0 1vh 0 0 !important;
  width: 1.5vw;
  height: 1.5vw;
}
@media only screen and (max-width: 1100px) {
  .TaxExemptCheckBox input[type="checkbox"] {
    width: 14px;
    height: 14px;
  }
}

.MailingList {
  display: none;
}

.CommentsTextArea {
  width: 50% !important;
  float: right !important;
}

.ShellCaptcha {
  float: right !important;
  width: auto !important;
}
.ShellCaptcha label {
  padding: 0 1vh;
  font-size: 0.8em;
}
.ShellCaptcha .captchaText {
  border-radius: 0 !important;
  border: 1px solid #a0a0a0;
}
.ShellCaptcha .captchaText:focus-visible {
  outline: none !important;
  border-color: #767676;
}
@media only screen and (min-width: 1700px) {
  .ShellCaptcha .captchaText {
    height: 2vw !important;
  }
}

.CreateAccountButton {
  display: inline-block;
  padding: 1.25vh 2.5vh !important;
  margin-bottom: 4vh;
  font-size: 1.1em !important;
  color: #111;
  font-weight: 400;
  line-height: 1;
  border-radius: 0;
  background-color: #fff;
  border: 1px solid #111;
  transition: 0.3s ease-in-out;
  float: right !important;
}
@media only screen and (max-width: 1100px) {
  .CreateAccountButton {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 500px) {
  .CreateAccountButton {
    font-size: 0.8em;
  }
}
@media only screen and (min-width: 1700px) {
  .CreateAccountButton {
    padding: 1vh 2.5vh !important;
    font-size: 0.8em !important;
  }
}
.CreateAccountButton:hover,
.CreateAccountButton:active {
  color: #111 !important;
  background-color: rgba(17, 17, 17, 0.2);
  text-decoration: none !important;
  outline: none !important;
}

.ShellContent .Fields {
  font-size: 1em !important;
  color: #111;
  font-weight: 400;
  line-height: 1;
}
.ShellContent .Fields bold,
.ShellContent .Fields strong,
.ShellContent .Fields h3 {
  font-weight: 700 !important;
  font-size: inherit !important;
}

.AccountTextField input,
.AccountTextField select,
.CommentsTextArea,
.captchaText,
#SearchInput {
  height: 34px !important;
  width: auto !important;
  padding: 2px 12px !important;
  border-radius: 0 !important;
  border: 1px solid #a0a0a0;
  box-shadow: none !important;
  font-size: 1em !important;
  color: #111;
  font-weight: 400 !important;
  line-height: 1;
  transition: 0.3s ease-in-out;
}
.AccountTextField input:focus,
.AccountTextField input:focus-visible,
.AccountTextField select:focus,
.AccountTextField select:focus-visible,
.CommentsTextArea:focus,
.CommentsTextArea:focus-visible,
.captchaText:focus,
.captchaText:focus-visible,
#SearchInput:focus,
#SearchInput:focus-visible {
  outline: none !important;
  border-color: #767676 !important;
  box-shadow: none !important;
}
@media only screen and (min-width: 1700px) {
  .AccountTextField input,
  .AccountTextField select,
  .CommentsTextArea,
  .captchaText,
  #SearchInput {
    height: 2vw !important;
  }
}

#SearchInput {
  width: 100% !important;
  margin-bottom: 2vh !important;
}

.AccountTextField select {
  padding: 0 12px !important;
}

.CommentsTextArea {
  padding: 6px 12px !important;
  min-height: 80px;
  min-width: 50%;
}
@media only screen and (max-width: 1100px) {
  .CommentsTextArea {
    min-width: 90%;
  }
}
@media only screen and (max-width: 500px) {
  .CommentsTextArea {
    min-width: 100%;
  }
}

.headerDiv {
  box-shadow: none !important;
}

.Order {
  margin: 2vh 0;
}

.TopButtons .btn {
  font-size: 1em;
}
@media only screen and (max-width: 1100px) {
  .TopButtons .btn {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 500px) {
  .TopButtons .btn {
    font-size: 0.8em;
  }
}
@media only screen and (min-width: 1700px) {
  .TopButtons .btn {
    padding: 1vh 2.5vh !important;
    font-size: 0.8em !important;
  }
}

.createaccountconfirm {
  margin: 4vh auto !important;
}
.createaccountconfirm h2 {
  font-size: 1em !important;
  color: #111 !important;
  font-weight: 500 !important;
  line-height: 1.4;
}

/*forgot password*/
.ShellFogotPage {
  width: 100% !important;
  max-width: 500px !important;
}

.PageBorder {
  margin-top: 4vh;
  padding: 2vh !important;
  box-shadow: 0px 0px 10px rgba(17, 17, 17, 0.1) !important;
}
.PageBorder h1 {
  padding-bottom: 2vh;
  font-size: 1.5em;
  color: #111;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 1100px) {
  .PageBorder h1 {
    font-size: 1.25em;
  }
}

.ShellStoreMainContent .Text {
  font-size: 1em;
  color: #111;
  font-weight: 400;
  line-height: 1.4;
}
@media only screen and (max-width: 1100px) {
  .ShellStoreMainContent .Text {
    font-size: 0.9em;
  }
}

.SubmitButton {
  padding: 1.5vh 4vh;
  background-color: #c83035;
  margin-top: 4vh;
  font-size: 1em;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  transition: 0.3s ease-in-out;
  border-radius: 0 !important;
  border: none !important;
  float: none !important;
}
.SubmitButton:hover,
.SubmitButton:active {
  background-color: #962327;
  text-decoration: none !important;
  color: #fff;
  border: none !important;
}
.SubmitButton:focus-visible {
  outline: none;
}

.captchaText {
  margin: 1em 1em 1em 0;
  height: 30px;
  border: 1px solid #767676;
  transition: 0.3s ease-in-out;
}
.captchaText:focus-visible {
  border-color: rgba(17, 17, 17, 0.9);
  outline: none !important;
}

.EbmsFolderContentListShell > div {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 2vh;
}
.EbmsFolderContentListShell > div .ShellTemplate.Item,
.EbmsFolderContentListShell > div .ShellTemplate > a article,
.EbmsFolderContentListShell > div .ShellTemplate > article {
  height: auto !important;
}
@media only screen and (max-width: 768px) {
  .EbmsFolderContentListShell > div {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 500px) {
  .EbmsFolderContentListShell > div {
    grid-template-columns: 1fr;
  }
}

/*downloads page*/
.tabs-wrapper {
  margin: 4vh 0;
}

.buttonWrapper {
  display: flex;
  gap: 3vh;
  align-items: center;
  margin-bottom: 6vh;
}
@media only screen and (max-width: 1100px) {
  .buttonWrapper {
    gap: 1vh;
    flex-wrap: wrap;
  }
}
@media (max-width: 360px) {
  .buttonWrapper {
    gap: 0.5vh;
  }
}

.tab-button {
  display: grid;
  place-items: center;
  min-width: 15vw;
  padding: 1.5vh 2.5vh;
  font-size: 0.9em;
  color: #111;
  font-weight: 500;
  line-height: 1.4;
  border: none;
  box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.09);
  border-radius: 45px;
  cursor: pointer;
  transition: 0.4s;
}
@media only screen and (max-width: 768px) {
  .tab-button {
    min-width: auto;
    padding: 1.5vh 2.5vh;
    font-size: 0.8em;
  }
}
@media only screen and (max-width: 500px) {
  .tab-button {
    min-width: auto;
    padding: 1.5vh 2vh;
    font-size: 0.8em;
  }
}
@media (max-width: 360px) {
  .tab-button {
    padding: 1vh 1.5vh;
    font-size: 0.7em;
  }
}
.tab-button.active {
  background-color: #c83035;
  color: #fff;
}
.tab-button:hover,
.tab-button:active {
  box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.2);
}

.content-tab {
  display: none;
}
.content-tab.active {
  display: flex;
  flex-direction: column;
  gap: 2.5vh;
}
.content-tab__downloads {
  display: flex;
  gap: 3vh;
  justify-content: flex-start;
}
@media only screen and (max-width: 500px) {
  .content-tab__downloads {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.content-tab__download {
  display: grid;
  place-items: center;
  padding: 2.5vh 6vh;
  border: 3px solid #c83035;
  min-width: 25vw;
  font-size: 1.2em;
  color: #c83035;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .content-tab__download {
    padding: 1.5vh 3vh;
    min-width: auto;
    font-size: 1.1em;
  }
}
.content-tab__download:hover,
.content-tab__download:active {
  border-color: #962327;
  text-decoration: none !important;
}

.video-container {
  position: relative;
  width: 55vw;
  padding-bottom: 56.25%;
}
@media only screen and (max-width: 768px) {
  .video-container {
    width: 100%;
  }
}

.video-container > .video-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
}

.ShellMyAccountSideBar {
  width: 18% !important;
  display: flex;
  flex-direction: column;
  padding: 2vh;
  margin-right: 2vh;
  background: #fff;
  box-shadow: 0px 0px 12px rgba(118, 118, 118, 0.3);
  border-radius: 0;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 1100px) {
  .ShellMyAccountSideBar {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2vh;
    align-items: center;
    width: 100% !important;
  }
}
@media only screen and (max-width: 768px) {
  .ShellMyAccountSideBar {
    gap: 1vh 2vh;
    border-bottom: none !important;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 500px) {
  .ShellMyAccountSideBar {
    gap: 0.5vh;
    padding: 1vh;
  }
}

.ShellMyAccountSideBar a {
  margin: 0 !important;
  padding: 2vh 1vh 2vh 2vh !important;
  display: flex !important;
  align-items: center;
  gap: 1vh;
  text-decoration: none;
  border: none !important;
  font-size: 1em !important;
  color: #111;
  font-weight: 500;
  line-height: 1;
  transition: 0.3s ease-in-out;
}
.ShellMyAccountSideBar a:nth-last-child(2) {
  display: none !important;
}
.ShellMyAccountSideBar a .fa,
.ShellMyAccountSideBar a span {
  font-size: 1em !important;
  color: #111 !important;
}
@media only screen and (max-width: 1100px) {
  .ShellMyAccountSideBar a .fa,
  .ShellMyAccountSideBar a span {
    font-size: 0.9em !important;
  }
}
.ShellMyAccountSideBar a:hover,
.ShellMyAccountSideBar a:active {
  background-color: #767676 !important;
}
.ShellMyAccountSideBar a:hover .fa,
.ShellMyAccountSideBar a:hover span,
.ShellMyAccountSideBar a:active .fa,
.ShellMyAccountSideBar a:active span {
  color: #fff !important;
}
@media only screen and (max-width: 1100px) {
  .ShellMyAccountSideBar a {
    padding: 1vh !important;
    border: none !important;
  }
}
@media only screen and (min-width: 1700px) {
  .ShellMyAccountSideBar a {
    padding: 1.5vh !important;
  }
}

.ShellContent h1 {
  font-size: 1.5em;
  font-weight: 700;
}

.ShellContent h2 {
  font-size: 1.2em;
  border-bottom: none !important;
  color: #962327 !important;
}

.ShellAccountDetails,
.ShellPaymentPreferences,
.ShellStoredCreditCard,
.ShellCommunicatePreferences {
  padding: 2vh 0 4vh;
  border-bottom: 1px solid #767676;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2vh;
}

.ShellCommunicatePreferences {
  border-bottom: none;
}

.CommunicatePreferencesDiv > .Fields {
  width: auto !important;
}

.ShellContent .Fields {
  padding-right: 1vh;
}
.ShellContent .Fields h3 {
  color: #962327 !important;
}
@media only screen and (max-width: 768px) {
  .ShellContent .Fields {
    width: 100% !important;
  }
}

.ShellContent a.ResetPasswordLink {
  margin-left: 0 !important;
}

.ShellMainContent .ShellContent {
  margin-bottom: 6vh;
}
@media only screen and (max-width: 1100px) {
  .ShellMainContent .ShellContent {
    width: 100% !important;
  }
}

.ImportItemsFromFile {
  display: none !important;
}

.AccountBanner .WelcomeMessage {
  margin: 4vh 2vh 2vh;
  font-size: 1.2em;
  font-weight: 500;
}

.easyreorder .row {
  display: flex;
  align-items: center;
  gap: 2vh;
  box-shadow: none !important;
  border-bottom: 1px solid #767676;
}

.selectDateRangeDiv.row > * {
  width: auto !important;
}

.dateRangeTitleDiv.col-sm-2.col-xs-4 {
  max-width: none !important;
}

.headInfoDiv.row.ContrastBackground > * {
  width: auto !important;
}

.dateRangeTitleDiv {
  margin: 0 !important;
}

.headInfoDiv .row .ContrastBackground {
  display: flex;
  align-items: center;
}

.OnlySalesOrdersCheckBoxDiv {
  display: flex;
  align-items: center;
  gap: 1vh;
}
.OnlySalesOrdersCheckBoxDiv > label {
  margin: 0 !important;
}
.OnlySalesOrdersCheckBoxDiv > input[type="checkbox"] {
  width: 14px;
  height: 14px;
  margin: 0 !important;
}
@media only screen and (min-width: 1700px) {
  .OnlySalesOrdersCheckBoxDiv > input[type="checkbox"] {
    width: 1.5vw;
    height: 1.5vw;
  }
}

.OrderSelect {
  display: flex;
  align-items: center;
  gap: 1vh;
  margin: 2vh 0;
}
.OrderSelect > .form-control {
  max-width: 300px;
  height: 40px;
  font-size: 0.8em !important;
}
@media only screen and (min-width: 1700px) {
  .OrderSelect > .form-control {
    max-width: 400px;
    height: 2vw;
  }
}

#DateRangeListBox {
  font-size: 0.8em !important;
}

.PerPageSelect {
  display: flex;
  align-items: center;
  gap: 1vh;
  margin: 2vh 0;
}

.InvoicePerPage {
  text-align: center;
  height: 40px;
}
@media only screen and (min-width: 1700px) {
  .InvoicePerPage {
    max-width: 100px !important;
    height: 2vw;
  }
}

.ShellContent h1 {
  display: block !important;
  font-size: 1.2em !important;
  color: #111 !important;
  font-weight: 700;
  line-height: 1;
}
.ShellContent h1 > a {
  font-size: inherit;
  color: #c83035;
  font-weight: inherit;
  transition: 0.3s ease-in-out;
}
.ShellContent h1 > a:hover,
.ShellContent h1 > a:active {
  color: #962327;
}

.TopButtons.btn {
  font-size: 0.9em;
}
@media only screen and (min-width: 1700px) {
  .TopButtons.btn {
    padding: 1vh 2.5vh !important;
    font-size: 0.8em !important;
  }
}

#disclaimer {
  font-size: 1em !important;
  color: #111 !important;
  font-weight: 500;
  line-height: 1;
}

.InvoiceList {
  display: flex !important;
  align-items: center;
  gap: 2vh;
  padding: 3vh 0;
}
.InvoiceList h4 {
  font-size: 1em !important;
  color: #111 !important;
  font-weight: 500;
  line-height: 1;
}

/*multiple images*/
.ShellDetail .ShellImages .PhotoGallery {
  box-shadow: none !important;
  padding-top: 0 !important;
}

.ShellDetail .ShellImages {
  max-width: none !important;
}

.rg-gallery {
  display: flex;
  flex-direction: column;
  gap: 1vh;
  justify-content: space-between;
}

.item .rg-image img {
  max-height: 35vh !important;
  margin: 0 auto;
}

div.es-carousel-wrapper {
  margin: 0 !important;
  padding: 0 !important;
}

div.es-carousel-wrapper .es-carousel ul {
  display: flex !important;
  gap: 1vh;
}
div.es-carousel-wrapper .es-carousel ul > li {
  margin-right: 0 !important;
  width: 8vw !important;
}
@media only screen and (max-width: 1100px) {
  div.es-carousel-wrapper .es-carousel ul > li {
    width: auto !important;
  }
}
@media only screen and (min-width: 1700px) {
  div.es-carousel-wrapper .es-carousel ul > li {
    width: 6vw !important;
  }
}

div.es-carousel-wrapper .es-carousel ul li a {
  border: 1px solid #f2f3f4 !important;
}
@media only screen and (max-width: 1100px) {
  div.es-carousel-wrapper .es-carousel ul li a {
    width: 10vh;
    height: 10vh;
  }
}

div.es-carousel-wrapper .es-carousel ul li.selected a {
  border-color: #767676 !important;
}

.es-carousel ul li a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ShellLoginControl .LoginControl .RememberMeCheckBox {
  display: flex;
  align-items: center;
  gap: 1vh;
  margin-bottom: 2vh !important;
}
.ShellLoginControl .LoginControl .RememberMeCheckBox > input[type="checkbox"] {
  margin: 0 !important;
  width: 1.5vw;
  height: 1.5vw;
}
@media only screen and (max-width: 1100px) {
  .ShellLoginControl .LoginControl .RememberMeCheckBox > input[type="checkbox"] {
    width: 14px;
    height: 14px;
  }
}
.ShellLoginControl .LoginControl .RememberMeCheckBox > label {
  margin: 0 !important;
}

.RememberMeCheckBox {
  display: flex;
  align-items: center;
  gap: 1vh;
  margin-bottom: 2vh !important;
}
.RememberMeCheckBox > input[type="checkbox"] {
  margin: 0 !important;
  width: 1.5vw;
  height: 1.5vw;
}
@media only screen and (max-width: 1100px) {
  .RememberMeCheckBox > input[type="checkbox"] {
    width: 14px;
    height: 14px;
  }
}
.RememberMeCheckBox > label {
  margin: 0 !important;
}

.ShellLoginControl .LoginControl div.ShellLoginUserName,
.ShellLoginControl .LoginControl div.ShellLoginPassword {
  display: flex;
  align-items: center;
  gap: 1vh;
  width: 100% !important;
  margin: 0 !important;
}

.ShellLoginUserName input,
.ShellLoginPassword input {
  width: 70% !important;
  border: 1px solid #a0a0a0;
  border-radius: 0;
  transition: 0.3s ease-in-out;
  height: 36px;
  font-size: 0.9em !important;
}
.ShellLoginUserName input:focus,
.ShellLoginPassword input:focus {
  border-color: #767676;
  outline: none !important;
  box-shadow: none !important;
}
@media only screen and (min-width: 1700px) {
  .ShellLoginUserName input,
  .ShellLoginPassword input {
    height: 2vw;
  }
}

.LoginUserNameLabel,
.LoginPasswordLabel {
  padding: 0 !important;
  text-align: left !important;
  width: auto !important;
  min-width: 6vw;
}
@media only screen and (max-width: 768px) {
  .LoginUserNameLabel,
  .LoginPasswordLabel {
    width: 15%;
  }
}
@media only screen and (max-width: 500px) {
  .LoginUserNameLabel,
  .LoginPasswordLabel {
    width: 20%;
  }
}

.ShellImages.FromContents {
  /*slider*/
  display: none;
}

.PagingNavigation {
  display: flex;
  gap: 1vh;
  align-items: center;
  justify-content: space-between;
  box-shadow: none !important;
  padding: 0 1rem !important;
  margin: 2vh 0 3vh !important;
  font-size: 0.9em;
}

.PagingNavigation .PagingShowing {
  padding: 0 !important;
}

.PagingPageLinks {
  display: flex !important;
  gap: 0.5vh;
  align-items: center;
}

.PagingNavigation .PagingPageLinks a,
.PagingNavigation .Current,
.PagingNavigation .AlphabeticalLink.Selected a {
  padding: 1vh 1.5vh !important;
}
.PagingNavigation .PagingPageLinks a:hover,
.PagingNavigation .PagingPageLinks a:active,
.PagingNavigation .Current:hover,
.PagingNavigation .Current:active,
.PagingNavigation .AlphabeticalLink.Selected a:hover,
.PagingNavigation .AlphabeticalLink.Selected a:active {
  background-color: #111 !important;
  color: #fff !important;
}

.PagingNavigation .Current {
  background-color: #111 !important;
  font-weight: 600 !important;
}

.ui-widget-content {
  background: #f2f3f4 !important;
  display: flex;
  flex-direction: column;
  gap: 0.5vh;
  padding: 1vh 0 !important;
  border: 1px solid #767676 !important;
  font-family: "Joss", sans-serif !important;
  color: #111 !important;
  font-size: 0.9em;
}
@media only screen and (max-width: 1100px) {
  .ui-widget-content {
    font-size: 0.8em;
  }
}

.ui-menu .ui-menu-item {
  padding: 1vh !important;
}
.ui-menu .ui-menu-item:hover,
.ui-menu .ui-menu-item:active {
  box-shadow: none !important;
  border: none !important;
  background-color: rgba(118, 118, 118, 0.3);
}
.ui-menu .ui-menu-item.ui-state-focus {
  box-shadow: none !important;
  border: none !important;
  background: rgba(118, 118, 118, 0.3) !important;
}

.AccountTextField.First.Name,
#ctl00_Store_content_IncludeMailingListCheckBox,
label[for="ctl00_Store_content_IncludeMailingListCheckBox"] {
  display: none !important;
}

.ShellContent .RecentOrder {
  width: auto !important;
}

.ShellContent .RecentOrder {
  float: none !important;
}

.ShellStoreMainContent.myaccount.LoggedIn .ShellMainContent .ShellContent {
  display: flex;
  flex-wrap: wrap;
  gap: 2vh;
  grid-template-columns: 1fr 1fr;
  flex-direction: column;
}

/*search*/
.ResultSet .ResultSetItems {
  display: flex;
  flex-direction: column;
  gap: 1vh;
}

.ShellMainContent .ShellSearch {
  width: 100%;
  max-width: 1300px;
  padding: 0 1rem;
  margin: 6vh auto;
}
@media only screen and (max-width: 1100px) {
  .ShellMainContent .ShellSearch {
    position: static;
  }
}
@media only screen and (max-width: 500px) {
  .ShellMainContent .ShellSearch {
    padding: 0 0.5rem;
  }
}
@media only screen and (min-width: 1700px) {
  .ShellMainContent .ShellSearch {
    max-width: 75%;
  }
}

.glyphicon-remove:before {
  font-family: "Glyphicons Halflings" !important;
}

.icon-search,
.icon-info {
  font-family: "icomoon" !important;
}

.SearchButton.btn.btn-primary {
  height: 40px;
  display: flex;
  align-items: center;
  gap: 1vh;
  padding: 1vh 2vh !important;
  font-size: 1em !important;
  background-color: #c83035;
  border-color: #c83035 !important;
  border-radius: 0 !important;
  transition: 0.3s ease-in-out;
}
.SearchButton.btn.btn-primary > .icon-search,
.SearchButton.btn.btn-primary > .Text {
  font-size: 0.8em !important;
  color: #fff !important;
}
.SearchButton.btn.btn-primary:hover,
.SearchButton.btn.btn-primary:active {
  background-color: #962327 !important;
  border-color: #962327 !important;
}
@media only screen and (min-width: 1700px) {
  .SearchButton.btn.btn-primary {
    height: 2vw !important;
  }
}

.AdvancedSearch {
  display: flex;
  align-items: center;
  gap: 2vh;
  padding-bottom: 1vh !important;
}
@media only screen and (max-width: 500px) {
  .AdvancedSearch {
    flex-direction: column;
  }
}

.SearchCriteria .input-group-btn {
  font-size: 1em !important;
}

.SearchCriteria .AdvancedSearch .ProductCategory {
  display: flex;
  align-items: center;
  gap: 1vh;
  margin: 2vh 0 !important;
}
@media only screen and (max-width: 768px) {
  .SearchCriteria .AdvancedSearch .ProductCategory {
    flex-direction: column;
  }
}

.SearchCriteria .AdvancedSearch .Manufacturer {
  display: none !important;
}

.SearchCriteria .AdvancedSearch select {
  width: 200px !important;
  height: auto !important;
  font-size: 0.9em;
}
@media only screen and (max-width: 768px) {
  .SearchCriteria .AdvancedSearch select {
    width: 160px !important;
  }
}
@media only screen and (min-width: 1700px) {
  .SearchCriteria .AdvancedSearch select {
    width: 350px !important;
    font-size: 0.7em;
  }
}

.SearchPageSearchTextBox.form-control {
  border-radius: 0 !important;
  height: 40px !important;
  font-size: 0.9em;
}
@media only screen and (min-width: 1700px) {
  .SearchPageSearchTextBox.form-control {
    height: 2vw !important;
  }
}

.SearchCriteria .AdvancedSearch .Label {
  font-size: 0.9em !important;
  width: auto !important;
  padding: 0 !important;
}
@media only screen and (max-width: 768px) {
  .SearchCriteria .AdvancedSearch .Label {
    min-width: auto !important;
    font-size: 0.8em !important;
  }
}

.ResultSet .Title {
  font-size: 100% !important;
}

.form-control-feedback {
  top: 20px !important;
  right: 10px !important;
  width: auto !important;
  height: auto !important;
  transform: translateY(-50%);
  line-height: 0 !important;
}
@media only screen and (min-width: 1700px) {
  .form-control-feedback {
    top: 1vw !important;
  }
}

.ShellSearchTemplate.InventoryItems {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  padding: 2vh !important;
  box-shadow: 0px 2px 11px rgba(17, 17, 17, 0.2);
}
@media only screen and (max-width: 768px) {
  .ShellSearchTemplate.InventoryItems {
    grid-template-columns: 1fr;
    padding: 0 !important;
  }
}
@media only screen and (max-width: 500px) {
  .ShellSearchTemplate.InventoryItems {
    height: auto;
    display: flex;
    flex-direction: column;
    padding: 2vh !important;
  }
}

.ShellSearchTemplate.InventoryItems .ShellTop {
  width: 100% !important;
}
.ShellSearchTemplate.InventoryItems .ShellTop .Top {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media only screen and (max-width: 1100px) {
  .ShellSearchTemplate.InventoryItems .ShellTop .Top {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1vh;
    padding: 2vh !important;
  }
}
@media only screen and (max-width: 500px) {
  .ShellSearchTemplate.InventoryItems .ShellTop .Top {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0 !important;
  }
}

.ShellSearchTemplate .Top .Detail .AdditionalInformation {
  font-size: 0.9em !important;
  text-align: left !important;
  float: none !important;
}

.ShellSearchTemplate.InventoryItems .Footer {
  margin: 0 !important;
  width: 100% !important;
  padding: 0 2vh !important;
}
@media only screen and (max-width: 768px) {
  .ShellSearchTemplate.InventoryItems .Footer {
    padding: 2vh !important;
    border-left: none !important;
    border-top: 1px solid #f2f3f4;
  }
}
@media only screen and (max-width: 500px) {
  .ShellSearchTemplate.InventoryItems .Footer {
    padding: 0 !important;
  }
}

.ShellSearchTemplate.InventoryItems .ShellTopImage {
  height: 10vh !important;
  width: 30% !important;
}

.ShellSearchTemplate .Top .Image {
  max-width: none !important;
}

.ShellSearchTemplate .Top .Image img {
  height: 100%;
  object-fit: contain;
}

.ShellSearchTemplate {
  font-size: 1em !important;
}

.ResultSet .Highlight {
  height: 100%;
}

.ShellSearchTemplate .AddToCartControl .ShellInput {
  display: flex;
  align-items: center;
  gap: 1vh;
  margin: 1vh 0;
}

.ShellSearchTemplate .AddToCartControl .TemplateQuantityTextBox {
  height: 36px;
  text-align: center;
  font-size: 0.8em;
}
@media only screen and (min-width: 1700px) {
  .ShellSearchTemplate .AddToCartControl .TemplateQuantityTextBox {
    height: 2vw;
    width: 120px !important;
  }
}

.ShellSearchTemplate .FooterControls,
.ShellSearchTemplate .AddToCartControl .Price {
  font-size: 1em !important;
  line-height: 1 !important;
}

.ResultSet .Link {
  font-size: 0.8em !important;
}

.ShellResultSetNavigation:not(:empty) {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f2f3f4 !important;
  border-radius: 1vh;
  margin: 4vh 0;
}
@media only screen and (max-width: 768px) {
  .ShellResultSetNavigation:not(:empty) {
    flex-direction: column;
    gap: 1vh;
  }
}

.ShellResultSetNavigation div {
  display: flex;
  align-items: center;
  gap: 0.75vh;
  padding: 0 !important;
  font-size: 0.8em;
}

.ShowItemsPerPage a {
  font-size: 1em !important;
  background-color: transparent !important;
}

.ShellNumberOfPages .CurrentPage,
.Next.PrimaryLink,
.ShowItemsPerPageLabel,
.ComplimentarySmall2Link {
  font-size: 100%;
}

.FolderShortDescription {
  padding: 2vh 0 4vh !important;
  font-size: 1.8em !important;
  color: #111 !important;
  font-weight: 700;
  line-height: 1.2;
  font-style: normal !important;
  text-align: center;
  float: none !important;
}
@media only screen and (max-width: 1100px) {
  .FolderShortDescription {
    font-size: 1.4em !important;
  }
}
@media only screen and (min-width: 1700px) {
  .FolderShortDescription {
    font-size: 1.6em !important;
  }
}

.Action.Discount {
  display: none;
}

.CreateAccountFields .Tax,
.CreateAccountFields .TaxExemptCheckBox {
  display: none;
}

/*accs*/
.ShellTabsAccessories {
  display: flex;
  flex-direction: column;
  gap: 3vh;
}
@media only screen and (max-width: 768px) {
  .ShellTabsAccessories {
    flex-direction: column;
  }
}

.ShellAccessories.Vertical {
  width: 100% !important;
}

.ShellItemTabs {
  width: 100% !important;
}

.AccessoriesLabel {
  font-size: 1em !important;
  color: #111;
  font-weight: 700;
  line-height: 1;
}

.AccessoriesInstructions {
  font-size: 0.85em !important;
}

.ShellAccessoryTemplate > .article {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ShellCheckBox.Vertical {
  width: auto !important;
  top: 2vh;
  left: 2vh;
}
.ShellCheckBox.Vertical input {
  width: 14px;
  height: 14px;
}
@media only screen and (min-width: 1700px) {
  .ShellCheckBox.Vertical input {
    width: 1.25vw;
    height: 1.25vw;
  }
}

.Accessories .TemplateImage {
  height: 10vh !important;
  margin: 4vh auto 2vh;
}
.Accessories .TemplateImage > img {
  min-height: 8vh !important;
  height: 100% !important;
}
@media only screen and (min-width: 1700px) {
  .Accessories .TemplateImage > img {
    min-height: 10vh !important;
  }
}

.ShellTextBox {
  top: 2vh !important;
  left: 35px !important;
  width: 60px !important;
  font-size: 0.8em !important;
}
.ShellTextBox input {
  width: 60px !important;
  border: 1px solid rgba(118, 118, 118, 0.7);
  transition: 0.3s ease-in-out;
}
.ShellTextBox input:focus-visible {
  outline: none !important;
  border-color: #767676;
}
@media only screen and (min-width: 1700px) {
  .ShellTextBox input {
    width: 4vw !important;
  }
}
@media only screen and (min-width: 1700px) {
  .ShellTextBox {
    left: 4vw !important;
  }
}

.Accessories ul,
.ShellAccessories.Vertical div.Accessories {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2vh;
  margin-top: 3vh;
}
@media only screen and (max-width: 1100px) {
  .Accessories ul,
  .ShellAccessories.Vertical div.Accessories {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .Accessories ul,
  .ShellAccessories.Vertical div.Accessories {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 500px) {
  .Accessories ul,
  .ShellAccessories.Vertical div.Accessories {
    grid-template-columns: 1fr;
  }
}

.Accessories .nbs-flexisel-inner ul {
  display: block;
}
.Accessory {
  width: 100% !important;
}
.Accessories .nbs-flexisel-inner .Accessory {
  width: auto !important;
 padding-bottom: 2vh;
}

.Accessories .ShellAccessoryTemplate,
.ShellAccessories div.Accessories > .ShellAccessoryTemplate {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: auto;
  max-width: none !important;
  padding: 2vh !important;
  margin: 0 !important;
  box-shadow: 0px 2px 10px rgba(17, 17, 17, 0.2) !important;
  border: none !important;
  border-radius: 0;
  transition: 0.3s ease-in-out;
}
.Accessories .ShellAccessoryTemplate:hover,
.Accessories .ShellAccessoryTemplate:active,
.ShellAccessories div.Accessories > .ShellAccessoryTemplate:hover,
.ShellAccessories div.Accessories > .ShellAccessoryTemplate:active {
  box-shadow: 0px 2px 10px rgba(17, 17, 17, 0.4) !important;
}

div.ShellTemplate.Item.InStock.New .ShellTemplateDetail {
  display: block; }
  div.ShellTemplate.Item.InStock.New .ShellTemplateDetail .ShellDetailInfo,
  div.ShellTemplate.Item.InStock.New .ShellTemplateDetail .ShellTemplateLinkAddToCart,
  div.ShellTemplate.Item.InStock.New .ShellTemplateDetail .TemplateTitle {
    width: 100% !important;
    border-left: none !important; }
    @media only screen and (max-width: 1100px) {
      div.ShellTemplate.Item.InStock.New .ShellTemplateDetail .ShellDetailInfo,
      div.ShellTemplate.Item.InStock.New .ShellTemplateDetail .ShellTemplateLinkAddToCart,
      div.ShellTemplate.Item.InStock.New .ShellTemplateDetail .TemplateTitle {
        width: 100% !important; } }
  div.ShellTemplate.Item.InStock.New .ShellTemplateDetail .ShellTemplateAddToCart {
    float: none !important; }