:root {
  --inter-font-family: Inter, sans-serif;
  --montserrat-font-family: Montserrat, sans-serif;
  --font-size-h1: 2rem;
  --font-size-h2: 1.75rem;
  --font-size-h3: 1.5rem;
  --font-size-h4: 1.25rem;
  --font-size-h5: 1.125rem;
  --font-size-h6: 1rem;
  --font-size-p: 1.125rem;
  --font-weight-p: 1.875rem;
  --font-size-a: 1rem;
  --font-size-a-navbar: 1.0625rem;
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray: #7E7E7E;
  --color-gray-light: #F3F3F3;
  --color-blue: #2C498F;
  --color-blue-dark: #092059;
  --color-blue-light: #4780CB;
  --border-size: 0.0625rem solid #7E7E7E;
  --border-radius: 0.375rem;
  --box-shadow: 0rem 0.125rem 1.25rem rgba(0, 0, 0, 0.5);
  --box-shadow-small: 0rem 0.0625rem 0.25rem rgba(0, 0, 0, 0.3);
  --transition: all 0.3s ease-in-out;
}

.is-items-center {
  align-items: center;
}

.is-full-height {
  height: 100%;
}

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

.shop--main-title {
  margin: -15px 0 10px;
}

.shop-module-item--main-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: 1px solid #f3f3f3;
  padding: 10px 20px;
  cursor: pointer;
  position: relative;
  border-radius: 4px;
}

.shop-module-item--main-item:hover {
  color: #2C498F;
}

.shop-module-item--main-item.is-selected .shop-module-item--title {
  color: #2C498F;
  text-decoration: underline;
}

.shop-module-item--checkbox {
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 5px;
  border: 2px solid #092059;
  position: relative;
}

.shop-module-item--checkbox:after {
  content: "";
  display: none;
  position: absolute;
  left: 4px;
  top: 0px;
  width: 4px;
  height: 8px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.shop-module-item--lang {
  text-transform: uppercase;
  font-size: 0.875rem;
  border: 1px solid #c8c8c8;
  border-radius: 2px;
  padding: 0 5px;
  font-weight: 700;
  margin: 0 0.9375rem 0 0.9375rem;
}

@media screen and (min-width: 1024px) {
  .shop-module-item--lang {
    margin: 0 0.9375rem 0 1.875rem;
  }
}

.shop-module-item--title {
  font-size: 1.125rem;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 1024px) {
  .shop-module-item--title {
    margin-top: 0;
  }
}

.shop-module-item--checker input {
  opacity: 0;
  position: absolute;
}

.shop-module-item--checker input:checked + .shop-module-item--checkbox {
  background: #092059;
}

.shop-module-item--checker input:checked + .shop-module-item--checkbox:after {
  display: block;
}

.shop-module-item--remover {
  font-size: 10px;
  line-height: 1;
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 100em;
}

.shop-module-item--selected-items,
.shop-module-item--arrow {
  position: relative;
}

@media screen and (min-width: 1024px) {
  .shop-module-item--selected-items,
  .shop-module-item--arrow {
    position: absolute;
  }
}

.shop-module-item--selected-items {
  font-style: italic;
  color: #939393;
  right: 0;
}

@media screen and (min-width: 1024px) {
  .shop-module-item--selected-items {
    right: 90px;
  }
}

.shop-module-item--selected-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0.625rem 0;
}

@media screen and (min-width: 1024px) {
  .shop-module-item--selected-container {
    padding: 0;
    position: absolute;
    right: 0;
  }
}

.shop-module-item--arrow {
  color: #2C498F;
  font-size: 21px;
  height: 100%;
  right: 0;
  width: 41px;
  display: flex;
  text-align: left;
  align-items: center;
  padding-left: 10px;
  cursor: pointer;
}

.shop--btn {
  background: #2C498F;
  color: #fff;
  text-transform: uppercase;
  border: none;
  font-weight: 400;
  font-size: 1.125rem;
  border-radius: 0.375rem;
  letter-spacing: 2px;
  padding: 8px 23px;
  position: relative;
  cursor: pointer;
  transition: all 0.27s;
}

.shop--btn:disabled {
  cursor: not-allowed;
  background: #7E7E7E;
}

.shop--btn:disabled:hover,
.shop--btn:disabled:focus,
.shop--btn:disabled:active {
  background: #7E7E7E;
}

.shop--btn:hover,
.shop--btn:focus,
.shop--btn:active {
  background: #4780CB;
}

.shop--btn.has-arrow {
  padding: 0.75rem 2.1875rem 0.75rem 1rem;
}

.shop--btn.has-arrow::after {
  font-family: "Font Awesome 5 Free", sans-serif;
  font-weight: 900;
  content: "\F061";
  width: 14px;
  height: 14px;
  font-size: 14px;
  line-height: 1;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.shop--modules-list {
  margin-bottom: 30px;
}

.webshop {
  background: #F3F3F3;
  padding-bottom: 90px;
}

.webshop .shop--wrapper {
  background: #FFFFFF;
  padding: 1.25rem;
  border-radius: 0.375rem;
}

@media screen and (min-width: 1024px) {
  .webshop .shop--wrapper {
    padding: 3.125rem;
  }
}

.webshop .hero-breadcrumbs {
  padding-top: 2rem;
}

.webshop .breadcrumbs .separator {
  font-size: 1rem;
  padding: 0 5px;
}

.webshop .product-row {
  border-bottom: 1px solid #f3f3f3;
  font-size: 1.125rem;
  padding: 15px 20px 15px 20px;
}

@media screen and (min-width: 1024px) {
  .webshop .product-row {
    padding: 15px 0 15px 20px;
  }
}

.webshop .product-row:last-child {
  border-bottom: none;
}

.webshop .product-row .shop-module-item--checker {
  margin-right: 30px;
}

.webshop .product-row.out-of-stock {
  color: #7e7e7e;
  cursor: not-allowed;
}

.webshop .product-row .stock-label {
  background: #e25a33;
  color: #ffffff;
  font-size: 0.8125rem;
  text-transform: uppercase;
  font-weight: 600;
  display: inline-block;
  border-radius: 3px;
  padding: 3px 10px;
  line-height: 14px;
  margin-right: 13px;
}

.webshop .product-row--title label {
  display: flex;
  align-items: center;
}

.webshop .product-row--sale-price {
  margin-right: 3px;
}

.webshop .product-row--sale-price + .product-row--regular-price {
  text-decoration: line-through;
}

.webshop .product-row--description {
  line-height: 1.8;
}

.webshop .product-row .custom-number-input {
  position: relative;
  /* Chrome, Safari, Edge, Opera */
  /* Firefox */
}

.webshop .product-row .custom-number-input input::-webkit-outer-spin-button,
.webshop .product-row .custom-number-input input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.webshop .product-row .custom-number-input input[type=number] {
  -moz-appearance: textfield;
  padding: 0 13px;
  max-width: 80px;
  text-align: center;
}

.webshop .product-row .custom-number-input .action {
  position: absolute;
  top: 0;
  height: 100%;
  cursor: pointer;
  display: flex;
  align-items: center;
  font-size: 10px;
}

.webshop .product-row .custom-number-input .action.plus-action {
  right: 0;
}

.webshop .product-row .custom-number-input .action.minus-action {
  left: 1px;
}

.webshop .shop-module-details {
  margin-bottom: 2px;
}

.webshop .shop-module-details .shop-module-item--main-item {
  border: none;
  background: #f3f3f3;
}

.webshop .shop--modules--details-header {
  color: #7e7e7e;
  font-size: 0.9375rem;
  margin-bottom: 0;
  padding-left: 15px;
  margin-top: 40px;
}

.webshop .shop--modules--details-title {
  padding-left: 0;
}

@media screen and (min-width: 1024px) {
  .webshop .shop--modules--details-title {
    padding-left: 50px;
  }
}

.webshop .shop--modules-loading {
  width: 100%;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}

.webshop .shop--modules-loading::after {
  -webkit-animation: spinAround 0.5s infinite linear;
  animation: spinAround 0.5s infinite linear;
  border: 2px solid #2C498F;
  border-radius: 100em;
  border-right-color: transparent;
  border-top-color: transparent;
  content: "";
  display: block;
  height: 2em;
  position: relative;
  width: 2em;
}

.webshop .shop--modules-loading.is-hidden {
  visibility: hidden;
  height: 0;
}

.webshop .shop--modules-loading.is-active {
  visibility: visible;
  height: 400px;
}

button.is-action {
  color: #2C498F;
  border-bottom: 2px solid #2C498F;
  background: transparent;
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
  padding: 10px 0;
  letter-spacing: 3px;
}

button.is-action:hover,
button.is-action:focus {
  border-left: none;
  border-right: none;
  border-top: none;
  border-color: #092059;
  color: #092059;
}

.product-columns.is-full-height {
  height: auto;
}

@media screen and (min-width: 1024px) {
  .product-columns.is-full-height {
    height: 100%;
  }
}

.product-price-quantity {
  display: flex;
  justify-content: space-between;
}

.product-price-quantity > * {
  padding: 0;
}

.product-price-quantity > *:nth-child(2) {
  justify-content: flex-end;
}

@media screen and (min-width: 1024px) {
  .product-price-quantity > *:nth-child(2) {
    justify-content: flex-start;
  }
}

@media screen and (min-width: 1024px) {
  .product-price-quantity > * {
    padding: 0.75rem;
  }
}

@media screen and (min-width: 1024px) {
  .product-price-quantity {
    display: block;
  }
}

.checkout-coupon-col {
  display: flex;
  flex-direction: column-reverse;
}

#order_review {
  display: flex;
  flex-direction: column;
}

#order_review table {
  display: flex;
  flex-direction: column;
}

#order_review table tbody {
  display: flex;
  flex-direction: column;
}

.cart_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cart_item-remover,
.cart_item a.remove {
  color: white !important;
  background-color: #092059;
  font-size: 12px;
  line-height: 1;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 100em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart_item-remover:hover,
.cart_item a.remove:hover {
  opacity: 1;
  background-color: transparent;
  color: #092059 !important;
  border-color: #092059;
}

.cart_item .product-name,
.cart_item .product-total {
  display: flex;
  align-items: center;
}

.cart_item .product-name > *,
.cart_item .product-total > * {
  margin: 0.3125rem;
}

.cart_item .product-name .quantity .qty,
.cart_item .product-total .quantity .qty {
  padding: 0;
}

.order-total {
  display: flex;
  justify-content: space-between;
  padding: 0.9375rem 0;
}

.content table td,
.content table th {
  border: none;
}

.no-logged h2 {
  padding-bottom: 0.625rem;
}

.no-logged .button {
  display: inline !important;
}

.modules-filter {
  margin: 1.25rem 0;
}

.filter-column-content {
  display: flex;
  flex-wrap: wrap;
}

.filter-button {
  margin: 0.3125rem 0.3125rem;
  display: flex;
}

.filter-button input {
  display: none;
}

