.party-section {
    position: relative;
    background-image: url('party-bg.jpg');
    background-size: cover;
    overflow: hidden; /* Important so lights don't spill out */
	height: 100%;
}

.disco-lights {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    
    /* Create 3 "spotlights" using a gradient */
    background: conic-gradient(
        from 0deg, 
        transparent 0deg, 
        rgba(255, 0, 255, 0.4) 40deg,  /* Pink Laser */
        transparent 80deg, 
        rgba(0, 255, 255, 0.4) 160deg, /* Cyan Laser */
        transparent 210deg,
        rgba(100, 0, 255, 0.4) 280deg, /* Purple Laser */
        transparent 360deg
    );
    
    /* Blending mode makes it look like light on top of the photo */
    mix-blend-mode: overlay; 
    
    /* The Animation */
    animation: rotate-lights 4s linear infinite;
}

@keyframes rotate-lights {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.party-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background: white;
    opacity: 0;
    pointer-events: none; /* Let users click through it */
    animation: strobe 0.2s steps(1) infinite;
}

/* Flash on and off rapidly */
@keyframes strobe {
    0% { opacity: 0; }
    50% { opacity: 0.3; } /* Don't go to 1.0 or it's blinding */
    100% { opacity: 0; }
}

/* styles.css */

/* The sticker itself */
.party-sticker {
    position: absolute;
    width: 100px; /* Adjust default size */
    height: auto;
    pointer-events: none; /* User can click "through" it */
    z-index: 10;
    
    /* The animation lifecycle */
    animation: pop-in-out 3s ease-in-out forwards;
}

/* 
   0%   : Invisible and small
   10%  : Full size (Popped in)
   80%  : Still visible (Stay there)
   100% : Fade out and move up slightly
*/
@keyframes pop-in-out {
    0%   { transform: scale(0) rotate(var(--rot)); opacity: 0; }
    10%  { transform: scale(1) rotate(var(--rot)); opacity: 1; }
    80%  { transform: scale(1) rotate(var(--rot)); opacity: 1; }
    100% { transform: scale(1.2) rotate(var(--rot)); opacity: 0; }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
	/*outline: 1px solid red;*/
}

body {
    font-family: var(--primary_font);
    line-height: 1.6;
	color: var(--text-color);
}

.btn {
    background-color: #333;
    padding: 10px 20px;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
	position:relative;
	margin-top:115px;
	text-decoration:none;
}


.btn:hover {
    background-color: #161616;
}

/* Navbar */
.site-head .logo a {
    color: #fff;
    font-size: 34px;
    text-decoration: none;
	font-family: var(--primary_font);
	z-index: 11;
}

.site-head .logo li a {
    color: #fff;
    font-size: 34px;
    text-decoration: none;
	z-index: 11;
}

.ourDate{
	font-size: 40px;
	color: var(--main-color);
}

.countdown span {
  margin: 0 30px;
  display: inline-block;
  font-size: 34px;
  color: var(--main-color);
}

.countdown small {
  display: block;
  font-size: x-large;
  font-family: var(--secondary_font);
  margin-top: -20px;
  /*letter-spacing: 10px;
  text-transform: uppercase;*/
}

/* Cover Image */
section {
    /*padding: 60px 20px;*/
    position: relative;
    background-color: rgba(0, 0, 0, 0.6);
}

/* Parallax Section */
.parallax {
    position: relative;
    overflow: hidden; /* Hide anything that exceeds section's bounds */
    height: 100vh;
	width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    /*padding: 60px 0px; /* Padding to create space within the section */
    background: url("../images/flowers.png"), url("../images/flowers2.png"), var(--background-color); /* Default background color to prevent flashing */
	background-position: top right, bottom left;
	background-size: 30%;
	background-repeat: repeat-x;
}

/* Parallax background */
.parallax .background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	right: 0px !important;
	bottom: 0px !important;
	top: 0px !important;
	width: inherit;
	height: inherit;
}

/* Section content styling */
.section-content {
    position: absolute;
    /*z-index: 1; /* Ensure text/content is above the background */
    text-align: center;
	text-align: -webkit-center;
}

.flores{
	margin-bottom: 150px;
}

.dateBar {
	border-color: var(--main-color); 
	background-color: var(--main-color);
	size:5px;
	margin-top:-10px;
}

#cover {
    text-align: center;
}

#cover .background{
	background-image: url('../images/alex.jpg');
}

#presentacion{
	text-align: center;
}

#div-presentacion{
	display: flex;
    flex-direction: column;
    justify-content: space-around;
	height:100%;
}

#itinerary {
	overflow: auto;
	height: fit-content;
}

#itinerary .background{
	margin: 0 !important;
}

#lugar{
	overflow: auto;
	height: fit-content;
	text-align: center;
	flex-direction: column;
}

.overlay {
    position: absolute;
    top: 22%;
    left: 50%;
    transform: translate(-50%, -50%);
	color: white;
}

#rsvp form {
    display: flex;
    flex-direction: row;
	flex-wrap: wrap;
    align-items: center;
	justify-content: space-evenly;
}

#divdropdown{
	position: relative; 
	top: 100%;
}

#rsvp input, #rsvp select {
    border: 2px solid #fff;
    border-radius: 5px;
    border: 2px solid #fff;
    border-radius: 5px;
    max-width: 100%;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    padding-top: 10px;
}

footer {
    text-align: center;
    background-color: #000;
    color: #fff;
    padding: 10px;
	position:relative;
	font-family:var(--secondary_font);
}

img.monogram{
	block-size: 27vh;
}

.novios{
	text-decoration: underline;
}

/* Itinerary template */
.itinerary-container {
    text-align: center;
    padding: 50px;
    /*background-color: #f9f9f9;*/
	position: relative;
	margin-top: 115px;
}

.title {
    font-size: xxx-large;
    color: var(--main-color);
    margin-bottom: 8px;
	text-transform: uppercase;
	font-weight: bold;
}

.subtitle {
	/*text-transform: uppercase;*/
}

.bold{
	font-weight: bold;
}

.gift-wrapper{
	margin-top: 20%;
}

.itinerary {
    max-width: 600px;
    margin: 0 auto;
}

.timeline-entry {
    opacity: 0; /* Initially hidden */
    transform: translateY(50px); /* Starts off the screen */
    transition: opacity 3s ease-out, transform 1s ease-out;
}

.mapa{
	width:80vw;
	height:450px;
	border:0;
	/*margin-left:-50%;*/
}

.hoteles{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: end;
	justify-content: center;
	margin-bottom: 10px;
}

.hotel{
	width:150px;
}

.hotelimagen{
	width: 50px;
}

.familia{
	font-family: var(--secondary_font);
	margin-bottom: 10px;
	margin-top: 25px;
}

.invitado,
.invitadoReadOnly{
	border-radius: 50%;
	width: 15vw;
	height: 15vw;
	margin-right: 10px;
	background-color: rgba(0, 0, 0, .3);
	background-image: url("../images/profile-icon.png");
	background-size: contain;
	position: relative;
}

.invitado.positivo,
.invitadoReadOnly.positivo{
	/*background-color: rgba(0, 255, 0, .3);*/
	background-image: linear-gradient(#00BC5D12, #00BC5D12),url("../images/check2.svg");
}

.invitado.negativo,
.invitadoReadOnly.negativo{
	/*background-color: rgba(255, 0, 0, .3);*/
	background-image: linear-gradient(#FF453A12, #FF453A12),url("../images/cancel2.svg");
}

.invitado p,
.invitadoReadOnly p{
	position: relative;
	top: 100%;
}

.anuncios{
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 12px;
	/*justify-items: left;*/
	text-align: center;
	font-weight: bold;
	
}

p.texto{
	font-size: 14px;
	font-weight: bold;
}

p.texto.grande{
	font-size: 17px;
}

/* Scroll trigger styling */
.itinerary-container .timeline-entry {
    opacity: 0;
    transition: opacity 3s ease, transform 1s ease;
}

.timeline-entry.show {
    opacity: 1; /* Make visible when added the show class */
    transform: translateY(0); /* Bring to normal position */
}

/* timeline template */

.timeline-centered {
  position: relative;
  margin-bottom: 30px;
}
.timeline-centered.timeline-sm .timeline-entry {
  margin-bottom: 130px !important;
}
.timeline-centered.timeline-sm .timeline-entry .timeline-entry-inner .timeline-label {
  padding: 1em;
}
.timeline-centered:before,
.timeline-centered:after {
  content: " ";
  display: table;
}
.timeline-centered:after {
  clear: both;
}
.timeline-centered:before {
  content: '';
  position: absolute;
  display: block;
  width: 7px;
  background: #ffffff;
  left: 40%;
  top: 20px;
  bottom: 20px;
  margin-left: -4px;
}
.timeline-centered .timeline-entry {
  position: relative;
  /*width: 50%;*/
  /*float: right;*/
  margin-bottom: 70px;
  clear: both;
  left: 40%;
}
.timeline-centered .timeline-entry:before,
.timeline-centered .timeline-entry:after {
  content: " ";
  display: table;
}
.timeline-centered .timeline-entry:after {
  clear: both;
}
.timeline-centered .timeline-entry.begin {
  margin-bottom: 0;
}
.timeline-centered .timeline-entry .timeline-entry-inner {
  position: relative;
  margin-left: -31px;
}
.timeline-centered .timeline-entry .timeline-entry-inner:before,
.timeline-centered .timeline-entry .timeline-entry-inner:after {
  content: " ";
  display: table;
}
.timeline-centered .timeline-entry .timeline-entry-inner:after {
  clear: both;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-time {
  position: absolute;
  left: -80px;
  text-align: right;
  padding: 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: large;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-time > span {
  display: block;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-time > span:first-child {
  /*font-size: 18px;*/
  font-weight: bold;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-time > span:last-child {
  /*font-size: 12px;*/
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon {
  background: #fff;
  color: #999999;
  display: block;
  width: 60px;
  height: 60px;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding-box;
  background-clip: padding-box;
  background-size: 65%;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%;
  text-align: center;
  border: 7px solid rgba(0,0,0,0.05);
  line-height: 45px;
  font-size: 15px;
  float: left;
}

.timeline-icon.civil,
.timeline-icon.recepcion,
.timeline-icon.comida,
.timeline-icon.baile {
    background-color: #fff;
    color: #fff;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.civil {
    background-image: url(../images/rings.svg);
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.civil:before {
  /*content:"💍";*/
  font-variant-emoji: emoji;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.recepcion {
  background-image: url(../images/cocktail.svg);
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.recepcion:before {
  /*content:"🥂";*/
  font-variant-emoji: emoji;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.comida {
  background-image: url(../images/dinner.svg);
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.comida:before {
  /*content:"🍽";*/
  font-variant-emoji: emoji;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.baile {
  background-image: url(../images/party.svg);
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.baile:before {
  /*content:"🎉";*/
  font-variant-emoji: emoji;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.novios {
  background-image: url(../images/bride_and_groom.svg);
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label {
  position: relative;
  background: rgba(0,0,0,0.05);
  padding: 1.7em;
  margin-left: 85px;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label:after {
  content: '';
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 9px 9px 0;
  border-color: transparent rgba(0,0,0,0.05) transparent transparent;
  left: 0;
  top: 20px;
  margin-left: -9px;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label p + p {
  margin-top: 15px;
}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label .timeline-title {
  margin-bottom: 10px;
  font-family: var(--secondary_font);
  font-size: xxx-large;
  margin: 0;
  font-weight: bold;
}

.swiper-slide-active {
  transform: translate3d(0, 0, 0) !important;
}
/*timeline template*/
/* Itinerary template */
	
/* Media Queries for Mobile */
@media (max-width: 800px) {
    #navbar ul {
        display: none;
        flex-direction: column;
    }

    #navbar #hamburger {
        display: block;
    }

    #navbar ul.active {
        display: block;
    }

    #navbar ul li {
        margin: 15px 0;
    }
	
	.parallax .background {
		height: 100vh;
	}
	
	.parallax {
		height: 100vh;
		background-size: 100%;
		background-repeat: no-repeat;
	}
	
	#cover .background {
		background-image: url("../images/alex.jpg") !important;
	}
	
	#separator #b1{
	background-image: url("../images/_MG_4280_mobile.jpg");
	}

	#separator #b2{
		background-image: url("../images/lugar-mobile.jpg");
	}

	#separator #b3{
		background-image: url("../images/_MG_4566_e_mobile_4.jpg");
	}

	#separator #b4{
		background-image: url("../images/_MG_4743_mobile.jpg");
	}
	
	.names{
		font-size: 10vw;
	}
	
	img.monogram{
		block-size: 30vh;
	}
	
	.overlay{
		top:22%;
		color: #000;
	}
	
	.ourDate{
		font-size: 30px;
	}
	
	.countdown span {
	  margin: 0 20px;
	  font-size: 27px;
	}
	
	.title{
		font-size: 35px;
	}
	
	#lugar.after{
		height: 100vh;
	}
}

/* Media Queries for Mobile */
@media (max-width: 500px) {
	#navbar .logo{
		margin-left: 0;
	}
	
	#navbar #hamburger {
		margin-right: 0;
	}
	
	.itinerary-container{
		width: 100%;
		padding-left:0;
		padding-right:0;
	}
	
	.timeline-centered .timeline-entry{
		left:28%;
		width:69%;
	}
	
	.timeline-centered:before{
		left:28%
	}
	
	.mapa{
		width: 100vw;
		height: 300px;
		margin-left:0;
	}
	
	.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label .timeline-title{
		font-size:31px;
	}
	
	.invitado{
	  width:20vw;
	  height:20vw;
	}
}

/* Media Queries for Mobile */
@media (max-width: 420px) {
	.countdown span {
	  margin: 0 9px;
	}
}