@font-face {
    font-family: 'Candara';
    src: url('../fonts/Candara.woff') format('woff'),
    url('../fonts/Candara.ttf') format('truetype');
}  

@font-face {
    font-family: 'CandaraBold';
    src: url('../fonts/candarab.ttf') format('truetype');
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Candara, Arial, sans-serif;
    background-color: rgb(42, 36, 36);
    color: #fff;
    margin: 0;  /* Para que no haya espacio entre el contenido y los bordes */
    padding: 0;
    box-sizing: border-box;  /* Para que los elementos no se salgan de los bordes */
    margin: auto;  /* Para centrar el cuerpo */
}

header {
    display: flex;  /* Para que el logo y el menú estén en la misma línea */
    justify-content: space-between;  /* Para que el logo y el menú estén en los extremos */
    align-items: center;  /* Para que el título y el menú estén centrados verticalmente */
    padding: 15px;  /* Para que haya espacio entre el contenido y los bordes */
    position: sticky;  /* Para que el menú se quede fijo en la parte superior */
    top: 0;
    background-color: rgba(0, 0, 0, 1);
    z-index: 10;  /* Para que el menú esté por encima del contenido */
}

header p {
    font-size: 200%;
    font-family: CandaraBold, Arial, sans-serif;
}

header div #toast {
    display: none;
    padding: 10px;
    margin-left: 5px;
    font-size: large;
}

header div #toast.show {
    display: block;
    animation: fadein 1s, fadeout 1s 3s;
    animation-fill-mode: forwards;  /* Para que se quede en el último frame */
}

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

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

#logo-container {
    display: flex;  /* Para que el logo y el título estén en la misma línea */
    align-items: center;
}

#logo {  /* Para que el logo se vea redondo y separado del título */
    margin-right: 10px;
    border-radius: 50%;
}

nav ul li {  /* Que se vean en línea las diferentes secciones en la barra superior */
    display: inline;
    margin-right: 10px;
}

nav ul li a {
    text-decoration: none;  /* Quitar el subrayado de los enlaces */
    color: #fff;
    font-size: larger;
}

nav ul li a.active {
    text-decoration: underline;  /* Sección en uso subrayada para cumplir con la accesibilidad en la navegación */
}

#Inicio {
    min-height: 100vh;
}

section {
    position: relative;
    padding: 0 10vw;  /* El 10vw para que haya espacio entre el contenido y los bordes */
    align-items: center;
    display: flex;
    flex-direction: column;  /* Para que el contenido esté centrado verticalmente */
    justify-content: center;
}

.arrow {
    cursor: pointer;
    /* Animar la imagen para que bote infinitamente */
    animation: bounce 1.5s infinite;
}

/* Animación de la flecha */
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

.arrowfinalsection {
    cursor: pointer;
    transform: rotate(180deg);
    animation: bounceinverse 1.5s infinite;
}

@keyframes bounceinverse {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0) rotate(180deg);
    }
    40% {
        transform: translateY(-10px) rotate(180deg);
    }
    60% {
        transform: translateY(-5px) rotate(180deg);
    }
}

section .content {  /* Para que el contenido de cada sección esté centrado */
    z-index: 1;  /* Para que el contenido esté por encima del video */
}

section .content span {  /* Para que el fondo del contenido sea como una "badge" y se lea bien el texto */
    background-color: black;
    border-radius: 10px;
    padding: 10px;
}

section .content h1 {  /* El título de la sección principal, centrado */
    position: absolute;
    left: 0;
    top: 15vh;  /* Se usa viewport height para que no se rompa si el tamaño se reduce */
    width: 100%;
    text-align: center;
    font-size: 300%;
}

section .content h2 {
    font-family: CandaraBold, Arial, sans-serif;
    position: absolute;
    top: 25vh;
    left: 0;
    width: 100%;
    text-align: center;
    font-weight: bolder;
    font-size: 250%;
}

section video {  /* Para que el video se vea en toda la pantalla */
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cards {  /* Para que las tarjetas estén en línea */
    display: flex;
    justify-content: center;
    gap: 20px; /* Que estén separadas entre sí */
    flex-wrap: wrap;  /* Para que las tarjetas se vean en varias líneas, solo si no caben en una */
}

.card {  /* Formato de las tarjetas */
    background-color: brown;
    color: white;
    margin: 20px auto; /* Para que haya espacio entre los elementos de las tarjetas */
    border-radius: 10px;
    padding: 20px; /* Que no se salgan los elementos de las tarjetas */
    padding: 0;  /* Para que la imagen sea toda la parte superior de la tarjeta */
    /* Ancho inicial de las tarjetas */
    width: 500px;
    height: auto;
    transition: 0.3s, box-shadow 0.3s; /* Transición en el hover */
}

.card:hover {
    box-shadow: 0 8px 16px 0 rgba(255,255,255,0.6); /* Sombra más profunda en hover */
    transform: scale(1.05); /* Aumenta el tamaño de la tarjeta en un 5% */
}

.card-content { /* Que la imagen sin bordes no afecte al texto */
    padding: 20px;
}

.card img {
    width: 100%; /* La imagen ocupa todo el ancho */
    height: auto; /* Mantener la proporción de la imagen */
    border-radius: 10px 10px 0 0; /* Redondea solo las esquinas superiores */
}

.card h2 {
    margin-top: 15px; /* Espacio antes del título */
    text-align: center;
}

.card p {
    /*text-align: justify; Quería que fuera justificada pero no cumple con WCAG AAA*/
    color: floralwhite;
}

form label,
form input,
form select {  /* Separación entre los elementos del formulario */
    display: block;
    margin-bottom: 10px;
    font-size: 110%;
}

/* Para centrar el formulario */
#form-postal {
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    font-size: larger;
}

/* Para que los campos de texto estén en línea */
.input-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

form input[type="text"], form input[type="email"] {
    width: 70%;  /* Ancho de los campos */
    font-family: Candara, Arial, sans-serif;
    font-size: large;
}

/* Espaciado del formulario */
form input[type="text"], form input[type="email"] {
    padding: 10px;
}

.submit-button {  /* Formato del botón de enviar, redondeado, colorines y cursor */
    background-color: rgb(0, 100, 0);
    color: white;
    border-radius: 10px;
    border: none;
    padding: 10px 70px;  /* Espaciado del botón, hacerlo más grande */
    cursor: pointer;
    font-size: large;
    font-family: CandaraBold, Arial, sans-serif;
    font-size: larger;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: 0.3s;  /* Transición al pasar por encima */
}

.submit-button:hover {  /* Para que el botón cambie de color al pasar por encima */
    background-color: rgb(0, 70, 0);
}

.submit-button {
    /* Añadir separación con el elemento anterior */
    margin-top: 20px;
    transition: background-color 0.5s ease;  /* Añade una transición al color de fondo */
}

.icon-submit {
    width: 90px;
    height: 80px;
    background-image: url('../img/content/email.png');
    background-size: cover;
    margin-top: 5px;
}

.postales {  /* Ver las postales en línea */
    margin-bottom: 10px;
}

/* Para seleccionar las postales sin el radio */
.postales input[type="radio"] {
    position: absolute;
    opacity: 0;
}

.postales label {
    cursor: pointer;  /* Cambiar el cursor al pasar por encima */
}

.postales input[type="radio"]:checked + label {
    outline: 4px solid darkgreen;
}

.postales input[type="radio"]:hover + label {
    outline: 4px solid green;
}

.postales label img {  /* Separación entre las postales */
    margin: 10px
}

.postales span {
    font-size: larger;
    text-align: center;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.postales legend {
    font-size: 120%;
    color: floralwhite;
}

.postales fieldset {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 0;
}

.postalCue {
    font-size: 120%;
    color: floralwhite;
}

#customPostal {
    color: black;
    position: absolute;
    left: -9999px;/* Para que no se vea el formulario de la postal personalizado, pero sea accesible para tecnologías de accesibilidad */
}

#preview {
    display: none;  /* Para que no se vea la postal personalizada */
    margin: 15px;
    outline: 4px solid darkgreen;
}

.custom-file-upload {
    padding: 10px 20px;
    cursor: pointer;
    background-color:blue;
    color: white;
    border-radius: 10px;
    text-align: center;
    font-size: larger;
    transition: 0.3s;
    border: none;
    /* Para que el botón se vea bien se hace flex y se centra */
    display: flex;
    flex-direction: column;
    align-items: center;
}

.custom-file-upload:hover {
    background-color: darkblue;
}

.icon-upload {
    width: 40px;
    height: 40px;
    background-image: url('../img/content/upload.png');
    background-size: cover;
    margin-top: 5px;
}

#file-name {
    display: none;
    margin-left: 10px;
}

#remove-file {
    display: none;
    cursor: pointer;
    padding: 10px 20px;
    cursor: pointer;
    background-color: red;
    color: white;
    border-radius: 10px;
    border: none;
    text-align: center;
    font-family: Candara, Arial, sans-serif;
    font-size: larger;
    transition: 0.3s;
}

#remove-file:hover {
    background-color: darkred;
}

#success-message {
    display: none; /* Inicialmente oculto */
    flex-direction: column; /* Checkmark -> Mensaje */
    align-items: center;
    justify-content: center;
    font-family: CandaraBold, Arial, sans-serif;
    font-size: larger;
    /* Cuadro de mensaje */
    background-color: rgba(255, 255, 255, 0.5);
    color: black;
    padding: 20px;
    border-radius: 10px;
}

#success-message.visible {
    display: flex;
}

#checkmark {
    height: 120px;
    width: 120px;
}

h1 {
    font-family: CandaraBold, Arial, sans-serif;
    font-size: 300%;
    text-align: center;
}

h2 {
    font-family: CandaraBold, Arial, sans-serif;
    font-size: 250%;
    text-align: center;
}

h3 {
    font-family: CandaraBold, Arial, sans-serif;
    font-size: 200%;
    text-align: center;
}

h4 {
    font-family: CandaraBold, Arial, sans-serif;
    font-size: 150%;
    text-align: center;
}

footer {
    background-color: rgba(0, 0, 0, 0.5);  /* Para que el footer sea transparente */
    padding: 1px;  /* Espacio entre el contenido y los bordes */
    position: relative;
}

footer p {
    text-align: center;
}

footer a {
    color: #fff;
    text-decoration: underline;
}

#Acerca-de {
    display: flex;
    flex-direction: column;
}

#Acerca-de li {
   font-size: 150%;
   color: floralwhite;
}

p {
    font-size: 150%;
    color: floralwhite;
}

.p-large {
    font-family: CandaraBold, Arial, sans-serif;
    font-size: 200%;
    text-align: center;
}

/* Si está en un móvil */
@media (max-width: 768px) {
    header {
        /* No hacerla sticky si está en un móvil */
        position: relative;
        /* Convertirlo en una lista para que se vea en vertical */
        flex-direction: column;
        background-color: rgba(0, 0, 0, 0.9);  /* Para que la barra superior sea medio transparente */
    }
    header div #toast.show {
        display: none;
    }
    nav ul {
        padding: 0;
    }
    nav ul li {
        text-align: center;
    }
    header.visible {  /* Para que la barra superior se oculte al hacer scroll */
        position: sticky;
        top: 0;
    }
    section {  /* Aquí no hay barra superior */
        margin-top: 0;
        padding-top: 0;
    }
    .card {
        width: 100%;  /* Ancho total de las tarjetas */
    }
    section .content h1 {
        font-size: 250%;
        top: 10vh;
    }
    section .content h2 {
        font-size: 180%;
        top: 25vh;
    }
    #postales label img {
        width: 100%;  /* Ancho total de las postales */
        margin: auto;  /* Centradas */
    }
    .input-group {  /* Para que el formulario no se vaya a los lados */
        flex-direction: column;
    }
}

hr {
    border: none;
    height: 1px;
    background-color: grey;
    width: 100%;
}

#validaciones {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    flex-wrap: wrap;
}