@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Abel|Barlow+Semi+Condensed:400,500,500i,600,700&display=swap');
html{
    height: 100%;
}

body{
    height: 100%;
    font-family: 'Abel', sans-serif;
    font-size: 14px;
    letter-spacing: 0.15px;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
    text-rendering: optimizeLegibility !important;
}

@media only screen and (max-width: 400px){
    body{
        font-size: 12px;
    }
}

/* --------------------------------- Definir el color del Placeholder ---------------------------------------*/

::-webkit-input-placeholder { /* Edge */
  color: #ccc;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #ccc;
}
::placeholder {
  color: #ccc;
}

/* --------------------------------- Colores para BeFit ---------------------------------------*/

.rojo{
    color: #D93438;
}

.rojo-bg{
    background-color: #D93438;
}

.rojo-oscuro{
    color: #8D2F31;
}

.rojo-oscuro-bg{
    background-color: #8D2F31;
}

.azul-medio{
    color: #1f4477;
}

.azul-medio-bg{
    background-color: #1f4477;
}

.blanco{
    color: #fff;
}

.blanco-bg{
    background-color: #fff;
}

.negro{
    color: #000;
}

.negro-bg{
    background-color: #000;
}

.gris-claro{
    color: #f4f4f4;
}

.gris-claro-bg{
    background-color: #f4f4f4;
}

.gris{
    color: #ddd;
}

.gris-oscuro{
    color: #999;
}

.gris-oscuro-bg{
    background-color: #999;
}

/* --------------------------------- Estilos para imagenes ---------------------------------------*/

.img-espacio{
    margin: 15px;
}

.img-vertical-medio{
    vertical-align: middle;
}


/* --------------------------------- Estilos Para Enlaces simples ---------------------------------------*/

a{
    text-decoration: none;
}

/* --------------------------------- Estilos Para mensajes ---------------------------------------*/

.error{
    color: #8D2F31;
}

.exito{
    color: #368d2f;
}


/* --------------------------------- Temporales ---------------------------------------*/

.lineas-fondo{
    position: fixed;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}
.lineas-fondo:after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #fff;
    background-color: rgba(255,255,255,0.5);
}

.lineas-izquierda{
    position: absolute;
    top: -20px;
    left: -100px;
}

.lineas-derecha{
    position: absolute;
    bottom: -20px;
    right: -100px;
}


/*Estilos generales para enlaces */

a{
    text-decoration: none;
}

/*-------------------------------Colores Para Textos--------------------------------------*/

.azul{
    color: #1f4477;
}

.aguamarina{
    color: #00aec7;
}


/*-------------------------------Colores Para Fondo--------------------------------------*/

.bg-grisoscuro{
    background-color: #4d5055;
}

/*-------------------------------Estilos Para el Slide--------------------------------------*/
.slide{
    position: relative;
    display: block;
    height: 55%;
}


/*-------------------------------Estilos Para Panel de Navegación--------------------------------------*/

.navegacion{
    position: relative;
    width: 100%;
    background-color: #fff;
    background-color: rgba(255,255,255,0.95);
    /*box-shadow: 0 3px 5px #575757;*/
    /*border-bottom: 5px solid #000;*/
    z-index: 2;
}

.navegacion .logo{
    position: relative;
    padding: 5px 0;
}

.logo img{
        width: 300px;
        height: auto;
    }


/*-------------------------------Estilos Para Menu Principal--------------------------------------*/
.menu-principal{
    list-style-type: none;
    margin: 0 auto;
}

.menu-principal > li{
    position: relative;
    display: inline-block;
    transition: all ease 0.3s;
}

.menu-principal > li > a{
    display: block;
    padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: bold;
    letter-spacing: 1.3px;
    color: #5b87a4;
    transition: all ease 0.3s;
    border-bottom: 1px solid transparent;
}

@media only screen and (max-width: 420px ){
    .menu-principal > li > a{
        padding: 5px;
    }
    
}

.menu-principal > li:hover > a{
    color: #8D2F31;
    border-bottom: 1px solid #000;
}

.submenu{
    position: absolute;
    right: 0;
    min-width: 150%;
    display: none;
    box-shadow: 0 3px 5px #8d8d8d;
    border-radius: 0 0 4px 4px;
    overflow: hidden;
}

.menu-principal > li:hover .submenu{
    display: block;
}

.submenu > li{
    display: block;
    background-color: rgba(255,255,255,0.9);
}

.submenu > li > a{
    text-align: left;
    display: block;
    font-size: 1.1rem;
    padding: 10px 15px;
    border-bottom: 1px solid #eaeaea;
}

.submenu > li > a:hover{
    background-color: #657ee2;
    color: #fff;
}


/******************************Estilos para enlaces básicos **************************************/

a.enlace{
    display: inline-block;
    padding: 3px;
    color: #445E9B;
    margin-left: 10px;
    transition: all ease 0.3s;
    border-bottom: 1px solid transparent;
}

a.enlace i{
    margin: 0 0 0 5px;
    color: #8D2F31;
}

a.enlace:hover i{
    color: #D93438;
}

a.enlace:hover{
    border-bottom: 1px solid #eaeaea;
}

/******************************Estilos para enlaces Botón **************************************/

a.boton{
    display: inline-block;
    padding: 15px;
    transition: all ease 0.3s;
}

a.boton.blanco{
    display: inline-block;
    background-color: #fff;
    color: #1f4477;
}

a.boton.blanco:hover{
    background-color: #ccc;
    color: #1f4477;
}

a.boton.rojo{
    display: inline-block;
    background-color: #8D2F31;
    color: #fff;
}

a.boton.rojo:hover{
    display: inline-block;
    background-color: #D93438;
    color: #fff;
}

a.boton i{
    margin-right: 5px;
    color: #ccc;
}

a.boton:hover i{
    color: #5b87a4;
}

a.boton:hover{
    background-color: #eaeaea;
}

.inicio{
    position: fixed;
    top: 10px;
    right: 10px;
}

/******************************Estilos para elementos principales de datos **************************************/

.principales{
    position: relative;
    border-bottom: 2px solid #8D2F31;
}

.principal{
    position: relative;
    margin: 0 auto;
}

.principal > i{
    position: relative;
    color: #8D2F31;
    margin-bottom: 5px;
}

.principal > .texto{
    position: relative;
    font-size: 1.5em;
    font-weight: 600;
    color: #7e7e7e;
}


/******************************Estilos para el panel de información general **************************************/

.panel-info{
    width: 100%;
    background-color: #fff;
    overflow: hidden;
    border: 1px solid #eaeaea;
}

.panel-info > img{
    margin: 5px 10px;
    width: 35%;
    height: auto;
    float: left;
}

.panel-info > .titulo{
    padding: 5px;
    font-weight: bold;
    font-size: 1.3em;
    color: #1f4477;
}

.panel-info > .parrafo{
    padding: 10px;
    font-size: 1rem;
    color: #777;
}

.panel-info > .enlace{
    padding: 10px;
}


/******************************Estilos para las secciones **************************************/

.titulo-seccion{
    display: table;
    font-size: 3rem;
}

.titulo-seccion > i{
    display: table-cell;
    margin-right: 10px;
    color: #8D2F31;
}

.titulo-seccion > .titulo{
    display: table-cell;
    font-family:"Barlow Semi Condensed",sans-serif;
}


.info-titulo{
    font-family:"Barlow Semi Condensed",sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    margin: 10px 0 15px 0;
}

.info-parrafo{
    font-size: 1.1rem;
    letter-spacing: .3px;
    line-height: 130%;
    color: #555;
}


.delegar-fondo,.delegar-valores,.delegar-portafolio{
    position: relative;
    width: 100%;
    height: 250px;
}


/******************************Estilos para el Formulario **************************************/

.formulario{
    padding: 0 10px;
}

.grupo-form{
    position: relative;
    display: block;
    margin: 0 0 15px 0;
}

.grupo-form label{
    position: relative;
    display: block;
    margin-bottom: 5px;
    font-size: 1rem;
    font-weight: bold;
    color: #1e3348;
}

.grupo-form label.error{
    position: absolute;
    display: block;
    top:20px;
    right: -12px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    line-height: 25px;
    text-align: center;
    background-color: #ffc7c7;
    color: #f00;
    font-size: 2rem;
}

.grupo-form label i{
    margin-right: 10px;
    color: #8D2F31;
}

.grupo-form input,.grupo-form textarea{
    width: 100%;
    padding: 5px;
    background-color: #f8f8f8;
    border: none;
    border: 1px solid #eaeaea;
    border-radius: 3px;
    font-size: 1.3em;
    color: #555;
}

.grupo-form input[type="submit"]{
    display: block;
    background-color: #8D2F31;
    color: #fff;
    font-size: 1.3rem;
    font-family: "Barlow Semi Condensed",sans-serif;
    width: 30%;
    min-width: 150px;
    margin: 0 auto;
    transition: all ease 0.5s;
}

.grupo-form input[type="checkbox"]{
    font-size: 1.3em;
    width: 50px;
    margin: 0 auto;
    transition: all ease 0.5s;
}

.grupo-form input[type="submit"]:hover,.grupo-form input[type="submit"]:focus{
    background-color: #D93438;
    color: #fff;
    cursor: pointer;
}

.respuesta-contacto{
    font-size: 1.3rem;
}

/******************************Estilos para el Footer **************************************/

.footer{
    min-height: 150px;
    background-image: linear-gradient(#555,#000);
    color: #eee;
}

.footer .info{
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.footer i{
    margin-right: 10px;
    color: #D93438;
}

.footer a{
    color: #ccc;
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.footer .titulo{
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.3em;
    color: #fff;
}