.main_container{
    width: 1200px;
    margin: auto;
    display: flex;
    flex-direction: column;
    padding-bottom: 100px;
}

/* top_box*/

.top_box{
    border-bottom: 20px solid #3F4462;
    position: relative;
    width: 100%;
}

.top_box_img{
    width: 1200px;
}

.top_box_logo, .top_box_txt{
    position: absolute;
}

.top_box_logo{
    width: 300px;
    top: 55%;
    left: 65%;
}

.top_box_txt{
    font-size: 2.2rem;
    font-weight: 600;
}

.txt1{
    top: 58%;
    left: 65%;
    color: #B18272;
}

.txt2{
    top: 65%;
    left: 65%;
    color: #3F4462;
}


/* procedure box */
.procedure_box, .event_box{
    margin-top: 60px;
    padding-left: 20px;
}

.procedure_box > h2, .event_box > h2{
    margin-bottom: -10px;
}

.procedure_list{
    display: flex;
    margin-top: 50px;
}

.procedure_template{
    width: 25%;
    margin-right: 20px;
    position: relative;
    transition: box-shadow 0.1s;
}

.procedure_template:hover{
    box-shadow: 5px 5px 10px rgb(226, 226, 226),
                0px 5px 15px rgb(233, 233, 233);

}

.procedure_img{
    width: 100%;
    margin-bottom: -15px;
}

.procedure_txt{
    background-color: #F9F8FF;
    width: 100%;
    height: 240px;
    padding:15 30;
}

.txt_title{
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: -7px;x
}

.txt_dscr{
    font-weight:300;
    line-height: 23px;
    font-size: 0.98rem;
}


.txt_price{
    position:absolute;
    bottom: 10px;
    right: 20px;
    font-weight: 500;
    font-size: 1.53em;
    letter-spacing: 1;
}

.price_txt{
    font-size: 0.8rem;
    font-weight: 300;
}


/*event box*/
.event_background{
    background-color: #F8F8F8;
    min-width: 1200px;
}

.event_template{
    display: flex;
    padding-top: 20px;
}

.event_img{
    width: 60%;
    padding-left: 50px;
}

.event_info{
    margin-left: 50px;
    width: 40%;
    padding: 0 20px;
}

.event_title{
    font-size: 1.8rem;
    font-weight: 500;
    margin-bottom: -7px;
}

.event_txt{
    color: rgb(90, 90, 90);
}

.padding{
    margin-bottom: 90px;
}

.event_price{
    font-size: 1.7rem;
    font-weight: 500;
    margin-top: 60px;
    margin-bottom: 50px;
}

.event_price_txt{
    font-size: 0.9rem;
    font-weight: 400;
}

.package_button{
    padding: 20px 120px;
    border: 1px solid #3F4462;
    transition: background-color 0.2s;
    
}

.package_button:hover{
    box-shadow: 3px 3px 10px lightgrey;
    background-color: #3F4462;
    color: white;

}

/*swiper*/
.bx-wrapper{
    position: relative;
}

.bx-controls-direction .bx-prev, .bx-controls-direction .bx-next{
    font-size: 40px;
}

.bx-controls-direction a{
    position: absolute;
    display: block;
    width: 25px;
    height: 40px;
    overflow: hidden;
    color: grey;
    opacity: 0.3;
    top: 50%;
    transform:translateY(-50%);
}

.bx-controls-direction .bx-prev{
    left: 0;
}

.bx-controls-direction .bx-next{
    right: 0;
}

.bx-controls-direction .bx-prev:before{
    content: "\f053";
    font: var(--fa-font-solid);
}

.bx-controls-direction .bx-next:before{
    content: "\f054";
    font: var(--fa-font-solid);
}

.bx-pager{
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 100%;
    text-align: center;
}

.bx-pager div{
    display: inline-block;
    padding: 0 7px;
}

.bx-pager div a{
    display: block;
    font-size: 0;
    color: transparent;
    width: 15px; 
    height: 5px;
    border-radius: 5px;
    background-color: rgb(220, 220, 220);
    transition: all 0.3s;
}

.bx-pager div a.active{
    background-color: #3F4462;
    width: 33px; 
    height: 5px;
    border-radius: 5px;
}

/*swiper*/

/* map box */
.box_bottom{
    display: flex;
}


.box_info{
    width: 40%
}

.info{
    margin-bottom: 60px;
}

.info_title{
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: -0.01rem;
    margin-bottom: -15px;
}

.info_txt{
    margin-top: 25px;
    font-weight: 300;
}

.box_time{
    display: flex;
}
.date{flex-grow: 1;}
.time{flex-grow: 2;}

.time > .info_txt{
    line-height: 150%;
    
}

.box_time > div > p{
    margin-bottom: -20px;
}

.info_subtxt{
    font-size: 0.95rem;
    margin-top: 20px;
    font-weight: 300;
    margin-bottom: 0px;
}

.contact_info{
    margin-bottom: 15px;
}

.contact{
    margin-bottom: -10px;
    vertical-align: middle;
    padding: 7 7 7 0;
}

.contact:nth-child(5){
    padding: 7 20 7 0;
}

.contact > p{
    margin-left: 20px;
    font-size: 1.1rem;
    display: inline-block;
}

.contact > div {
    flex: 1;
}
.img_info{
    width: 40px;
    height: 40px;
    vertical-align: middle;
}

.map_box{
    margin-top: 100px;
}

.box_map{
    width: 60%;
}

#map{
    width: 100%;
    height: 650px;
}
