.menu_ham {
	display: none
}

@media (max-width:1800px) {}

@media (max-width:1679px) {
	.banners .banner{
		min-height: 500px;
    	max-height: 550px;
	}

	.banners .banner .texto{
		bottom: 120px;
	}

	.presentacion .texto{
		gap: 100px;
	}

	.presentacion .texto .descripcion {
    	width: calc(70% - 40px);
	}

	.promociones .promos .item .txt, .valores .items .item .txt{
		padding: 20px 30px;
	}

	.contenido.venta .fondo{
		padding: 0 0 220px;
	}

	.proyectos .contenedor, .contacto .contenedor{
		gap: 60px;
	}

	.proyectos .texto{
		width: calc(50% - 15px);
	}

	.pie .wrapper{
		padding: 60px 0;
	}

	.pie .inferior{
		padding: 20px 0;
	}

	.promociones .promos .item .txt .categoria{
		top: 20px;
		right: 20px;
	}

	.contenido.ficha .superior .contenedor, .contenido.ficha .contactar .contenedor{
		gap: 80px;
	}

	.contenido.ficha .superior .texto, .contenido.ficha .contactar .contenedor .texto {
    	width: calc(50% - 35px);
	}

	.formulario{
		padding: 50px;
	}

	.contacto .formulario{
		width: calc(50% - 30px);
	}
}

@media (max-width:1439px) {

	.contenedor{
		width: 95%;
	}

	.cabecera .inferior{
		padding: 12px 0;
	}

	.cabecera .inferior .logo{
		max-width: 250px;
	}

	.banners .banner {
        min-height: 450px;
        max-height: 450px;
    }

    .banners .banner .texto {
        bottom: 90px;
    }

    .presentacion .texto {
        gap: 60px;
    }

    .presentacion .texto .titulo{
    	width: calc(30% - 20px);
    }

    .contenido.venta .fondo {
        padding: 0 0 200px;
    }

    .contenido.proyectos {
    	padding: 350px 0 100px;
	}

	.no_items{
		font-size: 1.85em;
	}

	.proyectos .contenedor, .contacto .contenedor {
        gap: 40px;
    }

    .proyectos .texto {
        width: calc(50% + 5px);
    }

    .banners .banner .texto .titulo, .contenido.empresa .texto .titulo, .promociones.listado .texto .titulo, 
    .contenido.ficha .texto .titulo, .contenido.contacto .texto .titulo, .contenido.legal .texto .titulo{
    	font-size: 3.5em;
    }

    .banners .banner .texto .titulo{
    	max-width: 850px;
    }

    .migas{
    	margin-top: 50px;
    }

    .contenido.ficha .superior .contenedor, .contenido.ficha .contactar .contenedor {
        gap: 40px;
    }

    .contenido.ficha .superior .texto, .contenido.ficha .contactar .contenedor .texto {
        width: calc(50% + 5px);
    }

    .formulario {
        padding: 40px;
    }

    .ficha .secundarias .imagenes{
    	gap: 20px;
    }

    .contacto .formulario {
        width: calc(50% + 5px);
    }
}

@media (max-width:1365px) {}

@media (max-width:1279px) {
	.cabecera .inferior ul.menu li:first-child{
		display: none;
	}

	.cabecera .inferior .logo {
        max-width: 220px;
    }

    .cabecera .inferior ul.menu li{
    	margin-right: 30px;
    }

    .cabecera .inferior {
        padding: 10px 0;
    }

    .banners .banner {
        min-height: 400px;
        max-height: 400px;
    }

    .presentacion .texto{
    	display: block;
    }

    .presentacion .texto .titulo, .presentacion .texto .descripcion{
    	width: auto;
    }

    .presentacion .texto .descripcion{
    	margin-top: 15px;
    }

    .promociones .promos, .valores .items{
    	grid-template-columns: repeat(2, 1fr);
    }

    .contenido.proyectos {
        padding: 220px 0 80px;
    }

    .proyectos .contenedor{
    	align-items: flex-start;
    }

    .pie .inferior {
        padding: 14px 0;
    }

    .kit_digital .limit{
    	padding: 10px;
    }

    .contenido.empresa .texto .descripcion{
    	column-gap: 30px;
    }

    .empresa .imagenes{
    	gap: 30px;
    }

    .promociones.listado .texto .titulo, .promociones.listado .texto .descripcion{
    	max-width: none;
    }

    .promociones.listado .texto .filtrar{
    	position: relative;
    	right: unset;
    	bottom: unset;
    	margin-top: 20px;
    }

    .promociones.listado .texto .filtrar .desplegable_categorias{
    	right: unset;
    	left: 0;
    }

    .contenido.ficha .superior .contenedor{
        gap: 30px;
    }

    .contenido.ficha .superior .imagen{
    	margin-top: 10px;
    }

    .contenido.ficha .superior .texto{
        width: calc(50% + 15px);
    }

    .contenido.ficha .contactar .contenedor, .contacto .contenedor{
    	display: block;
    }

    .contenido.ficha .contactar .contenedor .texto,
    .contenido.ficha .contactar .contenedor .formulario,
    .contacto .texto, .contacto .formulario{
    	width: auto;
    }

    .contenido.ficha .contactar .contenedor .formulario, .contacto .formulario{
    	margin-top: 30px;
    }

    .formulario{
    	padding: 30px;
    }

    .ficha .ubicacion .mapa iframe{
    	height: 400px;
    }

    .descripcion h2, .descripcion h3, .descripcion h4{
    	font-size: 1.4em;
    	line-height: 1.2;
    }

    div.format_popup.legal {
        max-width: 960px;
    }

    .cabecera .superior ul li{
    	margin-right: 25px;
    }

    .proyectos .contenedor{
    	gap: 30px;
    }

    .proyectos .texto {
        width: calc(50% + 15px);
    }
}

@media (max-width:1023px) {

	:root {
		--radiado_25: 10px;
	}

	.cabecera ul.menu li.cont a, .boton, .promociones.listado .texto .filtrar .desplegar_categorias,
	.promociones .promos .item .txt .categoria, .contenido.ficha .texto .categoria{
		border-radius: 30px;
	}

	.cabecera .inferior ul.menu li:not(.cont){
		display: none;
	}

	.cabecera .inferior ul.menu{
		margin-right: 70px
	}

	.banners .banner .texto .titulo, .contenido.empresa .texto .titulo, .promociones.listado .texto .titulo, 
	.contenido.ficha .texto .titulo, .contenido.contacto .texto .titulo, .contenido.legal .texto .titulo {
        font-size: 3em;
    }

    .banners .banner {
        min-height: 350px;
        max-height: 350px;
    }

    .banners .banner .texto {
        bottom: 60px;
    }

    .contenido.presentacion{
    	padding: 60px 0;
    }

    .cabecera .inferior .logo {
        max-width: 200px;
    }

    .promociones .promos .item .txt, .valores .items .item .txt {
        padding: 20px 15px;
    }

    .menu_ham {
        display: block;
        color: var(--blanco);
        border: none;
        float: right;
        position: fixed;
        right: 2.5%;
        top: 60px;
        height: 50px;
        width: 50px;
        z-index: 99;
        background: var(--amarillo);
        -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.6rem;
        outline: none;
        border: 1px solid var(--amarillo);
        border-radius: 50%;
        overflow: hidden;
        text-indent: -9999px;
    }

    .menu_ham .the_bars {
        height: 2px;
        width: 1.6rem;
        left: 50%;
        -webkit-transform: translate(-50%);
        transform: translate(-50%);
        background: var(--negro);
        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: 1.6rem;
        background: var(--negro);
        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: -8px;
        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: -8px;
        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(--negro);
    }

    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(--negro);
    }

    body.scroll_window .menu_ham {
        top: 0;
        right: 0;
        border-radius: 0;
        border: 1px solid var(--negro);
    }

    .mm-spn.mm-spn--navbar::before {
        opacity: 1;
        z-index: 2;
        border-color: var(--negro);
    }

    .mm-spn.mm-spn--navbar::after {
        font-family: var(--fuente_secundaria);
        font-size: 4em;
        font-weight: bold;
        letter-spacing: .025em;
        text-transform: uppercase;
        opacity: 1;
        background: var(--amarillo);
        color: var(--negro);
    }

    .mm-spn .falso_link, .mm-spn a, #mmmenu ul li.sel ul li a {
        font-size: 1.667em;
        color: var(--negro);
    }

    .falso_link.sel, #mmmenu ul li.sel a, #mmmenu ul li.sel ul li.selecc a {
        font-weight: bold;
        text-decoration: underline;
    }

    .contenido.promociones {
    	padding: 60px 0 80px;
	}

	.promociones .texto, .contenido.venta .fondo .texto{
		max-width: none;
	}

	.contenido.venta .fondo .texto{
		padding-top: 60px;
	}

	.promociones.venta .promos{
		margin: 40px 0 0;
	}

	.contenido.venta .fondo{
		padding: 0 0 60px;
		background-image: none !important;
		background: var(--negro);
	}

	.contenido.venta .fondo.sin {
    	padding: 0 0 60px;
	}

	.promociones .texto, .contenido.venta .fondo .texto{
		text-align: left;
	}

	.promociones .promos .item .txt .categoria {
        top: 10px;
        right: 10px;
    }

    .contenido.proyectos, .contenido.proyectos.sin {
        padding: 80px 0;
    }

    .contenido.venta .fondo::before{
    	transform: translateY(20px);
    }

    .proyectos .imagenes{
    	position: sticky;
    	top: 20px;
    	left: 0;
    }

    .proyectos .texto .titulo br{
    	display: none;
    }

    .pie .der .menu{
    	display: none;
    }

    .pie .wrapper, .pie .der{
    	display: block;
    }

    .pie .wrapper{
    	padding: 40px 0 20px;
    }

    .pie .der ul.legales{
    	margin-top: 15px;
    }

    .pie .der ul li.leyenda{
    	display: none;
    }

    .pie .der ul li:not(.leyenda){
    	position: relative;
    	display: inline-block;
    	vertical-align: top;
    	margin-right: 20px;
    }

    .pie .der ul li:last-child{
    	margin-right: 0;
    }

    .migas {
        margin-top: 30px;
    }

    .contenido.empresa .texto .descripcion{
    	column-gap: 0;
    	column-count: 1;
    }

    .empresa .imagenes, .valores .items{
    	gap: 20px;
    }

    .empresa .imagenes, .contenido.ficha .superior .imagen {
        margin-top: 20px;
    }

    .contenido.valores, .contenido.ficha .contenido.contactar{
    	padding: 80px 0;
    }

    .contenido.ficha .superior .contenedor{
    	display: block;
    }

    .contenido.ficha .superior .texto, .contenido.ficha .superior .imagen{
    	width: auto;
    }

    body.es_ficha .migas .miga .texto .segmentos{
    	max-width: none;
    }

    .migas .miga .texto .boton.volver{
    	position: relative;
    	right: unset;
    	top: unset;
    	margin-top: 10px;
    }

    .ficha .tipologias{
    	padding: 60px 0;
    }

    .ficha .secundarias .imagenes{
    	grid-template-columns: repeat(2, 1fr);
    }

    div.format_popup.legal {
        max-width: 700px;
        padding: 30px;
    }

    .formulario .checks{
    	margin-top: 30px;
    }

    .contenido.empresa, .contenido.promociones.listado, .contenido.contacto, .contenido.legal{
    	padding: 10px 0 80px;
    }

    .ficha .ubicacion .mapa iframe {
        height: 350px;
    }
}

@media (max-width:540px) {
	::-webkit-scrollbar {
		height: 0;
		width: 0
	}

	* {
		scrollbar-width: none
	}

	.contenedor{
		width: 92%;
	}

	.cabecera .superior{
		display: none;
	}

	.cabecera .inferior ul.menu{
		display: none;
	}

	.cabecera .inferior .contenedor{
		display: block;
	}

	.menu_ham{
		right: 3.5%;
		top: 16px;
	}

	.banners .banner {
        min-height: 300px;
        max-height: 300px;
    }

	.banners .banner .texto{
		bottom: 20px;
		text-align: left;
	}

	.banners .banner .texto .titulo{
		font-weight: 600;
		letter-spacing: 0;
		line-height: 1.3;
		max-width: none;
	}

	.contenido .titulo, .contenido.empresa .texto .titulo, .promociones.listado .texto .titulo, .contenido.ficha .texto .titulo, 
	.contenido.contacto .texto .titulo, .contenido.legal .texto .titulo{
		line-height: 1.4;
	}

	.contenido .descripcion{
		font-size: 1.6em;
		line-height: 1.5;
		margin-top: 20px;
	}

	.mm-spn.mm-spn--navbar::after {
		font-size: 3.5em;
	}

	.promociones .promos, .valores .items{
		display: block;
	}

	.promociones .promos{
		margin-top: 30px;
	}

	.promociones .promos .item{
		margin-top: 20px;
	}

	.promociones .promos .item:first-child{
		margin-top: 0;
	}

	.promociones .promos .item .txt .tit, .promociones .promos .item .txt .descripcion{
		display: block;
        min-height: auto;
        overflow: visible;
        -webkit-line-clamp: unset;
        line-clamp: unset;
        -webkit-box-orient: initial;
    }

    .promociones .promos .item .txt, .valores .items .item .txt{
    	padding: 15px;
    }

    .boton{
    	display: block;
    }

    .contenido.venta .fondo .texto {
        padding-top: 40px;
    }

    .no_items{
    	padding: 20px 15px;
    	text-align: left;
    }

    .proyectos .contenedor{
    	display: block;
    }

    .proyectos .texto, .proyectos .imagenes{
    	width: auto;
    }

    .proyectos .imagenes{
    	position: static;
    	margin-top: 20px;
    }

    .pie ul li a.logo_text{
    	font-size: 3.5em;
    }

    .pie ul li a.logo_text span{
    	font-size: 22px;
    }

    .pie ul.info li a:not(.logo_text){
    	padding-left: 0;
    	background: none;
    }

    .pie ul.info, .pie .der ul.legales{
    	text-align: center;
    }

    .pie .der ul li:not(.leyenda){
    	margin: 0 5px;
    }

    .pie .inferior{
    	padding: 14px 0 0;
    	text-align: center;
    }

    .pie .inferior .contenedor, .pie .inferior .copyright, .pie .inferior a{
    	display: block;
    }

    .pie .inferior .copyright{
    	line-height: 1.4;
    }

    .kit_digital .limit{
    	padding: 3px;
    }

    .empresa .imagenes{
    	display: block;
    }

    .empresa .imagenes, .empresa .imagenes .imagen,
    .valores .items .item{
    	margin-top: 20px;
    }

    .empresa .imagenes .imagen:first-child,
    .valores .items .item:first-child{
    	margin-top: 0;
    }

    .promociones.listado .texto .filtrar .desplegable_categorias li{
    	padding: 0 10px;
    }

    .promociones.listado .texto .filtrar .desplegable_categorias li a{
    	padding: 0 15px 0 30px;
    }

    .promociones.listado .texto .filtrar .desplegable_categorias li a::before{
    	top: 13px;
    }

    .promociones .promos .item .txt .categoria{
    	position: relative;
    	top: unset;
    	right: unset;
    	display: block;
    	padding: 12px 0 9px;
    	background: none;
    	border-radius: 0;
    }

    body.es_ficha .migas .miga .texto .segmentos span:last-child{
    	display: block;
    	line-height: 1.6;
    }

    body.es_ficha .migas .miga .texto .segmentos span.separador:nth-last-child(2){
    	display: none;
    }

    .migas .miga .texto .boton.volver{
    	margin-top: 20px;
    	text-align: center;
    }

    .contenido.ficha .texto .documentos .wrap{
    	display: block;
    }

    .contenido.ficha .texto .documentos .wrap .boton.descargar{
    	margin-top: 15px;
    }

    .contenido.ficha .texto .documentos .wrap .boton.descargar:first-child{
    	margin-top: 0;
    }

    .iconos .icono a.email{
    	line-height: 24px;
    	word-break: break-all;
    }

    .contenido.valores, .contenido.ficha .contenido.contactar {
        padding: 60px 0;
    }

    .formulario {
        padding: 20px 15px;
    }

    .formulario .campos .campo.mitad{
    	display: block;
    	width: auto;
    	margin-right: 0;
    }

    .formulario .campos .campo.mitad:nth-child(2){
    	margin-top: 10px;
    }

    .campo input{
    	padding: 15px 15px 0;
    }

    .campo label{
    	left: 15px;
    	right: 15px;
    }

    .formulario .checks{
    	margin-top: 20px;
    	display: block;
    }

    .formulario .checks .check{
    	line-height: 22px;
    }

    .formulario .checks .check label::before{
    	top: 3px;
    	transform: none;
    }

    .formulario .checks .boton{
    	margin-top: 15px;
    }

    .ficha .ubicacion .mapa iframe {
        height: 250px;
    }

    .ficha .tipologias.ubicacion, .ficha .tipologias.secundarias{
    	padding: 60px 0;
    }

    .ficha .secundarias .imagenes{
    	display: block;
    }

    .ficha .secundarias .imagenes .imagen{
    	margin-top: 20px;
    }

    .ficha .secundarias .imagenes .imagen:first-child{
    	margin-top: 0;
    }

    .promociones.listado .texto .filtrar .desplegar_categorias{
    	display: block;
    }

    .promociones.listado .texto .filtrar .desplegable_categorias{
    	right: 0;
    }

    .contacto .formulario .txt{
    	text-align: left;
    }

    .campo textarea{
    	padding: 20px 15px;
    }

    .contenido.empresa, .contenido.promociones.listado, .contenido.contacto, .contenido.legal{
    	padding: 10px 0 60px;
    }

    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.5em;
    	line-height: 35px;
    }

    div.format_popup.legal .fancybox-close-small {
        position: fixed;
        background-color: var(--blanco);
        color: var(--negro);
    }

    div.format_popup h1, div.format_popup h2, div.format_popup h3, div.format_popup h4, div.format_popup h5{
    	font-size: 2.25em;
    }

    .contenido.legal .texto .descripcion em{
    	word-break: break-all;
    }

    .contenido.venta .fondo.sin, .contenido.venta .fondo {
        padding: 0 0 40px;
    }

    #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.4em;
        margin-bottom: 10px;
    }

    html.loaded #cookie-bar a {
        font-size: 1.45em;
        text-align: left;
        padding: 10px;
        border-radius: var(--radiado_10);
    }

    .contenido.presentacion {
        padding: 40px 0;
    }

    .contenido.ficha .superior {
	    padding: 30px 0 70px;
	}

	.contacto .formulario .campos {
    	margin-top: 20px;
	}
}

@media (max-width:359px) {
	body {
		font-size: 56%
	}
}

@media (pointer:coarse) {
	*::-webkit-scrollbar {
		display: none
	}

	* {
		scrollbar-width: none
	}
}