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


/* BASE */

@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Open+Sans:300,400,700');
body {
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    background: #fff;
    font-size: 16px;
    color: #111111;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    margin: 0px;
    display: block;
}

h1, .h1 {
    font-size: 30px;
}

h2, .h2 {
    font-size: 26px;
}

h3, .h3 {
    font-size: 22px;
}

h4, .h4 {
    font-size: 18px;
}

h5, .h5 {
    font-size: 14px;
}

h6, .h6 {
    font-size: 10px;
}

p {
    font-weight: 300;
}

section {
    overflow: hidden;
}

ul, li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.uppercase {
    text-transform: uppercase;
}

.line {
    display: block;
    width: 100%;
    margin: 5px 0;
    height: 1px;
    background: #fff;
}

.btn-default {
    box-sizing: border-box;
    background: transparent;
    color: #323b62;
    border: 1px solid #323b62;
    border-radius: 10px;
    font-size: 20px;
    padding: 10px 30px;
}

.btn-default:hover, .btn-default:active, .btn-default:active:hover, .btn-default:focus {
    border: 1px solid #9ed0f3 !important;
    background-color: #9ed0f3 !important;
    color: #fff !important;
}

.titulo {
    color: #664c8e;
}

.titulo span {
    font-weight: 700;
}

.bx-wrapper {
    margin: 0;
}

.bx-wrapper img {
    height: 170px;
    object-fit: contain;
}

.brand-primary-color {
    color: #323b62;
}

.brand-secondary-color {
    color: #ec850e;
}

.controls-container {
    position: relative;
}

.controls {
    z-index: 100;
    position: absolute;
    min-width: 60px;
    top: 0;
    bottom: 0;
}

.controls img {
    width: 30px;
}

.controls.left {
    left: 10px;
}

.controls.right {
    position: absolute;
    right: 10px;
    left: unset;
}

.formulario-contenedor {
    background: #eee;
    padding: 30px;
}

#botonCompra {
    height: 40px;
}


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


/* HEADER */

#header {
    background: #654c8e;
    height: 94px;
}

.background-no-banner {
    height: 136px;
    background: #654c8e;
}

.pre-nav .container {
    height: 100%;
    line-height: 27px;
}

.pre-nav {
    height: 30px;
    background: #eee;
    text-align: right;
}

.pre-nav a, .pre-nav span {
    font-size: 13px;
    color: #666;
}

.navbar-default {
    background: #fff;
    margin: 0;
    border: unset;
    border-radius: unset;
    transition: all 400ms;
}

.navbar-nav.navbar-nav-smaller {
    background: grey;
}

.navbar-fixed-top {
    top: 30px;
}

.alter .navbar-fixed-top {
    top: 0px;
    height: unset;
}

.navbar-default .navbar-nav li a, .navbar-default .navbar-brand {
    color: #3d2165;
    padding: 22px 20px;
    font-weight: 300;
    font-size: 14px;
}

.alter .navbar-default .navbar-nav li a, .alter .navbar-default .navbar-brand {
    padding: 15px 25px;
}

.navbar-default .navbar-brand img {
    position: absolute;
    top: -25px;
    height: 110px;
    object-fit: cover;
}

.alter .navbar-default .navbar-brand img {
    position: absolute;
    top: -35px;
    height: 100px;
}

.navbar-default .navbar-brand {
    font-weight: 700;
    font-size: 40px;
    color: #fff;
    height: 0;
    width: 0;
}

.navbar-default .navbar-collapse {
    border: unset;
}

.navbar-default .navbar-toggle .icon-bar {
    background: #c8598a;
}

.navbar-default .navbar-nav>li {
    position: relative;
}

.nav-pills li a:hover, .nav-pills li a:active, .nav-pills li a:active:hover, .nav-pills li a:focus {
    background: #654c8e;
    color: #fff;
    border-radius: unset;
}

.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
    background: #eee;
    color: #654c8e;
    pointer-events: none;
    border-radius: unset;
}

.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus, .navbar-default .navbar-nav>.active>a:hover {
    background: #eee;
    color: #3d2165;
}

.navbar-default .navbar-nav li a:hover, .navbar-default .navbar-nav li a:active, .navbar-default .navbar-nav li a:active:hover, .navbar-default .navbar-nav li a:focus {
    background: #654c8e;
    text-align: center;
    height: 100%;
    width: 100%;
    color: #fff;
}

.alter .navbar-default .navbar-nav li a:hover, .alter .navbar-default .navbar-nav li a:active, .alter .navbar-default .navbar-nav li a:active:hover, .alter .navbar-default .navbar-nav li a:focus {
    text-align: left;
}

.navbar-fixed-top .navbar-collapse {
    /*100vh - altura del nav*/
    max-height: calc(100vh - 48px);
    overflow-y: auto;
}

.navbar-default .navbar-nav .dropdown li a {
    text-align: left;
}

.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:focus,
.navbar-default .navbar-nav>.open>a:hover {
    color: #3d2165;
    background-color: #e7e7e7;
}

.navbar-default .navbar-nav .open .dropdown-menu>li>a {
    color: #5a3a80;
}

.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,
.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus {
    color: #fff;
    background-color: #654c8e;
}

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


/* BANNER */

#banner {
    color: #fff;
}

#banner .imagen::after {
    padding-top: 0;
    min-height: 200px;
}

#banner.apartado .imagen::after {
    min-height: 200px;
}

#banner .controls img {
    border-radius: 50%;
    background: #fff;
    height: 90px;
    width: 90px;
    text-align: center;
    padding: 10px;
}

#banner .controls.left {
    left: 30px;
}

#banner .controls.right {
    right: 30px;
}

#banner h2, #banner .h2 {
    font-size: 62px;
    font-weight: 700;
    letter-spacing: 15px;
}

#banner h3, #banner .h3 {
    font-size: 36px;
    font-weight: 300;
    letter-spacing: 20px;
}

#banner .bx-item {
    background-blend-mode: darken;
}


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


/* SUB-BANNER */

#lista-informacion {
    color: #fff;
    overflow: unset;
}

#lista-informacion .contenedor-informacion {
    margin-top: -140px;
}

#lista-informacion .contenedor-informacion .img>img {
    position: relative;
    width: 60%;
    height: 60%;
}

#lista-informacion .informacion {
    margin-bottom: 50px;
}

#lista-informacion .informacion .informacion-container {
    padding: 20px;
    position: relative;
    flex-direction: column;
    width: 100%;
}

#lista-informacion .informacion:nth-child(1) .informacion-container, #lista-informacion .informacion:nth-child(1) .informacion-container .img-container {
    background: #a397c1;
}

#lista-informacion .informacion:nth-child(2) .informacion-container, #lista-informacion .informacion:nth-child(2) .informacion-container .img-container {
    background: #c8598a;
}

#lista-informacion .informacion:nth-child(3) .informacion-container, #lista-informacion .informacion:nth-child(3) .informacion-container .img-container {
    background: #a397c1;
}

#lista-informacion .informacion .informacion-container .img-container {
    border-radius: 50%;
    height: 70px;
    width: 70px;
    position: absolute;
    top: -40px;
    left: calc(50% - 35px);
}

#lista-informacion .informacion .informacion-container h2, #lista-informacion .informacion .informacion-container .h2 {
    font-size: 16px;
    font-weight: 700;
}

#lista-informacion .informacion .informacion-container p {
    font-size: 14px;
}

#lista-informacion .frase p {
    font-size: 30px;
    color: #6b70af;
    font-style: italic;
}

#lista-informacion .line {
    display: inline-block;
    background: #6b70af;
    width: 50%;
    height: 2px;
}


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


/* QUIÉNES-SOMOS */

#quienes-somos {
    background: #eeeeee;
}

#quienes-somos {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}

#quienes-somos .line {
    display: inline-block;
    background: #6b70af;
    width: 50%;
    height: 2px;
}

#quienes-somos .titulo {
    color: #a99bbc;
    font-size: 40px;
}

#quienes-somos .btn.btn-default {
    background: #a997c4;
    padding: 5px 25px;
    border: 1px solid #a997c4;
    color: #fff;
    font-size: 14px;
}

#quienes-somos p {
    font-size: 18px;
    color: #767676;
}

#quienes-somos .contenido p:first-of-type {
    font-weight: 700;
}


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


/* COMENTARIOS */

#comentarios {
    background: #ce7bc8;
    color: #fff;
}

#comentarios .comentario p:first-of-type {
    font-style: italic;
}

#comentarios .controls.left {
    left: -60px;
}

#comentarios .controls.right {
    right: -60px;
}


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


/* NOTICIAS */

#noticias .bloque-noticia:nth-child(odd) {
    text-align: right;
}

#noticias .bloque-noticia {
    padding: 20px;
}

#noticias .bloque-noticia.inside {
    padding: 5px;
}

#noticias .bloque-noticia:nth-child(odd) .imagen-noticia {
    justify-content: flex-start;
}

#noticias .bloque-noticia .imagen-noticia {
    justify-content: flex-end;
}

#noticias .bloque-noticia.inside .img::after {
    padding-top: 40%;
}

#noticias .bloque-noticia .imagen-noticia img {
    max-height: 250px;
    max-width: 100%;
}

#noticias .bloque-noticia .fecha {
    font-weight: 700;
    color: #ac9fd0;
}

#noticias .titulo {
    color: #664c8e;
}

#noticias .bloque-noticia .titulo {
    font-weight: 700;
    color: #64528b;
}

#noticias .bloque-noticia .texto {
    color: #b2b2b2;
}

#noticias .bloque-noticia.inside .texto {
    color: #909090;
}

#noticias .bloque-noticia:nth-child(odd) .btn.btn-default {
    background: #e6588e;
    padding: 5px 25px;
    border: 1px solid #e6588e;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

#noticias .btn.btn-default {
    background: #3098d1;
    padding: 5px 25px;
    border: 1px solid #3098d1;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

#noticias .input-group-addon, .input-group-btn {
    width: unset;
}

#noticias .breadcrumb-container {
    background: #f5f5f5;
    height: 38px;
}

#noticias .btn-primary {
    color: #fff;
    background-color: #654c8e;
    border-color: #654c8e;
}


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


/* COMO-PODEMOS-AYUDARTE */

#como-podemos-ayudarte {
    background: #ce7bc8;
    color: #fff;
}

#como-podemos-ayudarte .titulo {
    color: #fff;
}

#como-podemos-ayudarte .modal-footer {
    color: #333;
}

#como-podemos-ayudarte .btn.btn-default {
    background: #fff;
    padding: 10px 35px;
    border: 1px solid #fff;
    color: #ca7fc7;
    font-size: 14px;
}


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


/* NUESTROS-CLIENTES */

#nuestros-clientes .controls.left {
    left: -60px;
}

#nuestros-clientes .controls.right {
    right: -60px;
}


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


/* TESTIMONIOS */

.lista-testimonios {
    background: inherit;
}
.lista-testimonios .img>img {
    object-fit: cover;
}

.lista-testimonios li {
    padding: 20px 0px;
}

.lista-testimonios h3 span {
    border-bottom: 2px solid #eee;
}

.lista-testimonios .testimonio {
    font-style: italic;
    line-height: 30px;
    padding: 20px;
    padding-top: 70px;
    text-align: center;
    background: #a397c1;
    color: white;
    margin: 15px;
    margin-bottom: 40px;
    position: relative;
    width: 100%;
}

.lista-testimonios .testimonio .img {
    position: absolute;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    border: 10px solid #a397c1;
    background: #a397c1;
    overflow: hidden;
    display: inline-block;
    top: -75px;
    left: 50%;
    margin-left: -75px;
}

.lista-testimonios .testimonio .img::after {
    padding-top: 20%;
}

.lista-testimonios .testimonio .small {
    font-style: normal;
}

.lista-testimonios .testimonio .testimonio-contenido {
    line-height: 20px;
    text-align: left;
    font-size: 16px;
    font-style: normal;
    height: 150px;
}
.lista-testimonios-3 .testimonio .close {
    position: absolute;
    top: 9px;
    right: 20px;
    color: #fff;
    font-size: 30px;
}
.lista-testimonios-3 {
    margin-top: 80px;
}
.lista-testimonios-3 .testimonio {
    margin: 0;
}
.lista-testimonios-3 .testimonio .testimonio-contenido {
    height: unset;
}
.lista-testimonios .testimonio .testimonio-contenido::after {
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgb(163, 151, 193) 90%);
    width: 100%;
    height: 45%;
    position: absolute;
    content: "";
    display: block;
    bottom: 0;
    left: 0;
}
.lista-testimonios-3 .testimonio .testimonio-contenido::after {
    display: none;
}
.lista-testimonios .testimonio .testimonio-contenido span.btn {
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 10px;
    z-index: 10;
}
.lista-testimonios .testimonio .testimonio-contenido span.btn:hover, .lista-testimonios .testimonio .testimonio-contenido span.btn:active {
    background: rgba(255,255,255,0.2);
    color: #eee;
}

.formulario-contenedor .form-group label.text-white {
    color: #fff;
}


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


/* FOOTER */

footer {
    background: #654c8e;
    color: #efefef;
}

footer a {
    color: #eee;
}

footer a:hover, footer a:active, footer a:active:hover, footer a:focus {
    color: #fff;
}

footer p {
    font-size: 14px;
    font-weight: 700;
}

footer p.smaller {
    font-size: 14px;
    font-weight: 300;
}

footer p span {
    color: #fff;
    font-weight: 700;
}

footer .redes-sociales-lista a {
    background: #fff;
    color: #654c8e;
    border-radius: 50%;
    font-size: 16px;
    margin: 0 5px;
    padding: 0px;
    height: 30px;
    width: 30px;
    text-decoration: unset;
}

footer .redes-sociales-lista a:hover, footer .redes-sociales-lista a:active, footer .redes-sociales-lista a:active:hover, footer .redes-sociales-lista a:focus {
    background: transparent;
    color: #fff;
}


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


/*


/* MEDIAS */

@media screen and (min-width: 992px) {
    .flex-md-up {
        display: flex;
    }

    .lista-testimonios.lista-testimonios-2 .testimonio .img {
        top: calc(50% - 75px);
        left: 0;
    }
    .lista-testimonios.lista-testimonios-2 .testimonio {
        min-height: 150px;
        padding-top: unset;
        padding: 15px 90px;
        text-align: left;
        max-height: 150px;
    }
    .lista-testimonios.lista-testimonios-2 li {
        padding: 0;
    }
}

@media screen and (max-width: 1200px) {
    .navbar-default .navbar-nav li a, .navbar-default .navbar-brand {
        padding: 22px 12px;
        font-weight: 300;
        font-size: 14px;
    }
    .navbar-default .navbar-brand {
        font-size: 20px;
        color: #fff;
    }
    .controls {
        display: none;
    }
}


/* MEDIAS TABLET */

@media screen and (max-width: 992px) {
    .no-flex-sm {
        display: block;
    }
    #banner .imagen::after {
        height: 300px;
    }
    #banner.apartado .imagen::after {
        height: 200px;
    }
    #lista-informacion .contenedor-informacion {
        margin-top: -80px;
    }
    .navbar-default .navbar-brand img {
        left: 15px;
    }
    .navbar-default .navbar-nav li a, .navbar-default .navbar-brand {
        padding: 22px 2px;
        font-weight: 300;
        font-size: 12px;
    }
    .navbar-default .navbar-brand {
        font-weight: 700;
        font-size: 20px;
        color: #fff;
    }
    #quienes-somos {
        background-image: unset !important;
    }
    #lista-informacion .informacion .informacion-container .img-container {
        top: -30px;
    }
    #banner h2, #banner .h2 {
        font-size: 30px;
    }
    #banner h3, #banner .h3 {
        font-size: 26px;
        letter-spacing: 10px;
    }
    #lista-informacion .frase p {
        font-size: 24px;
    }
}


/* MEDIAS MOBILE */

@media screen and (max-width: 768px) {
    .no-flex-xs {
        display: block;
    }
    #header {
        height: 50px;
    }
    .navbar-default .navbar-nav {
        padding-left: 10px;
    }
    .navbar-default .navbar-nav li a, .navbar-default .navbar-brand {
        padding: 22px 5px;
    }
    #noticias .bloque-noticia:nth-child(odd) {
        text-align: left;
    }
}