body{
	background-color: #f7f5f2 !important;
}
body.no-scroll {
	overflow: hidden;
}


.h_container{
    align-items: center;
	height: auto;
	display: flex;	
    justify-content: space-between;
	padding: 10px;
    background-color: #f3f0ec;
}
.contenedor{
	display: none;
	padding-top: 30px;
	width: 80%;
	margin: 0 auto;
}
.contenedor .menu_ul{
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 3px;
}
.contenedor .menu_li{
	background-color: rgb(233, 233, 233);
	text-align: center;
	min-width: 150px;
	padding: 5px;
	margin: 0 1em 0 0;
	list-style: none;
	transition: all .5s ease;
	font-size: 1.5vw;
	border-radius: 20px 20px 0 0 ;
}
.menu_li a{
	color: black;
	text-decoration: none;
}
.contenedor .menu_li.activo{
	background-color: #ffffff;
}


.main_container{
	background-color: white;
	z-index: 1;
	width: 86vw;
	margin-top: -3px !important;
	/* border: solid #f1ebe5; */
	border-radius: 30px 0 0 30px;
}























/*_____________COMMON______________________*/
.primary_button,.close_button{
	border: none;
	border-radius: 8px;
	height: 34px;
	font-size: 17px;
	color: white;	
}

.primary_button{
	background-color: #5c0404a4;	
}
.primary_button:hover, .guest_btn:hover {
	background-color: rgb(175, 131, 66);
}
.close_button{
	background-color: #555a59a4;	
}
.close_button:hover{
	background-color: #343535c1;
}
.save_button, .close_button{
	width: 200px;
}





/*______________lOGIN________________________*/
.login_container{	
	width: 100%;
	display: flex;
    padding: 5%;
    text-align: center;
    flex-direction: column;
}
.login_container>div{
    top: 50%;
}
.login_button{
	margin: 80px 50px;
	width: 200px;
}
.login_title{
	font-size: 65px;
	color: #5c0404;
	margin-bottom: 20px;
}
.login_error{
	margin: 30px;
	color: red;
	font-size: 20px;
}
.login_input{
	display: block;
	text-align: center;
	font-size: 15px;
	padding: 5px;
	width: 200px;
	height: 30px;
	border: none;
	background-color: #f1ebe5;
	border-radius: 10px;
	margin: 0 auto;
}
#loginForm{
	margin-top:50px;
}

/*______________HEADER________________________*/
.header{	
	width: 100%;
	display: flex;
    height: 65px;
    position: fixed;	
	z-index: 1000;
    align-items: center;
}
.logo{
	float: left;
	padding-left: 5%;
	margin: auto 0;
}
.logo a{
	display: flex;
	align-items: center; /* Centra verticalmente los elementos dentro del <a> */
    text-decoration: none;
}
.logo img {
    margin-right: 10px; /* Añade espacio entre la imagen y el texto */
}

.logo span {
    font-size: 20px; /* Ajusta el tamaño de la fuente según lo necesites */
    color: #375569; /* Cambia el color del texto si es necesario */
}
.user_name{
	float: right;
	font-size: 2.6vw;
	margin-right: 40px;
	color: #5c0404;
	height: 60px;
    position: relative;
    top: 25%;
	margin-bottom: 20px;
}

/*________________MENU______________*/
nav{
	font-size: 20px;
	width: 16vw;
	height:calc(100vh - 50px);
	background:#f3f0ec;
	padding-top: 20px;
    margin: 0 0 0 -10px;
	position: absolute;
  }
  nav li{
	list-style:none;
	width: 100%;
	border-bottom: 2px solid rgba(255,255,255,.5);
  }  
  nav a{
	color: #5c0404;
	display: block;
	line-height:3.5;
	padding: 0 10px;
	text-decoration:none;
	transition:.4s ease;
  }  
  nav a:hover{
	transform:translateX(10%);
	color: darkgoldenrod;
  }

/*________________VIEWS______________*/
.main_container{
	position: relative;
	margin: 0 auto;
	float: right;
	width: 85%; 
	padding: 2% 2% 3% 5%;
}
.view_title{
	margin-top: 20px;
	margin-bottom: 30px;
	width: 100%;
	text-align: center;
	font-size: 30px;
	color: rgb(82, 56, 50);
}
.table_container{
	margin-top: 25px;
}

/*________________LIST VIEWS______________*/
.search_bar{
	width: 50% !important;
	float: right;
	margin-bottom: 15px;
}
.green_btn{
	background-color: aquamarine;
	border: none;
	padding: 10px;
	border-radius: 10px;
}

.blue_btn{
	background-color: rgb(167, 226, 250);
	border: none;
	padding: 10px;
	border-radius: 10px;
}




/*________________EVENT VIEW______________*/
.event_info input[disabled] {
	color: rgb(136, 134, 134);
}
.event_info input, .event_info textarea, .event_info select{
	text-align: left;
    font-size: 15px;
    padding: 5px;
    border: none;
    background-color: #f1ebe5;
    border-radius: 7px;
    padding-left: 15px;
}
.event_d1{
	display: inline-block;
    width: 49%;
	margin: 5px 0;
}
.event_d1 input, .event_info select{	
	margin-right: 30px;
	float: right;
	width: 73%;	
    padding-left: 15px;
}
.event_d2, .event_d3{
	display: inline-block;
	margin: 5px 0;
	width: 95%;
}
.event_d2 input, .event_d3 input, .event_d2 textarea{
	width: 90%;
	float: right;
}
.event_d2 textarea{
	resize: vertical;
}
.event_title{
    font-size: 20px;
    margin-right: 40px;
    color: #5c0404;
	margin: 20px 0  0 0;
}
.separator{
	background-color: #5c0404a4;
	height: 2px;
	width: 95%;
	margin-bottom: 5px;
}
.event_btn_container{
	margin-top: 20px;
	width: 100%;
	text-align: center;
}




/*________________GUESTS VIEW______________*/
.overview_container {
    display: flex;
    justify-content: space-between; /* Espacio uniforme entre los elementos */
    align-items: center; /* Alinear verticalmente los divs en el centro de la celda */
}
.overview_container div {
	width: 170px;
	flex: 1; /* Cada div ocupará el mismo espacio */
	text-align: center; /* Opcional: centrar el contenido dentro de cada div */
}
.overview_container button, .overview_container{
	background: none;
	border: none;
	color: #375569;
	font-size: 15px;
}
.overview_container button:hover i, .overview_container button:hover span, .overview_container button:hover p{
	color: #7a1414;
}
.overview_icon_title{
	margin: 0;
	padding-top: 10px;
}
.guest_overview_icon{
	font-size: 20px;
	color: #375569;
}
.add_subtitle{	
	text-align: center;
	border-bottom: 1px solid lightgray;	
	font-size: 20px;
	color: #5c0404;
	padding-left: 20px;
}
.user_form input{
	text-align: left;
    font-size: 15px;
    padding: 5px;
    border: none;
    background-color: #f1ebe5;
    border-radius: 7px;
}

/*___________________________________________________________________*/
/* .table_cel{
	display: none;
} */
.guest_table{
	width: 100%;
}
.guests_actions_cel{
	display: none;
}
.guests_action_buttons{
	text-align: center;
}
.guest_table tr{
	width: 100%;
	border-bottom: 1px solid;
}
.editable_guest_table tr{
	border: none;
}
.editable_guest_table{
	width: 100%;
}
.editable_guest_table td, .add_guest td{
	padding: 10px 20px;
}
.modal_container{
	display: none;
	position: fixed;
    background: rgb(0 0 0 / 33%);
	box-shadow: inset 0px 0px 10px 10px #f3f0ec;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    justify-content: center; /* Centrar horizontalmente */
    align-items: center;
}
.modal_container td{
	border-top: none !important;
}
.add_guest table{
	width: 100%;
}
.add_guest_div{
	display: flex;
	margin-bottom: 10px;
}
#guest_fields_label{
	display: none;
}
.custom_select{
	width: 100%;
	margin-left: 10px;
}
.modal_view{
	background: rgba(255, 255, 255, 0.966);
    padding: 30px;
    width: 50vw;   
	border-radius: 30px;
	max-height: 90vh;
	overflow-y: auto;
}
.edit_guest_input_container{
	display: flex;
	width: 100% !important;	
    align-items: baseline;
}
.editable_info_container{
	display: flex;
    justify-content: space-between;
}
.editguests_left{	
	width: 45%;
	display: inline-block;
	margin-right: 30px;
}
.editguests_right{
	width: 45%;
	flex-direction: column;
	display: flex;
    justify-content: space-around;
}
.editguests_left>div{
	display: flex;
    align-items: center;
	margin: 5px 0;
}
.user_form input, .custom_select{
	text-align: left;
	padding: 5px;
	border: none;
	background-color: #f1ebe5;
	border-radius: 7px;
	width: 100%;
	margin-left: 10px;
}
.editguests_left label{
	margin-right: 5px !important;
}
.editguests_right label{	
	min-width: 70px;
	margin-right: 5px !important;
}
.editguests_right input{
	width: 70%;
}
.guests_edit_btn{
	display: flex;
    justify-content: space-evenly;
	margin-top: 10px;
}


.full_label{
	width: 100%;
}
.edited_confirmed_row{
	width: 100%;
	display: flex;
    justify-content: space-around;
    align-items: center;
}

.guest_overview{
	width:100%; 
	display:flex;
	justify-content: space-around;
	flex-wrap: nowrap; 
}
.guest_overview_info, .guests_action_buttons{
	text-align: center;
}
.guest_btn{
	color: #5c0404a4;
	border: none;
	font-size: 20px;
	margin: 0px 0 0 5px;
	padding: 5px 5px;
	border-radius: 10px;
}
.guest_btn:hover{	
	color: #375569;
	background-color: rgba(230, 230, 230, 0.699);
}



.guest_btn{
	background-color: white;
}

.guests_edit_btn{
	margin-top: 20px;
}














/*___________________________________________________________________*/




  #addGuestFields{
	cursor: pointer;
	color: #337ab7;
  }
  
 
.alert {
  position:absolute;
  width: 90%;
  margin: 15px auto;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 14px;
  border: 1px solid transparent;
  transition: opacity 0.4s ease;
}

/* éxito */
.alert.success {
  background-color: #d4edda;
  color: #155724;
}

/* error */
.alert.error {
  background-color: #f8d7da;
  color: #721c24;
  border-color: #f5c6cb;
}

/* ocultar */
.alert.hide {
  opacity: 0;
}


.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.7);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #ccc;
  border-top: 4px solid #333;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}






















/*FONTS*/

nav, .view_title, .event_title
{
	font-family: "Aboreto", system-ui;
}

.login_title, .user_name{
	font-family: 'kgPrimary';
}
.title{
	font-family: "MonteCarlo", Sans-serif; 
}





/*TELEFONO*/
@media screen and (max-width: 1000px) { 
    .login_container {
		margin-top: 35%;
    }
	.login_title{
		font-size: 100px;
		margin-top:20px;
	}
	.login_input{
		width: 80%;
		font-size: 50px;
		height: 100px;
		border-radius: 20px;
		margin-top: 50px;
	}
	.primary_button, .close_button{
		font-size: 50px;
		padding: 2%;
		height:fit-content !important;
	}

	.close_btn, .save_button{
		width: auto;
	}
	.login_button{
		width: 80%;
	}
	.logo img {
		width: 10vw;
		height: auto;
		margin-right: 10px; /* Añade espacio entre la imagen y el texto */
	}

	.logo span {
		font-size: 4vw; /* Ajusta el tamaño de la fuente según lo necesites */
		color: #375569; /* Cambia el color del texto si es necesario */
	}
	.user_name{
		font-size: 5vw;
	}
		


	.h_container{
		/* background-color: white; */
		padding: 4vw 0;
	}
	.contenedor{
		display: block;
		width: 100%;
	}
	#menu{
		display: none !important;
	}
	.contenedor .menu_li{
		font-size: 5vw;
		padding: 1vw;
		width: 40vw;
	}
	.main_container{		
        padding: 5vw 4vw 5vw 7vw;
		border-radius: 30px;
		box-shadow: 0px -4px 4px #dfdfdf;
		width: 100%;
		margin: 0 auto;
		min-height: 80vh;
	}
	.view_title{
		margin-top: 5vw;
		font-size: 8vw;
		display: none;
	}
	
	.event_d1, .event_d2, .event_d3{
		width: 100%;
		font-size: 5vw;
	}

	.event_info input, .event_info textarea{
		font-size: 5vw;
		width: 100%;
		margin-left: 1vw;
		margin-right: 2vw;
		height: fit-content;
	}
	.event_d2 textarea{
		height:30vw
	}
	.event_title{
		font-size: 5vw;
		margin-top: 5vw;
	}
	.separator{
		height: 4px;
		margin-bottom: 5vw;
	}
	.overview_container{
		display: flex;
		font-size: 5vw;
		margin: 0 auto;
	}
	.overview_container div {
		width: 49%;
		display: inline-block;
		padding: 2vw 4vw;
	}
	.guest_overview_icon{
		font-size: 6vw;
		margin-bottom: 20px;
	}
	.table_container{
		display: flex;
		flex-direction: column;
		font-size: 5vw;
	}
	.form-control{
		font-size: 5vw !important;
		height: fit-content !important;
		margin-top: 5vw;
		width: 100% !important;
	}

    /* Estilos para cada celda */
    .guest_table td {
	    justify-content: space-between;
        padding: 10px;
        border: 1px solid #ddd;
    }
	.no_editable_view{
		display: flex;
		flex-direction: column;
	}
	.buttons button{
		display: inline-block;
	}

	.guest_container{
		font-size: 5vw;
	}
	.buttons button{
		font-size: 5vw;
		padding: 1vw;
		height: 10vw;
	}
	.guests_action_buttons, .guest_overview_info{
		display: none;
	}
	.guests_actions_cel{
		display: table-row;
	}
	.guests_left_info p, .guests_right_info p{
		font-size: 6vw !important;
		font-weight: 00;
	}
	.guest_info_container{
		flex-direction: column;
	}
	.guests_left_info div{
		
		justify-content: space-between;
	}
	.guests_info_container{
		display: flex;
		flex-direction: column;
	}
	.guest_btn{
		padding: 1vw;
		font-size: 5vw;
	}
	.guest_label_confirm{	
		text-align: center;
		color: #516470;	
		padding: 0 35px !important;
		font-size: 5vw;
	}
	.guest_label{
		font-weight: bold;
		font-size: 5vw;
	}
	.table_pc{
		display: none;
	}
	.guest_table{
		display: block;
	}
	.guest_table td{
		border: none !important;
	}
	.edit_guest_container{
		display: none;
	}
	.guest_label_confirm_data{
		font-size: 5vw;
		text-align: center;
	}
	.guests_action_buttons{
		padding-top: 10px !important;
		text-align: left !important;
	}
	.guests_action_buttons a, .guests_action_buttons button{
		padding-right: 2vw;
		text-align: left;
	}
	.guest_table{
		width: 100%;
		font-size: 5vw;
		border: none;
		border-spacing: 0 10vw;
	}
	.guest_table td{
		padding: 2vw 3vw;
	}
	.guest_table>thead>tr>th {
		background: rgb(230, 230, 230);
		border: none !important;
	}
	
	.user_form input, .custom_select{
		font-size: 5vw;
		text-align: left;
		padding: 5px;
		border: none;
		background-color: #f1ebe5;
		border-radius: 7px;
		width: 100%;
	}
	.user_form input[type=checkbox]{
		width: 4vw;
		height: 4vw;
		padding: 2vw;
	}
	.send_btn, .close_btn{
		font-size: 5vw;
		width: auto;
		height: 8vw;
	}

	.guest_table td{
		font-size: 5vw;
	}
	.edit_guest_container{
		font-size: 4;
		font-size: 4vw;
		z-index: 3;
	}
	.edit_guests_cel{	
		width: 100vw;   
		padding:10vw;
	}
	.guest_section{
		background: #516470;
	}
	.overview_icon_title{
		display: none;
	}
	.edited_confirmed_row{
		flex-direction: column;
	}
	.edit_label_cel {
		display: none;
	}
	.edit_Cel{
		flex-direction: column;
	}
	.user_form input{
		margin-top: 2vw;
	}
	.editable_guest_table h3{
		font-size: 6vw;
	}
	.modal_view{
		width:95vw;
	}
	.guests_edit_btn{
		width: auto;
	}
	.guests_edit_btn button{
	 min-width: 350px;
	}
	.add_subtitle{
		font-size: 6vw;
	}
	.add_guest table{
		font-size: 5vw;
	}
	
	.blue_btn{
		margin-top: 3vw;
	}
}


.gallery .second_button{
	font-size: 16px;
    background-color: #a6a6a65e;
    padding: 7px 20px;
    border-radius: 8px;
    margin-right: 15px;
    display: inline-block;
    width: 40%;
}


.gallery-upload {
  padding: 20px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}

.gallery-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}





@media (max-width: 900px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}
