/*!
Theme Name: icarto
Theme URI: https://icarto.com/
Author: A2Lab
Author URI: https://www.a2laboratoriodeideas.com/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: icarto
Tags: custom-design

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

icarto is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* Normalize and Basic Styles */

html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}body,button,input,optgroup,select,textarea{color:#3e4c5b;font-family:Montserrat,sans-serif;font-size:16px;font-size:1rem;line-height:1.5}h1,h2,h3,h4,h5,h6{clear:both}p{margin-bottom:1.5em}cite,dfn,em,i{font-style:italic}blockquote{margin:0 1.5em}address{margin:0 0 1.5em}pre{background:#eee;font-family:"Courier 10 Pitch",Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em}code,kbd,tt,var{font-family:Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#3e4c5b}hr{background-color:#ccc;border:0;height:1px;margin-bottom:1.5em}ol,ul{margin:0 0 0 0}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-left:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}img{height:auto;max-width:100%}figure{margin:1em 0}table{margin:0 0 1.5em;width:100%}button,input[type=button],input[type=reset],input[type=submit]{border:1px solid;border-color:#ccc #ccc #bbb;border-radius:3px;background:#e6e6e6;color:rgba(0,0,0,.8);font-size:12px;font-size:.75rem;line-height:1;padding:.6em 1em .4em}button:hover,input[type=button]:hover,input[type=reset]:hover,input[type=submit]:hover{border-color:#ccc #bbb #aaa}button:active,button:focus,input[type=button]:active,input[type=button]:focus,input[type=reset]:active,input[type=reset]:focus,input[type=submit]:active,input[type=submit]:focus{border-color:#aaa #bbb #bbb}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=range],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],textarea{color:#666;border:1px solid #ccc;border-radius:3px;padding:3px}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=range]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,textarea:focus{color:#111}select{border:1px solid #ccc}textarea{width:100%}a{color:#00bec5}a:visited{color:#00bec5}a:active,a:focus,a:hover{color:#00bec5}a:focus{outline:thin dotted}a:active,a:hover{outline:0}.main-navigation{clear:both;display:block;float:left;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation ul ul{box-shadow:0 3px 3px rgba(0,0,0,.2);float:left;position:absolute;top:100%;left:-999em;z-index:99999}.main-navigation ul ul ul{left:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{left:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{left:auto}.main-navigation li{float:left;position:relative}.main-navigation a{display:block;text-decoration:none}.main-navigation.toggled ul,.menu-toggle{display:flex}@media screen and (min-width:37.5em){.menu-toggle{display:none}.main-navigation ul{display:flex}}.site-main .comment-navigation,.site-main .post-navigation,.site-main .posts-navigation{margin:0 0 1.5em;overflow:hidden}.comment-navigation .nav-previous,.post-navigation .nav-previous,.posts-navigation .nav-previous{float:left;width:50%}.comment-navigation .nav-next,.post-navigation .nav-next,.posts-navigation .nav-next{float:right;text-align:right;width:50%}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#content[tabindex="-1"]:focus{outline:0}.alignleft{display:inline;margin-right:1.5em}.alignright{display:inline;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}.widget{margin:0 0 1.5em}.widget select{max-width:100%}.sticky{display:block}.page,.post{margin:0 0 1.5em}.updated:not(.published){display:none}.entry-content,.entry-summary,.page-content{margin:1.5em 0 0}.page-links{clear:both;margin:0 0 1.5em}.comment-content a{word-wrap:break-word}.bypostauthor{display:block}.infinite-scroll .posts-navigation,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}.comment-content .wp-smiley,.entry-content .wp-smiley,.page-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}embed,iframe,object{max-width:100%}.custom-logo-link{display:inline-block}.wp-caption{margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin-left:auto;margin-right:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}

/* Custom Styles */
.wrapper {
	margin: 0 auto;
	max-width: 1440px;
	width: 100%;
}

.fl {
	align-items: flex-start;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

.wrapper-in {
	padding: 0 20px;
}

.site-header::before,
.site-header::after {
	display: none;
}

.site-header {
	align-items: center;
	border-bottom: 1px solid rgba(255,255,255,0.25);
	justify-content: flex-start;
	min-height: 65px;
	position: relative;
	z-index: 9;
}

.site-header .logo {
	margin-right: 90px;
	margin-top: 8px;
	max-width: 160px;
}

.site-header .main-navigation {
    width: auto;
}

.site-header .main-navigation li:not(:last-of-type) {
	margin-right: 16px;
}

.site-header .main-navigation a,
.site-header .menu-idioma-container a {
	color: #fff;
	font-size: 12px;
	text-decoration: none;
	text-transform: uppercase;
}

.site-header .main-navigation a:hover,
.site-header .menu-idioma-container a:hover {
	color: #00BEC5;
}

.site-header ul {
	align-items: flex-start;
	flex-flow: row wrap;
	justify-content: flex-start;
	list-style: none;
	margin: 8px 0;
	padding: 0;
}

.site-header .menu-idioma-container {
	align-items: center;
	align-self: stretch;
	border-left: 1px solid rgba(255,255,255,0.25);
	display: flex;
	margin: 0 0 0 auto;
	padding-left: 16px;
}

.site-header .menu-idioma-container ul {
	margin: 0;
}

.main-navigation ul.sub-menu {
	background: rgba(62,76,91,.5);
    box-shadow: 0 0 0;
    margin-top: 0;
}

.site-header .main-navigation ul ul.sub-menu li {
    margin-right: 0;
    padding: 8px 0 8px 8px;
}

.site-header .main-navigation ul ul.sub-menu li:hover {
	background: rgba(0,0,0, .2);
}

.main-navigation ul.sub-menu li a {
	text-transform: none;
}

.site-header.header-dark .main-navigation .sub-menu a {
	color: #fff;
}

.site-header.header-dark {
    background: #fff;
}

.site-header.header-dark .main-navigation a,
.site-header.header-dark .menu-idioma-container a {
	color: #000;
}

.site-header.header-dark .menu-idioma-container {
	border-left-color: #000;
}

.site-header.header-dark {
	border-bottom-color: #000;
}

.header-bg {
	align-items: center;
	min-height: 700px;
	position: relative;
	margin-top: -65px;
	width: 100%;
	z-index: 1;
}

.header-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #3d3d3d;
    opacity: 1;
    margin: 0;
    z-index: 1;
    overflow: hidden;
}

.header-video video {
    position: absolute;
    background-size: 100% 100%;
      top: 0px;
      left: 0;
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      opacity: 0.6;
  }


.header-bg h1 {
	color: #fff;
	font-size: 32px;
	line-height: 1.2;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 30px;
	text-align: center;
	width: 100%;
	z-index: 3;
}

.header-extra {
	flex-flow: column wrap;
	justify-content: center;
}

.header-extra h1 {
	margin: 40px auto;
}

.header-extra .icono-header {
	width: 150px;
}

.header-extra .subtitulo-header {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 24px;
	padding: 0 20px;
	text-align: center;
}

#masthead.sticky {
	position: fixed;
	top: 0;
	width: 100%;
	background: #3E4C5B;
	transition: background-color 1000ms linear;
	z-index: 99;
	max-width: 1440px;
}

#masthead.sticky.site-header.header-dark {
	background: #fff;
}

.site-footer {
	background-color: #3E4C5B;
	color: #fff;
	font-size: 12px;
	font-weight: 300;
	padding: 90px 30px;
}

.site-info {
	letter-spacing: 0.5px;
	margin-top: 30px;
}

.portada-bloques {
	justify-content: center;
	margin: -150px auto 0;
	max-width: 900px;
	position: relative;
	width: 100%;
	z-index: 8;
}

.portada-bloque {
	align-items: center;
	background: #fff;
	flex-flow: column wrap;
	height: 300px;
	justify-content: center;
	margin-bottom: 10px;
	padding: 10px;
	text-align: center;
	width: 298px;
}

.portada-bloque img {
	max-width: 104px;
}

.portada-bloque p {
    margin-top: 40px;
}

.portada-proyectos {
	background: #3E4C5B;
	color: #fff;
}

.portada-proyecto {
	width: 100%;
}

.portada-proyecto > div {
	align-self: stretch;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	width: 100%;
}

.portada-proyecto img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.portada-proyecto--texto {
	padding: 20px;
}

.portada-proyecto > div .portada-proyecto--etiquetas a,
.caso-estudio > div .portada-proyecto--etiquetas a {
	background: #3E4C5B;
	border-radius: 16px;
	color: #fff;
	display: inline-block;
	font-weight: 300;
	font-size: 12px;
	margin: 0 8px 8px 0;
	padding: 2px 8px;
}

.portada-proyecto > div .portada-proyecto--enlace,
.caso-estudio > div .portada-proyecto--enlace {
	border: 1px solid #fff;
	color: #fff;
	font-weight: 500;
	padding: 24px 12px;
	margin: 60px auto 0;
	max-width: 175px;
	text-align: center;
	text-transform: uppercase;
	transition: all 0.3s ease 0s;
	width: 100%;
}

.portada-proyecto > div .portada-proyecto--enlace:hover,
.caso-estudio > div .portada-proyecto--enlace:hover {
	background: #fff;
	color: #3E4C5B;
}

.portada-proyectos > div:nth-of-type(2) .portada-proyecto > div:last-of-type {
    order: -1;
}

.portada-proyecto > div,
.portada-proyecto > div a,
.caso-estudio > div,
.caso-estudio > div a {
	color: #3E4C5B;
	font-weight: 300;
	text-decoration: none;
}

.portada-proyecto--etiquetas {
	margin-bottom: 20px;
}

.portada-proyecto--texto > h2 {
	line-height: 1.1;
	margin-bottom: 0;
}

.portada-proyecto--texto > h2 a {
	font-weight: 700;
}

.portada-proyectos-cierre {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 30px;
}

.portada-proyectos-cierre p {
	font-size: 24px;
	line-height: 1.2;
}

a.portada-proyecto--enlace {
	border: 1px solid #fff;
	color: #fff;
	display: block;
	font-weight: 500;
	padding: 24px 12px;
	margin: 60px auto 0;
	max-width: 480px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: all 0.3s ease 0s;
}

a.portada-proyecto--enlace:hover {
	background: #fff;
	color: #3E4C5B;
}

.portada-blog {
	background: #fff;
	padding: 50px 30px 150px;
}

.portada-blog > * {
	margin: 0 auto;
	max-width: 1000px;
}

.portada-blog h3 {
	font-size: 24px;
	margin-bottom: 100px;
	text-transform: uppercase;
}

.portada-blog > span {
	display: block;
}

.portada-blog > a {
    display: block;
    font-size: 24px;
    text-decoration: none;
    color: #00bec5;
    line-height: 1.2;
    margin: 10px auto 30px;
}

.portada-blog hr {
    margin: 0 auto 20px;
}

.portada-blog p {
	font-weight: 300;
}

.portada-testimonios {
	background: #f8f8f8;
	width: 100%;
}

.portada-testimonios > div {
	align-self: stretch;
	background: #f8f8f8;
	border: 0;
	color: #fff;
	display: flex;
	flex-flow: column wrap;
	font-size: 24px;
	justify-content: center;
	min-height: 500px;
	text-align: center;
	padding: 30px;
	width: 100%;
}

.portada-testimonios > div.flexslider {
	flex-flow: row wrap;
}

.portada-testimonios > div.flexslider .flex-control-nav {
	align-self: flex-end;
	width: auto;
}

.portada-testimonios > div:first-of-type {
	box-shadow: inset 0 0 0 1000px rgba(0,0,0,.3);
}

.portada-testimonios > div:first-of-type p {
	text-align: left;
}

.portada-testimonios > div:first-of-type a {
	align-self: flex-start;
	background: #00BEC5;
	color: #fff;	
	font-size: 16px;
	margin: 40px 0 20px;
	padding: 10px 30px;
	text-decoration: none;
	text-transform: uppercase;
	transition: all 0.3s ease 0s;
}

.portada-testimonios > div:first-of-type a:hover {
	background: #fff;
	color: #00BEC5;
}

.portada-testimonios > div ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.portada-testimonios ul.slides li img {
	margin: 30px 0;
	width: 150px;
}

.portada-testimonios .testimonio--texto {
	display: block;
	color: #3E4C5B;
	font-size: 32px;
	line-height: 1.2;
	text-align: left;
}

.portada-testimonios .testimonio--autor {
	display: block;
	color: #3E4C5B;
	font-weight: 300;
	font-size: 24px;
	line-height: 1.2;
	text-align: left;
}

.site-content {
    background: #f8f8f8;
}

.footer-logos {
	align-items: center;
	background: #fff;
	justify-content: center;
	padding: 40px 0;
}

.flexslider-logos {
    position: relative;
}

.flexslider-logos .slides-logos > li {
    width: 150px;
}

.flexslider-logos .slides-logos {
	align-items: center;
    display: flex;
	flex-flow: row wrap;
	list-style: none;
    margin: 0;
    padding: 0;
}

.flex-control-nav a:focus {
	outline: none;
}

.footer-logos img {
	margin: 0 20px;
	max-width: 110px;
}

.footer-contacto {
    background: #fff;
    padding: 16px;
}

.footer-contacto--texto {
	align-items: center;
	border: 10px solid #00BEC5;
	color: #00BEC5;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.2;
	padding: 60px 30px;
}

.footer-contacto--texto a {
	border: 1px solid #00BEC5;
	font-size: 22px;
	margin-top: 30px;
	padding: 20px 30px;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

.footer-contacto--texto a:hover {
	background: #00BEC5;
	color: #fff;
}

.site-footer .menu {
	list-style: none;
	margin: 0;
	padding: 0;
    text-transform: uppercase;
}

.site-footer .sub-menu {
	display: none;
}

.site-footer a {
	color: #fff;
	text-decoration: none;
}

.site-footer a:hover {
	color: #00BEC5;
}

.site-footer .menu a {
	letter-spacing: 0.5px;
	line-height: 24px;
}

.site-footer-elements {
	font-weight: 300;
	justify-content: flex-start;
}

.site-footer-elements > div {
	margin-bottom: 20px;
}

.site-footer-elements > div:not(:last-of-type) {
	margin-right: 60px;
}

.rrss-links {
	margin: 50px auto;
	max-width: 100px;
	width: 100%;
}
.rrss-links img {
    width: 20px;
}

@media only screen and (min-width: 900px) {
	.header-extra .subtitulo-header {
		font-size: 24px;
		line-height: 32px;
		padding: 0 90px;
		text-align: left;
	}
}

@media only screen and (min-width: 600px) {
	.wrapper-in {
		padding: 0 90px;
	}

	.site-header.wrapper-in {
		padding: 0 20px;
	}

	.header-bg h1 {
		font-size: 64px;
	}

	.portada-bloques {
		justify-content: space-between;
	}

	.portada-bloques {
		margin-bottom: 0;
	}

	.portada-proyecto > div,
	.portada-testimonios > div {
		width: 50%;
	}


	.portada-proyectos > div:nth-of-type(2) .portada-proyecto > div:last-of-type {
		order: 0;
	}

	.portada-proyecto--texto {
		padding: 90px;
	}

	.portada-proyectos-cierre {
		padding: 50px 0;
	}
	
	.portada-testimonios > div {
		padding: 90px;
	}

	.portada-blog {
		padding: 50px 0 150px;
	}

	.portada-proyecto--etiquetas {
		margin-bottom: 0;
	}

	.footer-contacto--texto a {
		margin-top: 0;
	}

	.site-footer {
		padding: 90px 90px 120px;
	}

	.site-footer-elements > div {
		margin-bottom: 0;
	}

	.site-footer-elements > div.logo {
		margin-right: 90px;
	}
}

@media only screen and (min-width: 900px) {
	.site-footer .menu {
		width: 100%;
	}
}

/* Contenidos interiores */

.page-template-page-contacto .site-content .wrapper-in {
    padding: 0;
}

.page-template-page-contacto .entry-content,
.page-template-page-contacto .wp-block-column > figure {
	margin-top: 0;
}

.page-template-page-contacto .has-2-columns .wp-block-column:last-child {
    padding: 20px;
}

.proyecto-sector-destacado {
	padding: 20px 0;
}

.page-template-page-contacto .contact-form h3,
.page-template-page-servicios h3,
.proyecto-sector-destacado h3,
.page-template-page-nosotros h3 {
	color: #00BEC5;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: -0.14px;
	margin: 0;
	padding: 0 20px;
}

.page-template-page-contacto .contact-form h2,
.page-template-page-servicios h2,
.proyecto-sector-destacado h2,
.page-template-page-nosotros h2 {
	color: #3E4C5B;
	font-size: 48px;
	font-weight: 500;
	line-height: 60px;
	letter-spacing: -1.11px;
	margin: 0;
	padding: 0 20px;
}

.page-template-page-contacto .contact-form p,
.page-template-page-servicios .entry-content p,
.page-template-page-servicios .sectores p,
.page-template-page-servicios .proyectos p,
.page-template-default .entry-content p,
.page-template-page-nosotros .entry-content p {
	font-size: 16px;
	font-weight: 300;
	line-height: 28px;
	letter-spacing: -0.47px;
}

.page-template-page-contacto .contact-form input[type="text"],
.page-template-page-contacto .contact-form input[type="email"],
.page-template-page-contacto .contact-form textarea {
	border-radius: 0;
	font-size: 14px;
	font-weight: 300;
	padding: 22px 32px;
}

.page-template-page-contacto .contact-form textarea {
	height: 9em;
}

.page-template-page-contacto .contact-form button[type="submit"] {
	background-color: #00BEC5;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2px;
	padding: 22px 32px;
	text-transform: uppercase;
	transition: all 0.3s ease 0s;
	width: 100%;
}

.page-template-page-contacto .contact-form button[type="submit"]:hover {
	background-color: #fff;
	color: #00BEC5;
}


.page-template-page-contacto label {
	font-size: 12px;
	font-weight: 300;
}

.page-template-page-contacto .sedes {
	font-weight: 300;
	margin: 40px auto 100px;
	max-width: 1000px;
	width: 100%;
}

.page-template-page-contacto .sedes > div {
	align-items: center;
	display: flex;
	width: 80%;
	margin: 0 auto 40px;
}

.page-template-page-contacto .sedes img {
	margin-right: 40px;
}

.page-template-page-servicios .servicios,
.page-template-page-servicios .sectores,
.page-template-page-servicios .proyectos {
    flex-flow: column wrap;
}

.page-template-page-servicios .wrapper-in.content-area {
	padding: 0 20px;
}

.lista-servicios,
.lista-sectores {
    display: flex;
    flex-flow: row wrap;
    margin: 40px auto;
}

.lista-servicios {
	justify-content: space-between;
}

.lista-servicios > div {
	align-self: flex-start;
	align-items: flex-start;
	justify-content: flex-start;
	flex-flow: column wrap;
	font-weight: 300;
	line-height: 19px;
    margin: 10px auto;
	min-height: 400px;
	padding: 40px;
    width: 90%;
}

.lista-servicios img {
	margin: 0 30px 40px 0;
	width: 100px;
}

.lista-servicios > div > div {
	display: flex;
	flex-flow: column wrap;
}

.lista-servicios .servicio-titulo {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
}

.lista-servicios > div a {
	border: 1px solid #fff;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	margin: auto auto 0;
	padding: 22px;
	text-decoration: none;
	text-transform: uppercase;
	transition: all 0.3s ease 0s;
}

.lista-servicios > div a:hover {
	background: #3E4C5B;
	border-color: #3E4C5B;
}

.lista-servicios a > span::before {
	background: url('img/ico-sobre.png') no-repeat center center / contain;
	content: '';
	display: inline-block;
	height: 14px;
	margin-right: 10px;
	width: 21px;
}

.sectores h3, 
.sectores h2 {
	padding: 0 20px;
}

.lista-sectores > div > div {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
    width: 100%;
}

.lista-sectores > div > div:last-of-type {
	padding: 20px;
}

.lista-sectores img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.lista-sectores .sector-titulo {
	font-size: 24px;
	font-weight: 500;
}

.lista-sectores p.sector-texto {
	font-size: 16px;
	line-height: 19px;
}

.lista-sectores a {
	border: 1px solid #00BEC5;
	color: #00BEC5;
	font-size: 16px;
	font-weight: 500;
	margin: 40px auto 0;
	padding: 22px;
	text-decoration: none;
	text-transform: uppercase;
	transition: all 0.3s ease 0s;
}

.lista-sectores a:hover {
	background: #3E4C5B;
	border-color: #3E4C5B;
}

.lista-sectores a > span::before {
	background: url('img/ico-flecha.png') no-repeat center center / contain;
	content: '';
	display: inline-block;
	height: 16px;
	margin-right: 10px;
	width: 17px;
}

.proyecto-sector-destacado .portada-proyecto--texto {
	background-color: #BEE8FF;
}

.page-template-page-servicios .proyectos {
    background: #3E4C5B;
	color: #fff;
	padding: 20px;
}

.page-template-page-servicios .proyectos h2 {
	color: #fff;
	font-size: 48px;
	font-weight: 500;
	line-height: 60px;
	letter-spacing: -1.11px;
	margin: 0;
}

.page-template-page-servicios .proyectos > img {
	margin: 30px 0;
}

.page-template-page-servicios .footer-logos {
    background: #f8f8f8;
}

ul.ticks {
	font-weight: 300;
	list-style-image: url('img/check-list.png');
	margin: 0;
}

ul.ticks li {
	margin-bottom: 10px;
}

.proyecto-sector-destacado .portada-proyecto--texto > h2 {
	font-size: 24px;
	margin-bottom: 0;
	padding: 0;
	text-align: left;
}

.caso-estudio {
	margin: 40px 0 0;
	width: 100%;
}

.page-template-page-casos .site-main {
    padding: 30px 0 100px;
}

.caso-estudio .portada-proyecto--texto {
    padding: 30px;
    min-height: 450px;
	flex-flow: column wrap;
	justify-content: flex-start;
}

.caso-estudio a.portada-proyecto--enlace {
    margin: auto auto 0px;
}

@media only screen and (min-width: 900px) {
	.caso-estudio .portada-proyecto--texto {
		padding: 30px 90px;
	}
}


@media only screen and (min-width: 600px) {
	.page-template-page-contacto .has-2-columns .wp-block-column:last-child {
		padding: 100px 90px 0;
	}

	.page-template-page-servicios .wrapper-in.content-area {
		padding: 0 90px;
	}

	.page-template-page-contacto .contact-form h2 {
		font-size: 64px;
		line-height: 80px;
	}

	.lista-servicios > div {
		margin: 0 0 40px 0;
		min-height: 600px;
		width: 48%;
	}

	.page-template-page-servicios .sectores h3, 
	.page-template-page-servicios .sectores h2 {
		padding: 0 90px;
	}

	.lista-sectores > div > div:last-of-type {
		padding: 70px 90px;
	}

	.proyecto-sector-destacado {
		padding: 70px 0;
	}

	.proyecto-sector-destacado h2,
	.proyecto-sector-destacado h3 {
		padding: 0 90px;
	}

	.proyecto-sector-destacado h2 {
		margin-bottom: 30px;
	}

	.page-template-page-servicios .proyectos {
		padding: 60px 90px;
	}

	.lista-sectores > div > div {
		height: 500px;
		width: 50%;
	}

	.lista-sectores > div:nth-of-type(2n) > div:last-of-type {
		order: -1;
	}

	.page-template-page-contacto .contact-form h3,
	.page-template-page-nosotros h3,
	.page-template-page-contacto .contact-form h2,
	.page-template-page-nosotros h2 {
		padding: 0;
	}

	.page-template-page-servicios h2,
	.page-template-page-servicios h3 {
		padding: 0;
	}

	.caso-estudio {
		width: 48%;
	}

	.page-template-page-contacto .sedes > div {
		margin: 0;
		width: 50%;
	}
}

@media only screen and (min-width: 960px) {
	.lista-servicios > div {
		padding: 50px 70px;
	}

	.lista-servicios > div > div {
		flex-flow: row nowrap;
	}

	.lista-sectores > div > div {
		flex-flow: column wrap;
	}
}

.header-caso > div {
	background-color: #3E4C5B;
	min-height: 300px;
	width: 100%;
}

.header-caso > div:first-of-type {
	position: relative;
}

.header-caso > div:first-of-type img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}

.header-caso > div:last-of-type {
    color: #fff;
    padding: 72px 20px;
}

@media only screen and (min-width: 600px) {
	.header-caso > div {
		align-self: stretch;
		min-height: 580px;
		width: 50%;
	}

	.header-caso > div:last-of-type {
		padding: 72px 90px;
	}
}

.page-template-page-blog .site-content,
.archive .site-content,
.single .site-content {
	background: #ffffff;
}

.noticias-etiquetas {
    max-width: 1024px;
    position: absolute;
    bottom: 20px;
    margin: 0 auto;
    left: 0;
    right: 0;
}

.noticias,
.single .entry-content {
    max-width: 1024px;
	margin: 80px auto;
	width: 100%;
}

.page-template-page-blog .header-bg h1 {
	color: #3E4C5B;
	text-transform: uppercase;
}

.noticias .fl {
    flex-flow: column wrap;
}

.noticias h2 {
	color: #00bec5;
	margin: 0;
}

.noticias hr {
	width: 100%;
}

.noticias p {
    font-weight: 300;
}

.noticias a {
	text-decoration: none;
}

.tag-cloud-link,
.noticias-etiquetas a {
    background: #00BEC5;
	color: #fff;
	display: inline-block;
	margin: 4px;
    text-decoration: none;
    border-radius: 16px;
    padding: 0 8px;
    font-weight: 300;
}

.tag-cloud-link:hover, 
.tag-cloud-link:visited,
.tag-cloud-link:active,
.noticias-etiquetas a:hover,
.noticias-etiquetas a:visited,
.noticias-etiquetas a:active {
    color:  #fff;
}

.single .entry-content {
	font-weight: 300;
	padding: 0 20px;
}

.single-fecha {
    display: block;
    font-weight: 700;
}

.single .entry-content ul {
	font-weight: 300;
	list-style-image: url('img/check-list.png');
	margin: 0;
}

.single .entry-content ul li {
	margin-bottom: 10px;
}

.valores,
.historia,
.equipo {
	flex-flow: column wrap;
}

.equipo {
	background: #fff;
	padding-top: 40px;
}

.equipo p {
	font-weight: 300;
	margin: 40px 0;
}

.equipo > div {
    display: flex;
    flex-flow: row wrap;
    justify-content: start;
}

.equipo .ficha {
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	color: #fff;
	padding: 10px;
    width: 275px;
    height: 275px;
	margin: 10px 10px 40px 10px;
    position: relative;
}

.equipo-img,
.equipo-img-hover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
	top: 0;
	left: 0;
}

.equipo-img-hover {
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.equipo .ficha:hover .equipo-img-hover {
	display: block;
	opacity: 1;
	transition: opacity 1s ease-in-out;
}

.equipo .ficha::before {
	content: '';
    position:absolute;
    top:0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 100%);
    z-index: 1;
  }

.equipo .ficha > span {
	max-width: 200px;
	padding: 0 0 10px 10px;
	z-index: 2;
}

.historia {
	margin: 0 auto;
	width: 80%;
}

.historia p {
	font-size: 1em;
	line-height: 1.75em;
	border-top: 3px solid;
	border-image: linear-gradient(to right, #3E4C5B 0%, #00BEC5 100%);
	border-image-slice: 1;
	border-width: 6px;
	margin: 0 auto;
	padding: 40px 40px 40px 80px;
	counter-increment: section;
	position: relative;
	color: #34435e;
	max-width: 650px;
	min-height: 200px;
	font-weight: 300;
}

.historia p:before {
	  content: counter(section);
	  position: absolute;
	  border-radius: 50%;
	  padding: 10px;
	  height: 100px;
	  width: 100px;
	  background-color: #fff;
	  text-align: center;
	  line-height: 1em;
	  color: #00BEC5;
	  font-size: 24px;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  font-weight: 500;
}


.historia p:nth-child(odd) {
	border-right: 6px solid;
	padding-left: 0;
	padding-right: 70px;
}

.historia p:nth-child(odd):before {
	left: 100%;
	margin-left: -50px;
}

.historia p:nth-child(even) {
	border-left: 6px solid;
	padding-right: 0;
}
.historia p:nth-child(even):before {
	right: 100%;
	margin-right: -50px;
}

.historia p:first-child {
	border-top: 0;
	border-top-right-radius: 0;
	border-top-left-radius: 0;
}

.historia p:last-child {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.lista-valores {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	padding: 60px 0 100px;
	width: 100%;
}

.card {
    height: 450px;
    width: 275px;
    transform-style: preserve-3d;
    perspective: 600px;
	transition: .5s;
	position: relative;
	margin-bottom: 30px;
}

.card:hover .card-front {
	transform: rotateX(-180deg);
}

.card:hover .card-back {
	transform: rotateX(0deg);
}


.card-front {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
    backface-visibility: hidden;
    transform: rotateX(0deg);
	transition: .5s;
	text-align: center;
	text-transform: uppercase;
	font-size: 24px;
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	padding: 0 20px;
}

.card-front img {
	width: 150px;
	margin-top: 50px;
	height: 200px;
	object-fit: contain;
}

.card-back {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #00BEC5;
    backface-visibility: hidden;
    transform: rotateX(180deg);
    transition: .5s;
    color: #fff;
	text-align: left;
	font-size: 14px;
	line-height: 22px;
	padding: 20px 10px;
}

.que-no-es {
	align-items: center;
	border: 1px solid #00bec5;
	display: flex;
	justify-content: center;
	margin: 0px auto 80px;
	min-height: 80px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	width: 100%;
}

.que-no-es:hover {
	background: #00bec5;
	color: #fff;
}

.post-template-single-caso-de-estudio ul.galeria {
    list-style: none;
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
}

.post-template-single-caso-de-estudio .galeria li {
    width: 33%;
    height: 300px;
}

.post-template-single-caso-de-estudio .galeria li img {
    width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-template-single-caso-de-estudio .galeria-fotos {
	background: #f8f8f8;
	padding: 90px 90px 30px;
	text-transform: uppercase;
}

.post-template-single-caso-de-estudio .site-main {
	align-items: flex-start;
	background: #f8f8f8;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	padding: 40px 20px;
}

.site-main .caso-columna-izq {
	border-right: 0;
	justify-content: flex-start;
	width: 100%;
}

.site-main .caso-columna-der {
	width: 100%;
}

.caso-card {
	align-self: stretch;
	background: #fff;
	margin-bottom: 30px;
	margin-right: 0;
    padding: 40px;
	width: 100%;
	font-weight: 300;
	font-size: 16px;
	line-height: 19px;
}

@media only screen and (min-width: 600px) {
	.site-main .caso-columna-izq {
		border-right: 1px solid #d8d8d8;
		width: calc(100% - 270px);
	}

	.site-main .caso-columna-izq > p {
		padding-right: 50px;
	}
	
	.site-main .caso-columna-der {
		width: 270px;
	}

	.lista-valores {
		justify-content: space-between;
	}

	.card {
		margin-bottom: 0;
	}
	
	.caso-card {
		width: 45%;
		margin-right: 30px;
		margin-bottom: 0;
	}

	.historia {
		width: 100%;
	}
	
	.single .entry-content {
		padding: 0;
	}

	.post-template-single-caso-de-estudio .site-main {
		padding: 40px 90px;
	}
}

.caso-card h2,
.caso-columna-der h2 {
	color: #3E4C5B;
	font-size: 24px;
	line-height: 1.2;
	text-transform: uppercase;
}

.caso-card img {
	display: block;
	height: 135px;
	margin: 20px auto 40px;
}

.header-caso h1 {
    font-size: 64px;
    line-height: 1;
    margin: 0;
}

.header-caso p {
	font-weight: 300;
}

.header-caso > span {
	display: block;
	font-weight: 500;
}

.header-caso span ~ img {
    margin: 80px 0 0;
}

.caso-columna-der {
    padding-left: 30px;
}

.caso-columna-der h2 + div {
	display: block;
}

.caso-columna-der .portada-proyecto--etiquetas a {
	background:#3E4C5B;
	border-radius: 16px;
	color:#fff;
	display: inline-block;
	font-weight: 300;
	font-size: 12px;
	margin: 0 8px 8px 0;
	padding: 2px 8px;
	text-decoration: none;
}

#menu-movil {
	display: none;
}

.button_container {
	display: none;
	position: fixed;
	right: 10px;
	top: 10px;
	height: 45px;
	width: 45px;
	cursor: pointer;
	z-index: 100;
	transition: opacity .25s ease;
	border-radius: 100%;
	margin: 0 auto 20px;
}

.button_container:hover {
	opacity: .7;
}

.button_container.active .top {
	transform: translateY(10px) translateX(0) rotate(45deg);
	background: #fff;
}

.button_container.active .middle {
	opacity: 0;
	background: #fff;
}

.button_container.active .bottom {
	transform: translateY(-6px) translateX(0) rotate(-45deg);
	background: #fff;
}

.button_container span {
	background: #fff;
	border: none;
	height: 4px;
	width: 25px;
	position: absolute;
	top: 12px;
	left: 10px;
	transition: all .35s ease;
	cursor: pointer;
}

.button_container span:nth-of-type(2) {
	top: 20px;
}

.button_container span:nth-of-type(3) {
	top: 28px;
}

#masthead.site-header.header-dark .button_container span {
	background: #3E4C5B;
}

.overlay {
    position: fixed;
    background: #00BEC5;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s, visibility .35s, height .35s;
    overflow: auto;
}

.overlay.open {
    opacity: 1;
    visibility: visible;
    height: 100%;
    z-index: 9;
}

.overlay.open li {
    animation: fadeInRight .5s ease forwards;
	animation-delay: .35s;
}

.overlay.open li:nth-of-type(2) {
    animation-delay: .4s;
}

.overlay.open li:nth-of-type(3) {
    animation-delay: .45s;
}

.overlay.open li:nth-of-type(4) {
    animation-delay: .50s;
}

.overlay.open li:nth-of-type(5) {
    animation-delay: .55s;
}

.overlay.open li:nth-of-type(6) {
    animation-delay: .60s;
}

.overlay.open li:nth-of-type(7) {
    animation-delay: .65s;
}

.overlay.open li:nth-of-type(8) {
    animation-delay: .70s;
}

.overlay.open li:nth-of-type(9) {
    animation-delay: .75s;
}

.overlay nav {
    position: relative;
    top: 0;
}

.overlay ul {
    list-style: none;
    padding: 0;
    margin: 78px 0 0 0;
    display: inline-block;
    position: relative;
	height: 100%;
	width: 100%;
}

.overlay ul ul {
	margin-top: 25px;
}

.overlay ul li {
    display: block;
	height: auto;
	margin-bottom: 25px;
	padding-left: 33px;
    min-height: 30px;
    position: relative;
    opacity: 0;
}

.overlay ul li a {
    display: block;
    position: relative;
    color: #3e4c5b;
	font-size: 24px;
	font-weight: bold;
    line-height: 1.2;
    text-decoration: none;
    overflow: hidden;
}

.overlay ul li a:hover {
	color: #fff;
}

.overlay ul li a:hover:after, 
.overlay ul li a:focus:after, 
.overlay ul li a:active:after {
    width: 100%;
}

.overlay ul li.menu-black {
	background-color: #1a1a1a;
}

.overlay ul li.menu-black a {
	color: #fcd803;
	padding: 40px 0;
}

.overlay .lang-item-first {
    border-top: 1px solid #3e4c5b;
    padding-top: 16px;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

@media only screen and (max-width: 767px) {
	.site-header .menu-idioma-container,
	.main-navigation,
	#menu-movil {
		display: none;
	}
	
	#menu-movil.open,
	.button_container {
		display: block;
	}

}

.blog-relacionadas {
    background: #fff;
    padding: 20px;
}

.blog-relacionadas h3 {
	color: #3e4c5b;
	font-size: 24px;
	line-height: 1;
	text-transform: uppercase;
}

.blog-relacionadas--grid {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

.blog-relacionadas--grid > div {
	margin: 50px 0 20px;
	width: 100%;
}

.blog-relacionadas--grid > div > * {
	display: block;
}

.blog-relacionadas--grid > div > a {
	color: #00BEC5;
	font-size: 24px;
	line-height: 1.2;
	margin: 8px 0 24px;
	text-decoration: none;
}

@media only screen and (min-width: 600px) {
	.blog-relacionadas {
		padding: 90px;
	}

	.blog-relacionadas--grid {
		justify-content: space-between;
	}

	.blog-relacionadas--grid > div {
		width: 30%;
	}
}

.flexslider-gallery {
	position: relative;
}

figcaption {
	text-align: center;
    font-style: italic;
}

.icarto-letter {
	background-color: #d5dedf;
	border-radius: 20px;
	margin: 20px;
	padding: 20px;
}