*:not(.fa){
    font-family: 'Chivo', sans-serif;
    font-weight: 200;
}

p,
h1,
h2,
h3,
h4,
h5,
h6{
    color: #191919;
}


a {
    text-decoration: none;
    color: #757575;
}

.btn-primary{
    background-color: #ffffff;
    border-color: #191919;
    color: #191919;
}
.btn-primary:hover{
    background-color: #191919 !important;
    color: #ffffff !important;
}
.btn-secondary{
    background-color: #191919;
    border-color: #191919;
    color: #ffffff;
}
.btn-secondary:hover{
    background-color: #ffffff !important;
    color: #191919 !important;
}
.btn-close{
    opacity: 1;
    color: #191919;
}
.btn-close:focus{
    outline: 0;
    box-shadow: none;
}
.hide-desktop{
    display: none;
}
form .form-floating label.error{
    position: unset;
    height: auto;
    opacity: 1 !important;
    transform: unset !important;
    padding: 0;
    font-size: 14px;
    margin-top: 5px;
    color: red;
}

.modal-header,
.modal-footer{
    border:0;
}
.modal-dialog{
    height: calc(100% - 56px);
    margin: auto;
    display: flex;
    align-items: center;
}
.modal-header,
.modal-body,
.modal-footer{
    padding: 20px;
}

header .header-container {
    display:flex;
    align-items: center;
    justify-content: space-between;
    height: 50px;
    padding: 0 20px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    position: relative;
    z-index: 8;
}
header .menu{
    list-style: none;
    padding:0;
    margin: 0;
    display: flex;
    align-items: center;
}
header .menu li{
    margin-right: 10px;
}
header .menu li a{
    text-decoration: none;
    color: #191919;
}
header .menu li a i{
    font-size: 26px;
}
header .menu li:hover a{
    font-weight: 500;
}
header .menu li:last-child{
    margin-right: 0px;
}
header .logo{
    font-weight: 600;
    font-size: 20px;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    color: #191919;
    text-transform: uppercase;
}
header .logo:hover{
    cursor: pointer;
}
header .cart-container{
    display:flex;
    align-items: center;
}
header .cart-container p{
    margin: 0;
    margin-right: 10px;
}
header .cart-container:hover{
    cursor: pointer;
}
header .cart-container:hover p{
    font-weight: 500;
}
header .cart-container .cart-qty{
    background-color: #191919;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    visibility: hidden;
}
.forgot-password-disclaimer{
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}
.forget-password-error{
    font-size: 14px;
    font-weight: 200;
    color: red;
    margin: 0;
    margin-top: 5px;
    display: none;
}
.forgot-password-link {
    text-decoration: underline;
}
.forgot-password-link:hover{
    color: #191919;
}
.cart-modal-container{
    position: absolute;
    width: 100%;
    height: calc(100vh - 50px);
    bottom: 0;
    left: 0;
    display:none;
    z-index: 9;
    overflow: hidden;
}
.cart-modal-container .cart-modal{
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9;
    overflow: hidden;
}
.cart-modal-container.open{
    display:block;
}
.cart-list{
    width: 500px;
    height: 100%;
    background: #f6f6f6;
    margin-left: auto;
    transform: translate(500px, 0);
    transition: transform 0.3s ease-in-out;
    display: block;
    padding: 10px;
}
.cart-modal-container .cart-modal.open .cart-list{
    transform: translate(0);
}
.cart-list .cart-list-top{
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #d1d1d1;
    padding: 10px;
    margin: -10px;
    width: calc(100% + 20px);
    margin-bottom: 10px;
}
.cart-list .cart-list-top p{
    font-size: 14px;
    color: #a8a8a8;
    margin: 0;
}
.cart-list .cart-list-top a{
    font-size: 14px;
    color: #a8a8a8;
    margin: 0;
}
.cart-list .cart-list-top a:hover{
    color: #191919;
    font-weight: 500;
}
.cart-list .cart-list-top h3{
    font-size: 14px;
    font-weight: 600;
    color: #191919;
    margin: 0;
}
.cart-list ul{
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-y: auto;
    height: calc(100% - 95px);
}
.cart-list ul li{
    background: #ffffff;
    padding: 10px;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    border-radius: 5px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    position: relative;
    padding-bottom: 50px;
}
.cart-list ul li:last-child{
    margin-bottom: 0;
}
.cart-list ul li img{
    width: 120px;
    height: 120px;
    object-fit: contain;
    margin-right: 20px;
}
.cart-list ul li h3{
    font-size: 16px;
    font-weight: 500;
    color: #191919;
    margin-bottom: 5px;
}
.cart-list ul li p{
    font-size: 14px;
    font-weight: 300;
    color: #a8a8a8;
    margin: 0;
}
.cart-list ul li p.product-name{
    margin-bottom: 10px;
    font-weight: 400;
}
.cart-list ul li .btn-close{
    position: absolute;
    right: 5px;
    top: 5px;
    display: flex;
    align-items: center;
    background-size: 10px;
    padding: 5px;
}
.cart-list .cart-qty-container{
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    border-top: 1px solid #d1d1d1;
}
.cart-list .cart-qty-container .btn-qty-minus{
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #d1d1d1;
    padding-top: 2px;
    font-size: 14px;
    color: #a8a8a8;
}
.cart-list .cart-qty-container .btn-qty-plus{
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #d1d1d1;
    padding-top: 2px;
    font-size: 14px;
    color: #a8a8a8;
}
.cart-list .cart-qty-container p {
    font-size: 16px;
    font-weight: 500;
    color: #191919;
    margin: 0;
    width: 40px;
    text-align: center;
}
.cart-list .btn-secondary{
    position: absolute;
    width: calc(100% - 20px);
    bottom: 10px;
    left: 10px;
}
.cart-list .cart-tie-details{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.cart-list .cart-tie-details p{
    margin: 0;
}
.cart-list .cart-tie-details p b{
    font-weight: 600;
    color: #191919;
}
.modal-account .modal-dialog{
    max-width: 100%;
    width: calc(100% - 40px);
}
.modal-account .modal-dialog h3{
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 20px;
}
.recovery-page{
    padding: 20px;
    min-height: calc(100vh - 108px);
}
.index-page{
    padding: 20px;
    min-height: calc(100vh - 108px);
}
.index-page h3{
    margin-bottom: 40px;
    text-transform: uppercase;
    font-weight: 500;
}
.products-page{
    padding: 20px;
    min-height: calc(100vh - 108px);
}
.product-filters{
    
}
.product-filters h3{
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 20px;
}
.product-filters .product-filter-colors{
    display: flex;
    align-items: center;
}
.product-filters .product-filter-color{
    margin-right: 20px;
    display: flex;
    align-items: center;
}
.product-filters .product-filter-color:hover{
    cursor: pointer;
}
.product-filters .product-filter-color:last-child{
    margin-right: 0;
}
.product-filters .product-filter-color span{
    width: 14px;
    height: 14px;
    display: block;
    border-radius: 50%;
    border: 1px solid #191919;
    background-color: #ffffff;
}
.product-filters .product-filter-color p{
    font-size: 14px;
    margin: 0;
    margin-left: 6px;
    font-weight: 200;
}
.product-filters .product-filter-color:hover p,
.product-filters .product-filter-color.active p{
    font-weight: 500;
}
.product-list{
    margin-top: 40px;
}
.product-list .product-container{
    position: relative;
    margin-bottom: 40px;
}
.product-list .product-container figure.zoom {
  background-position: 50% 50%;
  background: none;
  position: relative;
  border: 1px dashed #d1d1d1;
  border-radius: 8px;
  height: auto;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  cursor: zoom-in;
  background-size: 0;
  background-repeat: no-repeat;
}
.product-list .product-container figure .zoom-img-container{
    width: calc(100% + 2px);
    height: calc(30vw + 2px);
    margin-left: -1px;
    margin-top: -1px;
    padding: 10px;
}
.product-list .product-container figure.zoom:hover {
    background-size: auto;
}
.product-list .product-container figure .zoom-img-container:hover img {
  opacity: 0;
}
.product-list .product-container figure.zoom img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.product-list .product-container p{
    margin-top: 10px;
    font-weight: 500;
    font-size: 16px;
    text-transform: uppercase;
}
footer {
    padding: 20px;
    background-color: #191919;
}
footer p{
    text-align: center;
    font-weight: 400;
    color: #ffffff;
    margin: 0;
    font-size: 12px;
}
footer p a:hover{
    color: #d1d1d1;
}
.product-filters .product-filter-types{
    display: flex;
    align-items: center;
    margin-top: 20px;
}
.product-filters .product-filter-type{
    margin-right: 20px;
    display: flex;
    align-items: center;
}
.product-filters .product-filter-type:hover{
    cursor: pointer;
}
.product-filters .product-filter-type:last-child{
    margin-right: 0;
}
.product-filters .product-filter-type .product-type-plain{
    width: 14px;
    height: 14px;
    display: block;
    border-radius: 3px;
    border: 1px solid #191919;
    background-color: #ffffff;
}
.product-filters .product-filter-type .product-type-patterned{
    width: 14px;
    height: 14px;
    display: block;
    border-radius: 3px;
    border: 1px solid #191919;
    position: relative;
    overflow: hidden;
}
.product-filters .product-filter-type .product-type-patterned::before { 
    content: ""; 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    background: repeating-linear-gradient( 
            0deg, #fff 0, #fff 4px,  
            #000 4px, #000 8px); 
} 
  
.product-filters .product-filter-type .product-type-patterned::after { 
    content: ""; 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    background: repeating-linear-gradient( 
        90deg, #fff 0, #fff 4px,  
        #000 4px, #000 8px); 
    mix-blend-mode: difference; 
} 
.product-filters .product-filter-type img{
    width: 14px;
    height: 14px;
    object-fit: contain;
    border-radius: 50%;
    border: 1px solid #191919;
}
.product-filters .product-filter-type p{
    font-size: 14px;
    margin: 0;
    margin-left: 6px;
    font-weight: 200;
}
.product-filters .product-filter-type:hover p,
.product-filters .product-filter-type.active p{
    font-weight: 500;
}
.btn-clear-filter{
    border: 0;
    border-radius: 4px;
    font-size: 14px;
    color: #191919;
    display: none;
}
.product-page{
    padding: 20px;
    min-height: calc(100vh - 108px);
}
.product-page .product-single{
    margin-top: 10px;
}
.btn-qty-cart-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #d1d1d1;
    padding-bottom: 10px;
}
.btn-qty-cart-container .qty-container{
    display: flex;
    align-items: center;
}
.btn-qty-cart-container .qty-container .btn-qty-minus{
    border: 0;
    height: 28px;
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #191919;
    padding: 0 ;
    font-size: 27px;
}
.btn-qty-cart-container .qty-container .btn-qty-plus{
        border: 0;
    height: 28px;
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #191919;
    padding: 0 ;
    font-size: 22px;
}
.btn-qty-cart-container .qty-container input{
    width: 50px;
    text-align: center;
    font-weight: 500;
    border: 1px dashed #d1d1d1;
    border-radius: 5px;
    margin: 0 5px;
}
.btn-qty-cart-container .qty-container input::-webkit-outer-spin-button,
.btn-qty-cart-container .qty-container input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.btn-qty-cart-container .qty-container input[type=number] {
  -moz-appearance: textfield;
}
.btn-qty-cart-container .btn-add-cart{
    background: transparent;
    color: #191919;
    border: 0;
    font-size: 24px;
    padding: 0 10px;
}
.product-page .product-single h3{
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.product-page .product-single .product-price{
    font-weight: 500;
}
.product-single .product-single-img{
    width: 100%;
    margin-top: 40px;
}
.product-single .subproduct{
    position: relative;
    margin-bottom: 40px;
}
.product-single .subproduct figure.zoom {
  background-position: 50% 50%;
  background: none;
  position: relative;
  border: 1px dashed #d1d1d1;
  border-radius: 8px;
  height: 25vw;
  width: 100%;
  overflow: hidden;
  cursor: zoom-in;
  background-size: 0;
  margin-bottom: 10px;
}
.product-single .subproduct figure .zoom-img-container{
    width: calc(100% + 2px);
    height: calc(25vw + 2px);
    padding: 10px;
}
.product-single .subproduct figure.zoom:hover {
    background-size: auto;
}
.product-single .subproduct figure .zoom-img-container:hover img {
  opacity: 0;
}
.product-single .subproduct figure.zoom img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-single .subproduct-info{
    width: 100%;
}
.product-single .subproduct-info h2{
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
}
.product-single .subproduct-info h4{
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 10px;
}
.product-single .subproduct-info h4 b{
    font-weight: 600;
}
.product-single .subproduct-info h5{
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 10px;
}
.checkout-page{
    padding: 0 12px;
    min-height: calc(100vh - 108px);
}
.checkout-page .row .col-md-8{
    padding: 20px;
}
.checkout-page .row .col-md-4{
    padding: 20px;
    background: #f6f6f6;
}
.checkout-page .cart-list{
    transform: translate(0);
    width: 100%;
}
.checkout-page .cart-list ul{
    height: calc(100vh - 168px);
}
.checkout-page .col-md-8 h3{
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 20px;
}
.checkout-page .col-md-8 h3:not(:first-child){
    margin-top: 40px;
}
#add-tie-form p{
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}
.fiscal-address-title-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.btn-same-address{
    margin-bottom: 20px;
}
.btn-back {
    border: 0;
    background: transparent;
    margin-bottom: 30px;
    font-weight: 700;
    font-size: 20px;
}
@media only screen and (max-width: 600px) {
  .hide-desktop{
      display: block;
  }
  .show-desktop{
      display: none;
  }
  header .cart-container{
      position: relative;
  }
  header .cart-container i{
      font-size: 26px;
  }
  header .cart-container .cart-qty{
      width: 15px;
      height: 15px;
      font-size: 10px;
      position: absolute;
      left: -6px;
      top: -7px;
  }
  .product-list .product-container figure.zoom {
      height: 300px;
    }
    .product-list .product-container figure .zoom-img-container{
        height: 302px;
    }
    .product-single .subproduct figure.zoom {
      height: 300px;
    }
    .product-single .subproduct figure .zoom-img-container{
        height: 302px;
    }
    .product-single .product-single-img{
        margin: 0;
        margin-bottom: 40px;
    }
    .cart-modal-container .cart-list{
        width: 100vw;
    }
    .checkout-page .cart-list ul{
        height: auto;
    }
    .checkout-page .cart-list{
        margin-bottom: 60px;
        padding: 0;
    }
    .checkout-page .cart-list ul{
        padding: 10px;
    }
    .modal-dialog{
        width: 100% !important;
        height: 100% !important;
    }
    .modal-dialog .modal-content{
        max-height: 100vh;
        overflow-y: auto;
    }
    header .menu li a{
        font-size: 14px;
    }
}