@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	   only screen and (min--moz-device-pixel-ratio: 1.5),
	   only screen and (min-device-pixel-ratio: 1.5){
		
		

}

/* FIX OCULTAR BOTÓN MENÚ */
@media screen and (max-width: 2400px) and (min-width: 1025px){
    .btn-menu{
        display: none !important
    }   
}








/* =======================================================================*/

/* #1024
 
=========================================================================*/
@media screen and (max-width: 1024px){
	
	:root {

		/* size */
		--size             : .95rem; /* 16px */
		--size-1           : 2.8rem; /* 60px */
		--size-2           : 2.2rem; /* 34px */
		--size-3           : 1.9rem; /* 30px */
		--size-4           : 1.5rem; /* 26px */
		--size-5           : 1.2rem; /* 22px */
		--size-6           : 1rem; /* 18px */

		--line-height      : 1.5;
		--line-height-tit  : 1.15;

		/* container */
		--padding-container: 30px;

		/* header */
		--h-header         : 65px;


	} 


	/* #cols */
	.cols-4 {
		width: 49.9998%;
	}
	.cols-3 {
		width: 33.332%;
	}

	/* #contenido */
	.contenido {
		padding: 90px 0;
	}

	/* #header */
	#header {
		padding: 15px 0;
	}


	/* #menu */
	.menu li a {
		padding: 10px 15px;
	}


	/* #servicios */
	.servicios .sep {
		display: none;
	}


	/* #clientes */
	.clientes .swiper-slide img {
		height   : 35px !important;
	}



	/* #footer */
	#footer {
		padding: 0;
	}
	
	
	
}


 



/* =======================================================================*/

/* 990
 
=========================================================================*/
@media screen and (max-width: 990px){
	


	/* #root */
	:root {

		--h-header: 55px;

	}




	/* #cont */
	.cont, 
	.cont-mini, 
	.cont-mini-2 {
		width: 100%;
	}


	/* #address */
	address {
		flex-direction: column;
		align-items   : start;
		padding       : 0 15px;
	}

		address > div {
			margin-bottom: 30px;
		}


	/* HEADER */
	#header {
		padding: 0 10px;
		height : var(--h-header-scroll);
	}
		#header .d--grid {
			grid-template-columns: var(--w-logo-scroll) 1fr;
		}

			#header .col--right {
				grid-template-columns: 65px 25px;
				column-gap           : 15px
			}
			


	
 
	
	
	
	/* main menú */
	.btn-menu {
		display: block;
	}

	.main-menu {
		transform : translateX(1000px);
		transition: all 1s ease;
		position  : absolute;
	}

	.visible--menu .main-menu {
		position        : fixed;
		bottom          : 0;
		right           : 0;
		width           : 100%;
		max-width       : 100%;
		height          : calc(100vh - var(--h-header-scroll));
		transform       : translateX(0);
		z-index         : 998;
		opacity         : 1;
	}

	
	/* menú */
	.menu {
		width           : 100%;
		float           : left;
		height          : 100%;
		background-color: rgba(var(--color-cygnus-rgb) / .9);
		padding-top     : var(--h-header);
		padding-right   : 30px;
		opacity         : 0;
	}
	.visible--menu .main-menu .menu {
		right     : 0;
		visibility: visible;
		opacity   : 1;
	}
	
	.visible--menu .menu li {
		width : 100%;
		margin: 10px 0
	}
	
	.visible--menu .menu li a {
		width        : 100%;
		display      : block;
		text-align   : right;
		margin-bottom: 30px;
		float        : left;
		font-size    : 1.15rem;
		font-weight  : 300;
	}



	/* #servicios */
	.servicios .d--grid {
		grid-template-columns: repeat(2, 1fr);
	}




	/* #contacto */
    .form-contacto .cols-6 {
    	width: 100%;
    }




}









/* =======================================================================*/

/* 645
 
=========================================================================*/
@media screen and (max-width: 645px){
	

	.cols-1,
	.cols-2 {
        width:24.9999%;
    }
	
	.cols-3,
	.cols-5 {
		width:49.9998%;
	}
    
    .cols-4,
    .cols-6 .cols-6 {
        width: 100%
    }
	
	.cosl-7,
	.cols-8,
	.cols-9 {
		width:83.333%
	}
	
	.cols-11 {
		width:100%
	}
	
	
	
	
}





/* =======================================================================*/

/* 540
 
=========================================================================*/
@media screen and (max-width: 540px){


	:root {

		/* size */
		--size-1           : 2.6rem; /*  */
		--size-2           : 2rem; /*  */
		--size-3           : 1.7rem; /*  */
		--size-4           : 1.3rem; /*  */
		--size-5           : 1.1rem; /*  */
		--size-6           : 1.05rem; /*  */

		--w-logo-scroll    : 170px;

	}
	
	.cols-3,
	.cols-4,
	.cols-5, 
	.cols-6,
	.cols-7,
	.cols-8,
	.cols-9, 
	.cols-10,
	.cols-11 {
		width:100%; 
	}



	/* #HEADER */
	#header .cont {
		padding-right: 0;
		padding-left : 0;
	}

	#header .cont .cols-12 {
		padding-right: 5px;
		padding-left : 5px;
	}


	#header .col--right {
		column-gap: 15px;
	}


	/* #menu */
	.visible--menu .menu li a {
		margin-bottom: 20px;
		font-size    : 1.05rem;
	}


	/* #cabezal */
	header.cabezal {
		margin-bottom: 60px;
	}


	/* #quienes somos */
	.quienes-somos {
		padding-bottom: 0 !important;
	}


	/* #servicios */
	.servicios .d--grid {
		grid-template-columns: 1fr;
	}

	.box--servicios {
		grid-template-columns: 50px 1fr;
	}

		.box--servicios i,
		.box--servicios i:before {
			height         : 50px;
			background-size: contain !important;
		}




	/* #contacto */
	.form-contacto .cols-6 {
		padding-bottom: 0;
	}

	.caja-form.fix-mobile {
		margin-bottom: 0 !important;
	}



	.msj-ok,
	.msj-error,
	.msj-enviando {
		flex-direction: column;
	}

	.msj-enviando:before,
	.msj-ok:before,
	.msj-error:before {
		margin-bottom: 10px;

	
}










/* =======================================================================*/

/* 420
 
=========================================================================*/
@media screen and (max-width: 420px){



	/* #idioma */
	.nav--idioma {
		transform: translateX(5px);
	}
	.nav--idioma * {
		font-size: .8rem;
	}

	/* #portada */
	.portada .tx h2, 
	.portada .tx h2 span {
		font-size: var(--size-3);
	}
	
 
}









/* =======================================================================*/

/* 360
 
=========================================================================*/
@media screen and (max-width: 360px){
	

	:root {

		/* size */
		--size-1           : 2.4rem; /*  */
		--size-2           : 1.85rem; /*  */
		--size-3           : 1.65rem; /*  */

		--w-logo-scroll    : 150px;

	}
	
}