.disabledBtn {
    filter: grayscale(1);
    cursor: default;
    pointer-events: none;
}

.spinnerLoader {
    top: 20%;
    left: 4%;
    transform: translate(-50%, -50%);
    position: absolute;
    width: 2rem;
    height: 2rem;
    border: 6px solid #f3f3f3;
    border-top: 6px solid #07503f;
    border-radius: 100%;
    margin: auto;
    visibility: hidden;
    animation: spin 1s infinite linear;
}
.spinnerLoader.show {
    visibility: visible;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.mobile .spinnerLoader {
    top: 12%;
    left: 1%;
    width: 6rem;
    height: 6rem;
    border: 11px solid #f3f3f3;
    border-top: 11px solid #07503f;
}

.beatLoader {
    position: relative;
    width: 85px;
    height: 50px;
    background-repeat: no-repeat;
    background-image: linear-gradient(#FFF 50px, transparent 0),
    linear-gradient(#FFF 50px, transparent 0),
    linear-gradient(#FFF 50px, transparent 0),
    linear-gradient(#FFF 50px, transparent 0),
    linear-gradient(#FFF 50px, transparent 0),
    linear-gradient(#FFF 50px, transparent 0);
    background-position: 0px center, 15px center, 30px center, 45px center, 60px center, 75px center, 90px center;
    animation: rikSpikeRoll 0.65s linear infinite alternate;
}

.beatLoader.center, .loader.center {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.loaderProgressBox {
	background: #ccc;
	border: 0.25em solid black;
	border-radius: 1em;
	box-shadow: 0 0 0.5em #fff8, 0 0 0.25em #0008 inset;
	box-sizing: content-box !important;
	height: 2.5em;
	padding: 0.25em;
}

.foundation-style .no-style .loaderProgressBox>div.loaderProgressBar {
	box-sizing: border-box !important;
}

.loaderProgressBar {
	background: linear-gradient(60deg, #c41e3a 15%, #900 85%); 
	border: 0.25em solid black;
	border-radius: 1em;
	box-shadow: 0 0.25em 0.25em #fff8 inset, 0 -0.25em 0.25em #0008 inset;
	content: "";
	height: 2.5em;
	margin: 0;
	min-width: 2.5em;
	transition: width 0.2s ease-in-out;
	width: 0%;
}
.loader.size-xl {
    zoom: 2;
}

@keyframes rikSpikeRoll {
    0% { background-size: 10px 3px;}
    16% { background-size: 10px 50px, 10px 3px, 10px 3px, 10px 3px, 10px 3px, 10px 3px}
    33% { background-size: 10px 30px, 10px 50px, 10px 3px, 10px 3px, 10px 3px, 10px 3px}
    50% { background-size: 10px 10px, 10px 30px, 10px 50px, 10px 3px, 10px 3px, 10px 3px}
    66% { background-size: 10px 3px, 10px 10px, 10px 30px, 10px 50px, 10px 3px, 10px 3px}
    83% { background-size: 10px 3px, 10px 3px,  10px 10px, 10px 30px, 10px 50px, 10px 3px}
    100% { background-size: 10px 3px, 10px 3px, 10px 3px,  10px 10px, 10px 30px, 10px 50px}
}

.flaskLoader {
    width: 24px;
    height: 80px;
    display: block;
    border: 1px solid #FFF;
    border-radius: 0 0 50px 50px;
    position: relative;
    box-shadow: 0px 0px #FF3D00 inset;
    background-image: linear-gradient(#FF3D00 100px, transparent 0);
    background-position: 0px 0px;
    background-size: 26px 80px;
    background-repeat: no-repeat;
    box-sizing: border-box;
    animation: animloader 6s linear infinite;
}
.flaskLoader::after {
    content: '';
    box-sizing: border-box;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    border: 1px solid #FFF;
    border-radius: 50%;
    width: 28px;
    height: 6px;
}
.flaskLoader::before {
    content: '';
    box-sizing: border-box;
    left: 0;
    bottom: -4px;
    border-radius: 50%;
    position: absolute;
    width: 6px;
    height: 6px;
    animation: animloader1 6s linear infinite;
}

@keyframes animloader {
    0% {
        background-position: 0px 80px;
    }
    100% {
        background-position: 0px 0px;
    }
}

@keyframes animloader1 {
    0% {
        box-shadow: 4px -10px rgba(255, 255, 255, 0), 6px 0px rgba(255, 255, 255, 0), 8px -15px rgba(255, 255, 255, 0), 12px 0px rgba(255, 255, 255, 0);
    }
    20% {
        box-shadow: 4px -20px rgba(255, 255, 255, 0), 8px -10px rgba(255, 255, 255, 0), 10px -30px rgba(255, 255, 255, 0.5), 15px -5px rgba(255, 255, 255, 0);
    }
    40% {
        box-shadow: 2px -40px rgba(255, 255, 255, 0.5), 8px -30px rgba(255, 255, 255, 0.4), 8px -60px rgba(255, 255, 255, 0.5), 12px -15px rgba(255, 255, 255, 0.5);
    }
    60% {
        box-shadow: 4px -60px rgba(255, 255, 255, 0.5), 6px -50px rgba(255, 255, 255, 0.4), 10px -90px rgba(255, 255, 255, 0.5), 15px -25px rgba(255, 255, 255, 0.5);
    }
    80% {
        box-shadow: 2px -80px rgba(255, 255, 255, 0.5), 4px -70px rgba(255, 255, 255, 0.4), 8px -120px rgba(255, 255, 255, 0), 12px -35px rgba(255, 255, 255, 0.5);
    }
    100% {
        box-shadow: 4px -100px rgba(255, 255, 255, 0), 8px -90px rgba(255, 255, 255, 0), 10px -120px rgba(255, 255, 255, 0), 15px -45px rgba(255, 255, 255, 0);
    }
}