/* Banner */

    #banner {
        position: relative;
        background: var(--color-negro-claro);
        padding: 5em 0;
    }

        #banner h2 {
            color: #ffffff;
            font-weight: 300;
            text-transform: none;
            margin-bottom: 2.5rem;
            text-align: right;
            padding-right: 1.5rem;
            line-height: 1.3em;
        }

        #banner a {
            width: fit-content;
            display: block;
            margin: 0 1.5rem 0 auto;
            letter-spacing: 0.0125em;
        }

        #banner .imagen {
            width: 50%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            overflow: hidden;
        }

        #banner .imagen img {
            object-fit: cover;
            object-position: 50% 50%;
            height: 100%
        }
    
    #servicios {
        padding: 4rem 0;
    }

        #servicios p {
            font-size: 1.4em;
            text-align: center;
        }

        #servicios .texto-azul {
            color: var(--color-azul-oscuro);
            font-weight: 700;
        }

        #servicios .titulo-servicios {
            -moz-transition: background 0.5s ease;
			-webkit-transition: background 0.5s ease;
			-ms-transition: background 0.5s ease;
			transition: background 0.5s ease;
            position: relative;
            background: var(--color-gris-claro);
            height: 100%;
            padding: 2rem 0;
            cursor: pointer;
        }

            #servicios .titulo-servicios.activo {
                background: #ffffff;
            }

            #servicios div:nth-child(1n+2) > .titulo-servicios::after {
                content: '';
                display: none;
                position: absolute;
                border-left: solid 2px #ffffff;
                height: calc(100% - 3rem);
                top: 1.5rem;
                left: -2px;
            }

                #servicios div:nth-child(1n+2) > .titulo-servicios::after {
                    display: block;
                }

                #servicios div > .titulo-servicios.activo:after {
                    display: none;
                }

            #servicios .titulo-servicios img {
                width: 100%;
                display: block;
                margin: 0 auto;
                max-width: 5em;
            }

            #servicios .titulo-servicios h3 {
                color: var(--color-gris);
                font-size: 1.4em;
                font-weight: 300;
                font-style: normal;
                margin: 0;
            }
        
        #servicios .cuerpo-servicios {
            padding-top: 6rem;
            padding-bottom: 2rem;
        }

        #servicios .cuerpo-servicios div:first-child {
            padding-left: 2rem;
        }

        #servicios .cuerpo-servicios div:last-child {
            padding-top: 1rem;
            padding-left: 4rem;
        }

            #servicios .cuerpo-servicios p {
                font-size: 1.4em;
                text-align: left;
                margin-bottom: 1.5em;
            }

            #servicios .cuerpo-servicios ul {
                padding-left: 3rem;
            }

                #servicios .cuerpo-servicios ul li {
                    color: var(--color-gris-oscuro);
                    font-size: 1.2em;
                    margin-bottom: 1rem;
                }

    #paquetes {
        padding: 0 0 4rem 0;
        text-align: center;
    }
            
        #paquetes p {
            font-weight: 300;
            font-size: 1.4em;
            line-height: 1.2em;
            margin-bottom: 2rem;
        }
            
        #paquetes .fondo-azul {
            display: inline-block;
            background: var(--color-azul);
            color: #ffffff;
            width: fit-content;
            padding: 0 0.125em 0 0.125em;
        }
            
        #paquetes .texto-azul {
            color: var(--color-azul);
        }

        #paquetes h4 {
            font-size: 1.2em;
        }

        #paquetes table tbody tr {
            background-color: #ffffff;
        }

        #paquetes table tbody tr:nth-child(2n + 1) {
            background-color: #ffffff;
        }

        #paquetes td {
            color: var(--color-gris-oscuro);
            padding: 0 1.5rem ;
            height: 6rem;
            border: none;
            border-right: solid 2px var(--color-gris-fondo);
            vertical-align: middle;
            position: relative;
        }

        #paquetes td img {
            width: 10rem;
            display: block;
            margin: 0 auto;
        }
        
        #paquetes td span {
            border-bottom: solid 2px var(--color-gris-fondo);
            width: calc(100% - 3rem);
            display: block;
            content: '';
            position: absolute;
            bottom: 0;
        }

        #paquetes td:first-child {
            border-left: solid 3px var(--color-gris-fondo);
            padding-right: 3rem;
            text-align: right;
        }

        #paquetes td:last-child {
            border-right: solid 3px var(--color-gris-fondo);
        }

            #paquetes tr:first-child td {
                text-transform: uppercase;
                font-weight: 700;
                font-size: 1em;
                line-height: 1em;
                vertical-align: bottom;
                padding-bottom: 1.5rem;
            }

            #paquetes td:nth-child(2) i {
                color: var(--color-azul);
            }

            #paquetes td:nth-child(3) i {
                color: var(--color-azul-oscuro);
            }
            
            #paquetes td:nth-child(4) i {
                color: var(--color-amarillo);
            }

    #demo {
        background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%), linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.5) 100%), url('../img/home/solicitar-demo.jpg');
        background-size: cover;
        background-position: center, center, 50% 50%;
        padding: 4rem 0;
        text-align: center;
    }

        #demo h3 {
            color: #ffffff;
        }

        #demo h3 b {
            font-weight: 700;
        }

    #portafolio {
        padding: 4rem 0;
        text-align: center;
    }

        #portafolio ul {
            width: 100%;
            padding: 0;
            text-align: center;
        }

            #portafolio ul li {
                display: inline-block;
                padding: 0;
                width: 12%;
            }

                #portafolio ul li a {
                    border-color: transparent;
                }

                    #portafolio ul li a img {
                        -moz-transition: opacity 0.5s ease;
                        -webkit-transition: opacity 0.5s ease;
                        -ms-transition: opacity 0.5s ease;
                        transition: opacity 0.5s ease;
                        width: 100%;
                        margin-top: -20%;
                        margin-bottom: -20%;
                        opacity: 0.7;
                    }

                    #portafolio ul li a:hover img {
                        opacity: 1;
                    }

        #portafolio .owl-carousel img {
            margin-top: -7.5%;
            margin-bottom: -5%;
        }

        #portafolio .flecha {
            position: relative;
            height: 100%;
            background: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0.15) 100%);
        }

        #portafolio .flecha.alt {
            background: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,0.15) 100%);
        }

        #portafolio .flecha i {
            -moz-transition: color 0.5s ease;
			-webkit-transition: color 0.5s ease;
			-ms-transition: color 0.5s ease;
			transition: color 0.5s ease;
            font-size: 3em;
            top: 50%;
            color: var(--color-gris);
        }

            #portafolio .flecha:hover i {
                color: var(--color-gris-oscuro);
            }

    #contacto {
        padding: 4rem 0;
        text-align: center;
    }

        #contacto b {
            color: var(--color-azul);
            font-weight: 700;
        }

        #contacto p {
            font-size: 1.2em;
            color: var(--color-gris);
        }

        #contacto p:first-child {
            font-weight: 300;
            font-size: 2em;
            line-height: 1.2em;
            margin-bottom: 2rem;
        }

        #contacto .fondo-azul {
            display: inline-block;
            background: var(--color-azul);
            color: #ffffff;
            width: fit-content;
            padding: 0 0.125em 0 0.125em;
        }

        #contacto a {
            position: absolute;
            bottom: 0;
        }

        #contacto .row div:last-child {
            position: relative;
        }

    @media screen and (max-width: 1680px) {

    }

    @media screen and (max-width: 1280px) {

        #servicios .cuerpo-servicios div:last-child {
            padding-left: 2rem;
        }

    }

    @media screen and (max-width: 980px) {

        #servicios p br {
            display: none;
        }

        #servicios .cuerpo-servicios div:last-child {
            padding-top: 0;
        }

        #portafolio ul li {
            width: 20%;
        }

        #paquetes td img {
            width: 7rem;
        }
    }

    @media screen and (max-width: 840px) {

        #servicios .cuerpo-servicios div:first-child {
            padding-left: 0;
        }

    }
    
    @media screen and (max-width: 736px) {

        #banner {
            position: relative;
            background: var(--color-negro-claro);
            padding: 17em 0 2em 0;
        }

        #banner .imagen {
            width: 100%;
            height: 15em;
        }

            #banner .imagen img {
                object-position: 50% 0%;
                object-fit: cover;
                width: 100%;
            }

        #servicios {
            padding-bottom: 0;
        }

        #servicios .titulo-servicios {
            padding: 1rem 0;
        }

        #servicios .cuerpo-servicios div:last-child {
            padding-left: 0;
        }

        #servicios .cuerpo-servicios {
            padding-top: 2rem;
            padding-bottom: 0;
        }

            #servicios .cuerpo-servicios ul {
                padding-left: 1rem;
            }

        #portafolio {
            padding-bottom: 0;
        }

            #portafolio ul li {
                width: 24%;
            }

        #contacto p:first-child {
            margin-bottom: 1rem;
        }

        #paquetes td, #paquetes td:first-child, #paquetes tr:first-child td {
            font-size: 0.7em;
            padding: 0 0.5rem;
            text-align: center;
            line-height: 1.2em;
        }

        #paquetes tr:first-child td {
            padding-bottom: 0.5rem;
        }

        #paquetes td span {
            width: calc(100% - 1rem);
        }

        #paquetes td img {
            width: 4.5rem;
        }
    }

    @media screen and (max-width: 480px) {

        #portafolio ul li {
            width: 35%;
        }

        #contacto a {
            position: relative;
            margin-top: 1rem;
        }

        #paquetes td {
            height: 4rem;
        }

        #paquetes td img {
            width: 2.5rem;
        }

    }