* {
	/* PADDING */
	--main-padding: 1rem 2rem;
	--btn-padding: 0.6rem 1rem;
	/* BORDER RADIUS */
	--border-rad: 10px;
	/* COLOR */
	--grey: #f1f1f1; 
	--yellow: #f3f178;
	--purple: #190d44;
	--light-purple: #6562f3;
	--orange: #ff8350;
	--red: #dc3545;
	--green: #28a745;
    --mid-purple: #332a80;
	--white: #ffffff;

	/* TRANSITION DURATION */
	--tduration: 0.2s;

	/* DK */
	box-sizing: border-box;
}

*:not(.fa-brands):not(.fa-solid):not(.fa-regular) {
	/* FONT FAMILY */
	font-family: "Roboto", sans-serif;
}

html {
	height: 100%;
}

body {
	display: flex;
	flex-flow: column;
	height: 100%;
}

a {
	text-decoration: unset;
}

button:not(:disabled) {
	cursor: pointer;
}

/* HEADER STYLES - VersiÃ³n Web */

header.header-main {
	align-items: center;
	background-color: white;
	border-bottom: 2px solid var(--grey);
	display: grid;
	gap: 10px;
	grid-template-columns: 22% 55% auto;
	padding: 1.6rem 1rem;
}

/* Logo */
.header-logo {
	grid-column: 1;
}

.header-logo .header-logo-container img {
	width: 100%;
	max-width: 200px;
}

/* Navigation Menu */
header.header-main .primary-menu {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	justify-content: space-between;
	align-items: center;
	background-color: var(--grey);
	border-radius: var(--border-rad);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 700px;
}

.primary-menu {
	grid-column: 2;
}

header.header-main .primary-menu li.menu-item {
	width: 100%;
	text-align: center;
}

header.header-main .primary-menu li.menu-item > a {
	padding: 1.2rem 0;
	display: grid;
	color: var(--purple);
	font-weight: 500;
	width: 100%;
	height: 100%;
}

header.header-main .primary-menu li.menu-item.menu-active > a,
header.header-main .primary-menu li.menu-item > a:hover {
	background-color: var(--light-purple);
	width: 100%;
	height: 100%;
	color: white;
}

/* User Actions and Social Media */
.container-header {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	grid-column: 3;
}

.header-last {
	display: flex;
	flex-direction: row;
	width: 100%;
	height: 100%;
	align-items: center;
	gap: 5px;
}

.header-user {
	display: flex;
	flex-direction: row;
	align-items: center;
	height: 30px;
	width: 100%;
}

.header-user .btn-ylw {
	display: flex;
	height: 50px;
	width: 90%;
	min-width: 90px;
	background-color: var(--yellow);
	border-radius: var(--border-rad);
	font-weight: 500;
	font-size: 15px;
	border: none;
	color: var(--purple);
	align-items: center;
	justify-content: center;

}
.header-user .btn-ylw:hover {
	background-color: var(--orange);
	color: var(--purple);
}


.rrss-icons1 {
	display: flex;
	align-items: center;
	margin: 0 auto;
}

.rrss-icons2 {
	display: flex;
	align-items: center;
	margin: 0 auto;
}

.rrss-icon {
	padding: 0.4rem 0.6rem;
	line-height: 0;
	background-color: var(--purple);
	color: var(--white);
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	height: 30px;
	width: 30px;
}

@media screen and (max-width: 1100px) {
	.container-header {
		margin: 0 auto;
		gap: 0px;
	}

	.header-last {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.rrss-icons1 {
		order: -1;
	}
	.rrss-icons2 {
		order: 1;
	}
	.language-selector {
		order: 2;
		grid-column: 1/3;
		width: 80%;
		margin: 0 10%;
		align-self: center;
	}
}

@media screen and (max-width: 768px) {
	header.header-main {
		display: grid;
		grid-template-rows: 1fr 1fr; /* Dos filas */
		grid-template-columns: 1fr 1fr; /* Dos columnas */
		align-items: center;
		padding: 1.6rem 1rem;
		z-index: 1000;
	}

	.header-logo {
		width: max(80%, 90px);
		grid-row: 1 / 2;
		grid-column: 1 / 2;
	}

	.container-header {
		grid-row: 1 / 2;
		grid-column: 2 / 3;
		display: flex;
		flex-direction: row;
		justify-content: center;
		gap: 0px;
	}

	.nav-primary {
		grid-row: 2 / 3;
		grid-column: 1 / 3;
	}

	.primary-menu {
		grid-row: 2 / 3;
		grid-column: 1 / 3;
		gap: 0.5rem;
	}

	.primary-menu li a {
		font-size: 14px;
	}

	.header-last {
		justify-content: flex-start;
		width: 100%;
		height: 100%;
		align-items: center;
		gap: 5px;
		display: flex;
	}
	.language-selector {
		margin: 0 0;
	}
}

@media screen and (max-width: 560px) {
	.header-user{
		height: fit-content;
		width: fit-content;
		padding: 5px 10px;
	}
	.header-user .btn-ylw {
		height: fit-content;
		width: fit-content;
		padding: 10px;
		background-color: var(--yellow);
		border-radius: var(--border-rad);
		font-weight: 500;
		font-size: 15px;
		border: none;
		color: var(--purple);
	}
}

h2.page-title {
	font-size: 2rem;
	margin-bottom: 1.4rem;
	font-weight: 600;
	color: var(--purple);
}
h3.section-title {
	font-size: 1.6rem;
	margin-bottom: 1.2rem;
	font-weight: 600;
	color: var(--purple);
}

/* MOVE THIS TO OTHER CSS LATER */
.forms-container {
	align-items: center;
	display: flex;
	padding: 2rem 1rem;
	flex-flow: column;
	height: 100%;
	justify-content: center;
}
.forms-container .forms-inner-cotainer {
	width: min(400px, 94%);
}
.forms-container .forms-inner-cotainer .form-container {
	padding: 2rem 3rem;
	background-color: var(--grey);
	border-radius: var(--border-rad);
}
.forms-container .forms-inner-cotainer .form-container:not(:last-child) {
	margin-bottom: 2rem;
}
.forms-container .forms-inner-cotainer .form-container h3 {
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--purple);
	margin-bottom: 1.6rem;
}
.form-container form .form-group,
.forms-container .forms-inner-cotainer .form-container form .form-group {
  margin-bottom: 1.4rem;
	position: relative;
	display: flex;
	flex-flow: row;
}
.form-container form .form-group.from-options,
.forms-container .forms-inner-cotainer .form-container form .form-group.from-options {
  flex-flow:column !important;
}

.contenedor-inferior{
	display: flex;
	flex-flow: row;
	justify-content: left;
	color: white;
	font-weight: 500;
}
.forms-container .forms-inner-cotainer .form-container form .form-group.from-options.from-separador label{
width:unset !important;

}

.forms-container .forms-inner-cotainer .form-container form .form-group.from-options.from-separador label:first-of-type{
  margin-right: 1.3rem;
}


.form-container form .form-group label,
.forms-container .forms-inner-cotainer .form-container form .form-group label {
	width: 100%;
	display: block;
	position: relative;
	border-radius: 0;
}
.form-container form .form-group label > input,
.form-container form .form-group textarea > input,
.forms-container .forms-inner-cotainer .form-container form .form-group label > input {
	width: 100%;
	padding: 0.4rem 0.2rem;
	border: unset;
	border-bottom: 2px solid var(--purple);
	border-radius: 0;
	background-color: transparent;
	box-shadow: unset;
	outline: unset;
	font-size: 1.2rem;
	text-align: left;
  text-align-last: left;
}
.form-container form .form-group label > input + span,
.form-container form .form-group label > textarea + span,
.forms-container .forms-inner-cotainer .form-container form .form-group label > input + span {
	position: absolute;
	z-index: 1;
	top: 0.8em;
	left: 0.4em;
	font-weight: 500;
	color: var(--purple);
	transition: all 0.3s;
	cursor: text;
}
.form-container form .form-group label > input:not(:placeholder-shown) + span,
.form-container form .form-group label > textarea:not(:placeholder-shown) + span,
.forms-container .forms-inner-cotainer .form-container form .form-group label > input:not(:placeholder-shown) + span {
	left: 0;
	top: -0.5em;
	font-size: 0.8em;
}
.form-container form .form-submit,
.forms-container .forms-inner-cotainer .form-container form .form-submit {
	display: flex;
	flex-flow: row;
	justify-content: center;
	gap:50px;
}
.form-container form .form-submit.button-left,
.forms-container .forms-inner-cotainer .form-container form .form-submit.button-left {
	justify-content: flex-start;
}
.form-container form .form-submit button,
.forms-container .forms-inner-cotainer .form-container form .form-submit button {
  background-color: var(--purple);
  border: unset;
  padding: 0.5rem 0.8rem;
  font-size: 1.2rem;
  color: #ffffff;
  border-radius: var(--border-rad);
	width: min(60%, 600px);
	margin-bottom: 4%;
}

.form-container form .form-submit button:hover,
.forms-container .forms-inner-cotainer .form-container form .form-submit button:hover {
    background-color: var(--mid-purple);

}

.form-submit label{

	background-color: var(--purple);
    color: #ffffff;
    padding: 0.5rem 0.8rem;
    font-size: 1.2rem;
    border-radius: var(--border-rad);
    cursor: pointer;
}

.form-submit label:hover{
	background-color: var(--mid-purple);
}

a.forgot-password {
    color: var(--purple);
    text-decoration: none;
    font-size: 12px;
    display: inline-block;
    transition: color 0.3s ease;
}

a.forgot-password:hover {
    color: var(--mid-purple);
    text-decoration: underline;
}

#singUP {
  color: var(--purple);
    text-decoration: none;
    font-size: 12px;
    display: inline-block;
    transition: color 0.3s ease;
}

#singUP:hover {
color: var(--mid-purple);
    text-decoration: underline;
}

/*
.form-container form .form-submit button,
.forms-container .forms-inner-cotainer .form-container form .form-submit button {
    background-color: var(--purple);
    border: unset;
    padding: 0.5rem 0.8rem;
    font-size: 1.2rem;
    color: #ffffff;
    border-radius: var(--border-rad);
    transition: background-color 0.3s, opacity 0.3s;

} */


.form-container form .form-submit button:disabled,
.forms-container .forms-inner-cotainer .form-container form .form-submit button:disabled {
	opacity: 0.8;
}

.form-container form .form-group.from-options .form-option[data-id] {
	opacity: 0;
	position: absolute;
	visibility: hidden;
	top: 0;
	left: 0;
}
.form-container form .form-group.from-options > input[type="radio"][data-value],
.form-container form .form-group.from-options > input[type="checkbox"][data-value] {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	visibility: hidden;
	width: 1px;
	height: 1px;
	background-color: transparent;
	color: transparent;
	border: unset;
	margin: unset;
	padding: unset;
}
.form-container form .form-group.from-options label[data-id] {
	padding-left: 1.8rem;
	display: flex;
	flex-flow: row;
	align-items: center;
	color: var(--purple);
}
.form-container form .form-group.from-options label[data-id] > i {
	position: absolute;
	left: 0;
	border: 2px solid var(--purple);
	border-radius: 4px;
	padding: 2px;
	color: transparent;
	transition: color 0.2s;
}
.form-container form .form-group.from-options > input[type][data-value="1"]:checked ~ label[data-id="1"] > i,
.form-container form .form-group.from-options > input[type][data-value="2"]:checked ~ label[data-id="2"] > i,
.form-container form .form-group.from-options > input[type][data-value="3"]:checked ~ label[data-id="3"] > i,
.form-container form .form-group.from-options > input[type][data-value="4"]:checked ~ label[data-id="4"] > i,
.form-container form .form-group.from-options > input[type][data-value="5"]:checked ~ label[data-id="5"] > i {
	color: var(--purple);
}
.form-container form .form-group.from-options > input[type][data-value="1"]:checked ~ .form-option[data-id="1"],
.form-container form .form-group.from-options > input[type][data-value="2"]:checked ~ .form-option[data-id="2"],
.form-container form .form-group.from-options > input[type][data-value="3"]:checked ~ .form-option[data-id="3"],
.form-container form .form-group.from-options > input[type][data-value="4"]:checked ~ .form-option[data-id="4"],
.form-container form .form-group.from-options > input[type][data-value="5"]:checked ~ .form-option[data-id="5"] {
	opacity: 1;
	visibility: visible;
	position: relative;
	margin-top: 1.4rem;
}

.form-actions {
	display: flex;
	flex-flow: row;
	justify-content: space-between;
	margin-top: 1.8rem;
}

.main-content {
	display: flex;
	flex-flow: row;
	width: 100%;
}

.main-content,
.main-content .main-content-wrapper,
.main-content .main-content-wrapper .home-content {
	height: 100%;
}

@media screen and (max-width: 768px) {
	.main-content {
		flex-flow: column;
	}
}

.home-content {
	padding: var(--main-padding);
	width: 55%;
}
.home-content .home-column {
	padding: 2rem 1rem;
	width: auto;
}
.home-content .home-column.central-column {
	border-left: 2px solid var(--grey);
	width: 100%;
	/* word-break: break-all; */
	padding: 5%; 
}

@media screen and (max-width: 768px) {
	.home-content {
		width: 100%;
	}
}

/* BUTTONS */
.btn {
	box-shadow: unset;
	outline: unset;
	border: unset;
	padding: var(--btn-padding);
	border-radius: var(--border-rad);
	line-height: 1em;
	font-size: 1rem;
	background-color: var(--purple);
	color: white;
}
/** SIZES */
.btn.btn-xsmall {
	padding: 0.4rem;
}
.btn.btn-big {
	padding: var(--main-padding);
	font-weight: 500;
}
/** FONTS */
.btn.btn-heavy {
	font-weight: 600;
}
/** COLORS */
.btn.btn-transparent {
	background-color: transparent;
	box-shadow: unset;
	outline: unset;
	border: unset;
}
.btn.btn-yellow {
	background-color: var(--yellow);
	color: var(--purple);
}
/* BUTTONS GROUP */
.btn-group {
	display: flex;
	flex-flow: row;
	justify-content: center;
	align-items: stretch;
	position: relative;
	width: min-content;
}

.btn-group > .btn:first-child {
	border-top-right-radius: 0;
	border-top-left-radius: var(--border-rad);
	border-bottom-right-radius: 0;
	border-bottom-left-radius: var(--border-rad);
	padding-right: 1rem;
}
.btn-group > .btn:not(:first-child) {
	border-top-left-radius: 0;
	border-top-right-radius: var(--border-rad);
	border-bottom-left-radius: 0;
	border-bottom-right-radius: var(--border-rad);
}
/* BUTTON ACTIONS */
.btn[data-action] {
	border: 2px solid transparent;
	color: var(--grey);
	transition: background var(--tduration), color var(--tduration), border-color var(--tduration);
}
.btn[data-action]:hover {
	background-color: var(--grey);
}
.btn[data-action].btn-primary {
	background-color: var(--purple);
	border-color: var(--purple);
}
.btn[data-action].btn-cancel {
	background-color: var(--red);
	border-color: var(--red);
}
.btn[data-action].btn-primary:hover {
	color: var(--purple);
	border-color: currentColor;
	background-color: var(--grey);
}
.btn[data-action].btn-cancel:hover {
	color: var(--red);
	border-color: currentColor;
	background-color: var(--grey);
}
/* BUTTON FLACID */
.btn[data-action].btn-cancel-flad {
	background-color: transparent;
	border-color: transparent;
	color: var(--red);
}
.btn[data-action].btn-cancel-flad:hover {
	color: var(--grey);
	border-color: var(--red);
	background-color: var(--red);
}

/* DROPDONWS */
.dropdown-menu {
	background-color: #333;
	color: var(--grey);
	padding: 5px 10px;
	border-radius: 4px;
	display: none;
	width: 100%;
}
[data-show_dropdown] > .dropdown-menu {
	display: block;
}
/** DROPDOWN ARROWS */
.drop-arrow,
.drop-arrow::before {
	position: absolute;
	width: 8px;
	height: 8px;
	background: inherit;
}
.drop-arrow {
	visibility: hidden;
}
.drop-arrow::before {
	visibility: visible;
	content: "";
	transform: rotate(45deg);
}
.dropdown-menu[data-popper-placement^="top"] > .drop-arrow {
	bottom: -4px;
}
.dropdown-menu[data-popper-placement^="bottom"] > .drop-arrow {
	top: -4px;
}
.dropdown-menu[data-popper-placement^="left"] > .drop-arrow {
	right: -4px;
}
.dropdown-menu[data-popper-placement^="right"] > .drop-arrow {
	left: -4px;
}

/* CONFIRMATIONS */
dialog.cool-dialog {
	/*opacity:0;*/
	/*transition: opacity .2s;*/
	background-color: #ffffff;
	border: 2px solid var(--grey);
	padding: var(--main-padding);
}
dialog.cool-dialog .dialog-body {
	margin-bottom: 1rem;
}
dialog.cool-dialog .dialog-body h4 {
	font-size: 1.2rem;
	color: var(--purple);
}
dialog.cool-dialog .dialog-actions {
	display: flex;
	justify-content: space-between;
}


/*Estilos nuevos*/

.btn-MyEvents {
	background-color: white;
	padding: 8px 16px;
	border-radius: 10px;
	cursor: pointer;
	height: 40px;
	width: 80%;
	/*min-width: 90px;*/
	font-size: 13px;
	color: var(--purple);
	font-weight: 700;
	margin: auto;
	justify-content: center;
	align-items: center;
	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
}

.btn-MyEvents:hover {
	background-color: var(--purple);
	color: white;
}

/*------------------- agenda ------------------

.ui-datepicker {
	background: var(--mid-purple);
	color: var(--grey);
	padding: 15px 10px 10px 10px;
	border-radius: 10px;
	border: 1.2px solid yellow !important;
	}

	.ui-datepicker-header {
	background: var(--purple);
	color: white;
	border-radius: 10px;
	border: 1.2px solid transparent !important;
	}

	.ui-state-default {
	background: #555;
	color: white;
	border-radius: 5px;
	}

	.ui-state-default:hover {
	background: var(--light-purple);
	color: white;
	border: 1.3px solid yellow !important;
	}

	.ui-state-highlight {
	background: var(--purple) !important;
	color: white !important;
	border: 1.3px solid yellow !important;
	}

	.ui-datepicker-prev, .ui-datepicker-next {
	background: var(--grey) !important;
	color: white !important;
	border-radius: 50%;
	}

	.ui-state-active {
	background: var(--light-purple) !important;
	color: white !important;
	font-weight: bold;
	border-radius: 5px;
	border: 1.3px solid yellow !important;
	}
	*/

	/*Dialog del update*/

	dialog {
		border: none;
		padding: 2rem 3.4rem;
		width:min(80%,600px);
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
		position: relative;
		animation: fadeIn 0.3s ease-out;
		background-color: var(--grey);
	}

	.dialog-container {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	dialog::backdrop {
		background-color: rgba(0, 0, 0, 0.5);
		animation: fadeInBackdrop 0.3s ease-out;
	}

	@keyframes fadeIn {
		from {
			opacity: 0;
			transform: translateY(-10%);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@keyframes fadeInBackdrop {
		from {
			opacity: 0;
		}
		to {
			opacity: 1;
		}
	}

	.recuadro {
		text-align: center;
		background-color: var(--grey);
		border-radius: 10px;
		padding: 20px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.gift-inputs {
		display: flex;
		flex-flow: row;
    align-items: center;
    gap: 20px;
    justify-content: center;
		flex-wrap: wrap;
		margin-bottom: 40px;
	}

	@media screen and (max-width: 768px) {
		.gift-inputs {
			gap: 10px;
		}
	}
	
	.form-checkbox {
		display: flex;
		align-items: center;
		flex-flow: row;
		justify-content: center;
		gap: 5px;
	}

	.form-checkbox label {
		color: var(--purple);
	}

	#dialogUpdate .form_group {
		margin-bottom: 20px;
		
	}

	#dialogUpdate .form_group label>span {
		display: flex;
		color: var(--purple);
		font-size: 1em;
		font-weight: 500;
		margin-top: 10px;
		margin-bottom: 10px;
		
	}

	#dialogUpdate .form_group label>input[type="number"] {
		-moz-appearance: textfield;
		-webkit-appearance: none;
		appearance: none;
		width: 100%;
		padding: 8px;
		font-size: 18px;
		border: 1px solid #000000;
		border-radius: 5px;
		box-sizing: border-box;
		background-color: var(--light-purple);
		color: var(--yellow) !important;
		text-align: center;
		font-weight: bold;
	}


	#dialogUpdate .form-checkbox label {
		font-size: 14px;
		font-weight: bold;
		text-align: center;
		margin: 10px;
		color: var(--white);
	}

	#dialogUpdate .form-submit {
		text-align: center;
	}

	.dialog-title {
		color: var(--purple);
		font-size: 1.4rem;
		font-weight: bold;
		margin-bottom: 1.4rem;
		text-align: start;
	}

	.form_group > input[type="radio"] {
		display: none;
	}

	.form-option > input[type="checkbox"] {
		display: none;
	}

	.form_group.from-options > input[type="checkbox"] {
		margin-top: 20px;
	}

.custom-radio {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 18px;
}
.custom-radio:not(:last-child){
  margin-bottom:1em;
}

	#dialogUpdate .form-file-group label {
		font-size: 16px;
		font-weight: bold;
		color: var(--white);
		margin-top: 10px;

	}

	#dialogUpdate .form-file-group > input[type="file"] {
		margin: 50px 0;
		display: none;
	}

	/*------*/

	.form-file-group {
		display: flex;
		flex-direction: column;

	}

	.custom-file-upload {
		position: relative;
		cursor: pointer;

	}

	.custom-file-upload input[type="file"] {
		display: none;
	}

	#dialogUpdate .form-file-group .custom-file-upload .file-label {
		display: inline-block;
		padding: 6px 10px;
		background-color: var(--grey);
		color: var(--purple);
		border-radius: 8px;
		transition: background-color 0.3s;
		font-size: 10px;
		margin: 0;
	}


	#dialogUpdate .form-file-group .custom-file-upload .file-label:hover {
		background-color: var(--light-purple); /
	}


	/*------*/

	#dialogUpdate input[type="text"] {
		width: 100%;
		padding: 8px 0;
		font-size: 18px;
		border: none;
		border-bottom: 2px solid var(--purple);
		background-color: transparent;
		box-sizing: border-box;
		color: var(--purple);
		text-align: left;
	}

	#dialogUpdate input[type="text"]:focus {
		outline: none;

	}

	#dialogUpdate input[type="text"]::placeholder {
		color: transparent;
	}

	#dialogUpdate .form_group.from-options label{
		color: var(--purple);
		display: flex;
		flex-flow: row;
		align-items: center;
	}

	#dialogUpdate textarea {
		width: 100%;
		height: 40px;
		resize: none;
		border: none;
		border-bottom: 2px solid var(--purple);
		background-color: transparent;
		color: var(--purple);
		font-size: 12px;
		padding: 8px 0;
		box-sizing: border-box;
		text-align: left;
	}

	#dialogUpdate textarea:focus {
		outline: none;
	}

	#dialogUpdate textarea::placeholder {
		color: transparent;
	}

	.dialog-btn-close {
		padding: 5.3px 12px;
    align-items: center;
    background-color: #d9534f;
    border-radius: 5px;
    border: none;
    color: var(--white);
    cursor: pointer;
    display: flex;
    font-weight: bold;
    justify-content: center;
    position: absolute;
    right: 14px;
    top: 14px;
	}

	.dialog-btn-close:hover {
	  background-color: #c9302c;
	}

	#prev, #sub{
		background-color: var(--light-purple);
		color: white;
		cursor: pointer;
	}

	#prev:hover, #sub:hover{
		background-color: var(--mid-purple);

	}

	/**/

	.flatpickr-calendar .dayContainer{
		gap: 0.1rem;
		padding: 0.4rem;
	}

	#event_date_picker {
		width: 100%;
		position:absolute;
		left:0;
		top:100%;
	}

	.flatpickr-calendar .flatpickr-rContainer .flatpickr-days .flatpickr-day.selected {
		background: var(--light-purple);
		border: 1.4px solid var(--purple);
		color: white;
	}

	.flatpickr-day.flatpickr-disabled {
		cursor: not-allowed;
		opacity: 0.3;
	}

	#event_date_picker .flatpickr-calendar {
		top: 0 !important;
		left: 0 !important;
  }
    /*momentaneo*/
  .flatpickr-current-month input.cur-year{
  color: black;
  font-weight: 400;
  }

  .flatpickr-current-month .flatpickr-monthDropdown-months {
  color: black;
  font-weight: 400;
  }

  .flatpickr-calendar{
  background-color: white;
  }
      /*---*/
  .flatpickr-calendar .flatpickr-days .flatpickr-day{
  background: white;
  color: black;
  border-radius: 10px;
  border: 1.3px solid var(--purple);
  }

  /*payment confirm*/

  .payment-overlay {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  }

  .payment-success,
  #payment-error,
  #payment-processing {
  background-color: var(--grey);
  width: min(80%, 360px);
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  flex-direction: column;
  border: 2px solid var(--purple);
  align-items: center;
  }

  .fa-circle-xmark,
  .fa-circle-check {
  color: var(--purple);
  font-size: 90px;
  margin: 20px;
  }

  .fa-hourglass-half {
  font-size: 70px;
  margin: 20px;
  margin-bottom: 30px;
  color: var(--purple);
  }

  .fa-spin {
  animation-duration: var(--fa-animation-duration, 3s);
  }

  #payment-error>h2 {
  font-size: 1.5rem;
  margin-bottom: 10px;
  color: #dc0000;
  font-weight: 700;

  }

  .payment-success>h2 {
  font-size: 1.5rem;
  margin-bottom: 10px;
  }

  .payment-success .amount {
  font-weight: 700;
  font-size: 1.3rem;
  margin: 10px 0;
  }

  .payment-success .recipient {
  font-weight: bold;
  color: #555;
  }

  .button-group-payment {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  }

  .payment-btn {
    flex: 1;
    padding: 10px;
    border: none;
    border-radius: 6px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    font-weight: 700;
    background-color: var(--light-purple);
    color: var(--grey);
  }

  .payment-btn:hover {
  background-color: var(--purple);
  transform: scale(1.05);
  }

.ui-datepicker {
  background: var(--mid-purple);
  color: var(--grey);
  padding: 15px 10px 10px 10px;
  border-radius: 10px;
  border: 1.2px solid yellow !important;
}

.ui-datepicker-header {
  background: var(--purple);
  color: white;
  border-radius: 10px;
  border: 1.2px solid transparent !important;
}

.ui-state-default {
  background: #555;
  color: white;
  border-radius: 5px;
}

.ui-state-default:hover {
  background: var(--light-purple);
  color: white;
  border: 1.3px solid yellow !important;
}

.ui-state-highlight {
  background: var(--purple) !important;
  color: white !important;
  border: 1.3px solid yellow !important;
}

.ui-datepicker-prev, .ui-datepicker-next {
  background: var(--grey) !important;
  color: white !important;
  border-radius: 50%;
}

.ui-state-active {
  background: var(--light-purple) !important;
  color: white !important;
  font-weight: bold;
  border-radius: 5px;
  border: 1.3px solid yellow !important;
}

/*comentarios en event single*/

.event-comments .new-comment form > .form-submit > button {
	font-size: 0.9rem;
}

.event-comments .new-comment form > .form-submit {
    display: flex;
    justify-content: flex-start;
	margin-left: 10px;
}

/**/


.event-comment > .comment-body > textarea {
   border: none;
   width: 100%;
   outline: none;
	 border-radius: 0;
	 text-align: left;
}

.action-btn{
	background-color: var(--purple);
	color: white;
	cursor: pointer;
	border-radius: 10px;
	font-size: 0.9rem;
}

.action-btn:hover{
	background-color: var(--mid-purple);
}

.btn-comm{
	display: flex;
	width: 100%;
	flex-flow: row;
	justify-content: space-between;
  }

  .btn-comm .row{
	display:flex;
  }

  .btn-comm .row button:not(:last-child){
	margin-right:9px;
  }

  /*Invitacion*/

  .InviteColum {
	width: 80%;
  }

/* Styles for shared layout elements, including sidebar-related containers */

@media screen and (max-width: 768px) {
    /* ...other existing responsive rules in main.css... */

    .container-index { /* Moved from invites.css */
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    /* ...other existing responsive rules in main.css... */
}

/* Left Column */

.left-column {
	padding: var(--main-padding);
	width: 23%;
}

.is-open {
	transform: translateX(0);
}

@media screen and (max-width: 768px) {
	.left-column {
		position: fixed;
		width: auto;
    background-color: white;
    height: 100vh;
		top: 0;
    left: 0;
    transition: transform 0.3s ease;
		z-index: 1001;
	}
	
	@supports (height: 100dvh) {
		.left-column {
			height: 100dvh;
		}
	}
	
	.left-column:not(.is-open) {
		transform: translateX(-100%);
	}

	.left-column.is-open {
		transform: translateX(0);
	}
}

#left-column { /* Or .left-wrapper */
    position: fixed;
    left: -250px;
    width: 250px;
    height: 100%;
    background: #f8f9fa;
    transition: left 0.3s ease;
    z-index: 1000;
}

#left-column.left-wrapperactive,
#left-column.active {
    left: 0;
}

/* If you use left-wrapperinactive to hide */
#left-column.left-wrapperinactive {
    left: -250px; /* Or display: none, etc. */
}

/* Right Column */

.right-column {
	padding: var(--main-padding);
	width: 22%;
}

@media screen and (max-width: 768px) {
	.right-column {
		display: none;
	}
}

/* Top bar */

.top-bar {
    display: none;
  }

  .events-search-column {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.4rem 0.6rem;
    background-color: var(--grey);
    border-radius: 24px;

    form {
      label {
        input {
          width: 80%;
          background-color: transparent;
          border: unset;
          outline: unset;
          font-size: 1rem;
          padding-left: 0.6rem;
          color: var(--purple);
        }
      }
    }
  }

  .hamburger {
    display: none;
  }

  @media screen and (max-width: 768px) {
    .top-bar {
      align-items: center;
      display: flex;
      justify-content: space-between;
      padding: var(--main-padding);
    }

    .hamburger {
      display: block;
      background-color: transparent;
      border: none;
      cursor: pointer;
      padding: 0;
      margin: 0;
      z-index: 100;
    }
  }

.opaco {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    z-index: 1001;
    display: none;
}

@supports (height: 100dvh) {
	.opaco {
		height: 100dvh;
	}
}

@media screen and (max-width: 768px) {
	body:has(.left-column.is-open) .opaco {
		display: block;
	}
}


.home-column.central-column {
    transition: margin-left 0.3s ease; /* Example transition */
    padding: 20px;
}

.home-column.central-column.active { /* When sidebar is open */
    margin-left: 250px; /* Example shift */
}

.home-column.central-column.centralOverflow {
    overflow: hidden; /* Example */
}
