@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}
.contenedor{
	max-width: 1280px;
	margin: 0 auto;
}
img{
	width: 100%;
	display: block;
}
.clear{
	clear: both;
}
.center{
	margin: 0 auto;
	text-align: center;
}
.cont_flex{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
/*** Btn Whats ***/
.cont_whats{
	top: 0;
	right: 0;
	height: 100vh;
	padding: 50px 0 50px 30px;
	position: fixed;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.cont_whats a{
	background: #1bd741;
	width: 50px;
	height: 50px;
	display: block;
	transition: all .4s ease;
	padding: 5px;
}
.cont_whats a:hover{
	background: #000;
}
/*** BGs ***/
.bg1{
	width: 100%;
	background: url(../img/banner1.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	margin-top: 130px;
	padding: 250px 0;
}
.bg2{
	width: 100%;
	background: #fff;
	padding: 50px 0;
}
.bg3{
	width: 100%;
	padding: 100px 0;
	position: relative;
	background: #f6f6f6;
}
.bg4{
	width: 100%;
	background: url(../img/bg_s.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	padding: 120px 0;
}
.bg5{
	padding: 80px 0;
	background: #fff;
	position: relative;
}
.bg6{
	width: 100%;
	background: url(../img/bg_s2.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	padding: 100px 0 200px 0;
}
.bg_forma1{
	background-image: url(../img/forma1.svg);
	background-position: right -550px bottom -100px;
	background-repeat: no-repeat;
	background-size: 800px;
	background-attachment: fixed;
}
/*** Seccion 1 ***/
.box_line1{
	width: 100%;
	background: #1c5197;
	padding: 40px;
}
.box1, .box2{
	width: 50%;
}
.box1_1{
	padding-top: 50px;
}
.box2{
	padding: 0 50px;
}
.box3{
	width: 70%;
	margin: 0 auto;
}
.box4{
	width: 33.3333%;
	padding: 25px;
}
.box4_1{
	background: #2c67ae;
	border-radius: 20px;
	padding: 30px 50px;
	height: 100%;
}
.icon{
	padding-top: 20px;
	width: 45%;
	margin: 0 auto;
}
.logo_imcp{
	width: 50%;
}
.logo_imcp2{
	width: 35%;
}
.img1{
	position: absolute;
	width: 40%;
	right: 5%;
	top: -20px;
	border-radius: 28px;
}
.cont_serv{
	position: absolute;
	top: -250px;
}
/*** Seccion 2 ***/
.bg_servicios{
	width: 100%;
	background: url(../img/banner2.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	margin-top: 130px;
	padding: 80px 0;
}
.bg_contacto{
	width: 100%;
	background: url(../img/banner3.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	margin-top: 130px;
	padding: 80px 0;
}
.box2-1{
	margin: 0 50px 30px 50px;
	border-bottom: 1px solid #ccc;
	padding-bottom: 20px;
}
/*** Titulos ***/
p{
	margin: 0 !important;
}
.t1{
	font-size: 2.2em;
	font-weight: 700;
}
.mini_t1{
	font-size: 1.2em;
	font-weight: 400;
}
.t2{
	font-size: 1.5em;
	text-transform: uppercase;
	font-weight: 700;
}
.t2 span{
	color: #2c67ae;
}
.t3{
	font-size: 1.1em;
	font-weight: 600;
	padding-bottom: 15px;
}
.p1{
	font-size: 1em;
	font-weight: 300;
	line-height: 1.5em;
	padding: 20px 0;
}
.p1 span{
	font-weight: 600;
}
.p2{
	font-size: .8em;
	font-weight: 300;
	line-height: 1.5em;
}
.p3{
	font-size: .9em;
	font-weight: 400;
	line-height: 1.3em;
	padding-bottom: 20px;
}
.p3 span{
	color: #3275b7;
	font-weight: 600;
}
.white{
	color: #fff;
}
.gray{
	color: #4d4d4d;
}
.blue{
	color: #2c67ae;
}
.blue2{
	color: #00ccff;
}
/*** Botones ***/
.btn1{
	width: 200px;
	height: 45px;
	line-height: 45px;
	display: block;
	background: #000;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	font-size: .8em;
	font-weight: 600;
	letter-spacing: .5px;
	border-radius: 5px;
	transition-property: background;
	transition-duration: 0.4s;
}
.btn1:hover{
	color: #fff;
	text-decoration: none;
	background: #66ccff;
}
/** FORM **/
.cont_form{
	width: 60%;
	padding-right: 10%;
}
.cont_dire{
	width: 40%;
}
input[type=text]{
	width: 100%;
	background: #F4F4F4;
	padding: 14px 20px;
	color: #222;
	border: 1px solid #ccc;
	margin-bottom: 25px;
	border-radius: 7px;
}
textarea{
	width: 100%;
	background: #F4F4F4;
	padding: 14px 20px;
	color: #222;
	border: 1px solid #ccc;
	margin-bottom: 25px;
	height: 130px;
	border-radius: 7px;
}
input[type=submit]{
	background: #263777;
	color: #fff;
	display: block;
	width: 170px;
	height: 55px;
	text-align: center;
	font-weight: 600;
	font-size:1em;
	text-decoration: none;
	transition-property: all;
	transition-duration: .4s;
	border: none;
	cursor: pointer;
	border-radius: 5px;
}
input[type=submit]:hover{
	background: #4fb5e3;
}
#this_title{
	display: none;
}
/** Footer ***/
footer{
	width: 100%;
	background: #2c67ae;
	padding: 100px 0 100px 0;
	border-top: 20px solid #214977;
}
.cont_footer{
	width: 100%;
	margin: 0 auto;
	display: flex;
}
.cont_footer div{
	width: 40%;
	padding:0 50px;
	border-left: 1px solid #3e7ecc;
}
.cont_footer div:first-child{
	border-left: none;
}
.logo_footer{
	width: 75%;
	margin: 0 auto;
}
.sub_footer{
	padding: 15px 0;
	background: #000;
	color: #dcdcdc;
	text-align: center;
	font-size: 12px;
}
.box_bottom_left{
    float: left;
    text-align: left;
}
.box_bottom_right{
    float: right;
    text-align: right;
}
.box_bottom_left, .box_bottom_right{
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 1em;
}
.box_bottom_right a{
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    text-decoration: none; 
}
.box_bottom_right a:hover{
    color: #4fb5e3;
}
.social img{
	width: 20px;
}
.social a{
	display: block;
	padding: 5px;
	background: #000;
	transition-property: all;
	transition-duration: 0.4s;
}
.social a:hover{
	background: #14437c;
}
a.link{
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    text-decoration: none;
    font-size: .8em;
}
a.link:hover{
	color: #ccc;
	text-decoration: underline;
}
a.link2{
    color: #222;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    text-decoration: none;
    font-size: .9em;
}
a.link2:hover{
	color: #4fb5e3;
	text-decoration: underline;
}
/*** ***/
.montserrat{
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
/*** Otros ***/
.hr1{
    width: 120px;
    border: 0;
    margin-top: 20px;
    border-top: 7px solid #2c67ae;
}
.hr2{
    width: 100%;
    border: 0;
    margin-top: 30px;
    margin-bottom: 30px;
    border-top: 1px solid #ccc;
}
.cont_line{
	width: 100%;
	padding: 50px;
}
.line{
	display: block;
	height: 6px;
	background: #4196ce;
	margin: 0 auto;
}
.s{
	width: 50px;
	margin-bottom: 20px;
}
.rel{
	position: relative;
}
.alto{
	padding-top: 100px;
}
.tabla_contact td{
	padding-bottom: 5px;
}
.cont_mapa{
	border-top: 10px solid #5aa8da;
	display: block;
}
iframe{
	display: block;
}
ul.list{
	margin-left: 20px;
}
.list li{
	padding-bottom: 5px;
	font-weight: 300;
	font-size: 1em;
	line-height: 1.3em;
}
.img{
	border-radius: 15px;
}