* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    background:#fac8fa;
    text-align:center;
    font-family: 'Great Vibes', cursive;
}


/*==================== PORTADA  ====================*/
.inicio{
    background: url(../assets/img/cielo.png) no-repeat center center/cover;
    width: 100%;
    height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.inicio-texto{
    font-size: 3rem;
    font-weight: 600;
    font-family: 'Great Vibes', cursive;
    line-height: 1.6;
    color:#2d1b22;
}

.portada{
    background: linear-gradient(rgba(255, 255, 255, 0.242)), url(../assets/img/fondo.png) no-repeat center center/cover;
    display:grid;
    grid-template-columns: 1fr 1fr;
    height:100vh;
}

.imagen img{
    width:400px;
    height:500px;
    object-fit:cover;
    border-radius:50%;
    background:rgba(255, 255, 255, 0.425);
    padding:30px;
    margin:auto;
    margin-top: 30px;
    display:block;
    box-shadow:0 15px 35px rgba(0,0,0,0.25);
    border:6px solid #f3d3e6;
    transition: 0.3s ease;
}

.imagen img:hover{
    transform: scale(1.1);
}

.imagen h1{
    margin-right: 75px;
    font-size: 60px;
    font-weight: 600;
    font-family: 'Great Vibes', cursive;
    color:#2d1b22;
}

.texto{
    padding: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
}

.texto p{
    font-size: 35px;
    font-weight: 600;
    font-family: 'Great Vibes', cursive;
    line-height: 1.6;
    color:#2d1b22;
}

.texto h1,
.texto p{
    text-shadow: 2px 2px 8px rgba(0,0,0,0.15);
}

/*==================== ITINERARIO  ====================*/


.itinerario{
    font-family: 'Great Vibes', cursive;
    margin-top: 30px;
}

.itinerario h2{
    font-size:100px;
    margin-bottom:20px;
}


.itinerario p{
    font-size:50px;
    color: rgb(0, 0, 0);
}

.itinerario span{
    color: black;
    font-size: 40px;
    text-decoration: underline;
}

/* timeline */

.timeline{
    position:relative;
    max-width: 1200px;
    margin:auto;
}

.timeline::after{
    content:'';
    position:absolute;
    width:6px;
    background:rgb(177, 136, 136);
    top:0;
    bottom:0;
    left:50%;
}

/* IZQUIERDA */

.izquierda{
    left:0;
    text-align:right;
}

/* DERECHA */

.derecha{
    left:40%;
    text-align:left;
}



/*==================== CONTADOR  ====================*/
.contador{
    text-align:center;
    padding:60px 20px;
}

/* FOTO */

.foto-evento{
    max-width:420px;
    margin:0 auto 40px;
    background:white;
    padding:10px;
    border-radius:6px;
    box-shadow:0 5px 15px rgba(0,0,0,0.15);
}

.foto-evento img{
    width:100%;
    border-radius:4px;
}
/* a */
/* CONTADOR */
.contador h2, p{
    font-size: 45px;
    margin-bottom: 20px;
}

.countdown{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:nowrap;
    margin-bottom: -100px;
}

.tiempo{
    background:white;
    padding:20px 25px;
    border-radius:6px;
    min-width:70px;
}

.tiempo span{
    font-size:32px;
    font-weight:bold;
    display:block;
}

.tiempo p{
    margin-top:5px;
    font-size:14px;
}


/*==================== UBICACION  ====================*/

.ubicacion{
    padding:60px 20px;
    text-align:center;
    font-family:'Great Vibes', cursive;
}

.ubicacion h2{
    font-size:70px;
    margin-bottom:20px;
    margin-top:50px;
}

.ubicacion p{
    font-size:24px;
    margin-bottom:30px;
}

.ubicacion a{
    display:inline-block;
    font-size:30px;
    text-decoration: none;
    color: black;
    padding:12px 25px;
    border-radius:8px;
    background:white;
}

.mapa{
    max-width:700px;
    margin:auto;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 5px 15px rgba(0,0,0,0.2);
}

.btn-calendario{
    display:inline-block;
    margin-top:15px;
    flex-wrap:wrap;
    gap:15px;
    margin-bottom:30px;
}

.btn-calendario, .ubicacion a:hover{
    background:white;
}

.ubicacion h2{
    margin-top: 50px;
}


/* ==================== RESPONSIVE ==================== */

@media screen and (max-width: 480px){

/* ESPACIADO GENERAL */

section{
    padding: 0 20px;
    max-width: 1100px;
    margin: auto;
}


/* ==================== PORTADA ==================== */

.inicio-texto{
    font-size: 25px;
}

.portada{
    display: grid;
    grid-template-columns:1fr;
    height:auto;
}

.imagen img{
    margin-top: 50px;
    width:200px;
    height:200px;
    padding:15px;
}

.texto{
    padding:40px 20px;
    margin-bottom:100px;
}

.texto p{
    font-size:20px;
}

.imagen h1{
    margin-top: 20px;
    font-size:28px;
    margin-left:50px;
}


/* ==================== ITINERARIO ==================== */

.itinerario{
    line-height:2;
    padding:20px 60px;
}

.itinerario h2{
    margin-bottom:20px;
    font-size:clamp(40px, 6vw, 100px);
}

.itinerario p{
    font-size:20px;
}

.itinerario span{
    font-size:25px;
}

/* TIMELINE */

.timeline{
    position:relative;
}

.timeline::after{
    left: -200px;
}

.evento{
    width:100%;
    padding-left:40px;
    margin-left:10px;
}

.izquierda,
.derecha{
    background:white;
    padding:10px 5px;
    border-radius:20px;
    margin-top:20px;
    text-align:center;
}


/* ==================== CONTADOR ==================== */

.contador{
    padding:40px 10px;
}

.contador h2, p{
    font-size: 25px;
    margin-bottom: 20px;
}

.foto-evento{
    margin-top: 10px;
    max-width:300px;
}

.countdown{
    gap:10px;
    flex-wrap:wrap;
    margin-bottom: -60px;
}

.tiempo{
    padding:10px 15px;
    min-width:60px;
}

.tiempo span{
    font-size:24px;
}

.tiempo p{
    font-size:12px;
}


/* ==================== UBICACION ==================== */

.ubicacion{
    padding:40px 10px;
}

.ubicacion h2{
    font-size:32px;
}

.ubicacion p{
    font-size:20px;
}

.ubicacion a,
.btn-calendario{
    font-size:20px;
    padding:10px 18px;
}

.mapa{
    width:100%;
}

}



@media screen and (min-width:481px) and (max-width:1024px){

/* ==================== PORTADA ==================== */

.portada{
    grid-template-columns:1fr;
    height:auto;
}

.imagen img{
    width:300px;
    height:350px;
    padding:20px;
    margin-top:40px;
}

.imagen h1{
    font-size:45px;
    margin-right:0;
}

.texto{
    padding:50px 40px;
}

.texto p{
    font-size:28px;
}


/* ==================== ITINERARIO ==================== */

.itinerario{
    padding:20px 40px;
}

.itinerario h2{
    font-size:70px;
}

.itinerario p{
    font-size:30px;
}

.itinerario span{
    font-size:30px;
}

/* TIMELINE */

.timeline::after{
    left:50%;
}

.izquierda{
    text-align:right;
}

.derecha{
    text-align:left;
    left:40%;
}


/* ==================== CONTADOR ==================== */

.foto-evento{
    max-width:350px;
}

.countdown{
    gap:15px;
}

.tiempo{
    padding:15px 20px;
}

.tiempo span{
    font-size:28px;
}

.tiempo p{
    font-size:13px;
}


/* ==================== UBICACION ==================== */

.ubicacion h2{
    font-size:50px;
}

.ubicacion p{
    font-size:22px;
}

.ubicacion a{
    font-size:24px;
}

.mapa{
    max-width:600px;
}

}