:root{
    --W47:calc(100% * 0.475);
    --W53:calc(100% * 0.525);
    --W50:calc(100% * 0.5);
    --W52:calc(100% * 0.52);
    --W48:calc(100% * 0.48);
    --W65:calc(100% * 0.48);
    --W35::calc(100% * 0.35);
    --Wmargin:calc(100% * 0.0459);
    --titleSize:calc((2em + (1.5125 - 1) * ((100vw - 20em) / (80 - 20))) * 0.85);
    --titleLH:calc((1.18em + (1.53 - 1) * ((100vw - 20em) / (80 - 20))) * 0.85);
    --carouselItemWidth:calc((100% / 2) - 40px);
}
.global-menu a:not(.button,.submenu-item,.trigger){font-size:250%;}
article{overflow-x: hidden;}
.heavy-titular{font-size:375%;}
.flexbox{display: flex;flex-direction: row;align-items: center;}
.flex-space-evenly{justify-content: space-evenly;}
.flex-between{justify-content:space-between}
.w47{width:var(--W47)}
.w53{width:var(--W53)}
.w50{width:var(--W50)}
.w52{width:var(--W52)}
.w48{width:var(--W48)}
.w65{width:var(--W65)}
.w35{width:var(--W35);transform:translate(-85px,calc((50vh * 0.5) / 2));z-index:2}
.wleft{padding-left:var(--Wmargin)}
.wfromleft{margin-left:var(--Wmargin)}
.wfromright{position:relative;}
.wfromright .bglazy{position:relative;z-index:2}
.wfromright:after{content:"";background:#fff;position:absolute;right:0;bottom:0;width:var(--Wmargin);height:100%;z-index:1}
.wright{padding-right:var(--Wmargin)}
.hide-ipad{display:none}
.flex-start{align-items: flex-start;}
.header-col__left{flex:11.04}
.header-col__center{flex:64.8975}
.header-col__right{flex:24.06}
.header-col__center__menu{flex:50}
.header-col__right__hablamos{flex:38.94;text-align: left;}
.header-col__right__hablamos .bgLazy{padding:calc(100vh * 0.30) 0 calc(100vh * 0.05) 0;position:relative}
.header-col__right__hablamos .mensaje-hablamos{position:absolute;left:-20px;bottom:40px}
.header-col__right__hablamos h2{margin-bottom:40px}
.header-col__right__hablamos h2 span{text-align:right;padding: 10px 55px 10px 40px;margin-bottom:40px;display: table;}
.header-col__right__hablamos .button.inverted{margin-left:40px}
input.form-half,label.form-half,span.form-half{display:inline;float:left;width:calc(50% - 10px)}
span.form-half{text-align:right}
input.form-half:nth-child(1), input.form-half:nth-child(3),label.form-half{margin-right:20px}
.cols-footer-wrapper{align-items: flex-start;}
.col-footer{width:calc(100% / 6);margin-right:calc(100% / 6)}
.col-footer:nth-child(2){width:calc((100% / 6) * 2)}
.col-footer:nth-child(3){margin-right:calc((100% / 6) / 2)}
.multi-flexbox__wrapper{flex-direction:row}
.flex_w66{display:flex;flex:76}
.flex_w33{flex:23;padding-left: 20px;}
.caja_uso__multi{flex: 50;height: calc(100vh * 0.55);margin-right:0;position:relative}
.cajaRelative{position:relative}
.multi-pabellones h3{font-size:180%}
.multi-pabellones .flex_w33_hardcore_thevelop h3{font-size:120%}
.position-bottom{position: absolute;bottom:40px}
.caja_uso__multi.cajas-usos__primera{margin-top: calc(100vh * 0.05);}
.caja_uso__multi.cajas-usos__primera h3{margin-top:45%;flex:47}
.caja_uso__multi.cajas-usos__segunda{margin-top:calc(100vh * 0.18);flex:53}
.caja_uso__multi.cajas-usos__segunda h3{margin-top:55%}
.flex_w33 .caja-uso{display: block;width: 100%;margin-bottom: 20px;padding-top: calc(var(--titleLH) * 3.5);box-sizing:border-box;padding-bottom:40px}
.flex_w33_hardcore_thevelop .caja-uso{padding-top:calc(var(--titleLH) * 1.5);padding-bottom:20px}
.extraPaddHz{padding-left:10%;padding-right:10%}
.callout-panel{min-height:calc(100vh * 0.7);position:relative}
.callout-bg{z-index:1;position:absolute;min-height:calc(100vh * 0.7);width:calc(100% - var(--Wmargin));box-sizing: border-box;right: var(--Wmargin);}
.callout-bg .fake-col{min-height:calc(100vh * 0.7);flex:30}
.callout-bg .bgLazy{min-height:calc(100vh * 0.7);flex:70}
.callout-msg{z-index:2;position:absolute;top:calc((100% * 0.75) * 0.4);transform:translateY(calc((-100% * 0.75) * 0.10));flex:45}
.callout-msg-bottom-0{top:inherit;bottom:35px;}
.callout-message{box-sizing:border-box;padding:var(--Wmargin)}
.callout-msg .callout-message{flex:50;box-sizing:border-box}
.callout-msg .callout-extra-padding{padding:var(--Wmargin) calc(var(--Wmargin) * 3);flex:150}
.callout-msg .fake-col{flex:50}
.callout-msg-hz{left: calc(100% * 0.1);}
.callout-msg .callout-hz{padding:calc(var(--Wmargin) / 3) calc(var(--Wmargin) / 2);}
.callout-msg .fake-col-hz{flex:10}
.callout-blured-white{backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);background: rgba(255,255,255,0.85);}
.callout-bg .flex-55{flex:55}
.callout-bg .flex-45{flex:45}
.callout-bg-no-right{right:0}
.callout-msg .callout-message.flex-75{flex:75}
.right-10percent{left:10%}
.gradientBgVertical{background: rgb(255,255,255);background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 0%, rgba(237,245,253,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 65%);padding-bottom:calc(var(--Wmargin) * 2.5)}
.callout-message-full{padding:calc(var(--Wmargin) * 2) calc(var(--Wmargin) * 1.5) calc(var(--Wmargin) * 1.5) calc(var(--Wmargin) * 1.5);text-align:center}
.callout-message-full p{max-width:860px;margin-left:auto;margin-right:auto}
.flex_w33.padTop-50 .caja-uso{padding-top:calc(var(--titleLH) * 1.38);}
.flex_w33.padTop-50 .caja-uso h3{margin-bottom:0}
.flex-2{order:2}
.flex-1{order:1}
.callout-msg .callout-message.flex-30{flex:30}
.mtop-negative{margin-top:calc(-100% * 0.075)}
.mtop-positive{margin-bottom:calc(-100% * 0.075)}
.extra-width{width:calc(var(--W53) * 1.05);z-index:1}
.extra-width.w65{width:calc(var(--W65) * 2.95);}
.extra-width-XL{width:calc(var(--W53) * 1.45)}
.leftNegative{margin-left:-10%;z-index:2;margin-top:18%}
.rightNegative{margin-right:-10%;z-index:2;}
.leftPositive{margin-left:10%}
.paddPosNeg{margin-left: calc((-2.5 * var(--Wmargin)));margin-top:14%}
.fueradeCaja{position:absolute;bottom:calc(-100vh * 0.075);left:50%;transform:translateX(-50%)}
.bgcontain{background-size: contain;background-position: right 50%;}
.bgleftcenter{background-position: left center;background-repeat: no-repeat;}
.bgrightcenter{background-position: right center;background-repeat: no-repeat;}
.bgcentercenter{background-position: center center;background-repeat: no-repeat;}
.callout-bg.callout-52 .bgLazy{width: 52%;flex:inherit}
.left-25{left:25%}
.lnrgradToRight{background: rgb(255,255,255);background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 0%, rgba(0,113,205,1) 0%, rgba(0,113,205,1) 95%, rgba(255,255,255,1) 95%);}
.bgMarino.lnrgradToRight{background: rgb(255,255,255);background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 0%, rgba(23,19,107,1) 0%, rgba(23,19,107,1) 95%, rgba(255,255,255,1) 95%);}
.extraTop{padding-top:calc(100% * 0.1);}
.certificado{width:50%;box-sizing:border-box}
.certificado:nth-child(2) ul{justify-content: flex-start}
.max-body{max-width:calc(100vw * 0.71);margin-left:auto;margin-right:auto}
.max-body-padd{padding-left:calc((100vw * 0.29) / 2);padding-right:calc((100vw * 0.29) / 2)}
.multi-flexbox__wrapper .caja_uso__multi{height:calc((100vw / 3) * 1.26)}
.titleZ{position:absolute;left:calc(100vw * 0.1);top:calc(100vh * 0.075);z-index:2;line-height:normal;}
.titleZ.heavy-titular{font-size:180%}

/* delegaciones */
.delegacion{margin-right:40px;}
.delegacion:last-child{margin-right:0}
.w31{flex:31.1}
.w26{flex:26.34}
.w35d{flex:35.72}
.w55d{flex:55.96;margin-right:40px}
.w40d{flex:40}
.noPadd{padding:0}
.noPadd .noLine{line-height:0}
.wd40F{width:45%}
.wd60F{width:55%}
.w52F{flex:50}
.w24F{flex:25}
.wd38F{width:30%}
.negativeTitleinBox{top:0}
.double-negative-multi-projects{margin-top:-600px}


@media only screen and (min-width: 950px){
	.header-col__right {
		flex: 34.06;
	}
	
}
@media only screen and (max-width: 1024px){
	.usos-iconos{width:100%;display:table}
}

@media only screen and (max-width: 1164px){
	.header-col__right__hablamos .button.inverted {margin-left: 0;}
	.row-header__first .button{display:block;margin-right:0;margin-bottom:10px}
}

@media only screen and (max-width: 1267px){
	.row-header__third .header-col__center{display:none}
}

/* Pointer coarse para dispositivos touch, anular parallax */
@media (pointer: coarse){
	.parallax{background-attachment:scroll}
}
/* Pointer coarse para dispositivos con pointer fino, mouse, trackpack, stylus, etc.. */
@media (pointer: fine){
	.parallax{background-attachment:fixed;-ms-transform: translate3d(0, 0, 0);
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		}
}

.cookie-toast{max-width:400px;left:20px}

/* animations */
.animateMe{
	opacity: 0;
}

.animated {
	/*-webkit-animation-duration: 1s;
	   -moz-animation-duration: 1s;
	     -o-animation-duration: 1s;
	        animation-duration: 1s;*/
	-webkit-animation-fill-mode: both;
	   -moz-animation-fill-mode: both;
	     -o-animation-fill-mode: both;
	        animation-fill-mode: both;
}

@-webkit-keyframes fadeIn {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

@-moz-keyframes fadeIn {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

@-o-keyframes fadeIn {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

@keyframes fadeIn {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

.animated.fadeIn {
	-webkit-animation-name: fadeIn;
	-moz-animation-name: fadeIn;
	-o-animation-name: fadeIn;
	animation-name: fadeIn;
}

@-webkit-keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}

@-moz-keyframes fadeInUp {
	0% {
		opacity: 0;
		-moz-transform: translateY(20px);
	}

	100% {
		opacity: 1;
		-moz-transform: translateY(0);
	}
}

@-o-keyframes fadeInUp {
	0% {
		opacity: 0;
		-o-transform: translateY(20px);
	}

	100% {
		opacity: 1;
		-o-transform: translateY(0);
	}
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.animated.fadeInUp {
	-webkit-animation-name: fadeInUp;
	-moz-animation-name: fadeInUp;
	-o-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

.puffIn {
    -webkit-animation-name: puffIn;
            animation-name: puffIn; }
  
  @-webkit-keyframes puffIn {
    0% {
      opacity: 0;
      transform-origin: 50% 50%;
      transform: scale(2, 2);
      -webkit-filter: blur(2px);
              filter: blur(2px); }
    100% {
      opacity: 1;
      transform-origin: 50% 50%;
      transform: scale(1, 1);
      -webkit-filter: blur(0px);
              filter: blur(0px); } }
  
  @keyframes puffIn {
    0% {
      opacity: 0;
      transform-origin: 50% 50%;
      transform: scale(2, 2);
      -webkit-filter: blur(2px);
              filter: blur(2px); }
    100% {
      opacity: 1;
      transform-origin: 50% 50%;
      transform: scale(1, 1);
      -webkit-filter: blur(0px);
              filter: blur(0px); } }

			  @-webkit-keyframes fadeInDown {
				0% {
					opacity: 0;
					-webkit-transform: translateY(-20px);
				}
			
				100% {
					opacity: 1;
					-webkit-transform: translateY(0);
				}
			}
			
			@-moz-keyframes fadeInDown {
				0% {
					opacity: 0;
					-moz-transform: translateY(-20px);
				}
			
				100% {
					opacity: 1;
					-moz-transform: translateY(0);
				}
			}
			
			@-o-keyframes fadeInDown {
				0% {
					opacity: 0;
					-o-transform: translateY(-20px);
				}
			
				100% {
					opacity: 1;
					-o-transform: translateY(0);
				}
			}
			
			@keyframes fadeInDown {
				0% {
					opacity: 0;
					transform: translateY(-20px);
				}
			
				100% {
					opacity: 1;
					transform: translateY(0);
				}
			}
			
			.animated.fadeInDown {
				-webkit-animation-name: fadeInDown;
				-moz-animation-name: fadeInDown;
				-o-animation-name: fadeInDown;
				animation-name: fadeInDown;
			}
			@-webkit-keyframes fadeInLeft {
				0% {
					opacity: 0;
					-webkit-transform: translateX(-20px);
				}
			
				100% {
					opacity: 1;
					-webkit-transform: translateX(0);
				}
			}
			
			@-moz-keyframes fadeInLeft {
				0% {
					opacity: 0;
					-moz-transform: translateX(-20px);
				}
			
				100% {
					opacity: 1;
					-moz-transform: translateX(0);
				}
			}
			
			@-o-keyframes fadeInLeft {
				0% {
					opacity: 0;
					-o-transform: translateX(-20px);
				}
			
				100% {
					opacity: 1;
					-o-transform: translateX(0);
				}
			}
			
			@keyframes fadeInLeft {
				0% {
					opacity: 0;
					transform: translateX(-20px);
				}
			
				100% {
					opacity: 1;
					transform: translateX(0);
				}
			}
			
			.animated.fadeInLeft {
				-webkit-animation-name: fadeInLeft;
				-moz-animation-name: fadeInLeft;
				-o-animation-name: fadeInLeft;
				animation-name: fadeInLeft;
			}
			@-webkit-keyframes fadeInRight {
				0% {
					opacity: 0;
					-webkit-transform: translateX(20px);
				}
			
				100% {
					opacity: 1;
					-webkit-transform: translateX(0);
				}
			}
			
			@-moz-keyframes fadeInRight {
				0% {
					opacity: 0;
					-moz-transform: translateX(20px);
				}
			
				100% {
					opacity: 1;
					-moz-transform: translateX(0);
				}
			}
			
			@-o-keyframes fadeInRight {
				0% {
					opacity: 0;
					-o-transform: translateX(20px);
				}
			
				100% {
					opacity: 1;
					-o-transform: translateX(0);
				}
			}
			
			@keyframes fadeInRight {
				0% {
					opacity: 0;
					transform: translateX(20px);
				}
			
				100% {
					opacity: 1;
					transform: translateX(0);
				}
			}
			
			.animated.fadeInRight {
				-webkit-animation-name: fadeInRight;
				-moz-animation-name: fadeInRight;
				-o-animation-name: fadeInRight;
				animation-name: fadeInRight;
			}
			@-webkit-keyframes fadeInUpBig {
				0% {
					opacity: 0;
					-webkit-transform: translateY(2000px);
				}
			
				100% {
					opacity: 1;
					-webkit-transform: translateY(0);
				}
			}
			
			@-moz-keyframes fadeInUpBig {
				0% {
					opacity: 0;
					-moz-transform: translateY(2000px);
				}
			
				100% {
					opacity: 1;
					-moz-transform: translateY(0);
				}
			}
			
			@-o-keyframes fadeInUpBig {
				0% {
					opacity: 0;
					-o-transform: translateY(2000px);
				}
			
				100% {
					opacity: 1;
					-o-transform: translateY(0);
				}
			}
			
			@keyframes fadeInUpBig {
				0% {
					opacity: 0;
					transform: translateY(2000px);
				}
			
				100% {
					opacity: 1;
					transform: translateY(0);
				}
			}
			
			.animated.fadeInUpBig {
				-webkit-animation-name: fadeInUpBig;
				-moz-animation-name: fadeInUpBig;
				-o-animation-name: fadeInUpBig;
				animation-name: fadeInUpBig;
			}
			@-webkit-keyframes fadeInDownBig {
				0% {
					opacity: 0;
					-webkit-transform: translateY(-2000px);
				}
			
				100% {
					opacity: 1;
					-webkit-transform: translateY(0);
				}
			}
			
			@-moz-keyframes fadeInDownBig {
				0% {
					opacity: 0;
					-moz-transform: translateY(-2000px);
				}
			
				100% {
					opacity: 1;
					-moz-transform: translateY(0);
				}
			}
			
			@-o-keyframes fadeInDownBig {
				0% {
					opacity: 0;
					-o-transform: translateY(-2000px);
				}
			
				100% {
					opacity: 1;
					-o-transform: translateY(0);
				}
			}
			
			@keyframes fadeInDownBig {
				0% {
					opacity: 0;
					transform: translateY(-2000px);
				}
			
				100% {
					opacity: 1;
					transform: translateY(0);
				}
			}
			
			.animated.fadeInDownBig {
				-webkit-animation-name: fadeInDownBig;
				-moz-animation-name: fadeInDownBig;
				-o-animation-name: fadeInDownBig;
				animation-name: fadeInDownBig;
			}
			@-webkit-keyframes fadeInLeftBig {
				0% {
					opacity: 0;
					-webkit-transform: translateX(-2000px);
				}
			
				100% {
					opacity: 1;
					-webkit-transform: translateX(0);
				}
			}
			@-moz-keyframes fadeInLeftBig {
				0% {
					opacity: 0;
					-moz-transform: translateX(-2000px);
				}
			
				100% {
					opacity: 1;
					-moz-transform: translateX(0);
				}
			}
			@-o-keyframes fadeInLeftBig {
				0% {
					opacity: 0;
					-o-transform: translateX(-2000px);
				}
			
				100% {
					opacity: 1;
					-o-transform: translateX(0);
				}
			}
			@keyframes fadeInLeftBig {
				0% {
					opacity: 0;
					transform: translateX(-2000px);
				}
			
				100% {
					opacity: 1;
					transform: translateX(0);
				}
			}
			
			.animated.fadeInLeftBig {
				-webkit-animation-name: fadeInLeftBig;
				-moz-animation-name: fadeInLeftBig;
				-o-animation-name: fadeInLeftBig;
				animation-name: fadeInLeftBig;
			}
			@-webkit-keyframes fadeInRightBig {
				0% {
					opacity: 0;
					-webkit-transform: translateX(2000px);
				}
			
				100% {
					opacity: 1;
					-webkit-transform: translateX(0);
				}
			}
			
			@-moz-keyframes fadeInRightBig {
				0% {
					opacity: 0;
					-moz-transform: translateX(2000px);
				}
			
				100% {
					opacity: 1;
					-moz-transform: translateX(0);
				}
			}
			
			@-o-keyframes fadeInRightBig {
				0% {
					opacity: 0;
					-o-transform: translateX(2000px);
				}
			
				100% {
					opacity: 1;
					-o-transform: translateX(0);
				}
			}
			
			@keyframes fadeInRightBig {
				0% {
					opacity: 0;
					transform: translateX(2000px);
				}
			
				100% {
					opacity: 1;
					transform: translateX(0);
				}
			}
			
			.animated.fadeInRightBig {
				-webkit-animation-name: fadeInRightBig;
				-moz-animation-name: fadeInRightBig;
				-o-animation-name: fadeInRightBig;
				animation-name: fadeInRightBig;
			}
			.animated.vanishIn {
				-webkit-animation-name: vanishIn;
						animation-name: vanishIn; }
			  
			  @-webkit-keyframes vanishIn {
				0% {
				  opacity: 0;
				  transform-origin: 50% 50%;
				  transform: scale(2, 2);
				  -webkit-filter: blur(90px);
						  filter: blur(90px); }
				100% {
				  opacity: 1;
				  transform-origin: 50% 50%;
				  transform: scale(1, 1);
				  -webkit-filter: blur(0px);
						  filter: blur(0px); } }
			  
			  @keyframes vanishIn {
				0% {
				  opacity: 0;
				  transform-origin: 50% 50%;
				  transform: scale(2, 2);
				  -webkit-filter: blur(90px);
						  filter: blur(90px); }
				100% {
				  opacity: 1;
				  transform-origin: 50% 50%;
				  transform: scale(1, 1);
				  -webkit-filter: blur(0px);
						  filter: blur(0px); } }
						  .cursor-follower {
							position: absolute;
							border: 1px solid #17136b;
							width: 44px;
							height: 44px;
							border-radius: 100%;
							z-index: 1;
							transition: 0.6s cubic-bezier(0.75, -1.27, 0.3, 2.33) transform, 0.2s cubic-bezier(0.75, -0.27, 0.3, 1.33) opacity, 0.2s cubic-bezier(0.75, -0.27, 0.3, 1.33) hoverLink;
							-webkit-transition: 0.6s cubic-bezier(0.75, -1.27, 0.3, 2.33) transform, 0.2s cubic-bezier(0.75, -0.27, 0.3, 1.33) opacity, 0.2s cubic-bezier(0.75, -0.27, 0.3, 1.33) hoverLink;
							user-select: none;
							pointer-events: none;
							z-index: 10000;
							transform: translateX(-50%) translateY(-50%);
							display: none;
							top: 0;
							left: 0;
							opacity: 0
						  }
						  .cursor-follower.active {
							opacity: 1;
							transform: scale(3);
							animation: hoverLink 1.5s infinite;
							-webkit-animation: hoverLink 1.5s infinite;
							transform: translateX(-22px) translateY(-22px);
							
						  }
						  .cursor-follower.menu-active {
							opacity: 1;
							transform: scale(3);
							
						  }
						  .cursor-follower.hovered {
							opacity: 1;
							
						  }
						  
						  @keyframes hoverLink {
							0% {
							  opacity:1;
							  transform:scale(1)
							}
							50% {
							  opacity:0.75;
							  transform:scale(3)
							}
							100% {
							  opacity:1;
							  transform:scale(1)
							}
						  }
						  
						  @-webkit-keyframes hoverLink {
							0% {
							  opacity:1;
							  transform:scale(1)
							}
							50% {
							  opacity:0.75;
							  transform:scale(3)
							}
							100% {
							  opacity:1;
							  transform:scale(1)
							}
						  }
						  