/*
GENERALES
=========
*/
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Ubuntu:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

*{ margin:0; padding:0; box-sizing: border-box; }
img{ max-width: 100%; }
html, body{
    position: relative;
    height:100%;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
}
input, select{
    font-family: 'Lato', sans-serif;
    font-size: 16px;
}
body{
    display: flex;
    flex-direction: column;
    min-width:320px;
    font-size: 16px;
}

.wrap{
    max-width: 1248px;
    padding:0 24px;
    width: 100%;
    margin:0 auto;
    position: relative;
}
    @media (max-width: 640px){
        .wrap{ padding: 0 12px; }
    }

.cms_editar{
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    text-decoration: none;
    color: #fff;
    background: #f00;
    padding: 6px 12px;
    font-size: 12px;
    opacity: 0.1;
    transition: opacity 0.3s ease-in-out;
    z-index: 99;
}
    .cms_editar:hover{
        opacity: 1;
    }
    .cms_editar__izq{
        left:0;
        right: auto;
    }



/*
HEADER
=========
*/
.header{
    background: #292929;
    position: fixed;
    top:0;
    left:0;
    height:84px;
    width: 100%;
    z-index: 50;
    min-width:300px;
}
    .header_wrap{
        background: #292929;
        display: flex;
        align-items: center;
        height:100%;
    }
    .header_logo{
        padding: 18px 0;
        display: block;
        text-decoration: none;
    }
        .header_logo_img{
            width: 100%;
            min-width: 210px;
            max-width: 250px;
            max-height: 50px;
        }
    .header_buscador{
        position: relative;
        display: block;
        flex-grow: 1;
        text-align: center;
        padding: 0 24px;
    }
        .header_buscador_box{
            position: relative;
            display: inline-block;
            width: 100%;
            max-width: 320px;
            left:0;
            right:0;
            transition: all 0.3s ease-in-out;
            background: rgba(0,0,0,0);
            transition-property: left, right, background;
        }
            .header_buscador_box_input{
                padding: 12px 36px;
                font-size: 12px;
                line-height: 1;
                position: relative;
                z-index: 10;
                border: none;
                outline: none;
                border-radius: 18px;
                display: block;
                width: 100%;
                background-color: #f5f5f5;
                opacity: 1;
                transition: opacity 0.3s ease-in-out;
            }
                .header_buscador_box_input:disabled{
                    opacity: 0.5;
                }
            .header_buscador_box_icono{
                color: #292929;
                display: block;
                position: absolute;
                top: 8px;
                left: 10px;
                font-size: 24px;
                z-index: 20;
            }
            .header_buscador_box_cerrar{
                display: none;
                position: absolute;
                top: 10px;
                right: 9px;
                height: 18px;
                padding: 3px;
                z-index: 30;
                cursor: pointer;
            }
            .header_buscador_box_resultados{
                position: absolute;
                z-index:500;
                top:80px;
                left:36px;
                right: 36px;
                background-color: #f5f5f5;
                border-radius: 6px;
                margin-top: 6px;
                text-align: left;
                font-size: 14px;
                max-height: 80vh;
                overflow-y: auto;
                display: none;
            }
            .header_buscador_box_resultados_item{
                display: flex;
                align-items: center;
                padding: 6px 12px;
                border-bottom: 1px solid #727272;
                text-decoration: none;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                color: #292929;
                background: rgba(0,0,0,0);
                transition: background 0.3s ease-in-out;
            }
                .header_buscador_box_resultados_item:hover{
                    background: rgba(0,0,0,.1);
                }
                .header_buscador_box_resultados_item_izquierda{ width: 84px; padding-right:12px; flex-shrink: 0;}
                .header_buscador_box_resultados_item_derecha{ flex: 1;}
            .header_buscador_box_resultados_item_img{
                width: 100%;
            }
            .header_buscador_box_resultados_item_titulo_full{
                display: block;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                color: #292929;
                margin-bottom: 4px;
            }
            .header_buscador_box_resultados_item_titulo{
                display: none;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                color: #292929;
            }
            .header_buscador_box_resultados_item_autor{
                display: none;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                color: #292929;
                font-size:12px;
            }
            .header_buscador_box_resultados_item_match{
                display: block;
                font-size:12px;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                color: #727272;
                margin-top:2px;
            }
            .header_buscador_box_resultados_item_match strong{
                text-decoration: underline;
            }

        .header_buscador__buscando .header_buscador_box{
            position: fixed;
            display: block;
            width: 100% !important;
            min-width: 300px;
            top:0;
            left:0;
            right:0;
            bottom:0;
            background: rgba(0,0,0,.7);
            padding:24px;
            padding-bottom: 6px;
            max-width: 100%;
            z-index: 900;
        }

            .header_buscador__buscando .header_buscador_box_input{
                display: block;
                margin: 0 auto;
                padding: 12px 48px;
                font-size: 24px;
            }
            .header_buscador__buscando .header_buscador_box_icono{
                top: 41px;
                left: 42px;
                height: 18px;
                z-index: 20;
            }
            .header_buscador__buscando .header_buscador_box_cerrar{
                display: block;
                top: 40px;
                right: 36px;
                padding: 0;
            }
            .header_buscador__buscando .header_buscador_box_resultados{
                display: block;
            }


    .header_menu_ico{
        padding: 12px;
        color: #ccc;
        border-radius: 4px;
        background: rgba(0,0,0,0);
        cursor: pointer;
        transition: box-shadow 0.3s ease-in-out;
        transition-property: background, color;
        cursor: pointer;
        position: relative;
        z-index: 10;
    }
        .header_menu_ico:hover{
            color: #fff;
            background: rgba(0,0,0,.2);
        }
        .header_menu_toggle{
            display: none;
            margin-right:-12px;
        }
        .header_buscador_toggle{
            display: none;
        }
        .header_menu_cerrar{
            display: none;
            position: absolute;
            top:0;
            right: 0;
        }
        .header_menu_movilbg{
            display: block;
            position: fixed;
            top:0;
            right: 100%;
            height:100%;
            width: 0;
            background: rgba(0,0,0,0);
            transition: background 0.3s ease-in-out;
            transition-property: background, width;
        }

    .header_menu{
        display: flex;
        justify-content: end;
        margin-right: -12px;
        transition: none;
    }
        .header_menu_link{
            display: block;
            text-decoration: none;
            color: #fff;
            padding: 6px 12px;
            white-space: nowrap;
            box-shadow: 0 0 4px rgba(0,0,0,0.1);    
            transition: box-shadow 0.3s ease-in-out;
        }
        .header_menu_link:hover{
            box-shadow: 0 4px 4px rgba(0,0,0,0.3);    
        }
 
        @media (max-width: 900px){
            .header_menu_link{ padding: 6px; font-size: 14px; }
            .header_buscador_box{ width:80%; }
        }

        @media (max-width: 750px){
            .header_menu_cerrar,.header_menu_toggle{ display: block; }
            .header_menu{
                position: fixed;
                top:0;
                right:0;
                width: 280px;
                height: 100%;
                flex-direction: column;
                background: #292929;
                z-index: 300;
                padding:24px;
                margin:0;
                border-left: 2px solid rgba(0,0,0,.3);
                box-shadow: 0 4px 4px rgba(0,0,0,0.0);    
                justify-content: start;
                transform: translate(100%, 0);
                transition: box-shadow 0.3s ease-in-out;
                transition-property: box-shadow, transform;
            }
                .header_menu__activo{
                    box-shadow: 0 4px 4px rgba(0,0,0,0.1);    
                    transform: translate(0%, 0);
                }
            .header_menu__activo .header_menu_movilbg{
                width: 100vw;
                background: rgba(0,0,0,.3);
            }
            .header_menu_link{ padding: 6px 12px; font-size: 16px; margin:6px 0; }
            .header_buscador{ padding: 0 12px; }
        }
        @media (max-width: 700px){
            .header_buscador_box_resultados_item_titulo_full{display:none;}
            .header_buscador_box_resultados_item_titulo{display:block;}
            .header_buscador_box_resultados_item_autor{display:block;}
            .header_buscador_box_resultados_item_match__2{ display: none; }
        }
        @media (max-width: 500px){
            .header_logo_img{ min-width: 80px;}
            .header_buscador{ display: none; }
            .header_buscador.header_buscador__buscando{ display: block; }
            .header_buscador__buscando .header_buscador_box{ padding: 12px; }
            .header_buscador_toggle{ display: block; }
            .header_logo{ flex: 1; margin-right:24px; }
            .header_buscador__buscando .header_buscador_box_input{
                display: block;
                margin: 0 auto;
                padding: 12px 48px;
                font-size: 24px;
            }
            .header_buscador__buscando .header_buscador_box_icono{ top: 29px; left: 31px; }
            .header_buscador__buscando .header_buscador_box_cerrar{ top: 28px; right: 24px;}
            .header_buscador_box_resultados{ top: 68px; right: 24px; left: 24px;}
            .header_buscador_box_resultados_item_izquierda{ width: 60px;}
        }
        @media (max-width: 400px){
            .header_buscador__buscando .header_buscador_box_input{ font-size: 14px; }
            .header_buscador__buscando .header_buscador_box_icono{ top: 22px;}
            .header_buscador__buscando .header_buscador_box_cerrar{ top: 22px;}
            .header_buscador_box_resultados{ top: 56px; left: 12px; right: 12px;}
        }

.main{
    flex:1;
    padding-top: 84px;
}

.footer{}
    .footer_main{
        background: #292929;
        padding: 60px 0;
    }
    .footer_wrap{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .footer_logo{
        padding-right: 48px;
    }
        .footer_logo_img{
            width: 100%;
            max-width: 250px;
            max-height: 50px;
        }
    .footer_menu{
        display: flex;
        flex-wrap: wrap;
        max-width: 320px;
    }
        .footer_menu_link{
            width: 50%;
            padding: 3px 12px;
            margin: 3px 0;
            display: block;
            text-decoration: none;
            color: #ccc;
            white-space: nowrap;
            transition: color 0.3s ease-in-out;
        }
        .footer_menu_link:hover{
            color:#fff;
        }
    .footer_legal{
        background-color: #f5f5f5;
        color: #727272;
        padding: 6px 0;
        font-size: 12px;
        text-align: center;
    }
        .footer_legal_item{ display: inline-block; }

    @media (max-width: 650px){
        .footer_main{ padding: 24px 0;}
        .footer_wrap{ flex-direction: column;}
        .footer_logo{ padding-right: 0; margin-bottom: 12px; }
        .footer_menu{ text-align: center; }        
    }
    @media (max-width: 400px){
        .footer_menu{ flex-direction: column; width:100%; padding: 0 12px;}
        .footer_menu_link{ width: 100%; }
    }



.__repisa__cargando{
    opacity: 0.5!important;
    animation: __repisa__cargando_esperando 2s infinite ease-in-out;
}
@keyframes __repisa__cargando_esperando {
    0%   { transform: scale(1); }
    50%  { transform: scale(0.8); }
    100% { transform: scale(1); }
}

.__modal{
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    padding: 12px;
    background: rgba(0,0,0,.35);
    z-index: 200;
    display: none;
    align-items: center;
    justify-content: center;
    min-width: 300px;
}
.__modal_ventana{
    width:100%;
    max-width: 720px;
    border: 2px solid rgba(0,0,0,.1);
    box-shadow: 0 4px 4px rgba(0,0,0,0.3);    
    background: #ededed;
    color: #292929;
    border-radius: 12px;
    padding: 36px;
    position: relative;
    display: flex;
    max-height: 100%;
    overflow-y: auto;
}
.__modal_cerrar{
    color: #292929;
    position: absolute;
    top:0;
    right:0;
    padding: 12px;
    text-decoration: none;
}
.repisa_login_izquierda{
    width:200px;
}
.repisa_login_img{
    width:100%;
}
.repisa_login_derecha{
    flex:1;
    padding-left: 24px;
}
.repisa_login_derecha_arriba{ display: flex; flex-direction: column; align-items: center;}
.repisa_login_derecha_arriba_img{ display: none; width:180px; margin-bottom: 12px;}
.repisa_login_derecha_arriba_txt{ flex: 1; }
.repisa_login_texto{
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 12px;
}
.repisa_login_texto_libro{
    font-style: italic;
}
.repisa_login_form{
    margin-right: auto;
}
.repisa_login_campo{
    display: block;
    position: relative;
    margin-bottom: 12px;
}
.repisa_login_label{
    display: block;
    font-size: 12px;
    position: absolute;
    top:0;
    left:0;
    padding: 6px 12px;
}
.repisa_login_input{
    display: block;
    padding: 6px 12px;
    padding-top: 24px;
    width: 100%;
    border: none;
    outline: none;
    border-radius: 4px;
}
.repisa_login_switch{
    margin: 12px 0 24px;
    text-align: right;
    padding-right: 12px;
}
.repisa_login_switch_link{
    color: #727272;
    text-decoration: none;
    display: inline-block;
}
.repisa_login_switch_link__olvide{
    margin-bottom: 6px;
}
.repisa_login_boton{
    cursor: pointer;
    display: block;
    margin-left: auto;
    color: #fff;
    background: #ff5e00;
    border:none;
    outline:none;
    border-radius: 24px;
    padding: 12px 36px;
    font-family: 'Ubuntu',sans-serif;
    font-size: 20px;
    font-weight: 500;
    box-shadow: 0 0 4px rgba(0,0,0,0.1);    
    transform: scale(1);
    transition: border 0.3s ease-in-out;
    transition-property: box-shadow, transform, background;
    position: relative;
    left: 0px;
}
    .repisa_login_boton:hover{
        background: #ff782a;
        box-shadow: 0 4px 4px rgba(0,0,0,0.3);    
        transform: scale(1.1);
    }

.repisa_login_info{
    margin-top: 6px;
    margin-right: 12px;
    text-align: right;
    font-size: 12px;
}

@media (max-width: 900px){
    .__modal_ventana{ max-width: 550px; padding: 24px; }
    .repisa_login_texto{ margin-bottom: 24px; font-size: 22px; }
}
@media (max-width: 650px){
    .__modal_ventana{ max-width: 450px;}
    .repisa_login_izquierda{ display: none; }
    .repisa_login_derecha{ padding-left: 0; }
    .repisa_login_derecha_arriba_img{ display: block;}
    .repisa_login_texto{ text-align: center; }
    .repisa_login_boton{ font-size: 16px; padding:9px 30px; }
}
@media (max-width: 500px){
    .__modal_ventana{ max-width: 300px; padding: 12px;}
    .repisa_login_derecha_arriba_img{ width: 90px;}
    .repisa_login_texto{ font-size: 18px; }
    .repisa_login_boton{ font-size: 14px; padding:6px 24px; }
}

.compartir_modal{}
.compartir_modal_ventana{
    display: block;
}
.compartir_modal_cerrar{}
.compartir_modal_titulo{
    font-size: 24px;
    line-height: 1.2;
    margin: 12px;
}
.compartir_modal_links{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.compartir_modal_links_item{
    display: block;
    text-decoration: none;
    white-space: nowrap;
    color: #fff;
    margin: 12px;
    border-radius: 12px;
    padding: 12px 32px;
    font-size: 18px;
    font-weight: 500;
    font-family: 'Ubuntu',sans-serif;
    box-shadow: 0 0 4px rgba(0,0,0,0.1);    
    transform: scale(1);
    transition: border 0.3s ease-in-out;
    transition-property: box-shadow, transform, background, color;
    background: #999;
    min-width: 200px;
    flex: 1;
}
    .compartir_modal_links_item:hover{
        box-shadow: 0 4px 4px rgba(0,0,0,0.3);    
        transform: scale(1.1);
    }
.compartir_modal_links_item_img{
    vertical-align: middle;
    display: inline-block;
    position: relative;
    margin-left: -6px;
    margin-right: 6px;
    top:-2px;
}
.compartir_modal_links_item_txt{
    display: inline-block;
}
@media (max-width: 650px){
    .compartir_modal_links_item{
        margin: 0 0 24px;
    }
}

.contacto_modal{
}
.contacto_modal_ventana{
    display: block;
}
.contacto_modal_cerrar{}
.contacto_modal_titulo{
    font-size: 24px;
    line-height: 1.2;
    margin: 12px;
}
.contacto_modal_wrap{
    display: flex;
    margin: 12px;
}
.contacto_modal_parrafo{
    padding-right: 24px;
    line-height: 1.4;
}
.contacto_modal_form{
    min-width: 280px;
    font-size: 0.95rem;
}
.contacto_modal_form_campos{
    padding: 0 12px;
}
.contacto_modal_fila{
    display: flex;
}
.contacto_modal_input{
    display: block;
    width: 100%;
    margin-bottom: 9px;
    padding: 6px;
    font: inherit;
}
.contacto_modal_input__textarea{
    font: inherit;
    height: 120px;
}
.contacto_modal_boton{
    display: block;
    width: 100%;
    margin-top: 24px;
    cursor: pointer;
    color: #fff;
    background: #ff5e00;
    border:none;
    outline:none;
    border-radius: 24px;
    padding: 12px 36px;
    font-family: 'Ubuntu',sans-serif;
    font-size: 20px;
    font-weight: 500;
    box-shadow: 0 0 4px rgba(0,0,0,0.1);    
    transform: scale(1);
    transition: border 0.3s ease-in-out;
    transition-property: box-shadow, transform, background;
}
    .contacto_modal_boton:hover{
        background: #ff782a;
        box-shadow: 0 4px 4px rgba(0,0,0,0.3);    
        transform: scale(1.1);
    }

@media (max-width: 650px){
    .contacto_modal_wrap{ flex-direction: column; }
    .contacto_modal_parrafo{ padding-right: 0; padding-bottom: 24px; }
    .contacto_modal_form{ min-width: 100%; }
    .contacto_modal_form_campos{ padding: 0; }
}
    