*{
    margin: 0;
    padding: 0;  
}
body{
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #333333;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    margin: 0;
    padding: 0;
}
header{
    background: linear-gradient(135deg, #1e3c72 0%,#2a5298 100%);
    padding-top: 10px;
    padding-bottom: 18px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    position: sticky;
    width: 100%;
    top:0;
    z-index: 100;
}
.menu_principal{
    margin:0 auto;
    padding: 0 30px;
}
.logo h1{
    color: white;
    font-size: 28px;
    margin-bottom: 10px;
    text-align: center;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    letter-spacing: 0.8px;
}
.lista{
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 8px;
}
.lista > li{
    position: relative;
}
.lista > li > a{
    display: block;
    color: #ecf0f1;
    text-decoration: none;
    padding: 11px 17px;
    border-radius: 5px;
    transition: background-color 0.3 ease;
    transition: color 0.3 ease;
}
.lista >li > a:hover{
    background-color: #e74c3c;
}
.lista > li > a.activo{
    background-color: #e74c3c;
}
.menu_despegable{
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #34495e;
    min-width: 180px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    border-radius: 5px;
    overflow: hidden;
}
.menu:hover .menu_despegable{
    opacity: 1;
    visibility: visible;
}
.menu_despegable li{
    border-bottom: 1px solid #2c3e50;
}
.menu_despegable a{
    display: block;
    color: #ecf0f1;
    text-decoration: none;
    padding: 12px 19px;
    transition: background-color 0.3s ease;
}
.menu_despegable a:hover{
    background-color: #3498db;
}
.contenedores-animacion{
    margin: auto;
    width: 900px;
    height: 400px;
    background-color: white;
    overflow: hidden;
    margin-top: 25px;
    border-radius: 5px;
}
.contenedor1{   
    margin: 0 auto;
    width:900px;
    height: 400px;
    flex-direction: row;
    overflow: hidden;
}
.imagenes:hover{
    animation-play-state: paused;
    cursor:pointer;
}
.imagenes{
    width: 100%;
    display: flex;
    animation-name: imagen1;
    animation-timing-function: linear;
    animation-duration: 30s;
    animation-iteration-count: infinite;
    gap: 10px;
}
@keyframes imagen1{
    0%{
        transform: 10px;
        
    }
    100%{
        transform: translateX(-473%);
    }
}
.contenido-principal{
    max-width: 1200px;
    margin: 32px auto;
    padding: 40px;
    background: linear-gradient(135deg, #ffffff 0%, #f9f9f9 100%);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.contenido-principal h2{
    color: #2c3e50;
    font-size: 40px;
    margin-bottom: 16px;
    text-align: center;
}
.contenido-principal > p{
    font-size: 17px;
    text-align: center;
    margin-bottom: 32px;
    color: #555;
}
.destinos{
    display: flex;
    gap: 30px;
    margin-top: 32px;
    flex-direction: row;
    padding: 5px;
    max-width: 1300px;
}
.destino{
    background: linear-gradient(135geg, #ffffff 0%, #f8f9fa 100%);
    padding: 30px;
    width: 350px;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 2px solid transparent;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;  
}
.destino:hover{
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 15px 35px rgba(0,0,0,0.25);
    border-color: #3498db;
}
.icono{
    font-size: 50px;
    margin-bottom: 16px;
    animation-name: float;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    text-align: center;
}
@keyframes float {
    0%{
        transform: translateY(0);
    }
    50%{
        transform: translateY(-10px)
    }
    100%{
        transform: translateY(0);
    }
}
.destino h2{
    color: #2c3e50;
    font-size: 28px;
    margin-bottom: 16px;
    text-align: center;
}
.destino p{
    color:#555;
    line-height: 1.6;
    margin-bottom: 24px;
    font-size: 16px;
    text-align: center;
}
.boton-destinos{
    padding: 10px 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    text-decoration: none;
    border-radius: 25px;
    box-shadow: 0 4px 10px rgba(102, 126, 234, 0.3);
    font-size: 14px;
}
.destino1{
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 64px 32px;
    text-align: center;
    color: white;
}
.destino1 h2{
    font-size: 48px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.contenido-destino{
    max-width: 1200px;
    margin: 32px auto;
    padding: 48px;
    background: linear-gradient(135deg, #ffffff 0%, #f9f9f9 100%);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.imagen-destino{
    width: 100%;
    max-width: 800px;
    height: 400px;
    border-radius: 15px;
    margin: 32px auto;
    display: block;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    transition: transform 0.3 ease;
}
.imagen-destino:hover{
    transform:scale(1.05);
}
.galeria-imagenes{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap:24px;
    margin: 32px 0;
}
.galeria-imagenes img{
    width: 100%;
    height: 200px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;   
}
.galeria-imagenes img:hover{
    transform: scale(1.08);
    box-shadow: 0 8px 20px rgba(0,0,0,0.3);   
}
.contenido-destino h3{
    color: #2c3e50;
    font-size: 32px;
    margin-top: 32px;
    margin-bottom: 16px;
    border-bottom: 3px solid #3498db;
    padding-bottom: 8px;
}
.contenido-destino p{
    font-size: 17px;
    margin-bottom: 24px;
    text-align: justify;
    color: #555;
}
.contenido-destino ul{
    margin-left: 32px;
    margin-bottom: 24px;
    text-align: left;
}
.contenido-destino ul li{
    margin-bottom: 13px;
    color: #555;
}
.contenido-contacto{
    max-width: 800px;
    margin: 32px auto;
    padding: 32px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);   
}
.contenido-contacto h2{
    color: #2c3e50;
    font-size: 40px;
    margin-bottom: 16px;
    text-align: center;
}
.contenido-contacto >p{
    text-align: center;
    margin-bottom: 16px;
    text-align: center;
}
.form-grupo{
    margin-bottom: 25px;
}
.form-grupo label{
    display: block;
    margin-bottom: 8px;
    color: #2c3e50;
}
.form-grupo input[type="nombre"],
.form-grupo input[type="text"],
.form-grupo input[type="email"],
.form-grupo select,
.form-grupo textarea{
    width: 90%;
    padding: 13px;
    border: 2px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
}
.form-grupo select{
    width: 93.5%;
}
.checkbox-group,
.radio-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}
.checkbox-group label,
.radio-group label {
    display: flex;
    align-items: center;
    cursor: pointer;
}
.checkbox-group input,
.radio-group input {
    margin-right: 8px;
    cursor: pointer;
}
.form-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-top: 32px;
}
.btn-submit,
.btn-reset {
    padding: 13px 32px;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
}
.btn-submit {
    background-color: #3498db;
    color: white;
}
.btn-submit:hover {
    background-color: #2980b9;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.btn-reset {
    background-color: #e74c3c;
    color: white;
}
.btn-reset:hover {
    background-color: #c0392b;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
footer {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    color: #fff;
    text-align: center;
    padding: 32px;
    margin-top: 32px;
    box-shadow: 0 -4px 15px rgba(0,0,0,0.2);
}
footer p {
    font-size: 14px;
}
@media screen and (min-width:600px) and (max-width:1300px) {
    .logo h1 {
        font-size: 24px;
    }
    .lista > li > a {
        padding: 11px 16px;
        font-size: 15px;
    }
    .contenido-principal{
        max-width: 900px;
    }
    .contenido-principal h2 {
        font-size: 32px;
    }
    .destino1 h2 {
        font-size: 35px;
    }
    .destino{
        max-width: 300px;
    }
    .destinos{
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    .galeria-imagenes {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    .imagen-destino {
        height: 300px;
    }
}
@media screen and (min-width:0px) and (max-width:600px) {
    .menu-principal {
        padding: 0 16px;
    }
    .logo h1 {
        font-size: 20px;
        margin-bottom: 12.5px;
    }
    .lista {
        flex-direction: row;
        align-items: center;
        gap: 0px;
        flex-wrap: nowrap;
    }
    .lista > li > a {
        padding: 12px;
        font-size: 12px;
        text-align: center;
    }
    .menu_despegable {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        display: none;
        min-width: 80px;
        font-size: 12px;
    }
    .menu:hover .menu_despegable {
        display: block;
    }
    .contenedores-animacion {
        height: 350px;
    }
    .boton-destinos {
        width: 70px;     
    }
    .destino {
        bottom: 10px;
        gap: 8px;
    }
    .destino h2{
        font-size: 22px;
    }
    .icono {
        font-size: 50px;
    }
    .contenido-principal{
        max-width: 550px;   
    }
    .contenido-destino{
        max-width: 550px;
    }
    .contenido-principal,
    .contenido-destino,
    .contenido-contacto {
        margin: 12px;
        padding: 18px;
    }
    .contenido-principal h2 {
        font-size: 25px;
    }
    .contenido-principal p{
        font-size: 15px;
    }
    .destino1 {
        padding: 30px 10px;
        font-size: 22px;
    }
    .destino1 h3 {
        font-size: 16px;
    }
    .destino1 h2{
        font-size: 25px;
    }
    .destinos {
        gap: 24px;
        flex-direction: column;  
    }
    .destino {
        padding: 22px;
    }
    .icono {
        font-size: 48px;
    }
    .destino h2 {
        font-size: 24px;
    }
    .galeria-imagenes {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .galeria-imagenes img {
        max-width: 400px;
    }
    .imagen-destino {
        height: 250px;
    }
    .contenido-destino h3 {
        font-size: 24px;
    }
    .contenido-destino ul {
        margin-left: 16px;
    }
    .btn-submit,
    .btn-reset {
        width: 100%;
    }
    footer {
        padding: 24px 16px;
    }
}