/* fonts
------------------------------------------------------------------------------------------------------  */
@font-face {
    font-family: 'Helvetica Neue Thin';
    src: url('../fonts/Helvetica Neue LT Std 35 Thin.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: 'Helvetica Neue Roman';
    src: url('../fonts/Helvetica Neue LT Std 55 Roman.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Helvetica Neue Medium';
    src: url('../fonts/Helvetica Neue LT Std 65 Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Helvetica Neue Bold';
    src: url('../fonts/Helvetica Neue LT Std 75 Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Helvetica Neue Heavy';
    src: url('../fonts/Helvetica Neue LT Std 85 Heavy.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}

/* root
------------------------------------------------------------------------------------------------------  */
:root {
	
	/* font  */
	--font-thin: 'Helvetica Neue Thin', sans-serif;
	--font-roman: 'Helvetica Neue Roman', sans-serif;
	--font-medium: 'Helvetica Neue Medium', sans-serif;
	--font-bold: 'Helvetica Neue Bold', sans-serif;
	--font-heavy: 'Helvetica Neue Heavy', sans-serif;

	/* colores */
	--color-primary: #0b1e59;
    --color-secondary: #e9621f; 
	--color-black: #000; 
	--color-white: #fff; 
	--color-tertiary: #888888;
	--color-lightgrey: #f0f0f0; 
	--color-success: #5cac20;

}

	/* body
	------------------------------------------------------------------------------------------------------  */
	body {
		margin: 0 auto;
		width: 100%;
		padding: 0px;
		font-size: 16px;
		font-family: var(--font-roman);
		text-align: left;
		z-index: 1;
	}

	/* layout cols
	------------------------------------------------------------------------------------------------------  */
	.col_100    { float: left; margin: 0px; padding: 0px; width: 100%; }
	.col_90     { float: left; margin: 0px; padding: 0px; width: 90%; }
	.col_85     { float: left; margin: 0px; padding: 0px; width: 85%; }
	.col_80     { float: left; margin: 0px; padding: 0px; width: 80%; }
	.col_75     { float: left; margin: 0px; padding: 0px; width: 75%; }
	.col_70     { float: left; margin: 0px; padding: 0px; width: 70%; }
	.col_66     { float: left; margin: 0px; padding: 0px; width: 66.66%; }
	.col_65     { float: left; margin: 0px; padding: 0px; width: 65%; }
	.col_60     { float: left; margin: 0px; padding: 0px; width: 60%; }
	.col_55     { float: left; margin: 0px; padding: 0px; width: 55%; }
	.col_50     { float: left; margin: 0px; padding: 0px; width: 50%; }
	.col_45     { float: left; margin: 0px; padding: 0px; width: 45%; }
	.col_40     { float: left; margin: 0px; padding: 0px; width: 40%; }
	.col_35     { float: left; margin: 0px; padding: 0px; width: 35%; }
	.col_33     { float: left; margin: 0px; padding: 0px; width: 33.33%; }
	.col_30     { float: left; margin: 0px; padding: 0px; width: 30%; }
	.col_25     { float: left; margin: 0px; padding: 0px; width: 25%; }
	.col_20     { float: left; margin: 0px; padding: 0px; width: 20%; }
	.col_15     { float: left; margin: 0px; padding: 0px; width: 15%; }
	.col_10     { float: left; margin: 0px; padding: 0px; width: 10%; }

	/* row
	------------------------------------------------------------------------------------------------------  */
	.row{
		width: 100%;
		margin: 0 auto;
		padding: 0px;
	}

	/* contents
	------------------------------------------------------------------------------------------------------  */
	.content-full{
		margin: 0 auto;
		width: 100%;
	}
	.content{
		margin: 0 auto;
		width: 90%;
	    max-width: 1300px;
		z-index: 1;
	}
	.content-core{
		margin: 0 auto;
		width: 90%;
	    max-width: 1400px;
		z-index: 1;
	}
	.content-submenu{
		margin: 0 auto;
		width: 90%;
	    max-width: 980px;
		z-index: 1;
	}

	/* h
	------------------------------------------------------------------------------------------------------  */
	h1{
		margin: 0px;
		font-family: var(--font-heavy);
		font-size: 85px;
		line-height: 90px;
		color: var(--color-white);
	}
	h2{
		margin: 0px;
		font-family: var(--font-bold);
		font-size: 24px;
		line-height: 30px;
		color: var(--color-primary);
	}
	h3{
		margin: 0px;
		font-family: var(--font-heavy);
		font-size: 18px;
		color: var(--color-primary);
	}
	
	strong {
		font-family: 'Helvetica Neue Bold';
	}

	/* caption
	------------------------------------------------------------------------------------------------------  */
	.caption{
		font-family: var(--font-bold);
		font-size: 18px;
		color: var(--color-primary);
	}

	/* abstract
	------------------------------------------------------------------------------------------------------  */
	.abstract{
		font-weight: var(--font-thin);
		color: var(--color-secondary);
	}

	/* small
	------------------------------------------------------------------------------------------------------  */
	.small{
		font-weight: var(--font-thin);
	}

	/* p
	------------------------------------------------------------------------------------------------------  */
	p {
		margin: 0px;
		hyphens: auto;
		text-align: justify;
	}

	/* a, link
	------------------------------------------------------------------------------------------------------  */
	a {
		cursor: pointer;
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;	
		text-decoration: none;
	}
	.link{
		color: var(--color-primary);
	}
	.link:hover{
		text-decoration: underline;
	}

	/* float
	------------------------------------------------------------------------------------------------------  */
	.float-left{
		float: left;
	}
	.float-right{
		float: right;
	}
	.float-none{
		float: none;
	}

	/* text align
	------------------------------------------------------------------------------------------------------  */
	.text-center{
		text-align: center;
	}
	.text-right{
		text-align: right;
	}
	.text-left{
		text-align: left;
	}

	/* text colors
	------------------------------------------------------------------------------------------------------  */
	.text-color-primary{
		color: var(--color-primary);
	}
	.text-color-white{
		color: var(--color-white);
	}

	/* backgrounds
	------------------------------------------------------------------------------------------------------  */
	.back-lightgray{
		display: flex;
		background-color: var(--color-lightgrey);
		border-top: 1px solid var(--color-primary);
		border-bottom: 1px solid var(--color-primary);
	}

	/* btn
	------------------------------------------------------------------------------------------------------  */
	.btn{
		display: inline-block;
		color: var(--color-white);
		border: 1px solid var(--color-white);
		font-size: 17px;
		padding: 7px 25px;
		padding-top: 12px;
		border-radius: 2px;
		background-image: url('../img/home/arrow_button_more.png');
		background-position: 85% center;
		background-repeat: no-repeat;
		background-size: 20px;
		padding-right: 60px;
	}
	.btn-secondary{
		background-color: var(--color-secondary);
	}
	.btn:hover{
		background-color: var(--color-black);
	}
	.btn-primary{
		background-color: var(--color-primary);
	}
	.btn-secondary{
		background-color: var(--color-secondary);
	}

	/* forms
	------------------------------------------------------------------------------------------------------  */
	form{
		display: inline-block;
		width: 80%;
		max-width: 670px;
		text-align: left;
	}
	form label{
		display: inline-block;
		width: 100%;
		padding: 6px 20px;
		padding-top: 15px;
		box-sizing: border-box;
		color: var(--color-white);
	}
	form input, form textarea{
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
		outline: none;
		border: 0px;
		padding: 12px 20px;
		font-size: 14px;
		color: var(--color-white);
		background-color: #536395;
	}
	form select{
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
		outline: none;
		border: 0px;
		padding: 12px 20px;
		font-size: 14px;
		color: var(--color-white);
		background-color: #536395;
	}
	form .loschecks{
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
	}
	form .loschecks #lopd{
		margin-top: 0.25em;
	}				  
	.msgs_form{
		display: inline-block;
		clear: both; 
		display: none; 
		color:var(--color-secondary); 
		background-color: var(--color-lightgrey);
	}		  
	.msgs_send{
		display: inline-block;
		clear: left; 
		width: auto; 
		background-color: var(--color-success);
		color: var(--color-white);
		box-sizing: border-box;
		display: none; 
	}


	/* Cookies
	------------------------------------------------------------------------------------------------------  */
	#container_cookies {
		width: 96%;
		max-width: 28.125em;
		position: fixed;
		bottom: 0.625em;
		right: 2%;
		z-index: 100;
		padding: 2.5em;
		box-sizing: border-box;
		border: 1px dashed var(--color-primary);
		box-shadow: 0em 0em 0.625em var(--color-tertiary);
		background: rgb(221,219,219);
		background: -moz-linear-gradient(180deg, rgba(221,219,219,1) 0%, rgba(252,252,252,1) 100%);
		background: -webkit-linear-gradient(180deg, rgba(221,219,219,1) 0%, rgba(252,252,252,1) 100%);
		background: linear-gradient(180deg, rgba(221,219,219,1) 0%, rgba(252,252,252,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#dddbdb",endColorstr="#fcfcfc",GradientType=1);
	}
	#container_cookies .mensaje {
		margin: 0 auto;
		width: 100%;
		text-align: justify;
		color: var(--color-secondary);
		font-weight: var(--font-regular);
	}
	#container_cookies .mensaje .txt {
		float: left;
		padding-bottom: 1.5625em;
	}
	

	/* pull
	------------------------------------------------------------------------------------------------------  */
	#pull{
		display: none;
		float: right;
		margin-top: 13px;

	}
	#pull img{
		width: 30px;
	}
	#pull img:hover{
		opacity: 0.8;
	}

	/* header
	------------------------------------------------------------------------------------------------------  */
	#main-header{
		position: fixed;
		width: 100%;
		padding: 0px 0px;
		padding-top: 22px;
		background: rgba(255,255,255,0.7);
		z-index: 2;
	}
	#main-header #logo{
		display: inline-block;
	}
	#main-header #logo img{
		width: 200px;
	}
	#main-header nav{
		float: left;
		width: 70%;
	}
	#main-header nav #nav-menu{
		float: left;
		margin: 0px;
		width: 100%;
		list-style: none;
		text-align: right;
		margin-top: 10px;
	}
	#main-header nav #nav-menu li{
		display: inline-block;
	}
	#main-header nav #nav-menu li a{
		display: inline-block; 
		margin-left: 35px;
		padding: 8px 0px;
		padding-bottom: 1px;
		font-size: 15px;
		color: var(--color-primary);
		font-weight: 500;
		text-decoration: none;
		border-bottom: 3px solid transparent;
	}
	#main-header nav #nav-menu li a:hover{
		border-bottom: 3px solid var(--color-secondary);
	}
	#main-header nav #nav-menu li a.selected{
		border-bottom: 3px solid var(--color-secondary);
	}
	#main-header nav #nav-menu2{
		float: left;
		margin: 0px;
		width: 100%;
		list-style: none;
		text-align: right;
		margin-top: 11px;
	}
	#main-header nav #nav-menu2 li{
		display: inline-block;
	}
	#main-header nav #nav-menu2 li a{ 
		display: inline-block; 
		margin-left: 45px;
		padding: 8px 0px;
		padding-bottom: 20px;
		font-size: 18px;
		color: var(--color-primary);
		font-family: var(--font-heavy);
		text-decoration: none;
		border-bottom: 3px solid transparent;
	}
	#main-header nav #nav-menu2 li a:hover{ 
		border-bottom: 3px solid var(--color-secondary);
	}
	#main-header nav #nav-menu2 li a.selected{
		border-bottom: 3px solid var(--color-secondary);
	}

	#main-header .idioma{
		float: right;
		width: 15%;
		margin-top: 10px;
	}
	#main-header .idioma a{
		display: inline-block;
		padding: 10px 9px;
		padding-top: 12px;
		font-size: 11px;
		line-height: 11px;
		color: #000;
		font-family: var(--font-bold);
		border: 1px solid #222831;
	}
	#main-header .idioma a:hover{
		color: var(--color-secondary);
		border: 1px solid var(--color-secondary)
	}

	/* menu
	------------------------------------------------------------------------------------------------------  */
	#submenu{
		position: fixed;
		width: 100%;
		padding: 0px 0px;
		margin-top: 125px;
		background: rgba(255,255,255,0.9);
		z-index: 2;
	}
	#submenu .boxes-submenu{
		float: left;
		width: 100%;
		padding: 30px 20px;
		box-sizing: border-box;
		border-top: 1px solid var(--color-secondary);
	}
	
	#submenu .boxes-submenu .items{
		float: left;
		width: 29.33%;
		margin: 0px 2%;
	}

	#submenu .boxes-submenu .corpo{
		float: left;
		width: 100%;
		margin-bottom: 20px;
	}
	#submenu .boxes-submenu .corpo a{
		float: left;
		width: 100%;
		font-size: 14px;
		color: var(--color-primary);
		padding: 6px 0px;
		padding-top: 8px;
		font-family: var(--font-bold);
		border-bottom: 0.5px solid var(--color-primary);
	}
	#submenu .boxes-submenu .items .tit{
		float: left;
		width: 100%;
		color: var(--color-secondary);
		font-size: 22px;
		font-family: var(--font-bold);
		border-bottom: 0.5px solid var(--color-primary);
		height: 58px;
	}
	#submenu .boxes-submenu .items .tit a{
		color: var(--color-secondary);		
	}
	#submenu .boxes-submenu .items .tit a:hover{
		color: var(--color-primary);		
	}
	#submenu .boxes-submenu .items .opc1{
		float: left;
		width: 100%;
		font-size: 14px;
		color: var(--color-primary);
		background-image: url('../img/ico-flecha-down.png');
		background-repeat: no-repeat;
		background-position: right center;
		background-size: 8px;
		padding: 6px 0px;
		padding-top: 8px;
		border-bottom: 0.5px solid var(--color-primary);
	}
	#submenu .boxes-submenu .items .opc1:hover{
		color: var(--color-secondary);
	}
	#submenu .boxes-submenu .items .opc1.no-arrow{
		background-image: none;
	}
	#submenu .boxes-submenu .items .box-submenu{
		float: left;
		width: 100%;
		padding-top: 0px;
		padding-bottom: 7px;
		border-bottom: 0.5px solid var(--color-primary);
	}
	#submenu .boxes-submenu .items .box-submenu .opc1:hover{
		color: var(--color-secondary);
	}
	#submenu .boxes-submenu .items .box-submenu .opc2{
		float: left;
		width: 100%;
		color: var(--color-primary);
		font-size: 14px;
		line-height: 20px;
		padding-left: 40px;
	}
	#submenu .boxes-submenu .items .box-submenu .opc2:hover{
		color: var(--color-secondary);
	}

	/* slider
	------------------------------------------------------------------------------------------------------  */
	.slider-container {
		position: relative;
		width: 100%;
		height: 100vh;
		overflow: hidden;
		padding: 0;
	}
	.slider {
		display: flex; /* Cambié de inline-block a flex */
		width: 100%;
		height: 100%;
		transition: transform 0.5s ease-in-out;
	}
	.slide {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100vh; /* Asegura que cada diapositiva ocupe toda la altura de la ventana */
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.box-slide {
		position: relative;
		width: 65%;
		margin-top: 100px;
	}
	.box-slide h1 {
		width: 90%;
	}
	.box-slide .abstract {
		width: 70%;
		font-size: 38px;
		line-height: 40px;
		padding: 10px 0px;
		color: var(--color-white);
	}
	.box-slide .btn {
		margin-top: 30px;
	}
	.box-slide .box-icon {
		text-align: center;
		margin-top: 80px;
	}
	.box-slide .box-icon:hover {
		opacity: 0.7;
	}
	.box-slide .box-icon .icon-more {
		width: 35px;
	}
	.box-slide .box-icon span {
		display: inline-block;
		font-size: 11px;
		line-height: 10px;
		color: var(--color-white);
		font-weight: 700;
	}

	.about .box-slide .eti {
		font-size: 30px;
		line-height: 35px;
		margin-top: 100px;
		color: var(--color-secondary);
		font-family: var(--font-bold);
		margin-bottom: -85px;
	}
	.about .box-slide h1 {
		font-size: 55px;
		line-height: 65px;
		margin-top: 100px;
	}
	.about .box-slide .abstract {
		font-size: 24px;
		line-height: 30px;
	}
	.about .box-slide .box-icon {
		margin-top: 150px;
	}


	.bullets {
		position: absolute;
		bottom: 40px;
		left: 50%;
		transform: translateX(-50%);
		display: flex;
		gap: 7px;
	}
	.bullet {
		width: 50px;
		height: 3px;
		background: var(--color-white);
		cursor: pointer;
		transition: background 0.3s;
	}
	.bullet.active {
		background: var(--color-secondary);
	}
	.arrow {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		background: none;
		color: white;
		border: none;
		cursor: pointer;
	}
	.arrow img {
		width: 25px !important;
	}
	.arrow-left {
		left: 20px;
	}
	.arrow-right {
		right: 20px;
	}

	/* presen
	------------------------------------------------------------------------------------------------------  */
	#presen{
		float: left;
		width: 100%;
		padding-top: 35px;
		padding-bottom: 75px;
		text-align: center;
	}
	#presen .desc{
		display: inline-block;
		width: 100%;
		max-width: 980px;
		padding: 20px 0px;
		font-size: 23px;
		line-height: 30px;
		color: var(--color-primary);
	}
	.presen .box-btn{
		display: inline-block;
		width: 100%;
	}

	/* about-presen
	------------------------------------------------------------------------------------------------------  */
	#about-presen{
		float: left;
		width: 100%;
		padding-top: 50px;
		padding-bottom: 0px;
		text-align: center;
	}
	#about-presen .tit{
		font-family: var(--font-bold);
		font-size: 28px;
		color: var(--color-secondary);
	}
	#about-presen .desc{
		display: inline-block;
		width: 100%;
		max-width: 800px;
		padding: 20px 0px;
		font-size: 23px;
		line-height: 30px;
		color: var(--color-primary);
	}	
	#about-presen .box-presen{
		display: inline-block;
		width: 100%;
		margin-top: 35px;
	}
	#about-presen .box-presen .imagen{
		float: left;
		width: 50%;
		text-align: right;
	}
	#about-presen .box-presen .imagen img{
		width: 90%;
	}
	#about-presen .box-presen .textos{
		float: left;
		width: 50%;
		padding: 0px 35px;
		box-sizing: border-box;
		text-align: left;
	}
	#about-presen .box-presen .textos .titulo{
		display: inline-block;
		width: 100%;	
		font-family: var(--font-bold);	
		color: var(--color-primary);
		font-size: 30px;
		margin-bottom: 15px;
	}
	#about-presen .box-presen .textos .descripcion{
		display: inline-block;
		width: 100%;	
		text-align: justify;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 24px;	
	}


	/* numbers
	------------------------------------------------------------------------------------------------------  */
	#numbers{
		float: left;
		width: 100%;
		padding-top: 50px;
		text-align: center;
	}
	#numbers h2{
		margin-bottom: 30px;
	}
	#numbers .boxes-numbers{
		display: flex;
		width: 100%;
		text-align: left;
		margin-top: 0px;
		margin-bottom: 0px;
		background-color: var(--color-lightgrey);
	}
	#numbers .boxes-numbers .box-number{
		float: left;
		box-sizing: border-box;
		border-collapse: collapse;
		color: var(--color-primary);
		text-align: center;
	}
	#numbers .boxes-numbers .box-number .cap{
		float: left;
		width: 100%;
		font-size: 110px;
		line-height: 110px;
		margin-left: -5px;
		font-family: var(--font-thin);
	}
	#numbers .boxes-numbers .box-number .abs{
		float: left;
		width: 100%;
		font-size: 20px;
		margin-top: 20px;
		font-family: var(--font-bold);
	}
	.number-izq{
		width: 25%;
		padding: 35px 0px;
		padding-left: 0px;
		border-right: 1px solid var(--color-primary);
	}
	.number-cen{
		width: 25%;
		padding: 35px 30px;
		border-right: 1px solid var(--color-primary);
	}
	.number-der{
		width: 25%;
		padding: 35px 30px;
		padding-right: 0px;
	}


	/* team
	------------------------------------------------------------------------------------------------------  */
	#team{
		float: left;
		width: 100%;
		padding-top: 0px;
		padding-bottom: 0px;
		text-align: center;
	}
	#team .box-team{
		float: left;
		width: 100%;
	}
	#team .box-team .imagen{
		float: left;
		width: 50%;
		text-align: right;
	}
	#team .box-team .imagen img{
		width: 100%;
	}
	#team .box-team .textos{
		float: left;
		width: 50%;
		padding: 0px 35px;
		padding-right: 140px;
		box-sizing: border-box;
		text-align: left;
		margin-top: 110px;
	}
	#team .box-team .textos .titulo{
		float: left;
		width: 100%;	
		font-family: var(--font-bold);	
		color: var(--color-primary);
		font-size: 30px;
	}
	#team .box-team .textos .descripcion{
		float: left;
		width: 100%;	
		text-align: justify;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 24px;	
		margin-top: 20px;
	}
	

	/* mission
	------------------------------------------------------------------------------------------------------  */
	#mission{
		float: left;
		width: 100%;
		background-image: url('../img/about/about_3.jpg');
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		padding: 135px 0px;
		margin-top: -7px;
	}
	#mission .titulo{
		float: left;
		width: 100%;
		font-family: var(--font-bold);	
		font-size: 30px;
		color: var(--color-white);
	}
	#mission .descripcion{
		float: left;
		width: 100%;
		max-width: 330px;
		color: var(--color-white);
		text-align: justify;
		font-size: 18px;
		line-height: 24px;	
		margin-top: 20px;
	}



	/* vision
	------------------------------------------------------------------------------------------------------  */
	#vision{
		float: left;
		width: 100%;
		background-image: url('../img/about/about_4.jpg');
		background-position: right center;
		background-repeat: no-repeat;
		background-size: 50% 450px;
		padding: 135px 0px;
		box-sizing: border-box;
		background-color: var(--color-lightgrey);
	}
	#vision .titulo{
		float: left;
		width: 100%;
		font-family: var(--font-bold);	
		font-size: 30px;
		color: var(--color-primary);
	}
	#vision .descripcion{
		float: left;
		width: 100%;
		max-width: 330px;
		color: var(--color-primary);
		text-align: justify;
		font-size: 18px;
		line-height: 24px;	
		margin-top: 20px;
	}




	/* building
	------------------------------------------------------------------------------------------------------  */
	#building{
		float: left;
		width: 100%;
		padding-top: 30px;
		text-align: center;
		border-top: 1px solid var(--color-primary);
	}
	#building h2{
		margin-bottom: 20px;
	}
	#building .box-building{
		float: left;
		width: 33.33%;
		text-align: left;
		padding: 50px 50px;
		height: 760px;
		box-sizing: border-box;
		border-top: 1px solid var(--color-primary);
	}
	#building .box-building:hover{
		opacity: 0.8;
	}
	#building .box-building .tit{
		float: left;
		width: 100%;
		font-size: 60px;
		font-family: var(--font-bold);
	}


	/* world
	------------------------------------------------------------------------------------------------------  */
	#world{
		float: left;
		width: 100%;
		padding-top: 30px;
		text-align: center;
		padding-top: 90px;
		padding-bottom: 80px;
		background-color: var(--color-primary);
	}
	#world img{
		width: 90%;
	}
	#world h2{
		display: inline-block;
		width: 80%;
		margin-bottom: 20px;
		margin-top: 30px;
		font-size: 28px;
		color: var(--color-white);
	}
	#world .texto{
		display: inline-block;
		width: 70%;
		margin-bottom: 20px;
		font-size: 18px;
		line-height: 24px;
		color: var(--color-white);
	}



	/* process
	------------------------------------------------------------------------------------------------------  */
	#process{
		float: left;
		width: 100%;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		padding: 150px 0px;
		margin-top: 60px;
	}
	#process .titulo{
		float: left;
		width: 100%;
		font-family: var(--font-bold);	
		font-size: 55px;
		color: var(--color-white);
	}
	.circular-economy{
		margin-top: -6px !important;
		margin-bottom: -60px !important;
	}



	/* experts
	------------------------------------------------------------------------------------------------------  */
	#experts{
		float: left;
		width: 100%;
		padding: 85px 0px;
	}
	#experts .box-expert{
		width: 48%;
		margin-bottom: 85px;
	}
	#experts .left-expert{
		float: left;
	}
	#experts .right-expert{
		float: right;
	}
	#experts .box-expert img{
		float: left;
		width: 100%;
	}
	#experts .box-expert .tit{
		float: left;
		width: 90%;
		margin-top: 50px;
		font-family: var(--font-bold);
		font-size: 28px;
		color: var(--color-primary);
	}
	#experts .box-expert .textos{
		float: left;
		width: 95%;
		margin-top: 30px;
		font-size: 18px;
		color: var(--color-primary);
	}






	/* core
	------------------------------------------------------------------------------------------------------  */
	#core{
		float: left;
		width: 100%;
		padding-top: 35px;
		padding-bottom: 50px;
		text-align: center;
		background-color: var(--color-lightgrey);
	}
	#core .boxes{
		display: inline-block;
		width: 100%;
		text-align: center;
		margin-top: 40px;
		margin-bottom: 30px;
	}
	#core .boxes .box {
		display: inline-block;
		padding: 50px 30px;
		padding-bottom: 0px;
		width: 30%;
		min-height: 275px;
		margin: 10px 1.5%;
		margin-bottom: 30px;
		vertical-align: top;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		box-sizing: border-box;
		position: relative; /* Necesario para que el pseudo-elemento se posicione correctamente */
		overflow: hidden; /* Asegura que el pseudo-elemento no se desborde */
	}
	#core .boxes .box::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 255, 0); /* Azul transparente inicialmente */
		transition: background-color 0.3s ease; /* Transición suave */
		z-index: 1; /* Coloca el pseudo-elemento debajo del contenido */
		pointer-events: none; /* Permite que los clics pasen al contenido */
	}
	#core .boxes .box:hover::before {
		background-color: rgba(8, 8, 53, 0.4); /* Azul con transparencia al hacer hover */
	}
	
	#core .boxes .box > * {
		position: relative;
		z-index: 2; /* Asegura que el contenido esté por encima del pseudo-elemento */
	}
	#core .boxes .box h3{
		display: inline-block;
		width: 100%;
		line-height: 20px;
		color: var(--color-white);
	}
	#core .boxes .box .txt{
		display: inline-block;
		margin-top: 15px;
		width: 100%;
		font-size: 17px;
		line-height: 24px;
		color: var(--color-white);
	}

	/* check
	------------------------------------------------------------------------------------------------------  */
	#check{
		float: left;
		width: 100%;
		padding-top: 50px;
		text-align: center;
		margin-bottom: 50px;
	}
	#check h2{
		margin-bottom: 30px;
	}
	#check .boxes-check{
		display: flex;
		width: 100%;
		text-align: left;
		margin-top: 0px;
		margin-bottom: 0px;
		background-color: var(--color-lightgrey);
	}
	#check .boxes-check .box-check{
		float: left;
		box-sizing: border-box;
		border-collapse: collapse;
		color: var(--color-primary);
	}
	#check .boxes-check .box-check .cap{
		float: left;
		width: 100%;
		font-size: 120px;
		line-height: 120px;
		font-weight: 100;
		margin-left: -5px;
		font-family: var(--font-thin);
	}
	#check .boxes-check .box-check .abs{
		float: left;
		width: 100%;
		font-size: 23px;
		font-family: var(--font-bold);
		min-height: 60px;
	}
	#check .boxes-check .box-check .texto{
		float: left;
		width: 100%;
		font-size: 17px;
		margin-top: 10px;
		margin-bottom: 5px;
	}

	.check-izq,.check-1{
		width: 30%;
		padding: 35px 20px;
		padding-left: 0px;
		border-right: 1px solid var(--color-primary);
	}
	.check-cen,.check-2{
		width: 40%;
		padding: 35px 60px;
	}
	.check-der,.check-3{
		width: 30%;
		padding: 35px 60px;
		padding-right: 0px;
		border-left: 1px solid var(--color-primary);
	}

	/* clients
	------------------------------------------------------------------------------------------------------  */
	#clients{
		float: left;
		width: 100%;
		padding-top: 10px;
		padding-bottom: 75px;
		text-align: center;
		margin-bottom: 30px;
	}
	#clients .carousel-container {
		width: 100%;
		overflow: hidden;
		position: relative;
		padding-top: 20px;
	}	 
	.carousel {
		display: flex;
		animation: slide 10s linear infinite;		
	}	  
	.carousel img {
		width: 180px;
		margin-right: 30px;
		margin-left: 30px;
	}

	@keyframes slide {
		0% {
			transform: translateX(0);
		}
		100% {
			transform: translateX(-100%);
		}
	}

	.carousel-container:hover .carousel {
		animation-play-state: paused; /* Detiene el carrusel al pasar el ratón */
	}



	/* choose
	------------------------------------------------------------------------------------------------------  */
	#choose{
		float: left;
		width: 100%;
		padding-top: 0px;
		padding-bottom: 0px;
		text-align: center;
		margin-top: 60px;
		background-color: var(--color-lightgrey);
	}
	#choose .box-choose{
		float: left;
		width: 100%;
	}
	#choose .box-choose-right{
		float: right !important;
	}
	#choose .box-choose .imagen{
		float: left;
		width: 50%;
		text-align: right;
	}
	#choose .box-choose .imagen img{
		width: 100%;
	}
	#choose .box-choose .textos{
		float: left;
		width: 50%;
		padding: 0px 55px;
		padding-right: 140px;
		box-sizing: border-box;
		text-align: left;
		margin-top: 45px;
	}
	#choose .box-choose-right .textos{
		padding-right: 70px !important;
		padding-left: 100px !important;
	}
	#choose .box-choose .textos .titulo{
		float: left;
		width: 100%;	
		font-family: var(--font-bold);	
		color: var(--color-primary);
		font-size: 30px;
	}
	#choose .box-choose .textos .descripcion{
		float: left;
		width: 100%;	
		text-align: justify;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 24px;	
		margin-top: 20px;
	}
	.renewables .box-choose .textos .descripcion{
		margin-bottom: 50px;
	}

	
	/* check_turnkey
	------------------------------------------------------------------------------------------------------  */
	#check_turnkey{
		float: left;
		width: 100%;
		padding-top: 50px;
		text-align: center;
		margin-bottom: 50px;
	}
	#check_turnkey h2{
		margin-bottom: 30px;
	}
	#check_turnkey .boxes-check_turnkey{
		display: flex;
		width: 100%;
		text-align: left;
		margin-top: 0px;
		margin-bottom: 0px;
		background-color: var(--color-lightgrey);
	}
	#check_turnkey .boxes-check_turnkey .box-check_turnkey{
		float: left;
		box-sizing: border-box;
		border-collapse: collapse;
		color: var(--color-primary);
	}
	#check_turnkey .boxes-check_turnkey .box-check_turnkey .cap{
		float: left;
		width: 100%;
		font-size: 120px;
		line-height: 120px;
		font-weight: 100;
		margin-left: -5px;
		font-family: var(--font-thin);
	}
	#check_turnkey .boxes-check_turnkey .box-check_turnkey .abs{
		float: left;
		width: 100%;
		font-size: 23px;
		font-family: var(--font-bold);
		min-height: 60px;
	}
	#check_turnkey .boxes-check_turnkey .box-check_turnkey .texto{
		float: left;
		width: 100%;
		font-size: 17px;
		margin-top: 10px;
		margin-bottom: 5px;
	}
	#check_turnkey .boxes-check_turnkey .box-check_turnkey .texto ul{
		margin-left: -30px;
	}
	#check_turnkey .boxes-check_turnkey .box-check_turnkey .texto ul li{
		margin-bottom: 20px;
	}

	.check_turnkey-izq{
		width: 22%;
		padding: 35px 0px;
		padding-left: 0px;
		border-right: 1px solid var(--color-primary);
	}
	.check_turnkey-cen{
		width: 28%;
		padding: 35px 40px;
		border-right: 1px solid var(--color-primary);
	}
	.check_turnkey-der{
		width: 22%;
		padding: 35px 40px;
		padding-right: 0px;
	}



	/* benefits
	------------------------------------------------------------------------------------------------------  */
	#benefits{
		float: left;
		width: 100%;
		padding-top: 20px;
		margin-bottom: 50px;
	}
	#benefits .box-benefits{
		width: 100%;
		max-width: 650px;
		margin-bottom: 40px;
	}
	#benefits .box-benefits .titulo{
		float: left;
		width: 90%;
		font-size: 27px;
		font-family: var(--font-bold);
		color: var(--color-primary);
		padding-bottom: 20px;
	}
	#benefits .box-benefits .textos{
		float: left;
		width: 90%;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 25px;
	}
	#benefits img{
		width: 100%;
	}
	#benefits .box-left{
		float: left;
	}
	#benefits .box-right{
		float: right;
	}
	#benefits .lit{
		display: inline-block;
		width: 90%;
		max-width: 660px;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 25px;
		margin-top: 70px;
	}
	#benefits .lit .btn{
		margin-top: 60px;
		margin-bottom: 60px;
	}

	


	/* siderurgy
	------------------------------------------------------------------------------------------------------  */
	#siderurgy{
		float: left;
		width: 100%;
		padding-top: 50px;
		margin-top: 40px;
		margin-bottom: 50px;
		background-color: var(--color-lightgrey);
	}
	#siderurgy .box-siderurgy{
		float: left;
		width: 100%;
	}
	#siderurgy .box-siderurgy .titulo{
		float: left;
		width: 90%;
		font-size: 27px;
		font-family: var(--font-bold);
		color: var(--color-primary);
		padding-bottom: 20px;
	}
	#siderurgy .box-siderurgy .textos{
		float: left;
		width: 95%;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 25px;
		margin-bottom: 40px;
	}
	#siderurgy .box-siderurgy img{
		width: 90%;
		margin-bottom: 35px;
	}
	#siderurgy .lit .btn{
		margin-top: 60px;
		margin-bottom: 60px;
	}
	
	
	/* bloque
	------------------------------------------------------------------------------------------------------  */
	.bloque {
		float: left;
		width: 100%;
		/*padding-top: 50px;*/
		padding-bottom: 0px;
		text-align: center;
	}
	.bloque.bg-color {
		background-color: var(--color-lightgrey);
	}
	.bloque .tit{
		font-family: var(--font-bold);
		font-size: 28px;
		color: var(--color-secondary);
	}
	.bloque .desc, .bloque .desc p{
		display: inline-block;
		width: 100%;
		max-width: 800px;
		padding: 20px 0px;
		font-size: 23px;
		line-height: 30px;
		color: var(--color-primary);
		text-align: center;
	}	
	.bloque .box-presen{
		display: inline-block;
		width: 100%;
		/*margin-top: 35px;*/
	}
	.bloque .box-presen .imagen{
		float: left;
		width: 50%;
		text-align: right;
		margin-bottom: -12px;
	}
	.bloque .box-presen .imagen img{
		width: 90%;
	}
	.bloque .box-presen.box-image .imagen{
		float: left;
		width: 100%;
		text-align: center;		
	}
	.bloque .box-presen.box-image .imagen img{
		width: 90%;
	}
	.bloque .box-presen .textos{
		float: left;
		width: 50%;
		padding: 0px 35px 0 55px;
		box-sizing: border-box;
		text-align: left;
	}
	.bloque .box-presen .textos .titulo{
		display: inline-block;
		width: 100%;	
		font-family: var(--font-bold);	
		color: var(--color-primary);
		font-size: 30px;
		margin-bottom: 15px;
	}
	.bloque .box-presen .textos .descripcion{
		display: inline-block;
		width: 100%;	
		text-align: justify;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 24px;	
	}
	.bloque .box-presen .textos .descripcion p{
		/*margin-bottom: -24px;	*/
	}
	
	.bloque p img{
		width: 100%;
	}
	
	.sec-projects .bloque .box-presen .textos .descripcion p{
		text-align: left;
	}


	/* bloque sin margen
	------------------------------------------------------------------------------------------------------  */
	.bloque-sin-margen {
		float: left;
		width: 100%;
		padding-top: 0px;
		padding-bottom: 0px;
		text-align: center;
		/*margin-top: 60px;*/		
	}
	.bloque-sin-margen.bg-color {
		background-color: var(--color-lightgrey);
	}
	.bloque-sin-margen .box-choose{
		float: left;
		width: 100%;
	}
	.bloque-sin-margen .box-choose-right{
		float: right !important;
	}
	.bloque-sin-margen .box-choose .imagen{
		float: left;
		width: 50%;
		text-align: right;
	}
	.bloque-sin-margen .box-choose .imagen img{
		width: 100%;
		margin-bottom: -5px;
	}
	.bloque-sin-margen .box-choose.box-image .imagen{
		float: left;
		width: 100%;
		text-align: center;
	}
	.bloque-sin-margen .box-choose.box-image .imagen img{
		width: 100%;		
	}
	.bloque-sin-margen .box-choose .textos{
		float: left;
		width: 50%;
		padding: 0px 55px;
		padding-right: 140px;
		box-sizing: border-box;
		text-align: left;
		margin-top: 45px;
	}
	.bloque-sin-margen .box-choose-right .textos{
		padding-right: 70px !important;
		padding-left: 100px !important;
	}
	.bloque-sin-margen .box-choose .textos .titulo{
		float: left;
		width: 100%;	
		font-family: var(--font-bold);	
		color: var(--color-primary);
		font-size: 30px;
	}
	.bloque-sin-margen .box-choose .textos .descripcion{
		float: left;
		width: 100%;	
		text-align: justify;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 24px;	
		margin-top: 20px;
	}
	/*.bloque-sin-margen .box-choose .textos .descripcion img{
		width: 100%;
	}*/
	.bloque-sin-margen .box-choose .textos .descripcion h4{				
		width: 100%;			
		font-family: var(--font-bold);	
		color: var(--color-primary);
		font-size: 30px;
		text-align: left;	
		line-height: 35px;	
		/*margin-bottom: -25px;*/
		margin-bottom: 25px;
		margin-top: 25px;
		max-width: 425px;
	}
	
	.bloque-sin-margen p img{
		width: 100%;
	}
	
	
	
	/* bloque grande
	------------------------------------------------------------------------------------------------------  */
	.bloque-grande {
		float: left;
		width: 100%;
		padding-top: 30px;
		text-align: center;
		padding-top: 90px;
		padding-bottom: 80px;
		background-color: var(--color-primary);
	}
	.bloque-grande img{
		width: 90%;
	}
	.bloque-grande h2{
		display: inline-block;
		width: 80%;
		margin-bottom: 20px;
		margin-top: 30px;
		font-size: 28px;
		color: var(--color-white);
	}
	.bloque-grande .texto{
		display: inline-block;
		width: 70%;
		margin-bottom: 20px;
		font-size: 18px;
		line-height: 24px;
		color: var(--color-white);
	}
	.bloque-grande .texto p{
		text-align: center;
	}
	
	
	/* bloque texto-boton
	------------------------------------------------------------------------------------------------------  */
	.bloque-boton {
		float: left;
		width: 100%;
		padding-top: 20px;		
	}
	.bloque-boton.bg-color {
		background-color: var(--color-lightgrey);
	}
	.bloque-boton .box-benefits{
		width: 100%;
		max-width: 650px;
		margin-bottom: 40px;
	}
	.bloque-boton .box-benefits .titulo{
		float: left;
		width: 90%;
		font-size: 27px;
		font-family: var(--font-bold);
		color: var(--color-primary);
		padding-bottom: 20px;
	}
	.bloque-boton .box-benefits .textos{
		float: left;
		width: 90%;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 25px;
	}
	.bloque-boton img{
		width: 100%;
	}
	.bloque-boton .box-left{
		float: left;
	}
	.bloque-boton .box-right{
		float: right;
	}
	.bloque-boton .lit{
		display: inline-block;
		width: 90%;
		max-width: 660px;
		color: var(--color-primary);
		font-size: 18px;
		line-height: 25px;
		margin-top: 30px;
	}
	.bloque-boton .lit p{
		text-align: center;
	}
	.bloque-boton .lit .btn{
		/*margin-top: 60px;*/
		margin-bottom: 60px;		
	}



	/* bloque titulo
	------------------------------------------------------------------------------------------------------  */
	.bloque-titulo {
		float: left;
		width: 100%;
		padding-top: 30px;		
		padding-bottom: 20px;
	}
	.bloque-titulo.bg-color {
		background-color: var(--color-lightgrey);
	}


	
	/* bloque columnas
	------------------------------------------------------------------------------------------------------  */
	.bloque-columnas {
		float: left;
		width: 100%;
		padding-top: 40px;
		text-align: center;
		/*margin-bottom: 50px;*/
	}
	.bloque-columnas h2{
		margin-bottom: 30px;
	}
	.bloque-columnas .boxes-check_turnkey{
		display: flex;
		width: 100%;
		text-align: left;
		margin-top: 0px;
		margin-bottom: 0px;
		background-color: var(--color-lightgrey);
	}
	.bloque-columnas .boxes-check_turnkey .box-check_turnkey{
		float: left;
		box-sizing: border-box;
		border-collapse: collapse;
		color: var(--color-primary);
	}
	.bloque-columnas .boxes-check_turnkey .box-check_turnkey .cap{
		float: left;
		width: 100%;
		font-size: 120px;
		line-height: 120px;
		font-weight: 100;
		margin-left: -5px;
		font-family: var(--font-thin);
	}
	.bloque-columnas .boxes-check_turnkey .box-check_turnkey .abs{
		float: left;
		width: 100%;
		font-size: 23px;
		font-family: var(--font-bold);
		min-height: 60px;
	}
	.bloque-columnas .boxes-check_turnkey .box-check_turnkey .texto{
		float: left;
		width: 100%;
		font-size: 17px;
		margin-top: 10px;
		margin-bottom: 5px;
	}
	.bloque-columnas .boxes-check_turnkey .box-check_turnkey .texto ul{
		margin-left: -30px;
	}
	.bloque-columnas .boxes-check_turnkey .box-check_turnkey .texto ul li{
		margin-bottom: 20px;
	}

	.bloque-columnas .check_turnkey-izq{
		width: 22%;
		padding: 35px 0px;
		padding-left: 0px;
		border-right: 1px solid var(--color-primary);
	}
	.bloque-columnas .check_turnkey-cen{
		width: 28%;
		padding: 35px 40px;
		border-right: 1px solid var(--color-primary);
	}
	.bloque-columnas .check_turnkey-der{
		width: 22%;
		padding: 35px 40px;
		padding-right: 0px;
	}
	
	
	.bloque-columnas .box-building{
		float: left;
		width: 33.33%;
		text-align: left;
		padding: 50px 50px;
		height: 760px;
		box-sizing: border-box;
		border-top: 1px solid var(--color-primary);
		cursor: default;
	}
	.bloque-columnas .box-building:hover{
		opacity: 0.8;
	}
	.bloque-columnas .box-building .tit{
		float: left;
		width: 100%;
		font-size: 60px;
		font-family: var(--font-bold);
	}

	
	
	/* banner
	------------------------------------------------------------------------------------------------------  */
	.banner {
		float: left;
		width: 100%;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		padding: 150px 0px;		
	}
	.banner.con-descrip {
		padding: 135px 0px;		
	}
	.banner .titulo{
		float: left;
		width: 100%;
		font-family: var(--font-bold);	
		font-size: 55px;
		color: var(--color-white);
	}
	.banner.con-desc .titulo{
		font-size: 30px;		
	}
	.banner .descripcion {
	    float: left;
	    width: 100%;
	    max-width: 330px;
	    color: var(--color-white);
	    text-align: justify;
	    font-size: 18px;
	    line-height: 24px;
	    margin-top: 20px;
	}
	.banner .descripcion p{
	    margin-bottom: -24px;
	}
	
	
	/* formulario
	------------------------------------------------------------------------------------------------------  */
	#formulario{
		max-width: 760px;
		display: inline-block;
	}
	#formulario .texto-limited{
		max-width: 450px;
	}
	#formulario .thecheck{
		display: flex;
		width: 100%;
		text-align: left;
		color: var(--color-white);
		font-size: 11px;
	}
	#formulario .thecheck #acepto{
		float: left;
		width: 12px;
	}
	#formulario .thecheck .chk-input{
		float: left;
		width: 15px;
	}
	#formulario .thecheck .txt{
		float: left;
		margin-top: 15px;		
		margin-left: 5px;
	}
	#formulario .content-button{
		display: inline-block;
		width: 100%;
		text-align: center;
		margin-top: 40px;
		margin-bottom: 80px;
	}
	#formulario .content-button .btn{
		padding: 10px 45px;
		padding-right: 90px;
	}
	#formulario .warning{
		border: 1px solid #c00;
	}
	#formulario #confirm_send{
		color: #fff;
		margin-top: 25px;
	}

	
	
	
	/* direcciones
	------------------------------------------------------------------------------------------------------  */
	#direcciones{
		float: left;
		width: 100%;
		margin-top: 30px;
		background-color: #f0f0f0;
		color: var(--color-primary);
		margin-bottom: -6px;
	}
	#direcciones .col_izq{
		float: left;
		width: 50%;
	}
	#direcciones .col_izq .item{
		float: left;
		width: 100%;
		border-top: 1px solid var(--color-primary);
	}
	#direcciones .col_izq .item .con{
		float: right;
		display: flex;
		width: 100%;
		max-width: 650px;
		height: 275px;
		align-items: center; 
		justify-content: center; 
	}
	#direcciones .col_izq .item .con .info{
		display: inline-block;
		width: 100%;
		padding-left: 50px;
		padding-right: 50px;
	}
	#direcciones .col_izq .item .con .info h3{
		display: inline-block;
		width: 100%;
		font-size: 26px;
		font-family: var(--font-bold);
		margin-bottom: 20px;		
	}

	#direcciones .col_der{
		float: left;
		width: 50%;
	}
	#direcciones .col_der .item{
		float: left;
		width: 100%;
		border-top: 1px solid var(--color-primary);
		border-left: 1px solid var(--color-primary);
	}
	#direcciones .col_der .item .con{
		float: left;
		display: flex;
		width: 100%;
		max-width: 600px;
		height: 275px;
		align-items: center; 
		justify-content: center; 
	}
	#direcciones .col_der .item .con .info{
		display: inline-block;
		width: 100%;
		padding-left: 50px;
		padding-right: 50px;
	}
	#direcciones .col_der .item .con .info h3{
		display: inline-block;
		width: 100%;
		font-size: 26px;
		font-family: var(--font-bold);
		margin-bottom: 20px;		
	}	
	#direcciones .col_der .image-contact{
		float: left;
		width: 100%;
		height: 551px;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;		
	}
	#direcciones .col_der .item .con-mas{
		height: 380px;
	}
	#direcciones .col_izq .item .con-mas{
		height: 380px;
	}
	#direcciones .item.map{
		border-top: 1px solid var(--color-primary);
	}
	
	
	/* legal
	------------------------------------------------------------------------------------------------------  */
	.legal-info {
		margin-top: 150px !important;
		padding-bottom: 50px !important;
	}
	.legal-info .desc {
		max-width: 1200px !important;
		font-size: 18px !important;
		line-height: 24px !important;
	}
	.legal-info p {
		padding-bottom: 20px !important;
	}
	.legal-info strong {
		font-size: 20px !important;		
	}
	
	
	
	/* ckeditor
	------------------------------------------------------------------------------------------------------  */
	
	.ckeditor-img {
		width: 75% !important;	
	}
	

	/* footer
	------------------------------------------------------------------------------------------------------  */
	#main-footer{
		float: left;
		width: 100%;
		background-color: var(--color-primary);
		color: var(--color-white);
		/*margin-top: 30px;*/
	}
	#main-footer .row{
		float: left;
		border-top: 0.5px solid var(--color-white);
	}
	#main-footer .row .items{
		min-height: 65px;
		padding-top: 24px;
	}
	#main-footer .row .items-social{
		min-height: 65px;
		padding-top: 19px;
	}
	#main-footer div{
		box-sizing: border-box;
	}
	.footer-border-right{
		border-right: 0.5px solid var(--color-white);
	}
	#main-footer .ico-social{
		height: 25px;
		margin: 0px 15px;
	}
	#main-footer .ico-social:hover{
		opacity: 0.8;
	}

	#main-footer .row .items .nom{
		font-family: var(--font-bold);
	}
	#main-footer .row .direccion{
		background-image: url('../img/ico-geo.png');
		background-position: 20px center;
		background-repeat: no-repeat;
		background-size: 25px;
		padding-left: 60px;
	}
	#main-footer .row .items .copy{
		font-size: 13px;
		margin-bottom: 15px;
	}
	#main-footer .row .items .contact-type{
		float: left;
		width: 100%;
		padding-bottom: 30px;
	}
	#main-footer .row .items .contact-type-padding{
		float: left;
		width: 100%;
		padding-left: 40px;
		border-left: 0.5px solid var(--color-white);
		margin-left: -0.5px;
	}
	#main-footer .row .items .contact-type .type{
		float: left;
		width: 100%;
		text-align: left;
		font-size: 13px;
		padding-top: 0px;
		font-weight: 800;
	}
	#main-footer .row .items .contact-type .data{
		float: left;
		width: 100%;
		text-align: center;
		margin-top: 0px;
		margin-bottom: 20px;
		font-size: 24px;
		font-weight: 400;
	}
	#main-footer .row .items .legal{
		font-size: 13px;
		margin-bottom: 15px;
	}
	#main-footer a {
		color: #fff;	
	}
	#main-footer a:hover {
		color: var(--color-secondary);	
	}	
	#main-footer .row .items .legal a{
		margin: 0 5px;
	}
	
	
	/* cookies
	------------------------------------------------------------------------------------------------------  */
	.gdpr-cookie-notice-nav-item-btn {
		background-color: var(--color-secondary) !important;
	}
	.gdpr-cookie-notice-modal-footer-item-btn {
		background-color: var(--color-secondary) !important;
	}
	.gdpr-cookie-notice-modal-footer-item {
		color: var(--color-white) !important;
	}
	.gdpr-cookie-notice-modal-footer-item-statement {
		color: var(--color-secondary) !important;
	}
	.gdpr-cookie-notice-modal-cookie-state {
		color: var(--color-secondary) !important;
	}
	.gdpr-cookie-notice-modal-cookie-input:checked + .gdpr-cookie-notice-modal-cookie-input-switch {
  		background: var(--color-secondary) !important;
  		-webkit-box-shadow: inset 0px 0px 0px 1px #1ad56c;
  		box-shadow: inset 0px 0px 0px 1px var(--color-secondary) !important;
	}



	/* responsive
	------------------------------------------------------------------------------------------------------  */

	@media screen and (max-width: 1400px) {

		.bloque-columnas .box-building .tit {
			font-size: 45px;
		}

	}

	@media screen and (max-width: 1330px) {

		#main-header nav #nav-menu li a{
			margin-left: 15px;
			padding: 8px 0px;
			padding-bottom: 1px;
			font-size: 13px;
			border-bottom: 3px solid transparent;
		}
		#main-header nav #nav-menu2 li a{ 
			margin-left: 15px;
			padding: 8px 0px;
			padding-bottom: 20px;
			font-size: 15px;
		}
		#submenu{
			margin-top: 119px;
		}
		.slider-container {
			height: 800px;
		}
		.box-slide h1 {
			width: 100%;
		}
		h1{
			font-size: 65px;
			line-height: 70px;
		}
		.box-slide .abstract {
			width: 100%;
			font-size: 28px;
			line-height: 30px;
			padding: 10px 0px;
		}
		#check .boxes-check{
			width: 90%;
		}


		.bloque-columnas .boxes-check_turnkey{
			display: inline-block;
		}
		.bloque-columnas .check_turnkey-izq{
			width: 100% !important;
			padding: 35px 10%;
			border-right: 0px solid var(--color-primary);
			border-bottom: 1px solid var(--color-primary);
		}
		.bloque-columnas .check_turnkey-cen{
			width: 100% !important;
			padding: 35px 10%;
			border-right: 0px solid var(--color-primary);
			border-bottom: 1px solid var(--color-primary);
		}
		.bloque-columnas .check_turnkey-der{
			width: 100% !important;
			padding: 35px 10%;
			border-right: 0px solid var(--color-primary);
			border-bottom: 0px solid var(--color-primary);
		}

		#benefits .content-full{
			max-width: 90%;
		}


		#team .box-team .textos {
			margin-top: 50px;
			padding-right: 40px;
		}	
		
		.bloque-boton .content-full{
			max-width: 90%;
		}	
	}


	
	@media screen and (max-width: 1280px) {

		#numbers .boxes-numbers .box-number .cap{
			font-size: 80px;
			line-height: 80px;
			margin-left: -5px;
		}
		#numbers .boxes-numbers .box-number .abs{
			font-size: 18px;
			margin-top: 18px;
		}

	}


	@media screen and (max-width: 1220px) {

		#core .boxes .box .txt{
			font-size: 15px;
			line-height: 18px;
		}

	}


	@media screen and (max-width: 1100px) {

		#team .box-team .imagen {
			float: left;
			width: 100%;
			text-align: right;
		}
		#team .box-team .textos {
			width: 100%;
			margin-bottom: 70px;
		}
		
		/*.bloque-sin-margen .box-team .imagen {
			float: left;
			width: 100%;
			text-align: right;
		}
		.bloque-sin-margen .box-team .textos {
			width: 100%;
			margin-bottom: 70px;
		}*/
	}

	@media screen and (max-width: 1090px) {

		.bloque-columnas .box-building .tit {
			font-size: 35px;
		}

	}

	@media screen and (max-width: 1060px) {

		#choose .box-choose .imagen{
			width: 100%;
			text-align: left;
		}
		#choose .box-choose .textos{
			width: 100%;
			padding: 0px 55px;
			padding-right: 55px;
			margin-top: 45px;
		}
		#choose .box-choose-right{
			float: left !important;
		}
		#choose .box-choose-right .textos{
			padding-right: 140px !important;
			padding-left: 55px !important;
			padding-right: 55px !important;
		}
		
		
		.bloque-sin-margen .box-choose .imagen{
			width: 100%;
			text-align: left;
		}
		.bloque-sin-margen .box-choose .textos{
			width: 100%;
			padding: 0px 55px;
			padding-right: 55px;
			margin-top: 45px;
		}
		.bloque-sin-margen .box-choose-right{
			float: left !important;
		}
		.bloque-sin-margen .box-choose-right .textos{
			padding-right: 140px !important;
			padding-left: 55px !important;
			padding-right: 55px !important;
		}
	
	}


	@media screen and (max-width: 1030px) {

		#core .boxes .box {
			width: 45%;
			min-height: 275px;
			margin: 10px 1.5%;
		}


		#about-presen .tit{
			font-size: 24px;
		}
		#about-presen .desc{
			max-width: 90%;
			font-size: 21px;
			line-height: 25px;
		}	
		#about-presen .box-presen .imagen{
			width: 100%;
			text-align: left;
		}
		#about-presen .box-presen .imagen img{
			width: 100%;
		}
		#about-presen .box-presen .titulo{
			margin-bottom: 20px;
		}
		#about-presen .box-presen .textos{
			width: 100%;
			padding: 0px 30px;
			margin-top: 40px;
		}

		.green-fuels .box-presen .textos {
			width: 100% !important;
			padding: 0px 30px;
			margin-top: 40px;
		}
		.green-fuels .box-presen .textos .titulo{
			margin-left: 0px !important;
			margin-bottom: 0px !important;
		}
		.green-fuels .box-presen .textos .descripcion{
			margin-left: 0px !important;
		}
		.green-fuels .box-presen .imagen{
			margin-top: 30px;
		}
		
		.bloque .tit{
			font-size: 24px;
		}
		.bloque .desc{
			max-width: 90%;
			font-size: 21px;
			line-height: 25px;
		}	
		.bloque .box-presen .imagen{
			width: 100%;
			text-align: left;
		}
		.bloque .box-presen .imagen img{
			width: 100%;
		}
		.bloque .box-presen .titulo{
			margin-bottom: 20px;
		}
		.bloque .box-presen .textos{
			width: 100%;
			padding: 0px 30px;
			margin-top: 40px;
		}

	}

	@media screen and (max-width: 980px) {

		body {
			font-size: 14px;
		}
		#pull{
			display: inline-block;
		}
		#main-header{
			padding-top: 22px;
			padding-bottom: 22px;
		}
		#main-header nav #nav-menu2{
			display: none;
		}
		#main-header #logo img{
			width: 150px;
		}
		#main-header .idioma{
			width: 20px;
			margin-right: 40px;
		}
		#submenu{
			margin-top: 100px;
		}
		
		.boxes-submenu .items {
			display: block !important;
		}
	
	}

	@media screen and (max-width: 930px) {

		.bloque-columnas .box-building {
			float: left;
			width: 100%;
			text-align: left;
			padding: 50px 50px;
			height: auto;
			box-sizing: border-box;
			border-top: 1px solid var(--color-primary);
		}
		
	}

	@media screen and (max-width: 920px) {

		#main-footer{
			text-align: center;
		}
		#main-footer .row{
			float: left;
			border-top: 0px solid var(--color-white);
		}
		#main-footer .row .col_20, #main-footer .row .col_15, #main-footer .row .col_50, #main-footer .row .col_60, #main-footer .row .col_65{
			width: 100%;
			text-align: center !important;
			border-bottom: 0.5px solid var(--color-white);
			padding: 20px 0px;
		}
		#main-footer .row .items{
			min-height: auto;
			padding-top: 0px;
			padding: 10px 0px;
		}
		#main-footer .row .items-social{
			min-height: auto;
			padding-top: 0px;
			padding: 10px 0px;
		}
		.footer-border-right{
			border-right: 0px solid var(--color-white);
		}
		#main-footer .ico-social{
			height: 25px;
			margin: 0px 15px;
		}
		#main-footer .row .direccion{
			float: left;
			width: 100%;
			text-align: center;
			padding-left: 0px;
			padding: 10px 0px;
			border-bottom: 0px solid var(--color-white);
		}
		#main-footer .row .items .copy{
			font-size: 11px;
		}
		#main-footer .row .items .contact-type{
			padding-bottom: 0px;
			width: 100%;
			text-align: center;
		}
		#main-footer .row .items .contact-type-padding{
			padding-left: 0px;
			border-left: 0px solid var(--color-white);
			margin-left: 0px;
		}
		#main-footer .row .items .contact-type .type{
			font-size: 11px;
			width: 100%;
			text-align: center;
			margin-bottom: 10px;
		}
		#main-footer .row .items .contact-type .data{
			text-align: center;
			margin-top: 0px;
			margin-bottom: 0px;
			font-size: 20px;
		}

	}


	@media screen and (max-width: 900px) {

		#siderurgy .col_50{
			width: 100%;
		}
		#siderurgy .box-siderurgy .textos{
			width: 100%;
			font-size: 16px;
			line-height: 23px;
		}
		#siderurgy .box-siderurgy img{
			width: 100%;
			margin-bottom: 35px;
		}
	}

	@media screen and (max-width: 860px) {

		#numbers .boxes-numbers .box-number .cap{
			margin-left: -5px;
		}



		#numbers .boxes-numbers{
			display: inline-block;
		}
		#numbers .boxes-numbers .box-number{
			float: left;
		}
		#numbers .boxes-numbers .box-number .cap{
			font-size: 70px;
			line-height: 70px;
		}
		#numbers .boxes-numbers .box-number .abs{
			width: 100%;
			font-size: 18px;
			margin-top: 18px;
		}
		.number-izq{
			width: 50%;
			padding: 35px 30px;
			border-right: 1px solid var(--color-primary);
			border-bottom: 1px solid var(--color-primary);
		}
		.number-cen{
			width: 50%;
			padding: 35px 30px;
			border-right: 0px solid var(--color-primary);
			border-bottom: 1px solid var(--color-primary);
		}
		.number-der{
			width: 50%;
			padding: 35px 30px;
			border-left: 1px solid var(--color-primary);
		}		
		#vision {
			background-position: center bottom;
			background-size: 100% 300px;
			padding: 50px 0px;
			padding-bottom: 340px;
		}
	}	
	@media screen and (max-width: 840px) {

		#core .boxes .box {
			width: 90%;
			min-height: 275px;
			margin: 10px 5%;
		}
		

	}

	@media screen and (max-width: 800px) {

		#submenu .boxes-submenu .items{
			width: 100%;
			margin: 0px 0%;
			margin-bottom: 20px;
		}
		
		#submenu .boxes-submenu .items .tit{
			font-size: 18px;
			height: auto;
		}
		.btn{
			font-size: 15px;
			padding: 6px 15px;
			padding-top: 8px;
			background-position: 90% center;
			background-size: 15px;
			padding-right: 50px;
		}		
		.box-slide .btn {
			margin-top: 15px;
		}
	
		#check .boxes-check{
			display: inline-block !important;
			width: 80%;
		}
		.check-izq{
			width: 100% !important; 
			padding: 35px 20px !important;
			box-sizing: border-box;
			padding-left: 0px;
			border-right: 0px solid var(--color-primary);
		}
		.check-cen{
			width: 100% !important; 
			padding: 35px 20px !important;
			box-sizing: border-box;
			border-top: 1px solid var(--color-primary);
		}
		.check-der{
			width: 100% !important; 
			padding: 35px 20px !important;
			box-sizing: border-box;
			padding-right: 0px;
			border-left: 0px solid var(--color-primary);
			border-top: 1px solid var(--color-primary);
		}

		.about .box-slide h1 {
			font-size: 40px;
			line-height: 42px;
			margin-top: 100px;
		}
		.about .box-slide .abstract {
			font-size: 18px;
			line-height: 22px;
		}

		#benefits .col_50{
			width: 100%;
		}
		
		.bloque-boton .col_50{
			width: 100%;
		}
	
		
	}

	@media screen and (max-width: 760px) {

		#experts .box-expert{
			width: 100%;
			margin-bottom: 85px;
		}
		#experts .box-expert .textos{
			width: 100%;
			margin-top: 20px;
		}
	
	}

	@media screen and (max-width: 720px) {

		#main-footer .row .direccion{
			background-image: none;
			padding-left: 0px;
		}
		
		#direcciones .col_der, #direcciones .col_izq{
			float: left;
			width: 100%;
		}

	}

	@media screen and (max-width: 680px) {

		body {
			font-size: 13px;
		}
		.slider-container {
			height: 650px;
		}
		h1{
			font-size: 35px;
			line-height: 40px;
		}
		.box-slide {
			margin-top: 0px;
			width: 85%;
		}
		.box-slide .abstract {
			font-size: 18px;
			line-height: 20px;
			padding: 10px 0px;
		}
		.arrow img {
			width: 15px !important;
		}
		.box-slide .box-icon {
			margin-top: 50px;
		}
	
		#main-header nav #nav-menu{
			display: none;
		}
		.bullet {
			width: 30px;
		}
	
		#submenu .boxes-submenu .corpo{
			display: inline-block !important;
		}
		#presen .desc{
			font-size: 18px;
			line-height: 26px;
		}
		#check .boxes-check .box-check .cap{
			font-size: 90px;
			line-height: 90px;
		}

		#about-presen .box-presen .textos .titulo{
			font-size: 24px;
			margin-bottom: 0px;
		}
		#about-presen .box-presen .textos .descripcion{
			font-size: 16px;
			line-height: 22px;
		}
		#benefits .box-benefits .titulo{
			font-size: 24px;
		}
		#benefits .box-benefits .textos{
			width: 100%;
			font-size: 16px;
			line-height: 22px;
		}
		#experts .box-expert .tit{
			font-size: 24px;
		}
		#experts .box-expert .textos{
			font-size: 16px;
			line-height: 22px;	
		}
		#choose .box-choose .textos .titulo{
			font-size: 24px;
		}
		#choose .box-choose .textos .descripcion{
			font-size: 16px;
			line-height: 22px;	
		}
		.green-fuels .box-presen .textos .titulo{
			font-size: 24px !important;
		}
		.green-fuels .box-presen .textos .descripcion{
			font-size: 16px !important;
			line-height: 22px !important;	
		}
		#process .titulo {
			font-size: 40px;
		}
		.about .box-slide .box-icon {
			margin-top: 60px;
		}
		.about .box-slide .eti {
			margin-top: 0px;
			margin-bottom: -85px;
		}		

		#check_turnkey .boxes-check_turnkey .box-check_turnkey .cap {
			font-size: 80px;
			line-height: 90px;
		}
		.about .box-slide h1 {
			margin-top: 0px;
		}

		.number-izq{
			width: 100%;
			padding: 35px 0px;
			border-right: 0px solid var(--color-primary);
			border-bottom: 1px solid var(--color-primary);
		}
		.number-cen{
			width: 100%;
			padding: 35px 0px;
			border-right: 0px solid var(--color-primary);
			border-bottom: 1px solid var(--color-primary);
		}
		.number-der{
			width: 100%;
			padding: 35px 0px;
			border-left: 0px solid var(--color-primary);
		}		
		
		h2 {
			font-size: 18px;
			line-height: 24px;
		}

		#world .texto {
			width: 100%;
			font-size: 16px;
			line-height: 22px;
		}
		
		.bloque .box-presen .textos .titulo{
			font-size: 24px;
			margin-bottom: 0px;
		}
		.bloque .box-presen .textos .descripcion{
			font-size: 16px;
			line-height: 22px;
		}
		
		.bloque-sin-margen .box-choose .textos .titulo{
			font-size: 24px;
		}
		.bloque-sin-margen .box-choose .textos .descripcion{
			font-size: 16px;
			line-height: 22px;	
		}
		
		.banner .titulo {
			font-size: 40px;
		}
		.banner.con-desc .titulo {
			font-size: 30px;
		}
		
		
		.check-1{
			width: 100%;
			padding: 35px 20px;			
			border: none;		
		}
		.check-2{
			width: 100%;
			padding: 35px 20px;
		}
		.check-3{
			width: 100%;
			padding: 35px 20px;
			border: none;			
		}
		
		.bloque-sin-margen .box-choose .textos {
			padding-bottom: 50px;		
		}		
	    .bloque .box-presen .textos {
	    	padding-left: 30px !important;
	    }
	    .bloque .box-presen .imagen {
	    	margin-left: 0 !important;
	    	margin-right: 0 !important;
	    }
	    .bloque .box-presen .imagen img {
	    	margin-top: 15px;
	    	margin-bottom: 15px;
	    }


		
		.about .box-slide h1 {
			margin-top: 100px;
		}


	}