@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,300;0,400;0,500;0,600;0,700;1,800&display=swap');

*{
	margin: 0;

	font-family: 'Montserrat';
}

a{
	text-decoration: none;
}
body{
	
	display: flex;
	
	align-items: center;
	
	justify-content: center;
	
	background: #efefef;
	
	height: 100vh;
}
main{
/*	overflow-y: scroll;*/

}
.container{
	position: relative;

	width: 26rem;
    
    background: #fff;
    
    height: 90vh;

    
    margin: auto ;

    display: grid;

    grid-template-rows: 50px 1fr 70px;
}

header,footer, main{
	padding: 20px;
}

.footer-nav{
	background: #4011d1;
}

.full-color-background{
	background: blue;
}


/*
	INDEX
*/

.center-box{

	display: flex;

	justify-content: center;

	align-items: center;

	position: relative;
}

.center-box .index-box{

	text-align: center;

	width: 100%;
}
.logo-title{
	
	color: #22d4a0;
	
	display: block;

	text-align: center;

	margin-bottom: 20px;
}

.center-box .index-box a{
	display: block;

	margin: 40px 0;

	color: grey;

	text-decoration: none; 
}

.bus-icon{
	padding: 20px;
	background: #22d4a0;
	width: 100px;
	margin: auto;
	border-radius: 10%;
}
.bus-icon i{
	font-size: 4rem;

	color: blue;
}
/*
	BUTTONS
*/

.btn{
	padding: 10px;

	font-weight: 600;

	display: block;
	
	text-align: center;

	border-radius: 5px;
}

.orange-btn, .primary-btn {

	background:  #22d4a0;

	color: #fff !important;

}


.blue-btn{
	background: #4011d1;

	color: #fff; 
}
.second-btn{

	margin-top: 20px;

	color: #fff;

	background: grey;

	font-size: 0.9em;
}

.back-btn{
	
	font-size: 1.5em;
	
	color: black;
}

/*
	INDEX
*/

.login-box{
	width: 100%;
}

.index-box p{

	margin: 20px 0;

	color: #fff;
	
	font-size: 0.9em;
}

.form div{

	width: 100%;

	padding: 10px 0;

}

label{

	margin-bottom: 10px;
	
	display: block;

	font-weight: 600;

	color: grey;
}
input, select {

	width: 100%;

	height: 40px;

	box-sizing: border-box;

	padding: 5px;

	border: 1.5px solid #dbdbe0;
    
    border-radius: 5px;


}
.login-logo{

	margin: 20px auto;

}
.olvidar-passwd{

	text-align: center;

	color: grey;

	font-size: 0.9em;

	width: 100%;

	display: block;
}

.olvidar-text{

	line-height: 25px;

	color: grey;

	margin-bottom: 30px;
}




/*
	INICIO
*/

.menu, .nav{
	
	display: flex;
	
	align-items: center;
	
	justify-content: space-between;

}
.menu{
	justify-content: space-around;
	
}
.nav{
	background: #4011d1; 
	color: #fff;
}

.nav i{
	color: #fff;
}

.menu a i{
	font-size: 1.5rem;

	color: #fff;

}

.active{
	color: #22d4a0 !important;
}

.map{
	
    overflow: hidden;
    width: 373px;
    height: 400px;
	
	margin: 20px 0;
}
.header-title{
	text-align: center;

	font-size: 1.3em;

	font-weight: 550;
}
.data-viaje {
	margin-bottom: 20px;
}

.data-viaje p{
	margin: 15px 0;

	font-size: 0.9em;

	color: grey;
}

.data-viaje i{
	width: 20px;
	
	font-size: 1.2em;
}
.data-viaje a{

	display: block;

	margin: 10px 0;

	font-size: 0.9em;

	color: #22d4a0;

	font-weight: 600;

}

.data-viaje a i{
	color: #22d4a0;
}


/*RESERVAR*/

.asiento-grid{

	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.asiento{
	padding: 10px;
	font-weight: bold;
	background: lightgreen;
	margin: 10px;  
	width: 50px;
	color: black;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.asiento.none{
	background: #fff;
}

.asiento.no-disponible{
	background: indianred;
}

/*
	FINAL
*/


.final h2{
	font-size: 2rem;
	text-align: center;
	margin-bottom: 20px;
}


.qr-box{
	text-align: center;
	margin: 40px;

}

.final-detalles{
	background: #efefef;
	padding: 10px;
}

.final-detalles p{
	padding: 5px 0;

	font-size: 0.9em;
}

.buttons-pago{

	display: flex;

	align-items: center;

	justify-content: space-between;
}

.buttons-pago a,.buttons-pago input{
	width: 44%;
}
.monto-abonar{
	text-align: center;
}

.monto-abonar p{
	text-transform: uppercase;
	font-size: 0.9em;
	color: grey;
	margin-bottom: 10px;
}
.monto-abonar h2{
	margin-bottom: 20px;

	text-transform: uppercase;
}

.monto-abonar h3{
	font-size: 1.5rem;
	color: #22d4a0;
}

.detalle-asiento{
	padding: 20px 0;
	font-size: 1.2rem;
	text-align: center;
}

.detalle-asiento h4, .detalle-asiento h3{
	margin-bottom: 10px;
}
.detalle-asiento h3{
	color: #22d4a0;
	font-size: 1.4rem;
}
/*PERFIL*/

.img-container{

    overflow: hidden;
    border-radius: 25px;
    margin: auto;
    text-align: center;
}


.img-container  h2{
	padding: 20px 0;
	color: #22d4a0; 
}

.img-perfil p{
	padding: 10px 0;
}

.icon-perfil{
	padding-right: 10px;
}

.overlay{


    position: absolute;
    background: #4011d1bf;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    padding: 10px;
    text-align: center;
}

.overlay h2{
	font-size: 2.3em;
	padding: 10px 0;
}

.overlay p, .overlay input{
	margin: 20px 0;
}

 .img-perfil-container{
 	width: 200px;
    height: 200px;
    margin: auto;
    border-radius: 50%;
    overflow: hidden;
    padding: 0;
 }
.pago-title{
	margin-top: 10px;
}
 .pagos-realizados{
 	font-size: 0.9em;
 	color: grey;
 }

  .pagos-realizados p{
  	padding: 5px 0;
  }

  .title-recorrido{
  	font-weight: 700;

  	color: #22d4a0;
  	margin-bottom: 20px;

  	text-align: center;
  }