@font-face {
	font-family: 'Archivo Web';
	font-style: normal;
	font-weight: normal;
	src: url(../fonts/Archivo-Regular.eot);
	src: url(../fonts/Archivo-Regular.eot) format('embedded-opentype'),
	local('ArchivoWeb'), local('ArchivoWeb-Normal'), url(../fonts/Archivo-Regular.ttf) format('truetype');
}
@font-face {
	font-family: 'Font Web';
	font-style: normal;
	font-weight: bold;
	src: url(../fonts/Archivo-Bold.eot);
	src: url(../fonts/Archivo-Bold.eot) format('embedded-opentype'),
	local('ArchivoWeb Bold'), local('ArchivoWeb-Bold'), url(../fonts/Archivo-Bold.ttf) format('truetype');
}

/**/

:root {
	--c-negro  : #000000;
	--c-gris   : #D1D2D3;
	--c-blanco : #ffffff;
	--c-texto  : #3C3C3B;
	--c-azul   : #0A1E2C;
	--c-celeste: #9BC2E3;
}

/**/

/* html, body{
	min-height: 100%;
} */
html {
	font-size: 18px;
}
body{
	font-size: 1rem;
	color: var(--c-texto);
	font-family: 'Archivo Web', sans-serif;
	font-weight: normal;
	background: var(--c-blanco);
	line-height: 1.2;
}
a{
	color: var(--c-texto);
	transition: all .3s ease;
	text-decoration: none;
	cursor: pointer;
}
a:hover,
a:focus{
	color: var(--c-texto);
	text-decoration: none;
}
:focus{
	outline: 0 !important;
	text-decoration: none !important;
}
h1, h2, h3, h4, h5, h6{
	margin: 0;
	font-family: 'Archivo Web', sans-serif;
	font-weight: normal;
}
strong, b{
	font-weight: bold;
}
figure{
	margin: 0;
}
p:last-child{
	margin-bottom: 0 !important;
}

/**/

.btn{
	border-radius: 0;
	transition: all .3s ease;
	border-width: 1px;
	font-weight: normal;
	padding: 5px 22px;
	width: initial;
	box-shadow: none !important;
	font-size: .95rem;
	font-weight: bold;
}
.btn svg{
	width: 30px;
	position: relative;
	margin-left: 5px;
	top: -1px;
	transition: all .3s ease;
}
.btn-default{
	border-color: var(--c-azul);
	background-color: var(--c-blanco);
	color: var(--c-azul);
}
.btn-default svg{
	fill: var(--c-azul);
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active{
	border-color: var(--c-azul) !important;
	background-color: var(--c-azul) !important;
	color: var(--c-blanco) !important;
}
.btn-default:hover svg,
.btn-default:focus svg,
.btn-default:active svg{
	fill: var(--c-blanco);
}
.btn-cele{
	border-color: var(--c-celeste);
	background-color: transparent;
	color: var(--c-celeste);
}
.btn-cele svg{
	fill: var(--c-celeste);
}
.btn-cele:hover,
.btn-cele:focus,
.btn-cele:active{
	border-color: var(--c-celeste) !important;
	background-color: var(--c-celeste) !important;
	color: var(--c-azul) !important;
}
.btn-cele:hover svg,
.btn-cele:focus svg,
.btn-cele:active svg{
	fill: var(--c-azul);
}
.btn-ban{
	border-color: var(--c-celeste);
	background-color: var(--c-celeste);
	color: var(--c-blanco);
}
.btn-ban svg{
	fill: var(--c-blanco);
}
.btn-ban:hover,
.btn-ban:focus,
.btn-ban:active{
	border-color: var(--c-azul) !important;
	background-color: var(--c-azul) !important;
	color: var(--c-blanco) !important;
}
.btn-ban:hover svg,
.btn-ban:focus svg,
.btn-ban:active svg{
	fill: var(--c-blanco);
}
.btn-azul{
	border-color: var(--c-azul);
	background-color: transparent;
	color: var(--c-azul);
}
.btn-azul svg{
	fill: var(--c-azul);
}
.btn-azul:hover,
.btn-azul:focus,
.btn-azul:active{
	border-color: var(--c-azul) !important;
	background-color: var(--c-azul) !important;
	color: var(--c-blanco) !important;
}
.btn-azul:hover svg,
.btn-azul:focus svg,
.btn-azul:active svg{
	fill: var(--c-blanco);
}
.titu-gen{
	font-size: 1.6rem;
	margin-bottom: 40px;
	color: var(--c-azul);
}
.subtitu-gen{
	text-transform: uppercase;
	font-size: 1.3rem;
	margin-bottom: 20px;
	color: var(--c-texto);
}
.slick-track {
	display: flex !important;
}
.slick-slide {
	height: auto;
}

/**/

header{
	position: fixed;
	z-index: 5;
	left: 0;
	top: 0;
	right: 0;
}
header .barra-sup{
	background-color: var(--c-blanco);
	-webkit-box-shadow: 0 3px 8px -6px rgba(0,0,0,.3);
    box-shadow: 0 3px 8px -6px rgba(0,0,0,.3);
	transition: all .3s ease;
	position: relative;
}
header .barra-sup:before{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	z-index: -1;
	background-color: var(--c-blanco);
}
header .barra-sup .izq{
	padding-left: 45px;
}
header .barra-sup h1{
	line-height: 0;
	padding-top: 4px;
}
header .barra-sup h1 a{
	display: block;
}
header .barra-sup h1 a svg{
	width: 125px;
	fill: var(--c-azul);
	transition: all .3s ease;
}
header .barra-sup .der{}
header .barra-sup .der .menu-prin{
	padding-right: 35px;
}
header .barra-sup .der .menu-prin ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
header .barra-sup .der .menu-prin ul li{
	text-transform: uppercase;
	font-weight: bold;
	font-size: .9rem;
	margin-left: 20px;
	line-height: 1;
}
header .barra-sup .der .menu-prin ul li:first-child{
	margin-left: 0;
}
header .barra-sup .der .menu-prin ul li a{
	color: var(--c-azul);
	display: block;
	padding: 6px 12px;
	border: 1px solid transparent;
}
header .barra-sup .der .menu-prin ul li.active a{
	border-color: var(--c-celeste);
}
header .barra-sup .der .menu-prin ul li a:hover{
	color: var(--c-celeste);
}
header .barra-sup .der .idiomas{
	background-color: var(--c-gris);
	text-transform: uppercase;
	font-size: .9rem;
	font-weight: bold;
	line-height: 1;
	padding: 30px 35px;
	color: var(--c-azul);
	border-left: 1px solid var(--c-gris);
	transition: all .3s ease;
}
header .barra-sup .der .idiomas a{
	color: var(--c-azul);
}
header .barra-sup .der .idiomas a.active,
header .barra-sup .der .idiomas a:hover{
	text-decoration: underline;
}
header .barra-sup.trans{
	background-color: transparent;
	-webkit-box-shadow: none;
    box-shadow: none;
}
header .barra-sup.trans .der .idiomas{
	background-color: transparent;
	border-left-color: var(--c-blanco);
	color: var(--c-blanco);
}
header .barra-sup.trans .der .idiomas a{
	color: var(--c-blanco);
}
header .barra-sup.trans h1 a svg{
	fill: var(--c-blanco)
}
header .barra-sup.trans .der .menu-prin ul li a {
    color: var(--c-blanco);
}
header .barra-sup.trans .der .menu-prin ul li a:hover {
    color: var(--c-celeste);
}

.cabe-int{}
.cabe-int .banner{
	height: 525px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
	position: relative;
}
.cabe-int .intro{
	background-image: url(../images/fondo-celeste.svg);
	background-size: 4450px auto;
	background-position: center top;
	background-repeat: no-repeat;
	margin-top: -208px;
	z-index: 2; 
	position: relative;
	padding-top: 250px;
	padding-bottom: 120px;
}
.cabe-int .intro h1{
	font-size: 6.3rem;
	color: var(--c-blanco);
	margin-bottom: 70px;
}
.cabe-int .intro p{
	color: var(--c-azul);
}
.cabe-int .img{
	width: 650px;
	position: relative;
	top: -25px;
}
.cabe-int .img img{
	width: 100%;
	height: auto;
}
.cuerpo{
	padding-top: 120px;
	padding-bottom: 120px;
}
.cuerpo.sin-bot{
	padding-bottom: 30px;
}
.cuerpo.fondo-gris{
	background: var(--c-gris);
}
.nos-izq{}
.nos-izq h2{
	font-weight: bold;
	font-size: 1.2rem;
	margin-bottom: 35px;
}
.nos-izq h3{
	font-size: 1.6em;
}
.nos-der{}
.flujo{
	margin-bottom: 100px;
}
.flujo .cuadro{
	background-color: var(--c-gris);
	border-radius: 0 40px 0 0;
	padding: 15px;
	text-align: center;
	font-weight: bold;
	font-size: 0.9rem;
	min-height: 80px;
	align-items: center;
	justify-content: center;
	display: flex;
	transition: all .3s ease;
	cursor: pointer;
}
.flujo .cuadro:hover{
	background-color: var(--c-azul);
	color: var(--c-blanco);
}
.flujo .cuadro.cuadro1{
	margin-bottom: 20px;
	cursor: initial;
}
.flujo .cuadro.cuadro1:hover{
	background-color: var(--c-gris);
	color: var(--c-texto);
}
.flujo .cuadro.activo{
	background-color: var(--c-azul);
	color: var(--c-blanco);
}
.flujo .cuadro.cuadro-alto{
	height: 100%;
}
.flujo .col-flecha{
}
.flujo .flecha{
	width: 110px;
	height: 100%;
	background-image: url(../images/flecha-der.svg);
	background-size: 65px auto;
	background-repeat: no-repeat;
	background-position: center center;
}
.servicios{}
.servicios .servitem{
	/* border-bottom: 1px solid var(--c-gris); */
	/* padding-bottom: 80px;
	margin-bottom: 80px; */
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.servicios .servitem:last-child{
	border-bottom: 0 none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.servicios .servitem h2{
	font-weight: bold;
	font-size: 1.25rem;
}
.servicios .servitem p{
	line-height: 1.8;
}
ul.parr{
	padding: 0;
	list-style: none;
	margin: 0;
}
ul.parr > li{
	margin-bottom: 14px;
	position: relative;
	padding-left: 16px;
}
ul.parr > li:last-child{
	margin-bottom: 0;
}
ul.parr > li:before{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 9px;
	width: 5px;
	height: 5px;
	background-color: var(--c-texto);
	border-radius: 50%;
}
.miembros{}
.miembros .mitem{
	border-bottom: 1px solid var(--c-gris);
	padding-bottom: 60px;
	margin-bottom: 75px;
}
.miembros .mitem:last-child{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0 none;
}
.miembros .mitem h2{
	margin-bottom: 15px;
}
.miembros .mitem .cargo{
	font-weight: bold;
	color: var(--c-azul);
	font-size: 1.2rem;
}
.miembros .mitem .ex{
	padding-top: 45px;
}
.miembros .mitem .ex .titu{
	font-weight: bold;
	margin-bottom: 20px;
}
.miembros .mitem .ex p{
	margin-left: 15px;
}
.miembros .mitem .links{
	padding-top: 20px;
}
.miembros .mitem .links a{
	display: block;
	width: 30px;
	height: 30px;
	background-color: var(--c-celeste);
	text-align: center;
	line-height: 1;
	padding-top: 5px;
}
.miembros .mitem .links a:hover{
	background-color: var(--c-azul);
}
.miembros .mitem .links a svg{
	fill: var(--c-blanco);
}
.miembros .mitem .img{
	width: 100%;
}
.miembros .mitem .img img{
	width: 100%;
	height: auto;
}
.infra{
	display: flex;
	flex-wrap: wrap;
}
.infra .item{
	width: 350px;
	height: 160px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left center;
	align-items: center;
	display: flex;
	padding-left: 110px;
	font-size: 1.7rem;
	color: var(--c-azul);
	margin-right: 118px;
	margin-bottom: 100px;
}
.infra .item:nth-child(3n){
	margin-right: 0;
}
.grafi{}
.grafi .casos{}
.grafi .casos .tabs-cuadro{}
.grafi .casos .tabs-item{
	display: inline-block;
	border: 1px solid var(--c-azul);
	color: var(--c-blanco);
	background-color: var(--c-azul);
	font-weight: bold;
	padding: 9px 17px;
	margin-right: 20px;
	cursor: pointer;
	transition: all .3s ease;
}
.grafi .casos .tabs-item:last-child{
	margin-right: 0;
}
.grafi .casos .tabs-item:hover{
	color: var(--c-celeste);
}
.grafi .casos .tabs-item.active{
	background-color: transparent;
	color: var(--c-azul);
	border-color: var(--c-azul);
}
.grafi .casos .casitem{
	display: none;
	padding-top: 60px;
}
.grafi .casos .casitem .circulo{
	vertical-align: bottom;
	width: 650px !important;
	height: 650px !important;
	display: inline-block !important;
	margin-right: 150px;
}
.grafi .casos .casitem .circulo .pieLabel{
	font-size: 1.7rem;
	mix-blend-mode: difference;
	/* color: #0A1E2C; */
	color: var(--c-blanco);
}
.grafi .casos .casitem .circulo .pieLabel span{
	position: absolute;
	left: -20px;
	width: 40px;
	text-align: center;
	top: -18px;
}
.grafi .casos .casitem .leyenda{
	display: inline-block;
	vertical-align: bottom;
}
.grafi .casos .casitem .leyenda .leyitem{
	overflow: hidden;
	margin-bottom: 25px;
}
.grafi .casos .casitem .leyenda .leyitem:last-child{
	margin-bottom: 0;
}
.grafi .casos .casitem .leyenda .leyitem .color{
	float: left;
	width: 23px;
	height: 23px;
	margin-right: 18px;
}
.grafi .casos .casitem .leyenda .leyitem .txt{
	overflow: hidden;
	padding-top: 2px;
}
.formu{}
.formu .form-group{
	margin-bottom: 14px;
}
.formu .form-group .form-control{
	border: 1px solid var(--c-gris);
	background-color: var(--c-gris);
	border-radius: 0;
	font-size: 1rem;
	color: var(--c-azul);
	box-shadow: none !important;
	padding-left: 25px;
	padding-right: 25px;
	height: 60px;
}
.formu .form-group textarea.form-control{
	padding-top: 15px;
	padding-bottom: 15px;
	height: 160px;
	resize: none;
}
.formu .form-group .form-control:focus{
	border-color: var(--c-azul);
}
.formu .custom-checkbox{
	padding-top: 6px;
}
.formu .custom-checkbox label{
	user-select: none;
	padding-left: 16px;
	padding-top: 9px;
	padding-bottom: 28px;
}
.formu .custom-checkbox .custom-control-label:before{
	background-color: var(--c-gris);
	box-shadow: none;
	border: 0 none; 
	border-radius: 0;
	cursor: pointer !important;
	width: 27px;
	height: 27px;
}
.formu .custom-checkbox .custom-control-input:checked~.custom-control-label:after{
	background-color: var(--c-azul);
	background-image: none !important;
	width: 19px;
    height: 19px;
    left: -23px;
    top: 8px;
}
.formu .captcha-box{
	margin-bottom: 25px;
}
.formu .captcha-box .mal-captcha{
	color: #942446;
	padding-top: 5px;
}
.conta-der{}
.conta-der .datos{
	margin-bottom: 30px;
}
.conta-der .datos:last-child{
	margin-bottom: 0;
}
.conta-der .datos .titu{
	font-weight: bold;
	margin-bottom: 24px;
}
.conta-der .datos p{
	line-height: 1.6;
}
.conta-der .datos p a{
	color: var(--c-azul);
}
.conta-der .datos p a:hover{
	color: var(--c-celeste);
}
.conta-der .datos .redes{}
.conta-der .datos .redes a{
	display: inline-block;
	width: 32px;
	height: 32px;
	background-color: var(--c-celeste);
	text-align: center;
	line-height: 1;
	padding-top: 6px;
	margin-right: 10px;
}
.conta-der .datos .redes a:last-child{
	margin-right: 0;
}
.conta-der .datos .redes a:hover{
	background-color: var(--c-azul);
}
.conta-der .datos .redes a svg{
	fill: var(--c-blanco);
	height: 20px;
}

.cabe-int.cabe-home .intro{
	background-image: url(../images/fondo-azul.svg);
}
.cabe-int.cabe-home .intro p{
	color: var(--c-blanco);
	font-size: 1.6rem;
	padding-top: 100px;
}
.cabe-int.cabe-home .intro .link{
	padding-top: 50px;
}
.cabe-int.cabe-home .banners-home{
	z-index: 1;
	position: relative;
}
.cabe-int.cabe-home .banners-home .slick-dots{
	position: absolute;
	padding: 0;
	margin: 0;
	bottom: 300px;
	left: calc(50vw - 655px);
}
.cabe-int.cabe-home .banners-home .slick-dots > li{
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-block;
	margin-right: 12px;
}
.cabe-int.cabe-home .banners-home .slick-dots > li > button{
	padding: 0;
	margin: 0;
	border: 1px solid var(--c-blanco);
	overflow: hidden;
	background-color: transparent;
	font-size: 1px;
	text-indent: -200px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
}
.cabe-int.cabe-home .banners-home .slick-dots > li.slick-active > button{
	background-color: var(--c-blanco);
	width: 18px;
	height: 18px;
}
.cabe-int.cabe-home .banners-item{
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.cabe-int.cabe-home .banners-item .txt{
	height: 950px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 700px;
	padding-bottom: 150px;
}
.cabe-int.cabe-home .banners-item .txt h2{
	color: var(--c-blanco);
	font-size: 3.3rem;
}
.cabe-int.cabe-home .banners-item .txt .link{
	padding-top: 37px;
}
.home-blanco-izq .link{
	padding-top: 70px;
}
.home-blanco-img{
	width: 650px;
}
.home-blanco-img img{
	width: 100%;
	height: auto;
}
.bloque-celeste{
	background-color: var(--c-celeste);
}
.bloque-celeste .img{
	height: 550px;
	margin-left: -15px;
	margin-right: -15px;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.bloque-celeste .txt{
	width: calc(50vw - 315px);
}
.bloque-celeste .txt h2{
	color: var(--c-blanco);
}
.bloque-celeste .txt .link{
	padding-top: 70px;
}
.marquee {
	--offset: 20vw;
	--move-initial: calc(-25% + var(--offset));
	--move-final: calc(-50% + var(--offset));
	background: var(--c-blanco);
	color: var(--c-celeste);
	transition: all 0.5s;
	font-size: 7.1vw;
	line-height: 1;
	text-transform: uppercase;
	overflow: hidden;
	padding-top: 80px;
	padding-bottom: 80px;
}
.marquee.running .marquee-inner {
	animation-play-state: running;
}
.marquee:hover .marquee-inner {
	animation-play-state: running;
}
.marquee span {
	padding: 0 2vw;
	white-space: nowrap;
}
.marquee-inner {
	width: fit-content;
	display: flex;
	position: relative;
	transform: translate3d(var(--move-initial), 0, 0);
	animation: marquee 10s linear infinite;
	/* animation-play-state: paused; */
}
@keyframes marquee {
	0% {
		transform: translateX(var(--move-initial));
	}
	100% {
		transform: translateX(var(--move-final));
	}
}

footer{
	background-color: var(--c-blanco);
	background-image: url(../images/pie.svg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 3620px auto;
	color: var(--c-celeste);
	padding-top: 60px;
	padding-bottom: 35px;
	line-height: 1.3;
}
footer.fondo-gris{
	background-color: var(--c-gris);
}
footer .pie-sup{}
footer .pie-sup .menu-pie{}
footer .pie-sup .menu-pie ul{
	padding: 0;
	list-style: none;
}
footer .pie-sup .menu-pie ul li{
	text-transform: uppercase;
	font-size: 0.7em;
	font-weight: bold;
	margin-bottom: 14px;
}
footer .pie-sup .menu-pie ul li a{
	color: var(--c-celeste);
}
footer .pie-sup .menu-pie ul li a:hover{
	color: var(--c-blanco);
}
footer .pie-sup .conta{
	font-size: 0.7rem;
}
footer .pie-sup .conta .titu{
	font-weight: bold;
	margin-bottom: 15px;
	padding-top: 22px;
}
footer .pie-sup .conta .titu:first-child{
	padding-top: 0;
}
footer .pie-sup .conta .items{}
footer .pie-sup .conta .items .item{
	margin-bottom: 4px;
}
footer .pie-sup .conta .items .item a{
	color: var(--c-celeste);
}
footer .pie-sup .conta .items .item a:hover{
	color: var(--c-blanco);
}
footer .pie-sup .redes{}
footer .pie-sup .redes a{
	display: inline-block;
	background-color: var(--c-celeste);
	width: 22px;
	height: 22px;
	padding: 0;
	line-height: 1.5;
	margin-right: 6px;
	text-align: center;
	padding-top: 2px;
}
footer .pie-sup .redes a:last-child{
	margin-right: 0;
}
footer .pie-sup .redes a svg{
	height: 15px;
	fill: var(--c-azul);
}
footer .pie-sup .redes a:hover{
	background-color: var(--c-blanco);
}
footer .pie-sup .logos-pie{
	text-align: right;
}
footer .pie-sup .logos-pie .img{
	height: 100px;
	display: inline-block;
}
footer .pie-sup .logos-pie .img img{
	height: 100%;
	width: auto;
}
footer .pie-inf{
	color: var(--c-gris);
	font-size: 0.65rem;
	padding-top: 40px;
}
footer .pie-inf .poli-link {}
footer .pie-inf .poli-link a{
	color: var(--c-gris);
	text-decoration: underline;
}
footer .pie-inf .copy{
	text-align: right;
}
.hambu{
	display: none;
}
.cerrar-menu{
	display: none;
}
.modal-content {
	border: 0 none;
    border-radius: 0;
	background: none;
}
.modal-content .modal-header{
	padding: 0;
	background: none;
	text-align: left;
	display: block;
	line-height: 0;
}
.modal-content .modal-header .cerrar{
	height: 30px;
	width: 30px;
	cursor: pointer;
	display: inline-block;
	background-image: url(../images/cerrar.svg);
	background-size: 100% auto;
	background-position: left center;
	background-repeat: no-repeat;
	position: relative;
}
.modal-content .modal-body{
	text-align: center;
	background-color: var(--c-blanco);
	padding: 50px 30px;
}
.modal-content .modal-body .titu{}
.modal-content .modal-body .titu h4{
	color: var(--c-azul);
	margin-bottom: 20px;
	font-weight: bold;
}
.modal-content .modal-body .titu p{
	font-size: 1rem;
	margin-bottom: 30px;
}
.modal-backdrop {
    background-color: var(--c-azul);
}
.modal-backdrop.show {
    opacity: .8;
}

@media (min-width: 1800px){
	.container-xl {
		max-width: 1630px;
	}
	.container {
		max-width: 1320px;
	}
}

@media (max-width: 1799px){
	html {
		font-size: 15px;
	}
	header .barra-sup .der .menu-prin {
		padding-right: 25px;
	}
	header .barra-sup .der .menu-prin ul li {
		font-size: .85rem;
		margin-left: 10px;
	}
	header .barra-sup .der .idiomas {
		font-size: .85rem;
		padding: 22px 25px;
	}
	header .barra-sup .izq{
		padding-left: 30px;
	}
	header .barra-sup h1 a svg {
		width: 104px;
	}
	.cabe-int .banner {
		height: 350px;
	}
	.cabe-int .intro {
		background-size: 3200px auto;
		background-position: calc(50% - 100px) top;
		margin-top: -140px;
		padding-top: 170px;
		padding-bottom: 120px;
	}
	.cabe-int .intro h1 {
		font-size: 5rem;
		margin-bottom: 40px;
	}
	.cabe-int .img{
		width: 450px;
		margin-left: -30px;
		top: 0;
	}
	footer .pie-sup .logos-pie .img {
		height: 85px;
		display: inline-block;
	}
	.infra .item {
		width: 266px;
		height: 120px;
		padding-left: 75px;
		font-size: 1.6rem;
		margin-right: 150px;
		margin-bottom: 70px;
	}
	.grafi .casos .casitem .circulo {
		width: 420px !important;
		height: 420px !important;
		margin-right: 110px;
	}
	.grafi .casos .casitem .circulo .pieLabel {
		font-size: 1.3rem;
	}
	.grafi .casos .casitem .leyenda .leyitem {
		margin-bottom: 13px;
	}
	.grafi .casos .casitem .leyenda .leyitem .color {
		width: 16px;
		height: 16px;
		margin-right: 12px;
	}
	.grafi .casos .casitem .leyenda .leyitem .txt {
		padding-top: 0;
	}
	.cabe-int.cabe-home .banners-item .txt {
		height: 700px;
		width: 500px;
		padding-bottom: 110px;
	}
	.cabe-int.cabe-home .banners-item .txt h2 {
		font-size: 2.8rem;
	}
	.cabe-int.cabe-home .banners-home .slick-dots {
		bottom: 200px;
		left: calc(50vw - 555px);
	}
	.cabe-int.cabe-home .banners-home .slick-dots > li {
		margin-right: 8px;
	}
	.cabe-int.cabe-home .banners-home .slick-dots > li > button {
		width: 10px;
		height: 10px;
	}
	.cabe-int.cabe-home .banners-home .slick-dots > li.slick-active > button {
		width: 13px;
		height: 13px;
	}
	.bloque-celeste .img {
		height: 450px;
	}
	.home-blanco-img {
		width: 450px;
	}
	.marquee {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.bloque-celeste .txt {
		width: calc(50vw - 100px);
	}
	ul.parr > li:before {
		top: 7px;
	}
	.formu .custom-checkbox .custom-control-input:checked~.custom-control-label:after {
		left: -18px;
	}
}

@media (max-width: 1199px){
	.cabe-int .intro {
		background-size: 3200px auto;
		background-position: calc(50%) top;
	}
	.cabe-int .intro h1 {
		font-size: 4rem;
	}
	.cabe-int .img {
		width: 100%;
		margin-left: 0;
	}
	.flujo .flecha{
		width: 70px;
		background-size: 40px auto;
	}
	.infra .item {
		margin-right: 60px;
	}
	.home-blanco-img {
		width: 100%;
	}
	.cabe-int.cabe-home .banners-home .slick-dots {
		left: calc(50vw - 465px);
	}
	.cabe-int.cabe-home .intro p {
		padding-top: 25px;
	}
	.marquee {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.formu .custom-checkbox .custom-control-input:checked~.custom-control-label:after {
		left: -19px;
	}
}

@media (max-width: 991px){
	header .barra-sup .der .menu-prin {
		padding-right: 10px;
	}
	header .barra-sup .der .menu-prin ul li {
		margin-left: 0;
	}
	header .barra-sup .der .menu-prin ul li a {
		padding: 5px 6px;
	}
	header .barra-sup .der .idiomas {
		padding: 22px 15px;
	}
	.cabe-int .banner {
		height: 300px;
	}
	.cabe-int .intro {
		background-size: 2400px auto;
		background-position: calc(50%) top;
		margin-top: -102px;
		padding-top: 140px;
		padding-bottom: 80px;
	}
	.cabe-int .img {
		margin: 0;
	}
	.cuerpo {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.flujo .cuadro {
		border-radius: 0 35px 0 0;
		padding: 12px 8px;
	}
	.flujo .cuadro br{
		display: none;
	}
	.infra .item {
		margin-right: 80px;
	}
	.infra .item:nth-child(3n) {
		margin-right: 80px;
	}
	.infra .item:nth-child(2n){
		margin-right: 0;
	}
	.grafi .casos .casitem .circulo {
		margin-right: 30px;
	}
	.formu .custom-checkbox label {
		padding-top: 0px;
	}
	.cabe-int.cabe-home .banners-home .slick-dots {
		left: calc(50vw - 345px);
	}
	.cabe-int.cabe-home .intro p {
		padding-top: 0;
	}
	.cabe-int.cabe-home .intro .link {
		padding-top: 30px;
	}
	.bloque-celeste .txt .link {
		padding-top: 30px;
	}
	.home-blanco-izq .link {
		padding-top: 30px;
	}
}

@media (max-width: 767px){
	header .barra-sup .der {
		position: fixed;
		top: 0;
		left: 100%;
		width: 100%;
		height: 100%;
		display: block !important;
		background-color: var(--c-azul);
		transition: all .5s ease;
	}
	header .barra-sup .der.seve{
		left: 0;
	}
	header .barra-sup .der .menu-prin{
		margin: 0;
		padding: 0;
		display: block !important;
	}
	header .barra-sup .der .menu-prin > ul{
		display: block !important;
		text-align: center;
		padding: 60px 30px 0;
	}
	header .barra-sup .der .menu-prin > ul > li{
		display: block;
		margin: 0;
		font-size: 1rem;
	}
	header .barra-sup .der .menu-prin > ul > li > a{
		color: var(--c-blanco);
		display: inline-block;
		padding: 10px 20px;
	}
	header .barra-sup .izq {
		padding-left: 20px;
	}
	header .barra-sup .der .idiomas{
		background: transparent;
		border: 0 none !important;
		text-align: center;
		padding: 40px 0 0;
		margin: 0;
		color: var(--c-blanco);
		font-size: 1rem;
	}
	header .barra-sup .der .idiomas a{
		color: var(--c-blanco);
	}
	.hambu{
		display: block;
		height: 60px;
		width: 60px;
		text-align: center;
		padding-top: 14px;
	}
	.hambu svg{
		height: 32px;
		fill: var(--c-azul);
	}
	.barra-sup.trans .hambu svg {
		fill: var(--c-blanco);
	}
	.cerrar-menu{
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		height: 60px;
		width: 60px;
		text-align: center;
		padding-top: 13px;
	}
	.cerrar-menu svg{
		fill: var(--c-blanco);
		height: 34px;
	}
	header .barra-sup:before {
		display: none;
	}
	.cabe-int .banner {
		height: 200px;
	}
	.cabe-int .intro {
		background: var(--c-celeste);
		margin: 0;
		padding-top: 60px;
		padding-bottom: 80px;
		text-align: center;
	}
	.cabe-int .intro h1 {
		font-size: 3.5rem;
		margin-bottom: 20px;
	}
	.cabe-int .img {
		margin-top: 30px;
	}
	.cuerpo {
		padding-top: 60px;
		padding-bottom: 60px;
		text-align: center;
	}
	.nos-izq h2 {
		margin-bottom: 20px;
	}
	.nos-izq h3 {
		font-size: 1.3em;
	}
	.nos-der {
		padding-top: 60px;
	}
	footer{
		text-align: center;
		padding-bottom: 60px;
	}
	footer .pie-sup .conta {
		font-size: 0.8rem;
	}
	footer .pie-sup .redes a {
		width: 26px;
		height: 26px;
		padding-top: 4px;
	}
	footer .pie-sup .logos-pie {
		text-align: center;
		padding-top: 60px;
	}
	footer .pie-inf {
		color: var(--c-gris);
		font-size: 0.8rem;
		padding-top: 50px;
	}
	footer .pie-inf .poli-link {
		margin-bottom: 8px;
	}
	footer .pie-inf .copy {
		text-align: center;
		padding-top: 30px;
	}
	.flujo{
		margin-bottom: 60px;
	}
	.flujo .cuadro.cuadro1 {
		margin-bottom: 0;
		height: 100%;
	}
	.flujo .flecha {
		height: 50px;
		width: 50px;
		margin: 0 auto;
		background-size: 30px auto;
		transform: rotate(90deg);
	}
	.servicios .servitem h2 {
		margin-bottom: 20px;
		text-align: left;
	}
	.servicios .servitem p {
		line-height: 1.3;
	}
	.servicios .servitem {
		padding-bottom: 40px;
		margin-bottom: 40px;
	}
	.miembros .mitem {
		padding-bottom: 45px;
		margin-bottom: 50px;
	}
	.miembros .mitem .img {
		width: 100%;
		margin-bottom: 30px;
	}
	.miembros .mitem h2 {
		margin-bottom: 5px;
	}
	.miembros .mitem .ex p {
		margin-left: 0;
	}
	.miembros .mitem .ex {
		padding-top: 25px;
	}
	.miembros .mitem .links {
		text-align: center;
	}
	.miembros .mitem .links a {
		display: inline-block;
	}
	.grafi .casos .casitem .circulo {
		width: 260px !important;
		height: 260px !important;
		margin-right: 0;
	}
	.grafi .casos .casitem .circulo .pieLabel {
		font-size: 1rem;
	}
	.grafi .casos .casitem .circulo .pieLabel span {
		top: -10px;
	}
	.grafi .casos .casitem .leyenda {
		text-align: left;
		padding-top: 30px;
	}
	.grafi .casos .tabs-item {
		margin-right: 6px;
		padding: 9px;
	}
	.infra .item {
		font-size: 1.1rem;
		height: 70px;
		padding-left: 32px;
		margin-bottom: 30px;
		margin-right: 20px !important;
		width: 140px;
		text-align: left;
	}
	.conta-der {
		padding-top: 60px;
	}
	.cabe-int.cabe-home .banners-item .txt {
		height: 100svh;
		width: initial;
		padding-bottom: 0;
		text-align: center;
	}
	.cabe-int.cabe-home .banners-item .txt h2 {
		font-size: 2rem;
	}
	.cabe-int.cabe-home .banners-home .slick-dots {
		left: 50%;
		transform: translateX(-50%);
		bottom: 50px;
	}
	.cabe-int.cabe-home .intro {
		background: var(--c-azul);
	}
	.cabe-int .img {
		margin-top: 60px;
	}
	.marquee {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.bloque-celeste .img {
		height: 250px;
	}
	.bloque-celeste .txt {
		width: initial;
		text-align: center;
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.home-blanco-img {
		padding-top: 60px;
	}
	.formu .custom-checkbox label {
		text-align: left;
	}
	ul.parr {
		text-align: left;
	}
	.formu .custom-checkbox .custom-control-input:checked~.custom-control-label:after {
		left: -18px;
	}
}