@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&display=swap");
* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a,
select,
button,
input,
textarea {
	outline: none;
}

.trans, .asesorate input[type=submit], .redes a, .modalmenu .redes img, .modalmenu .links li,
.modalmenu .links a, .modalmenu, .news input[type=submit], footer .pad1 a, .productos .sombra, .productos .col-md-4 span, .prods a, .somos a, .home .flechita, .home ul li a, .blog .boton1, .hablemos .datos a, .hablemos input[type=submit], .categoriaslistado a img, .navbar {
	transition: all 0.3s ease;
}

body {
	padding: 0;
	margin: 0;
	font-family: "Instrument Sans", sans-serif;
	overflow-x: hidden;
	color: rgb(105, 105, 105);
}

.clear {
	clear: both;
}

h1,
h2,
h3,
h4,
p,
ul,
li {
	padding: 0;
	margin: 0;
}

li {
	list-style: none;
}

a,
a:hover {
	text-decoration: none;
	outline: 0;
}

.left {
	float: left;
}

.right {
	float: right;
}

#goog-gt-tt,
#goog-te-banner-frame,
.goog-te-balloon-frame {
	display: none !important;
}

/* Elimina el desplazamiento que Google fuerza en el body */
body {
	top: 0px !important;
}

/* También evita que el widget de menú flote */
.nav {
	top: 0;
}

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

.nav-link:focus,
.nav-link:hover {
	color: #fff;
}

.navbar {
	--bs-navbar-padding-y: 1rem;
}

.navbar-expand-lg .navbar-nav .nav-link {
	font-weight: 500;
	transition: background-color 0.4s ease-in-out;
}

.navbar-expand-lg .navbar-nav .nav-link:hover {
	background-color: rgb(72, 95, 248);
	color: #fff;
}

.nav-link {
	color: #fff;
	font-weight: normal;
	font-size: 20px;
}

.navbar-expand-lg .navbar-nav .nav-link {
	font-weight: normal;
}

.container-fluid {
	width: 100%;
	max-width: 1400px;
	margin: auto;
}

.headercontacto {
	height: 500px;
	background-image: url(../img/headercontacto.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	padding: 120px 0 0 33px;
}
.headercontacto h2 {
	color: rgb(72, 95, 248);
	font-size: 70px;
	line-height: 70px;
	margin-bottom: 20px;
	padding-top: 33px;
}
.headercontacto h2 .bold {
	font-weight: bold;
}
.headercontacto h2 .enter {
	display: block;
}
.headercontacto h3 {
	max-width: 733px;
	color: #000;
}

.headerblog {
	height: 500px;
	background-image: url(../img/headerblog.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	padding: 120px 0 0 33px;
}
.headerblog h2 {
	color: rgb(72, 95, 248);
	font-size: 70px;
	line-height: 70px;
	margin-bottom: 20px;
}
.headerblog h2 .bold {
	font-weight: bold;
}
.headerblog h2 .enter {
	display: block;
}
.headerblog h3 {
	max-width: 733px;
}

.headercategorias {
	height: 300px;
	background-image: url(../img/Rectangle35.png);
	background-size: cover;
	background-repeat: no-repeat;
	padding: 160px 0 0 33px;
	background-position: right;
}
.headercategorias h2 {
	color: rgb(72, 95, 248);
	font-size: 70px;
	line-height: 70px;
	margin-bottom: 20px;
	text-align: center;
}
.headercategorias h2 .bold {
	font-weight: bold;
}
.headercategorias h2 .enter {
	display: block;
}
.headercategorias h3 {
	max-width: 733px;
}

.categoriastexto {
	padding: 33px;
	font-size: 33px;
	text-align: center;
	color: #000;
	line-height: 36px;
	border-bottom: solid 1px rgb(189, 188, 188);
	margin-bottom: 33px;
}
.categoriastexto .enter {
	display: block;
}

.categoriaslistado a {
	color: #000;
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
}
.categoriaslistado a img {
	opacity: 0;
}
.categoriaslistado a:hover img {
	opacity: 1;
}
.categoriaslistado .datos {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
}
.categoriaslistado .datos .barrita {
	height: 6px;
	background-image: url(../img/Rectangle37.svg);
	background-size: cover;
}
.categoriaslistado .marca {
	position: absolute;
	top: 20px;
	right: 12px;
	opacity: 0;
}
.categoriaslistado .sombra {
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	position: relative;
	overflow: hidden;
	padding-bottom: 65px;
}
.categoriaslistado h2 {
	color: #000;
	font-size: 28px;
	padding-left: 20px;
	font-weight: bold;
	padding-top: 20px;
}
.categoriaslistado h2 a {
	color: #000;
}
.categoriaslistado h3 {
	color: rgb(72, 95, 248);
	font-size: 18px;
	padding-left: 20px;
	padding-bottom: 20px;
	padding-top: 2px;
}
.categoriaslistado .foto {
	display: block;
	margin: auto;
	width: 300px;
	margin-top: 33px;
	margin-bottom: 33px;
}
.categoriaslistado .logomarca {
	position: absolute;
	bottom: 20px;
	right: 20px;
	z-index: 99;
	width: 120px;
}
.categoriaslistado .bullet {
	position: absolute;
	top: 0;
	left: 0;
	width: 51px;
	-o-object-fit: cover;
	   object-fit: cover;
}
.categoriaslistado .col-md-4 {
	margin-bottom: 33px;
}

.bullet2 {
	text-align: center;
	padding: 33px;
}

.padprods {
	height: 87px;
}

.hablemos {
	background-image: url(../img/Capa_3.png);
	max-width: 900px;
	margin: auto;
	padding: 22px;
	background-size: contain;
	background-repeat: no-repeat;
}
.hablemos h3 {
	padding: 33px;
	text-align: center;
	font-size: 28px;
	font-weight: 600;
	color: #000;
}
.hablemos h4 {
	color: #000;
	text-align: center;
	font-size: 18px;
	font-weight: 400;
	padding-bottom: 20px;
}
.hablemos h4 span {
	display: block;
}
.hablemos input[type=text],
.hablemos input[type=email],
.hablemos select,
.hablemos textarea {
	padding: 10px;
	background-color: #fff;
	border: solid 1px rgb(189, 188, 188) !important;
	font-size: 16px;
	width: 100%;
	margin-bottom: 15px;
	outline: none;
	box-shadow: none;
}
.hablemos select {
	color: rgb(105, 105, 105);
}
.hablemos input::-moz-placeholder {
	opacity: 1;
	color: rgb(105, 105, 105);
}
.hablemos input::placeholder {
	opacity: 1;
	color: rgb(105, 105, 105);
}
.hablemos input[type=submit] {
	background-color: transparent;
	color: rgb(229, 27, 137);
	border: solid 1px rgb(229, 27, 137);
	border-radius: 84px;
	padding: 12px 33px 12px 33px;
	font-weight: 600;
	display: block;
	margin: auto;
	width: 282px;
}
.hablemos input[type=submit]:hover {
	background-color: rgb(229, 27, 137);
	color: #fff;
}
.hablemos select {
	padding: 10px;
	background-color: #fff;
	border: none;
	display: block;
	margin: auto auto 12px auto;
}
.hablemos .datos h5 {
	color: rgb(72, 95, 248);
	font-weight: 700;
}
.hablemos .datos p {
	font-weight: 400;
}
.hablemos .datos a {
	color: rgb(134, 114, 165);
	font-weight: 700;
	font-size: 14px;
}
.hablemos .datos a:hover {
	color: rgb(72, 95, 248);
}

.vias {
	background-color: rgb(245, 245, 245);
	padding: 20px;
	border-bottom: solid 2px #000;
	margin-top: 33px;
}
.vias h4 {
	text-align: center;
	color: rgb(72, 95, 248);
	font-size: 22px;
	font-weight: 600;
}
.vias li {
	font-size: 20px;
	color: #000;
	font-weight: 600;
}
.vias img {
	filter: invert(1);
	width: 29px;
}

.categorias {
	padding-bottom: 12px;
	border-bottom: solid 1px rgb(229, 27, 137);
	padding-top: 33px;
}
.categorias li {
	margin-right: 12px;
}
.categorias li input[type=checkbox] {
	margin-right: 4px;
}
.categorias .titulo {
	color: rgb(72, 95, 248);
	font-size: 26px;
	font-weight: bold;
}

.blog h5 {
	text-align: center;
	padding-bottom: 12px;
	border-bottom: solid 1px rgb(105, 105, 105);
	font-size: 33px;
	text-transform: uppercase;
	color: rgb(72, 95, 248);
	margin-bottom: 33px;
}
.blog .grilla img {
	width: 100%;
}
.blog .grilla h4 {
	font-size: 12px;
	margin-bottom: 4px;
}
.blog .grilla p {
	font-size: 20px;
	padding: 12px 0 21px 0;
	color: #000;
}
.blog .boton1 {
	color: rgb(72, 95, 248);
	font-size: 18px;
	border-radius: 98px;
	padding: 10px 20px 10px 20px;
	border: solid 1px rgb(72, 95, 248);
	font-weight: 600;
	margin-top: 12px;
}
.blog .boton1:hover {
	background-color: rgb(72, 95, 248);
	color: #fff;
}
.blog .col-md-4 {
	margin-bottom: 33px;
}

.headerproductos h1 {
	color: rgb(72, 95, 248);
	font-size: 58px;
	line-height: 58px;
	font-weight: bold;
	margin-bottom: 12px;
}
.headerproductos h1 span {
	display: block;
}
.headerproductos img {
	width: 100%;
}

.blogdetalle {
	background-image: url(../img/header_generico1.png);
	background-repeat: no-repeat;
	background-size: 100%;
	padding: 33px 0 120px 0;
	margin-top: 78px;
}
.blogdetalle .foto {
	width: 100%;
}
.blogdetalle h1 {
	padding: 33px 0 33px 0;
	color: rgb(72, 95, 248);
	font-size: 33px;
	font-weight: bold;
	text-align: center;
}
.blogdetalle h2 {
	color: rgb(229, 27, 137);
	font-size: 33px;
	text-align: center;
	padding: 33px;
}
.blogdetalle p {
	max-width: 85%;
	margin: auto;
}

.headernosotros .foto {
	width: 100%;
}
.headernosotros .col2 {
	background-color: rgb(72, 95, 248);
	background-image: url(../img/fdo_header.png);
	background-size: cover;
}
.headernosotros .pad {
	padding: 120px 0 0 82px;
	color: #fff;
}
.headernosotros .pad h2 {
	font-size: 20px;
	font-weight: 300;
	margin-bottom: 120px;
	letter-spacing: 2px;
}
.headernosotros .pad h3 {
	font-size: 82px;
	font-weight: 300;
	line-height: 82px;
}
.headernosotros .pad h3 .enter {
	display: block;
}
.headernosotros .pad h3 .bold {
	font-weight: bold;
}

.nosotros {
	background-image: url(../img/fdo-02.png);
	padding: 120px 33px 141px 33px;
}
.nosotros h2 {
	color: rgb(72, 95, 248);
	text-align: center;
	padding: 20px;
	font-weight: bold;
}
.nosotros .fw-bold {
	font-size: 20px;
}
.nosotros .container-fluid {
	max-width: 1100px;
}

.por {
	padding: 33px;
}
.por h2 {
	color: #000;
	font-size: 41px;
	margin: 20px 0 48px 0;
}
.por .col-md-4 {
	margin-bottom: 33px;
	color: #000;
}
.por h4 {
	font-weight: bold;
	padding: 12px 0 12px 0;
}
.por p {
	color: rgb(81, 81, 81);
}

.carouselnosotros {
	padding-bottom: 120px;
}
.carouselnosotros h2 {
	padding: 20px;
	color: rgb(72, 95, 248);
	text-align: center;
}
.carouselnosotros img {
	width: 100%;
}
.carouselnosotros .carouselnosotros1 div {
	margin-right: 6px;
	margin-left: 6px;
}

.slick-prev::before,
.slick-next::before {
	content: ""; /* Oculta texto por defecto */
}

/* Estilos base */
.slick-prev,
.slick-next {
	width: 40px;
	height: 40px;
	background-color: transparent;
	border-radius: 50%;
	z-index: 10;
	transition: background 0.3s ease;
	bottom: -67px;
	position: absolute;
}

/* Posición */
.slick-prev {
	left: 120px;
}

.slick-next {
	right: 120px;
}

/* Iconos con CSS flechitas */
.slick-prev::before,
.slick-next::before {
	font-size: 20px;
	color: white;
	display: block;
	line-height: 40px;
	text-align: center;
	border: none;
}

button {
	border: none;
}

.home {
	position: relative;
}
.home .texto {
	position: absolute;
	top: 200px;
	left: 98px;
}
.home .texto h2 {
	color: #fff;
	font-size: 68px;
	line-height: 68px;
	margin-bottom: 33px;
	text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2);
}
.home .texto h2 .bold {
	font-weight: bold;
}
.home .texto h2 .enter {
	display: block;
}
.home ul li {
	margin-right: 12px;
}
.home ul li a {
	display: block;
	padding: 10px 15px 10px 15px;
	border: solid 1px rgb(72, 95, 248);
	color: #fff;
	font-size: 18px;
	background-color: rgb(72, 95, 248);
}
.home ul li a:hover {
	background-color: rgb(229, 27, 137);
	border: solid 1px rgb(229, 27, 137);
}
.home ul li:first-child a {
	border-radius: 100px 0 0 100px;
}
.home ul li:last-child a {
	border-radius: 0 100px 100px 0;
}
.home .flechita {
	position: absolute;
	bottom: 33px;
	right: 0;
	left: 0;
	margin: auto;
	display: block;
	text-align: center;
	z-index: 999999;
	cursor: pointer;
}
.home .flechita:hover {
	bottom: 28px;
}
.home video {
	height: 100vh;
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.somos {
	padding: 33px;
	text-align: center;
}
.somos p {
	max-width: 600px;
	margin: auto;
	padding-bottom: 33px;
}
.somos h1 {
	color: #000;
	margin-bottom: 20px;
}
.somos h1 span {
	font-weight: bold;
}
.somos h2 {
	color: rgb(229, 27, 137);
	font-weight: 300;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-size: 16px;
	margin: 20px 0 20px 0;
}
.somos a {
	color: rgb(229, 27, 137);
	border: solid 2px rgb(229, 27, 137);
	border-radius: 100px;
	width: 220px;
	display: block;
	margin: auto;
	font-size: 20px;
	font-weight: 600;
	padding: 12px;
}
.somos a:hover {
	background-color: rgb(72, 95, 248);
	color: #fff;
	border: solid 2px #fff;
}

.prods .foto {
	width: 100%;
	max-width: 800px;
}
.prods h4 {
	padding: 33px;
	color: rgb(72, 95, 248);
	font-size: 36px;
	text-align: center;
	font-weight: 600;
}
.prods h2 {
	font-size: 41px;
	color: #000;
	font-weight: 700;
	line-height: 41px;
	margin-top: 20%;
}
.prods h2 span {
	font-size: 33px;
	display: block;
	font-weight: 500;
}
.prods p {
	padding: 20px 84px 20px 0;
}
.prods .p1 {
	padding-left: 8%;
}
.prods a {
	color: rgb(229, 27, 137);
	border: solid 2px rgb(229, 27, 137);
	border-radius: 100px;
	width: 181px;
	display: block;
	font-size: 20px;
	font-weight: 600;
	padding: 12px;
	text-align: center;
}
.prods a:hover {
	background-color: rgb(72, 95, 248);
	color: #fff;
	border: solid 2px #fff;
}

.productos p {
	width: 800px;
	margin: auto;
	text-align: center;
	padding: 33px 20px 62px 20px;
	color: #000;
	font-size: 18px;
}
.productos .col-md-4 {
	text-align: center;
	margin-bottom: 33px;
}
.productos .col-md-4 img {
	display: block;
	margin: auto;
	width: 100%;
	height: 500px;
	-o-object-fit: contain;
	   object-fit: contain;
}
.productos .col-md-4 h2 {
	color: #000;
	font-size: 22px;
	text-align: center;
	font-weight: bold;
	border-top: solid 1px rgb(189, 188, 188);
	padding-top: 6px;
	margin: auto;
	margin-bottom: 33px;
	margin-top: 33px;
	max-width: 84%;
}
.productos .col-md-4 span {
	opacity: 0;
	padding: 12px 20px 12px 20px;
	color: rgb(72, 95, 248);
	border: solid 1px rgb(72, 95, 248);
	border-radius: 100px;
}
.productos a {
	color: #000;
}
.productos .sombra {
	border-radius: 12px;
	display: block;
	padding-bottom: 33px;
	font-weight: bold;
	font-size: 20px;
}
.productos .sombra:hover {
	box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.16);
}
.productos .sombra:hover span {
	opacity: 1;
}
.productos h4 {
	color: rgb(72, 95, 248);
	border-bottom: solid 1px rgb(189, 188, 188);
	padding: 12px;
	text-align: center;
	margin: 33px 0 33px 0;
}

.headerdetalle {
	background-color: rgb(68, 73, 85);
	margin-bottom: 51px;
	position: relative;
}
.headerdetalle .pad {
	padding: 84px;
	color: #fff;
}
.headerdetalle .pad h3 {
	font-weight: bold;
	padding: 14px 0 14px 0;
	font-size: 51px;
}
.headerdetalle .pad h1 {
	font-size: 22px;
	padding-right: 82px;
	margin-bottom: 12px;
}
.headerdetalle .pad h2 {
	padding-top: 33px;
}
.headerdetalle .foto {
	width: 100%;
	height: 600px;
	-o-object-fit: cover;
	   object-fit: cover;
}
.headerdetalle .flechita {
	position: absolute;
	bottom: -22px;
	right: 0;
	left: 0;
	margin: auto;
}
.headerdetalle .col-md-6 {
	padding: 0;
}

.resultados {
	padding-bottom: 84px;
}
.resultados h2 {
	text-align: center;
	padding-bottom: 20px;
	font-size: 33px;
	border-bottom: solid 1px rgb(72, 95, 248);
	margin-bottom: 33px;
}
.resultados img {
	width: 100%;
}
.resultados .sombra {
	box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.14);
}
.resultados p {
	font-weight: 600;
	text-align: center;
	padding: 12px;
	color: #000;
	font-size: 18px;
}
.resultados ul {
	padding: 6px 12px 12px 12px;
}
.resultados ul li {
	width: 50%;
	text-align: center;
}

.detalle1 .borde {
	border-right: solid 1px rgb(217, 217, 217);
	padding-top: 33px;
	padding-bottom: 33px;
}
.detalle1 .col-md-7 {
	padding: 33px;
}
.detalle1 .col-md-7 h4 {
	color: rgb(72, 95, 248);
}
.detalle1 .col-md-7 p {
	padding-bottom: 20px;
}

.carouseldetalle {
	margin-bottom: 41px;
	margin-top: 33px;
}
.carouseldetalle img {
	margin: 15px;
	width: 100%;
}
.carouseldetalle .item {
	margin-right: 15px;
}
.carouseldetalle .slick-prev,
.carouseldetalle .slick-next {
	bottom: auto;
	top: 44%;
}
.carouseldetalle .slick-prev {
	left: -68px;
}
.carouseldetalle .slick-next {
	right: -48px;
}

/* Centrar */
.slick-dots {
	display: flex !important;
	justify-content: center;
	align-items: center;
	margin-top: 20px;
	list-style: none;
}

/* Separación */
.slick-dots li {
	margin: 0 6px;
}

/* 1) Ocultar el marcador por defecto de Slick */
.slick-dots li button:before {
	content: "" !important;
	display: none !important; /* mata el puntito de Slick */
}

/* 2) Ocultar los NÚMEROS reales del botón */
.slick-dots li button {
	font-size: 0 !important; /* el truco clave */
	line-height: 0 !important; /* por si el tema lo fuerza */
	text-indent: -9999px; /* respaldo extra */
	overflow: hidden;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	padding: 0;
	border: 0;
	background: rgb(217, 217, 217); /* inactivo */
	cursor: pointer;
}

/* 3) Activo */
.slick-dots li.slick-active button {
	background: rgb(72, 95, 248) !important;
}

/* Accesibilidad y focos bonitos (opcional) */
.slick-dots li button:focus {
	outline: 2px solid rgba(72, 95, 248, 0.4);
	outline-offset: 2px;
}

.slick-dots li button {
	font-size: 0 !important; /* el truco: el número existe pero no se ve */
	line-height: 0 !important;
	text-indent: -9999px; /* lo manda fuera de vista */
	overflow: hidden;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgb(217, 217, 217); /* inactivo */
	border: none;
	padding: 0;
	cursor: pointer;
}

.slick-dots li.slick-active button {
	background: rgb(72, 95, 248);
}

/* quitar el pseudo por defecto */
.slick-dots li button:before {
	display: none !important;
	content: "";
}

.bannerfotona {
	padding: 151px 33px 151px 33px;
	color: #fff;
	text-align: center;
	background-image: url(../img/bannerfotona.png);
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	font-size: 43px;
	line-height: 48px;
	margin: 84px 0 33px 0;
}
.bannerfotona span {
	display: block;
}

footer {
	background-color: rgb(72, 95, 248);
	padding-bottom: 20px;
	padding-top: 33px;
}
footer .text-right {
	text-align: right;
}
footer ul li {
	margin-bottom: 2px;
}
footer ul li a {
	color: #fff;
}
footer p {
	color: #fff;
	font-size: 12px;
}
footer p a {
	color: #fff;
}
footer h2 {
	color: #fff;
	font-size: 20px;
	padding-bottom: 12px;
	border-bottom: solid 1px rgb(122, 140, 255);
	margin-bottom: 20px;
}
footer .col-md-6 {
	color: #fff;
	padding-top: 12px;
}
footer .col-md-6 a {
	color: #fff;
}
footer ul a {
	color: #fff;
}
footer ul a span {
	color: #fff;
}
footer ul a:hover {
	opacity: 0.8;
}
footer ul li {
	color: #fff;
}
footer .icono1 {
	background-image: url(../img/mdi_email.svg);
	background-repeat: no-repeat;
	padding-left: 33px;
}
footer .icono2 {
	background-image: url(../img/mingcute_phone-fill.svg);
	background-repeat: no-repeat;
	padding-left: 33px;
}
footer .icono3 {
	background-image: url(../img/carbon_location-filled.svg);
	background-repeat: no-repeat;
	padding-left: 33px;
	margin-top: 12px;
}
footer .borde {
	border-right: solid 1px rgba(0, 0, 0, 0.4);
	border-left: solid 1px rgba(0, 0, 0, 0.4);
	padding-left: 33px;
}
footer .borde2 {
	border-top: solid 1px rgba(0, 0, 0, 0.4);
	padding-top: 12px;
}
footer .pad1 {
	padding-left: 33px;
}
footer .pad1 a:hover {
	opacity: 0.8;
}
footer .barrita {
	height: 4px;
	width: 41px;
	background-color: rgb(229, 27, 137);
	float: right;
	margin: 12px 0 12px 0;
}

.redespie img {
	filter: brightness(0) invert(1);
}

.news {
	background-color: rgb(245, 245, 245);
	padding-top: 33px;
}
.news h4 {
	color: rgb(72, 95, 248);
	font-weight: 600;
}
.news input[type=email] {
	color: #000;
	border: none;
	border-bottom: solid 1px rgb(189, 188, 188);
	width: 100%;
	text-align: center;
	padding: 10px;
	background-color: transparent;
	margin-bottom: 12px;
	outline: none;
	box-shadow: none;
}
.news input[type=email]::-moz-placeholder {
	color: #000;
	opacity: 1;
}
.news input[type=email]::placeholder {
	color: #000;
	opacity: 1;
}
.news input[type=submit] {
	background-color: transparent;
	color: rgb(229, 27, 137);
	border: solid 1px rgb(229, 27, 137);
	border-radius: 84px;
	padding: 12px 33px 12px 33px;
	font-weight: 600;
	display: block;
	margin: auto;
	outline: none;
	box-shadow: none;
}
.news input[type=submit]:hover {
	background-color: rgb(229, 27, 137);
	color: #fff;
}
.news img {
	width: 100%;
}

.gracias {
	max-width: 700px;
	margin: auto;
	padding-top: 51px;
}
.gracias h2 {
	font-weight: bold;
	font-size: 33px;
	color: #000;
	padding-bottom: 20px;
	text-align: center;
}
.gracias img {
	display: block;
	margin: auto;
}
.gracias p {
	text-align: center;
	padding-top: 12px;
}

.copy {
	background-image: url(../img/copy.svg);
	height: 12px;
	background-size: cover;
}

.registronews {
	padding-bottom: 12px;
}
.registronews input[type=email] {
	border: solid 1px rgb(134, 114, 165);
	font-size: 16px;
	color: #fff;
	background-color: transparent;
	width: 200px;
	padding: 4px 14px 4px 14px;
}
.registronews input[type=submit] {
	border: solid 1px rgb(134, 114, 165);
	border-radius: 6px;
	color: #fff;
	padding: 5px 14px 6px 14px;
	background-color: rgb(134, 114, 165);
	font-size: 16px;
	margin-left: 2px;
}

.nav {
	position: fixed;
	padding: 20px;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 999999;
	width: 100%;
	border-bottom: solid 4px rgb(72, 95, 248);
}

.modalmenu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	background-image: url(../img/Layer_1.png);
	background-repeat: no-repeat;
	background-position: bottom right;
	z-index: 999999;
	/*opacity: 0;
	visibility: hidden;*/
	display: none;
}
.modalmenu .foto {
	width: 96%;
	height: 100vh;
	-o-object-fit: cover;
	   object-fit: cover;
}
.modalmenu .links {
	position: relative;
	background-color: #fff;
}
.modalmenu .links li,
.modalmenu .links a {
	color: rgb(68, 73, 85);
	font-size: 33px;
	font-weight: 600;
	line-height: 43px;
}
.modalmenu .links li:hover,
.modalmenu .links a:hover {
	color: rgb(72, 95, 248);
	cursor: pointer;
}
.modalmenu .links ul {
	display: none;
}
.modalmenu .links ul li {
	line-height: 20px;
}
.modalmenu .links ul li span {
	color: rgb(72, 95, 248);
}
.modalmenu .links ul a {
	font-size: 20px;
	line-height: 33px;
	font-weight: 400;
}
.modalmenu .sub {
	position: absolute;
	left: 241px;
	top: 52px;
	border-left: solid 1px rgb(189, 188, 188);
	padding-left: 33px;
}
.modalmenu .sub a {
	font-size: 20px;
}
.modalmenu .active {
	color: rgb(72, 95, 248) !important;
}
.modalmenu .redes img:hover {
	opacity: 0.9;
}

.modalmenu.active {
	/*opacity: 1;
	visibility: visible;*/
	display: block;
}

@media (max-width: 1300px) {
	.prods .col-md-6 {
		padding-bottom: 33px;
	}
}
@media (max-width: 450px) {
	.quienes .col-md-5 {
		padding-top: 221px;
	}
	.quienes h2 {
		font-size: 29px;
	}
	.quienes .borde {
		top: 298px;
		width: 300px;
	}
	.carouselhome .texto {
		left: 20px;
		width: auto;
	}
	.carouselhome .texto p {
		max-width: 300px;
	}
	.nros .flechita {
		margin-left: 241px;
	}
	.nros .item {
		margin-bottom: 15px;
		text-align: center;
	}
	.nros {
		padding-bottom: 62px;
	}
	.servicios .col-md-3 {
		margin-bottom: 33px;
		text-align: center;
	}
	.navbar-toggler,
	.navbar-toggler:focus {
		border: none;
		outline: none;
		box-shadow: none;
	}
	.navbar-toggler-icon {
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
	}
	.nros .item p {
		font-size: 20px;
	}
	.nros .item h4 {
		font-size: 52px;
	}
	.servicios h3 {
		text-align: center;
	}
	.hablemos {
		position: relative;
		padding: 15px;
		top: auto;
	}
	.fondo {
		height: auto;
	}
	footer {
		padding: 33px 0 33px 0;
	}
	footer .borde {
		border: none;
		border-top: solid 1px rgba(0, 0, 0, 0.4);
		border-bottom: solid 1px rgba(0, 0, 0, 0.4);
		padding: 14px 15px 14px 15px;
	}
	footer .pad1 {
		padding: 15px;
	}
	footer .text-right {
		text-align: center;
	}
	footer ul li {
		margin-bottom: 8px;
	}
	footer .icono2 {
		padding-top: 12px;
	}
	footer .icono3 {
		line-height: 18px;
	}
	footer .borde2 {
		border: none;
	}
	footer .pad1 {
		margin-bottom: 33px;
	}
	footer .copy {
		text-align: center;
		font-size: 14px;
	}
	.hablemos .datos {
		background-color: #fff;
		padding: 20px;
		margin-top: 33px;
	}
	.hablemos {
		padding-top: 33px;
		padding-bottom: 33px;
		background-size: cover;
	}
	footer p {
		padding-bottom: 20px;
		font-size: 14px;
	}
	footer ul {
		line-height: 14px;
		margin-bottom: 20px;
	}
	.empresas {
		margin: 0;
	}
	.empresas h3 {
		line-height: 41px;
		margin-bottom: 41px;
	}
	.empresas p {
		padding-bottom: 33px;
		font-size: 14px;
	}
	.carouselhome .texto h1 {
		font-size: 41px;
		line-height: 43px;
	}
	.hablemos h4 span {
		display: inline;
	}
	.empresas .col-md img {
		opacity: 1;
	}
	.idiomas a:first-of-type {
		padding-right: 0;
		padding-left: 0;
	}
	.datos .col-md-4 {
		padding-bottom: 20px;
	}
	.idiomas a {
		margin-right: 12px;
	}
	.registronews {
		padding-bottom: 0;
	}
	footer p {
		padding-bottom: 0;
	}
	.navbar {
		background-color: #333544;
	}
	.headernosotros .pad {
		padding: 33px;
	}
	.headernosotros .pad h2 {
		margin-bottom: 20px;
	}
	.headernosotros .pad h3 {
		font-size: 51px;
		line-height: 51px;
	}
	.nosotros {
		padding: 33px 0 33px 0;
		background-color: rgb(245, 245, 245);
		background-repeat: no-repeat;
	}
	.nosotros p {
		padding-top: 20px;
	}
	.news h4 {
		margin-top: 12px;
	}
	.headercontacto h2 {
		font-size: 51px;
		line-height: 51px;
	}
	.headercontacto h3 {
		font-size: 20px;
	}
	.vias li {
		text-align: left;
	}
	.headerblog h2 {
		font-size: 41px;
		line-height: 41px;
	}
	.headerblog h2 .enter {
		display: inline;
	}
	.headerblog h3 {
		max-width: none;
		padding-right: 33px;
	}
}
.wpcf7 form .wpcf7-response-output {
	margin: 0;
}

.wpcf7 form.sent .wpcf7-response-output {
	background-color: rgb(134, 114, 165);
	color: #fff;
	border: solid 1px rgb(72, 95, 248);
	margin-top: 6px;
}

a.boton {
	display: inline-block;
	padding: 12px 20px 12px 20px !important;
	color: #000;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 8px;
	position: relative;
	transition: all 0.3s ease;
	background-color: transparent;
}

a.boton::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
	opacity: 0;
	transition: opacity 0.3s ease;
}

a.boton:hover {
	background-color: #007bff; /* azul */
	border: 1px solid white;
	box-shadow: 0 0 12px rgba(0, 123, 255, 0.6);
}

.redes a:hover {
	opacity: 0.8;
}

.asesorate {
	padding: 33px;
	margin-top: 33px;
	background-color: rgb(248, 248, 249);
}
.asesorate h2 {
	text-align: center;
	color: #000;
	margin-bottom: 33px;
}
.asesorate input[type=text],
.asesorate input[type=email],
.asesorate textarea {
	width: 100%;
	padding: 10px;
	border: solid 1px rgb(189, 188, 188);
	margin-bottom: 15px;
}
.asesorate input[type=submit] {
	background-color: transparent;
	border: solid 1px rgb(229, 27, 137);
	border-radius: 100px;
	width: 294px;
	padding: 12px 20px 12px 20px;
	color: rgb(229, 27, 137);
	display: block;
	margin: 20px auto auto auto;
	font-size: 20px;
	font-weight: bold;
}
.asesorate input[type=submit]:hover {
	background-color: rgb(229, 27, 137);
	color: #fff;
}

a.boton:hover::before {
	opacity: 1;
}

.wpcf7 form.sent .wpcf7-response-output {
	margin-bottom: 6px;
}

.navbar {
	background-color: #fff;
}

.animate__delay-02 {
	animation-delay: 0.2s !important;
}

.animate__delay-03 {
	animation-delay: 0.3s !important;
}

.animate__delay-04 {
	animation-delay: 0.4s !important;
}

.animate__delay-05 {
	animation-delay: 0.5s !important;
}

.hamburger {
	width: 30px;
	height: 22px;
	cursor: pointer;
	position: fixed;
	right: 33px;
	top: 28px;
	z-index: 9999999999;
}

.hamburger span {
	background: #333;
	height: 4px;
	width: 100%;
	position: absolute;
	left: 0;
	transition: 0.3s ease;
	border-radius: 2px;
}

.hamburger:hover span {
	background-color: rgb(72, 95, 248);
}

.hamburger span:nth-child(1) {
	top: 0;
}

.hamburger span:nth-child(2) {
	top: 9px;
}

.hamburger span:nth-child(3) {
	top: 18px;
}

/* Active state - transforms into X */
.hamburger.active span:nth-child(1) {
	transform: rotate(45deg);
	top: 9px;
}

.hamburger.active span:nth-child(2) {
	opacity: 0;
}

.hamburger.active span:nth-child(3) {
	transform: rotate(-45deg);
	top: 9px;
}

.iconowhatsapp {
	position: fixed;
	right: 12px;
	bottom: 120px;
	z-index: 99;
}
.iconowhatsapp a {
	color: #fff;
	font-size: 33px;
	padding: 6px 12px 6px 12px;
	border-radius: 33px;
	background-color: #25d366;
}

@media (max-width: 1300px) {
	.modalmenu .links ul a {
		font-size: 18px;
	}
}
#mensaje_newsletter {
	padding: 12px;
	background-color: rgb(72, 95, 248);
	color: #fff;
	border-radius: 20px;
}

.slick-dots li:only-child {
	display: none;
}

@media (max-width: 450px) {
	.home .texto {
		top: 0;
		left: 0;
		padding: 12px;
		background-color: rgba(72, 95, 248, 0.8);
		width: 100%;
	}
	.home video {
		margin-top: 87px;
	}
	.home .texto h2 {
		font-size: 20px;
		line-height: 21px;
		text-align: center;
		margin-bottom: 0;
	}
	.home .texto h2 .enter {
		display: inline;
	}
	.home video {
		height: 600px;
	}
	.home ul li a {
		border-radius: 100px !important;
		margin-bottom: 12px;
		text-align: center;
	}
	.prods h4 {
		font-size: 22px;
	}
	.prods h2 {
		margin-top: 0;
	}
	.prods p {
		padding-right: 20px;
	}
	.prods h2 {
		font-size: 28px;
		line-height: 30px;
	}
	.prods h2 span {
		font-size: 22px;
	}
	.prods a {
		padding: 6px;
	}
	.news .col-md-1 img {
		width: 51px;
	}
	.prods .row {
		--bs-gutter-x: 0;
	}
	footer .barrita {
		margin: 12px auto 12px auto;
		float: none;
	}
	#modalmenu .col-md-7 {
		display: none;
	}
	#modalmenu {
		padding: 20px;
	}
	.modalmenu .sub {
		position: relative;
		top: auto;
		left: auto;
		border: none;
		padding: 0;
	}
	.headerblog {
		height: 433px;
	}
	.blogdetalle {
		margin-top: 78px;
		background-size: 233%;
	}
	.blogdetalle h2 {
		font-size: 22px;
	}
	.blog h5 {
		font-size: 21px;
	}
	.headercontacto {
		height: 451px;
	}
	.hablemos h3 {
		padding: 22px;
		font-size: 22px;
	}
	footer .icono2 {
		background-position: 0 12px;
	}
	.headerdetalle .pad {
		padding: 0 33px 33px 33px;
	}
	.headerdetalle .pad h1 {
		padding-right: 0;
	}
	.headerdetalle .foto {
		height: 300px;
	}
	.categoriaslistado h2 {
		font-size: 22px;
	}
	.productos p {
		width: 100%;
		font-size: 15px;
	}
	.headerproductos h1 {
		font-size: 41px;
		line-height: 41px;
	}
	.headerproductos h1 span {
		display: inline;
	}
	.headerproductos h1 {
		padding-top: 33px;
	}
	.headerdetalle .pad h3 {
		font-size: 37px;
		line-height: 41px;
	}
	.headerdetalle .pad h1 {
		font-size: 18px;
	}
	.headerdetalle {
		margin-top: 0;
		padding-top: 0;
	}
	.carouseldetalle .slick-next {
		right: 12px;
	}
	.carouseldetalle .slick-prev {
		left: 12px;
	}
	.carouseldetalle img {
		margin: 0;
	}
	.carouseldetalle .item {
		margin: 0;
	}
	.bannerfotona {
		margin-top: 33px;
		padding: 33px;
		font-size: 30px;
		line-height: 36px;
	}
	.bannerfotona span {
		display: inline;
	}
	.resultados .col-md-4 {
		margin-bottom: 33px;
	}
	.detalle1 .borde {
		border: none;
	}
	.headerdetalle .row {
		--bs-gutter-x: 0;
	}
	footer {
		padding: 33px 12px 33px 12px;
	}
	.headernosotros .foto {
		height: 300px;
		-o-object-fit: cover;
		   object-fit: cover;
	}
	.productos .col-md-4 img {
		width: 100%;
		max-width: 280px;
	}
	.headerproductos h1 br {
		display: none;
	}
	.headerdetalle {
		padding-top: 0px;
	}
	.headerproductos h1 {
		font-size: 36px;
	}
	.productos .col-md-4 span {
		opacity: 1;
	}
	.headercontacto {
		padding: 120px 0 0 0;
	}
	.headercontacto h2,
	.headercontacto h3 {
		width: 96%;
		margin: auto;
		padding-right: 15px;
		padding-left: 15px;
	}
	.headercontacto h2 {
		font-size: 44px;
		line-height: 48px;
		margin-bottom: 12px;
	}
	.home .texto ul {
		display: none;
	}
	.catsmobile {
		padding: 12px;
	}
	.catsmobile ul li {
		max-width: 92%;
		margin: auto;
	}
	.catsmobile ul li a {
		display: block;
		padding: 10px 15px 10px 15px;
		border: solid 1px rgb(72, 95, 248);
		color: #fff;
		font-size: 16px;
		background-color: rgb(72, 95, 248);
		border-radius: 33px;
	}
	.home video {
		height: auto;
	}
}
.datos h3,
.datos .barrita {
	opacity: 0;
	transform: translateX(-20px); /* efecto barrido lateral */
	transition: all 0.5s ease;
}

.sombra a:hover .datos h2 {
	opacity: 1;
	transform: translateX(0);
	transition-delay: 0s; /* entra primero */
}

.sombra a:hover .datos h3 {
	opacity: 1;
	transform: translateX(0);
	transition-delay: 0.2s; /* entra después */
}

.sombra a:hover .datos .barrita {
	opacity: 1;
	transform: translateX(0);
	transition-delay: 0.4s; /* entra último */
}