@charset "UTF-8";

/*fotogramas*/
@keyframes _carga-floja {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes _carrusel-base-x {
    from {
        width: 0;
        max-width: 0;
        flex-basis: 0
    }
}

@keyframes _carrusel-clon-x {
    to {
        width: 0;
        max-width: 0;
        flex-basis: 0
    }
}

@keyframes _flecha-abajo {
    from {
        transform: scale(1) translate(0, 0)
    }

    to {
        transform: scale(0) translate(0, 25%)
    }
}

@keyframes _flecha-arriba {
    from {
        transform: scale(1) translate(0, 0)
    }

    to {
        transform: scale(0) translate(0, -25%)
    }
}

@keyframes _flecha-derecha {
    from {
        transform: scale(1) translate(0, 0)
    }

    to {
        transform: scale(0) translate(25%, 0)
    }
}

@keyframes _flecha-izquierda {
    from {
        transform: scale(1) translate(0, 0)
    }

    to {
        transform: scale(0) translate(-25%, 0)
    }
}

@keyframes _giro-horario {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

@keyframes _giro-antihorario {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(-360deg)
    }
}

@keyframes _onda {
    0% {
        opacity: 1;
        transform: scale(1)
    }

    50% {
        opacity: 0.5;
        transform: scale(1.1)
    }

    100% {
        opacity: 0;
        transform: scale(1.1)
    }
}

@keyframes _ring {
    0% {
        transform: rotate(0deg)
    }

    5% {
        transform: rotate(-10deg)
    }

    15% {
        transform: rotate(10deg)
    }

    25% {
        transform: rotate(-10deg)
    }

    35% {
        transform: rotate(10deg)
    }

    40% {
        transform: rotate(0deg)
    }
}

/*generales*/
*[style*='background-image'],
img,
.fondo-img {
    filter: saturate(110%)
}

html {
    color: #000
}

option {
    background: #fff;
    color: #000
}

@media(min-width:992px) {

    a,
    button,
    input[type='checkbox'],
    input[type='radio'],
    label,
    select {
        cursor: pointer
    }

    a[href=''],
    a[href='javascript:;'] {
        cursor: default
    }

    a[href*='tel:'] {
        cursor: text
    }

    a:hover img {
        border: none;
        outline: none
    }
}

/*generales formateo*/
del,
strike {
    text-decoration: line-through
}

ins,
u {
    text-decoration: underline
}

/*fuentes*/
/*fuentes icomoon*/
.icon:after {
    display: block;
    height: 1em;
    width: 1em;
    position: absolute;
    left: 0;
    top: 0
}

/*componentes*/
/*componentes cabecera*/
@media print {
    #cabecera

    /* new */
    #cabecera_inner {
        display: none
    }
}

/*componentes sanguche*/
#sanguche,
#sanguche_inner {
    display: block
}

#control-sanguche~#sanguche,
#control-sanguche_inner~#sanguche_inner {
    opacity: 0;
    transition-property: opacity;
    will-change: opacity
}

#control-sanguche:not(:checked)~#sanguche,
#control-sanguche_inner:not(:checked)~#sanguche_inner {
    pointer-events: none
}

#control-sanguche:checked~#sanguche,
#control-sanguche_inner:checked~#sanguche_inner {
    opacity: 1
}

@media print {

    #sanguche,
    #sanguche_inner {
        display: none
    }
}

/*componentes navegador*/
@media print {
    #navegador {
        display: none
    }
}

/*componentes contenedor*/
.contenedor {
    border-color: transparent
}

/*componentes contenido*/
.contenido {
    border-color: transparent
}

/*componentes pie*/
@media print {
    #pie {
        display: none
    }
}

/*componentes calltoaction*/
@media print {
    .calltoaction {
        display: none
    }
}

/*componentes aviso*/
.aviso.cerrado {
    display: none
}

@media print {
    .aviso {
        display: none
    }
}

/*componentes popup*/
.popup {
    display: flex;
    opacity: 0;
    transition: opacity 0.4s;
    will-change: opacity
}

.popup-co0 {
    transform: scale(0.5);
    transform-origin: 50% 33.33%;
    transition: transform 0.4s ease-in;
    will-change: transform
}

.popup:not(.carga) {
    pointer-events: none
}

.popup.carga {
    opacity: 1
}

.popup.carga.completa .popup-co0 {
    transform: scale(1);
    transition-timing-function: cubic-bezier(0, 0.5, 0.5, 1.25)
}

html.popup-abi,
html.popup-abi body {
    overflow: hidden
}

@media(min-width:992px) {

    .popup .popup-cap.popup-cer,
    .popup .popup-btn {
        cursor: pointer
    }
}

@media print {
    .popup {
        display: none
    }
}

/*componentes acordeon*/
.acordeon-tab:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    transition: opacity 0.4s;
    will-change: opacity
}

.acordeon-tab .icon.abajo {
    transition: transform 0.4s;
    will-change: transform
}

.acordeon-pan.panel.activo .acordeon-tab:before {
    opacity: 1
}

.acordeon-pan.panel.activo .acordeon-tab .icon.abajo {
    transform: rotateX(180deg)
}

.acordeon-pan.panel.activo .acordeon-ple {
    height: auto
}

@media(min-width:992px) {
    .acordeon-tab:hover:before {
        opacity: 1
    }
}

/*componentes boton*/
.boton-img img {
    object-fit: contain;
    transition: opacity 0.4s;
    will-change: opacity
}

.boton-img img.cambio {
    opacity: 0
}

.boton.activo img.normal {
    opacity: 0
}

.boton.activo img.cambio {
    opacity: 1
}

.boton.carga .boton-con:after {
    content: '';
    border: 5px solid;
    border-radius: 50%;
    font-size: 25px;
    width: 1em;
    height: 1em;
    margin: -0.5em 0 0 -0.5em;
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    animation: _giro-horario 0.4s linear infinite
}

.boton.carga .boton-ico,
.boton.carga .boton-txt {
    visibility: hidden
}

body:not(.valida) .boton[type='submit'] {
    pointer-events: none
}

@media(min-width:992px) {
    .boton:hover img.normal {
        opacity: 0
    }

    .boton:hover img.cambio {
        opacity: 1
    }
}

/*componentes capa*/
.capa-debajo:before,
.capa-encima:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0
}

@media(min-width:992px) {

    .capa-lg-debajo:before,
    .capa-lg-encima:after {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0
    }
}

/*componentes carrusel*/
.carrusel * {
    -webkit-user-drag: none
}

.carrusel-lis {
    user-select: none
}

.carrusel-pun span {
    pointer-events: none
}

.carrusel.desvanece .carrusel-ite {
    opacity: 0;
    transition-property: opacity;
    will-change: opacity
}

.carrusel.desvanece .carrusel-ite.activo {
    opacity: 1;
    position: relative;
    z-index: 1
}

.carrusel.fila .carrusel-ite.clon {
    position: absolute
}

.carrusel.fila.eje-x .carrusel-ite.clon {
    top: 0
}

.carrusel.fila.eje-y .carrusel-ite.clon {
    left: 0
}

.carrusel.centrado .carrusel-ite {
    transition: linear;
    transition-property: width, max-width, height, max-height, flex-basis
}

.carrusel.centrado .carrusel-ite .floja {
    animation: none !important
}

.carrusel.centrado .carrusel-ite.base,
.carrusel.centrado .carrusel-ite.clon {
    animation: linear forwards
}

.carrusel.centrado .carrusel-ite.base {
    animation-name: _carrusel-base-x
}

.carrusel.centrado .carrusel-ite.clon {
    overflow: hidden;
    animation-name: _carrusel-clon-x
}

/*componentes control*/
.control {
    opacity: 0 !important
}

/*componentes figura*/
.figura img {
    object-fit: cover
}

/*componentes flecha*/
@media(min-width:992px) {

    .flecha:hover .flecha-icon:before,
    .flecha:hover .flecha-icon:after {
        animation: 0.5s ease-out infinite
    }

    .flecha:hover .flecha-icon:after {
        animation-direction: reverse
    }

    .flecha:hover .flecha-icon.abajo:before,
    .flecha:hover .flecha-icon.arriba:after {
        transform-origin: center bottom;
        animation-name: _flecha-abajo
    }

    .flecha:hover .flecha-icon.abajo:after,
    .flecha:hover .flecha-icon.arriba:before {
        transform-origin: center top;
        animation-name: _flecha-arriba
    }

    .flecha:hover .flecha-icon.derecha:before,
    .flecha:hover .flecha-icon.izquierda:after {
        transform-origin: right center;
        animation-name: _flecha-derecha
    }

    .flecha:hover .flecha-icon.derecha:after,
    .flecha:hover .flecha-icon.izquierda:before {
        transform-origin: left center;
        animation-name: _flecha-izquierda
    }
}

/*componentes floja*/
.floja.cargada {
    animation: _carga-floja 1s
}

img.floja:not(.cargada) {
    background: url(../img/precarga.gif) no-repeat center center;
    background-size: 40px 40px
}

.floja:not(img):empty:before {
    content: '';
    border: 5px solid;
    border-radius: 50%;
    display: block;
    font-size: 25px;
    width: 1em;
    height: 1em;
    margin: -0.5em 0 0 -0.5em;
    position: absolute;
    left: 50%;
    top: 50%;
    animation: _giro-horario 0.4s linear infinite
}

/*componentes fondo*/
.fondo,
.fondo-img {
    background: no-repeat center center;
    background-size: cover
}

.fondo-img>img,
.fondo-vid>video {
    object-fit: cover
}

/*componentes formulario*/
.formulario-cam .error {
    color: #f00;
    cursor: default
}

.formulario-con:before {
    content: '';
    background: #fff no-repeat center center;
    background-size: 14px auto;
    border: 1px solid;
    border-radius: 50%;
    display: block;
    font-size: 20px;
    width: 1em;
    height: 1em;
    position: absolute;
    right: calc(-1em - 5px);
    z-index: 2;
    transform: scale(0);
    transition: transform 0.4s;
    will-change: transform
}

.formulario-cam.has-feedback .formulario-con:before {
    transform: scale(1)
}

.formulario-cam.has-feedback.has-error .formulario-con:before {
    background-image: url(../img/form-error.webp);
    border-color: #f00
}

.formulario-cam.adjunto .formulario-con {
    border-color: transparent
}

.formulario-cam.adjunto .formulario-con.activo>.formulario-mar.inicial {
    display: none
}

.formulario-cam.adjunto .formulario-con.activo>.formulario-mar.nombre {
    display: block
}

.formulario-cam.adjunto.has-feedback.has-error {
    border-color: #f00
}

.formulario-cam.caja .formulario-cas i {
    transform: scale(0);
    transition: transform 0.4s cubic-bezier(0, 0.5, 0.5, 1.5);
    will-change: transform
}

.formulario-cam.caja .formulario-con {
    border-color: transparent
}

.formulario-cam.caja .control:checked~.formulario-con .formulario-cas i {
    transform: scale(1)
}

.formulario-cam.caja.has-feedback.has-error .formulario-cas {
    border-color: #f00
}

.formulario-cam.escrito .formulario-con {
    border-color: transparent
}

.formulario-cam.escrito .formulario-mar {
    pointer-events: none
}

.formulario-cam.escrito .formulario-mar span {
    transform-origin: left center;
    transition: transform 0.4s;
    will-change: transform
}

.formulario-cam.escrito .formulario-ctr {
    background: none !important
}

.formulario-cam.escrito .formulario-ctr:disabled {
    cursor: default
}

.formulario-cam.escrito select.formulario-ctr~.formulario-mar {
    color: transparent
}

.formulario-cam.escrito.has-feedback.has-error {
    border-color: #f00 !important
}

.formulario-cam.escrito.has-feedback.has-success .formulario-mar:before {
    transform: scale(1)
}

.formulario-cam.radio .formulario-cas {
    border-radius: 50%
}

.formulario-cam.radio .formulario-cas:before {
    border-radius: inherit;
    transform: scale(0);
    transition: transform 0.4s;
    will-change: transform
}

.formulario-cam.radio .formulario-con {
    border-color: transparent
}

.formulario-cam.radio .control:checked~.formulario-con .formulario-cas:before {
    transform: scale(1)
}

.formulario-cam.radio.has-feedback.has-error .formulario-cas {
    border-color: #f00
}

.formulario-cam.suiche .formulario-cas:before {
    border-radius: 50%;
    transition: transform 0.4s;
    will-change: transform
}

.formulario-cam.visto .formulario-cas {
    transform-origin: right top;
    transition: transform 0.4s;
    will-change: transform
}

.formulario-cam.visto .formulario-cas:before,
.formulario-cam.visto .formulario-cas:after {
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    transition: 0.4s
}

.formulario-cam.visto .formulario-cas:before {
    width: 100%;
    transition-property: opacity;
    will-change: opacity
}

.formulario-cam.visto .formulario-cas:after {
    width: 50%;
    opacity: 0;
    transition-property: opacity;
    will-change: opacity
}

.formulario-cam.visto .formulario-con {
    border-color: transparent
}

.formulario-cam.visto .control:checked~.formulario-con .formulario-cas {
    transform: rotate(45deg)
}

.formulario-cam.visto .control:checked~.formulario-con .formulario-cas:before {
    opacity: 0
}

.formulario-cam.visto .control:checked~.formulario-con .formulario-cas:after {
    opacity: 1
}

.formulario-cam.visto.has-feedback.has-error .formulario-cas:before {
    border-color: #f00 !important
}

/*componentes marco*/
.marco:not(.floja):not(:empty) {
    transition: opacity 0.4s;
    will-change: opacity
}

.marco:empty {
    pointer-events: none
}

.marco:empty:not(.floja) {
    opacity: 0
}

/*componentes menu*/
@media(max-width:991.98px) {
    .menu-tit .icon.abajo {
        transition: transform 0.4s;
        will-change: transform
    }

    .menu-ite.panel.activo .menu-tit .icon.abajo {
        transform: rotateX(180deg)
    }

    .menu-ite.panel.activo .menu-co0 {
        height: auto
    }
}

@media(min-width:992px) {
    /* commented */
    /* .menu-tit {
        cursor: default !important
    } */

    .menu-tit .icon.abajo {
        display: none
    }
}

/*componentes muestra*/
@media(min-width:992px) and (min-height:600px) {
    .muestra-item:not(.activa) {
        transition: none !important
    }

    .muestra-item.activa.activada {
        transition-delay: 0s !important
    }

    .muestra-item.opacidad:not(.activa) {
        opacity: 0 !important
    }

    .muestra-item.opacidad.activa {
        transition: opacity 1s !important;
        will-change: opacity
    }

    .muestra-item.transformacion.activa {
        transform: none;
        transition-property: transform !important;
        will-change: transform
    }
}

/*componentes panel*/
.panel.desvanece {
    opacity: 0;
    transition-property: opacity;
    will-change: opacity
}

.panel.desvanece.activo {
    z-index: 1
}

.panel.desvanece.posicion.activo {
    position: relative
}

@media(min-width:992px) {
    .panel.desvanece-lg {
        opacity: 0;
        transition-property: opacity;
        will-change: opacity
    }

    .panel.desvanece-lg.activo {
        z-index: 1
    }

    .panel.desvanece-lg.posicion-lg.activo {
        position: relative
    }

    .panel.click,
    .panel.cursor {
        cursor: pointer
    }
}

/*componentes ruedita*/
.ruedita:empty:before {
    content: '';
    border-style: solid;
    border-width: 5px;
    border-radius: 50%;
    display: block;
    font-size: 30px;
    width: 1em;
    height: 1em;
    margin: -0.5em 0 0 -0.5em;
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    animation: _giro-horario 0.4s linear infinite
}

/*componentes submenu*/
.submenu-img img {
    object-fit: contain
}

.submenu-img img.normal,
.submenu-img img.cambio {
    transition: opacity 0.4s;
    will-change: opacity
}

.submenu-img img.cambio {
    opacity: 0
}

@media(max-width:991.98px) {
    .submenu-con {
        opacity: 0;
        transition: opacity 0.4s;
        will-change: opacity
    }

    .control:not(:checked)~.submenu-con {
        pointer-events: none
    }

    .control:checked~.submenu-cam img.normal {
        opacity: 0
    }

    .control:checked~.submenu-cam img.cambio {
        opacity: 1
    }

    .control:checked~.submenu-con {
        opacity: 1
    }
}

@media(min-width:992px) {
    .submenu-lin.activo img.normal {
        opacity: 0
    }

    .submenu-lin.activo img.cambio {
        opacity: 1
    }

    .submenu-lin:hover img.normal {
        opacity: 0
    }

    .submenu-lin:hover img.cambio {
        opacity: 1
    }
}

/*componentes tabla*/
@media(max-width:991.98px) {
    .tabla {
        -webkit-overflow-scrolling: touch
    }
}

/*medias*/
@media(max-width:575.98px) {}

@media(max-width:767.98px) {}

@media(max-width:991.98px) {}

@media(max-width:1199.98px) {}

@media(max-width:1399.98px) {}

@media(max-width:1599.98px) {}