/**
 * Custom mixins, re-done in SCSS
 *
 * @author AM.HIGH
 * @version 2.0
 * @since 1.0
 */
/**
 * Keyline using the :before pusedo selector
 */
/**
 * Keyline using the :after pusedo selector
 */
/**
 * Svg background image
 */
/**
 * Svg image setting width and height of the element
 */
/**
 * Shadow mixins
 */
/**
 * Border radius
 */
/**
 * Element alignment
 */
/**
 * Gradients
 */
/**
 * Appearance wrapper
 */
/**
 * Animations, transitions and transforms
 */
.col-white {
  color: #fff;
}

.col-light-grey {
  color: #f3f5f6;
}

.col-black {
  color: #02273e;
}

.col-blue {
  color: #5c9ab9;
}

.col-sand {
  color: #dcded1;
}

.col-grey {
  color: #8ca4ab;
}

.col-light-blue {
  color: #a2d1e7;
}

.col-lighter-grey {
  color: #c5d1d5;
}

.col-red {
  color: #b56b6b;
}

.background-white {
  background-color: #fff;
}

.background-light-grey {
  background-color: #f3f5f6;
}

.background-black {
  background-color: #02273e;
}

.background-blue {
  background-color: #5c9ab9;
}

.background-sand {
  background-color: #dcded1;
}

.background-grey {
  background-color: #8ca4ab;
}

.background-light-blue {
  background-color: #a2d1e7;
}

.background-lighter-grey {
  background-color: #c5d1d5;
}

.background-red {
  background-color: #b56b6b;
}

body {
  font-family: "Space Grotesk", sans-serif;
  --mc-safe-top: env(safe-area-inset-top, 0px);
  --mc-header-offset-top: calc(
    var(--mc-safe-top) + var(--mc-adminbar-visible-height, 0px)
  );
  --mc-header-total-space: calc(
    var(--mc-header-height) + var(--mc-header-offset-top)
  );
  padding-top: var(--mc-header-total-space);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: costaline-thin, sans-serif;
}

h1 {
  line-height: 1.3;
}

h2 {
  line-height: 1.4;
}

.weight-100 {
  font-weight: 100;
}

.weight-300 {
  font-weight: 300;
}

.weight-400 {
  font-weight: 400;
}

.weight-500 {
  font-weight: 500;
}

.weight-600 {
  font-weight: 600;
}

.weight-700 {
  font-weight: 700;
}

.weight-800 {
  font-weight: 800;
}

.weight-900 {
  font-weight: 900;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-72 {
  font-size: 72px;
}
@media (max-width: 1023px) {
  .text-72 {
    font-size: 54px;
  }
}
@media (max-width: 767px) {
  .text-72 {
    font-size: 36px;
  }
}

.text-44 {
  font-size: 44px;
}
@media (max-width: 1023px) {
  .text-44 {
    font-size: 36px;
  }
}
@media (max-width: 767px) {
  .text-44 {
    font-size: 30px;
  }
}

.text-36 {
  font-size: 36px;
}
@media (max-width: 1023px) {
  .text-36 {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  .text-36 {
    font-size: 28px;
  }
}

.text-24 {
  font-size: 24px;
}

.text-22 {
  font-size: 22px;
}

.text-20 {
  font-size: 20px;
}

.text-18 {
  font-size: 18px;
}

.text-16 {
  font-size: 16px;
}

.text-14 {
  font-size: 14px;
}

p {
  margin: 0;
}

.monolito-btn {
  display: flex;
  gap: 12px;
  align-items: center;
  height: 48px;
  justify-content: center;
}
.monolito-btn img,
.monolito-btn svg {
  width: 13px;
}

.swiper-pagination {
  position: relative;
  bottom: unset !important;
  left: 0 !important;
  display: flex;
  gap: 20px;
  justify-content: center;
}
.swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: transparent;
  border: 1px solid #02273e;
  margin: 0;
  transition: all ease 0.3s;
  opacity: 1;
}
.swiper-pagination .swiper-pagination-bullet:hover,
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #02273e;
}

.swiper {
  cursor: grab;
}
.swiper:active {
  cursor: grabbing;
}

.prod-btn {
  cursor: pointer;
}

body .main-header {
  position: fixed;
  top: var(--mc-header-offset-top);
  left: 0;
  right: 0;
  width: 100%;
  z-index: 7 !important;
  height: var(--mc-header-height);
}

body .main-header .header-menus .breakdance-menu {
  justify-content: center;
}
body .main-header .header-menus .breakdance-menu .breakdance-dropdown-body {
  max-width: 1365px;
  margin: 0 auto;
  width: 100%;
  border: 1px solid #02273e;
  border-top: 0;
}
body .hero-slider .slide-controls .swiper-counter {
  display: flex;
  gap: 16px;
  align-items: center;
}
body .hero-slider .slide-controls .swiper-counter span {
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #fff;
  opacity: 0.5;
}
body .hero-slider .slide-controls .swiper-counter span.current {
  opacity: 1;
}
body .hero-slider .slide-controls .swiper-counter span svg {
  width: 16px;
  height: 16px;
}
body .hero-slider .slide-controls .slider-pagination {
  width: auto;
  display: flex;
  justify-content: center;
  gap: 17px;
}
body .hero-slider .slide-controls .slider-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border: 1px solid #fff;
  background: transparent;
  opacity: 0.4;
  transition: all ease 0.3s;
  margin: 0;
}
body
  .hero-slider
  .slide-controls
  .slider-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet-active,
body
  .hero-slider
  .slide-controls
  .slider-pagination
  .swiper-pagination-bullet:hover {
  opacity: 1;
}
body .hero-slider .slide-controls .swiper-navs .slide-nav {
  cursor: pointer;
}
body
  .hero-slider
  .slide-controls
  .swiper-navs
  .slide-nav.swiper-button-disabled {
  opacity: 0.4;
  pointer-events: none;
}
body .review-code .display-reviews {
  width: 100%;
  overflow: hidden;
  border: 1px solid #02273e;
  border-left: 0;
  border-right: 0;
}
body .review-code .display-reviews .review-item {
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 34px;
}
body .review-code .display-reviews .review-item.swiper-slide-active {
  border-right: 1px solid #02273e;
}
body .review-code .display-reviews .review-item .review-quote {
  width: 44px;
}
body .review-code .display-reviews .review-item .review-bottom {
  display: flex;
  align-items: center;
  gap: 16px;
}
body .review-code .display-reviews .review-item .review-bottom img {
  width: 60px;
}
body .review-code .display-reviews .review-item .review-bottom .review-info {
  flex: 1;
}
body .review-code .display-reviews .review-item .review-bottom .review-info h5 {
  margin-bottom: 2px;
}
body .review-code .swiper-pagination {
  padding: 64px 0 60px;
}
body .blog-code .display-blogs {
  border: 1px solid #02273e;
  border-left: 0;
  border-right: 0;
  width: 100%;
  overflow: hidden;
}
body .blog-code .display-blogs .blog-item {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
body .blog-code .display-blogs .blog-item.swiper-slide-next {
  border: 1px solid #02273e;
  border-top: 0;
  border-bottom: 0;
}
body .blog-code .display-blogs .blog-item img {
  object-fit: cover;
  aspect-ratio: 1/1;
}
body .blog-code .display-blogs .blog-item .blog-infos {
  display: flex;
  flex-direction: column;
  gap: 26px;
  padding: 0 30px 30px;
}
body .blog-code .display-blogs .blog-item .blog-infos .blog-information {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body
  .blog-code
  .display-blogs
  .blog-item
  .blog-infos
  .blog-information
  .blog-texts {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
body .blog-code .swiper-pagination {
  padding: 64px 0 72px;
}
body .product-section .swiper-pagination {
  justify-content: flex-start;
  flex: 1;
}
body .home-prods {
  border: 1px solid #02273e;
  border-left: 0;
  border-right: 0;
  background: #fff;
  width: 100%;
  overflow: hidden;
}
body .home-prods .product-card {
  display: flex;
  gap: 26px;
  flex-direction: column;
  height: 100%;
}
body .home-prods .product-card.swiper-slide-next {
  border: 1px solid #02273e;
  border-top: 0;
  border-bottom: 0;
}
body .home-prods .product-card.swiper-slide-next + .product-card {
  border: 1px solid #02273e;
  border-top: 0;
  border-bottom: 0;
  border-left: 0;
}
body .home-prods .product-card > img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}
body .home-prods .product-card .prod-infos {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 30px 30px;
  flex: 1;
}
body .home-prods .product-card .prod-infos .prod-information {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
body
  .home-prods
  .product-card
  .prod-infos
  .prod-information
  .product-variant-chips {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  height: 28px;
  overflow: hidden;
}
body
  .home-prods
  .product-card
  .prod-infos
  .prod-information
  .product-variant-chips.product-variant-chips--placeholder
  .variant-chip--placeholder {
  visibility: hidden;
  pointer-events: none;
}
body
  .home-prods
  .product-card
  .prod-infos
  .prod-information
  .product-variant-chips
  .variant-chip {
  height: 28px;
  padding: 0 10px;
  background: #fff;
  box-shadow: inset 0 0 0 2px #02273e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #02273e;
  line-height: 1;
  white-space: nowrap;
}
body .home-prods .product-card .prod-infos .prod-btn {
  cursor: pointer;
}
body .home-prods .product-card .prod-infos .product-card-cta {
  height: 48px;
  text-decoration: none;
  justify-content: center;
  color: #dcded1;
}
body .home-prods .product-card .prod-infos .product-card-cta:hover,
body .home-prods .product-card .prod-infos .product-card-cta:focus,
body .home-prods .product-card .prod-infos .product-card-cta:active,
body .home-prods .product-card .prod-infos .product-card-cta:visited {
  color: #dcded1;
  text-decoration: none;
}
body .home-prods .product-card .prod-infos .product-card-cta img,
body .home-prods .product-card .prod-infos .product-card-cta svg {
  width: 20px;
  height: 20px;
}
body .home-prods .product-card .prod-infos .prod-information h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 44px;
}
body .home-prods .product-card .prod-infos .prod-information p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-height: 1.4;
  min-height: 4.2em;
}
body .home-prods .product-card .prod-infos .price {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-top: auto;
  min-height: 36px;
}
body .home-prods .product-card .prod-infos .price del span {
  color: #8ca4ab;
  font-size: 16px;
  font-weight: 400;
}
body .home-prods .product-card .prod-infos .price span {
  color: #02273e;
  font-size: 22px;
  font-weight: 500;
}
body .product-template-wrapper .product-sku {
  opacity: 0.6;
}
body .product-template-wrapper .product-dimensions {
  opacity: 0.6;
}
body .product-template-wrapper .flattened-preview-chips {
  margin-bottom: 16px;
}
body .product-template-wrapper .flattened-preview-chips .preview-chip-group {
  margin-top: 0;
}
body
  .product-template-wrapper
  .flattened-preview-chips
  .preview-chip-group
  + .preview-chip-group {
  margin-top: 12px;
}
body
  .product-template-wrapper
  .flattened-preview-chips
  .preview-chip-list
  .is-preview-locked {
  pointer-events: none;
}
body .product-template-wrapper .atc-flex {
  display: flex;
  gap: 16px;
}
body .product-template-wrapper .atc-flex .qty-box {
  position: relative;
}
body .product-template-wrapper .atc-flex .qty-box button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  padding: 0;
  border: 0;
  z-index: 3;
}
body .product-template-wrapper .atc-flex .qty-box button.qty-minus {
  left: 16px;
}
body .product-template-wrapper .atc-flex .qty-box button.qty-plus {
  right: 16px;
}
body .product-template-wrapper .atc-flex .qty-box input {
  width: 100%;
  height: 48px;
  width: 175px;
  text-align: center;
  -moz-appearance: textfield;
  background: #fff;
  border: 0;
}
body
  .product-template-wrapper
  .atc-flex
  .qty-box
  input::-webkit-outer-spin-button,
body
  .product-template-wrapper
  .atc-flex
  .qty-box
  input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
body .product-template-wrapper .atc-flex .add-to-cart-btn {
  height: 48px;
  width: 175px;
  background: #02273e;
  color: #dcded1;
  border: 0;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
}
body .product-template-wrapper .atc-flex .add-to-cart-btn:disabled {
  opacity: 0.6;
}
body .product-template-wrapper .variation-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body .product-template-wrapper .variation-group + .variation-group {
  margin-top: 24px;
}
body .product-template-wrapper .variation-group .radio-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
body
  .product-template-wrapper
  .variation-group
  .radio-fields
  label.is-disabled
  .option-content {
  opacity: 0.5;
  cursor: not-allowed;
}
body .product-template-wrapper .variation-group .radio-fields label input {
  display: none;
}
body
  .product-template-wrapper
  .variation-group
  .radio-fields
  label
  input:checked
  + .option-content {
  box-shadow: inset 0 0 0 2px #02273e;
}
body
  .product-template-wrapper
  .variation-group
  .radio-fields
  label
  input:disabled
  + .option-content {
  opacity: 0.5;
  cursor: not-allowed;
}
body
  .product-template-wrapper
  .variation-group
  .radio-fields
  label
  .option-content {
  width: 60px;
  height: 40px;
  background: #fff;
  box-shadow: inset 0 0 0 1px #8ca4ab;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
body
  .product-template-wrapper
  .variation-group
  .radio-fields
  label
  .option-content
  p {
  font-size: 14px;
  color: #02273e;
}
body .product-template-wrapper .clear-attributes-btn {
  border: 0;
  background: transparent;
  padding: 0;
  text-decoration: underline;
  cursor: default;
  margin-top: 16px;
  align-self: flex-start;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
body .product-template-wrapper .clear-attributes-btn.is-visible {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  cursor: pointer;
}
body .product-template-wrapper .product-price {
  margin: 32px 0;
}
body .product-template-wrapper .product-price del {
  text-decoration: none;
}
body .product-template-wrapper .product-price del span.amount {
  text-decoration: line-through;
  font-weight: 400;
  opacity: 0.6;
}
body .product-template-wrapper .product-price ins {
  text-decoration: none;
}
body .product-template-wrapper .product-price span {
  font-size: 44px;
  font-weight: 500;
  color: #02273e;
  text-transform: uppercase;
}
body .product-template-wrapper .product-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body .product-template-wrapper .product-gallery .swiper {
  width: 100%;
  overflow: hidden;
}
body .product-template-wrapper .product-gallery .product-main {
  position: relative;
}
body .product-template-wrapper .product-gallery .product-main .main-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
body
  .product-template-wrapper
  .product-gallery
  .product-main
  .main-nav.main-prev {
  left: 16px;
}
body
  .product-template-wrapper
  .product-gallery
  .product-main
  .main-nav.main-next {
  right: 16px;
}
body
  .product-template-wrapper
  .product-gallery
  .product-main
  .swiper-slide
  img {
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 100%;
}
body .product-template-wrapper .product-gallery .product-thumbs .swiper-slide {
  border: 1px solid #fff;
}
body
  .product-template-wrapper
  .product-gallery
  .product-thumbs
  .swiper-slide.swiper-slide-thumb-active {
  border-color: #8ca4ab;
}
body
  .product-template-wrapper
  .product-gallery
  .product-thumbs
  .swiper-slide
  img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

body .product-template-wrapper .rel-product .swiper-pagination {
  justify-content: flex-start;
}
body .prod-archive .container-padding {
  padding-right: 0;
}
body .prod-archive .products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #02273e;
  border-right: 0;
}
body .prod-archive .products-grid .product-card {
  border-bottom: 1px solid #02273e;
}
body .prod-archive .products-grid .product-card:not(:nth-child(3n)) {
  border-right: 1px solid #02273e;
}
body .prod-archive .products-grid .product-card:nth-last-child(-n + 3) {
  border-bottom: 0;
}
body .prod-archive .products-grid .product-card:nth-child(6) {
  border-bottom: 1px solid #02273e;
}
body
  .prod-archive
  .products-grid
  .product-card:nth-last-child(3):nth-child(3n + 1),
body
  .prod-archive
  .products-grid
  .product-card:nth-last-child(2):nth-child(3n + 1),
body
  .prod-archive
  .products-grid
  .product-card:nth-last-child(2):nth-child(3n + 2),
body .prod-archive .products-grid .product-card:nth-last-child(1) {
  border-bottom: 0;
}
body .prod-archive .products-grid.products-grid--2 {
  width: 66.666667%;
  margin: 0;
  grid-template-columns: repeat(2, 1fr);
  border-right: 1px solid #02273e;
}
body
  .prod-archive
  .products-grid.products-grid--2
  .product-card:not(:nth-child(3n)) {
  border-right: 0;
}
body
  .prod-archive
  .products-grid.products-grid--2
  .product-card:nth-child(2n + 1) {
  border-right: 1px solid #02273e;
}
body
  .prod-archive
  .products-grid.products-grid--2
  .product-card:nth-last-child(-n + 2) {
  border-bottom: 0;
}
body .prod-archive .products-grid.products-grid--1 {
  width: 33.333333%;
  margin: 0;
  grid-template-columns: 1fr;
  border-right: 1px solid #02273e;
}
body .prod-archive .products-grid.products-grid--1 .product-card {
  border-right: 0;
  border-bottom: 0;
}
body .prod-archive .pagination {
  padding: 64px 0 58px;
  display: flex;
  align-items: center;
  gap: 8px;
}
body .prod-archive .pagination .page-numbers {
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #02273e;
  background: #fff;
  color: #02273e;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}
body .prod-archive .pagination .page-numbers.current,
body .prod-archive .pagination .page-numbers:hover {
  background: #02273e;
  color: #dcded1;
}
body .prod-archive .pagination .page-numbers.dots {
  border: 0;
  min-width: auto;
  padding: 0 4px;
  background: transparent;
  color: #02273e;
}
