@font-face{
    font-family: 'NotoSans_JP';
    src:url("../materials/Font/Noto_Sans_JP/NotoSansJP-Regular.ttf"); 
}
@font-face{
    font-family: 'Zenmaru_bold';
    src:url("../materials/Font/Zen_Maru/ZenMaruGothic-Bold.ttf"); 
}
@font-face{
    font-family: 'Zenmaru_medium';
    src:url("../materials/Font/Zen_Maru/ZenMaruGothic-Medium.ttf"); 
}
body{
    font-family:'NotoSans_JP';
    font-size: 15px;
    margin: 0;
    display: flex;
    justify-content: center;
    overflow-y: auto;
}
.todo{
    width: 100%; /*para que ocupe todo el ancho de la pantalla*/
    background-image: url("../materials/img/fondo_30opacidad.jpg"); /*.. = es ir a la carpeta anterior para buscar las img*/
    min-height: 100vh;
    position: relative;
    margin: 0 auto; /*para centrar el contenido*/
    padding: 10px 20px 80px 20px; /*para agregar un poco de espacio a los lados del contenido*/
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
#menu{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    margin: 0;
}
.ioconotipo{
    margin: 10px 0px 5px 0px;
    height: 60px;
}
.parte_derecha{
    display: flex;
    align-items: center;
}
.icon_notificacion{
    height: 26px;
    margin: 10px;
}
.btn_registre{
    width: 28px;
    height: 28px;
    margin: 8px 0px 3px 10px;
    border-radius: 50%;
    border: 2px solid #000000;
    object-fit: cover; /*para que la aimgen ocpe todo sin deformarse*/
    object-position: center; /*para que se centre la img*/
}

/*notificacion*/
.contenedor_noti{
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.noti_visible{
    position: absolute;
    background-color: #E70103;
    color: white;
    border: 2px solid white;
    font-size: 12px;
    font-family: 'Zenmaru_medium';
    height: 20px;
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    z-index: 10;
    top: 0;
    right: 0;
}

.cont_noti{
    position: fixed;
    display: none;
    height: calc(100vh - 88px); /*ocupa la altura de la pantalla visible, pero le restamo 88px de arriba para que se encaje bien y se pueda ver la parte de arriba. (calc = calcular de 100vh le restamos 88px para que se encaje)*/
    background-color: white;
    padding: 10px 5px;
    top: 88px;
    width: 100%;
    z-index: 2000;
    padding: 20px 10px;
    overflow-y: auto; /*agrega una barra de desplazamiento vertical si el contenido excede la altura del contenedor*/
    box-sizing: border-box; /*para que el padding no haga mas grande el contenedor*/
}
.cont_noti.activo{ /*cuando se activa se hace visible*/
    display: block;
}
/*parte noti que solo esta en php*/
.noti_item{
    display: block;
    text-decoration: none;
    border: 1px solid black;
    color: #000000;
    border-radius: 10px;
    margin: 0px 10px 0px 10px;
    padding: 10px;
    font-size: 14px;
    line-height: 1.6;
    font-family:'NotoSans_JP';
}
.noti_item a {
    text-decoration: none;
    display: block; 
}
.leido{
    background-color: rgb(55, 81, 106, 0.4);
}
.noleido{
    background-color: white;
}
.noti_vacia {
    text-align: center;
    font-size: 15px;
    font-family:'Zenmaru_medium';
    color: #E70103;
}
.titulohisotria{
    color: #E70103;
    font-family:'Zenmaru_medium';
}

/*parte noti de html*/
.noti1{
    border: 1px solid black;
    border-radius: 10px;
    margin: 10px 10px 0px 10px;
    padding: 10px;
    font-family:'NotoSans_JP';
    background-color: white;
}
.noti2{
    border: 1px solid black;
    border-radius: 10px;
    margin: 0px 10px 0px 10px;
    padding: 10px;
    background-color: rgb(55, 81, 106, 0.5);
}

/*barra del xat*/
.titulo{
    text-align: center;
    position: relative;
    display: flex;
    align-items: center;
    background-image: url('../materials/Elements_grafics/rectangulo_azul_fondo.svg');
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    min-height: clamp(80px, 10vw, 100px); 
    /*clamp() hace que la altura sea estatica y se pueda adaptar al tamaño de la pantalla gracias al 18vw qeu se adapta a la achura de la pantalla.
    al poner 60px hacemos que la altura no sea mas pequeño de 60px y 90px la altura no pasa de 90px para que no se deforme el rectangulo azul*/
    padding: 0;
    margin: 0 -20px; /*aqui se compensa del padding del cont .todo */
    width: calc(100% + 40px); /*aqui hacemos que el amrgin que hay en todo no lo utilice y pueda ocpuar toda el ancho de pantalla*/
}

.atras{
    position: absolute;
    left: 15px;
    cursor: pointer;
    background: transparent;
    border: none;
    margin: 0;
    z-index: 10;
}
.imgbtnatras{
    width: 40px;
    height: 40px;
}

.usuarios{
    margin-top: 10%;
}
.card_usuario{
    display: flex;
    align-items: start;
    cursor: pointer;
    margin: 3px 0px 0px 80px;
}
.imgusuari{
    width: 55px;
    height: 55px;
    border-radius: 50%;
    border: 2px solid black ;
    flex-shrink: 0;
    object-fit: cover; /*la imagen ocupa todo el area manteniendose sin deformar*/
}
.nomusuri{
    font-family:'Zenmaru_bold';
    font-size: 24px;
    margin: 10px 0px 10px 20px;
    color: #F0E8D1;
}

/*area de mensaje*/
.area_mensaje{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px 5px;
    overflow-y: auto;
}

/*parte mensaje*/
.parte_enviar_ms{
    width: 100%;
    bottom: 0;
    margin-bottom: 20px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-end;
    gap: 10px;
    position: fixed;
    padding: 14px 20px;
    left: 0;
}
.formulario_ms {
    width: 100%;
    display: flex;
    align-items: flex-end;
    gap: 10px;
}
#input_mensaje {
    resize: none; /*quitamos la opcion de que usuario pueda hacer mas grande el texarea*/
    overflow: hidden; /*quitamos la barra de bajar*/
    min-height: 40px;
    max-height: 200px;
    padding: 8px;
    box-sizing: border-box;
}
.input_mensaje{
    width: 100%;
    flex: 1; /*esto es pa que ocupe el espacio disponible*/
    min-width: 0;/*para que la parte de input peuda hacerse mas pequeña*/
    font-size: 13px;
    margin: 0px 0px 7px 0px;
    border-radius: 10px;
    box-sizing: border-box;
    font-family:'NotoSans_JP';
    border: 2px solid #37516A;
}

/*parte de globos de enviar y recibir*/
.mensaje_enviado{
    display: flex;
    justify-content: flex-end;
    width: 100%;
}
.burbuja_mensaje, .burbuja_mensaje_recibido{
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 75%;
}
.ms_you{
    background-color: #37516A;
    color: #F0E8D1;
    padding: 10px 16px;
    border-radius: 10px 10px 4px 10px;
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    word-wrap: break-word; /*si una palabra no cabe bajara abajo donde usando los espacios*/
}
.mensaje_recibido{
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

.ms_me{
    background-color: #000000;
    color: #FCC560;
    padding: 10px 16px;
    border-radius: 10px 10px 10px 4px;
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    word-wrap: break-word; /*si una palabra no cabe bajara abajo donde usando los espacios*/
}
/*cambiar el color de la linea*/
.input_mensaje:focus {
    outline: none; /* Quita la línea naranja predeterminada del navegador */
    border: 2px solid #E70103;
}
.btn_enviar{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; /*se utiliza esto para evitar que se encoja*/
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    cursor: pointer;
}
.btn_enviar img{
    width: 34px;
    height: 34px;
    display: block; /*para eliminar el espacio extra*/
}