@import url('https://fonts.googleapis.com/css2?family=Fjalla+One&family=Jost:ital,wght@0,100..900;1,100..900&display=swap');

:root {
	--fuente_base: "Jost", sans-serif;
	--fuente_secundaria: "Fjalla One", sans-serif;
	--radiado_10:10px;
	--radiado_40:40px;
	--purpura: #5a587b;
	--morado: #524c6b;
	--negro: #252525;
	--gris: #f8f8f8;
	--blanco: #ffffff
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
}

* {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-text-size-adjust: none;
	box-sizing: border-box;
	outline: none;
	backface-visibility: hidden;
	text-rendering: optimizeSpeed;
	scrollbar-width: thin
}

::-webkit-input-placeholder {
	color: var(--negro);
	opacity: 1
}

:-moz-placeholder {
	color: var(--negro);
	opacity: 1
}

::-moz-placeholder {
	color: var(--negro);
	opacity: 1
}

:-ms-input-placeholder {
	color: var(--negro);
	opacity: 1
}

:-webkit-autofill,
:-webkit-autofill:focus {
	background-color: transparent
}

::-webkit-scrollbar {
	width: 5px;
	height: 5px
}

::-webkit-scrollbar-button {
	width: 0;
	height: 0
}

::-webkit-scrollbar-thumb {
	border: none;
	border-radius: 0;
	background: #000000
}

::-webkit-scrollbar-thumb:active {
	background: #000000
}

::-webkit-scrollbar-track {
	border: none;
	border-radius: 0;
	background: #ffffff
}

::-webkit-scrollbar-track:active {
	background: #ffffff
}

::-webkit-scrollbar-corner {
	background: transparent
}

html {
	font-size: 62.5%
}

body {
	position: relative;
	max-width: 1920px;
	margin: 0 auto;
	padding: 0;
	font-family: var(--fuente_base);
	font-size: 1.667rem;
	font-style: normal;
	font-weight: 400;
	background: var(--blanco);
	color: var(--negro);
	text-wrap: pretty
}

body.fancybox-active {
	overflow: hidden
}

img {
	border: 0;
	outline: 0;
	transform-style: preserve-3d
}

input,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="time"],
input[type="date"],
textarea,
select {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	font-family: var(--fuente_base);
	font-style: normal;
	-webkit-appearance: none
}

input[type=number] {
	-moz-appearance: textfield
}

form {
	margin: 0;
	padding: 0
}

a {
	text-decoration: none
}

h1,
h2,
h3,
h4 {
	display: inherit;
	vertical-align: inherit;
	margin: 0;
	padding: 0;
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-weight: inherit;
	font-style: inherit;
	color: currentColor;
	outline: 0;
	text-wrap: balance
}

ol,
ul {
	margin: 0 0 0 40px
}

.italica {
	font-style: italic
}

.limpia {
	clear: both
}

.uppercase {
	text-transform: uppercase
}

.lowercase {
	text-transform: lowercase
}

.centrar {
	text-align: center !important
}

.centrado {
	margin: 0 auto
}

.oculto {
	display: none !important
}

.invisible {
	opacity: 0;
	visibility: hidden
}

.dialog {
	display: none
}

.textos_js {
	display: none
}

.barrido {
	overflow: hidden;
	background: linear-gradient(to right, var(--purpura), var(--purpura) 50%, var(--negro) 50%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 200% 100%;
	background-position: 100%;
	text-decoration: none
}

.contenedor {
	max-width: 1720px;
	margin: 0 auto;
	width: 95%
}

div.format_popup {
	max-width: 960px;
	margin: 0 auto;
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
	cursor: default !important;
	min-width: 260px;
	border-radius: var(--radiado_10);
	background-color: var(--blanco)
}

div.format_popup .tit {
	font-family: var(--fuente_secundaria);
	color: var(--purpura);
	margin-top: 0;
	max-width: 75%;
	font-size: 5rem;
	font-weight: 500;
	line-height: 50px;
	text-wrap: pretty
}

div.format_popup h1,
div.format_popup h2,
div.format_popup h3,
div.format_popup h4,
div.format_popup h5 {
	font-family: var(--fuente_secundaria);
	font-weight: 500;
	font-size: 2.5rem;
	color: var(--purpura);
	margin: 20px 0
}

div.format_popup table,
div.format_popup ul,
div.format_popup p {
	color: var(--negro);
	margin-top: 15px;
	margin-left: 15px;
	font-weight: 400;
	line-height: 1.6;
	list-style: none
}

div.format_popup ol {
	margin-top: 15px;
	margin-left: 15px;
	color: var(--negro);
	font-weight: 500;
	line-height: 1.6
}

div.format_popup ul {
	margin-left: 20px
}

div.format_popup ol {
	margin-left: 40px
}

div.format_popup p {
	margin-left: 0
}

div.format_popup p {
	text-align: justify
}

div.format_popup strong {
	font-weight: 600
}

div.format_popup a {
	text-decoration: underline;
	color: var(--negro);
	word-break: break-all;
	font-weight: 600
}

div.format_popup.minified {
	max-width: 480px
}

div.format_popup.legal {
	max-width: 1024px
}

div.format_popup.legal p {
	text-align: justify
}

div.format_popup ul ol,
div.format_popup ol ul,
div.format_popup ol ol,
div.format_popup ul ul {
	font-size: inherit
}

div.format_popup li {
	position: relative;
	padding-left: 20px
}

div.format_popup li p {
	margin: 0
}

div.format_popup ol li {
	padding-left: 10px
}

div.format_popup ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--purpura)
}

div.format_popup .limit::-webkit-scrollbar {
	width: 5px;
	height: 5px
}

div.format_popup table {
	width: 100%;
	border-collapse: collapse;
	white-space: nowrap;
	margin: 20px 0 0 0
}

div.format_popup tr:nth-of-type(odd) {
	background: var(--gris)
}

div.format_popup th {
	background: var(--purpura);
	color: var(--blanco);
	font-weight: bold
}

div.format_popup td,
div.format_popup th {
	padding: 6px;
	text-align: left
}

.scroll_table {
	overflow: auto;
	max-width: 170vw;
	margin-top: 40px;
	margin-bottom: 40px
}

div.format_popup .scroll_table {
	margin-top: 0
}

.scroll_table::-webkit-scrollbar {
	width: 22px;
	height: 22px
}

.scroll_table table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 40px;
	white-space: nowrap
}

.scroll_table tr {
	background: var(--blanco);
	color: var(--negro)
}

.scroll_table tr:nth-of-type(odd) {
	background: var(--gris)
}

.scroll_table th {
	background: var(--purpura);
	color: var(--blanco);
	font-weight: 500
}

.scroll_table td,
.scroll_table th {
	padding: 20px 20px 14px;
	border: 0;
	text-align: left;
	white-space: nowrap
}

.fancybox-thumbs__list a::before {
	border-color: var(--negro)
}

*[role="button"] {
	cursor: pointer
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	transition: background-color 5000s ease-in-out 0s;
	-webkit-text-fill-color: var(--negro) !important
}

html.loaded .transicion {
	transition: all 250ms linear
}

#cookie-bar {
	position: fixed;
	max-width: none;
	top: 0;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 999;
	background: rgba(0, 0, 0, .75)
}

#cookie-bar p {
	background: var(--blanco);
	padding: 40px;
	position: absolute;
	top: 50%;
	left: 10px;
	right: 10px;
	margin: 0 auto;
	max-width: 540px;
	transform: translateY(-50%);
	z-index: 1000;
	min-height: 220px;
	text-align: left;
	border-radius: var(--radiado_10);
	hyphens: auto
}

#cookie-bar p span {
	display: block;
	margin-bottom: 20px;
	line-height: 1.5
}

#cookie-bar p strong {
	font-weight: 600
}

#cookie-bar a {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	text-transform: uppercase;
	margin-top: 10px;
	padding: 7px 30px;
	text-align: center;
	color: var(--blanco);
	width: calc(50% - (10px * 1 / 2));
	margin-right: 10px;
	text-decoration: none;
	background: var(--purpura);
	border: 1px solid var(--purpura);
	border-radius: var(--radiado_40)
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility
}

html.loaded #cookie-bar a {
	transition: all 200ms linear
}

#cookie-bar a:last-child {
	margin-right: 0;
	background: var(--negro);
	border: 1px solid var(--negro)
}

@keyframes cargando {
	0%,
	40%,
	100% {
		transform: scaleY(.5)
	}

	20% {
		transform: scaleY(1)
	}

}

.loadinggg {
	position: fixed;
	inset: 0;
	z-index: 666;
	background: rgba(0, 0, 0, .95);
	animation: fade-in 1.2s cubic-bezier(.39, .575, .565, 1) both
}

.loadinggg svg {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	transform: translateY(-50%);
	max-width: 70px
}

.cabecera {
	position: absolute;
	top: 35px;
	left: 0;
	right: 0;
	z-index: 10
}

.logo img,
.imagen img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%
}

.foto {
	display: block;
	overflow: hidden
}

.foto.redondeada {
	border-radius: var(--radiado_10)
}

.cabecera .wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center
}

.cabecera .logo {
	display: block;
	max-width: 216px
}

.cabecera ul {
	margin: 0;
	padding: 0
}

.cabecera ul li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin-right: 15px;
	color: var(--blanco)
}

.cabecera ul li a {
	color: currentColor;
	text-decoration: none;
	position: relative;
	display: block;
	padding: 13px 20px;
	letter-spacing: .04rem;
	border-radius: var(--radiado_40)
}

.cabecera ul li:last-child {
	margin-right: 0
}

.cabecera ul li.sel a {
	background: var(--blanco);
	color: var(--purpura)
}

.cabecera .seccion {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px
}

.cabecera .redes a,
.pie .superior .wrapper .redes a {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 50px;
	height: 50px;
	background: url('../img/web/fb.svg') no-repeat center;
	background-size: 20px;
	background-color: var(--blanco);
	border-radius: 50%;
	margin-right: 10px;
	overflow: hidden;
	text-indent: -9999px
}

.cabecera .redes a.instagram,
.pie .superior .wrapper .redes a.instagram {
	background-image: url('../img/web/ig.svg');
	margin-right: 0
}

.banners,
.migas {
	position: relative;
	z-index: 1
}

.banners .banner {
	position: relative;
	display: none;
	height: calc(100vh);
	height: calc(var(--vh, 1vh) * 100);
	min-height: 910px;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	overflow: hidden;
	z-index: 1
}

.banners .banner:first-child {
	display: block
}

.banners .banner::before,
.valores .fondo::before,
.solucion .fondo::before,
.migas .miga::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, .4);
	pointer-events: none
}

.banners .banner .texto {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100px
}

.banners .banner .texto .titulo {
	font-family: var(--fuente_secundaria);
	font-size: 8rem;
	line-height: 1.1;
	color: var(--blanco);
	max-width: 1024px
}

.banners .banner .texto .descripcion {
	color: var(--blanco);
	line-height: 1.6;
	max-width: 470px;
	margin-top: 20px
}

.banners .banner .texto .enlace {
	margin-top: 25px
}

.banners .banner .texto .enlace .boton {
	background: #424244;
	background: -webkit-linear-gradient(180deg, rgba(66, 66, 68, 1) 0%, rgba(108, 109, 114, 1) 75%);
	background: -moz-linear-gradient(180deg, rgba(66, 66, 68, 1) 0%, rgba(108, 109, 114, 1) 75%);
	background: linear-gradient(180deg, rgba(66, 66, 68, 1) 0%, rgba(108, 109, 114, 1) 75%)
}

.titulo a,
.titulin a,
.segmentos a,
.tit a,
.icono a {
	color: currentColor;
	text-decoration: none
}

.boton {
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding: 20px 75px 19px 30px;
	background: var(--purpura);
	border-radius: var(--radiado_40);
	color: var(--blanco);
	letter-spacing: .04rem;
	line-height: 1.5
}

.boton.volver {
	padding: 19px 30px 18px 70px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .4)
}

.boton.inverso {
	background: rgba(255, 255, 255, .2)
}

.boton::after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
	width: 45px;
	height: 45px;
	background: url('../img/web/arrow.svg') no-repeat center;
	background-size: 20px;
	background-color: var(--blanco);
	border-radius: 50%;
	transition: all 250ms linear
}

.boton.volver::after {
	right: unset;
	left: 10px;
	transform: translateY(-50%) scaleX(-1)
}

.presentacion {
	padding: 80px 0 160px
}

.presentacion .texto {
	display: flex;
	align-items: flex-start;
	gap: 80px
}

.presentacion .texto .izq,
.presentacion .texto .der {
	width: calc(50% - 40px)
}

.presentacion .texto .der {
	margin-top: 10px
}

.contenido .titulo,
.contenido .tit {
	font-family: var(--fuente_secundaria);
	font-size: 6rem;
	line-height: 1.25;
	color: var(--purpura)
}

.contenido .tit {
	font-size: 2.5rem;
	line-height: 1.5
}

.contenido .titulo b {
	color: var(--negro)
}

.contenido .subtitulo {
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--purpura)
}

.contenido .descripcion,
.prods .descripcion {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-top: 15px
}

.presentacion .texto .izq .enlace {
	margin-top: 50px
}

.presentacion .imagenes {
	margin-top: 80px
}

.presentacion .imagenes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 80px
}

.valores .fondo,
.solucion .fondo {
	position: relative;
	padding: 80px 0;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover
}

.valores .fondo::before {
	background: rgba(248, 248, 248, .6)
}

.valores .fondo .items {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 35px;
	z-index: 2
}

.valores .fondo .items .item {
	text-align: center;
	padding: 40px 60px;
	background: rgba(248, 248, 248, .8);
	border-radius: var(--radiado_10)
}

.valores .fondo .items .item .txt .num {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 70px;
	height: 70px;
	background: var(--purpura);
	border-radius: 50%;
	font-family: var(--fuente_secundaria);
	font-size: 2.328rem;
	line-height: 73px;
	color: var(--blanco)
}

.valores .fondo .items .item .txt .tit {
	margin-top: 20px
}

.productos {
	padding: 100px 0 80px
}

.productos .texto .items {
	margin-top: 20px
}

.productos .texto .items .prod .titulin {
	color: var(--negro)
}

.productos .texto .items .prod .titulin a {
	display: inline-block;
	vertical-align: top;
	position: relative;
	padding-left: 42px;
	line-height: 44px;
	font-weight: 500
}

.productos .texto .items .prod .titulin a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	width: 30px;
	height: 30px;
	background: url('../img/web/arrow-w.svg') no-repeat center;
	background-size: 15px;
	background-color: var(--purpura);
	border: 1px solid var(--purpura);
	border-radius: 50%;
	transition: all 250ms linear
}

.productos .texto .enlace {
	margin-top: 30px
}

.productos .contenedor {
	display: flex;
	gap: 80px;
	align-items: flex-start
}

.productos .texto,
.productos .imagenes,
.quienes .wrap .texto,
.quienes .wrap .imagenes,
.reparacion .imagenes,
.reparacion .texto,
.ficha .wrap .texto,
.ficha .wrap .imagen,
.contacto .texto,
.contacto .mapa {
	width: calc(50% - 40px)
}

.productos.isotermos {
	padding: 0
}

.productos.isotermos .contenedor {
	flex-direction: row-reverse
}

.productos.gruas {
	padding: 80px 0 100px
}

.solucion .fondo {
	padding: 145px 0;
	background-position: center
}

.solucion .fondo::before {
	background: #000000;
	background: -webkit-linear-gradient(90deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.7) 100%);
	background: -moz-linear-gradient(90deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.7) 100%);
	background: linear-gradient(90deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.7) 100%)
}

.solucion .fondo .texto {
	position: relative;
	z-index: 2;
	margin-left: 65%
}

.solucion .fondo .texto .titulo,
.solucion .fondo .texto .descripcion {
	color: var(--blanco)
}

.solucion .fondo .texto .titulo {
	font-size: 4rem
}

.solucion .fondo .texto .enlace,
.prods .item .txt .enlace {
	margin-top: 25px
}

.pie {
	background: var(--purpura)
}

.pie .superior {
	padding: 90px 0 110px
}

.pie .superior .wrapper {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between
}

.pie .superior .wrapper ul {
	margin: 0;
	padding: 0
}

.pie .superior .wrapper ul.legales li {
	text-align: right
}

.pie .superior .wrapper ul li {
	display: block;
	color: var(--blanco)
}

.pie .superior .wrapper ul li a {
	position: relative;
	color: currentColor;
	text-decoration: none;
	line-height: 44px
}

.pie .superior .wrapper ul.menu li a::after,
.pie .superior .wrapper ul.legales li a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--blanco);
	transition: all 250ms linear
}

.pie .superior .wrapper ul.legales li a::after {
	left: unset;
	right: 0
}

.pie .superior .wrapper ul.menu li.sel a::after,
.pie .superior .wrapper ul.legales li.sel a::after {
	width: 100%
}

.pie .superior .wrapper .centro {
	position: absolute;
	top: 10px;
	left: 0;
	right: 0;
	max-width: 580px;
	margin: 0 auto;
	text-align: center
}

.pie .superior .wrapper .centro .logo {
	display: block;
	max-width: 350px;
	margin: 0 auto
}

.pie .superior .wrapper .centro .info {
	margin-top: 40px
}

.pie .superior .wrapper .centro .info .maps {
	display: inline-block;
	position: relative;
	line-height: 44px;
	color: var(--blanco);
	text-decoration: none
}

.pie .superior .wrapper .centro .info ul li {
	display: inline-block;
	vertical-align: top;
	position: relative;
	margin-right: 16px;
	padding-right: 18px;
	padding-left: 30px
}

.pie .superior .wrapper .centro .info ul li span.delimitador {
	margin: 0 5px
}

.pie .superior .wrapper .centro .info ul li:last-child {
	margin-right: 0;
	padding-right: 0;
	padding-left: 40px
}

.pie .inferior {
	padding: 13px 0;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border-top: 1px solid rgba(255, 255, 255, .5);
	color: var(--blanco);
	font-size: 1.45rem;
	font-weight: 300;
	letter-spacing: .25em
}

.pie .inferior .copyright,
.pie .inferior .sgm {
	line-height: 48px;
	color: currentColor;
	text-decoration: none
}

.pie .inferior .copyright {
	position: relative;
	margin-right: 12px;
	padding-right: 18px
}

.pie .inferior .copyright::after,
.pie .superior .wrapper .centro .info ul li::after {
	content: '|';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%)
}

.pie .superior .wrapper .centro .info ul li:last-child::after {
	display: none
}

.pie .superior .wrapper .centro .info ul li::before {
	content: 'Tel. ';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%)
}

.pie .superior .wrapper .centro .info ul li:last-child::before {
	content: 'Mail. '
}

.pie .superior .wrapper .redes {
	margin-top: 10px
}

.pie .superior .wrapper .redes a {
	background-image: url('../img/web/fb-w.svg');
	background-color: var(--morado)
}

.pie .superior .wrapper .redes a.instagram {
	background-image: url('../img/web/ig-w.svg')
}

.kit_digital .limit {
	padding: 20px;
	text-align: center;
	max-width: 1024px;
	margin: 0 auto
}

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

.migas .miga {
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	height: 450px
}

.migas .miga.min {
	background: var(--purpura);
	height: 350px
}

.migas .miga .texto {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 65px
}

.migas .miga.min .texto {
	bottom: 40px
}

.migas .miga .texto .titulo {
	font-family: var(--fuente_secundaria);
	font-size: 4rem;
	line-height: 1.4
}

body.es_ficha .migas .miga .texto .titulo,
body.es_ficha .migas .miga .texto .segmentos {
	max-width: calc(100% - 200px)
}

.migas .miga .texto .titulo,
.migas .miga .texto .segmentos {
	color: var(--blanco)
}

.migas .miga .texto .segmentos a,
.migas .miga .texto .segmentos span {
	line-height: 44px
}

span.separador {
	margin: 0 5px
}

.migas .miga .texto .boton.volver {
	position: absolute;
	bottom: 12px;
	right: 0
}

.quienes {
	padding: 90px 0 100px
}

.quienes .wrap {
	display: flex;
	align-items: flex-start;
	gap: 80px;
	margin-top: 60px
}

.reparacion {
	background: var(--gris);
	padding: 100px 0 120px
}

.reparacion .contenedor {
	display: flex;
	align-items: stretch;
	gap: 80px;
	flex-direction: row-reverse;
	align-content: space-between;
	flex-wrap: wrap
}

.reparacion .texto {
	display: flex;
	flex-direction: column;
	align-items: flex-end
}

.reparacion .texto .titulo {
	display: block
}

.reparacion .texto .content {
	display: flex;
	flex-direction: column;
	gap: 25px
}

.reparacion .texto .content .descripcion {
	margin-top: 0;
	margin-bottom: 40px
}

.reparacion .texto .imagen {
	margin-top: auto
}

.listado {
	padding: 90px 0;
	background: var(--gris)
}

.listado .texto {
	text-align: center
}

.listado .texto .descripcion {
	margin-top: 25px
}

.prods,
.ficha,
.contacto,
.contenido.legal {
	padding: 100px 0
}

.prods .item {
	display: flex;
	align-items: center;
	gap: 100px;
	margin-top: 80px
}

.prods .item:first-child {
	margin-top: 0
}

.prods .item .imagen {
	width: 50%
}

.prods .item .txt {
	width: calc(50% - 100px);
	padding-right: 100px
}

.prods .item:nth-child(2n) {
	flex-direction: row-reverse
}

.prods .item:nth-child(2n) .txt {
	padding-left: 100px;
	padding-right: 0
}

.prods .item .txt .tit {
	font-family: var(--fuente_secundaria);
	font-size: 2.5rem;
	color: var(--purpura)
}

.prods .item .txt .descripcion {
	font-weight: 300;
	margin-top: 25px
}

.ficha .texto .subtitulo {
	margin-top: 30px
}

.ficha .wrap {
	display: flex;
	align-items: flex-start;
	gap: 80px
}

.ficha .imagenes {
	margin-top: 80px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px
}

.contacto .contenedor {
	display: flex;
	align-items: flex-start;
	gap: 80px
}

.contacto .texto .descripcion {
	margin-top: 25px
}

.mapa iframe {
	display: block;
	width: 100%;
	border-radius: var(--radiado_10);
	overflow: hidden
}

.formulario {
	margin-top: 30px
}

.formulario .campos .campo {
	position: relative;
	margin-top: 20px;
	z-index: 1
}

.formulario .campos .campo.mitad {
	display: inline-block;
	vertical-align: top;
	width: calc(50% - (20px * 1 / 2));
	margin-right: 20px
}

.formulario .campos .campo.mitad:nth-child(2n) {
	margin-right: 0
}

.formulario .campos .campo.mitad:nth-child(-n+2) {
	margin-top: 0
}

.campo input {
	display: block;
	width: 100%;
	height: 60px;
	color: var(--negro);
	font-size: 1.667rem;
	line-height: 25px;
	padding: 15px 30px 0;
	font-weight: 500;
	text-align: left;
	background: var(--gris);
	border-radius: var(--radiado_10)
}

.campo label {
	position: absolute;
	text-align: left;
	top: 0;
	left: 30px;
	right: 30px;
	display: block;
	line-height: 60px;
	color: var(--negro);
	z-index: 1;
	pointer-events: none;
	transition: all 250ms linear
}

.campo textarea {
	position: relative;
	display: block;
	width: 100%;
	border-width: 0;
	height: 160px;
	padding: 25px 30px 20px;
	font-size: 1.667rem;
	color: var(--marron);
	font-weight: 500;
	line-height: 25px;
	resize: vertical;
	min-height: 160px;
	max-height: 280px;
	background: var(--gris);
	border-radius: var(--radiado_10)
}

.formulario .campos .campo input[type="number"]:focus ~ label,
.formulario .campos .campo input[type="email"]:focus ~ label,
.formulario .campos .campo input[type="tel"]:focus ~ label,
.formulario .campos .campo input[type="text"]:focus ~ label,
.formulario .campos .campo select:focus ~ label,
.formulario .campos .campo textarea:focus ~ label {
	top: 9px;
	font-size: 1.3rem;
	line-height: 15px
}

.formulario .campos .campo select:valid ~ label,
.formulario .campos .campo select:not(:placeholder-shown) ~ label,
.formulario .campos .campo input[type="number"]:valid ~ label,
.formulario .campos .campo input[type="number"]:not(:placeholder-shown) ~ label,
.formulario .campos .campo input[type="email"]:valid ~ label,
.formulario .campos .campo input[type="email"]:not(:placeholder-shown) ~ label,
.formulario .campos .campo input[type="tel"]:valid ~ label,
.formulario .campos .campo input[type="tel"]:not(:placeholder-shown) ~ label,
.formulario .campos .campo input[type="text"]:valid ~ label,
.formulario .campos .campo input[type="text"]:not(:placeholder-shown) ~ label,
.formulario .campos .campo textarea:valid ~ label,
.formulario .campos .campo textarea:not(:placeholder-shown) ~ label {
	top: 9px;
	font-size: 1.3rem;
	line-height: 15px
}

.campos .campo *:-webkit-autofill,
.campos .campo *:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1px rgba(37, 37, 37, .1) inset, 0 0 0 1000px rgba(90, 88, 123, .1) inset !important
}

.formulario .checks {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 30px
}

.formulario .checks .check {
	position: relative;
	display: block;
	text-align: left;
	line-height: 44px;
	text-align: left
}

.formulario .checks .check input[type="checkbox"] {
	display: none;
	opacity: 0
}

.formulario .checks .check label {
	position: relative;
	display: block;
	padding-left: 30px;
	cursor: pointer
}

.formulario .checks .check label::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	height: 18px;
	width: 18px;
	background: var(--gris);
	border-radius: 50%;
	box-shadow: 0 0 0 4px var(--gris) inset;
	pointer-events: none;
	transition: all ease-in-out 300ms
}

.formulario .checks .check input[type="checkbox"]:checked + label::before {
	background: var(--purpura)
}

.contactar .superior {
	position: relative;
	padding: 70px 0 60px;
	background: var(--purpura);
	border-bottom-right-radius: var(--radiado_10);
	border-bottom-left-radius: var(--radiado_10);
	z-index: 2
}

.contactar .superior .texto .titulo,
.contactar .superior .texto .descripcion {
	color: var(--blanco)
}

.contactar .superior .contenedor {
	display: flex;
	align-items: flex-start;
	justify-content: space-between
}

.contactar .superior .texto {
	max-width: 630px
}

.contactar .superior .iconos {
	padding-right: 100px
}

.contactar .superior .iconos .icono {
	position: relative;
	color: var(--blanco);
	font-size: 1.8rem;
	margin-top: 30px;
	padding-left: 70px
}

.contactar .superior .iconos .icono:first-child {
	margin-top: 0
}

.contactar .superior .iconos .icono::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 50px;
	background: url('../img/web/maps.svg') no-repeat center;
	background-size: 20px;
	background-color: var(--blanco);
	border-radius: 50%
}

.contactar .superior .iconos .icono:nth-child(2)::before {
	background-image: url('../img/web/tel.svg')
}

.contactar .superior .iconos .icono:nth-child(3)::before {
	background-image: url('../img/web/email.svg')
}

.contactar .superior .iconos .icono .leyenda {
	display: block;
	font-weight: 600
}

.contactar .superior .iconos .icono a {
	line-height: 44px
}

.contactar .fondo {
	position: relative;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 550px;
	margin-top: -27px;
	z-index: 1
}

.descripcion p {
	margin: 0;
	margin-bottom: 20px
}

.descripcion p:last-child,
.descripcion ul:last-child,
.descripcion ol:last-child {
	margin-bottom: 0
}

.descripcion h2,
.descripcion h3,
.descripcion h4 {
	font-family: var(--fuente_secundaria);
	color: var(--morado);
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.3;
	margin-top: 20px;
	margin-bottom: 15px
}

.descripcion h2 strong,
.descripcion h3 strong,
.descripcion h4 strong {
	font-weight: 600
}

.descripcion a {
	color: currentColor
}

.legal .texto .descripcion a {
	word-break: break-all;
	text-decoration: underline;
	font-weight: 600
}

.descripcion ul {
	margin-bottom: 25px;
	margin-left: 20px;
	list-style: none
}

.descripcion ol {
	margin: 0;
	margin-bottom: 20px;
	margin-left: 40px
}

.descripcion ul li {
	position: relative;
	margin-bottom: 5px;
	padding-left: 20px;
	margin-left: 0
}

.descripcion ol li {
	margin-bottom: 20px
}

.descripcion ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 11px;
	width: 5px;
	height: 5px;
	background: var(--purpura);
	border-radius: 50%;
	pointer-events: none
}

.descripcion strong {
	font-weight: 600
}

.descripcion ul li:last-child {
	margin-bottom: 0
}

.descripcion em {
	font-style: italic
}

.descripcion a {
	text-decoration: underline
}

@media (hover:none) {
}

.menu_ham {
	display: none
}

@media (max-width:1800px) {
	.prods .item .txt {
		padding-right: 60px
	}

	.prods .item:nth-child(2n) .txt {
		padding-left: 60px
	}

}

@media (max-width:1679px) {
	.cabecera ul li:first-child {
		display: none
	}

	.banners .banner .texto .titulo {
		font-size: 7rem
	}

	.presentacion .texto,
	.presentacion .imagenes,
	.productos .contenedor,
	.quienes .wrap,
	.reparacion .contenedor,
	.ficha .wrap,
	.contacto .contenedor {
		gap: 60px
	}

	.presentacion .texto .izq,
	.presentacion .texto .der {
		width: calc(50% - 30px)
	}

	.contenido .titulo {
		font-size: 5rem
	}

	.valores .fondo .items .item {
		padding: 30px 40px
	}

	.productos .texto,
	.productos .imagenes,
	.quienes .wrap .texto,
	.quienes .wrap .imagenes,
	.reparacion .imagenes,
	.reparacion .texto,
	.ficha .wrap .texto,
	.ficha .wrap .imagen,
	.contacto .texto,
	.contacto .mapa {
		width: calc(50% - 30px)
	}

	.solucion .fondo {
		padding: 120px 0
	}

	.solucion .fondo .texto {
		margin-left: 58%
	}

	.pie .superior .wrapper .centro .logo {
		max-width: 320px
	}

	.migas .miga {
		height: 400px
	}

	.migas .miga .texto {
		bottom: 45px
	}

	.prods .item {
		gap: 60px;
		align-items: flex-start
	}

	.prods .item .txt {
		width: calc(50% - 60px);
		padding-right: 30px
	}

	.prods .item:nth-child(2n) .txt {
		padding-left: 30px
	}

	.contactar .superior .iconos {
		padding-right: 50px
	}

	.contactar .fondo {
		height: 450px
	}

}

@media (max-width:1439px) {
	.cabecera .seccion .redes {
		display: none
	}

	.banners .banner {
		min-height: 768px;
		max-height: 768px
	}

	.banners .banner .texto {
		bottom: 60px
	}

	.banners .banner .texto .titulo {
		font-size: 6rem
	}

	.presentacion .texto,
	.presentacion .imagenes,
	.productos .contenedor,
	.quienes .wrap,
	.reparacion .contenedor,
	.ficha .wrap,
	.contacto .contenedor {
		gap: 40px
	}

	.presentacion .texto .izq,
	.presentacion .texto .der {
		width: calc(50% - 20px)
	}

	.contenido .titulo {
		font-size: 4.5rem
	}

	.presentacion .texto .der {
		margin-top: 0
	}

	.presentacion .imagenes {
		margin-top: 50px
	}

	.presentacion {
		padding: 80px 0 120px
	}

	.valores .fondo {
		padding: 60px 0
	}

	.valores .fondo .items {
		gap: 25px
	}

	.valores .fondo .items .item {
		padding: 30px 20px
	}

	.productos .texto,
	.productos .imagenes,
	.quienes .wrap .texto,
	.quienes .wrap .imagenes,
	.reparacion .imagenes,
	.reparacion .texto,
	.ficha .wrap .texto,
	.ficha .wrap .imagen,
	.contacto .texto,
	.contacto .mapa {
		width: calc(50% - 20px)
	}

	.solucion .fondo .texto .titulo,
	.migas .miga .texto .titulo {
		font-size: 3.5rem
	}

	.solucion .fondo {
		padding: 100px 0
	}

	.solucion .fondo::before {
		background: -webkit-linear-gradient(90deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.7) 100%);
		background: -moz-linear-gradient(90deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.7) 100%);
		background: linear-gradient(90deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.7) 100%)
	}

	.pie .superior .wrapper .centro .logo {
		max-width: 300px
	}

	.pie .superior {
		padding: 70px 0 100px
	}

	.migas .miga {
		height: 350px
	}

	.migas .miga .texto {
		bottom: 30px
	}

	.quienes .wrap {
		margin-top: 40px
	}

	.prods .item {
		gap: 40px
	}

	.prods .item .txt {
		width: calc(50% - 40px);
		padding-right: 0
	}

	.prods .item:nth-child(2n) .txt {
		padding-left: 0
	}

	.boton {
		padding: 18px 75px 17px 30px
	}

	.boton.volver {
		padding: 17px 30px 16px 70px
	}

	.ficha .imagenes {
		gap: 30px;
		margin-top: 60px
	}

	.contactar .superior .iconos {
		padding-right: 0
	}

	.contactar .superior {
		padding: 60px 0 50px
	}

	.migas .miga.min {
		height: 300px
	}

	.migas .miga.min .texto {
		bottom: 20px
	}

}

@media (max-width:1365px) {
}

@media (max-width:1279px) {
	.cabecera ul li:not(.cont) {
		display: none
	}

	.banners .banner {
		min-height: 600px;
		max-height: 600px
	}

	.banners .banner .texto .titulo {
		font-size: 5rem
	}

	.contenido .titulo {
		font-size: 4rem
	}

	.cabecera .seccion {
		display: block;
		margin-right: 80px
	}

	.menu_ham {
		display: block;
		color: var(--blanco);
		border: none;
		float: right;
		position: fixed;
		right: 2.5%;
		top: 43px;
		height: 50px;
		width: 50px;
		z-index: 99;
		background: var(--purpura);
		-webkit-transition: all .5s ease-in-out 0s;
		transition: all .5s ease-in-out 0s;
		opacity: 1;
		visibility: visible;
		line-height: 1.888888888888889rem;
		font-size: 1.667rem;
		outline: none;
		border: 1px solid var(--purpura);
		border-radius: var(--radiado_10);
		overflow: hidden;
		text-indent: -9999px
	}

	.menu_ham .the_bars {
		height: 2px;
		width: 2.5rem;
		left: 50%;
		-webkit-transform: translate(-50%);
		transform: translate(-50%);
		background: var(--blanco);
		position: absolute;
		margin-top: 0;
		top: 50%;
		-webkit-transition: none;
		transition: none
	}

	.menu_ham .the_bars::before,
	.menu_ham .the_bars::after {
		content: '';
		position: absolute;
		height: 2px;
		left: 0;
		width: 2.5rem;
		background: var(--blanco);
		transition-duration: 0.3s, 0.3s;
		-webkit-transition-duration: 0.3s, 0.3s;
		-moz-transition-duration: 0.3s, 0.3s;
		-ms-transition-duration: 0.3s, 0.3s;
		-o-transition-duration: 0.3s, 0.3s;
		transition-delay: 0.3s, 0s;
		-webkit-transition-delay: 0.3s, 0s;
		-ms-transition-delay: 0.3s, 0s;
		-moz-transition-delay: 0.3s, 0s;
		-o-transition-delay: 0.3s, 0s
	}

	.menu_ham .the_bars::before {
		top: -9px;
		transition-property: top, -webkit-transform;
		transition-property: top, transform;
		transition-property: top, transform, -webkit-transform;
		-webkit-transition-property: top, -webkit-transform;
		-moz-transition-property: top, -moz-transform;
		-ms-transition-property: top, -ms-transform
	}

	.menu_ham .the_bars::after {
		bottom: -9px;
		transition-property: bottom, -webkit-transform;
		transition-property: bottom, transform;
		transition-property: bottom, transform, -webkit-transform;
		-webkit-transition-property: bottom, -webkit-transform;
		-moz-transition-property: bottom, -moz-transform;
		-ms-transition-property: bottom, -ms-transform;
		-o-transition-property: bottom, -o-transform
	}

	body.mm-ocd-opened .menu_ham .the_bars,
	body.fixed.mm-ocd-opened .menu_ham .the_bars {
		background-color: transparent
	}

	body.mm-ocd-opened .menu_ham .the_bars::before {
		max-width: unset;
		top: 0;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transition-delay: 0s, .3s;
		-webkit-transition-delay: 0s, .3s;
		-ms-transition-delay: 0s, .3s;
		-moz-transition-delay: 0s, .3s;
		-o-transition-delay: 0s, .3s;
		background-color: var(--blanco)
	}

	body.mm-ocd-opened .menu_ham .the_bars::after {
		bottom: 0;
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transition-delay: 0s, 0.3s;
		-webkit-transition-delay: 0s, 0.3s;
		-ms-transition-delay: 0s, 0.3s;
		-moz-transition-delay: 0s, 0.3s;
		-o-transition-delay: 0s, 0.3s;
		background-color: var(--blanco)
	}

	.mm-spn.mm-spn--navbar::after {
		font-family: var(--fuente_secundaria);
		font-size: 3.5rem;
		font-weight: 500;
		text-transform: uppercase;
		opacity: 1;
		background: var(--purpura);
		color: var(--blanco)
	}

	.mm-spn.mm-spn--navbar::before {
		opacity: 1;
		z-index: 2;
		border-color: var(--blanco)
	}

	.mm-spn .falso_link,
	.mm-spn a,
	#mmmenu ul li.sel ul li a {
		color: var(--negro)
	}

	.falso_link.sel,
	#mmmenu ul li.sel a,
	#mmmenu ul li.sel ul li.selecc a {
		color: var(--purpura);
		font-weight: 600;
		text-decoration: underline
	}

	body.scroll_window .menu_ham {
		top: 0;
		right: 0;
		border-radius: 0;
		border: 1px solid var(--blanco)
	}

	.presentacion .texto,
	.presentacion .imagenes,
	.productos .contenedor,
	.quienes .wrap,
	.reparacion .contenedor,
	.ficha .wrap {
		gap: 30px
	}

	.presentacion .texto .izq,
	.presentacion .texto .der {
		width: calc(50% - 15px)
	}

	.valores .fondo {
		padding: 40px 0
	}

	.valores .fondo .items {
		grid-template-columns: repeat(2, 1fr)
	}

	.valores .fondo .items .item .txt .num {
		width: 60px;
		height: 60px;
		font-size: 2rem;
		line-height: 63px
	}

	.valores .fondo .items .item {
		padding: 20px
	}

	.valores .fondo .items .item:last-child {
		grid-column: 1 / span 2;
		justify-self: center;
		width: 50%
	}

	.productos .texto,
	.productos .imagenes,
	.quienes .wrap .texto,
	.quienes .wrap .imagenes,
	.reparacion .imagenes,
	.reparacion .texto,
	.ficha .wrap .texto,
	.ficha .wrap .imagen {
		width: calc(50% - 15px)
	}

	.solucion .fondo {
		padding: 80px 0
	}

	.solucion .fondo::before {
		background: -webkit-linear-gradient(90deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.7) 100%);
		background: -moz-linear-gradient(90deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.7) 100%);
		background: linear-gradient(90deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.7) 100%)
	}

	.solucion .fondo .texto {
		margin-left: 40%;
		text-align: right
	}

	.pie .superior {
		padding: 50px 0 20px
	}

	.pie .superior .wrapper .centro .logo {
		max-width: 250px
	}

	.pie .superior .wrapper .centro .info {
		margin-top: 20px
	}

	.pie .superior .wrapper {
		display: block
	}

	.pie .superior .wrapper ul.menu {
		display: none
	}

	.pie .superior .wrapper ul.legales {
		display: block;
		text-align: center;
		margin-top: 10px
	}

	.pie .superior .wrapper ul.legales li {
		display: inline-block;
		position: relative;
		vertical-align: top;
		margin: 0 10px
	}

	.pie .superior .wrapper .centro {
		position: static;
		max-width: none
	}

	.kit_digital .limit {
		padding: 10px
	}

	.migas .miga {
		height: 320px
	}

	.migas .miga .texto {
		bottom: 25px
	}

	.quienes .wrap .imagenes,
	.reparacion .imagenes,
	.ficha .wrap .imagen {
		position: sticky;
		top: 20px;
		right: 0
	}

	.reparacion .contenedor {
		align-items: flex-start
	}

	.reparacion .imagenes {
		right: unset;
		left: 0
	}

	.listado {
		padding: 70px 0
	}

	.prods .item {
		gap: 30px
	}

	.prods .item .txt {
		width: calc(50% - 30px)
	}

	.ficha .imagenes {
		gap: 20px
	}

	.contacto .contenedor {
		display: block
	}

	.contacto .texto,
	.contacto .mapa {
		width: auto
	}

	.contacto .mapa {
		margin-top: 40px
	}

	.mapa iframe {
		height: 400px !important
	}

	.contactar .superior {
		padding: 50px 0 30px
	}

	.contactar .superior .texto {
		max-width: 500px
	}

	.contactar .superior .iconos .icono a.maps {
		line-height: 25px
	}

	.contactar .superior .iconos .icono a i {
		display: block;
		width: 0;
		height: 0;
		text-indent: -9999px;
		overflow: hidden
	}

	.contactar .fondo {
		height: 400px
	}

	div.format_popup.legal {
		max-width: 960px
	}

	div.format_popup .tit {
		font-size: 4.5rem;
		line-height: 45px
	}

	.migas .miga.min {
		height: 275px
	}

	.migas .miga.min .texto {
		bottom: 15px
	}

	.productos .texto .items .prod .titulin a {
		padding: 9px 0 9px 42px;
		line-height: 1.6
	}

}

@media (max-width:1023px) {
	.cabecera {
		top: 25px
	}

	.cabecera .logo {
		max-width: 200px
	}

	.menu_ham {
		top: 30px
	}

	.banners .banner {
		min-height: 520px;
		max-height: 520px
	}

	.banners .banner .texto .titulo {
		max-width: none;
		font-size: 4.5rem
	}

	.banners .banner .texto {
		bottom: 40px
	}

	.presentacion .texto {
		display: block
	}

	.presentacion .texto .izq,
	.presentacion .texto .der {
		width: auto
	}

	.presentacion .texto .izq .enlace {
		margin-top: 20px
	}

	.boton {
		padding: 16px 70px 15px 30px
	}

	.boton.volver {
		padding: 15px 30px 14px 70px
	}

	.boton::after {
		right: 5px
	}

	.boton.volver::after {
		left: 5px
	}

	.presentacion .texto .der,
	.presentacion .imagenes {
		margin-top: 30px
	}

	.presentacion .imagenes,
	.valores .fondo .items {
		gap: 20px
	}

	.presentacion {
		padding: 60px 0 80px
	}

	.valores .fondo .items .item .txt .descripcion {
		margin-top: 5px
	}

	.productos .contenedor {
		display: block
	}

	.productos .texto,
	.productos .imagenes {
		width: auto
	}

	.productos .texto .enlace {
		margin-top: 15px
	}

	.productos .imagenes {
		margin-top: 30px
	}

	.solucion .fondo {
		padding: 50px 0
	}

	.pie .superior .wrapper ul.legales li {
		margin: 0 5px
	}

	.migas .miga {
		height: 300px
	}

	.quienes,
	.reparacion {
		padding: 80px 0
	}

	.quienes .wrap {
		display: block;
		margin-top: 30px
	}

	.quienes .wrap .texto,
	.quienes .wrap .imagenes,
	.reparacion .imagenes,
	.reparacion .texto {
		width: auto
	}

	.quienes .wrap .imagenes {
		margin-top: 30px
	}

	.quienes .wrap .imagenes,
	.reparacion .imagenes,
	.ficha .wrap .imagen {
		position: static
	}

	.reparacion .contenedor,
	.reparacion .texto,
	.reparacion .texto .content {
		display: block
	}

	.reparacion .texto .content .descripcion {
		margin: 20px 0 30px
	}

	.reparacion .texto .imagen {
		max-width: 520px
	}

	.reparacion .imagenes {
		margin-top: 20px
	}

	.listado .texto {
		text-align: left
	}

	.listado {
		padding: 60px 0
	}

	.prods .item,
	.ficha .wrap {
		display: block
	}

	.prods .item .imagen,
	.prods .item .txt,
	.ficha .wrap .texto,
	.ficha .wrap .imagen {
		width: auto
	}

	.prods .item .txt,
	.ficha .wrap .imagen {
		margin-top: 20px
	}

	.prods .item .txt .descripcion {
		margin-top: 15px
	}

	.ficha .imagenes {
		grid-template-columns: repeat(2, 1fr);
		margin-top: 30px
	}

	.prods,
	.ficha,
	.contacto,
	.contenido.legal {
		padding: 80px 0
	}

	.solucion .fondo .texto .titulo,
	.migas .miga .texto .titulo {
		line-height: 1.2
	}

	body.es_ficha .migas .miga .texto .segmentos span:nth-last-child(-n+2) {
		display: none
	}

	.campo input {
		padding: 15px 20px 0
	}

	.campo label {
		left: 20px;
		right: 20px
	}

	.campo textarea {
		padding: 25px 20px 20px
	}

	div.format_popup.legal {
		max-width: 700px;
		padding: 30px
	}

	div.format_popup .tit {
		font-size: 4rem;
		line-height: 40px
	}

	#cookie-bar p {
		padding: 30px
	}

	.mapa iframe {
		height: 320px !important
	}

	.contactar .superior .contenedor {
		display: block
	}

	.contactar .superior .texto {
		max-width: none
	}

	.contactar .superior .iconos {
		margin-top: 20px
	}

	.contactar .superior {
		padding: 30px 0 20px
	}

	.contactar .fondo {
		height: 300px
	}

	.migas .miga.min {
		height: 250px
	}

}

@media (max-width:540px) {
	::-webkit-scrollbar {
		height: 0;
		width: 0
	}

	* {
		scrollbar-width: none
	}

	.contenedor {
		width: 92%
	}

	.cabecera {
		top: 20px
	}

	.cabecera ul {
		display: none
	}

	.cabecera .wrapper {
		display: block
	}

	.cabecera .logo {
		max-width: 180px
	}

	.banners .banner {
		min-height: 430px;
		max-height: 430px
	}

	.banners .banner .texto {
		bottom: 20px
	}

	.banners .banner .texto .descripcion {
		max-width: none;
		line-height: 1.4;
		margin-top: 15px
	}

	.banners .banner .texto .titulo {
		font-size: 3.5rem;
		text-transform: initial
	}

	.boton {
		display: block;
		padding: 14px 45px 13px 20px;
		border-radius: var(--radiado_10)
	}

	.boton::after {
		right: 15px;
		width: 24px;
		height: 24px;
		background-color: unset;
		background-image: url('../img/web/arrow-w.svg')
	}

	.banners .banner .texto .enlace {
		margin-top: 15px
	}

	.menu_ham {
		top: 20px;
		right: 3.5%
	}

	.contenido .titulo {
		font-size: 3.5rem
	}

	.contenido .subtitulo,
	.contenido .tit {
		font-size: 2.25rem
	}

	.mm-spn.mm-spn--navbar::after {
		padding-right: 20px;
		font-size: 2.75rem
	}

	.presentacion .imagenes,
	.valores .fondo .items {
		display: block
	}

	.presentacion .imagenes .imagen:first-child {
		margin-bottom: 20px
	}

	.valores .fondo {
		padding: 20px 0
	}

	.valores .fondo .items .item:last-child {
		width: auto
	}

	.valores .fondo .items .item {
		padding: 20px 15px;
		margin-top: 20px
	}

	.valores .fondo .items .item:first-child {
		margin-top: 0
	}

	.contenido .descripcion,
	.prods .descripcion {
		font-size: 1.667rem
	}

	.productos,
	.productos.gruas {
		padding: 80px 0
	}

	.solucion .fondo {
		padding: 20px 0
	}

	.solucion .fondo .texto {
		text-align: left;
		margin-left: 0
	}

	.solucion .fondo::before {
		background: -webkit-linear-gradient(270deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.7) 100%);
		background: -moz-linear-gradient(270deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.7) 100%);
		background: linear-gradient(270deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.7) 100%)
	}

	.solucion .fondo .texto .titulo,
	.migas .miga .texto .titulo {
		font-size: 3rem
	}

	.solucion .fondo .texto .enlace,
	.prods .item .txt .enlace {
		margin-top: 20px
	}

	.pie .superior .wrapper .centro .logo {
		max-width: 220px
	}

	.pie .superior .wrapper .centro .info .maps {
		line-height: 22px;
		margin-bottom: 5px
	}

	.pie .superior .wrapper .centro .info .maps i {
		display: block;
		width: 0;
		height: 0;
		overflow: hidden;
		text-indent: -9999px
	}

	.pie .superior .wrapper .centro .info ul li {
		display: block;
		padding-left: 0;
		padding-right: 0;
		margin-right: 0
	}

	.pie .superior .wrapper .centro .info ul li::before,
	.pie .superior .wrapper .centro .info ul li::after,
	.pie .inferior .copyright::after {
		display: none
	}

	.pie .superior .wrapper .centro .info ul li:last-child {
		padding-left: 0
	}

	.pie .superior {
		padding: 30px 0 10px
	}

	.pie .inferior {
		display: block;
		letter-spacing: .1rem;
		padding: 13px 0 0
	}

	.pie .inferior .copyright {
		display: block;
		padding-right: 0;
		margin-right: 0;
		line-height: 1.6
	}

	.pie .inferior .sgm {
		display: block
	}

	.kit_digital .limit {
		padding: 2px
	}

	.migas .miga {
		height: 250px
	}

	.migas .miga .texto {
		bottom: 10px
	}

	.reparacion .texto .imagen {
		max-width: none
	}

	body.es_ficha .migas .miga .texto .titulo,
	body.es_ficha .migas .miga .texto .segmentos {
		max-width: none
	}

	.migas .miga .texto .boton.volver {
		right: unset;
		left: 0
	}

	.ficha .texto .subtitulo {
		margin-top: 20px
	}

	.ficha .wrap {
		margin-top: 60px
	}

	.migas .miga .texto .boton.volver {
		transform: translateY(140px);
		color: var(--purpura);
		border: 1px solid var(--purpura)
	}

	.boton.volver::after {
		background-image: url('../img/web/arrow.svg');
		left: 10px;
		background-size: 24px
	}

	.ficha .imagenes {
		display: block;
		margin-top: 20px
	}

	.ficha .imagenes .imagen {
		margin-top: 15px
	}

	.ficha .imagenes .imagen:first-child {
		margin-top: 0
	}

	.formulario .campos .campo,
	.formulario .campos .campo.mitad:nth-child(-n+2) {
		margin-top: 15px
	}

	.formulario .campos .campo.mitad {
		width: auto;
		margin-right: 0;
		display: block
	}

	.formulario .campos .campo.mitad:first-child {
		margin-top: 0
	}

	.campo input {
		height: 55px
	}

	.campo label {
		line-height: 55px
	}

	.formulario .checks {
		display: block;
		margin-top: 20px
	}

	.formulario .checks .check {
		font-size: 1.45rem
	}

	.boton.enviar {
		margin-top: 10px
	}

	.mapa iframe {
		height: 280px !important
	}

	.contactar .superior .iconos .icono {
		font-size: 1.667rem;
		padding-left: 60px
	}

	.contactar .superior .iconos .icono span.separador {
		display: none
	}

	.contactar .superior .iconos .icono a.telefono {
		display: block
	}

	.contactar .superior .iconos .icono a i {
		display: initial
	}

	.contactar .superior .iconos .icono::before {
		width: 44px;
		height: 44px;
		background-size: 18px
	}

	.contactar .superior .iconos .icono .leyenda {
		display: none
	}

	.contactar .superior .iconos .icono {
		margin-top: 15px
	}

	.contactar .fondo {
		height: 180px;
		margin-top: -10px
	}

	.migas .miga.min {
		height: 200px
	}

	.migas .miga.min .texto {
		bottom: 5px
	}

	#cookie-bar p {
		padding: 15px;
		min-height: 130px;
		bottom: 0;
		left: 0;
		right: 0;
		top: unset;
		border-radius: 0;
		transform: none
	}

	#cookie-bar p span {
		font-size: 1.45rem;
		line-height: 1.4;
		margin-bottom: 10px
	}

	#cookie-bar a {
		font-size: 1.6rem;
		text-align: left;
		padding: 8px;
		border-radius: var(--radiado_10)
	}

	div.format_popup {
		top: 0;
		position: fixed;
		left: 0;
		right: 0;
		padding: 20px;
		border-radius: 0
	}

	div.format_popup.legal {
		position: absolute;
		padding: 20px
	}

	div.format_popup .tit {
		font-size: 3.5rem;
		line-height: 35px
	}

	div.format_popup.legal .fancybox-close-small {
		position: fixed;
		background-color: var(--blanco);
		color: var(--purpura)
	}

}

@media (max-width:359px) {
	html {
		font-size: 56%
	}

}

@media (pointer:coarse) {
	*::-webkit-scrollbar {
		display: none
	}

	* {
		scrollbar-width: none
	}

}