*{
    padding: 0;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}
body{
    display: grid;
    min-height: 100vh; /* para que ocupe todo el display*/
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto; /*Estiramos para que ocupe todo el display*/
    grid-template-areas: "header"
                            "main"
                            "footer" ;
}
/*********POPUP DE NOSCRIPT **********************************/
.fondo{
    position: fixed; /*La posición es con respecto a la ventana*/
    top: 0; /*posicion respecto de arriba*/
    bottom: 0; /*posicion respecto de abajo */
    left: 0; /*posicion respecto de la izquierda*/
    right: 0; /*posicion respecto de la derecha*/
    background-color: rgba(100,100,100,0.8); /*0.8 es la opacidad que va del 0 al 1*/
    display: flex; 
    align-items: center; /*eje cruzado (vertical)*/
    justify-content: center; /*horizontal*/
}

.popup{
    -webkit-box-shadow: 10px 10px 15px -8px rgba(0,0,0,0.5);
    -moz-box-shadow: 10px 10px 15px -8px rgba(0,0,0,0.5);
    box-shadow: 10px 10px 15px -8px rgba(0,0,0,0.5);
    border-radius: 1rem 0 1rem 0;
    border: 1px gray solid;
    background-color: #ffffff;
    position: relative;
    width: 30%; /*Tamaño de la anchura del popup*/
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

}
    
.error{
    color: red;
    
}
.circulo{
    border-radius: 50%;
    width: 4rem;
    height: 4rem;
    background-color: #ad0100;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
/*************HEADER***********************/
header{
    grid-area: header;
    display: flex;
    flex-direction: column;
    
}
.headertop{
    height: 1rem;
    background-color: #ad0100;
}
.headermain{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.imglogodipu{
    height: 100px;
    margin: 1rem;
}
.headerbottom{
    height: 0.5rem;
    background-color: #ad0100;
}
/**********************MENU*************************/
nav{
    /*Menu*/
    display: flex;
    flex-direction:row;
    flex-wrap: wrap;
    flex:1; /*Que ocupe el resto*/
    justify-content: right;
    align-items: center;
    
    
}
.cerrarsesion{
    border-radius: 50%;
    background-color: #ad0100;
    background-image: url(../img/logout-svgrepo-com.svg); 
    /*background-size:20px;*/
    background-position: center;
    background-repeat: no-repeat;
    background-size: 60%;
    margin: 1rem;
    height: 4rem;
    width: 4rem;
}


.cerrarsesion:hover {
	opacity: 0.70;
}
/*********************CONTENIDO PRINCIPAL**********/
main{
    grid-area: main;
    display: flex;
    flex-direction: column;
    /*Centramos siempre el contenido*/
    align-items: center;
}
.requerido{
    color: red;
    font-weight: bold;
}

.error{
    color: red;
    font-weight: bold;
}
.ok{
    color: limegreen;
    font-weight: bold;
}
/****************FOOTER**********************************/
footer{
    grid-area: footer;
    display: flex;
    flex-direction: column;
    background-color: #ad0100;
    width: 100%;
    
}
.info{
    color: white;
    margin: 1rem;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.copy{
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
}
.copy a:link, .copy a:visited, .copy a:active{
    text-decoration: none;
    color: #fabf75;
}
/*******************************************************/
.loader {
    border: 5px solid #f3f3f3; /* Light grey */
    border-top: 5px solid #ad0100; 
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 2s linear infinite;
  }
  
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }