*,
*::after,
*::before{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	outline: none;
	border: none;
	scroll-behavior: smooth;
}
:root{
	--primary: #fca311;
	--secondary: #ffe351;
	--third: #ffe52e;
	--general: #0a0a0a;
	--navy: #14213d;
	--black: #111;
	--half-black: rgba(0,0,0,.7);
	--white: #fff;
	--semi-white: #e5e5e5;
	--border-color: #cad2c5;
}
body{
	font-family: 'Roboto', sans-serif;
	color: var(--black);
	background: var(--white);
}
.darkmode{
	--primary:  #fca311;
	--black: #fff;
	--half-black: rgba(0,0,0,.7);
	--white: #111;
}
a,a:hover{
	color: var(--general);
	text-decoration: none;
}
.container-fluid{
	padding-left: 0;
	padding-right: 0;
}
input[type='number'] {
    -moz-appearance:textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
button{
	outline: none;
	border: none;
}
button:focus{
	outline: none;
}
::-webkit-scrollbar {
	display: none;
}
.fade-in{
	opacity: 1;
	animation: fadeInOpacity 0.3s ease-in 1;
}	

@keyframes fadeInOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.fade-out{
	opacity: 0;
	animation: fadeOutOpacity 0.3s ease-in 1;
}
@keyframes fadeOutOpacity {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.fade-in2{
    opacity: 0.3;
    animation-name: fadeIn2Opacity;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-duration: 0.2s;
}
@keyframes fadeIn2Opacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 0.3;
    }
}
.fade-out2{
    opacity: 0;
    animation-name: fadeOut2Opacity;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-duration: 0.2s;
}
@keyframes fadeOut2Opacity {
    0% {
        opacity: 0.3;
    }
    100% {
        opacity: 0;
    }
}
.carousel-inner > .carousel-item{
	transition: transform .2s ease-in-out,-webkit-transform .2s ease-in-out;
}
.carousel-indicators li{
    border-radius: 100%;
    width: 0.3rem !important;
    height: 0.3rem !important;
    margin-right: 0.1rem !important;
    margin-left: 0.1rem !important;
}
#loadmore{
	display: none;
	text-align: center;
	font-size: 0.85rem;
	font-weight: 500;
	color: #808080;
}
#loading-mili {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}
.loader {
	width: 82px;
	height: 18px;
	position: relative;
}

.loader::before , .loader::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translate(-50% , 10%);
	top: 0;
	background: var(--primary);
	width: 16px;
	height: 16px;
	border-radius: 50%;
	animation: jump 0.35s ease-in infinite alternate;
}

.loader::after {
	background: #0000;
	color: var(--white);
	top: 100%;
	box-shadow: 32px -20px , -32px -20px;
	animation: split 0.35s ease-out infinite alternate;
}

@keyframes split {
  	0% { box-shadow: 8px -20px, -8px -20px}
  	100% { box-shadow: 32px -20px , -32px -20px}
}
@keyframes jump {
 	0% { transform: translate(-50% , -150%)}
 	100% { transform: translate(-50% , 10%)}
}

.load-unli{
	width: 13px;
	height: 13px;
	border-radius: 50%;
	display: block;
	margin: 15px auto;
	position: relative;
	background: #FFF;
	box-shadow: -24px 0 #FFF, 24px 0 #FFF;
	box-sizing: border-box;
	animation: shadowPulse 0.8s linear infinite;
}

@keyframes shadowPulse {
	33% {
		background: #FFF;
		box-shadow: -24px 0 var(--primary);, 24px 0 #FFF;
	}
	66% {
		background: var(--primary);;
		box-shadow: -24px 0 #FFF, 24px 0 #FFF;
	}
	100% {
		background: #FFF;
		box-shadow: -24px 0 #FFF, 24px 0 var(--primary);;
	}
}
.underline{
	position: absolute;
	bottom: 0;
	height: 1px;
	width: 100%;
}
.underline:before{
	position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    background: var(--primary);
    transform: scaleX(0);
    transition: transform 0.2s ease;
}

.notif-mini-popup{
    position: fixed;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    background: var(--white);
    border-radius: 7px;
    box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.95rem;
    color: #515151;
    padding: 8px;
    font-weight: 500;
    text-align: center;
}

.notif-mini-popup-checked{
    color: #64CD8A;
    font-size: 1.2rem;
    padding-left: 5px;
}
  
.notif-mini-error{
    padding: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    border: 1px solid #e5d0c7 !important;
    background: #fceeec !important;
    position: fixed;
    z-index: 1200;
    left: 50%;
    width: 90%;
    top: 40px;
    transform: translateX(-50%);
    font-size: 0.9rem;
    color: #515151;
    padding: 8px;
    font-weight: 500;
    text-align: center;
}

.notif-mini-error-crossed{
	color: #fc5758;
	font-size: 1.5rem;
}

.go-to-top{
    position: fixed;
    bottom: 6.9rem;
    right: 1rem;
    background: var(--white);
    z-index: 99;
    border-radius: 5px;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.25);
    font-size: 18px;
    color: var(--black);
    display: none;
}

.skeleton{
    position: relative;
    overflow: hidden;
    background-color: #d3d3d3;
}
.skeleton::before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, transparent, #e3e3e3, transparent);   
    background-size: 450px 400px;
    background-repeat: no-repeat;
    animation: shimmer 1s linear infinite;
}
@keyframes shimmer{
    0%{
        background-position: -450px 0;
    }
    100%{
        background-position: 450px 0;
    }
}

@keyframes change{
	0%{
		background-position: 0 50%;
	}
	50%{
		background-position: 100% 50%;
	}
	100%{
		background-position: 0 50%;
	}
}