/* Please ❤ this if you like it! */


@import url('https://fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&subset=devanagari,latin-ext');

/* #Primary
================================================== */

body{
    font-family: 'Poppins', sans-serif;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	color: #212112;
	background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/1462889/pat-back.svg');
	background-position: center;
	background-repeat: repeat;
	background-size: 7%;
	background-color: #fff;
	overflow-x: hidden;
    transition: all 200ms linear;
}
::selection {
	color: #fff;
	background-color: #8167a9;
}
::-moz-selection {
	color: #fff;
	background-color: #8167a9;
}

h1{text-transform: capitalize;}
.card{color: #212112;}
.media-body{padding-left: 2em;}

.img-radius{border-radius: 0.5em;
    box-shadow: 1px 4px 8px 1px #fdeace;}

	.hover{transition: transform .2s; /* Animation */}
	.hover:hover {transform: scale(1.05);}

/* #Navigation
================================================== */

.h5, h5 {
	font-size: 1.1rem;
  }
  .h4, h4 {
	font-size: 1.2rem;
  }
.title{font-size: 38px !important;text-align:left;font-weight: 900;}
.main-padding {padding: 20vh 3vw;}
.contact {color:  #110d24!important;box-shadow: 0 1.5625rem 2.8125rem rgb(79 86 101 / 8%) !important;background: white;padding: 6em;}
.contact .title {text-align: left;}
.footer-padding {background: #fff;color: #110d24;padding: 2em;}
.nav-item .btn-danger {width: 180%;}
.main-margin{margin-top: 18em;height: 12em;}
.IT-margin{margin-top: 10em;height: 12em;}
.more200 {margin-top: 0em;}
.soft-proto {margin: 5em 2em;height: 25em;}
.strategic {margin-top: 18em;height: 12em;}
.content .title{font-size: 1.5em !important;text-align: center;font-weight: 500;}

@media (max-width: 768px) { 
	.title{font-size: 2em !important;}
	.main-padding {padding: 20vh 10vw;}
	.h5, h5 {font-size: 1.05em;}
	.contact {text-align:center;color:  #110d24!important;box-shadow: 0 1.5625rem 2.8125rem rgb(79 86 101 / 8%) !important;background: white;padding: 2em 3em;}
	.contact .title {text-align: center;}
	.nav-item .btn-danger {width: 20%;}
	.main-margin{margin: 18em 2em;height: 25em;}
	.IT-margin{margin-top: 20em;height: 12em;}
	.more200 {margin-top: 3em;}
	.soft-proto {margin: 18em 0em;height: 20em;}
}












.start-header {
	opacity: 1;
	transform: translateY(0);
	padding: 10px 0;
	box-shadow: 0 10px 30px 0 rgba(138, 155, 165, 0.15);
	-webkit-transition : all 0.3s ease-out;
	transition : all 0.3s ease-out;
}
.start-header.scroll-on {
	box-shadow: 0 5px 10px 0 rgba(138, 155, 165, 0.15);
	padding: 10px 0;
	-webkit-transition : all 0.3s ease-out;
	transition : all 0.3s ease-out;
}
.start-header.scroll-on .navbar-brand img{
	height: 60px;
	-webkit-transition : all 0.3s ease-out;
	transition : all 0.3s ease-out;
}
.navigation-wrap{
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
	-webkit-transition : all 0.3s ease-out;
	transition : all 0.3s ease-out;
}
.navbar{
	padding: 0;
}
.navbar-brand img{
	height: 4em;
	width: auto;
	display: block;
	-webkit-transition : all 0.3s ease-out;
	transition : all 0.3s ease-out;
}
.footer-logo{width: 10em;}
.navbar-toggler {
	float: right;
	border: none;
	padding-right: 0;
}
.navbar-toggler:active,
.navbar-toggler:focus {
	outline: none;
}
.navbar-light .navbar-toggler-icon {
	width: 24px;
	height: 17px;
	background-image: none;
	position: relative;
	border-bottom: 1px solid #000;
    transition: all 300ms linear;
}
.navbar-light .navbar-toggler-icon:after, 
.navbar-light .navbar-toggler-icon:before{
	width: 24px;
	position: absolute;
	height: 1px;
	background-color: #000;
	top: 0;
	left: 0;
	content: '';
	z-index: 2;
    transition: all 300ms linear;
}
.navbar-light .navbar-toggler-icon:after{
	top: 8px;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
	transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
	transform: translateY(8px) rotate(-45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
	border-color: transparent;
}
.nav-link{
	color: #fff !important;
	font-weight: 500;
    transition: all 200ms linear;
}
.nav-item:hover .nav-link{
	color: #8E2DE2  !important;
}
.nav-item.active .nav-link{
	color: #777 !important;
}
.nav-link {
	position: relative;
	padding: 5px 0 !important;
	display: inline-block;
}
.nav-item:after{
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	height: 2px;
	content: '';
	background-color: #8E2DE2;
	opacity: 0;
    transition: all 200ms linear;
}
.nav-item:hover:after{
	bottom: 0;
	opacity: 1;
}
.nav-item.active:hover:after{
	opacity: 0;
}
.nav-item{
	position: relative;
    transition: all 200ms linear;
}

/* #Primary style
================================================== */

.bg-light {
	background-color: #000 !important;
    transition: all 200ms linear;
}
.section {
    position: relative;
	width: 100%;
	display: block;
}
.full-height {
    height: 95vh;

	background-image: url(https://images.unsplash.com/photo-1579548122080-c35fd6820ecb?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1170&q=80);
	background-size: cover;
	background-attachment: fixed;
}
.over-hide {
    overflow: hidden;
}
.absolute-center {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
  margin-top: 40px;
	transform: translateY(-50%);
	z-index: 20;
}
h1{
	font-size: 48px;
	line-height: 1.2;
	font-weight: 700;
	color: #212112;
	text-align: center;
}
p{
	text-align: center;
	margin: 0;
	padding-top: 10px;
	opacity: 1;
	transform: translate(0);
    transition: all 300ms linear;
    transition-delay: 100ms;
}
body.hero-anime p{
	opacity: 0;
	transform: translateY(40px);
    transition-delay: 1700ms;
}
h1 span{
	display: inline-block;
    transition: all 300ms linear;
	opacity: 1;
	transform: translate(0);
}
body.hero-anime h1 span:nth-child(1){
	opacity: 0;
	transform: translateY(-20px);
}
body.hero-anime h1 span:nth-child(2){
	opacity: 0;
	transform: translateY(-30px);
}
body.hero-anime h1 span:nth-child(3){
	opacity: 0;
	transform: translateY(-50px);
}
body.hero-anime h1 span:nth-child(4){
	opacity: 0;
	transform: translateY(-10px);
}
body.hero-anime h1 span:nth-child(5){
	opacity: 0;
	transform: translateY(-50px);
}
body.hero-anime h1 span:nth-child(6){
	opacity: 0;
	transform: translateY(-20px);
}
body.hero-anime h1 span:nth-child(7){
	opacity: 0;
	transform: translateY(-40px);
}
body.hero-anime h1 span:nth-child(8){
	opacity: 0;
	transform: translateY(-10px);
}
body.hero-anime h1 span:nth-child(9){
	opacity: 0;
	transform: translateY(-30px);
}
body.hero-anime h1 span:nth-child(10){
	opacity: 0;
	transform: translateY(-20px);
}
h1 span:nth-child(1){
    transition-delay: 1000ms;
}
h1 span:nth-child(2){
    transition-delay: 700ms;
}
h1 span:nth-child(3){
    transition-delay: 900ms;
}
h1 span:nth-child(4){
    transition-delay: 800ms;
}
h1 span:nth-child(5){
    transition-delay: 1000ms;
}
h1 span:nth-child(6){
    transition-delay: 700ms;
}
h1 span:nth-child(7){
    transition-delay: 900ms;
}
h1 span:nth-child(8){
    transition-delay: 800ms;
}
h1 span:nth-child(9){
    transition-delay: 600ms;
}
h1 span:nth-child(10){
    transition-delay: 700ms;
}
body.hero-anime h1 span:nth-child(11){
	opacity: 0;
	transform: translateY(30px);
}
body.hero-anime h1 span:nth-child(12){
	opacity: 0;
	transform: translateY(50px);
}
body.hero-anime h1 span:nth-child(13){
	opacity: 0;
	transform: translateY(20px);
}
body.hero-anime h1 span:nth-child(14){
	opacity: 0;
	transform: translateY(30px);
}
body.hero-anime h1 span:nth-child(15){
	opacity: 0;
	transform: translateY(50px);
}
h1 span:nth-child(11){
    transition-delay: 1300ms;
}
h1 span:nth-child(12){
    transition-delay: 1500ms;
}
h1 span:nth-child(13){
    transition-delay: 1400ms;
}
h1 span:nth-child(14){
    transition-delay: 1200ms;
}
h1 span:nth-child(15){
    transition-delay: 1450ms;
}
#switch,
#circle {
	cursor: pointer;
	-webkit-transition: all 300ms linear;
	transition: all 300ms linear; 
} 
#switch {
	width: 60px;
	height: 8px;
	border: 2px solid #8167a9;
	border-radius: 27px;
	background: #000;
	position: relative;
	display: block;
	margin: 0 auto;
	text-align: center;
	opacity: 1;
	transform: translate(0);
    transition: all 300ms linear;
    transition-delay: 1900ms;
}
body.hero-anime #switch{
	opacity: 0;
	transform: translateY(40px);
    transition-delay: 1900ms;
}
#circle {
	position: absolute;
	top: -11px;
	left: -13px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #000;
}
.switched {
	border-color: #000 !important;
	background: #8167a9 !important;
}
.switched #circle {
	left: 43px;
	box-shadow: 0 4px 4px rgba(26,53,71,0.25), 0 0 0 1px rgba(26,53,71,0.07);
	background: #fff;
}
.nav-item .dropdown-menu {
    transform: translate3d(0, 10px, 0);
    visibility: hidden;
    opacity: 0;
	width: 45em;
	max-height: 0;
    display: block;
	padding: 0;
	margin: 0;
    transition: all 200ms linear;
}
.nav-item.show .dropdown-menu {
    opacity: 1;
    visibility: visible;
	max-height: 999px;
    transform: translate3d(0, 0px, 0);
}
.dropdown-menu {
	padding: 10px!important;
	top: 3em;
    left: -15em;
	margin: 0;
	font-size: 14px;
	letter-spacing: 0px;
	color: #212121;
	background-color: #fcfaff;
	border: none;
	border-radius: 3px;
	box-shadow: 0 5px 10px 0 rgba(138, 155, 165, 0.15);
    transition: all 200ms linear;
}
.dropdown-toggle::after {
	display: none;
}

.dropdown-item {
	padding: 3px 15px;
	color: #212121;
	border-radius: 2px;
    transition: all 200ms linear;
}
.dropdown-item:hover, 
.dropdown-item:focus {
	color: #fd7f36;
	background-color: #f1f0f0;
}

body.dark{
	color: #fff;
	background-color: #1f2029;
}
body.dark .navbar-brand img{
  filter: brightness(100%);
}
body.dark h1{
	color: #fff;
}
body.dark h1 span{
    transition-delay: 0ms !important;
}
body.dark p{
	color: #fff;
    transition-delay: 0ms !important;
}
body.dark .bg-light {
	background-color: #14151a !important;
}
body.dark .start-header {
	box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.15);
}
body.dark .start-header.scroll-on {
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15);
}
body.dark .nav-link{
	color: #fff !important;
}
body.dark .nav-item.active .nav-link{
	color: #999 !important;
}
body.dark .dropdown-menu {
	color: #fff;
	background-color: #1f2029;
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.25);
}
body.dark .dropdown-item {
	color: #fff;
}
body.dark .navbar-light .navbar-toggler-icon {
	border-bottom: 1px solid #fff;
}
body.dark .navbar-light .navbar-toggler-icon:after, 
body.dark .navbar-light .navbar-toggler-icon:before{
	background-color: #fff;
}
body.dark .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
	border-color: transparent;
}



/* #Media
================================================== */

@media (max-width: 767px) { 
	h1{
		font-size: 38px;
	}
	.nav-item:after{
		display: none;
	}
	.nav-item::before {
		position: absolute;
		display: block;
		top: 15px;
		left: 0;
		width: 11px;
		height: 1px;
		content: "";
		border: none;
		background-color: #000;
		vertical-align: 0;
	}
	.dropdown-toggle::after {
		position: absolute;
		display: block;
		top: 10px;
		left: -23px;
		width: 1px;
		height: 11px;
		content: "";
		border: none;
		background-color: #000;
		vertical-align: 0;
		transition: all 200ms linear;
	}
	.dropdown-toggle[aria-expanded="true"]::after{
		transform: rotate(90deg);
		opacity: 0;
	}
	.dropdown-menu {
		padding: 0 !important;
		background-color: transparent;
		box-shadow: none;
		transition: all 200ms linear;
	}
	.dropdown-toggle[aria-expanded="true"] + .dropdown-menu {
		margin-top: 10px !important;
		margin-bottom: 20px !important;
	}
	body.dark .nav-item::before {
		background-color: #fff;
	}
	body.dark .dropdown-toggle::after {
		background-color: #fff;
	}
	body.dark .dropdown-menu {
		background-color: transparent;
		box-shadow: none;
	}
}

/* #Link to page
================================================== */

.logo {
	position: absolute;
	bottom: 30px;
	right: 30px;
	display: block;
	z-index: 100;
	transition: all 250ms linear;
}
.logo img {
	height: 26px;
	width: auto;
	display: block;
	transition: all 250ms linear;
}
body.dark .logo img {
  filter: brightness(100%);
}




.btn-danger {
    color: #fff;
    background: linear-gradient(45deg, #8E2DE2, #4A00E0);
	box-shadow: 1px 10px 20px 0px #818181;
    border: 0;
    padding: 1em;
    width: 20%;
	transition: 1s;
	border-radius: 5em;
}


.btn-danger:hover {
    -webkit-transform: translateY(-0.125rem) translateZ(0);
    transform: translateY(-0.125rem) translateZ(0);
    -webkit-box-shadow: 0.5rem 0.5rem 1.5rem rgb(22 28 45 / 10%) !important;
    box-shadow: 1px 10px 20px 0px #ffae93 !important;
}








/* #Cursor
================================================== */
.cursor,
.cursor2,
.cursor3{
  position: fixed;
  border-radius: 50%; 
  transform: translateX(-50%) translateY(-50%);
  pointer-events: none;
  left: -100px;
  top: 50%;
  z-index: 4;
}
.cursor{
  background-color: var(--blue);
  height: 0;
  width: 0;
}
.cursor2,.cursor3{
  height: 50px;
  width: 50px;
  transition: all 200ms ease-out;
  background-position: center;
  background-size: 0 0;
}
.cursor2.hover,
.cursor3.hover{
  height: 220px;
  width: 320px;
  border:none;
  border-radius: 8px;
}
.cursor2{
  border: 2px solid var(--blue);
  box-shadow: 0 0 12px rgba(16, 39, 112, 0.2);
}
.cursor2.hover{
  background-size: cover;
  box-shadow: 0 0 0 rgba(16, 39, 112, 0.2);
}


body.img-1-wrap .cursor2,.cursor3{
	background-image: url('https://images.uns plash.com/photo-1546054454-aa26e2b734 c7?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80');
  }
  body.img-2-wrap .cursor2,.cursor3{
	background-image: url('https://images.uns plash.com/photo-1432888498266-38ffec3eaf0a ?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1053&q=80');
  }
  body.img-3-wrap .cursor2,.cursor3{
	background-image: url('https://images.unspla sh.com/photo-1521791136064-7986c2920216?ix id=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1050&q=80');
  }
  body.img-4-wrap .cursor2,.cursor3{
	background-image: url('https://images.unspla sh.com/photo-1461749280684-dccba630e2f6?ixi =MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1050&q=80');
  }

  
body.img-5-wrap .cursor2,.cursor3{
	background-image: url('https://assets.codepen.io/14628v 89/sl1.jpg');
  }
  body.img-6-wrap .cursor2,.cursor3{
	background-image: url('https://assets.codepen.io/146288 9/sl2.jpg');
  }
  body.img-7-wrap .cursor2,.cursor3{
	background-image: url('https://assets.codepen.io/146288 9/sl3.jpg');
  }
  body.img-8-wrap .cursor2,.cursor3{
	background-image: url('https://assets.codepen.io/146288 9/sl4.jpg');
  }
  
body.img-9-wrap .cursor2,.cursor3{
	background-image: url('https://assets.codepen.io/146288 9/sl1.jpg');
  }
  body.img-10-wrap .cursor2,.cursor3{
	background-image: url('https://assets.codepen.io/14628 89/sl2.jpg');
    }
  body.logo-wrap .cursor2,.cursor3{
	background-image: none;
	height: 36px;
	width: 36px;
  }
  body.logo-wrap .cursor2.hover,
  body.logo-wrap .cursor3.hover{
	height: 36px;
	width: 36px;
	transform: scale(2) translateX(-25%) translateY(-25%);
	border-radius: 50%;
	background-color: var(--yellow);
  }
  

  .hover-target{
	position: relative;
	display: inline-block;
	text-decoration: none;
	transition: color 250ms ease;
	cursor: pointer;
  }
  .hover-target:before{
	position: absolute;
	content: '';
	height: 0;
	border-radius: 1px;
	bottom: 0;
	left: -10px;
	width: calc(100% + 20px);
	border-radius: 2px;
	display: block;
	transition: height 250ms ease;
	mix-blend-mode: difference;
	opacity: 0.6;
  }
  .hover-target:hover:before{
	height: 100%;
  }
  .hover-target:hover{
	z-index: 5;
	color: var(--yellow);
  }
	



















  .range-slider.grad {
	--progress-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2) inset;
	--progress-flll-shadow: var(--progress-shadow);
	--fill-color: linear-gradient(to right, LightCyan, var(--primary-color));
	--thumb-shadow: 0 0 4px rgba(0, 0, 0, 0.3),
	  -3px 9px 9px rgba(255, 255, 255, 0.33) inset,
	  -1px 3px 2px rgba(255, 255, 255, 0.33) inset,
	  0 0 0 99px var(--primary-color) inset;
  }
  .range-slider.grad input:hover {
	--thumb-transform: scale(1.2);
  }
  .range-slider.grad input:active {
	--thumb-shadow: inherit;
	--thumb-transform: scale(1);
  }
  
  .range-slider.flat {
	--thumb-size: 25px;
	--track-height: calc(var(--thumb-size) / 3);
	--progress-shadow: none;
	--progress-flll-shadow: none;
	--thumb-shadow: 0 0 0 7px var(--primary-color) inset, 0 0 0 99px white inset;
	--thumb-shadow-hover: 0 0 0 9px var(--primary-color) inset,
	  0 0 0 99px white inset;
	--thumb-shadow-active: 0 0 0 13px var(--primary-color) inset;
  }
  
  .range-slider.overlay {
	--primary-color: #d6e9ff;
	--track-height: 50px;
	--thumb-size: var(--track-height);
	--thumb-color: var(--primary-color);
	--thumb-shadow: none;
	--progress-flll-shadow: none;
	--progress-shadow: none;
	--progress-background: none;
	--progress-radius: 0px;
	--ticks-color: var(--primary-color);
	--ticks-height: 0;
	--ticks-thickness: 0;
	--ticks-gap: 0px;
	--min-max-font: 700 18px Arial;
	--min-max-opacity: 1;
	--show-min-max: none;
	color: #0366d6;
  }
  .range-slider.overlay input:hover {
	--thumb-shadow: calc(25px - (50px * var(--is-left-most))) 0 0 -15px #0366d6
	  inset;
  }
  .range-slider.overlay input:active {
	--thumb-color: inherit;
  }
  .range-slider.overlay .range-slider__values {
	width: calc(100% - 50% / (var(--max) - var(--min)));
  }
  
  .range-slider {
	--primary-color: #0366d6;
	--value-offset-y: var(--ticks-gap);
	--value-active-color: white;
	--value-background: transparent;
	--value-background-hover: var(--primary-color);
	--value-font: 900 28px/1;
	--fill-color: var(--primary-color);
	--progress-background: #eee;
	--progress-radius: 20px;
	--track-height: calc(var(--thumb-size) / 2);
	--min-max-font: 28px;
	--min-max-opacity: 0.5;
	--min-max-x-offset: 10%;
	--thumb-size: 22px;
	--thumb-color: white;
	--thumb-shadow: 0 0 3px rgba(0, 0, 0, 0.4), 0 0 1px rgba(0, 0, 0, 0.5) inset,
	  0 0 0 99px var(--thumb-color) inset;
	--thumb-shadow-active: 0 0 0 calc(var(--thumb-size) / 4) inset
		var(--thumb-color),
	  0 0 0 99px var(--primary-color) inset, 0 0 3px rgba(0, 0, 0, 0.4);
	--thumb-shadow-hover: var(--thumb-shadow);
	--ticks-thickness: 1px;
	--ticks-height: 5px;
	--ticks-gap: var(
	  --ticks-height,
	  0
	);
	--ticks-color: silver;
	--step: 1;
	--ticks-count: Calc(var(--max) - var(--min)) / var(--step);
	--maxTicksAllowed: 30;
	--too-many-ticks: Min(1, Max(var(--ticks-count) - var(--maxTicksAllowed), 0));
	--x-step: Max(
	  var(--step),
	  var(--too-many-ticks) * (var(--max) - var(--min))
	);
	--tickInterval: 100/ ((var(--max) - var(--min)) / var(--step)) * var(--tickEvery, 1);
	--tickIntervalPerc: calc(
	  (100% - var(--thumb-size)) / ((var(--max) - var(--min)) / var(--x-step)) *
		var(--tickEvery, 1)
	);
	--value-a: Clamp(
	  var(--min),
	  var(--value, 0),
	  var(--max)
	);
	--value-b: var(--value, 0);
	--text-value-a: var(--text-value, "");
	--completed-a: calc(
	  (var(--value-a) - var(--min)) / (var(--max) - var(--min)) * 100
	);
	--completed-b: calc(
	  (var(--value-b) - var(--min)) / (var(--max) - var(--min)) * 100
	);
	--ca: Min(var(--completed-a), var(--completed-b));
	--cb: Max(var(--completed-a), var(--completed-b));
	--thumbs-too-close: Clamp(
	  -1,
	  1000 * (Min(1, Max(var(--cb) - var(--ca) - 5, -1)) + 0.001),
	  1
	);
	--thumb-close-to-min: Min(1, Max(var(--ca) - 2, 0));
	--thumb-close-to-max: Min(1, Max(98 - var(--cb), 0));
	display: inline-block;
	height: max(var(--track-height), var(--thumb-size));
	background: linear-gradient(to right, var(--ticks-color) var(--ticks-thickness), transparent 1px) repeat-x;
	background-size: var(--tickIntervalPerc) var(--ticks-height);
	background-position-x: calc( var(--thumb-size) / 2 - var(--ticks-thickness) / 2 );
	background-position-y: var(--flip-y, bottom);
	padding-bottom: var(--flip-y, var(--ticks-gap));
	padding-top: calc(var(--flip-y) * var(--ticks-gap));
	position: relative;
	z-index: 1;
  }
  .range-slider[data-ticks-position=top] {
	--flip-y: 1;
  }
  .range-slider::before, .range-slider::after {
	--offset: calc(var(--thumb-size) / 2);
	content: counter(x) "K";
	display: var(--show-min-max, block);
	font: var(--min-max-font);
	position: absolute;
	bottom: var(--flip-y, -2.5ch);
	top: calc(-2.5ch * var(--flip-y));
	opacity: clamp(0, var(--at-edge), var(--min-max-opacity));
	transform: translateX(calc(var(--min-max-x-offset) * var(--before, -1) * -1)) scale(var(--at-edge));
	pointer-events: none;
  }
  .range-slider::before {
	--before: 1;
	--at-edge: var(--thumb-close-to-min);
	counter-reset: x var(--min);
	left: var(--offset);
  }
  .range-slider::after {
	--at-edge: var(--thumb-close-to-max);
	counter-reset: x var(--max);
	right: var(--offset);
  }
  .range-slider__values {
	position: relative;
	top: 50%;
	line-height: 0;
	text-align: justify;
	width: 100%;
	pointer-events: none;
	margin: 0 auto;
	z-index: 5;
  }
  .range-slider__values::after {
	content: "";
	width: 100%;
	display: inline-block;
	height: 0;
	background: red;
  }
  .range-slider__progress {
	--start-end: calc(var(--thumb-size) / 2);
	--clip-end: calc(100% - (var(--cb)) * 1%);
	--clip-start: calc(var(--ca) * 1%);
	--clip: inset(-20px var(--clip-end) -20px var(--clip-start));
	position: absolute;
	left: var(--start-end);
	right: var(--start-end);
	top: calc( var(--ticks-gap) * var(--flip-y, 0) + var(--thumb-size) / 2 - var(--track-height) / 2 );
	height: calc(var(--track-height));
	background: var(--progress-background, #eee);
	pointer-events: none;
	z-index: -1;
	border-radius: var(--progress-radius);
  }
  .range-slider__progress::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	-webkit-clip-path: var(--clip);
			clip-path: var(--clip);
	top: 0;
	bottom: 0;
	background: var(--fill-color, black);
	box-shadow: var(--progress-flll-shadow);
	z-index: 1;
	border-radius: inherit;
  }
  .range-slider__progress::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	box-shadow: var(--progress-shadow);
	pointer-events: none;
	border-radius: inherit;
  }
  .range-slider > input {
	-webkit-appearance: none;
	width: 100%;
	height: var(--thumb-size);
	margin: 0;
	position: absolute;
	left: 0;
	top: calc( 50% - Max(var(--track-height), var(--thumb-size)) / 2 + calc(var(--ticks-gap) / 2 * var(--flip-y, -1)) );
	cursor: -webkit-grab;
	cursor: grab;
	outline: none;
	background: none;
  }
  .range-slider > input:not(:only-of-type) {
	pointer-events: none;
  }
  .range-slider > input::-webkit-slider-thumb {
	-webkit-appearance: none;
			appearance: none;
	height: var(--thumb-size);
	width: var(--thumb-size);
	transform: var(--thumb-transform);
	border-radius: var(--thumb-radius, 50%);
	background: var(--thumb-color);
	box-shadow: var(--thumb-shadow);
	border: none;
	pointer-events: auto;
	-webkit-transition: 0.1s;
	transition: 0.1s;
  }
  .range-slider > input::-moz-range-thumb {
	-moz-appearance: none;
		 appearance: none;
	height: var(--thumb-size);
	width: var(--thumb-size);
	transform: var(--thumb-transform);
	border-radius: var(--thumb-radius, 50%);
	background: var(--thumb-color);
	box-shadow: var(--thumb-shadow);
	border: none;
	pointer-events: auto;
	-moz-transition: 0.1s;
	transition: 0.1s;
  }
  .range-slider > input::-ms-thumb {
	appearance: none;
	height: var(--thumb-size);
	width: var(--thumb-size);
	transform: var(--thumb-transform);
	border-radius: var(--thumb-radius, 50%);
	background: var(--thumb-color);
	box-shadow: var(--thumb-shadow);
	border: none;
	pointer-events: auto;
	-ms-transition: 0.1s;
	transition: 0.1s;
  }
  .range-slider > input:hover {
	--thumb-shadow: var(--thumb-shadow-hover);
  }
  .range-slider > input:hover + output {
	--value-background: var(--value-background-hover);
	--y-offset: -5px;
	color: var(--value-active-color);
	box-shadow: 0 0 0 3px var(--value-background);
  }
  .range-slider > input:active {
	--thumb-shadow: var(--thumb-shadow-active);
	cursor: -webkit-grabbing;
	cursor: grabbing;
	z-index: 2;
  }
  .range-slider > input:active + output {
	transition: 0s;
  }
  .range-slider > input:nth-of-type(1) {
	--is-left-most: Clamp(0, (var(--value-a) - var(--value-b)) * 99999, 1);
  }
  .range-slider > input:nth-of-type(1) + output {
	--value: var(--value-a);
	--x-offset: calc(var(--completed-a) * -1%);
	background: #1b1b1b;
	color: white;
  }
  .range-slider > input:nth-of-type(1) + output:not(:only-of-type) {
	--flip: calc(var(--thumbs-too-close) * -1);
  }
  .range-slider > input:nth-of-type(1) + output::after {
	content: var(--prefix, "") var(--text-value-a) var(--suffix, "");
  }
  .range-slider > input:nth-of-type(2) {
	--is-left-most: Clamp(0, (var(--value-b) - var(--value-a)) * 99999, 1);
  }
  .range-slider > input:nth-of-type(2) + output {
	--value: var(--value-b);
  }
  .range-slider > input:only-of-type ~ .range-slider__progress {
	--clip-start: 0;
  }
  .range-slider > input + output {
	--flip: -1;
	--x-offset: calc(var(--completed-b) * -1%);
	--pos: calc(
	  ((var(--value) - var(--min)) / (var(--max) - var(--min))) * 100%
	);
	pointer-events: none;
	position: absolute;
	font-size: 1.5em;
	z-index: 5;
	background: var(--value-background);
	border-radius: 4em;
	padding: 0.5em 2em;
	left: var(--pos);
	transform: translate(var(--x-offset), calc( 150% * var(--flip) - (var(--y-offset, 0px) + var(--value-offset-y)) * var(--flip) ));
	transition: all 0.12s ease-out, left 0s;
  }
  .range-slider > input + output::after {
	content: var(--prefix, "") var(--text-value-b) var(--suffix, "");
	font: var(--value-font);
  }
  
  
  body > .range-slider,
  label[dir=rtl] .range-slider {
	width: clamp(300px, 50vw, 800px);
	min-width: 200px;
  }