@font-face {
	font-family: "Ionicons";
	src: url("../../assets/fonts/ionicons/fonts/ionicons.eot?v=2.0.0");
	src: url("../../assets/fonts/ionicons/fonts/ionicons.eot?v=2.0.0#iefix") format("embedded-opentype"), url("../../assets/fonts/ionicons/fonts/ionicons.ttf?v=2.0.0") format("truetype"), url("../../assets/fonts/ionicons/fonts/ionicons.woff?v=2.0.0") format("woff"), url("../../assets/fonts/ionicons/fonts/ionicons.svg?v=2.0.0#Ionicons") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

.bg-light {
	background-color: #f2f4f9 !important;
}

.pb_icon-gradient:before {
	background: #665fee;
	/* Old browsers */
	background: -moz-linear-gradient(45deg, #665fee 0%, #27c2de 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(45deg, #665fee 0%, #27c2de 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: -o-linear-gradient(45deg, #665fee 0%, #27c2de 100%);
	background: linear-gradient(45deg, #665fee 0%, #27c2de 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.pb_slant-light,
.pb_slant-white {
	position: relative;
}

.pb_slant-light:after,
.pb_slant-white:after {
	position: absolute;
	bottom: -100px;
	left: -50px;
	height: 200px;
	width: 130%;
	background-color: #f2f4f9;
	-webkit-transform: rotate(-4deg);
	-ms-transform: rotate(-4deg);
	transform: rotate(-4deg);
	z-index: 10;
}

.pb_slant-white:after {
	background-color: #fff;
}

.pb_xl_py_cover a {
	color: rgba(255, 255, 255, 0.5);
	border-bottom: 2px solid transparent;
}

.pb_xl_py_cover a:hover {
	color: white;
	border-bottom: 2px solid white;
}

.pb_xl_py_cover .btn {
	color: white;
}

.mouse-wrap,
.scroll-wrap {
	position: absolute;
	bottom: 50px;
	z-index: 3;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.mouse-wrap.left,
.scroll-wrap.left {
	left: 30px;
	-webkit-transform: translateX(0%);
	-ms-transform: translateX(0%);
	transform: translateX(0%);
}

.mouse {
	width: 30px;
	height: 50px;
	border-radius: 20px;
	border: 2px solid #212529;
	position: absolute;
	top: calc(50% - 30px);
	left: calc(50% - 20px);
}

.mouse:before,
.mouse:after {
	content: "";
	display: block;
	position: absolute;
}

/* Second */


.scroll-wrap {
	-webkit-transition: 0.3s all ease-out;
	-o-transition: 0.3s all ease-out;
	transition: 0.3s all ease-out;
	bottom: 50px;
	opacity: 1;
	visibility: visible;
}

.scroll-wrap.sleep {
	bottom: 0;
	opacity: 0;
	visibility: hidden;
}

.pb_feature-v1,
.pb_feature-v2 {
	margin-bottom: 30px;
	/* circle with border */
}

.pb_feature-v1 .pb_icon i,
.pb_feature-v2 .pb_icon i {
	font-size: 70px;
}

.pb_feature-v2 .media-body {
	font-family: "Crimson Text", Georgia, "Times New Roman", Times, serif;
	font-size: 18px;
	color: #868e96;
}

.pb_feature-v2 .media-body .heading {
	font-size: 20px;
	font-family: "Montserrat", Arial, sans-serif;
}

.pb_feature-v2 .pb_icon {
	line-height: 0;
	position: relative;
	text-align: center;
}

.pb_feature-v2 .pb_icon i {
	font-size: 36px;
	margin: 0 auto;
}


@media (max-width: 767px) {

	.pb_sm_py_cover,
	.pb_md_py_cover,
	.pb_lg_py_cover,
	.pb_xl_py_cover {
		height: inherit;
		text-align: center !important;
		padding: 6em 0;
	}
}



@media (max-width: 767px) {

	.pb_xl_py_cover>.container>.row {
		height: inherit;
	}
}

.pb_xl_py_cover .heading {
	font-size: 62px;
	color: white;
	font-weight: 300;
	margin-top: 20px;
	margin-bottom: 0px;
}

@media (max-width: 767px) {
	.pb_xl_py_cover .heading {
		font-size: 42px;
	}
}

.pb_xl_py_cover .sub-heading {
	font-size: 20px;
	color: rgba(255, 255, 255, 0.8);
	max-width: 600px;
	float: left;
}

.pb_xl_py_cover.text-center .sub-heading {
	margin: 0 auto;
	float: none;
}


.pb_xl_py_cover.text-right .sub-heading {
	float: right;
}

.pb_xl_py_cover.text-left .sub-heading {
	float: left;
}


@media (max-width: 767px) {
	.pb_xl_py_cover {
		height: inherit;
		text-align: center !important;
		padding: 6em 0;
	}
}




@media (max-width: 767px) {
	.pb_sm_py_cover>.container>.row {
		height: inherit;
		padding: 3em 0;
	}
}

.pb_lg_py_cover {
	padding: 8em 0;
}

@media (max-width: 767px) {
	.pb_lg_py_cover {
		height: inherit;
		text-align: center !important;
		padding: 8em 0;
	}
}

.pb_lg_py_cover>.container {
	position: relative;
}

.pb_lg_py_cover>.container>.row {
	padding: 4em 0;
}

@media (max-width: 767px) {
	.pb_lg_py_cover>.container>.row {
		height: inherit;
		padding: 4em 0;
	}
}

.pb_xl_py_cover {
	padding: 10em 0;
}

@media (max-width: 767px) {
	.pb_xl_py_cover {
		height: inherit;
		text-align: center !important;
		padding: 10em 0;
	}
}

.pb_xl_py_cover>.container {
	position: relative;
}

@media (max-width: 767px) {
	.pb_xl_py_cover>.container>.row {
		height: inherit;
	}
}

.pb_cover_v3 {
	position: relative;
	/*height: 95vh;*/
	padding-bottom: 45px;
}

@media (max-width: 767px) {

	.pb_cover_v3 {
		height: inherit;
		text-align: center !important;
		padding: 0em 0;
	}
}

.pb_cover_v3>.container {
	position: relative;
}

/*.pb_cover > .container > .row,
.pb_cover_v1 > .container > .row,
.pb_cover_v2 > .container > .row,
.pb_cover_v3 > .container > .row,
.pb_cover_v4 > .container > .row {
	height: 95vh;
}*/
@media (max-width: 767px) {

	.pb_cover_v3>.container>.row {
		height: inherit;
		padding: 6em 0;
	}
}

.my-heading {
	font-size: 20px;
	font-weight: 300;
	margin-top: 20px;
	margin-bottom: 10px;
}

@media (min-width: 1180px) {
	.my-heading {
		font-size: 34px;
	}
}

.pb_cover_v3 .heading {
	font-size: 32px;
	color: white;
	font-weight: 300;
	margin-top: 20px;
	margin-bottom: 0px;
}

@media (max-width: 767px) {

	.pb_cover_v3 .heading {
		font-size: 42px;
	}
}

@media (min-width: 1180px) {
	.pb_cover_v3 .heading {
		font-size: 55px;
	}
}

.pb_cover_v3 .sub-heading {
	font-size: 20px;
	color: rgba(255, 255, 255, 0.8);
	max-width: 600px;
	float: left;
}

.pb_cover_v3.text-left .sub-heading {
	float: left;
}

.cover-bg-indigo {
	position: relative;
}

.cover-bg-indigo:before {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	content: "";
}

.cover-bg-opacity:before {
	opacity: 1;
}

.cover-bg-opacity-8:before {
	opacity: 0.8;
}

.cover-bg-indigo:before {
	background: #4e3188;
}

.pb_gradient_v1:before {
	background: #665fee;
	/* Old browsers */
	background: -moz-linear-gradient(45deg, #665fee 0%, #27c2de 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(45deg, #665fee 0%, #27c2de 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: -o-linear-gradient(45deg, #665fee 0%, #27c2de 100%);
	background: linear-gradient(45deg, #665fee 0%, #27c2de 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#665fee', endColorstr='#27c2de', GradientType=1);
	/* IE6-9 fallback on horizontal gradient */
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.pb_form_v1 {
	padding: 50px;
	-webkit-box-shadow: 1px 11px 68px -20px rgba(0, 0, 0, 0.75);
	-moz-box-shadow: 1px 11px 68px -20px rgba(0, 0, 0, 0.75);
	box-shadow: 1px 11px 68px -20px rgba(0, 0, 0, 0.75);
}

@media (max-width: 991px) {
	.pb_form_v1 {
		padding: 30px;
	}
}

input,
textarea {
	font-weight: 300;
	color: rgba(0, 0, 0, 0.7);
}

.form-control.reverse {
	background: #f2f2f2;
	-webkit-transition: 0.3s all ease;
	-o-transition: 0.3s all ease;
	transition: 0.3s all ease;
	border-color: #f2f2f2;
}

.form-control.reverse:focus,
.form-control.reverse:active {
	background: none;
	border-color: #1d82ff !important;
}

.btn:focus,
.btn:active {
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.btn-shadow-blue {
	-webkit-box-shadow: 0px 15px 28px -5px rgba(29, 130, 255, 0.45);
	-moz-box-shadow: 0px 15px 28px -5px rgba(29, 130, 255, 0.45);
	box-shadow: 0px 15px 28px -5px rgba(29, 130, 255, 0.45);
}

.btn-custom {
	background-color: rgb(25, 116, 255);
	color: rgb(255, 255, 255);
	border: 2px solid rgb(247, 244, 244);
	/* Añadido para que el borde sea visible */
	transition: all 0.3s ease;
	font-size: 1.5rem;
	/* Ajusta el tamaño de la fuente según sea necesario */
	font-weight: bold;
	/* Hace que la letra sea en negrita */
	padding: 10px 20px;
	/* Ajusta el tamaño del botón */
	display: inline-block;
	/* Asegura que los botones sean centrados */
	margin: 10px;
	/* Añadir espacio entre los botones si es necesario */
	text-align: center;
}


.btn-custom:hover {
	background-color: transparent;
	color: rgb(0, 0, 0);
	border: 2px solid rgb(0, 0, 0);

}

.text-center {
	text-align: center;
}

.pb_btn-pill {
	padding: 10px 20px;
	/* Ajusta el padding según sea necesario */
	font-size: 16px;
	/* Ajusta el tamaño de la fuente según sea necesario */
	white-space: nowrap;
	/* Evita que el texto se rompa en varias líneas */
	border-radius: 25px;
	/* Hace que los bordes sean redondos */
}

html {
	overflow-x: hidden;
	font-size: 1em;
}

body {
	font-family: "Montserrat", Arial, sans-serif;
	overflow-x: hidden;
}

input,
textarea,
p {
	font-weight: 300;
}

::-moz-selection {
	background: #000;
	color: #fff;
}

::selection {
	background: #000;
	color: #fff;
}

::-moz-selection {
	background: #000;
	color: #fff;
}

h2,
h3,
h5 {
	font-weight: 300 !important;
}

a {
	-webkit-transition: 0.3s all ease;
	-o-transition: 0.3s all ease;
	transition: 0.3s all ease;
}

.pb_xl_py_cover,
.pb_cover_v3 {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.pb_navbar {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	font-family: "Montserrat", Arial, sans-serif;
}

.pb_navbar .navbar-toggler:active,
.pb_navbar .navbar-toggler:focus {
	outline: none;
}

.pb_navbar>.container {
	position: relative;
}

.pb_navbar .navbar-toggler {
	border: none;
	color: white;
	border-color: white;
	cursor: pointer;
	padding-right: 0;
}

.pb_navbar .navbar-toggler i {
	font-size: 30px;
}

.pb_navbar ul>li>a {
	color: white !important;
}

.pb_navbar ul>li.cta-btn>a>span {
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.5);
}

.pb_navbar .nav-link {
	font-size: 15px;
}

@media (max-width: 1199px) {
	.pb_navbar .nav-link {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}
}

@media (max-width: 991px) {
	.pb_navbar .nav-link {
		padding-left: 0rem !important;
		padding-right: 0rem !important;
	}
}

@media (max-width: 767px) {
	.pb_navbar .nav-link {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

@media (max-width: 991px) {
	.pb_navbar .navbar-nav {
		background: rgba(0, 0, 0, 0.8);
		border-radius: 0px;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
}

.pb_navbar.scrolled {
	position: fixed;
	right: 0;
	left: 0;
	top: 0;
	margin-top: -130px;
}

@media (max-width: 991px) {
	.pb_navbar.scrolled .navbar-nav {
		background: none;
		border-radius: 0px;
		padding-left: 0rem !important;
		padding-right: 0rem !important;
	}
}

@media (max-width: 767px) {
	.pb_navbar.scrolled .navbar-nav {
		background: none;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

.pb_navbar.scrolled .navbar-toggler {
	border: none;
	color: rgba(0, 0, 0, 0.5);
	border-color: rgba(0, 0, 0, 0.5);
	cursor: pointer;
	padding-right: 0;
}

.pb_navbar.scrolled .nav-link {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.pb_navbar.scrolled.awake {
	margin-top: 0px;
	-webkit-transition: 0.3s all ease-out;
	-o-transition: 0.3s all ease-out;
	transition: 0.3s all ease-out;
}

.pb_navbar.scrolled.sleep {
	-webkit-transition: 0.3s all ease-out;
	-o-transition: 0.3s all ease-out;
	transition: 0.3s all ease-out;
}

.pb_navbar.scrolled.pb_scrolled-light {
	background: #fff !important;
	-webkit-box-shadow: 0px 1px 10px -2px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 1px 10px -2px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 1px 10px -2px rgba(0, 0, 0, 0.15);
}

.pb_navbar.scrolled.pb_scrolled-light .navbar-brand {
	color: #1d82ff;
}

@media (max-width: 991px) {
	.pb_navbar.scrolled.pb_scrolled-light .navbar-nav {
		background: none;
		border-radius: 0px;
		padding-left: 0rem !important;
		padding-right: 0rem !important;
	}
}

.pb_navbar.scrolled.pb_scrolled-light ul li a {
	color: #212529 !important;
}

.pb_navbar.scrolled.pb_scrolled-light ul li a:hover,
.pb_navbar.scrolled.pb_scrolled-light ul li a:active,
.pb_navbar.scrolled.pb_scrolled-light ul li a:focus {
	color: #868e96 !important;
}

.pb_navbar.scrolled.pb_scrolled-light ul li a.active {
	color: #1d82ff !important;
}

.pb_navbar.scrolled.pb_scrolled-light ul li.cta-btn>a>span {
	border: none;
	background: #00ca4c;
	color: #fff;
}

.pb_offcanvas-nav_v1 {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	background: #000;
	-webkit-transition: 0.3s all ease-in-out;
	-o-transition: 0.3s all ease-in-out;
	transition: 0.3s all ease-in-out;
}

.pb_offcanvas-nav_v1.active {
	opacity: 1;
	visibility: visible;
}

.pb_offcanvas-nav_v1 .pb_main-nav {
	padding-top: 50px;
	padding-right: 50px;
	float: right;
	text-align: right;
	font-size: 30px;
	height: 100vh;
	overflow-y: auto;
}

.pb_offcanvas-nav_v1 .pb_main-nav li {
	list-style: none;
	line-height: 1.5;
	margin-bottom: 10px;
}

.pb_offcanvas-nav_v1 .pb_main-nav li a {
	color: #fff;
}

.pb_offcanvas-nav_v1 .pb_main-nav li a.active {
	text-decoration: underline;
}

.pb_offcanvas-header_v1 {
	padding-top: 40px;
	z-index: 2;
	position: absolute;
	width: 100%;
}

.pb_offcanvas-header_v1>.container {
	position: relative;
}

.pb_offcanvas-header_v1 .pb_site-name {
	position: absolute;
	left: 15px;
}

.pb_offcanvas-header_v1 .pb_toggle-menu {
	position: absolute;
	right: 0px;
	top: 17px;
}

@media (max-width: 767px) {
	.pb_offcanvas-header_v1 .pb_toggle-menu {
		top: 13px;
	}
}

#pb_nav-toggle {
	background: transparent;
	position: absolute;
	right: 0;
	top: 50%;
	height: 50px;
	width: 50px;
	cursor: pointer;
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

#pb_nav-toggle:hover span:after {
	width: 32px;
}

#pb_nav-toggle span,
#pb_nav-toggle span:before,
#pb_nav-toggle span:after {
	cursor: pointer;
	border-radius: 1px;
	height: 2px;
	width: 32px;
	background: #000;
	position: absolute;
	left: 0;
	top: 50%;
	display: block;
	content: "";
}

#pb_nav-toggle span:before {
	top: -10px;
}

#pb_nav-toggle span:after {
	top: 10px;
	width: 16px;
}

#pb_nav-toggle span,
#pb_nav-toggle span:before,
#pb_nav-toggle span:after {
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

#pb_nav-toggle.active span {
	background-color: transparent;
}

#pb_nav-toggle.active span:before,
#pb_nav-toggle.active span:after {
	top: 0;
}

#pb_nav-toggle.active span:before {
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}

#pb_nav-toggle.active span:after {
	width: 32px;
	-webkit-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.heading-border-top {
	position: relative;
	padding-top: 30px;
}

.heading-border-top:before {
	position: absolute;
	top: 0;
	height: 2px;
	width: 50px;
	content: "";
	background: #1d82ff;
}

.heading-border-top.light:before {
	background: rgba(255, 255, 255, 0.7) !important;
}

.text-center .heading-border-top:before {
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.text-center .heading-border-top.light:before {
	background: rgba(255, 255, 255, 0.7) !important;
}

.pb_section {
	padding: 5em 0;
	position: relative;
	display: block;
}

@media (max-width: 991px) {
	.pb_section {
		padding: 3em 0;
	}
}

.pb_footer {
	padding: 5em 0;
}

.overflow-hidden {
	overflow: hidden;
}

.carousel-control-next,
.carousel-control-prev {
	filter: invert(100%);
}

.grecaptcha-badge {
	visibility: hidden;
}

#pb-navbar {
	z-index: 101;
}

#section-home-container {
	z-index: 100;
}

.same-height {
	min-height: 100vh !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* CSS */
.modal {
	display: none;
	position: fixed;
	bottom: 10px;
	z-index: 1000;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgb(0, 0, 0);
	background-color: rgba(0, 0, 0, 0.4);
	padding-top: 60px;
}

.modal-dialog {
	position: fixed;
	top: auto;
	right: auto;
	left: auto;
	bottom: 0;
}

.modal-content {
	background-color: #fefefe;
	margin: 5% auto;
	padding: 20px;
	border: 1px solid #888;
	width: 80%;
}

.close {
	color: #aaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
}

.close:hover,
.close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
}

#acceptCookies {
	background-color: #4CAF50;
	color: white;
	border: none;
	padding: 10px 20px;
	cursor: pointer;
	margin-top: 10px;
}

#acceptCookies:hover {
	background-color: #45a049;
}

.card.pb_feature-v1 {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.card.pb_feature-v1 img {
	max-height: 250px;
	/* Ajusta según sea necesario */
	width: auto;
	margin-bottom: 20px;
	/* Ajusta según sea necesario */
}

.card.pb_feature-v1 .card-body {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.card.pb_feature-v1 .card-title {
	margin-bottom: 10px;
}

.card.pb_feature-v1 .card-text {
	flex-grow: 1;
	margin-bottom: 20px;
	/* Ajusta según sea necesario */
}

.pb_feature-v1 {
	height: 100%;
}

.row {
	display: flex;
	flex-wrap: wrap;
}

.col-lg-4,
.col-md-6,
.col-sm-6 {
	flex: 1 0 30%;
	max-width: 30%;
	margin-bottom: 20px;
}



/* Estilos responsive */
@media (max-width: 767px) {
	.my-heading {
		font-size: 16px;
		/* Ajusta el tamaño de la fuente para pantallas pequeñas */
	}

	.pb_btn-pill {
		padding: 8px 16px;
		/* Ajusta el padding para pantallas pequeñas */
		font-size: 14px;
		/* Ajusta el tamaño de la fuente para pantallas pequeñas */
	}

	.form-group {
		margin-top: 15px;
		/* Ajusta el margen superior para pantallas pequeñas */
		margin-bottom: 15px;
		/* Ajusta el margen inferior para pantallas pequeñas */
	}

	.row.justify-content-center {
		display: flex;
		flex-direction: column;
		/* Hace que los elementos en el contenedor se apilen verticalmente */
		align-items: center;
		/* Centra los elementos horizontalmente */
	}

	.col-md-6 {
		width: 100%;
		/* Asegura que cada columna ocupe el 100% del ancho del contenedor */
		max-width: 100%;
		/* Asegura que cada columna ocupe el 100% del ancho del contenedor */
		text-align: center;
		/* Centra el contenido dentro de la columna */
		margin-bottom: 20px;
		/* Añade un margen inferior para separar los elementos */
	}
}

.size_img {
	/* La imagen ocupa el 100% del ancho disponible */
	width: 100%;
	/* Mantiene la proporción de la imagen */
	height: auto;
	/* Evita espacios no deseados en imágenes inline */
	display: block;
	/* Asegura que la imagen no se estire más allá de su contenedor */
	max-width: 100%;
}

.font-16 {
	font-size: 16px !important;
}

.font-20 {
	font-size: 20px !important;
}

.font-25 {
	font-size: 25px !important;
}

.font-40 {
	font-size: 40px !important;
}

#section-contact {
	background: radial-gradient(circle at 50% 90%, rgb(154 157 159) 0%, rgb(242 242 242) 80%);
}

.hardware-img {
	max-width: 100%;
	height: auto;
}

.portal-documentation-link {
	color: blue;
}