@font-face {
  font-family: myCursiveFont;
  src: url(fonts/Lucian-Schoenschrift-CAT.ttf);
}

body {
  margin: 0;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #a1a887; /* Turquesa */
  color: white;
  overflow: hidden;
  animation: backgroundAnimation 15s infinite;
}

@keyframes backgroundAnimation {
  0% {
    background-color: #a5b07d;
  }
  25% {
    background-color: #a2aa83;
  }
  50% {
    background-color: #a1a887;
  }
  75% {
    background-color: #a2aa83;
  }
  100% {
    background-color: #a5b07d;
  }
}

.container {
  display: flex;
  text-align: center;
  animation: fadeIn 0.8s ease forwards;
  flex-direction: column;
  align-items: center;
}

.photo-container {
  position: relative;
  display: inline-block;
}

.photo {
  border-radius: 50%;
  width: 600px;
  height: auto;
  border: 10px solid white; /* Contorno blanco */
  animation: zoomIn 1.5s ease forwards;
}
.photo2 {
  border-radius: 50%;
  width: 300px;
  height: auto;
  border: 10px solid white; /* Contorno blanco */
  animation: zoomIn 1.5s ease forwards;
}

.boot {
  width: 200px;
  height: auto;
  position: absolute;
  bottom: 130px; /* Ajustar para que estén debajo de la foto */
}

.boot2 {
  width: 100px;
  height: auto;
  position: absolute;
  bottom: 75px; /* Ajustar para que estén debajo de la foto */
}

.boot.left {
  left: -100px; /* Ajustar posición */
  animation: zoomIn 2s ease forwards;
}
.boot2.left {
  left: -45px; /* Ajustar posición */
  animation: zoomIn 2s ease forwards;
}
.boot.right {
  right: -100px; /* Ajustar posición */
  animation: zoomInB 2s ease forwards;
}
.boot2.right {
  right: -45px; /* Ajustar posición */
  animation: zoomInB 2s ease forwards;
}

h3,
.invitation,
.confirm-button,
.address {
  animation: zoomIn 3.5s ease forwards;
}

.name,
form {
  animation: zoomIn 4s ease forwards;
}

h2 {
  margin-top: 20px;
}

.invitation {
  font-family: myCursiveFont;
  text-align: center;
  font-weight: 100;
  font-size: 36px;
  margin: 10px 0;
}

.name {
  font-family: myCursiveFont;
  font-style: italic;
  font-weight: 400;
  font-size: 48px;
  margin: 10px 0;
}

form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 80%;
  justify-content: center;
  margin-top: 32px !important;
}

.group-input {
  display: flex;
  align-self: center;
  position: relative;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 18px;
}
.group-input label {
  font-size: 16px;
  font-weight: 400;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  margin-bottom: 8px;
}
.group-input input {
  border: 1px solid #ccc;
  border-radius: 10px;
  width: 100%;
  padding: 15px 5px;
  font-size: 16px;
}
.group-input input:focus-visible {
  text-decoration: none;
  outline: none;
  border: 1px solid #818181;
}
.group-input select {
  border: 1px solid #ccc;
  border-radius: 10px;
  width: calc(100% + 10px);
  padding: 15px 5px;
  font-size: 16px;
}
.group-input select:focus-visible {
  text-decoration: none;
  outline: none;
  border: 1px solid #818181;
}

.confirm-button {
  background-color: white; /* Azul claro */
  border: none;
  color: #a1a887;
  border-radius: 20px;
  padding: 10px 20px;
  font-weight: bold;
  cursor: pointer;
  margin: 20px 0;
  font-size: 16px;
}

.address {
  margin-top: 10px;
}

@keyframes zoomIn {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}

@keyframes zoomInB {
  from {
    transform: scale(0);
  }
  to {
    transform: scaleX(-1);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/*************************************************Animación de Fondo***************************************************************/

* {
  margin: 0;
  padding: 0;
}
.wrapper {
  height: 100%;
  width: 100%;
  /* background: linear-gradient(180deg, #04fafd, 5%, #119dff, 50%, #030423); */
  position: absolute;
}
.wrapper h1 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  font-family: sans-serif;
  letter-spacing: 1px;
  word-spacing: 2px;
  color: #fff;
  font-size: 40px;
  font-weight: 888;
  text-transform: uppercase;
}
.wrapper div {
  height: 60px;
  width: 60px;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 50px;
  position: absolute;
  top: 10%;
  left: 10%;
  animation: 4s linear infinite;
}
div .dot {
  height: 10px;
  width: 10px;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 20%;
  right: 20%;
}
.wrapper div:nth-child(1) {
  top: 20%;
  left: 20%;
  animation: animate 8s linear infinite;
}
.wrapper div:nth-child(2) {
  top: 60%;
  left: 80%;
  animation: animate 10s linear infinite;
}
.wrapper div:nth-child(3) {
  top: 40%;
  left: 40%;
  animation: animate 3s linear infinite;
}
.wrapper div:nth-child(4) {
  top: 66%;
  left: 30%;
  animation: animate 7s linear infinite;
}
.wrapper div:nth-child(5) {
  top: 90%;
  left: 10%;
  animation: animate 9s linear infinite;
}
.wrapper div:nth-child(6) {
  top: 30%;
  left: 60%;
  animation: animate 5s linear infinite;
}
.wrapper div:nth-child(7) {
  top: 70%;
  left: 20%;
  animation: animate 8s linear infinite;
}
.wrapper div:nth-child(8) {
  top: 75%;
  left: 60%;
  animation: animate 10s linear infinite;
}
.wrapper div:nth-child(9) {
  top: 50%;
  left: 50%;
  animation: animate 6s linear infinite;
}
.wrapper div:nth-child(10) {
  top: 45%;
  left: 20%;
  animation: animate 10s linear infinite;
}
.wrapper div:nth-child(11) {
  top: 10%;
  left: 90%;
  animation: animate 9s linear infinite;
}
.wrapper div:nth-child(12) {
  top: 20%;
  left: 70%;
  animation: animate 7s linear infinite;
}
.wrapper div:nth-child(13) {
  top: 20%;
  left: 20%;
  animation: animate 8s linear infinite;
}
.wrapper div:nth-child(14) {
  top: 60%;
  left: 5%;
  animation: animate 6s linear infinite;
}
.wrapper div:nth-child(15) {
  top: 90%;
  left: 80%;
  animation: animate 9s linear infinite;
}
@keyframes animate {
  0% {
    transform: scale(0) translateY(0) rotate(70deg);
  }
  100% {
    transform: scale(1.3) translateY(-100px) rotate(360deg);
  }
}

@media only screen and (max-width: 600px) {
  .photo {
    border-radius: 50%;
    width: 300px;
    height: auto;
    border: 10px solid white; /* Contorno blanco */
    animation: zoomIn 1.5s ease forwards;
  }

  .boot {
    width: 100px;
    height: auto;
    position: absolute;
    bottom: 75px; /* Ajustar para que estén debajo de la foto */
  }

  .boot.left {
    left: -45px; /* Ajustar posición */
    animation: zoomIn 2s ease forwards;
  }

  .boot.right {
    right: -45px; /* Ajustar posición */
    animation: zoomInB 2s ease forwards;
  }

  .invitation {
    width: 95%;
  }
}

/**************************************************Estilo de la tabla*************************************************************/

.container-table {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 50px;
  padding-bottom: 20px;
}

table {
  background: white;
  width: 90%;
  margin: 0 auto;
  margin-top: 2%;
  border-collapse: collapse;
  text-align: center;
}

th {
  background-color: rgba(107, 107, 107, 0.705);
  height: 35px;
  border-bottom: 1px solid rgb(210, 220, 250);
  color: #fff;
}

td {
  color: rgba(100, 100, 100, 60);
  height: 30px;
  padding: 5px 2px;
  border: 0.5px solid rgba(240, 240, 240, 10);
}

tfoot {
  font-weight: bold;
}

/*Pseudo-clases*/

tr:hover {
  background-color: rgba(213, 213, 213, 0.72);
  color: #fff;
}
