/*Normal loading*/
.loading {
  position: relative;
  height: 110px;

}
    .loading > * {
        visibility: hidden;
        display: none;
    }

.loading::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="80px" viewBox="0 0 200 200"><radialGradient id="a12" cx=".66" fx=".66" cy=".3125" fy=".3125" gradientTransform="scale(1.5)"><stop offset="0" stop-color="%23FF4900"></stop><stop offset=".3" stop-color="%23FF4900" stop-opacity=".9"></stop><stop offset=".6" stop-color="%23FF4900" stop-opacity=".6"></stop><stop offset=".8" stop-color="%23FF4900" stop-opacity=".3"></stop><stop offset="1" stop-color="%23FF4900" stop-opacity="0"></stop></radialGradient><circle transform-origin="center" fill="none" stroke="url(%23a12)" stroke-width="5" stroke-linecap="round" stroke-dasharray="200 1000" stroke-dashoffset="0" cx="100" cy="100" r="70"><animateTransform type="rotate" attributeName="transform" calcMode="spline" dur="0.7" values="360;0" keyTimes="0;1" keySplines="0 0 1 1" repeatCount="indefinite"></animateTransform></circle><circle transform-origin="center" fill="none" opacity=".2" stroke="%23FF4900" stroke-width="5" stroke-linecap="round" cx="100" cy="100" r="70"></circle></svg>');
  background-repeat: no-repeat;
  background-position: center;
  animation: FadeIn 0.5s;
}

    .loading.loading-content > * {
        visibility: visible;
    }
/*Small Normal loading*/
.loading-small {
    position: relative;
    height: 38px;
}

.loading-small > * {
    visibility: hidden;
    display: none;
}

.loading-small::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="45px" viewBox="0 0 200 200"><radialGradient id="a12" cx=".66" fx=".66" cy=".3125" fy=".3125" gradientTransform="scale(1.5)"><stop offset="0" stop-color="%23FF4900"></stop><stop offset=".3" stop-color="%23FF4900" stop-opacity=".9"></stop><stop offset=".6" stop-color="%23FF4900" stop-opacity=".6"></stop><stop offset=".8" stop-color="%23FF4900" stop-opacity=".3"></stop><stop offset="1" stop-color="%23FF4900" stop-opacity="0"></stop></radialGradient><circle transform-origin="center" fill="none" stroke="url(%23a12)" stroke-width="5" stroke-linecap="round" stroke-dasharray="200 1000" stroke-dashoffset="0" cx="100" cy="100" r="70"><animateTransform type="rotate" attributeName="transform" calcMode="spline" dur="0.7" values="360;0" keyTimes="0;1" keySplines="0 0 1 1" repeatCount="indefinite"></animateTransform></circle><circle transform-origin="center" fill="none" opacity=".2" stroke="%23FF4900" stroke-width="5" stroke-linecap="round" cx="100" cy="100" r="70"></circle></svg>');
    background-repeat: no-repeat;
    background-position: center;
    animation: FadeIn 0.5s;
}

.loading-small.loading-content > * {
    visibility: visible;
}


/*centerlized loading*/
.loading-center {
    position: relative;
    height: 100%;
}

    .loading-center > * {
        visibility: hidden;
        display: none;
    }

    .loading-center::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="80px" viewBox="0 0 200 200"><radialGradient id="a12" cx=".66" fx=".66" cy=".3125" fy=".3125" gradientTransform="scale(1.5)"><stop offset="0" stop-color="%23FF4900"></stop><stop offset=".3" stop-color="%23FF4900" stop-opacity=".9"></stop><stop offset=".6" stop-color="%23FF4900" stop-opacity=".6"></stop><stop offset=".8" stop-color="%23FF4900" stop-opacity=".3"></stop><stop offset="1" stop-color="%23FF4900" stop-opacity="0"></stop></radialGradient><circle transform-origin="center" fill="none" stroke="url(%23a12)" stroke-width="5" stroke-linecap="round" stroke-dasharray="200 1000" stroke-dashoffset="0" cx="100" cy="100" r="70"><animateTransform type="rotate" attributeName="transform" calcMode="spline" dur="0.7" values="360;0" keyTimes="0;1" keySplines="0 0 1 1" repeatCount="indefinite"></animateTransform></circle><circle transform-origin="center" fill="none" opacity=".2" stroke="%23FF4900" stroke-width="5" stroke-linecap="round" cx="100" cy="100" r="70"></circle></svg>');
        background-repeat: no-repeat;
        background-position: center;
        animation: FadeIn 0.5s;
    }

    .loading-center.loading-content > * {
        visibility: visible;
    }


/* No-height loading */
.loading-noheight {
    position: relative;
    
}

    .loading-noheight > * {
        visibility: hidden;
        content: "";
        display: none;
    }

#addtocart.loading-noheight {
    content: "";
    font-size: 0px !important;
}

.loading-noheight::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="60px" viewBox="0 0 160 160"><radialGradient id="a12" cx=".66" fx=".66" cy=".3125" fy=".3125" gradientTransform="scale(1.5)"><stop offset="0" stop-color="black"></stop><stop offset=".3" stop-color="black" stop-opacity=".9"></stop><stop offset=".6" stop-color="black" stop-opacity=".6"></stop><stop offset=".8" stop-color="black" stop-opacity=".3"></stop><stop offset="1" stop-color="black" stop-opacity="0"></stop></radialGradient><circle transform-origin="center" fill="none" stroke="url(%23a12)" stroke-width="5" stroke-linecap="round" stroke-dasharray="160 800" stroke-dashoffset="0" cx="80" cy="80" r="55"><animateTransform type="rotate" attributeName="transform" calcMode="spline" dur="0.7" values="360;0" keyTimes="0;1" keySplines="0 0 1 1" repeatCount="indefinite"></animateTransform></circle><circle transform-origin="center" fill="none" opacity=".2" stroke="black" stroke-width="5" stroke-linecap="round" cx="80" cy="80" r="55"></circle></svg>');
    background-repeat: no-repeat;
    background-position: center;
    animation: FadeIn 0.5s;
}

    .loading-noheight.loading-content > * {
        visibility: visible;
    }

/* loading-product */
.loading-product {
    position: relative;
    content: "";
    font-size: 0px !important;
}
.pcard .loading-product::after  {
    content: "";
}

.loading-product > * {
    visibility: hidden;
    display: none;
    font-size: 0px;
}

    .loading-product::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="50px" viewBox="0 0 160 160"><radialGradient id="a12" cx=".66" fx=".66" cy=".3125" fy=".3125" gradientTransform="scale(1.5)"><stop offset="0" stop-color="black"></stop><stop offset=".3" stop-color="black" stop-opacity=".9"></stop><stop offset=".6" stop-color="black" stop-opacity=".6"></stop><stop offset=".8" stop-color="black" stop-opacity=".3"></stop><stop offset="1" stop-color="black" stop-opacity="0"></stop></radialGradient><circle transform-origin="center" fill="none" stroke="url(%23a12)" stroke-width="10" stroke-linecap="round" stroke-dasharray="160 800" stroke-dashoffset="0" cx="80" cy="80" r="55"><animateTransform type="rotate" attributeName="transform" calcMode="spline" dur="0.7" values="360;0" keyTimes="0;1" keySplines="0 0 1 1" repeatCount="indefinite"></animateTransform></circle><circle transform-origin="center" fill="none" opacity=".2" stroke="black" stroke-width="10" stroke-linecap="round" cx="80" cy="80" r="55"></circle></svg>');
        background-repeat: no-repeat;
        background-position: center;
        animation: FadeIn 0.5s;
    }

.loading-product.loading-content > * {
    visibility: visible;
}


/*loading no hide*/
.loading-nohide {
    position: relative;
}

    .loading-nohide > * {
        visibility: visible;
    }

    .loading-nohide::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
        background: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */
        animation: FadeIn 0.2s;
    }

    .loading-nohide::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 2; /* Ensure the loading animation is on top of the overlay */
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="80px" viewBox="0 0 200 200"><radialGradient id="a12" cx=".66" fx=".66" cy=".3125" fy=".3125" gradientTransform="scale(1.5)"><stop offset="0" stop-color="%23FF4900"></stop><stop offset=".3" stop-color="%23FF4900" stop-opacity=".9"></stop><stop offset=".6" stop-color="%23FF4900" stop-opacity=".6"></stop><stop offset=".8" stop-color="%23FF4900" stop-opacity=".3"></stop><stop offset="1" stop-color="%23FF4900" stop-opacity="0"></stop></radialGradient><circle transform-origin="center" fill="none" stroke="url(%23a12)" stroke-width="5" stroke-linecap="round" stroke-dasharray="200 1000" stroke-dashoffset="0" cx="100" cy="100" r="70"><animateTransform type="rotate" attributeName="transform" calcMode="spline" dur="0.7" values="360;0" keyTimes="0;1" keySplines="0 0 1 1" repeatCount="indefinite"></animateTransform></circle><circle transform-origin="center" fill="none" opacity=".2" stroke="%23FF4900" stroke-width="5" stroke-linecap="round" cx="100" cy="100" r="70"></circle></svg>');
        background-repeat: no-repeat;
        background-position: center;
    }

    .loading-nohide.loading-content > * {
        visibility: visible;
    }

.loading-nohide-builder {
    position: relative;
    height: 100vh;
}


.loading-cart {
    position: relative;
}

    .loading-cart > * {
        visibility: visible;
    }

    .loading-cart::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
        background: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */
        animation: FadeIn 0.2s;
    }

    .loading-cart::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 2; /* Ensure the loading animation is on top of the overlay */
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="80px" viewBox="0 0 200 200"><radialGradient id="a12" cx=".66" fx=".66" cy=".3125" fy=".3125" gradientTransform="scale(1.5)"><stop offset="0" stop-color="%23FF4900"></stop><stop offset=".3" stop-color="%23FF4900" stop-opacity=".9"></stop><stop offset=".6" stop-color="%23FF4900" stop-opacity=".6"></stop><stop offset=".8" stop-color="%23FF4900" stop-opacity=".3"></stop><stop offset="1" stop-color="%23FF4900" stop-opacity="0"></stop></radialGradient><circle transform-origin="center" fill="none" stroke="url(%23a12)" stroke-width="5" stroke-linecap="round" stroke-dasharray="200 1000" stroke-dashoffset="0" cx="100" cy="100" r="70"><animateTransform type="rotate" attributeName="transform" calcMode="spline" dur="0.7" values="360;0" keyTimes="0;1" keySplines="0 0 1 1" repeatCount="indefinite"></animateTransform></circle><circle transform-origin="center" fill="none" opacity=".2" stroke="%23FF4900" stroke-width="5" stroke-linecap="round" cx="100" cy="100" r="70"></circle></svg>');
        background-repeat: no-repeat;
        background-position: center;
    }

    .loading-cart.loading-content > * {
        visibility: visible;
    }

.loading-nohide-builder {
    position: relative;
    height: 100vh;
}
    .loading-nohide-builder > * {
        visibility: visible;  
    }

    .loading-nohide-builder::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        background: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */
        animation: FadeIn 0.2s;
    }

    .loading-nohide-builder::after {
        content: '';
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 2; /* Ensure the loading animation is on top of the overlay */
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="80px" viewBox="0 0 200 200"><radialGradient id="a12" cx=".66" fx=".66" cy=".3125" fy=".3125" gradientTransform="scale(1.5)"><stop offset="0" stop-color="%23FF4900"></stop><stop offset=".3" stop-color="%23FF4900" stop-opacity=".9"></stop><stop offset=".6" stop-color="%23FF4900" stop-opacity=".6"></stop><stop offset=".8" stop-color="%23FF4900" stop-opacity=".3"></stop><stop offset="1" stop-color="%23FF4900" stop-opacity="0"></stop></radialGradient><circle transform-origin="center" fill="none" stroke="url(%23a12)" stroke-width="5" stroke-linecap="round" stroke-dasharray="200 1000" stroke-dashoffset="0" cx="100" cy="100" r="70"><animateTransform type="rotate" attributeName="transform" calcMode="spline" dur="0.7" values="360;0" keyTimes="0;1" keySplines="0 0 1 1" repeatCount="indefinite"></animateTransform></circle><circle transform-origin="center" fill="none" opacity=".2" stroke="%23FF4900" stroke-width="5" stroke-linecap="round" cx="100" cy="100" r="70"></circle></svg>');
        background-repeat: no-repeat;
        background-position: center;
    }

    .loading-nohide-builder.loading-content > * {
        visibility: visible;
    }


.loading-builder {
    position: relative;
    height: 100vh;
}

    .loading-builder > * {
        visibility: visible;
        display: none;
    }


    .loading-builder::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        z-index: 2; /* Ensure the loading animation is on top of the overlay */
        background: transparent url('/img/logo2.png') no-repeat fixed center;
        animation: LoadingPulse 1s infinite;
    }

    .loading-builder.loading-content > * {
        visibility: visible;
    }


@keyframes FadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes LoadingPulse {
    0% {
        opacity: 0.7;
        transform: scale(1) ;
    }

    50% {
        opacity: 1;
        transform: scale(1.1);
    }

    100% {
        opacity: 0.7;
        transform: scale(1);
    }
}


