/**************/

:root{	
	--colorMorado: #403CBA;
	--colorAzul: #184494;
	--colorCeleste: #20A4F0;
	--colorVerde: #28CE7F;
	--colorAmarillo: #FCCE64;
	--colorRojo: #EA5050;
	--colorMagenta: #E23A8A;

	--colorBack: #151E23;
	--colorWhite: #F4F8F9;

	--colorTitle: #2F373A;
	--colorSubtitle: #9FB9CC;
	--ColorText: #444A4C;
	--colorDetails: #6E767F;
	--coloBorder: #cedbdd;

	--sizeDetails: 14px;
	--sizeText: 16px;
	--sizeSubtitle: 18px;
	--sizeTitle: 28px;
	--sizeBigtitle: 58px;

	--lineheightText: 1.6;
	--lineheightTitle: 1.2;
	--lineheightNone: 1;
}
h1, h2, h3, h4, h5{
    font-family: 'Encode Sans Semi Expanded', sans-serif;
    font-weight: 700;
}
body{
	font-family: 'Encode Sans Semi Expanded', sans-serif;
	font-weight: 300;
}
strong{
	font-weight: 500;
}


/****************************************************************/
/*************Base****************/

div.s_title{
	margin-bottom: 60px;
}
div.s_title h1{margin: 0;}
div.s_title span{
	background-color: #1B4167;
	color: #fff;
	padding: 2px 15px;
}

.ml_80{margin-left: 80px;}
.mr_80{margin-right: 80px;}















/*******************************************************************/
/*******Navbar**************/
header.header{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
header.header.header_page{
	position: relative;
	box-shadow: 0px 8px 30px rgba(0,0,0,0.1);
}



/**/
.nbr_principal{
	background-color: transparent;
	border: none;
	margin-bottom: 0;
	border-radius: 0;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	z-index: 99;
	/*border-bottom: 1px solid rgba(255,255,255,0.2);*/
}
.nbr_principal.nbr_page{
	background-color: #fff;
}
.nbr_principal ul.navbar-nav a.nav-link{
	position: relative;
	color: #fff;
	/*color: #fff;*/
	font-size: 14px;
	font-weight: 500;
	padding: 6px 15px;
	transition: all 300ms;
}
.nbr_principal.nbr_page ul.navbar-nav a.nav-link{
	color: var(--colorTitle);
}

.nbr_principal ul.navbar-nav a.nav-link:hover{
	color: #fff;
}
.nbr_principal ul.dropdown-menu{
	padding: 30px 15px;
	border: none;
	transform: translateY(30px);
	border-radius: 5px;
}
.nbr_principal ul.dropdown-menu:before{
	content: "";
	width: 25px;
	height: 25px;
	border-radius: 2px;
	position: absolute;
	top: -10px;
	right: 30px;
	background-color: #fff;
	transform: rotate(-45deg);
}
.nbr_principal ul.dropdown-menu li{
	margin-bottom: 5px;
}
.nav_btn{
	background-color: var(--colorCeleste);
	color: #fff;
	margin-left: 15px;
	border-radius: 4px;
	transition: all 300ms;
}
.nbr_principal ul.navbar-nav .nav_btn a.nav-link{
	color: var(--colorPrimary);
}
.nbr_principal ul.navbar-nav .nav_btn.nav_btn:hover a.nav-link{
	color: #fff;
}



.mydrop > a.mdrop_ac{
	position: relative;
	padding-right: 20px !important;
}

.mydrop .mdrop_cont{
	position: absolute;
    padding-top: 32px;
    width: max-content;
    min-width: 240px;
    right: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 999;
    transition: all 100ms;
}
.mydrop .mdrop_cont ul{
	width: 100%;
	height: auto;
	padding: 10px 0px;
	background-color: #fff;
	box-shadow: 2px 4px 8px rgba(0,0,0,0.12);
	list-style: none;
	position: relative;
	border-radius: 0px;
}
.mydrop .mdrop_cont ul:before{
	content: "";
	width: 20px;
	height: 20px;
	background-color: #fff;
	position: absolute;
	top: -8px;
	right: 40px;
	transform: rotate(-45deg);
}

.mydrop .mdrop_cont > ul.mdrop_list > li > a{
	color: var(--colorTitle);
    display: block;
    font-size: var(--sizeText);
    padding: 8px 40px 8px 20px !important;
    transition: all 300ms;
    text-decoration: none;
}
.mydrop .mdrop_cont > ul.mdrop_list > li > a:hover{
	color: var(--colorPrimary);
}
.mydrop:hover .mdrop_cont{
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}

.md_nivel{position: relative;}
.mdn_box{
	position: absolute;
	top: 0;
	left: 100%;
	min-width: 240px;
	visibility: hidden;
	opacity: 0;
}
.mdn_box ul{
	list-style: none;
	padding: 5px 0px !important;
	margin: 0;
}
.mdn_box ul a{
	display: block;
	font-size: var(--sizeText);
	font-weight: 400;
	padding: 8px 30px !important;
	color: var(--colorTitle);
	text-decoration: none;
	transition: all 300ms;
	position: relative;
}
.mdn_box ul a:hover{
	color: var(--colorPrimary);
}
.md_nivel a i{
    position: absolute;
    right: 15px;
    top: 16px;
    font-size: var(--sizeText);
    color: var(--colorTitle);
}
.md_nivel:hover .mdn_box{
	visibility: visible;
	opacity: 1;
}









/********************************************/
/*******Slider section***********/
/*text*/
section.home_section{
	min-height: 540px;
	height: 540px;
	width: 100%;
	position: relative;
	background-color: var(--colorMorado);
	border-bottom-left-radius: 120px;
}

.navbar_edit .nav-link{
	padding: 0.5rem 20px !important;
	color: #fff !important;
	font-weight: 400;
	position: relative;
	font-size: 14px;
}
.navbar_edit .nav-item{
	position: relative;
}
.navbar_edit .nav-item:before{
	content: "";
	width: 0px;
	height: 2px;
	background-color: var(--verde);
	position: absolute;
	top: 0;
	left: 20px;
	transition: all 300ms;
	/*transform: translateX(-50%);*/
}
.navbar_edit .nav-item.active:before{
	width: 15px;
}
.navbar_edit .nav-item.active:hover:before{
	width: 30px;
}
.navbar_edit .nav-item:hover:before{
	width: 30px;
}
.navbar_edit .nav-item:hover .home_section .navbar_edit .nav-item.active:before{
	width: 0px !important;
}





.bx-viewport,.bx-wrapper{background: transparent !important;}
.slidah_text{
	color: var(--colorTitle);
	position: relative;
	top: 50%;
    transform: translateY(-50%);
}
.title_h5 h5{
	font-weight: 400;
	font-size: 16px;
	margin: 0;
}
.slidah_title{
	line-height: 1.2;
	margin: 0 0 20px 0;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 38px;
	color: #fff;
	letter-spacing: 0px;
}
.slidaht_text p{
	margin: 0 0 45px 0;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.6;
	color: #fff;
	text-align: left;
}
.slidaht_text p strong{
	font-weight: 700;
}
.slider_section{
	width: 100%;
	position: relative;
}
.slider{
	height: 540px;
	width: 100%;
	position: absolute;
	display: flex;
	flex-wrap: wrap;
	bottom: 0;
	left: 0;
}
.slider-contenido{
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
}
.slider-contenido img{
	height: 100%;
	width: 100%;
	object-fit: contain;
}
.bx-slidah{
	height: 100%;
	width: 100%;
	position: relative;
}
.bx-slidah .bxitem{
	height:540px;
	position: relative;
}
.bx-slidah .bxitem .bxi_img{
	width: 100%;
    height: 100%;
    position: relative;
    /*border-radius: 0 15px 0 0;*/
    overflow: hidden;
    /*box-shadow: 4px 12px 32px rgba(50,51,98,0.18);*/
}
.bx-slidah .bxitem .bxi_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bx-slidah .slidah-bg{
	height: 100%;
	width: 55%;
	overflow: hidden;
	border-radius: 0 30px 0 0;
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-shadow: 8px 8px 20px rgba(0,0,0,0.2);
}
.bx-slidah .slidah_datos{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	/*z-index: 99;*/
}
.bx-slidah .slidah_datos .container{
    top: 50%;
    position: relative;
    transform: translateY(-50%);
}
.bx-slidah .slidah_shadow{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	/*background: linear-gradient(to bottom, var(--primary), var(--verde));*/
	background-color: #222;
	opacity: 0.15;
	z-index: 98;
}
.bx-slidah .slidah_titulo{
	font-size: 36px;
	line-height: 1em;
	font-weight: 700;
	margin: 0 0 30px 0;
	color: #fff;
	transform: translate(0,-15px);
	opacity: 0;
	visibility: hidden;
	/*display: inline;*/
	transition: all 300ms;
	transition-delay: 200ms;
}
.bx-slidah .slidah_titulo span{
	font-weight: 400;
}
.bx-slidah .slidah-leyend{
	transform: translate(0,-15px);
	opacity: 0;
	visibility: hidden;
	transition: all 300ms;
	transition-delay: 200ms;
}
.bx-slidah .slidah-btn{
	display: flex;
	/*visibility: hidden;*/
	/*opacity: 0;*/
	transform: translate(0,-15px);
	transition: all 300ms;
	transition-delay: 200ms;
}
.bx-slidah .slidah-btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #fff;
	font-weight: 600;
	width: 240px;
	height: 48px;
	background: var(--colorCeleste);
	border-radius: 8px;
	font-size: 14px;
}
.bx-slidah .slidah-btn a:hover img{
	transform: translateX(15px);
}
.bx-slidah .slidah-btn img{
	height: 20px;
	transition: all 300ms;
}
.bx-slidah .slider-active .slidah_titulo{
	transform: translate(0, 0);
	opacity: 1;
	visibility: visible;
	animation: mover 1500ms;
	transition: all 300ms;
	transition-delay: 200ms;
}
.bx-slidah .slider-active .slidah-leyend{
	animation: mover 1500ms;
	animation-delay: 100ms;
	opacity: 1;
	visibility: visible;
	transform: translate(0, 0);
	transition: all 300ms;
	transition-delay: 200ms;
}
.bx-slidah .slider-active .slidah-btn{
	animation: mover 1500ms;
	animation-delay: 200ms;
	transform: translate(0,0);
	opacity: 1;
	transition: all 300ms;
	transition-delay: 200ms;
}
@keyframes mover{
	0%{
		transform: translate(0, -15px);
		opacity: 0;
		visibility: hidden;
	}
	60%{
		transform: translate(0, -15px);
		opacity: 0;
		visibility: hidden;
	}
	100%{
		transform: translate(0, 0);
		opacity: 1;
		visibility: visible;
	}
}
@keyframes pulse{
	from{
		box-shadow: 0 0 0 0 rgba(3,149,229,.4)
	}
	to{
		box-shadow: 0 0 0 45px rgba(3,149,229,0)
	}
}














/*******************Intro*************/
.title_sec{
	position: relative;
	margin-bottom: 40px;
}
.ts_ico{
	position: relative;
	background-color: var(--colorPrimary);
	height: 48px;
	width: 48px;
	border-radius: 50%;
	left: 50%;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.ts_ico img{
	width: 24px;
	height: auto;
}
.ts_title{
	text-align: center;
}
.ts_title h4{
	font-size: 24px;
	color: var(--colorTitle);
	margin: 0;
	line-height: 1.4;
}
.ts_title.tst_white h4{
	color: #fff;
}



/****************servicio_section************/
.servicio_section{
	position: relative;
}
.ss_img{
	position: relative;
}
.ss_img img{
	width: 100%;
	height: auto;
}



/*******************Contact section***************/
.contact_section{
	position: relative;
	background-color: var(--colorBack);
}


.contact_form label{
	position: relative;
	color: #fff;
	font-size: var(--sizeDetails);
	font-weight: 600;
}
.contact_form input, .contact_form textarea{
	width: 100%;
	position: relative;
	border: none;
	background-color: #1C282D;
	padding: 14px 20px;
	border-radius: 4px;
	resize: none;
}
.contact_form input:focus, .contact_form textarea{
	outline: none;
}

.contact_form button{
	width: 280px;
	height: 54px;
	background-color: #fff;
	color: var(--colorPrimary);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 26px;
	border: none;
	margin-left: auto;
	font-weight: 600;
	outline: none;
}













/**********CONTACTOS PAGE***/
.contactos_page{
	position: relative;
}
.cpc_form{
	width: 100%;
	position: relative;
	background-color: #fff;
	/*border-radius: 12px;*/
	/*box-shadow: 0 15px 40px rgba(0,0,0,0.1);*/
	border: 1px solid var(--coloBorder);
	padding: 30px 45px;
}
::placeholder{
	color: var(--colorSubtitle);
}
.cpc_form form input{
	width: 100%;
	height: 48px;
	background-color: #fff;
	border: 1px solid var(--coloBorder);
	padding-right: 15px;
	padding-left: 15px;
	/*border-radius: 5px;*/
	color: var(--colorText);
	font-size: var(--sizeText);
	transition: all 300ms;
}
.cpc_form form textarea{
	width: 100%;
	background-color: #fff;
	border: 1px solid var(--coloBorder);
	padding-right: 15px;
	padding-left: 15px;
	padding-top: 15px;
	color: var(--colorText);
	resize: none;
	transition: all 300ms;
}
.cpc_form form input:focus,
.cpc_form form textarea:focus{
	outline: none;
	border-color: var(--colorPrimary);
}
.cpc_form form button{
	width: 180px;
	height: 42px;
	background-color: var(--colorPrimary);
	color: #fff;
	border: none;
	margin-left: auto;
	float: right;
	border-radius: 0px;
	font-size: var(--sizeText);
}
.cp_info{
	padding-right: 45px;
	/*padding-top: 30px;*/
}
.cpi_box{
	position: relative;
	padding: 20px;
	border: 1px solid var(--coloBorder);
	margin-bottom: 20px;
}
.cpi_box h5{
	font-weight: 600;
	color: var(--colorTitle);
	font-size: var(--sizeSubtitle);
	margin: 0 0 5px;
}
.cpi_box ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
.cpi_box ul li{
	font-size: var(--sizeDetails);
	color: var(--ColorText);
	margin-bottom: 6px;
}
.cpi_box ul li i{
	width: 20px;
}
.cpc_head{
	position: relative;
	margin-bottom: 30px;
}
.cpc_head h4{
	font-size: var(--sizeSubtitle);
	font-weight: 700;
	color: var(--colorTitle);
	margin: 0;
}



.cpi_text{
	font-size: var(--sizeText);
	color: var(--ColorText);
}
ul.cpi_date{
	list-style: none;
	padding: 0 0 0 20px;
}
ul.cpi_date li{
	margin-bottom: 20px;
	color: var(--ColorText);
	font-size: var(--sizeText);
}
ul.cpi_date li i{
	width: 24px;
	color: var(--colorPrimary);
}


.cp_info ul.cpi_list{
	margin-bottom: 45px;
	list-style: none;
	padding: 0;
	color: var(--ColorText);font-weight: 400;
}
.cp_info ul.cpi_list li{
	margin-bottom: 5px;
	display: flex;
}
.cp_info ul.cpi_list i{
	width: 24px;
	color: var(--azul);
	padding-top: 4px;
	margin-right: 8px;
    flex: 0 0 20px;
}


.cp_info ul.cpi_social{
	list-style: none;
	padding: 0;
	display: flex;
	margin-bottom: 30px;
}
.cp_info ul.cpi_social li{
	margin-right: 15px;
	position: relative;
}
.cp_info ul.cpi_social li:last-child{
	margin-right: 0;
}
.cp_info ul.cpi_social a{
	/*background-color: var(--verde);*/
	color: var(--ColorText);
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	/*border-radius: 5px;*/
	margin-right: 15px;
	font-size: var(--sizeSubtitle);
	/*box-shadow: 0 15px 45px rgba(0,0,0,0.1);*/
}


#map{
	width: 100%;
	height: 380px;
}








/**************************************/
/******************2.0****************/
/************************************/
.mb_90{margin-bottom: 90px;}
.mb_60{margin-bottom: 60px;}
.mb_30{margin-bottom: 30px;}
.titulonw2{
	max-width: 450px;
	position: relative;
	text-align: left;
}
.titulonw2 h1{
	font-size: var(--sizeTitle);
	color: var(--colorTitle);
	margin: 0;
	font-weight: 800;
	position: relative;
	padding-top: 20px;
	display: inline-block;
}
.titulonw2 h1:before{
	content: "";
	width: 52px;
	height: 2px;
	border: 2px solid var(--colorPrimary);
	position: absolute;
	top: 0;
	border-radius: 2px;
	opacity: 1;
}
.colorTitlenw{
	max-width: 500px;
	text-align: center;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
.titulonw2  h5{
	font-family: 'Open Sans', sans-serif;
	font-size: var(--sizeText);
	color: var(--colorPrimary);
	margin: 0 0 4px 0;
	font-weight: 500;
}
.colorTitlenw h1{
	font-size: var(--sizeTitle);
	color: var(--colorTitle);
	margin: 0;
	font-weight: 800;
}
.margin_b_20{
	margin-bottom: 20px;
}
.margin_b_40{margin-bottom: 40px;}
.padding_80{padding: 80px 0}
.padding_90{padding: 90px 0}
.padding_120{
	padding: 120px 0;
}
.msg_error{
	text-align: center;
}
.msg_error h4{
	font-size: var(--sizeText);
	color: var(--ColorText);
	margin: 0;
}








.separador{
	margin: 90px 0;
	position: relative;
}
.separador:before{
	content: "";
	display: block;
	width: 30%;
	height: 2px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	background-color: #eee;
}










.vid_section{
	position: relative;
}
.vs_container{
	position: relative;
	padding-top: 80px;
	padding-bottom: 80px;
}
.vsm_container{
	position: relative;
	margin-bottom: 40px;
}
.vsm_container .vs_item{
	height: 290px;
	margin-bottom: 10px;
}
.vsm_container .vs_btitle{margin-bottom: 20px;}
.vsm_container .vs_btitle h2{
	font-size: 18px;
	letter-spacing: 0px;
	color: var(--colorCeleste);
}

.vms_left{
	padding-right: 20px;
}
.vms_right{padding-left: 20px;}

.vs_btitle{
	position: relative;text-align: left;
	margin-bottom: 40px;
}
.vs_btitle h2{
	font-size: 28px;
	color: var(--colorMorado);
	font-weight: 700;
}
.vs_btitle > div{
	height: 20px;
}
.vs_btitle p{
	margin: 0;
}

.vid_footer p{font-size: 14px;margin: 0;color: var(--colorDetails)}
.vs_item{
	position: relative;
	width: 100%;
	height: 400px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 12px 42px rgba(0,0,0,0.06);
}
.vs_bg{
	position: relative;
	width: 100%;height: 100%;
}
.vs_bg:before{
	content: "";
	width: 100%;height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	opacity: 0.1;
}
.vs_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(.2);
	transition: all 200ms;
}

.vs_play{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.vs_play a{
	display: inline-flex;
	width: 64px;
	height: 64px;
	position: relative;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border-radius: 8px;
	font-size: 18px;
	color: var(--colorCeleste);
	text-decoration: none;
	transition: all 200ms;
}
.vs_play a:before{
	content: "";
	width: 80px;
	height: 80px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
	opacity: 0.2;
	border-radius: 10px;
	transition: all 200ms;
}

.vs_play  a:not([href]):hover{
	color: var(--colorCeleste);
}






.vs_item:hover .vs_bg img{
	filter: grayscale(0);
	transform: scale(1.02);
}
.vs_item:hover .vs_play a{
	width: 70px;
	height: 70px;
}
.vs_item:hover .vs_play a:before{
	width: 100px;
	height: 100px;
	opacity: 0;
}




.vs_separador{
	position: relative;
	margin-top: 40px;margin-bottom: 40px;
}
.vs_separador h1{
	font-size: 32px;
	color: var(--colorMorado);
	margin: 0 0 10px;
}
.vs_separador p{
	font-size: 16px;
	color: var(--colorText);
	line-height: 1.6;
	font-weight: 400;
}
.vs_separador p strong{
	color: var(--colorTitle);
	font-weight: 600;
}



.vs_footer{
	position: relative;
	padding-bottom: 20px;
	padding-top: 20px;
	background-color: var(--colorWhite);
}
.vsf_text p{
	font-size: 14px;
	color: var(--colorText);
	margin: 0;
}
.vsf_text p a{
	color: var(--colorCeleste);
}

.vsf_icons{
	position: relative;text-align: right;
}
.vsf_icons ul{
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-flex;
	align-items: center;
	margin-right: auto;
}
.vsf_icons ul li{
	margin-left: 20px;
}
.vsf_icons ul li a{
	font-size: 16px;
	color: var(--colorCeleste);
	opacity: 0.4;
	transition: all 200ms;
}
.vsf_icons ul li a:hover{
	opacity: 0.8;
}






/**RESPONSIVE******/
@media (max-width: 1200px){

}
@media (max-width: 992px){

	section.home_section{
		min-height: 680px;
		height: 680px;
	}
	.slider{
		height: 680px;
	}

	.bx-slidah .bxitem{
		height:680px;
	}
	.slidah_text{
		margin-bottom: 60px;
	}
	.vsm_container .vs_item{
		height: 200px;
	}



	.mydrop .mdrop_cont {
		position: relative;
		padding-top: 0;
		width: auto;
		right: auto;
		opacity: 1;
		visibility: visible;
		transform: none;
		padding-left: 45px;
	}
	.mydrop .mdrop_cont ul {
	    width: 100%;
	    height: auto;
	    padding: 0;
	    background-color: transparent;
	    box-shadow: none;
	    overflow: hidden;
	}
	.mydrop .mdrop_cont ul:before{
		content: none;
	}
	.mydrop .mdrop_cont > ul.mdrop_list > li > a{
		padding: 8px 0px !important;
	}


	.nbr_principal{
		position: absolute;
		width: 100%;
		z-index: 999;
	}
	#ss_secti{
		padding-top: 94px;
	}
	.nbr_principal ul.nav a{
		font-size: var(--sizeText);
	}
	.bar_section{
		margin-top: 96px;
	}
	.oepba_b img{
		filter: brightness(0.4);
	}
	.ns2_item{
		margin-bottom: 30px;
	}
}

@media (max-width: 767px){
	.vsm_container .vs_item{
		height: 240px;
	}
}