/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

.cb-cursor {

	position: fixed;

	top: 0;

	left: 0;

	z-index: 150;

	contain: layout style size;

	pointer-events: none;

	will-change: transform;

	-webkit-transition: opacity 0.3s, color 0.4s;

	-o-transition: opacity 0.3s, color 0.4s;

	-moz-transition: opacity 0.3s, color 0.4s;

	transition: opacity 0.3s, color 0.4s;

}



.cb-cursor:before {

	content: "";

	position: absolute;

	top: -24px;

	left: -24px;

	display: block;

	width: 48px;

	height: 48px;

	-webkit-transform: scale(0);

	-moz-transform: scale(0);

	-ms-transform: scale(0);

	-o-transform: scale(0);

	transform: scale(0);

	background: #D8E28C;

	-webkit-border-radius: 50%;

	-moz-border-radius: 50%;

	border-radius: 50%;

	-webkit-transition: opacity 0.1s, -webkit-transform 0.3s ease-in-out;

	transition: opacity 0.1s, -webkit-transform 0.3s ease-in-out;

	-o-transition: opacity 0.1s, -o-transform 0.3s ease-in-out;

	-moz-transition: transform 0.3s ease-in-out, opacity 0.1s, -moz-transform 0.3s ease-in-out;

	transition: transform 0.3s ease-in-out, opacity 0.1s;

	transition: transform 0.3s ease-in-out, opacity 0.1s, -webkit-transform 0.3s ease-in-out, -moz-transform 0.3s ease-in-out, -o-transform 0.3s ease-in-out;

}



.cb-cursor-text {

	position: absolute;

	top: -18px;

	left: -18px;

	width: 36px;

	height: 36px;

	display: -webkit-box;

	display: -webkit-flex;

	display: -moz-box;

	display: -ms-flexbox;

	display: flex;

	-webkit-box-align: center;

	-webkit-align-items: center;

	-moz-box-align: center;

	-ms-flex-align: center;

	align-items: center;

	-webkit-box-pack: center;

	-webkit-justify-content: center;

	-moz-box-pack: center;

	-ms-flex-pack: center;

	justify-content: center;

	-webkit-transform: scale(0) rotate(10deg);

	-moz-transform: scale(0) rotate(10deg);

	-ms-transform: scale(0) rotate(10deg);

	-o-transform: scale(0) rotate(10deg);

	transform: scale(0) rotate(10deg);

	opacity: 0;

	color: white;

	font-size: 16px;

	line-height: 20px;

	text-align: center;

	letter-spacing: -0.01em;

	-webkit-transition: opacity 0.4s, -webkit-transform 0.3s;

	transition: opacity 0.4s, -webkit-transform 0.3s;

	-o-transition: opacity 0.4s, -o-transform 0.3s;

	-moz-transition: opacity 0.4s, transform 0.3s, -moz-transform 0.3s;

	transition: opacity 0.4s, transform 0.3s;

	transition: opacity 0.4s, transform 0.3s, -webkit-transform 0.3s, -moz-transform 0.3s, -o-transform 0.3s;

}



@supports (mix-blend-mode: exclusion) {

	.cb-cursor.-exclusion, .cb-cursor.-opaque {

		mix-blend-mode: exclusion;

	}

}



@supports (mix-blend-mode: exclusion) {

	.cb-cursor.-exclusion:before, .cb-cursor.-opaque:before {

		background: white;

	}

}



.cb-cursor.-normal, .cb-cursor.-text {

	mix-blend-mode: normal;

}



.cb-cursor.-normal:before, .cb-cursor.-text:before {

	background: currentColor;

}



.cb-cursor.-inverse {

	color: white;

}



.cb-cursor.-visible:before {

	-webkit-transform: scale(0.2);

	-moz-transform: scale(0.2);

	-ms-transform: scale(0.2);

	-o-transform: scale(0.2);

	transform: scale(0.2);

}



.cb-cursor.-visible.-active:before {

	-webkit-transform: scale(0.23);

	-moz-transform: scale(0.23);

	-ms-transform: scale(0.23);

	-o-transform: scale(0.23);

	transform: scale(0.23);

	-webkit-transition-duration: 0.2s;

	-moz-transition-duration: 0.2s;

	-o-transition-duration: 0.2s;

	transition-duration: 0.2s;

}



.cb-cursor.-pointer:before {

	-webkit-transform: scale(0);

	-moz-transform: scale(0);

	-ms-transform: scale(0);

	-o-transform: scale(0);

	transform: scale(0);

}



.cb-cursor.-text:before {

	background: #000;

	opacity: 0.80;

	backdrop-filter: blur(10);

	-webkit-transform: scale(1.7);

	-moz-transform: scale(1.7);

	-ms-transform: scale(1.7);

	-o-transform: scale(1.7);

	transform: scale(1.7);

}



.cb-cursor.-text .cb-cursor-text {

	opacity: 1;

	-webkit-transform: scale(1);

	-moz-transform: scale(1);

	-ms-transform: scale(1);

	-o-transform: scale(1);

	transform: scale(1);

}



.cb-cursor.-text.-active:before {

	-webkit-transform: scale(1.6);

	-moz-transform: scale(1.6);

	-ms-transform: scale(1.6);

	-o-transform: scale(1.6);

	transform: scale(1.6);

	-webkit-transition-duration: 0.2s;

	-moz-transition-duration: 0.2s;

	-o-transition-duration: 0.2s;

	transition-duration: 0.2s;

}



.cb-cursor.-opaque:before {

	-webkit-transform: scale(1.32);

	-moz-transform: scale(1.32);

	-ms-transform: scale(1.32);

	-o-transform: scale(1.32);

	transform: scale(1.32);

}



.cb-cursor.-opaque.-active:before {

	-webkit-transform: scale(1.2);

	-moz-transform: scale(1.2);

	-ms-transform: scale(1.2);

	-o-transform: scale(1.2);

	transform: scale(1.2);

}



.cb-cursor.-lg:before {

	-webkit-transform: scale(2);

	-moz-transform: scale(2);

	-ms-transform: scale(2);

	-o-transform: scale(2);

	transform: scale(2);

}



.cb-cursor.-hidden:before {

	-webkit-transform: scale(0);

	-moz-transform: scale(0);

	-ms-transform: scale(0);

	-o-transform: scale(0);

	transform: scale(0);

}



.-color-red {

	color: red;

}



.-color-green {

	color: #51c67d;

}



.cb-demo {

	background: #fff;

}



.cb-demo-content {

	display: -webkit-box;

	display: -webkit-flex;

	display: -moz-box;

	display: -ms-flexbox;

	display: flex;

	-webkit-box-align: center;

	-webkit-align-items: center;

	-moz-box-align: center;

	-ms-flex-align: center;

	align-items: center;

	-webkit-box-pack: center;

	-webkit-justify-content: center;

	-moz-box-pack: center;

	-ms-flex-pack: center;

	justify-content: center;

	height: 100vh;

}



.cb-demo-container {

	padding: 0 20px;

}



@media (min-width: 1600px) {

	.cb-demo-container {

		padding: 0 120px;

	}

}



.cb-demo-row {

	display: -webkit-box;

	display: -webkit-flex;

	display: -moz-box;

	display: -ms-flexbox;

	display: flex;

	-webkit-box-pack: center;

	-webkit-justify-content: center;

	-moz-box-pack: center;

	-ms-flex-pack: center;

	justify-content: center;

	text-align: center;

	margin: 30px 0;

}



@media (min-width: 1600px) {

	.cb-demo-row {

		margin: 60px 0;

	}

}



.cb-demo-item {

	position: relative;

	-webkit-box-flex: 1;

	-webkit-flex: 1;

	-moz-box-flex: 1;

	-ms-flex: 1;

	flex: 1;

	padding: 50px 30px;

	margin: 0 20px;

	color: #000;

}



@media (min-width: 1600px) {

	.cb-demo-item {

		padding: 90px 30px;

		margin: 0 30px;

	}

}



.cb-demo-item-title {

	position: relative;

	margin: 0 0 25px 0;

	font-size: 30px;

	font-weight: bold;

}



.cb-demo-item-text {

	position: relative;

	max-width: 70%;

	margin: 0 auto;

	color: rgba(0, 0, 0, 0.5);

	font-size: 16px;

	font-weight: 300;

	line-height: 150%;

}



.cb-demo-item:before {

	content: "";

	display: block;

	position: absolute;

	top: 0;

	left: 0;

	right: 0;

	bottom: 0;

	-webkit-border-radius: 30px;

	-moz-border-radius: 30px;

	border-radius: 30px;

	background: #f8f8f8;

	-webkit-transition: -webkit-box-shadow 0.2s;

	transition: -webkit-box-shadow 0.2s;

	-o-transition: box-shadow 0.2s;

	-moz-transition: box-shadow 0.2s, -moz-box-shadow 0.2s;

	transition: box-shadow 0.2s;

	transition: box-shadow 0.2s, -webkit-box-shadow 0.2s, -moz-box-shadow 0.2s;

}

/* Cursor Corbady: reemplaza la colita verde por el logo corporativo.
   Mantiene el cursor real del navegador y usa este elemento solo como estela visual. */
.cb-cursor{
	z-index: 9999;
	color: #bff747;
}

.cb-cursor:before{
	top: -18px;
	left: -50px;
	width: 100px;
	height: 36px;
	border-radius: 0;
	background: url('../images/logo.svg') center center / contain no-repeat;
	opacity: 0;
	filter: drop-shadow(0 0 8px rgba(191,247,71,.35));
	transform: scale(0) rotate(-3deg);
	transition: opacity .22s ease, transform .28s ease-in-out, filter .28s ease-in-out;
}

@supports (mix-blend-mode: exclusion){
	.cb-cursor.-exclusion,
	.cb-cursor.-opaque{
		mix-blend-mode: normal;
	}

	.cb-cursor.-exclusion:before,
	.cb-cursor.-opaque:before{
		background: url('../images/logo.svg') center center / contain no-repeat;
	}
}

.cb-cursor.-normal:before,
.cb-cursor.-inverse:before,
.cb-cursor.-opaque:before,
.cb-cursor.-pointer:before,
.cb-cursor.-lg:before{
	background: url('../images/logo.svg') center center / contain no-repeat;
}

.cb-cursor.-visible:before{
	opacity: .78;
	transform: scale(.70) rotate(-3deg);
}

.cb-cursor.-visible.-active:before{
	opacity: .9;
	transform: scale(.62) rotate(-3deg);
	transition-duration: .18s;
}

.cb-cursor.-pointer:before{
	opacity: .92;
	transform: scale(.95) rotate(-3deg);
	filter: drop-shadow(0 0 13px rgba(191,247,71,.65));
}

.cb-cursor.-opaque:before,
.cb-cursor.-lg:before{
	opacity: .95;
	transform: scale(1.08) rotate(-3deg);
	filter: drop-shadow(0 0 16px rgba(191,247,71,.72));
}

.cb-cursor.-opaque.-active:before,
.cb-cursor.-lg.-active:before{
	transform: scale(.98) rotate(-3deg);
}

/* Cuando existe texto contextual como Play/View/Drag, se mantiene el globo legible. */
.cb-cursor.-text:before{
	top: -34px;
	left: -34px;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background: rgba(0,0,0,.86);
	border: 1px solid rgba(191,247,71,.42);
	opacity: .94;
	backdrop-filter: blur(8px);
	transform: scale(1.05) rotate(0deg);
	filter: drop-shadow(0 0 12px rgba(191,247,71,.28));
}

.cb-cursor.-text.-active:before{
	transform: scale(.98) rotate(0deg);
}

.cb-cursor.-text .cb-cursor-text{
	font-size: 13px;
	font-weight: 800;
	color: #bff747;
}

.cb-cursor.-hidden:before{
	opacity: 0;
	transform: scale(0) rotate(-3deg);
}

@media (hover: none), (pointer: coarse), (max-width: 991px){
	.cb-cursor{
		display: none !important;
	}
}
