.error-holder,
.errorMessage {
    width: fit-content;
    display: inline-block;
    float: right;
    color: red;
    font-weight: 300;
    font-size: 12px;
}
.hide {
    display: none !important;
}
.hide-arrows[type=number]::-webkit-outer-spin-button,
.hide-arrows[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;

}
.hide-arrows[type=number]{
    -moz-appearance: textfield;
}
.left-direction label {
    position: absolute;
    left: 35px;
    top: -2px;
}
.left-direction input[type="checkbox"] {
    float: left;
    margin-right: 15px;
    width: auto;
}
.loader-holder{
    position: relative;
}
.li-overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.79); 
    z-index: 99;
    display: flex;
    align-items: center;
    justify-content: center;
}
.loader {
    position: absolute;
    display: block;
    width: 100%;
    height: 10px;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
}
.js-list-grid {
    width: 100%;
}
/** Loader */
.loader .holder { 
    position: absolute;
    left: calc(50% - 1rem);
    top: calc(50% - 1rem);
}
.loader .holder img { 
    width: 350px;
    position: absolute;
    margin-top: -112px;
    margin-left: -162px;
}
.blob {
    width: 2rem;
    height: 2rem;
    background: #ffffff;
    border-radius: 50%;
    position: absolute;
    /*left: calc(50% - 1rem);*/
    top: calc(50% - 1rem);
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
}
.blob-2 {
    animation: animate-to-2 1.5s infinite;
}
.blob-3 {
    animation: animate-to-3 1.5s infinite;
}
.blob-1 {
    animation: animate-to-1 1.5s infinite;
}
.blob-4 {
    animation: animate-to-4 1.5s infinite;
}
.blob-0 {
    animation: animate-to-0 1.5s infinite;
}
.blob-5 {
    animation: animate-to-5 1.5s infinite;
}
.w-30 {
    width: 30% !important;
}
.w-35 {
    width: 35% !important;
}
.checkout-page-box .customer-type-holder > label, 
.checkout-page-box .customer-type-holder > span,
.checkout-page-box .payment-option-holder > label, 
.checkout-page-box .payment-option-holder > .required-field {
    display: none;
}
.required-field {
    color: red;
}
.custom-control .required-field {
    position: absolute;
    top: 0;
}
.success_newsletter {
    border: 1px solid var(--success);
    padding: 1rem 2rem;
}
@keyframes animate-to-2 {
    25%,
    75% {
        transform: translateX(-1.5rem) scale(0.75);
    }
    95% {
        transform: translateX(0rem) scale(1);
    }
}

@keyframes animate-to-3 {
    25%,
    75% {
        transform: translateX(1.5rem) scale(0.75);
    }
    95% {
        transform: translateX(0rem) scale(1);
    }
}

@keyframes animate-to-1 {
    25% {
        transform: translateX(-1.5rem) scale(0.75);
    }
    50%,
    75% {
        transform: translateX(-4.5rem) scale(0.6)
    }
    95% {
        transform: translateX(0rem) scale(1);
    }
}

@keyframes animate-to-4 {
    25% {
        transform: translateX(1.5rem) scale(0.75);
    }
    50%,
    75% {
        transform: translateX(4.5rem) scale(0.6)
    }
    95% {
        transform: translateX(0rem) scale(1);
    }
}

@keyframes animate-to-0 {
    25% {
        transform: translateX(-1.5rem) scale(0.75);
    }
    50% {
        transform: translateX(-4.5rem) scale(0.6)
    }
    75% {
        transform: translateX(-7.5rem) scale(0.5)
    }
    95% {
        transform: translateX(0rem) scale(1);
    }
}

@keyframes animate-to-5 {
    25% {
        transform: translateX(1.5rem) scale(0.75);
    }
    50% {
        transform: translateX(4.5rem) scale(0.6)
    }
    75% {
        transform: translateX(7.5rem) scale(0.5)
    }
    95% {
        transform: translateX(0rem) scale(1);
    }
}
/** ./Loader */
/* Loader dots */
.loader {
  position: relative;
  display: block;
  width: 100%;
  height: 10px;
}

/* ooo, css circles*/
.circle {
  display: inline-block;
  width: 100%;
  /*position: relative;
   key up the animations! */
  -webkit-animation: dotloader 2.5s infinite;
  -moz-animation: dotloader 2.5s infinite;
  -ms-animation: dotloader 2.5s infinite;
  -o-animation: dotloader 2.5s infinite;
  animation: dotloader 2.5s infinite;
}

.circle + .circle {
  margin-left: -25px;
  /* staggered effect cause by delay property */
  -webkit-animation: dotloader 2.5s 0.2s infinite;
  -moz-animation: dotloader 2.5s 0.2s infinite;
  -ms-animation: dotloader 2.5s 0.2s infinite;
  -o-animation: dotloader 2.5s 0.2s infinite;
  animation: dotloader 2.5s 0.2s infinite;
}

.circle + .circle + .circle {
  margin-left: -25px;
  -webkit-animation: dotloader 2.5s 0.4s infinite;
  -moz-animation: dotloader 2.5s 0.4s infinite;
  -ms-animation: dotloader 2.5s 0.4s infinite;
  -o-animation: dotloader 2.5s 0.4s infinite;
  animation: dotloader 2.5s 0.4s infinite;
}

.circle + .circle + .circle + .circle {
  margin-left: -25px;
  -webkit-animation: dotloader 2.5s 0.6s infinite;
  -moz-animation: dotloader 2.5s 0.6s infinite;
  -ms-animation: dotloader 2.5s 0.6s infinite;
  -o-animation: dotloader 2.5s 0.6s infinite;
  animation: dotloader 2.5s 0.6s infinite;
}

/* here be the animations matey! */
@keyframes "dotloader" {
  0%,20% {
    width: 4px;
    height: 4px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    left: 0%;
    background-color: rgba(237, 28, 36, 0);
  }
  
  30%,70% {
    width: 8px;
    height: 8px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    left: 50%;
    background-color: rgba(237, 28, 36, 0.5);
  }

  80%,100% {
    width: 4px;
    height: 4px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    left: 100%;
    background-color: rgba(237, 28, 36, 0);
  }
}

@-moz-keyframes dotloader {
  0%,20% {
    width: 4px;
    height: 4px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    left: 0%;
    background-color: rgba(237, 28, 36, 0);
  }
  
  30%,70% {
    width: 8px;
    height: 8px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    left: 50%;
    background-color: rgba(237, 28, 36, 0.5);
  }
  
  80%,100% {
    width: 4px;
    height: 4px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    left: 100%;
    background-color: rgba(237, 28, 36, 0);
  }
}

@-webkit-keyframes "dotloader" {
  0%,20% {
    width: 4px;
    height: 4px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    left: 0%;
    background-color: rgba(237, 28, 36, 0);
  }
  
  30%,70% {
    width: 8px;
    height: 8px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    left: 50%;
    background-color: rgba(237, 28, 36, 0.5);
  }
  
  80%,100% {
    width: 4px;
    height: 4px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    left: 100%;
    background-color: rgba(237, 28, 36, 0);
  }
}

@-ms-keyframes "dotloader" {
  0%,20% {
    width: 4px;
    height: 4px;
    border-radius: 2px;
    left: 0%;
    background-color: rgba(237, 28, 36, 0);
  }
  
  30%,70% {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    left: 50%;
    background-color: rgba(237, 28, 36, 0.5);
  }
  
  80%,100% {
    width: 4px;
    height: 4px;
    border-radius: 2px;
    left: 100%;
    background-color: rgba(237, 28, 36, 0);
  }
}

@-o-keyframes "dotloader" {
  0%,20% {
    width: 4px;
    height: 4px;
    border-radius: 2px;
    left: 0%;
    background-color: rgba(237, 28, 36, 0);
  }
  
  30%,70% {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    left: 50%;
    background-color: rgba(237, 28, 36, 0.5);
  }
  
  80%,100% {
    width: 4px;
    height: 4px;
    border-radius: 2px;
    left: 100%;
    background-color: rgba(237, 28, 36, 0);
  }
}
/* ./Loader dots */

/* Loader spiner */
#loader-wrapper {
    background-color: rgba(255, 255, 255, 0.69);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
}
#loader {
    background-color: transparent;
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #3498db;
    -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}

#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #e74c3c;
    -webkit-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}

#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #f9c922;
    -webkit-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}

@-webkit-keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);  /* IE 9 */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    100% {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ /*
        -ms-transform: rotate(360deg);  /* IE 9 */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}
@keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);  /* IE 9 */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    100% {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg);  /* IE 9 */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}
/* ./Loader spiner */
body[data-action-id="b2b"],
body[data-action-id="admin"] {
    padding-left: 0;
    max-width: 360px;
    margin: 5% auto;
    overflow-x: hidden;
    background-color: #e9e9e9;
}
body[data-action-id="b2b"] .container,
body[data-action-id="admin"] .container,
body[data-action-id="b2cresetpassword"] .container,
body[data-action-id="b2bresetpassword"] .container {
    width: auto;
}
body[data-action-id="b2b"] .login-box .logo,
body[data-action-id="admin"] .login-box .logo,
body[data-action-id="b2cresetpassword"] .login-box .logo,
body[data-action-id="b2bresetpassword"] .login-box .logo {
    margin-bottom: 20px;
    text-align: center;
}
body[data-action-id="b2b"] .card,
body[data-action-id="admin"] .card,
body[data-action-id="b2cresetpassword"] .card,
body[data-action-id="b2bresetpassword"] .card {
    background: #fff;
    min-height: 50px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    position: relative;
    margin-bottom: 30px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    border-radius: 2px;
}
body[data-action-id="b2b"] .card .body,
body[data-action-id="admin"] .card .body,
body[data-action-id="b2cresetpassword"] .card .body,
body[data-action-id="b2bresetpassword"] .card .body {
    font-size: 14px;
    color: #555;
    padding: 20px;
}
body[data-action-id="b2b"] .login-box .msg,
body[data-action-id="admin"] .login-box .msg,
body[data-action-id="b2cresetpassword"] .login-box .msg,
body[data-action-id="b2bresetpassword"] .login-box .msg {
    color: #555;
    margin-bottom: 30px;
    text-align: center;
}
body[data-action-id="b2cresetpassword"] .user-info,
body[data-action-id="b2bresetpassword"] .user-info {
    text-align: center;
}
body[data-action-id="b2cresetpassword"] .user-info img,
body[data-action-id="b2bresetpassword"] .user-info img {
    max-width: 450px;
}
body[data-action-id="b2cresetpassword"],
body[data-action-id="b2bresetpassword"] {
    padding-left: 0;
    max-width: 750px;
    margin: 5% auto;
    overflow-x: hidden;
    background-color: white;
}
body[data-action-id="b2cresetpassword"] .block-header h4,
body[data-action-id="b2bresetpassword"] .block-header h4 {
    font-size: large;
    font-weight: bold;
    text-align: center;
}
body[data-action-id="b2cresetpassword"] .block-header,
body[data-action-id="b2bresetpassword"] .block-header {
    margin-top: 20px;
    margin-bottom: 10px;
}
body[data-action-id="b2cresetpassword"] .cart-section,
body[data-action-id="b2cresetpassword"] .forgot-password-holder,
body[data-action-id="b2bresetpassword"] .cart-section,
body[data-action-id="b2bresetpassword"] .forgot-password-holder {
    background: #fff;
    min-height: 50px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    position: relative;
    margin-bottom: 30px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    border-radius: 2px;
    padding: 2rem;
}
body[data-action-id="b2cresetpassword"] .line-title,
body[data-action-id="b2bresetpassword"] .line-title {
    width: 100%;
    text-align: center;
    margin: 2rem 0 0 0;
}
body[data-action-id="b2cresetpassword"] .success-holder h1,
body[data-action-id="b2bresetpassword"] .success-holder h1 {
    font-size: 18px;
}
body[data-action-id="b2cresetpassword"] .success-holder,
body[data-action-id="b2bresetpassword"] .success-holder {
    background: none;
    text-align: center;
    margin-top: 0;
    box-shadow: none;
    font-size: 14px;
    color: #555;
    padding: 20px 0;
}
body[data-action-id="b2cresetpassword"] .success-holder img,
body[data-action-id="b2bresetpassword"] .success-holder img {
    min-width: 50px;
    max-width: 70px;
    width: auto;
}
body[data-action-id="b2cresetpassword"] .success-holder h3,
body[data-action-id="b2bresetpassword"] .success-holder h3 {
    font-size: 1.2rem;
    text-transform: none;
}
body[data-action-id="b2cresetpassword"] .submit,
body[data-action-id="b2bresetpassword"] .submit {
    margin: 15px;
}
body[data-action-id="b2cresetpassword"] .box-row-content-pane,
body[data-action-id="b2bresetpassword"] .box-row-content-pane {
    margin-bottom: 15px;
}

body[data-action-id="admin"] {
    background-color: white;
    max-width: 395px;
    width: 395px;
}
body[data-action-id="admin"] .box-title {
    font-weight: normal;
}
body[data-action-id="admin"] {
    
}
body[data-action-id="admin"] .login-box .btn-cart-side {
    outline: none;
    color: white;
    background: #41a85f;
    border-color: white;
    border: 1.5px solid transparent !important;
    transition: 0.7s;
    width: 100%;
}
body[data-action-id="admin"] .login-box .btn-cart-side:hover,
body[data-action-id="admin"] .login-box .btn-cart-side:focus {
    color: #2a166d;
    background-color: #ffffff;
    border: 1.5px solid #41a85f !important;
    transition: 0.7s;
}
body[data-action-id="admin"] .login-box .login-btn {
    width: 100%;
}
body[data-action-id="admin"] .login-box .btn-cart-side {
    margin: 0;
}
body[data-action-id="admin"] .login-box .card {
    background-color: #F7F7F7;
}
body[data-action-id="admin"] div[data-id-group-attribute="255"] {
    margin-top: 0;
    margin-bottom: 15px;
}

body[data-action-id="collections"] .thumb_categories:first-child {
    display: none;
}

.bg-pan-bl .carousel-item.active .slider-bg-cover-image {
	-webkit-animation: kenburns-right 20s ease-out both;
	        animation: kenburns-right 20s ease-out both;
}

.bg-pan-bl-small .carousel-item.active .slider-bg-cover-image {
	-webkit-animation: kenburns-right-small 20s ease-out both;
	        animation: kenburns-right-small 20s ease-out both;
}

.terms-conditions-bottom-line {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 15px;
    border-top: 1px solid #000000;
    background-color: white;
    z-index: 100;
}
.terms-conditions-bottom-line p {
    font-size: small;
    font-weight: 300;
    margin-bottom: 0;
}
.terms-conditions-bottom-line p a {
    color: black;
    text-decoration: underline;
}
.terms-conditions-bottom-line .row {
    position: relative;
}

@-webkit-keyframes kenburns-right {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
    -webkit-transform-origin: 84% 50%;
            transform-origin: 84% 50%;
  }
  100% {
    -webkit-transform: scale(1.25) translateX(20px);
            transform: scale(1.25) translateX(20px);
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}
@-webkit-keyframes kenburns-right-small {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
    -webkit-transform-origin: 84% 50%;
            transform-origin: 84% 50%;
  }
  100% {
    -webkit-transform: scale(1.1) translateX(20px);
            transform: scale(1.1) translateX(20px);
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}
@keyframes kenburns-right {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
    -webkit-transform-origin: 84% 50%;
            transform-origin: 84% 50%;
  }
  100% {
    -webkit-transform: scale(1.25) translateX(20px);
            transform: scale(1.25) translateX(20px);
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}


/*
inspired from http://codepen.io/Rowno/pen/Afykb 
https://stackoverflow.com/questions/26770055/bootstrap-carousel-fade-no-longer-working-with-maxcdn-3-3-bootstrap-min-css
*/
.carousel-fade .carousel-inner .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transition-duration: 4s;
  transition-timing-function:linear;
}

.carousel-fade .carousel-inner .active {
  opacity: 1;
}

.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  opacity: 0;
  z-index: 1;
}

.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1;
}

.carousel-fade .carousel-control {
  z-index: 2;
}

.alert-fixed {
    position: fixed;
    top: 140px;
    right: 0;
    min-width: 300px;
    z-index: 1100;
}
.alert-fixed .msg-holder{
    padding-top: 14px;
}
.next-step,
.prev-step {
    cursor: pointer;
}
.inline-li li {
    display: inline-block;
}
.checkout-container .radio-buttons-big-select > label,
.checkout-container .radio-buttons-big-select .required-field {
    display: none;
}
.checkout-container .radio-buttons-big-select li {
    list-style-type: none;
}
.checkout-container ul {
    padding: 0;
    border-bottom: transparent !important;
    margin-bottom: 3rem !important;
}
.checkout-container li *[type="radio"] {
    display: inline-block;
    width: auto;
    height: auto;
}

.checkout-container .customer-delivery-type li label {
    font-size: 1.5rem;
}
.checkout-container .payment-option  li label {
    font-size: 1.5rem;
}

.delevery-details-insert .customer-type li *[type="radio"] {
    visibility: hidden;
    position: absolute;
}
.delevery-details-insert .customer-type li>label {
    border: 1px solid transparent;
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
    color: #aaa !important;
    padding-left: 8px;
    font-weight: bold;
}
.delevery-details-insert .customer-type li>label:hover,
.delevery-details-insert .customer-type li>label:focus,
.delevery-details-insert .customer-type li>label:active {
    color: #000 !important;
    background-color: #fff;
    border-color: transparent;
    font-weight: bold;
}

*[data-action-id="search"] .empty {
    width: 100%;
    padding: 30px;
}
*[data-action-id="discountcollections"] .empty {
    width: 100%;
    padding: 30px;
}
.success-payment-info img {
    width: 7%;
    margin: 2rem 0;
}
.success-payment-info h3 {
    font-size: 30px;
    margin-bottom: 2rem;
    text-transform: uppercase;
}
.success-holder {
    padding: 30px;
}
.success-holder img {
    width: 7%;
    margin: 2rem 0;
}
.success-holder h3 {
    font-size: 30px;
    margin-bottom: 2rem;
    text-transform: uppercase;
}
.ddl-date-field-holder select[name="birth_date[day]"] + .select2.select2-container {
    width: 25% !important;
}
.ddl-date-field-holder select[name="birth_date[mount]"] + .select2.select2-container {
    width: 43% !important;
}
.ddl-date-field-holder select[name="birth_date[year]"] + .select2.select2-container {
    width: 32% !important;
}
.cart-items .small-product-stock-b2c {
    font-size: small;
    margin: 10px 0;
}
.cart-items .cart-description {
    margin: 0;
    color: #bbb7b7;
    display: inline-block;
    margin-right: 15px;
    font-size: small;
}
#gcaptcha_checkout {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    margin-bottom: 15px; 
    width: 100%;
}
/*
WHAT IS NEW IN 3.3: "Added transforms to improve carousel performance in modern browsers."
now override the 3.3 new styles for modern browsers & apply opacity
*/
@media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-fade .carousel-inner > .carousel-item.next,
    .carousel-fade .carousel-inner > .carousel-item.active.right {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .carousel-item.prev,
    .carousel-fade .carousel-inner > .carousel-item.active.left {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .carousel-item.next.left,
    .carousel-fade .carousel-inner > .carousel-item.prev.right,
    .carousel-fade .carousel-inner > .carousel-item.active {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
}