@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;1,400&family=Open+Sans:wght@300;400;600;700;800&display=swap');

*{outline:none !important}
html{height:100%;}
body{
	font-family: 'Open Sans', sans-serif;
	font-size:16px;	
	color:rgb(109,109,112);
	min-width:320px;
	margin:auto;
	background:#fff;
	line-height: 1.42857143;
}

.container{line-height:normal;}

#header{
	margin:auto; 
	width:100%; 
	z-index:10;
	left: 0;
	top: 0;
	position: absolute;
	border-top: solid 5px #225ea2;
	-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;
}
#header .container{
	position:relative; 
	max-width: 1110px; 
	width: 100%; 
	padding: 9px 15px; 
	margin: auto;
	-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;
}


#logo{ text-align: center; width: auto; display: inline-block;}
#logo a{display: block;}
#logo img{display: block; width: 100%; height: auto;max-width: 528px;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}


/*Footer*/
#datFooter{
	background: url(../images/bgDatFooter.webp);
	position: relative;
}
#datFooter:before{
	display: block;
	content: '';
	position: absolute;
	width: 50%;
	height: 100%;
	background: url(../images/datFooter.webp) center no-repeat;
	left: 0;
	top: 0;
}
#datFooter .row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0;
}
#datFooter .cols {
	height: 406px;
	position: relative;
	/*align-items: stretch;
  	display: flex;
  	flex-direction: column;*/
  	flex-basis: 100%;
  	flex: 1;
}

#datFooter >.container>.row>.cols{
	padding: 35px 15px 0
}
#datFooter ul{
	display: inline-block;	
}
#datFooter li{
	list-style: none;
	font-weight: 300;
	line-height: normal;
	margin-bottom: 10px;
}
#datFooter .tit{
	font-size: 24px;
	font-family: "Lato", serif;
	color: #FFF;
}
#datFooter .tit b{
	display: block;
	line-height: normal;
	padding-bottom: 10px;
	border-bottom: solid 2px #FFF;
}
#datFooter li:not(.tit){
	padding-left: 33px;
}
#datFooter li.ico1{
	background: url('../images/icons/ico1.png') center left no-repeat;
}
#datFooter li.ico2{
	background: url('../images/icons/ico2.png') center left no-repeat;
}
#datFooter li.ico3{
	background: url('../images/icons/ico3.png') center left no-repeat;
}
#datFooter li.ico4{
	background: url('../images/icons/ico4.png') center left no-repeat;
}
#datFooter li.ico5{
	background: url('../images/icons/ico5.png') center left no-repeat;
}

#datFooter a{
	color: #ffffff;
}

#datFooter .cnt{
	max-width: 620px;
}

#frmContacto{
	max-width: 480px;
	margin: auto;
}
#frmContacto .tit{
	margin-bottom: 19px
}


#frmContacto .row{
	display: block;
	margin: 0 -5px;
}
#frmContacto div[class*="col-"]{
	padding: 0 5px;
	float: left;
}
#frmContacto .col-1{
	width: 100%;
}
#frmContacto .col-2{
	width: 50%;
}
#frmContacto .form-group{
	margin-bottom: 8px;
	position: relative;
}
#frmContacto .form-control{
	display: block;
	height: 43px;
	font-family: "Lato", serif;
	font-size: 13px;
	color: #fff;
	width: 100%;
	padding: 0 14px;
	background: none;
	border: solid 1px #fff;
}

#frmContacto textarea.form-control{
	height: 82px;
	padding-top: 8px;
	padding-bottom: 8px;
	margin-bottom: 15px;
}
#frmContacto .btns{
	text-align: center;
}

#frmContacto .btns input{
	display:inline-block; 
	height:43px; 
	background:#3d72a5 url('../images/bg.png'); 
	color:#FFF; 
	font-family:'Lato', sans-serif; 
	font-size:18px;
	width: 139px;
	text-align: center;
	padding: 8px 0 8px;
}
#frmContacto input[type=submit]:hover,
#frmContacto input[type=reset]:hover{opacity:.8}
#frmContacto .error input,
#frmContacto .error textarea{border:solid 1px #000; background:rgba(255,216,217,1.00); color:#000}
#frmContacto .text-right{text-align: right;}

form input::-webkit-input-placeholder {color:#fff; opacity:  1;}
form input:-moz-placeholder {color:#fff; opacity:  1;}
form input::-moz-placeholder {color:#fff; opacity:  1;}
form input:-ms-input-placeholder {color:#fff; opacity:  1;}
form textarea::-webkit-input-placeholder {color:#fff; opacity:  1;}
form textarea:-moz-placeholder {color:#fff; opacity:  1;}
form textarea::-moz-placeholder {color:#fff; opacity:  1;}
form textarea:-ms-input-placeholder {color:#fff; opacity:  1;}
form input:focus::-webkit-input-placeholder {opacity:0.5}
form input:focus:-moz-placeholder{opacity:0.5}
form input:focus::-moz-placeholder{opacity:0.5}
form input:focus:-ms-input-placeholder{opacity:0.5}
form textarea:focus::-webkit-input-placeholder{opacity:0.5}
form textarea:focus:-moz-placeholder{opacity:0.5}
form textarea:focus::-moz-placeholder{opacity:0.5}
form textarea:focus:-ms-input-placeholder{opacity:0.5}

#frmContacto .error input::-webkit-input-placeholder{color:#000}
#frmContacto .error textarea::-webkit-input-placeholder{color:#000}
#frmContacto .error input:-moz-placeholder{color:#000}
#frmContacto .error textarea:-moz-placeholder{color:#000}
#frmContacto .error input::-moz-placeholder{color:#000}
#frmContacto .error textarea::-moz-placeholder{color:#000}
#frmContacto .error input:-ms-input-placeholder{color:#000}
#frmContacto .error textarea:-ms-input-placeholder{color:#000}


#footer{
	text-align:center;
	font-size:11px;
	color:#FFF;
	background: #181818;
	line-height:18px;
	font-family:'Verdana', sans-serif;
	min-height: 52px; 
}
#footer .container{
	padding-top:17px; 
	padding-bottom:15px; 
	font-family:inherit; 
	font-size:inherit;
}
#footer .cols {
    float: left;
    width: 50%;
}
#footer .tfooter{
	color:#FFF;
	line-height:16px;	
	text-align:left;
	float:left;
}
#footer #powered {
	color:#FFF; 
    line-height: 16px;
    margin: 0 auto 0;
    width: auto;
	text-align:right;
	float:right
}
#footer a{	
	color:#FFF;	
}
#footer #powered a{background: url(../images/iconGlobal.webp) no-repeat center left;padding:3px 0 3px 20px}
#footer a:hover{
	text-decoration:underline;
}
#footer #powered a{color:#FFF;}



#menu{
	position: absolute;
	top: 50px;
	left: 50%;
	transform: translateX(-60%);
}
.menu{display:block; text-align:center; position:relative; }
.menu ul{display:block; margin:auto;}
.nav li{display:block; float: left; margin-right: 12px; position: relative}
.nav li:last-child{margin-right: 0}
.nav > li:before{
	display: block;
	content: "•";
	position: absolute;
	color:#2b99aa; 
	right: -6px;
	top: 4px;
}
.nav > li:last-child:before{
	display: none
}
.nav > li > a{
	z-index:5; 
	color:#1a5a8a; 
	font-size:15px;
	padding:3px 20px 5px; 
	font-family: 'Open Sans', serif; 
	display:block;
	font-weight: 700;
	transition: all 0.3s ease-in-out 0s;-moz-transition: all 0.3s ease-in-out 0s;-webkit-transition: all 0.3s ease-in-out 0s;
	line-height: normal;
	position: relative;
	text-transform: uppercase;
}
.nav li a:before{
	display: block;
	content: "";
	background: #003b82;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	opacity: 1;
	width: 0;
	transition: all 0.3s ease-in-out 0s;-moz-transition: all 0.3s ease-in-out 0s;-webkit-transition: all 0.3s ease-in-out 0s;
}
.nav li a:before{
	height: 3px;
	bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
}
.nav li a:hover:before,
.nav li.active a:before{
	width: 100%;
}

.itemTop{
	position: absolute;
	right: 15px;
	top: 20px;
}
.itemTop .datTop{
	padding-left: 30px;
	height: 25px;
	line-height: 24px;
	font-family: "Open Sans", serif;
	font-size: 14px;
	color: #414141;
	font-weight: 600
}
.itemTop a{
	color: inherit;
}
.itemTop .tel{
	background: url('../images/icons/tel.png') left center no-repeat;
	margin-bottom: 7px
}
.itemTop .email{
	background: url('../images/icons/mail.png') left center no-repeat;
}
.redes{
	text-align: right;
}
.redes a{
	display: inline-block;
	background: #0064a9;
	height: 32px;
	width: 32px;
	border-radius: 50%;
	line-height: 32px;
	color: #FFF;
	text-align: center;
}


.bannerTop {
	position: relative;
	overflow: hidden;
}
.bannerTop img{
	display: block;
	width: 100%;
	height: auto;
}

#bannerTop .caption{
	position: absolute;
	right: 0;
	bottom: 217px;
	font-size: 36px;
	color: #FFF;
	width: 50%;
	background: url('../images/inicio/Cuadro.png') 0 0;
	background-size: auto 100%;
	font-family: "Open Sans", serif;
	font-weight: 300;
	text-transform: uppercase;	
	padding: 30px 0;
}
#bannerTop .cnt{
	display: inline-block;
	max-width: 600px;
	text-align: right;
	line-height: 42px;
	padding: 0 15px;
}
#bannerTop .cnt strong{
	font-weight: 700;
}
#bannerTop .cnt span{
	display: block;
	font-size: 24px;
	font-weight: 600
}

#bloqsIni{
	background: #f4f4f4
}
.row-flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0;
}
.row-flex .column {
	position: relative;
	/*align-items: stretch;*/
  	display: flex;
  	flex-direction: column;
  	flex-basis: 100%;
  	flex: 1;
  	padding: 0 15px;
}
#bloqsIni .row-flex{
  	margin-top: -126px;	
}
#bloqsIni article{
	border-radius: 10px;
	box-shadow: 2px 2px 10px rgba(0,0,0,0.5);
	max-width: 331px;
	margin: auto;
	display: flex;
	flex: 1;
  	flex-basis: 100%;
	width: 100%;
	overflow: hidden;
	background: url('../images/inicio/textura.webp') 0 0 no-repeat #FFF;
	color: #393939;
	padding: 25px 15px;
	text-align: center;
	font-size: 15px;
	font-family: "Open Sans", serif;
	line-height: 22px;
	min-height: 456px;
	margin-bottom: 68px;
}
#bloqsIni article > div{
	width: 100%;
}
#bloqsIni .c2 article{
	background: url('../images/inicio/textura2.webp') 0 0 no-repeat;
	color: #FFF;
}
#bloqsIni article figure{
	padding: 37px 0 30px;
}
#bloqsIni article ul{
	display: inline-block;
	text-align: left;
	margin: auto;
}
#bloqsIni article ul li{
	text-align: left;
	background: url('../images/inicio/li.png') left center no-repeat;
	list-style: none;
	padding-left: 25px;
	color: #33a4ad;
	font-size: 15px;
	line-height: normal;
	margin-bottom: 5px;
}
#bloqsIni article ul li a{
	color: inherit;
	cursor: pointer;
}
#btnVideo{
	display: block;
	max-width: 257px;
	height: 51px;
	margin: 20px auto 0;
	cursor: pointer;
	background: url('../images/inicio/btnVideo.png') center center no-repeat;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
	border-radius: 5px;
	background-size: cover;
}

#parallaxHome{
	min-height: 735px;
	background: url('../images/inicio/parallax.jpg') center top no-repeat;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
}
#parallaxHome .caption{
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#parallaxHome .cnt{
	position: relative;
	padding-right: 419px;
}
#parallaxHome .cnt .img{
	position: absolute;
	right: 0;
	top: 0;
}
#parallaxHome .text{
	background: rgba(0,0,0,0.65);
	min-height: 250px;
	padding: 50px 49px;
	height: 479px;
}
#parallaxHome .tit{
	font-size: 30px;
	color: #38aab5;
	font-weight: 600;
	text-transform: uppercase;
	line-height: normal;
	margin-bottom: 10px;
}
#parallaxHome .text ul{
	margin: 0;
}
#parallaxHome .text li{
	list-style: none;
	background: url('../images/inicio/li2.png') 0 3px no-repeat;
	padding-left: 21px;
	font-size: 14px;
	font-family: "Open Sans", serif;
	color: #FFF;
	line-height: normal;
	margin-bottom: 5px;
}
#parallaxHome .text .sep{
	height: 5px;
	margin: 25px 0;
	background: #FFF;
}

#mejorOpcion{
	padding: 77px 0;
}
#mejorOpcion .row-flex{
	align-items: center;
	flex-direction: row-reverse;
}
#mejorOpcion .col2{
	padding-left: 60px
}
#mejorOpcion .col2 .tit{
	font-size: 30px;
	font-family: "Open Sans", serif;
	text-transform: uppercase;
	font-weight: 300;
	line-height: 36px;
	margin-bottom: 30px;
	color: #313131;
}
#mejorOpcion .col2 .tit div{
	color: #157cc3;
	font-weight: 600
}
#mejorOpcion .col2 ul{
	margin-left: 20px;
}
#mejorOpcion .col2 li{
	list-style: none;
	margin-bottom: 20px;
	background: url('../images/inicio/li2.png') 0 3px no-repeat;
	padding-left: 21px;
	font-size: 15px;
	font-family: "Open Sans", serif;
	color: #313131;
}
#mejorOpcion img{
	display: block;
	width: 100%;
	max-width: 561px;
}

#bannerTopMexico{

}
#bannerTopMexico .caption{
	position: absolute;
	right: 0;
	bottom: 30px;
	font-size: 26px;
	color: #FFF;
	width: 50%;
	font-family: "Open Sans", serif;
	font-weight: 600;
	text-transform: uppercase;	
	padding: 30px 0;
	text-shadow: 0 0 5px rgba(0,0,0,0.5)
}
#bannerTopMexico .cnt{
	display: inline-block;
	max-width: 650px;
	text-align: right;
	line-height: 38px;
	padding: 0 15px;
}

#titMexico{
	text-align: center;
	color: #004087;
	font-family: "Open Sans", serif;
	font-size: 36px;
	font-weight: 600;
	background: url('../images/mexico/bgTitle.jpg') center center;
}
#titMexico>div>div{
	padding: 30px 0;
}
#mexico1 .row-flex{
	margin: 0;
	align-items: center;
}
#mexico1 .column{
	padding: 0;
}
#mexico1 article{
	display: flex;
  	flex-direction: column;
  	flex-basis: 100%;
  	flex: 1;
  	padding: 0 15px;
	font-size: 16px;
	color: #616161;
	font-family: "Open Sans", serif;
	font-weight: 300;
	text-align: left;
}
#mexico1 img{
	display: block;
	width: 100%;
	height: auto;
}
#mexico1 article .tit{
	font-size: 24px;
	color: #16191b;
	font-family: "Open Sans", serif;
	font-weight: 800;
	text-transform: uppercase;
	padding-left: 32px;
	margin-bottom: 20px;
	background: url('../images/mexico/li.png') 0 7px no-repeat;
}
#mexico1 article .t1{
	margin-bottom: 30px;
}
#mexico1 .c2 article{
	padding: 0;
}
#mexico1 .c1 article{
	text-align: right;
	display: block;
}
#mexico1 article .cnt{
	max-width: 535px;
	padding-right: 15px;
	text-align: left;
	display: inline-block;
	width: 100%;
}
#mexico1 article .cnt >div{
	max-width: 450px;
	padding: 20px 0;
}


#parallaxMexico{
	min-height: 674px;
	background: url('../images/mexico/parallax.jpg') center top no-repeat;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
}
#parallaxMexico .cnt{
	padding: 65px 0;
}
#parallaxMexico .cnt .tit{
	color: #FFF;
	font-size: 30px;
	font-family: "Open Sans", serif;
	font-weight: 800;
	text-transform: uppercase;
	margin-bottom: 35px;
}
#parallaxMexico .row-flex{
	margin: 0 -9px;
}
#parallaxMexico .row-flex .column{
	width: 25%;
  	flex-basis: 25%;
  	padding-bottom: 20px;
}
#parallaxMexico .row-flex article{
	align-items: center;
	display: flex;
  	/*flex-direction: column;
  	flex-basis: 100%;*/
  	flex: 1;
  	padding: 10px;
	background: #d9d9d9;
	border-radius: 8px;
	align-content: center;
	font-size: 14px;
	color: #616161;
	min-height: 133px;
}
#parallaxMexico .row-flex article div {
    text-align: center;
    width: 100%;
}
#parallaxMexico .row-flex article strong{
	display: block;
	font-size: 14px;
	color: #2e9bac;
	font-weight: 800
}

#mexico3{
	min-height: 593px;
	background: url('../images/mexico/bg.webp') center top;
	position: relative;
	padding: 70px 0;
}
#mexico3 article{
	max-width: 485px;
}
#mexico3 article .item:not(.last-item){
	margin-bottom: 30px
}
#mexico3 article .tit{
	font-size: 24px;
	color: #16191b;
	font-family: "Open Sans", serif;
	font-weight: 800;
	text-transform: uppercase;
	padding-left: 32px;
	margin-bottom: 5px;
	background: url('../images/mexico/li.png') 0 7px no-repeat;
}
#mexico3 article .text{
	padding-left: 32px;
	color: #4a4a4a;
	font-weight: 300;
	font-family: "Open Sans", serif;
	line-height: 26px;
	font-size: 16px;
}


#bannerTopLatinoamerica .caption{
	position: absolute;
	right: 0;
	bottom: 30px;
	font-size: 26px;
	color: #FFF;
	width: 50%;
	font-family: "Open Sans", serif;
	font-weight: 600;
	text-transform: uppercase;	
	padding: 30px 0;
	text-shadow: 0 0 5px rgba(0,0,0,0.5)
}
#bannerTopLatinoamerica .cnt{
	display: inline-block;
	max-width: 600px;
	text-align: right;
	line-height: 38px;
	padding: 0 15px;
	opacity: 0.6
}
#titLatinoamerica{
	text-align: center;
	color: #004087;
	font-family: "Open Sans", serif;
	font-size: 36px;
	font-weight: 900;
	background: #FFF;
	text-transform: uppercase;
}
#titLatinoamerica>div>div{
	padding: 30px 0;
}

#latinoamerica1 .row-flex{
	margin: 0;
	align-items: center;
	background: url('../images/latinoamerica/bg1.jpg') 0 0;
}
#latinoamerica1 .column{
	padding: 0;
}
#latinoamerica1 >.row-flex>.column>article{
	display: flex;
  	flex-direction: column;
  	flex-basis: 100%;
  	flex: 1;
  	padding: 15px;
	font-size: 16px;
	color: #616161;
	font-family: "Open Sans", serif;
	font-weight: 300;
	text-align: left;
}
#latinoamerica1 > .row-flex > .column.c1 > article {
    text-align: right;
    display: block;
}
#latinoamerica1 >.row-flex>.column.c2>article{
	padding: 0;
}
#latinoamerica1 img{
	display: block;
	width: 100%;
	height: auto;
}

#latinoamerica1 .c1 article {
    text-align: right;
    display: block;
}
#latinoamerica1 article .cnt {
    max-width: 535px;
    padding-right: 15px;
    text-align: left;
    display: inline-block;
    width: 100%;
}
#latinoamerica1 .row-flex>.column>article .cnt > div {
    max-width: 488px;
}
#latinoamerica1 article .tit {
    font-size: 24px;
    color: #16191b;
    font-family: "Open Sans", serif;
    font-weight: 800;
    text-transform: uppercase;
    padding-left: 32px;
    margin-bottom: 20px;
    background: url('../images/mexico/li.png') 0 7px no-repeat;
}
#latinoamerica1 article .t1 {
    margin-bottom: 45px;
    padding-left: 32px;
    color: #272727
}
#latinoamerica1 article .t2{
	display: flex;
  	flex-direction: row;
  	flex-wrap: wrap;
  	margin: 0 -5px;
}
#latinoamerica1 .row-flex article article{
    align-items: center;
    display: flex;
    flex-basis: 100%;
    flex: 1;
    padding: 10px;
    background: #d9d9d9 url('../images/latinoamerica/bloque.jpg') center bottom no-repeat;
    border-radius: 8px;
    align-content: center;
    font-size: 13px;
    color: #fff;
    min-height: 133px;
    text-align: center;
}
#latinoamerica1 article .item{
    width: 50%;
    flex-basis: 50%;
    padding-bottom: 20px;
    padding: 0 5px 10px;
    display: flex;
flex-direction: column;
flex: 1;
position: relative;
}
#latinoamerica1 .row-flex article .item3{
	width: 100%;
    flex-basis: 100%;
}
#latinoamerica1 .row-flex article .item1{
	width: 60%;
    flex-basis: 60%;
}
#latinoamerica1 .row-flex article .item2{
	width: 40%;
    flex-basis: 40%;
    align-items: center;
    display: flex;
    flex-direction: column;
}
#latinoamerica1 .row-flex article .item article > div{
    display: block;
    margin: auto;
}
#latinoamerica1 .row-flex article .item3 article{
    text-align: left;
}
#latinoamerica1 .row-flex article .item3 article div{
	width: 100%;
	max-width: 400px;
	margin: auto;
}
#latinoamerica1 .row-flex article strong {
    display: block;
    font-size: 14px;
    color: #2e9bac;
    font-weight: 800;
}

#latinoamerica2 .row-flex{
	margin: 0;
	align-items: center;
	flex-direction: row-reverse;
	background: url('../images/latinoamerica/bg2.jpg') 0 0;
}
#latinoamerica2 .column{
	padding: 0;
}
#latinoamerica2 img{
	display: block;
	width: 100%;
	height: auto;
}
#latinoamerica2 .c1 article {
    text-align: left;
    display: block;
    padding-left: 50px;
}
#latinoamerica2 article .cnt {
    max-width: 535px;
    padding-right: 15px;
    text-align: left;
    display: inline-block;
    width: 100%;
}
#latinoamerica2 .row-flex>.column>article .cnt > div {
    max-width: 488px;
}
#latinoamerica2 article .tit {
    font-size: 24px;
    color: #16191b;
    font-family: "Open Sans", serif;
    font-weight: 800;
    text-transform: uppercase;
    padding-left: 32px;
    margin-bottom: 18px;
    background: url('../images/mexico/li.png') 0 5px no-repeat;
    line-height: 28px;
}
#latinoamerica2 article .t1,
#latinoamerica2 article .t2,
#latinoamerica2 article .t3 {
    margin-bottom: 35px;
    padding-left: 32px;
    color: #4a4a4a;
    font-size: 16px;
}
#latinoamerica2 article .t3{
	margin-bottom: 0
}

#latinoamerica1 .column,
#latinoamerica2 .column{
	overflow: hidden;
}
#latinoamerica1 img,
#latinoamerica2 img{
	min-height: 702px;
	height: 100%;
	width: auto;
}
#latinoamerica2 img {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}