:root{
	--rojo: #E61C1B;
	--negro: #111;
}
body {
	font-family: 'Roboto', sans-serif;
}
body.home{
	min-height: 100vh; 
	display: flex;
	flex-direction: column;
}
.home section{
	flex-grow: 1;
    flex-direction: column;
    display: flex;
}
.home .accesos figure{
	height: 100%;
	max-height: 88vh;
    margin: 0;
}
.home .accesos figure img{
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.home .accesos figure.maquinaria .textos{
	background-color: rgba(0, 0, 0, 0.6);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
}
.home .accesos figure.maquinaria .textos .borde-left{
	border-left: 20px solid var(--rojo);
	padding-left: 2rem;
}
.home .accesos figure .textos h2{
	font-size: 48px;
	font-weight: 700;
	line-height: 50px;
	color: #fff;
}
.home .accesos figure.ingenieria .textos{
	background-color: rgba(39, 44, 64, 0.51);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
}
.home .accesos figure.ingenieria .textos .borde-right{
	border-right: 20px solid var(--rojo);
	padding-right: 2rem;
}
@media screen and (max-width: 767px){
	.home .accesos figure img{
		min-height: 400px;
	}
	.home .accesos figure .textos h2{
		font-size: 37px;
		line-height: 40px;
	}
}



h1,h2,h3,h4,h5,h6{
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
}
p,li{
	font-weight: 300;
}
.linea-roja{
	background-color: var(--rojo);
	height: 1px;
	width: 80px;
}
.btn{
	border-radius: 20px;
	font-family: 'Roboto Condensed', sans-serif;
}
.btn-color{
	background-color: var(--rojo);
	color: #fff;
	text-transform: uppercase;
	font-weight: 500;
	padding: 6px 18px;
}
.btn-color:is(:hover,:focus){
	background-color: #BC1615!important;
	color: #fff!important;
}
.btn-outline-color{
	color: var(--rojo);
	border-color: var(--rojo);
	background-color: transparent;
	text-transform: uppercase;
	font-weight: 500;
	padding: 6px 18px;
}
.btn-outline-color:is(:hover,:focus){
	background-color: var(--rojo)!important;
	color: #fff!important;
}
.btn-blanco{
	background-color: #fff;
	color: var(--rojo);
	text-transform: uppercase;
	font-weight: 500;
	padding: 6px 18px;
}
.btn-blanco:is(:hover,:focus){
	background-color: transparent!important;
	color: #fff!important;
	border-color: #fff!important;
}
.text-color{
	color: var(--rojo);
}
.text-small{
	font-size: 14px;
}
.text-12{
	font-size: 12px;
}
.text-justify{
	text-align: justify;
}

#navbar{
	background-color: var(--negro);
}

#navbar .navbar-brand{
	z-index: 999;
}
#navbar .navbar-brand img{
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	z-index: 999;
}
#navbar.navbar-shrink .navbar-brand img{
	width: 100px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
#navbar .input-group {
    border-radius: 25px!important;
    border: 1px solid #fff;
/*    height: 30px;*/
    overflow: hidden;
}
#navbar .input-group #buscar,
#navbar .input-group #buscar2{
	background-color: transparent;
	color: #f6f6f6;
	border: 0;
	font-weight: 300;
	font-size: 14px;
}
#navbar .input-group #buscar::placeholder,
#navbar .input-group #buscar2::placeholder{
	font-style: italic;
	font-weight: 300;
}
#navbar .nav-link{
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing: 1.5px;
	font-size: 14px;
	padding: 12px 10px;
	border-bottom: 2px solid transparent;
}
#navbar .offcanvas .dropdown .dropdown-menu .dropdown-item{
	font-family: 'Roboto Condensed', sans-serif;
	letter-spacing: 1.5px;
	font-size: 14px;
	font-weight: 300;
}
#navbar .offcanvas .dropdown .dropdown-menu-dark .dropdown-item:is(:focus){
	background-color: #222!important;
	color: #fff!important;
}
#navbar .nav-link.active{
	border-bottom-color: var(--rojo
	);
}
#navbar .offcanvas.text-bg-dark{
	background-color: var(--negro)!important;
}

/*CSS Icono Carro de Compras*/
.btn-carro{
    font-size: 1.4rem;
    padding-right: .1rem;
}
.btn-carro .badge {
	position: absolute;
	top: -1px;
	right: -9px;
	height: 18px;
	width: 18px;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
    font-weight: 400;
    font-size: 10px;
    background-color: red;
	padding:0;
	color: #fff;
}
/*CSS Icono Carro de Compras*/

#results, #results2{
	width: 100%;
    max-height: 300px;
    text-align: left;
    list-style: none;
    padding: 5px 15px;
    overflow-y: auto;
    background-color: #fff;
    border-radius: 10px;
    position: absolute;
    z-index: 99;
}
#results a, #results2 a{
	text-decoration: none;
	font-size: 14px;
	color: #666;
}
#results a:hover, #results2 a:hover{
	color: var(--rojo);
}
footer{
	background-color: var(--negro);
}
footer h6{
	font-size: 18px;
}
footer li a:hover{
	color: var(--rojo)!important;
}
footer .suscribir .form-control{
	border-radius: 25px;
	background-color: transparent;
	color: #f1f1f1;
}
footer .suscribir .form-control::placeholder{
	font-style: italic;
	font-weight: 300;
	font-size: 14px;
}
footer > .border-top{
	border-color: #2b2b2b!important;
}
footer .social-foot a{
	font-size: 18px;
}
footer .social-foot a:hover{
	color: var(--rojo)!important;
}
.form-control,
.form-select{
	border-radius: 25px;
}

.carousel-inner{
	margin-top: 130px;
}
.cuadro-rojo{
	position: absolute;
	top: 0;
	left: 0;
	width: 40%;
	min-width: 251px;
	height: 100%;
	background-color: var(--rojo);
}
.detalle > .cuadro-rojo{
	width: 10%;
	max-height: 560px;
}
.carousel-item > .cuadro-rojo{
	width: 20%;
}
.cuadro-rojo + [class^='col-'] > img{
	aspect-ratio: 1;
	object-fit: contain;
}
.banner-seccion{
	margin-top: 120px;
	height: 250px;
	background: no-repeat center center scroll;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-color: #444;
	background-blend-mode: multiply;
}

.titulo-slide{
	font-size: 60px;
	line-height: 60px;
/*	font-weight: 700;*/
/*	font-style: italic;*/
}
.banner-seccion .titulo-slide{
	font-size: 50px;
	line-height: 50px;
}
.titulo-gris{
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	position: absolute;
	top: -10px;
	left: -25px;
	color: rgba(215, 215, 215, 0.37);
}
.texto-slide{
	border-left: 1px solid var(--rojo);
	padding-left: 1rem;
}
.texto-slide p{
	margin-bottom: 0;
}
.carousel-indicators{
    right: 0;
    left: inherit;
    margin-right: 3%;
    margin-left: 3%;
    top: 10%;
    bottom: 11rem;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.carousel-indicators button{
	border-radius: 50%!important;
	height: 15px!important;
	width: 15px!important;
	border: none!important;
	background-color: #DFDADA!important;
	margin: 4px 0;
	opacity: 1!important;
}
.carousel-indicators button.active{
	background-color: var(--rojo)!important;
}

.titulo{
	color: #333;
	font-size: 40px;
}
.subtitulo{
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	color: #444;
}

.cuadro-bg-gris{
	height: 120px;
	background-color: #F5F5F5;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
.bg-gris{
	background-color: #F5F5F5;
}
.bg-color{
	background-color: var(--rojo);
}
.noticias-inicio img{
	aspect-ratio: 1.1;
	object-fit: cover;
	object-position: center;
}
.noticias img{
	aspect-ratio: 1.5;
	object-fit: cover;
	object-position: center;
}

#categorias.owl-carousel .owl-stage-outer{
	padding-top: 4rem;
}
#categorias .card{
	border-radius: 28px;
}
#categorias .card figure{
	margin-top: -4rem;	
}
#categorias .card figure img{
	aspect-ratio: 1.2;
	object-fit: contain;
	object-position: center;
}
#categorias .card .card-footer a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
#categorias .card .card-footer a p{
	font-size: 12px;
	font-family: 'Roboto Condensed', sans-serif;
	color: #D7D7D7;
	/*	opacity: 0;*/
	/*	transform: translateY(20px);*/
	margin-top: 25px;
    position: absolute;
    transition: all .3s ease;
    opacity: 0;

}
#categorias .card .card-footer a:is(:focus,:hover) p{
	margin-top: -8px;
	opacity: 1;
}
#categorias .card .card-footer a .btn{
	font-size: 24px;
	line-height: 24px;
	color: #D7D7D7;
	height: 40px;
	width: 40px;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: all .3s ease;
}
#categorias .card .card-footer a:is(:focus,:hover) .btn{
	background-color: var(--negro);
	color: #fff;
	transform: translateY(25px);
}
#categorias .owl-nav {
    display: block!important;
    text-align: right;
    margin-top: 0.5rem;
}
#categorias .owl-nav .owl-prev span {
    background-color: #fff;
    border: 1px solid var(--rojo);
    height: 45px;
    width: 45px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--rojo);
    transition: all .2s ease-in-out;
}
#categorias .owl-nav .owl-next span {
    background-color: var(--rojo);
    border: 1px solid var(--rojo);
    height: 45px;
    width: 45px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.3rem;
    color: #fff;
    transition: all .2s ease-in-out;
}
#categorias .owl-nav .owl-prev span:is(:hover,:focus){
	background-color: var(--rojo);
	color: #fff;
}
#categorias .owl-nav .owl-next:is(:hover,:focus) span{
	background-color: #BC1615;
}

#clientes .owl-item figure img{
	width: 160px!important;
	opacity: .6;
	transition: all .3s ease;
}
#clientes .owl-item figure:hover img{
	opacity: 1;
}
#clientes .owl-dots,
#noticias .owl-dots{
	text-align: center;
}
#clientes button.owl-dot,
#noticias button.owl-dot{
	height: 12px;
	width: 12px;
	border-radius: 50%;
	background-color: #d7d7d7!important;
	margin: 5px 3px;
}
#clientes button.owl-dot.active,
#noticias button.owl-dot.active{
	background-color: var(--rojo)!important;
}

#categorias2 figure{
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 50%;
	border: 3px solid var(--rojo);
	background-color: #fff;
}
#categorias2 figure img{
	height: 100%;
	object-fit: contain;
}

.subcategorias li{
	padding: .8rem 1rem;
	background-color: #f2f2f2;
	margin-bottom: .5rem;
}
.subcategorias li a{
	color: var(--rojo);
}
.subcategorias li a:is(:hover, :focus){
	color: var(--negro);
}

.servicios figure{
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}
.servicios figure img{
	aspect-ratio: .9;
	width: 100%;
	object-fit: cover;
}
.servicios figure .gradiente{
	background: linear-gradient(to top, #000, 50%, rgba(0, 0, 0, 0));
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 50%;
}
.servicios figure .cont-text{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}

.header-detalle{
	margin-top: 145px;
}
.breadcrumb .breadcrumb-item a{
	text-decoration: none;
	color: var(--rojo);
}
.nav-pills .nav-item {
	margin: 0 5px;
}
.nav-pills .nav-item .nav-link{
	background-color: #f1f1f1;
	font-family: 'Roboto Condensed', sans-serif;
	color: #666;
	text-transform: uppercase;
}
.nav-pills .nav-item .nav-link.active{
	background-color: var(--negro);
	color: #fff;
}

.otros-equipos li{
	background-color: #f1f1f1;
	padding: .7rem 1rem;
	margin-bottom: .5rem;
}
.otros-equipos li.active{
	background-color: var(--rojo);
}
.otros-equipos li.active a{
	color: #fff!important;

}
#modelos-producto .accordion-item{
	margin-bottom: 1rem;
}
#modelos-producto .accordion-button{
	border-radius: 10px;
	background-color: var(--rojo);
	color: #fff;
}
#modelos-producto .accordion-button.collapsed{
	background-color: #E8E7E7;
	color: #333;
}
#modelos-producto .accordion-button:not(.collapsed)::after {
    filter: invert(1) sepia(1) hue-rotate(355deg) saturate(1000%);
}


.productos .card{
	border-radius: 20px;
	background-color: #F6F6F6;
}
.productos .card-body h6.subtitulo{
	font-size: 18px;
}
.productos .card-footer{
	background-color: transparent;
}
.precio-oferta{
	font-size: 14px;
	text-decoration: line-through;
}

/*Custom Radios Color - Tallas*/
	.select-color{
		width: 40px;
		height: 40px;
		margin-right: .3rem;
		margin-bottom: .4rem;
		position: relative;
		padding: 0;
	}
	.select-tallas{
		width: 45px;
		min-height: 32px;
		margin-right: .3rem;
		margin-bottom: .4rem;
		position: relative;
		padding: 0;
	}

	/* Hide the browser's default radio button */
	.select-color input,
	.select-tallas input{
		position: absolute;
		opacity: 0;
		cursor: pointer;
		margin: 0;
	}

	/* Create a custom radio button */
	.select-color .cont-color{
		position: absolute;
		top: 0;
		left: 0;
		height: 40px;
		width: 40px;
		padding: 4px;
		border:1px solid #e3e3e3;
		background-color: #fff;
	}
	.select-tallas .cont-talla{
		position: absolute;
		top: 0;
		left: 0;
		padding: 4px 0px;
		width: 45px;
		border: 1px solid #e3e3e3;
		font-size: 14px;
		background-color: #fff;
	}

	.select-color .cont-color .color{
		height: 100%;
		width: 100%;
	}

	/* On mouse-over */
	.select-color:hover input ~ label .cont-color,
	.select-tallas:hover input ~ .cont-talla{
		border-color: #80bdff;
		box-shadow: 0 0 0 0.15rem rgba(0,123,255,.25);
		cursor: pointer;
	}

	/* Show the indicator when checked */
	.select-color input:checked ~ label .cont-color,
	.select-tallas input:checked ~ .cont-talla {
		border-color: #80bdff;
		box-shadow: 0 0 0 0.15rem rgba(0,123,255,.25);
	}

/*Fin Custom Radios Color - Tallas*/

.productos .card img{
	width: 100%;
	height: 250px;
	object-fit: cover;
}

.quantity {
	position: relative;
}
input.error {
    border-color: #F44336!important;
    outline: 0!important;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(244, 67, 54, .6)!important;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(244, 67, 54, .6)!important;
}
.alerta .alert {
	position: fixed;
	bottom: 0;
	width: 100%;
	border-radius: 0;
	margin: 0;
	padding: 25px 15px;
	border: none;
	z-index: 9999;
	text-align: center;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{
	-webkit-appearance: none;
	margin: 0;
}
input[type=number]{
	-moz-appearance: textfield;
}
.quantity input {
	width: 85%;
	height: 42px;
	line-height: 1.65;
	float: left;
	display: block;
	padding: 0;
	margin: 0;
	padding-left: 15px;
	border: 1px solid #eee;
	border-radius: 10px;
	overflow: hidden;
}
.quantity input:focus {
	outline: 0;
}
.quantity-nav {
	float: left;
	position: relative;
	height: 42px;
}
.quantity-button {
	position: relative;
	cursor: pointer;
	border-left: 1px solid #eee;
	width: 20px;
	text-align: center;
	color: #333;
	font-size: 13px;
	font-family: "Trebuchet MS", Helvetica, sans-serif !important;
	line-height: 1.7;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}
.quantity-button.quantity-up {
	position: absolute;
	height: 50%;
	top: 0;
	border-bottom: 1px solid #eee;
}
.quantity-button.quantity-down {
	position: absolute;
	bottom: -1px;
	height: 50%;
}
#lightgallery img{
	aspect-ratio: 1;
	object-position: center;
	object-fit: contain;
	background-color: #fff;
}
#lightgallery .img-small img{
	aspect-ratio: 1.3;
	object-fit: cover;
	object-position: center;
}
.menu-user .nav-link{
	background-color: #f1f1f1;
	margin-bottom: .5rem;
	border-radius: 10px;
	color: #666;
}
.menu-user .nav-link i{
	margin-right: .2rem;
}
.menu-user .nav-link.active,
.menu-user .nav-link:is(:hover,:focus){
	color: var(--rojo);
}
.mapa iframe{
	width: 100%;
}
.wsp{
    font-size: 11px;
    font-weight: 400;
    font-family: sans-serif;
    letter-spacing: 0;
    line-height: 1px;
    padding: 3px 7px;
    letter-spacing: 0;
    text-transform: none;
}
.whatsapp {
    position: fixed;
    z-index: 9999!important;
    border-radius: 50%;
    width: 62px;
    height: 62px;
    bottom: 15px;
    left: 15px;
    background-color: #25d366;
    padding: 10px 10px 9px 12px;
    animation: 1s infinite alternate shimmy;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
}
.whatsapp i {
    font-size: 36px;
    color: #fff;
}
@keyframes shimmy{
    0%{
        transform:translate(0,0)
    }
    100%{
        transform:translate(5px, -5px)
    }
}

@media (max-width: 1024px) {

}
@media screen and (min-width: 992px){
	#navbar .navbar-brand img{
		margin-bottom: -3rem;
	}
	#navbar > .container-fluid{
		border-top: 1px solid #2b2b2b;
	}
	#navbar > .container-fluid > .container{
		padding-left: 145px;
	}
	#navbar .input-group{
		width: 300px;
	}
	
}
@media screen and (max-width: 991px){
	#navbar .navbar-brand img{
		margin-bottom: 0;
	}
}
@media screen and (min-width: 768px){
	.titulo-gris{
		font-size: 100px;
		line-height: 80px;
	}
	.carousel-item{
		padding-bottom: 11rem;
	}
	.cont-categorias{
		margin-top: -11rem;
	}
	.carousel-item > .cuadro-rojo{
		width: 15%;
		min-width: 160px;
	}
}
@media screen and (max-width: 767px) {
	.titulo-slide{
		font-size: 48px;
		line-height: 48px;
		font-weight: 700;
	}
	.titulo-gris{
		font-size: 80px;
		line-height: 70px;
	}
	.detalle > .cuadro-rojo{
		aspect-ratio: .9;
		height: auto;
	}
}

@media (max-width: 499px){
	/*#navbar .navbar-brand{
		margin-right: 0;
		width: 100%;
		text-align: center;
		margin-bottom: .5rem;
	}*/
	#navbar .navbar-brand img{
		width: 90px;
	}
	#navbar.navbar-shrink .navbar-brand img{
		width: 80px;
	}
	.carousel-inner, .banner-seccion {
	    margin-top: 100px;
	}
	.header-detalle {
	    margin-top: 115px;
	}
}