@font-face {
    font-family: 'Pecita';
    src: url(font/pecita/Pecita.otf);
    font-display: swap;
}
body, div, h1, h2, h3, h4, h5, h6, p, ol, ul, blockquote, figure{
    margin:0;
    padding:0;
    font-weight: normal;
    font-size: unset;
}
body{
    position: relative;
    max-width: 1920px;
    margin:0 auto;
    font-family: 'Play', sans-serif;;
    -webkit-text-size-adjust: 100%;
    background-color:#fff;
    color:#253D31;
    overflow-x: hidden;
}
a{
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
li{
    list-style-type: none;
}
html {
    scroll-behavior: smooth;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
*, *:before, *:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}
.flex{
    display: flex;
}
.flex.column{
    flex-direction: column;
}
.flex.centered{
    align-items: center;
}
.flex.space{
    justify-content: space-between;
}
.back-img{
    width:100%;
    height:100%;
    position: fixed;
    z-index: -1;
    top:0;
    left:0;
}
header{
    position: relative;
    height:100vh;
}
.back-img img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.hero-img{
    position: absolute;
    top: 20%;
    left: 0;
    right: 0;
    text-align: center;
    width: 100%;
}
.hero-img img{
    width: 50%;
    height: 100%;
}
.menu{
    justify-content: center;
    padding-top:10px;
}
.menu li{
    padding: 10px;
    color:#253D31;
    border-bottom: 1px solid #253D31;
    font-size:22px;
    transition: 0.3s ease-in;
}
.menu li:hover{
    background: #253D31;
    color:#fff;
    transition: 0.3s ease-in;
}
.hero-title{
    position: absolute;
    top: 45%;
    right:12%;
    font-size: 80px ;
    font-family: 'Pecita',sans-serif;
}

.left-col span{
    font-family: 'Pecita',sans-serif;
    font-size:45px;
}
.invite-wrapper{
    height:100vh;
    padding: 0 100px;
}
.invite{
    padding:100px;
    height:calc(100% - 100px);
}
.left-col,.right-col{
    width:calc(100%/3);
}
.left-col h4, .left-col p{
    font-size:26px;
}
.left-col p{
    padding-left: 10px;

}
.invite h3{
    font-size:26px;
    padding-bottom: 80px;
}
.right-col{
    text-align: center;
}
.left-col h4{
    text-align: right;
    padding: 20px 0px;
}
.right-col span{
    font-size: 22px;
}
.hour-wrapper{
    justify-content: center;
}
.parents, .godm{
    padding:30px 0;
}
.parents span:first-of-type, .godm span:first-of-type{
    padding-bottom:10px;
    text-decoration: underline #253D31;
    font-size:26px;
}
.more-info , .date-down{
    width:150px;
    color:#fff;
    background: #253D31;
    padding:10px 20px;
    text-transform: uppercase;
}

.location-wrapper{
    padding: 50px 100px;
    height:100vh;
}
.location-wrapper h2{
    font-size:50px;
    font-family: 'Pecita',sans-serif;
    text-align: center;
    padding-bottom:50px;
}
.maps-wrapper{
    height: calc(100% - 200px);
}
.maps-wrapper h5{
    font-size:22px;
    padding-bottom:30px;
    text-align: center;
}
.church, .after{
    width:calc((100% - 50px)/2);
}
.map iframe{
    width:100%;
    height:100%;
}
.map{
    height: calc(100% - 80px);
}
.cntdn-text h2{
    font-size: 40px;
    font-family: 'Pecita',sans-serif;
    text-transform: uppercase;
}
.cntdn-text{
    padding-bottom: 50px;
}
.countdown-wrapper {
    text-align: center;
    padding: 50px;
}
.cntdn #countdown{
    font-size: 72px;
    font-family: 'Pecita',sans-serif;
}
.cntdn{
    padding-bottom: 30px;
}
.date-down{
    margin: 0 auto;
    width: 200px;
}
.quote-wrapper h2{
    font-size: 27px;
    text-align: center;
}
.quote-wrapper {
    padding: 50px;
    width: 500px;
}
.quote-wrapper h3{
    font-family: 'Pecita', sans-serif;
    text-align: right;
    font-size:21px;
    padding-top:30px;
}
.rsvp-form{
    padding: 30px 150px;
}
.rsvp-form input , .rsvp-form select , .rsvp-form textarea{
    background: #B3E1C7;
    outline: none;
    border: none;
    padding:10px;
    margin: 20px 0 ;
    font-size: 14px;
    color:#000;
    
}
.download-invitation img { 
    width: 20px;
}
.rsvp-wrapper h2{
    font-size: 50px;
    font-family: 'Pecita',sans-serif;
}
.rsvp-wrapper {
    text-align: center;
    padding: 80px 0;
}
.rsvp-wrapper h3{
    font-size: 25px;
}
.rsvp-form input, .rsvp-form select{
    width:calc((100% - 50px)/2);
}
.rsvp-form select option{
    background:#253D31;
    color:#fff;
}
.rsvp-form textarea{
    width:calc(100% - 50px);
    font-family: 'Play',sans-serif;
    resize: none;
    min-height: 100px;
}
.send-btn{
    justify-content: center;
    padding-top:20px;
}
.send-btn button{
    outline: none;
    border:none;
    background: #253D31;
    color:#fff;
    padding:10px 20px;
    font-size: 16px;
}
.download-invitation{
    font-size: 20px;
}
.contact{
    text-align: center;
}
.contact h2{
    font-size: 50px;
    font-family: 'Pecita' , sans-serif;
    padding:50px;
}
.contact-wrapper{
    justify-content: center;
    padding: 0 0 100px;
    margin: 0 20px;
    border-bottom: 1px solid #000;
}
.contact-container{
    padding: 30px;
    width: 30%;
    background: #B3E1C7;
    margin:0 20px;
}
.contact-container h3{
    font-family: 'Pecita',sans-serif;
    font-size: 35px;
}
.contact-container span{
    font-size: 25px;
}
.footer-wrapper{
    text-align: center;
    padding:10px;
}

@media screen and (max-width:1100px){
    .hero-title{
        top: 150px;
        left: 0;
        right: 0;
        text-align: center;
    }
    .invite{
        padding:0 0 50px;
    }
    .invite-wrapper{
        height: unset;
        padding:150px 100px;
    }
    .invite h3, .parents span:first-of-type, .godm span:first-of-type{
        font-size: 23px;
    }
    .left-col span{
        font-size: 40px;
    }
    .left-col h4, .left-col p {
        font-size: 23px;
    }
    .left-col{
        width:calc(100%/2);
    }
    .rsvp-form{
        padding:30px 100px;
    }
    
}

@media screen and (max-width:768px) {
    .hero-img img{
        width:75%;
    }
    .hero-title h1{
        font-size:65px;
    }
    .menu li{
        font-size:20px;
    }
    .invite-wrapper, .location-wrapper{
        padding:50px;
        height:100%;
    }
    .invite{
        flex-direction: column;
        padding-bottom: 30px;
    }
    .right-col{
        width:100%;
        text-align: right;
    }
    .left-col{
        align-self: flex-start;
    }
    .invite h3{
        padding-bottom:40px;
    }
    .map{
        height:100%;
        aspect-ratio: 1;
        width:50%;
    }
    .maps-wrapper{
        flex-direction: column;
    }
    .church, .after{
        display: flex;
        width: 100%;
        align-items: center;
    }
    .after{
        flex-direction: row-reverse;
    }
    .maps-wrapper h5{
        width:50%;
    }
    .cntdn #countdown{
        font-size: 55px;
    }
    .rsvp-form{
        padding:30px 0px;
    }
    .rsvp-wrapper{
        padding:50px;
    }
    .contact h2{
        padding:30px 
    }
    .contact-wrapper{
        flex-direction: column;
        align-items: center;
    }
    .contact-container{
        margin:20px 0;
        width:300px;
    }
}

@media screen and (max-width:500px){
    .checkpass{
        width:200px;
    }
    .menu{
        flex-direction: column;
    }
    .menu li{
        border: none;
        padding: 5px 10px;
    }
    .hero-img{
        top: 30%;
        padding: 10px;
    }
    .hero-img img{
        width:100%;
    }
    .hero-title{
        bottom: 20%;
        top: unset;
    }
    .hero-title::after{
        content: "";
        display: block;
        border-left: 2px solid #000;
        height: 0px;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateY(75px);
        -webkit-animation: width 1s infinite;
        -moz-animation: width 1s infinite;
        -o-animation: width 1s infinite;
        animation: width 1s infinite;
    }
    @keyframes width {
        100%{
            height:100px;
        }
    }
    .invite-wrapper, .location-wrapper{
        padding: 50px 10px;
    }
    .left-col{
        width:100%;
    }
    .parents, .godm{
        align-items:center;
        text-align: center;
    }
    .map, .maps-wrapper h5{
        width:100%;
    }
    .maps-wrapper h5{
        padding-bottom: 15px
    }
    .church, .after{
        flex-direction: column;
    }
    .church{
        padding-bottom:50px;
    }
    .countdown-wrapper, .rsvp-wrapper{
        padding:50px 10px;
    }
    .cntdn #countdown{
        font-size: 40px;
    }
    .quote-wrapper{
        width:100%;
        padding:10px;
    }
    .hour-wrapper{
        justify-content: flex-end;
    }
    .left-col span{
        text-align: right;
        display: block;
        width: 100%;
    }
    .rsvp-wrapper h3{
        font-size:20px;
    }
    .rsvp-form input, .rsvp-form select,.rsvp-form textarea{
        width:100%;
        margin: 10px 0;
    }
    .contact-container{
        width:100%;
    }
    .contact h2 {
        padding: 20px 10px 10px;
    }
    .rsvp-wrapper h2 , .contact h2, .location-wrapper h2{
        font-size:40px;
    }
    .contact-container h3{
        font-size: 30px;
    }
    .contact-container span {
        font-size: 22px;
    }
    .contact-wrapper{
        padding: 0 0 80px;
    }
}
.check{
    width:100%;
    height:100%;
    background: url(img/7175949.webp);
}
.checkpass{
    padding: 30px;
    width:400px;
    height: 100vh;
    margin: 0 auto;
    justify-content: center;
}
.checkpass h1{
    padding: 20px 0;
}
.checkpass input{
    padding: 10px;
    font-size: 18px;
}
.checkpass button{
    width: 200px;
    padding: 10px;
    text-align: center;
    margin: 20px auto;
}