@charset "utf-8";

/*general*/



* { box-sizing: border-box; }

 

/* *** reglas generales *** */

body {
    margin: 0;
    padding: 0;
    background-color:#F8F8F8;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    justify-content: space-between;

}

.material-icons {
    padding-right: .5em;
    
}

h1,
h2,
h3,
h4,
h5,
h6,
{
    
    text-align: center;
    margin-bottom: 1em;
    color: #626262;
   
    
}
p {
     text-align: justify;
     margin: .5em;
    color: #626262;
    
}



a { text-decoration: none; }

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


img {
    width: 100%;
    height: auto;
}


header {
    background-color: #C4C4C4;
    padding: 1em;
    max-width: 100%
}

/*encabezado*/

header nav {
    color: white
}
   
header nav a {

   color: #626262;
    padding: .5em 1em;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    }

header nav a:hover {
    background-color: #626262;
    color: white;
}

header .contenedor{
    display: flex;
    justify-content: space-between;
    align-items: center;
}



#llamamenu {
    color: #8A3C3E;
    cursor: pointer;
    height: 2.3em;
    width: 3em;
    align-content: center;
    display: flex;
    position: relative;
    z-index: 9999;
}

#llamamenu:hover {
    background-color: #626262;
}

#llamamenu i { 
    padding: 0;
    margin: auto;
}



img#logo{
    display: block;
    width: 15em;
    
} 



header nav ul {
    font-size: 14px;
    position: fixed;
    left: 100%;
    top: 0;
    height: 100vh;
    width: 50%;
    z-index: 9990;
    transition: all .9s ease;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 5em;
    align-content: center;
    margin-top: 0em;
    background-color: #F0EFEF;
    
    
}
header nav ul li{
    margin-top: 1em;
    font-size: 16px;
    }
.visible {
    
    left: 50%;
    transition: all .1s ease;
}

/*banner viaje*/

.contenedor2{
    display: flex;
    justify-content: space-around;
    align-content: flex-end;
    padding: 1em;
    background-color: #626262;
    color: white;
}

.contacto { 
padding-bottom: 5em;
padding-top: 5em;}

#tabla{
   
    display: flex;
    justify-content: center;
    align-items: center; 
}

table{
    display: table;
    padding-top: 0.5em;
    justify-content: center;
    align-items: center; 
}
table th{
    padding: 1em;
    color: rgba(77, 32, 32, 0.75);
}
table td{
    padding: 1em;
    border-radius: 60px;
    font-size: 100%;
    text-align: center;
}

table td:hover{
    background-color: rgba(77, 32, 32, 0.75); 
}
.mes_previo{
    color: rgba(0, 0, 0, 0.29);
}
.mes_previo:hover{
    background-color: transparent;
}



/*galeria*/ 

.noticias h2{
    font-weight: 200;
    font-size: 18px;
    }
    
    

 /*.galeria{
    width: 100%;
    margin: auto;
    margin-top: 20px;
    margin-bottom: 25px;
    position: relative;
     
}*/




.prev, .next {
    display: block;
    justify-content: center;
    align-content: center;
  position: absolute;
  margin: 1em;
  top: 4.5em;
  color: #C4C4C4;
  font-size: 30px;
  transition: 0.6s ease;
  
 
}

.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}
.prev{
    left: 0;
    border-radius: 3px 0 0 3px;
}
.foto img{
    width: 60%;
}

.puente {
    max-width: 30%;
}
    
.lectura {
    display: flex;
    color:rgb(77, 32, 32);
    border-bottom: 1px solid rgb(77, 32, 32);
    padding-bottom: 1em;
    margin: .5em;
}



.noticias p {
    font-size: 14px;
}
.descargar {
   
    max-width: 30%;
}
.lista-historia {
    list-style: disc;
}


.videoresponsive {
display: block;
margin: 3em 3em 3em 3em;
    position: relative;
    height: 0;
align-content: center;
    padding-bottom: 50%;
}

.videoresponsive iframe {
    position: absolute;
height: 100%;
    width: 100%;
    left: 0;
right: 0;
}
  







/*botonera ticket*/


section.pasaje:last-of-type {
    background-color: rgba(125, 124, 125, 0.95);
    width: 100%;
    justify-content: space-around;
    height: 6rem;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 9950;
    display: flex;
}
    
section.pasaje:last-of-type nav ul {
    display: flex;
  justify-content: space-evenly;
 width: 100%;
}

section.pasaje:last-of-type nav ul li {
    min-width: 10em;
    text-align: center;
    justify-content: space-around;
}
    
.explorar {
width: 100%;
display: block; 
}

nav .explorar { 
width: 100%;
display: block;
}

ul .explorar {
width: 100%;}

section.pasaje:last-of-type nav ul li a {
    min-height: 3em;
    display: flex;
    align-items: center;
    background-color: #C4C4C4;
    border-radius: 5em ;
    padding: 1em 1em;
 width: 100%;
    text-align: center;
    color: #626262;
    flex-basis: 25%;}





/*login*/

input{
    width: auto;
    height: 100%;
    margin: auto;
    box-sizing: border-box;
    display: flex;
    justify-content: space-around;
    align-content: center;
    text-align: center;
    padding: 3px;
    padding-left: 50px;
    padding-right: 50px;
    font-weight: 300;
    font-size: 15px;
    background-color: #484848;
    border-radius: 15px;
    border: 3px double #484848;
    margin-top: 1em;
    margin-bottom: 1em;
}

.login{
    font-size: 14px;
    padding-top: 5.5em;
    padding-bottom: 5em;

}
.loginpase{
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 14px;
    padding-top: 10em;
    padding-bottom: 10em;

}

.loginviaje{
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 14px;
    padding-top: 12em;
    padding-bottom: 12em;

}




.botones{
    padding-top: 3em;
}
.boton_personalizado{
    text-decoration: none;
    padding: 3px;
    padding-left: 10px;
    padding-right: 10px;
    font-weight: 300;
    font-size: 15px;
    color: white;
    background-color: #484848;
    border-radius: 15px;
    border: 3px double #484848;
    
}

.boton_personalizado:hover{
    opacity: 0.6;
    text-decoration: none;
}

/*formulario*/

.origen{
    margin-top: 5px;
    display: block;
    font-size: 16px;
    font-weight: 300;
    color:#484848;
    padding: .4em 1.4em .3em 1.4em;
    width: 300px;
    max-width: 100%; 
    box-sizing: border-box;
    margin: 10px auto;
    border: 1px solid #aaa;
    border-radius: 20px;
    appearance: none;
    background-color: #e5e5e4;
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
}

.general{
    margin-top: 5px;
    display: block;
    font-size: 16px;
    font-weight: 300;
    color:#484848;
    padding: .4em 1.4em .3em 1.4em;
    width: 300px;
    max-width: 100%; 
    box-sizing: border-box;
    margin: 10px auto;
    border: 1px solid #aaa;
    border-radius: 20px;
    appearance: none;
    background-color: #e5e5e4;
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
}

.horario{
    margin-top: 5px;
    display: block;
    font-size: 16px;
    font-weight: 300;
    color:#484848;
    padding: .4em 1.4em .3em 1.4em;
    width: 300px;
    max-width: 100%; 
    box-sizing: border-box;
    margin: 10px auto;
    border: 1px solid #aaa;
    border-radius: 20px;
    appearance: none;
    background-color: #e5e5e4;
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
}
    
img#qr{



    padding: .35em; padding-top: 2em; padding-bottom: 2em;
    width: 20em;
} 

img#covid{
    width: 100%;
    height: 100%
} 

.abono{
    padding-top: 1em;
    } 
footer{
    padding-top: 1em;
    padding-bottom: 1em;
    background-color: #484848;
    font-size: 12px;
    color:white;
    margin-top: 2em;
}
.lista{
    text-align: center;
    
  } 

.subir { 
display: flex;
align-items: center;
justify-content: center;
padding-bottom: 2em;
color: brown;
width: 10em;}

@media (min-width: 840px) {
#llamamenu {
        display: none;
    }
    
    header nav ul {
        background-color: #C4C4C4;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        position: relative;
        top: auto;
        left: auto;
        height: auto;
        width: 100%;
        padding-top: 0;
    }
    
    header nav ul.visible {
        left: auto;
    }





