/* **********FONTS********** */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,400;1,500&family=Raleway:wght@300;400;500;600&display=swap');

.playfairDisplay{
    font-family: 'Playfair Display', serif;
}
.raleway{
    font-family: 'Raleway', sans-serif;
}

/* **********GENERAL STYLES********** */
html, body{
    width: 100%;
    border: 0;
    padding: 0;
    margin: 0;
    font-family: 'Raleway', sans-serif;
}
body{
    max-width: 100%;
    overflow-x: hidden;
}
p{
    margin: 0;
    color: #4a3e5a;
}
p:hover{
    cursor: default;
}
a{
    text-decoration: none;
}
*{
    box-sizing: border-box;
}
section, nav{
    overflow-x: hidden;
}
/* **********SHARED STYLES********** */
.botonOutline{
    padding: 20px 35px;
    border: 1px solid #ffffff;
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    box-sizing: border-box;
}
.botonOutline p{
    color: #ffffff;
}
.botonOutline:hover{
    background-color: #ffffff;
    color: #4a3e5a;
    transition: all 0.5s ease-out;
    cursor: pointer;
}
.botonOutline:hover p{
    color: #4a3e5a;
    transition: all 0.5s ease-out;
}
.botonOutline p:hover{
    cursor: pointer;
}

/* **********HEADER********** */
header{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
/* **********NAV********** */
/* ESTRUCTURA */
.mainNav{
    box-sizing: border-box;
    top: 0;
    left: 0;
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.178);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 5vw;
    /* background: #ffffff00; */
    background: #07070752;
    backdrop-filter: blur(5px);
    /* display: none; */
}
/* LOGO */
.logo{
    width: 200px;
    /* height: 100%; */
    object-fit: cover;
    object-position: 50%;
    padding: 20px 0;
}
.logoText{
    font-size: 2em;
    color: #ffffff;
    letter-spacing: -5px;
    position: relative;
    top: -10px;
    padding: 10px 0;
}
.logoText:hover{
    color: #4a3e5a;
    transition: all 0.5s ease-out;
}
.logoP{
    position: relative;
    top: -5px;
}
.logoY{
    font-size: 0.8em;
}
.logoM{
    position: relative;
    top: 16px;
}
.reservationButton{
    display: none;
}
/* **********MAIN********** */
main{
    width: 100%;
}
/* **********HERO********** */
.topHero{
    position: relative;
    width: 100%;
    height: 100vh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-image: url('../img/pymb2.jpg'); 
    background-size: cover;
    background-position-y: 50%;
    background-position-x: 0;
    /* background-attachment: fixed; */
    background-repeat: no-repeat;
    background-color: #F2EDF3;
}
.heroTextos{
    display: flex;
    flex-direction: column;
    /* flex-wrap: wrap; */
    align-items: center;
    text-align: center;
    max-width: 100%;
    overflow-x: hidden;
    padding: 120px 100px;
}
.title{
    font-weight: 400;
    font-size: 6em;
    color: #ffffff;
    letter-spacing: 16px;
    text-align: center;
    /* padding: 0 60px; */
    box-sizing: border-box;
    font-weight: 800
}
.separator{
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-evenly;
    align-items: center;
    width: 250px;
    margin: 30px 0;
}
.lineLeft{
    width: 80px;
    height: 1px;
    opacity: 0.5;
}
.diamond{
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
}
.lineRight{
    width: 80px;
    height: 1px;
    opacity: 0.5;
}
.separatorWhite div{
    background: #ffffff;
}
.nombres{
    font-weight: 900;
    font-size: 2em;
    color: #ffffff;
    letter-spacing: 3px;
}
.fecha{
    font-weight: 00;
    font-size: 2em;
    color: #ffffff;
    letter-spacing: 3px;
}
.heroBotonContainer{
    display: flex;
    justify-content: center;
    margin-top: 50px;
}
/* **********OUR STORY********** */
.ourStory{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 120px 100px;
    background-image: url('../img/leafsbg.jpg');
    text-align: center;
    overflow-x: hidden;
}
.separatorBlack{
    margin: 15px 0;
}
.separatorBlack div{
    background: #4a3e5a;
}
.ourStoryTitle{
    font-weight: 400;
    font-size: 3em;
    letter-spacing: 5px;
    color: #4a3e5a;
}
.ourStoryPhrase{
    font-size: 1.8em;
}
.ourStoryText{
    margin-top: 30px;
    width: 100%;
    max-width: 900px;
    text-align: center;
}
/* **********WEDDING DETAILS********** */
.weddingDetails{
    display: flex;
    flex-direction: column;
    width: 100%;
    background: url('../img/whiteplants.jpg');
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
    align-items: center;
    padding: 100px 0;
    padding: 120px 100px;
    
}
.weddingDetailsTitle{
    font-weight: 400;
    font-size: 3em;
    letter-spacing: 5px;
    color: #4a3e5a;
    text-align: center;
}
.weddingDetailsText{
    max-width: 900px;
    text-align: center;
    /* margin-bottom: 80px; */
    box-sizing: border-box;
    /* padding: 0 100px; */
}
/* INVITADOS */
.invitadosContainer{
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
    margin-top: 40px;
}
.invitadosCount{
    font-weight: 400;
    font-size: 3em;
    letter-spacing: 5px;
    color: #4a3e5a;
    text-align: center;
    margin-bottom: 20px;
}
.invitadoName{
    font-size: 2em;
}
.invitadosMesa{
    margin-top: 30px;
    /* font-size: 1.5em; */
}
/* REGALOS */
.regalos{
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.regalosTitle{
    font-weight: 400;
    font-size: 3em;
    letter-spacing: 5px;
    color: #4a3e5a;
    text-align: center;
}
.regalosText{
    width: 100%;
    max-width: 900px;
    text-align: center;
    margin-top: 16px;
}
/* qr */
.iframeQR{
    width: 300px;
    height: 300px;
    overflow: hidden;
}
/* VESTIMENTA */
.vestimenta{
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.vestimentaTitle{
    font-weight: 400;
    font-size: 3em;
    letter-spacing: 5px;
    color: #4a3e5a;
    text-align: center;
}
.vestimentaText{
    width: 100%;
    max-width: 900px;
    text-align: center;
    margin-top: 16px;
}
/* TIMELINE */
.timeline{
    width: 100%;
    max-width: 900px;
    display: flex;
    flex-direction: column;
    position: relative;
}
.content{
    width: 100%;
    /* border: 2px solid red; */
}
.line{
    width: 3px;
    height: 100%;
    background: #dee0e0;
    position: absolute;
    top: 0;
    left: calc(50% - 1.5px) ;
}
.timelineItem{
   display:flex;
   position: relative;
   margin-bottom: 40px;
}
.timelineItemRight{
    flex-direction: row-reverse;
}
.timelineItemLeft .timelineItemText{
    text-align: right;
}
.timelineItemRight .timelineItemText{
    text-align: left;
}
.timelineItemText{
    width: 50%;
    padding: 0 60px;
    display: flex;
    flex-direction: column;
    align-content: flex-end;
    align-items: flex-end;
    box-sizing: border-box;
}
.timelineItemImage{
    width: 50%;
    box-sizing: border-box;
    padding: 0 60px;
}
.timelinePoint{
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    background: white;
    z-index: 1;
    border-radius: 50%;
    border: 5px solid #dee0e0;
    position: absolute;
    top: 0;
    left: calc(50% - 15px) ;
}
.timelineItemTextTitle{
    font-weight: 500;
    font-size: 1.2em;
    letter-spacing: 2px;
    color: #4a3e5a;
    text-align: center;
}
.timelineItemTextText{
    margin-top: 15px;
}
.timelineItemRight .timelineItemText{
    align-items: flex-start;
}
.timelineItemRight .timelineItemImage{
    display: flex;
    justify-content: flex-end;
}

/* CEREMONIA */

.ceremonia{
    display: flex;
    width: 100%;
    padding: 100px 50px;
    justify-content: center;
    box-sizing: border-box;
    background-image: url('../img/leafsbg.jpg');
    overflow-x: hidden;
}
.ceremoniaWidthContainer{
    display: flex;
    gap: 50px;
    width: 100%;
    max-width: 1200px;
    justify-content: space-evenly;
    box-sizing: border-box;
}
.ceremoniaTextContainer{
    flex-grow: 2;
    width: 100%;
}
.ceremoniaTitle{
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 3em;
    letter-spacing: 5px;
    color: #4a3e5a;
}
.horario{
    font-size: 1.5em;
    margin-bottom: 15px;
}
.ceremoniaMapa{
    width: 100%;
}
iframe{
    width: 100%;
}

/* EVENTO */

.evento{
    display: flex;
    width: 100%;
    padding: 100px 50px;
    /* background: #e4e4e4; */
    justify-content: center;
    box-sizing: border-box;
    /* background-image: url('/../img/leafsbg.jpg'); */
    /* background: #4a3e5a; */
    /* background: #77320a; */
    background: #26202e;
    color: #ffffff; 
}
.eventoWidthContainer{
    display: flex;
    gap: 50px;
    width: 100%;
    max-width: 1200px;
    /* background: #e4e4e4; */
    justify-content: space-evenly;
    box-sizing: border-box;
    flex-direction: row-reverse;
}
.eventoTextContainer{
    flex-grow: 2;
    width: 100%;
}
.eventoTitle{
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 3em;
    letter-spacing: 5px;
    color: #ffffff;
}
.horarioWhite{
    color: #ffffff;
}
.textWhite{
    color: #ffffff;
}
.eventoText{
    width: 100%;
}
.eventoMapa{
    width: 100%;
}
.eventoNegritas{
    font-size: 1.3em;
}

/* HOTEL */

.hotel{
    display: flex;
    width: 100%;
    padding: 100px 50px;
    justify-content: center;
    box-sizing: border-box;
    background-image: url('../img/leafsbg.jpg');
}
.hotelWidthContainer{
    display: flex;
    gap: 50px;
    width: 100%;
    max-width: 1200px;
    justify-content: space-evenly;
    box-sizing: border-box;
}
.hotelTextContainer{
    flex-grow: 2;
    width: 100%;
}
.hotelTitle{
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 3em;
    letter-spacing: 5px;
    color: #4a3e5a;
}
.hotelDescripcion{
    margin-top: 15px;
}
.hotelMapa{
    width: 100%;
}


/* Media Queries */

@media all and (max-width: 950px){
    .title{
        font-size: 3em;
    }
    .ceremoniaWidthContainer{
        flex-direction: column;
    }
    .eventoWidthContainer{
        flex-direction: column;
    }
    .hotelWidthContainer{
        flex-direction: column;
    }
    .topHero{
       
        background-image: url('../img/pymb3.jpg'); 
        background-size: cover;
        background-position-y: 0;
        background-position-x: 15%;
        /* background-attachment: fixed; */
        background-repeat: no-repeat;
        background-color: #F2EDF3;
    }
}

@media all and (max-width: 540px){
    .title{
        font-size: 3em;
        font-weight: 800;
        letter-spacing: 8px;
    }
    .heroTextos{
        padding: 0 50px;
    }
    .nombres{
        font-weight: 900;
        font-size: 1.5em;
        color: #ffffff;
        letter-spacing: 3px;
    }
    .fecha{
        font-weight: 300;
        font-size: 2em;
        color: #ffffff;
        letter-spacing: 3px;
    }
    .topHero{
       
        background-image: url('../img/pymb3.jpg'); 
        background-size: cover;
        background-position-y: 0;
        background-position-x: 22%;
        /* background-attachment: fixed; */
        background-repeat: no-repeat;
        background-color: #F2EDF3;
    }
}