    /*! HTML5 Boilerplate v6.1.0 | MIT License | https://html5boilerplate.com/ */
    /*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
    /* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

    html {
        color: #222;
        font-size: 1em;
        line-height: 1.4;
    }
    /*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

     ::-moz-selection {
        background: #b3d4fc;
        text-shadow: none;
    }

     ::selection {
        background: #b3d4fc;
        text-shadow: none;
    }
    /*
 * A better looking default horizontal rule
 */

    hr {
        display: block;
        height: 1px;
        border: 0;
        border-top: 1px solid #ccc;
        margin: 1em 0;
        padding: 0;
    }
    /*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

    audio,
    canvas,
    iframe,
    img,
    svg,
    video {
        vertical-align: middle;
    }
    /*
 * Remove default fieldset styles.
 */

    fieldset {
        border: 0;
        margin: 0;
        padding: 0;
    }
    /*
 * Allow only vertical resizing of textareas.
 */

    textarea {
        resize: vertical;
    }
    /* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

    .browserupgrade {
        margin: 0.2em 0;
        background: #ccc;
        color: #000;
        padding: 0.2em 0;
    }
    /* ==========================================================================
   Author's custom styles
   ========================================================================== */

    html {
        box-sizing: border-box;
    }

    *,
    *:before,
    *:after {
        box-sizing: inherit;
    }

     :focus {
        outline: none;
    }

    body {
        background-color: #ffffff;
        font-family: 'Open Sans', sans-serif;
    }
    /*** Globales ***/

    .contenedor {
        width: 98%;
        margin: 0 auto;
    }

    @media only screen and (min-width:480px) {
        .contenedor {
            width: 95%;
        }
    }

    @media only screen and (min-width:768px) {
        .contenedor {
            width: 90%;
        }
    }

    @media only screen and (min-width:992px) {
        .contenedor {
            width: 90%;
            max-width: 1100px;
        }
    }

    .seccion {
        padding: 30px 0;
    }

    h2 {
        color: #3cd8e5;
        font-family: 'oswald', sans-serif;
        font-size: 2.4em;
        font-weight: bold;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        text-align: center;
    }

    h3 {
        font-family: 'oswald', sans-serif;
        font-size: 2.4em;
        color: #0071d7;
        text-transform: uppercase;
        text-align: left;
    }

    p {
        color: rgb(0, 0, 0);
    }

    .button {
        background-color: #3cd8e5;
        padding: 10px 40px;
        color: #0071d7;
        font-weight: bold;
        font-family: 'PT Sans', sans-serif;
        text-decoration: none;
        font-size: .9em;
        margin-top: 20px;
        display: inline-block;
        transition: all .3s ease;
        border: 2px solid #0071d7;
        border-radius: 15px;
    }

    .button:hover {
        background-color: #3cd8e5;
        color: #0071d7;
        border-radius: 0px 25px;
        font-style: italic;
        font-size: 1.3em;
    }
    /**************************************** imagen Site **************************************/

    div.img-front {
        background-image: linear-gradient( rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url(../img/banner/banner1.png);
        height: 100vh;
        background-position: top center;
        background-size: cover;
        background-attachment: fixed;
    }

    div.contenido-front {
        padding-top: 10px;
    }

    nav.redes-sociales {
        text-align: center;
    }

    nav.redes-sociales a {
        color: #ffffff;
        font-size: 2em;
        margin-right: 20px;
        margin-top: 0;
    }

    nav.redes-sociales a.fb:hover {
        color: #3b5998;
    }

    nav.redes-sociales a.tw:hover {
        color: #38A1F3;
    }

    nav.redes-sociales a.pt:hover {
        color: #BD081C;
    }

    nav.redes-sociales a.yt:hover {
        color: #ED3833;
    }

    nav.redes-sociales a.it:hover {
        color: #c32aa3;
    }

    nav.redes-sociales a:last-child {
        margin-right: 0;
    }
    /***************************************************** VIDEO 1  *****************************/

    div.video1 {
        text-align: center;
    }
    /****************************************************  BANNER 2   ***************************/

    div.img-proyeccion {
        background-image: linear-gradient( rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url(../img/banner/banner3.png);
        height: 100vh;
        background-position: top center;
        background-size: cover;
        background-attachment: fixed;
    }

    div.proyeccion-pres {
        color: #ffffff;
        text-align: center;
        padding-top: 40px;
    }

    p.proyectemos {
        color: #0071d7;
        font-family: 'PT Sans', sans-serif;
        font-weight: bold;
        text-transform: none;
        font-size: 4em;
    }

    p.planes {
        font-family: 'Georgia', sans-serif;
        font-style: italic;
        text-transform: none;
        font-size: 2em;
    }
    /************************************************************ Footer *************************************************/

    div.img-footer {
        background-image: linear-gradient( rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url(../img/banner/banner5.png);
        height: 100vh;
        background-position: top center;
        background-size: cover;
        background-attachment: fixed;
    }

    footer {
        margin-top: 10px;
    }

    footer .contenedor>div {
        color: #ffffff;
        font-size: 12px;
        text-align: justify;
    }

    footer nav.redes-sociales {
        text-align: center;
        padding-top: 20px;
    }

    footer nav.redes-sociales a {
        color: rgb(197, 192, 192);
        font-size: 2em;
        margin-right: 20px;
        margin-top: 0px;
    }
    /* ****************===============   Estilos Nosotros  =============== ********************/

    div.img-nosotros {
        background-image: linear-gradient( rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/nosotros.jpg);
        height: 100vh;
        width: 100%;
        background-position: top center;
        background-size: cover;
        background-attachment: fixed;
    }

    div.contenido-nosotros {
        text-align: center;
        padding: 150px 15px 15px 15px;
    }

    div.contenido-nosotros p {
        color: #ffffff;
        font-family: 'PT Sans', sans-serif;
        text-transform: none;
        font-size: 1em;
    }

    p.texto-nosotros span {
        font-weight: bold;
        font-style: italic;
    }

    article img {
        border-radius: 120px;
        float: left;
        margin: 30px 30px 10px 20px;
        width: 400px;
        box-shadow: 0px 0px 50px #666;
    }

    article p {
        color: #fff;
        font-family: 'PT Sans', sans-serif;
        font-size: 1.2em;
        line-height: 1.5;
        text-align: center;
        padding: 95px 10px 0 10px;
    }

    div.contenido-mision p {
        color: #fff;
        font-family: 'PT Sans', sans-serif;
        font-size: 1.2em;
        line-height: 1.5;
        text-align: justify;
        padding: 15px;
    }

    div.contenido-mision>img {
        float: left;
        width: 80%;
        margin-left: 50px;
    }

    @media only screen and (min-width: 768px) {
        div.img-nosotros {
            background-image: linear-gradient( rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/nosotros.jpg);
            height: 100vh;
            background-position: top center;
            background-size: cover;
            background-attachment: fixed;
        }
        div.contenido-nosotros {
            text-align: center;
            padding: 200px 150px 0 150px;
        }
        div.contenido-nosotros p {
            color: #ffffff;
            font-family: 'PT Sans', sans-serif;
            text-transform: none;
            font-size: 1.8em;
        }
        div.contenido-nosotros p {
            color: #ffffff;
            font-size: 1.8em;
            font-family: 'PT Sans', sans-serif;
            text-transform: none;
        }
        p.texto-nosotros span {
            font-weight: bold;
            font-style: italic;
        }
        article img {
            border-radius: 120px;
            float: left;
            margin: 30px 30px 0 0;
            width: 400px;
            box-shadow: 0px 0px 50px #666;
        }
        article p {
            color: #fff;
            font-family: 'PT Sans', sans-serif;
            font-size: 1.2em;
            line-height: 1.5;
            text-align: justify;
            padding: 95px 200px 0 0;
        }
        div.contenido-mision p {
            color: #fff;
            font-family: 'PT Sans', sans-serif;
            font-size: 1.2em;
            line-height: 1.5;
            text-align: justify;
        }
        div.contenido-mision>img {
            float: left;
            width: 60%;
            margin-left: 250px;
        }
    }
    /******** ===============   Estilos Servicios /  ===============*********/
    /***  Desarrollo Web  ***/

    ul.desarrollo-web>li {
        padding: 10px;
        list-style: none;
    }

    ul.desarrollo-web>p {
        color: rgb(192, 192, 197);
        font-size: 1.3em;
    }

    @media only screen and (min-width: 768px) {
        ul.desarrollo-web>p {
            color: rgb(192, 192, 197);
            font-size: 1.3em;
        }
        ul.desarrollo-web>li {
            float: left;
            width: 33%;
            list-style: none;
        }
    }

    li.servicio-header>div.cuadro-servicio {
        padding-top: 0px;
    }

    div.cuadro-servicio>ul.lista {
        text-align: left;
    }

    li.servicio-header>div.cuadro-servicio:hover {
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
    }

    div.cuadro-servicio>h3.titulo {
        background-color: #353535;
        color: #0071d7;
        font-size: 2.5em;
        font-weight: bold;
        margin-top: 0px;
    }
    /***  Desarrollo Aplicaciones Moviles  ***/

    div.apps {
        margin-bottom: 70px;
    }

    div.img-apps {
        background-image: linear-gradient( rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/app.jpg);
        height: 100vh;
        background-position: top center;
        background-size: cover;
        background-attachment: fixed;
    }

    div.apps-texto {
        display: block;
        color: #ffffff;
        text-align: center;
    }

    p.apps-txt1 {
        color: #0071d7;
        font-family: 'PT Sans', sans-serif;
        font-weight: bold;
        text-transform: none;
        font-size: 3em;
        margin-bottom: 10px;
    }

    p.apps-txt2 {
        color: #fff;
        font-family: 'Georgia', sans-serif;
        font-style: italic;
        text-transform: none;
        font-size: 1.3em;
        padding: 10px;
        margin-bottom: 50px;
    }

    @media only screen and (min-width: 768px) {
        div.img-apps {
            background-image: linear-gradient( rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/app.jpg);
            height: 100vh;
            background-position: top center;
            background-size: cover;
            background-attachment: fixed;
        }
        div.apps-texto {
            color: #ffffff;
            text-align: center;
            padding-top: 40px;
        }
        p.apps-txt1 {
            color: #0071d7;
            font-family: 'PT Sans', sans-serif;
            font-weight: bold;
            text-transform: none;
            font-size: 4em;
        }
        p.apps-txt2 {
            color: #fff;
            font-family: 'Georgia', sans-serif;
            font-style: italic;
            text-transform: none;
            font-size: 2em;
            padding: 10px;
        }
    }
    /***  Marketing Digital  ***/

    div.img-mktd {
        background-image: linear-gradient( rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/Market-dig.jpg);
        height: 100vh;
        background-position: top center;
        background-size: cover;
        background-attachment: fixed;
    }

    div.mktd-texto {
        display: block;
        color: #ffffff;
        text-align: center;
    }

    p.mktd-txt2 {
        color: #fff;
        font-family: 'Georgia', sans-serif;
        font-style: italic;
        text-transform: none;
        font-size: 1.3em;
        padding: 50px 10px 10px 10px;
    }

    @media only screen and (min-width: 768px) {
        div.img-mktd {
            background-image: linear-gradient( rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/Market-dig.jpg);
            height: 100vh;
            background-position: top center;
            background-size: cover;
            background-attachment: fixed;
        }
        div.mktd-texto {
            color: #ffffff;
            text-align: center;
            padding-top: 40px;
        }
        p.mktd-txt2 {
            color: #fff;
            font-family: 'Georgia', sans-serif;
            font-style: italic;
            text-transform: none;
            font-size: 2em;
            margin-top: 150px;
            padding: 10px;
        }
    }
    /***  Plataforma educativa  ***/

    div.img-academic {
        background-image: linear-gradient( rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/Educacion.jpg);
        height: 100vh;
        background-position: top center;
        background-size: cover;
        background-attachment: fixed;
    }

    div.acad-texto {
        color: #ffffff;
        text-align: center;
        padding-top: 40px;
    }

    p.acad-txt2 {
        color: #fff;
        font-family: 'Georgia', sans-serif;
        font-style: italic;
        text-transform: none;
        font-size: 1.2em;
        margin-top: 10px;
        padding: 10px;
    }

    @media only screen and (min-width: 768px) {
        div.img-academic {
            background-image: linear-gradient( rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/Educacion.jpg);
            height: 100vh;
            background-position: top center;
            background-size: cover;
            background-attachment: fixed;
        }
        div.acad-texto {
            color: #ffffff;
            text-align: center;
            padding-top: 40px;
        }
        p.acad-txt2 {
            color: #fff;
            font-family: 'Georgia', sans-serif;
            font-style: italic;
            text-transform: none;
            font-size: 2em;
            margin-top: 150px;
            padding: 10px;
        }
    }
    /* ****************===============   Estilos Contactos  =============== ********************/
    /* Formulario */

    .form_wrap {
        background-color: whitesmoke;
        width: 1050px;
        height: 530px;
        margin: 50px auto;
        display: flex;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
    }
    /* Informacion de contacto */

    .contact_info::before {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #4091EC;
        opacity: 0.6;
    }

    .contact_info {
        align-items: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 38%;
        position: relative;
        background-image: url('../img/Rascacielos.jpg');
        background-size: cover;
        background-position: center center;
    }

    .info_title,
    .info_items {
        position: relative;
        z-index: 2;
        color: #ffffff;
    }

    .info_title {
        margin-bottom: 60px;
    }

    .info_title span {
        font-size: 100px;
        display: block;
        text-align: center;
        margin-bottom: 15px;
    }

    .info_title h2 {
        font-size: 35px;
        text-align: center;
    }

    .info_items p {
        display: flex;
        align-items: center;
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 16px;
    }

    .info_items p:nth-child(1) span {
        font-size: 30px;
        margin-right: 10px;
    }

    .info_items p:nth-child(2) span {
        font-size: 40px;
        margin-right: 15px;
    }
    /* Formulario de contacto */

    form.form_contact {
        width: 62%;
        padding: 30px 40px;
    }

    form.form_contact h2 {
        font-size: 25px;
        font-weight: 600;
        color: #303030;
        margin-bottom: 30px;
    }

    form.form_contact .user_info {
        display: flex;
        flex-direction: column;
    }

    form.form_contact label {
        font-weight: 600;
    }

    form.form_contact input,
    form.form_contact textarea {
        background-color: whitesmoke;
        border: none;
        border-bottom: 2px solid #d1d1d1;
        color: #5a5a5a;
        font-size: 14px;
        font-weight: 400;
        font-family: 'Open sans';
        margin-bottom: 20px;
        width: 100%;
        padding: 8px 0px 5px;
    }

    form.form_contact textarea {
        max-width: 100%;
        min-width: 100%;
        max-height: 90px;
    }
    /************   Ventana de errores *************/

    .modal_wrap {
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.7);
        position: fixed;
        top: 0;
        left: 0;
        z-index: 3;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .mensaje_modal {
        background-color: #ffffff;
        box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);
        width: 400px;
        padding: 30px 20px 15px;
    }

    .mensaje_modal h3 {
        text-align: center;
        font-family: 'Ubuntu';
        font-size: 20px;
        font-weight: 400;
    }

    .mensaje_modal h3:after {
        content: '';
        display: block;
        width: 100%;
        height: 1px;
        background: #c5c5c5;
        margin: 10px 0px 15px;
    }

    .mensaje_modal p {
        font-size: 16px;
        color: #606060;
    }

    .mensaje_modal p:before {
        content: "\f410";
        font-family: "Font Awesome 5 Free";
        display: inline-block;
        color: #E25151;
        margin-right: 8px;
    }

    #btnClose {
        display: inline-block;
        padding: 3px 10px;
        margin-top: 10px;
        background: #E25151;
        color: #fff;
        border: 2px solid #B14141;
        cursor: pointer;
        float: right;
    }
    /* ======================  Mensaje de Envio  ==============*/

    .mensaje-exito {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .mensaje-exito h1 {
        font-size: 35px;
        display: block;
        text-align: center;
        margin-bottom: 20px;
    }

    .mensaje-exito a {
        display: block;
        padding: 10px 30px;
        background: #4091EC;
        text-decoration: none;
        color: #fff;
    }

    .mensaje-exito a:hover {
        background: #3371B6;
    }
    /* ==========================================================================
   Helper classes
   ========================================================================== */
    /*
 * Hide visually and from screen readers
 */

    .hidden {
        display: none !important;
    }
    /*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

    .visuallyhidden {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */
    }
    /*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

    .visuallyhidden.focusable:active,
    .visuallyhidden.focusable:focus {
        clip: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        position: static;
        width: auto;
        white-space: inherit;
    }
    /*
 * Hide visually and from screen readers, but maintain layout
 */

    .invisible {
        visibility: hidden;
    }
    /*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

    .clearfix:before,
    .clearfix:after {
        content: " ";
        /* 1 */
        display: table;
        /* 2 */
    }

    .clearfix:after {
        clear: both;
    }
    /* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

    @media only screen and (min-width: 35em) {
        /* Style adjustments for viewports that meet the condition */
    }

    @media print,
    (-webkit-min-device-pixel-ratio: 1.25),
    (min-resolution: 1.25dppx),
    (min-resolution: 120dpi) {
        /* Style adjustments for high resolution devices */
    }
    /* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

    @media print {
        *,
        *:before,
        *:after {
            background: transparent !important;
            color: #000 !important;
            /* Black prints faster */
            -webkit-box-shadow: none !important;
            box-shadow: none !important;
            text-shadow: none !important;
        }
        a,
        a:visited {
            text-decoration: underline;
        }
        a[href]:after {
            content: " (" attr(href) ")";
        }
        abbr[title]:after {
            content: " (" attr(title) ")";
        }
        /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
        a[href^="#"]:after,
        a[href^="javascript:"]:after {
            content: "";
        }
        pre {
            white-space: pre-wrap !important;
        }
        pre,
        blockquote {
            border: 1px solid #999;
            page-break-inside: avoid;
        }
        /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */
        thead {
            display: table-header-group;
        }
        tr,
        img {
            page-break-inside: avoid;
        }
        p,
        h2,
        h3 {
            orphans: 3;
            widows: 3;
        }
        h2,
        h3 {
            page-break-after: avoid;
        }
    }
