#intro{
    background: var(--color-dark-blue);
    background: radial-gradient(circle,var(--color-blue) 0%, var(--color-dark-blue) 100%);
    transition: transform .5s ease;
    z-index: 20;
    position: fixed;
    width: 100vw;

    .intro_container{
        top: 0;
        left: 0;


        .intro_background{
            position: absolute;

            img.monogram{
                filter: var(--filter-cream);
                aspect-ratio: 1 / 1;
                max-width: 80vw;
                max-height: 70vh;
                width: 500px;
                height: 500px;
            }
            span{
                opacity: 0;
                position: absolute;
                bottom: 1rem;
                color: var(--color-cream);
            }
            img, span{
                transition: opacity .3s ease;
            }
            img.bg-orchid{
                position: absolute;
                filter: var(--filter-cream);
                opacity: .2;

                &.bgo01{
                    rotate: 180deg;
                    width: 250px;
                    max-width: 50vw;
                    height: auto;
                    top: -100px;
                    left: -50px;
                }
                &.bgo02{
                    width: 350px;
                    max-width: 60vw;
                    height: auto;
                    bottom: -160px;
                    right: -70px;
                }
            }
        }
        .intro_background.attenuate{
            img{
                opacity: .1;
            }
            span{
                opacity: 0;
            }
        }
        .intro_background.loading{
            span{
                opacity: 1;
            }
        }

        .intro_message{
            .message{
                width: 800px;
                max-width: 80vw;
                text-align: center;
                font-size: x-large;
                transition: opacity .3s ease;

                span{
                    transition: opacity .3s ease;
                    color: var(--color-cream);
                }
                span.hide{
                    opacity: 0;
                }
            }
            .message.hide{
                opacity: 0;
            }
        }

        .modal_a{
            

            h2{
                font-size: 1.5rem;
                padding-bottom: .3rem;
            }

            .flex-col{
                display: flex;
                flex-direction: column;
                gap: .7rem;

                div{
                    display: flex;
                    flex-wrap: nowrap;
                    gap: 1rem;
                    button{
                        position: relative;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        width: 3.5rem;
                        height: 3.5rem;

                        img{
                            position: absolute;
                            margin: 0 auto;
                            width: 2rem;
                            height: 2rem;
                        }
                        span{
                            position: absolute;
                            width: 100%;
                            text-align: center;
                            display: block;
                            font-size: .9rem;
                            font-weight: 800;
                        }

                        &.video{
                            width: 100%;
                            justify-content: space-evenly;

                            img, span{
                                position: relative;
                            }
                        }
                    }
                }
            }
        }
    }

    .video-container{
        position: fixed;
        display: flex;
        justify-content: center;
        align-items: center;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        backdrop-filter: blur(5px);
        
        opacity: 1;
        transition: opacity .5s ease, display .5s ease allow-discrete;

        &.inactive{
            opacity: 0;
            display: none;
            transition: opacity .5s ease, display .5s ease allow-discrete;

            @starting-style{
                opacity: 1;
            }
        }


        video{
            width: 350px;
            max-width: 100%;
            height: auto;
        }
    }
}

.phrase{
    background: var(--theme-color-background_b_ff);
    color: var(--theme-color-font_b_ff);
    padding: 1rem;
    width: 100%;
    position: relative;

    p{
        color: var(--theme-color-font_b_ff);
    }
}

#portrait{
    position: relative;
    .container{
        position: relative;
        padding: 0;

        .menu_bar{
            height: 4vh;
            position: fixed;
            top: 0rem;
            opacity: .8;
            width: 100%;
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: space-evenly;

            a{
                font-size: small;
                font-style: italic;
            }
        }

        .fixed_background{
            .party_name_date{
                position: relative;
                width: 100%;
                height: 96vh;
                padding-top: 4vh;
                padding-bottom: 58vh;

                .party_date{
                    opacity: .2;
                    width: 100%;
                    display: flex;
                    justify-content: center;
                    flex-wrap: wrap;
                    span{
                        font-size: 8rem;
                        line-height: 75%;
                        width: 100%;
                    }
                }

                .party_name{
                    position: absolute;
                    img{
                        width: 600px;
                        max-width: 60%;
                        height: auto;
                        max-height: 60vh;
                    }
                }

                .party_name_letters{
                    position: absolute;
                    top: 40vh;
                }
            }
        }

        .cover_image{
            position: absolute;
            object-fit: cover;
            bottom: 0;

            width: 100%;
            height: 58vh;
            object-position: 50% 0%;
        }

        .story_button{
            position: absolute;
            bottom: .5rem;
            width: 100%;
            display: flex;
            justify-content: center;

            button{
                padding-top: .3rem;
            }
        }

        #mdlStory{
            width: 500px;
            max-width: 85%;

            h3{
                padding-bottom: .5rem;
            }
            
            p{
                text-align: left;
                padding-bottom: .2rem;
            }

            .historia-img{
                width: 100%;
                margin-top: 1rem;
            }

            &::-webkit-scrollbar{
                width: 5px;
                height: 5px;
            }
            &::-webkit-scrollbar-track {
                background: none;
                margin-top: 15px;
                margin-bottom: 15px;
            }
            &::-webkit-scrollbar-thumb {
                background-color: var(--color-light-blue);
                border-radius: 5px;
                width: 7px;
                height: 7px;
            }
            &::-webkit-scrollbar-thumb:hover{
                background-color: var(--color-light-blue1);
            }
            &::-webkit-scrollbar-thumb:active{
                background-color: var(--color-light-blue1);
            }
        }
    }
}
@media screen and (orientation: landscape){
    #portrait{
        .container{
            .fixed_background .party_name_date .party_date{
                flex-wrap: wrap;
                gap: 3rem;
                span{
                    width: max-content;
                }
            }
            .cover_image{
                width: 85vh;
            }
        }  
    }
}
@media screen and (max-height:800px) {
    #portrait{
        .container{
            .fixed_background .party_name_date{
                .party_date{
                    span{
                        font-size: 6rem;
                    }
                }
            }
        }  
    }
}


#people{
    position: relative;
    .container{
        position: relative;
        height: auto;
        
        .fixed_background{
            object-position: 50% 90%;
            min-height: 500px;
        }

        .people_area{
            width: 100%;
            height: auto;
            min-height: 100vh;
            position: relative;
            flex-wrap: wrap;
            backdrop-filter: blur(1px);
            background-color: var(--theme-color-background_a_77);
            background-color: #f9f8f19f;;
            transition: opacity 1.5s ease;
            opacity: 0;

            h2{
                width: 100%;
                padding: 5rem 1rem 0 1rem;
                text-align: center;
                font-size: 1.2;
                font-family: "Playfair Display", serif;
                font-weight: 400;
            }

            .people_container{
                position: relative;
                top: 0;
                display: flex;
                flex-direction: column;
                gap: 0;
                padding-top: 0;
                padding-bottom: 40vh;
                width: 100%;
                align-items: center;
                justify-content: center;

                .people_group{
                    width: 100%;
                    display: flex;
                    justify-content: center;
                    flex-wrap: wrap;

                    h2{
                        width: 100%;
                        padding: 2rem 1rem 0 1rem;
                        font-family: "Copperplate", serif;
                        font-weight: 600;
                    }

                    .people_subgroups{
                        display: flex;
                        flex-direction: column;
                        flex-wrap: wrap;
                        gap: 0 3rem;
                        justify-content: space-evenly;

                        div{
                            h3{
                                font-family: "Playfair Display", serif;
                                font-size: 1.2rem;
                                font-weight: 600;
                                margin: 1rem 0 .5rem 0;
                                letter-spacing: 1px;
                            }
                            p{
                                font-size: 1rem;
                                line-height: 150%;
                                font-weight: 100;
                                letter-spacing: 1px;
                            }
                        }
                    }
                }
            }
        }
    }
}


@media screen and (orientation: landscape){
    #people{
        .container{
            .people_area{
                display: flex;
                align-content: start;

                .people_container{
                    justify-content: space-evenly;
                    height: max-content;
                    padding: 1.5rem 0 25vh 0;
    
                    .people_group{
                        width: 80%;
                        margin-bottom: 0;

                        .people_subgroups{
                            flex-direction: row;
                        }
                    }
                }
            } 
        }
    }
}

#location{
    .container{
        width: 100%;
        position: relative;

        .count_down_container{
            position: sticky;
            top: 0;
            background: var(--theme-color-background_a_ff);
            height: 6rem;
            display: flex;
            align-items: center;
            .timmer{
                width: 100%;
                display: flex;
                flex-wrap: nowrap;
                justify-content: center;
                gap: 1.2rem;
    
                div{
                    min-width: 2.3rem;
                    span{
                        display: block;
                    }
                }
    
                b, .time_number{
                    font-size: 2rem;
                    font-weight: lighter;
                }
            }
        }

        .location_container{
            margin-bottom: 2rem;
            img{
                height: calc(100vh - 16rem);
                width: 300px;
                max-width: 80%;
                object-fit: cover;
                object-position: 0% 100%;
                transition: all 1.5s ease;
            }

            div{
                width: 100%;
                height: 8rem;
                gap: .5rem;
                display: flex;
                flex-wrap: wrap;
                align-content: center;

                h3{
                    width: 100%;
                    text-align: center;
                }
            }
        }
    }

    .modal_b{
        padding: 10px;
        width: 600px;
        max-width: 90dvw;

        iframe{
            border-radius: 15px;
            width: 100%;
            height: 450px;
            max-height: 75vh;
        }

        a{
            font-size: larger;
            font-weight: 600;
            display: inline-block;
            text-align: center;
            width: 10rem;
            position: fixed;
            bottom: 20px;
            left: calc(50dvw - 5rem);
        }
    }
}

@media screen and (orientation: portrait){
    #location .container .location_container img{
        width: 600px;
        max-width: 80%;
    }
}

#itinerary{
    .container{
        position: relative;

        &.all_screen{
            height: auto;
        }

        .full_img_background{
            object-position: 50% 70%;
            transform: scaleX(-1);
            height: 100%;
        }
        
        .itinerary_container{
            position: relative;

            h2{
                padding-top: 3rem;
            }

            .itinerary_items{
                padding-top: 2rem;
                padding-bottom: 200px;

                div{
                    width: 500px;
                    max-width: 90%;
                    margin: 0 auto;
                    display: flex;
                    align-items: center;
                    opacity: 0;
                    transition: opacity .5s ease;

                    img{
                        height: 3rem;
                        width: auto;
                    }
                    span, a{
                        font-size: 1.1rem;

                        img{
                            padding-left: .5rem;
                            height: 1rem;
                            width: auto;
                        }
                    }
                    span{
                        width: 90px;
                    }
                }

                div:nth-child(8) {
                    transition-delay: 0s;
                }
                div:nth-child(7) {
                    transition-delay: .5s;
                }
                div:nth-child(6) {
                    transition-delay: 1s;
                }
                div:nth-child(5) {
                    transition-delay: 1.5s;
                }
                div:nth-child(4) {
                    transition-delay: 2s;
                }
                div:nth-child(3) {
                    transition-delay: 2.5s;
                }
                div:nth-child(2) {
                    transition-delay: 3s;
                }
                div:nth-child(1) {
                    transition-delay: 3.5s;
                }
            }
            .itinerary_items.show{
                div{
                    opacity: 1;
                }
                
                div:nth-child(1) {
                    transition-delay: 0s;
                }
                div:nth-child(2) {
                    transition-delay: .5s;
                }
                div:nth-child(3) {
                    transition-delay: 1s;
                }
                div:nth-child(4) {
                    transition-delay: 1.5s;
                }
                div:nth-child(5) {
                    transition-delay: 2s;
                }
                div:nth-child(6) {
                    transition-delay: 2.5s;
                }
                div:nth-child(7) {
                    transition-delay: 3s;
                }
                div:nth-child(8) {
                    transition-delay: 3.5s;
                }
            }   
        }
    }
}

#miscellaneous{
    position: relative;

    .static_bg{
        z-index: -1;
        position: absolute;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        overflow: hidden;

        img{
            position: relative;
            opacity: .7;
            height: auto;
            display: block;
        }
        img:nth-child(1){
            width: calc(400px + 5vw);
            translate: -30px 0;
            rotate: 90deg;
        }
        img:nth-child(2){
            width: calc(440px + 6vw);
            translate: calc(100vw - 380px - 6vw) 0;
            rotate: -90deg;
        }
        img:nth-child(3){
            width: calc(300px + 4vw);
            translate: -20px 0;
            rotate: 90deg;
        }
        img:nth-child(4){
            width: calc(400px + 5vw);
            translate: calc(100vw - 300px - 5vw) 0;
            rotate: -90deg;
        }
        img:nth-child(5){
            width: calc(500px + 7vw);
            translate: -60px 0;
            rotate: 90deg;
        }
        img:nth-child(6){
            width: calc(700px + 5vw);
            translate: calc(100vw - 500px - 5vw) 50px;
            rotate: 0deg;
        }
    }

    .space_container{
        position: relative;
        div{
            height: 100vh;
        }
        div:first-child{
            height: 0;
        }
        div:last-child{
            height: 150vh;
        }
    }

    .container{
        position: sticky;
        top: 0;
        right: 0;
        z-index: 1;
        height: 100vh;

        .all_screen{
            position: absolute;
            .gallery{
                display: flex;
                align-items: center;
                position: absolute;;
                top: 20vh;
                height: 60vh;
                width: 100%;
                z-index: 2;

                button{
                    padding: .5rem;
                    img{
                        width: auto;
                        height: 1rem;
                    }
                }

                .image_container{
                    width: 300px;
                    max-width: 90%;
                    position: relative;
                    height: 60vh;
                    img{
                        width: 100%;
                        height: 60vh;
                        top: 0;
                        left: 0;
                        position: absolute;
                        object-fit: cover;
                        object-position: 50% 50%;
                        opacity: 0;
                        transition: opacity 1s ease;
                    }
                    img:nth-child(1){
                        object-position: 0 50%;
                    }
                    img:nth-child(2){
                        object-position: 100% 50%;
                    }
                    img:nth-child(3){
                        object-position: 50% 50%;
                    }
                    img.show{
                        opacity: 1;
                    }
                }
            }

            .msc_sections{
                position: absolute;
                width: 100%;

                .msc_section{
                    width: 100%;
                    height: 100vh;
                    position: absolute;
                    opacity: 0;
                    transition: opacity 1s ease;

                    &.dressCode{
                        .top{
                            flex-direction: column;
                        }
                        .bottom{
                            padding-bottom: 1rem;

                            .avoid_colors_text{
                                font-size: 1.1rem;
                                padding-bottom: .5rem;
                            }
                            .avoid_colors{
                                position: relative;
                                display: flex;
                                gap: .5rem;
                                justify-content: center;


                                div{
                                    width: 2rem;
                                    height: 2rem;
                                    border-radius: 2rem;
                                    padding: 0;

                                    img{
                                        width: 2rem;
                                        height: 2rem;
                                        filter: invert(75%) sepia(1%) saturate(0%) hue-rotate(9deg) brightness(94%) contrast(83%);
                                    }

                                    &.c1{
                                        background-color: white;
                                    }
                                    &.c2{
                                        background-color: #e5dbc7;
                                    }
                                    &.c3{
                                        background-color: #d6cbcf;
                                    }
                                    &.c4{
                                        background-color: #85bbe6;
                                    }
                                    &.c5{
                                        background-color: #266bb5;
                                    }
                                    &.c6{
                                        background-color: #004c6f;
                                    }
                                    &.c7{
                                        background-color: #03283f;
                                    }
                                }
                            }
                        }
                    }

                    .top, .bottom{
                        position: absolute;
                        width: 100%;
                        height: 20vh;
                        display: flex;
                        flex-wrap: wrap;
                        align-content: center;
                        justify-content: center;
                        gap: .5rem;

                        div{
                            width: 100%;
                            padding: 0 calc(10%)
                        }
                        .bigtext{
                            font-size: 2rem;
                        }
                    }
                    .top{
                        top: 0;
                    }
                    .bottom{
                        top: 80vh;
                    }
                    
                }
                .msc_section.show{
                    opacity: 1;
                    z-index: 1;
                }

                .giftTable{
                    .bottom{
                        padding: 0 10% 1rem 10%;
                        .a_button{
                            padding: .7rem;
                            img{
                                width: 3rem;
                                height: 3rem;
                            }
                        }
                    }
                }

                .assistance{
                    .bottom{
                        padding: 0 10% 1rem 10%;
                    }

                    .sts{
                        opacity: 0;
                        transition: opacity .5s ease;
                        z-index: 0;
                        position: relative;
                    }
                    .sts.show{
                        opacity: 1;
                        z-index: 1;
                    }
                }
            }
        }
        dialog{
            z-index: 3;
        }
        #modalDressCode{
            padding: 0;
            border: none;
            border-radius: 1rem;
        }
        #mdlBank{
            strong{
                font-size: 1.2rem;
            }
            .bank_data{
                padding: .7rem;
                display: flex;
                flex-direction: column;
                gap: .7rem;

                .datas{
                    display: flex;
                    flex-direction: column;
                    gap: .5rem;
                    
                    .data{
                        display: flex;
                        flex-direction: column;

                        span{
                            font-family: "LOVE", serif;
                            font-size: .8rem;
                            font-weight: 100;
                            letter-spacing: .5px;
                        }
                        b{
                            display: inline-flex;
                            align-items: center;
                            justify-content: center;
                            gap: .3rem;
                            cursor: pointer;
                            font-family: "LOVE", serif !important;
                            font-size: 1.2rem;
                            line-height: 85%;
                            letter-spacing: .5px;

                            img{
                                width: 1rem;
                                height: 1rem;
                            }
                        }
                    }
                }
            }
        }
        .qrcode{
            border-radius: 1rem;
        }
    }
}



@media screen and (orientation: portrait){
    #miscellaneous .container .all_screen .gallery .image_container{
        width: 600px;
        max-width: 80vw;
    }
}

#message{
    position: relative;

    .container{
        position: relative;
        min-height: 600px;

        .fixed_background{
            min-height: 600px;
            object-position: 40% 100%;
        }

        .all_screen{
            flex-wrap: wrap;
            align-content: space-evenly;
            opacity: 0;
            transition: opacity 1.5s ease;

            h2{
                width: 100%;
                position: relative;
                margin: 0 auto;
                padding: 2rem 1rem;
            }
    
            form{
                position: relative;
                padding: 0 2rem;
                width: 100%;
                max-width: 500px;
                margin: 0 auto 4rem auto;
    
                .card_l{
                    position: relative;
                    background-color: var(--theme-color-background_a_ff);
                    padding: 1.5rem;
    
                    display: flex;
                    align-items: center;
                    flex-wrap: wrap;
        
                    img{
                        position: absolute;
                        width: 60%;
                        left: 20%;
                        height: auto;
                        opacity: .1;
                    }
    
                    div{
                        width: 100%;
                    }
        
                    .msg_message{
                        position: relative;
                        text-align: left;
                        
                        label{
                            position: relative;
                            top: .5rem;
                        }
        
                        textarea{
                            background-image: url('../resource/svg/msg-bg.svg');
                            background-size: contain;
                            background-repeat: repeat-x;
                            background-color: transparent;
                            border: none;
            
                            width: 100%;
                            padding: 0 1rem;
                            font-size: 1.2rem;
                            line-height: 250%;
                            resize: none;
                        }
                        textarea:focus{
                            outline: none;
                        }
                    }
        
                    .msg_from{
                        position: relative;
                        text-align: right;
                        margin-top: .6rem;
        
                        input{
                            background: none;
                            border: none;
                            border-bottom: 1px solid var(--theme-color-font_a_ff);
                            font-size: 1.2rem;
                            padding: .2rem .5rem;
                            width: 50%;
                        }
                        input:focus{
                            outline: none;
                        }
                    }
                }
    
                .msg_button{
                    margin: 3rem auto 0 auto;
                }
            }
        }
    }
}

#host{
    .container{
        position: relative;
        min-height: 600px;
        display: flex;
        flex-wrap: wrap;
        align-content: space-evenly;

        .top{
            width: 100%;
            position: relative;
            min-height: 15vh;
            height: auto;
            display: flex;
            align-items: center;
            justify-content: center;

            h2{
                position: relative;
                display: block;
                padding: 1rem;
            }
        }
        

        .gallery{
            display: flex;
            align-items: center;
            position: relative;;
            width: 100%;
            z-index: 2;

            button{
                padding: .5rem;
                img{
                    width: auto;
                    height: 1rem;
                }
            }

            .hosts_container{
                position: relative;
                width: 300px;
                height: 85vh;
                min-height: 400px;
                max-width: 90%;

                .host_item{
                    position: absolute;
                    display: flex;
                    flex-wrap: wrap;
                    align-content: center;
                    width: 100%;
                    opacity: 0;
                    z-index: 0;
                    transition: opacity 1s ease;

                    img{
                        height: 60vh;
                        width: 100%;
                        object-fit: cover;
                    }

                    div{
                        width: 100%;
                        min-height: 25vh;
                        padding: 1rem 0;
                        display: flex;
                        flex-wrap: wrap;
                        align-content: center;

                        p, a{
                            width: 100%;
                        }
                        .bigtext{
                            font-size: 1.2rem;
                            font-weight: bold;
                        }
                        .a_button{
                            margin-top: 1rem;
                            width: auto;
                        }
                    }
                }
                .host_item.show{
                    opacity: 1;
                    z-index: 1;
                }
            }
        }
    }
}

@media screen and (orientation: portrait){
    #host .container .gallery .hosts_container{
        width: 600px;
        max-width: 80vw;
    }
}


#thanks{
    .container{
        position: relative;
        #thanksBG{
            opacity: 1;
            transition: opacity 1.5s ease;
        }
        #thanksFG{
            opacity: 1;
        }

        .thanks_container{
            z-index: 1;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            padding-top: 3rem;
            background-color: transparent;
            opacity: 0;
            transition: opacity 1.5s ease;

            .initial{
                position: absolute; 
                height: auto;
                opacity: 1;

                &.m{
                    top: 0;
                    left: 0;
                    width: 300px;
                    max-width: 50%;
                }
                &.a{
                    bottom: 0;
                    right: 0;
                    width: 250px;
                    max-width: 40%;
                }
            }

            .thanks_message{
                padding-bottom: 27vh;
                width: 550px;
                max-width: 90%;

                .hashtag{
                    font-size: 1.2rem;
                    font-weight: bold;
                    padding: .5rem 0;
                }
                p{
                    font-weight: 600;
                }
                b{
                    font-weight: 900;
                }

                p, b, strong{
                    font-size: 1.2rem;
                    letter-spacing: 1px;
                }
            }
        }
    }
}