/*
Theme Name: Iterla
Author: DonPig
Author URI: https://donpig.com/
Description: Plantilla de wordpress para el sitio Mileto.com
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: DonPigTemplate
*/

:root{
	--nnavy:#002171;
	--nteal:#20B2AA;
	--ngray:#CCC;
}

body{
	font-family: Montserrat, Helvetica, sans-serif;
	text-align: center;
	margin:0 0 0 0;
	cursor:default;
	font-size: max(1.2vw,14px);
	opacity: 1;
	animation: fadeIn 1s 1;
}
@keyframes fadeIn{
	from{ opacity: 0; }
	to{ opacity: 1; }
}
input[type="button"],button{
	border:none;
	background:none;
	font-size:1em;
	cursor:pointer;
}
img{
	border:none;
}
a{
	color: inherit;
	text-decoration: none;
}
*[onclick],*[href]{
	cursor: pointer;
}
textarea{
	resize:none;
}
.clr{
	clear:both;
}
.columnas2{
	-webkit-column-count:2;
	-moz-column-count:2;
	column-count:2;
}
.columnas3{
	-webkit-column-count:3;
	-moz-column-count:3;
	column-count:3;
}
.columnas4{
	-webkit-column-count:4;
	-moz-column-count:4;
	column-count:4;
}
.columnas5{
	-webkit-column-count:5;
	-moz-column-count:5;
	column-count:5;
}
.grid2{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 0;
}
.grid3{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 0;
}
.grid4{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 0;
}
.grid5{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 0;
}
.flex{
	display: flex;
	flex-flow: row wrap;
	align-content: space-between;
	justify-content: space-between;
}
.flex>*{
	flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
    text-align: center;
}

.site_error>div{
	margin: 0 auto;
	padding: 0.5em;
	color: #C44;
	border:#C44 solid 1px;
	background: #EDD;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_error{
	position: fixed;
	top:-20em;
	opacity: 0;
	z-index: 10;
	width: 100%;
	
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

.site_success>div{
	margin: 0 auto;
	padding: 0.5em;
	color: #494;
	border:#494 solid 1px;
	background: #DED;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_success{
	position: fixed;
	top:-20em;
	opacity: 0;
	z-index: 10;
	width: 100%;
	
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

@keyframes siteError{
	0%{opacity:1;top:5em;}
	90%{opacity:1}
	99%{opacity:0;top:5em;}
	100%{opacity:0;top:-20em;}
}

.hide_me{
	height: 0;
	width: 0;
	overflow: hidden;
	opacity: 0;
	font-size: 1px;
}

a,input,button,*[onclick],*[href]{
	transition: all .25s ease-in-out;
	cursor: pointer;
}

h1{
	font-family: Lato, Helvetica, sans-serif;
} 

p,li{
	text-align: justify;
}

/* GENERALES */

header{
	position: fixed;
	top:0;
	left:0;
	right: 0;
	z-index: 10;
	color:white;
	background: rgba(0,10,65,0.9);
	display: flex;
	justify-content: space-between;
	align-content: space-between;
	align-items: center;
	padding: 0.5em 5%;
	backdrop-filter: blur(1px);
}
header *:is(menu,menu ul){
	display: flex;
	justify-content: space-between;
	align-content: space-between;
	align-items: center;
	margin: 0;
	padding: 0;
}
menu>div>ul>li{
	display: block;
	margin: 0;
	padding: 0 1.5em;
	border-right:rgba(255,255,255,0.5) solid 1px;
	line-height: 2em;
}
menu>div>ul>li:last-child{
	border-right: none;
}
menu>div>ul>li:has(img){
	padding: 0;
}
#logo img{
	display: block;
	height: 5em;
}
menu img{
	height: 3em;
}
menu>div>ul>li>ul{
	display: block;
	height: 0;
	overflow: hidden;
}
menu>div>ul>li>ul>li{
	background: rgba(0,140,160,0.9);
	display: block;
	text-align: center;
	font-size: 0.8em;
	padding: 0.5em 2em;
}
menu>div>ul>li:hover>ul{
	overflow: visible;
}
menu>div>ul>li>ul a:hover{
	color: var(--nnavy);
}
#content{
	min-height: 90vh;
}
footer{
	display: flex;
	justify-content: space-between;
	align-content: space-between;
	align-items: center;
	background: var(--nnavy) url(images/footer.jpg) center center;
	background-size: cover;
	color: white;
	padding: 2em 5%;
	text-align: left;
	font-size: 0.7em;
	line-height: 2em;
}
footer>div{
	display: flex;
	justify-content: space-between;
	align-content: space-between;
	align-items: center;
}
footer ul{
	text-align: right;
	border-right:white solid 1px;
	margin: 0 2em 0 0;
	padding: 0 2em 0 0;
}
footer address{
	text-align: right;
	line-height: 1.6em;
	font-style: normal;
}
footer li{
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}
#disclaimer{
	color: var(--nnavy);
	background: #EEE;
	padding: 1em 5%;
	font-size: 0.7em;
}
#disclaimer p{
	margin-top: 0;
	text-align: left;
}
menu a:hover,footer a:hover{
	color: var(--nteal);
}

#submenu{
	position: fixed;
	top:6em;
	background: rgba(0,90,110,0.85);
	backdrop-filter: blur(1px);
	padding: 0.5em 5%;
	text-align: left;
	color: white;
	left:0;
	right:0;
	z-index: 9;
	box-shadow: rgba(0,0,0,0.5) 0 0 0.5em;
	padding-left: calc(50% + (var(--pos) * 5%));
}
#submenu span,#submenu a{
	display: inline-block;
	margin-right: 2em;
}
#submenu span:hover,#submenu a:hover{
	color: var(--nnavy);
}
#page_header{
	color: white;
	text-align: left;
}
#page_header h1{
	margin: 0;
	font-size: 2.5em;
	line-height: 1.5em;
	font-weight: normal;
}
#page_header h1 b{
	font-size: 1.25em;
	font-weight: bold;
	display: block;
	font-family: Montserrat,Helvetica,sans-serif;
}
#page_header_links{
	display: flex;
	justify-content: start;
	align-content: start;
	align-items: center;
	gap:1em;
	color: white;
	font-size: 1.2em;
	font-family: Lato,Avenir,Helvetica,sans-serif;
}
#page_header_links a{
	display: block;
	border-radius: 0.25em;
	padding: 0.35em 1em;
}
#page_header_links a.solid{
	background: var(--nteal);
}
#page_header_links a.outline{
	border: var(--nteal) solid 1px;
}
#page_header_links a.outline.clear{
	color: var(--nteal);
}
#page_header_links a.outline i.fa{
	color: var(--nteal);
	margin-left: 0.5em;
}
#page_header_links a.solid:hover{
	background: var(--nnavy);
}
#page_header_links a.outline:hover{
	color: var(--nteal);
}
#page_header_links a.outline.clear:hover{
	color: var(--nnavy);
	border-color: var(--nnavy);
}
#page_header_links a.outline.clear:hover i.fa{
	color: var(--nnavy);
}
h3 b{
	font-weight: 700;
}
#why_us{
	counter-reset: whycards;
}
.whyus_card{
	background: white;
	padding: 2em;
	color: var(--nnavy);
	border-left: var(--nteal) solid 6px;
	box-shadow: rgba(0,0,0,0.3) 0 0.25em 0.5em;
	text-align: left;
}
.whyus_card h3{
	font-size: 1.5em;
	width: 70%;
	text-wrap: balance;
	margin: 0;
	line-height: 1.25em;
	height: 4em;
}
.whyus_card p{
	margin: 0;
	line-height: 1.4em;
}
.whyus_card h3:before{
	content: '0' counter(whycards);
	counter-increment: whycards;
	display: block;
	height: 2em;
	line-height: 1em;
	position: absolute;
	color: white;
	font-size: 6em;
	width: 150%;
	text-align: right;
	margin-top: 0.2em;
	text-shadow: var(--nteal) 0 0 2px,var(--nteal) 0 0 2px,var(--nteal) 0 0 2px,var(--nteal) 0 0 2px,var(--nteal) 0 0 2px,var(--nteal) 0 0 2px;
	mix-blend-mode: multiply;
	-webkit-mask-image: linear-gradient(to right, transparent 65%, black 95%);
  	mask-image: linear-gradient(to right, transparent 65%, black 95%);
	translate:0 -0.45em;
	font-weight: 800;
}
#pillars h2{
	background: url(images/pleca_izq.svg) left center no-repeat,url(images/pleca_der.svg) right center no-repeat;
	background-size: 35% auto,35% auto;
}
.pillar{
	padding: 2em;
}
.pillar h4{
	margin: 0;
}
.pillar h3{
	margin: 0;
}
.pillar p{
	font-size: 0.85em;
	margin: 0;
}
#pillarsColumns{
	background-size: 100% 101%;
}
#empower h3{
	margin: 0;
}
#empower h2{
	margin: 0;
}
#empower p{
	margin:0 0 1em 0;
	line-height: 1.6em;
}

#about_main{
	background: linear-gradient(#F0F0F4,#F0F0F4) no-repeat center 65%;
	background-size: 100% 50%;
}
#about_main>div>div>div>p:is(:nth-child(1),:nth-child(2),:nth-child(3)){
	opacity: 1 !important;
	top:0 !important;
}

#home_services :is(p,li){
	text-align: left;
	text-align-last: left;
}
#home_services strong{
	font-size: 1.5em;
	display: block;
	text-align: center;
	text-align-last: center;
}

.news_carrousel{
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	margin-right: 1em;
}
.news_carrousel_controls{
	max-width:10%;
	color: var(--nteal);
	font-size: 4em;
}
.news_carrousel_controls i.fa:hover{
	color: var(--nnavy);
}
.news_carrousel_controls img{
	height: 3.5em;
}
.news_carrousel_controls img:hover{
	opacity: 0.6 !important;
}
.news_carrousel_contents{
	display: flex;
	justify-content: start;
	align-content: start;
	align-items: center;
	gap:1em;
	overflow: hidden;
	padding: 1em 0;
	margin: 0 1em;
}
.new{
	background: white;
	min-width: 50%;
	box-sizing: border-box;
	padding: 2em;
	text-align: left;
	min-height: 20em;
	margin: 0;
	box-shadow: rgba(0,0,0,0.25) 0 0.25em 0.5em;
	color: var(--nnavy);
	transition:all 0.75s ease,box-shadow 0.25s ease,background 0.25s ease;
	position: relative;
	left: 0;
}
.new span{
	color: var(--nteal);
	text-transform: uppercase;
	display: block;
}
.new strong{
	font-size: 2em;
	display: block;
}
.new p{
	padding: 1em;
	border-left:#EEE solid 6px;
	font-size: 0.85em;
	line-height: 1.4em;
}
.new:hover{
	background: var(--nnavy);
	box-shadow: var(--nnavy) 0 0 0 0.5em;
	color: white;
	padding: 3em 2em 1em 2em;
}
.news_carrousel_dots{
	margin: 1em auto;
}
.news_carrousel_dots>span{
	display: inline-block;
	height: 4px;
	width: 2em;
	background: var(--ngray);
	margin: 0 2px;
}
.news_carrousel_dots>span.active{
	background: var(--nteal);
}
.news_carrousel_dots>span:hover{
	background: var(--nnavy);
}

.team_container{
	background: url(images/pleca_about.svg) center top no-repeat;
	background-size: 100% auto;
	color: var(--nnavy);
	min-height: 60vh;
}
.team_container h3{
	padding-left: 1rem;
	box-shadow: var(--nteal) 6px 0 0 inset;
	margin:0.5em 0;
}
.team_container span{
	color: var(--nteal);
}
.team_container p{
	padding-left: 1rem;
	text-align: justify;
}
.team_container figure{
	text-align: center !important;
	display: block;
	width: 100% !important;
}
.team_container figure img{
	display: block;
	margin: 0 auto;
	width: auto !important;
	border-radius: 500px;
}
.team_container li{
	text-align-last: left;
}

#services h2{
	background: url(images/pleca_derlong.svg) right 65% no-repeat;
	background-size: 65% auto;
}
.service{
	transition: all 0.25s ease;
	background-size: auto 100% !important;
	background-position: right top !important;
}
.service:hover{
	background-size: auto 120% !important;
}

#downloadTerms{
	background-size: 100% auto !important;
	height:15rem;
}
#downloadTerms:hover{
	background-size: 120% auto !important;
	font-size: 1.1em;
}

#contact h2{
	padding-left: 0.5em;
	padding-bottom: 0.25em;
}

#contact_form{
	position: relative;
	translate:-4em -3em;
	filter: drop-shadow(rgba(0,0,0,0.25) 0 0.25em 0.5em);
	box-shadow: white 0 2em 0 2em;
	max-height: 14em;
}
form input{
	box-sizing: border-box;
	padding: 0.5em;
	border: none;
	border-bottom: #CCC solid 2px;
	margin-bottom: 1.5em;
	color: inherit;
	font: inherit;
	width:100%;
}
form input::placeholder{
	color: #999;
}
form button{
	float: right;
	font:inherit;
	background: var(--nteal);
	color: white;
	padding: 0.25em 1.25em;
	border-radius: 0.2em;
}
form button:hover{
	background: var(--nnavy);
}


/* MODAL */

#modal{
	background:rgba(0,0,0,0.8);
	position:fixed;
	display:none;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:10;
	text-align:center;
}
#modal>div{
	background: var(--nteal);
	color: white;
	width: max(30%,300px);
	padding: 2em;
	box-shadow: rgba(0,0,0,0.5) 0 0.5em 1em;
	margin: 10vh auto;
}
#modal h2{
	color: var(--nnavy);
	text-align: left;
	text-transform: uppercase;
	margin: 0;
}
#modal>div>i.fa{
	float: right;
	color: var(--nnavy);
}

#reading{
	display: grid;
	text-align: left;
}
#reading p{
	text-align: left;
}

@media all and (min-width:960px){
	:is(#directors,#team,#advisors) .elementor-image-box-content{
		position: absolute;
		transition: all 0.25s ease;
		opacity: 0;
	}
	:is(#directors,#team,#advisors) img{
		padding: 0 !important;
	}
	:is(#directors,#team,#advisors) .elementor-image-box-wrapper:hover .elementor-image-box-content{
		opacity: 1 !important;
		translate:0 -24em;
	}
	:is(#directors,#team,#advisors) .elementor-image-box-wrapper:hover img{
		filter: grayscale(1) blur(3px);
		scale:0.9;
		opacity: 0.25 !important;
	}
	:is(#directors,#team,#advisors) .elementor-image-box-content *{
		opacity: 1 !important;
		top: 0 !important;
	}
	
	:is(#directors,#team,#advisors) .elementor-image-box-content p{
		font-size: 0.8em !important;
	}
}




#content h1,#content h2,#content h3,#content h4,#content h5,#content p,#content img,#content a,#content li{
	position: relative;
	top: 2em;
	opacity: 0;
	transition: all 0.5s ease-in-out;
}


/* RESPONSIVO */

.mobile_only{
	display:none !important;
}

@media all and (max-width:960px){
	body{
		font-size: 16px;
	}
	.mobile_only{
		display:block !important;
	}
	.desktop_only{
		display:none !important;
	}
	.columnas2,.columnas3{
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
	}
	.columnas4{
		-webkit-column-count:2;
		-moz-column-count:2;
		column-count:2;
	}
	.columnas5{
		-webkit-column-count:3;
		-moz-column-count:3;
		column-count:3;
	}
	.grid2,.grid3,.grid4,.grid5,.flex{
		display: block;
	}
	.grid2mobile{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.grid3mobile{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	#wpadminbar{ display:none; }
	
	header{
		height:70px;
		padding: 0 1em;
		background: var(--nnavy);
	}
	#menu_opener{
		float:left;
		margin: 10px 5px;
		width:48px;
		height:48px;
	}
	#menu_opener>div{
		height:2px;
		margin: 4px auto 0 auto;
		background: white;
		width: 36px;
	}
	#menu_opener>div:first-child{
		margin-top: 14px;
	}

	header>menu,header *:is(menu,menu ul){
		display: none;
	}
	header>menu{
		position: fixed;
		top: 60px;
		left:0;
		right:0;
		background: rgba(0,10,40,0.9);
		display: none;
		backdrop-filter: blur(3px);
	}
	menu>div>ul{
		display: block;
		padding: 2em;
	}
	menu>div>ul>li{
		display: block;
		width: auto;
		line-height: 3em;
		border-right: none;
	}
	menu>div>ul>li>ul{
		height: auto;
	}
	menu>div>ul>li:has(img){
		margin-top:1em;
		border-top:white solid 1px;
		padding-top: 1em;
	}
	menu>div>ul>li>ul>li{
		background: none;
		text-transform: uppercase;
		line-height: 2em;
	}
	#logo img{
		height: 65px;
	}
	#submenu{
		/*display: none;*/
		padding: 1em !important;
		display: flex;
		line-height: 2.5em;
		font-size: 0.8em;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		top: initial;
		text-align: center !important;
		text-transform: uppercase;
		flex-direction: column;
		box-sizing: border-box;
	}
	#submenu a{
		opacity: 1 !important;
		top:0 !important;
		margin: 0;
		padding: 0;
	}
	body:has(#submenu){
		margin-bottom: 8em;
	}
	#page_header h1{
		font-size: 6vw;
		text-align: center;
	}
	#page_header_links{
		justify-content: center;
		align-content: center;
	}
	#pillars h2{
		background: none;
	}
	footer{
		display: block;
		text-align: center;
		font-size: 1em;
	}
	footer>div{
		display: block;
	}
	footer ul{
		border:none;
		margin: 1em auto;
		padding: 0;
		text-align: center;
	}
	footer>address{
		text-align: center;
	}
	#disclaimer p{
		text-align: center;
	}

	#about_main{
		background: linear-gradient(0deg,#DDD,white);
	}
	.new{
		min-width: 97%;
	}
	#services h2{
		background: none;
	}
	.service #page_header_links{
		justify-content: start;
		align-content: start;
	}
	.service{
		box-shadow: rgba(0,20,60,0.5) 0 0 100vh 100vh inset;
	}
	#contact_form{
		translate:0 0;
		max-height: none;
		box-shadow: white 0 0 0 0.5em;
		padding: 2em;
	}
	#contact h2{
		color: white !important;
	}
}