/* custom button */

.custom_button_round{
	-webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    padding: 4px 10px 8px 10px;
    border: 1px solid #792980;
    border-radius: 999px;
    display: inline-block;
    text-decoration: none !important;
    line-height: 1em;
    color:#fff !important;
      box-shadow: inset 300px 0px 0 0 #792980;
}

.custom_button_round:hover{
    color:#792980 !important;
    opacity: 1 !important;
      box-shadow: inset 0px 0px 0 0 #792980;
}
.custom_button_square{
	-webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    padding: 4px 10px 8px 10px;
    border: 1px solid #792980;
    border-radius: 0px;
    display: inline-block;
    text-decoration: none !important;
    line-height: 1em;
    color:#fff !important;
      box-shadow: inset 300px 0px 0 0 #792980;
}

.custom_button_square:hover{
    color:#792980 !important;
    opacity: 1 !important;
      box-shadow: inset 0px 0px 0 0 #792980;
}






.custom_button_round_with_arrow{
	-webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    padding: 4px 34px 8px 10px;
    border: 1px solid #792980;
    border-radius: 999px;
    display: inline-block;
    text-decoration: none !important;
    line-height: 1em;
    color:#fff !important;
      box-shadow: inset 300px 0px 0 0 #792980;
      position: relative;
}

.custom_button_round_with_arrow:hover{
    color:#792980 !important;
    opacity: 1 !important;
      box-shadow: inset 0px 0px 0 0 #792980;
}


.custom_button_round_with_arrow::before{
	-webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    width:12px;
    height:1px;
    top:0px;
    bottom: 0px;
    right: 12px;
    margin: auto;
    background-color: #ffffff;
    position: absolute;
}


.custom_button_round_with_arrow::after{
	-webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    width:6px;
    height:6px;
    top:0px;
    bottom: 0px;
    right: 12px;
    margin: auto;
    border-top:1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
}

.custom_button_round_with_arrow:hover::before{
    background-color: #792980;
}

.custom_button_round_with_arrow:hover::after{
    border-top:1px solid #792980;
    border-right: 1px solid #792980;
}

.custom_button_square_with_arrow{
	-webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    padding: 4px 34px 8px 10px;
    border: 1px solid #792980;
    border-radius: 0px;
    display: inline-block;
    text-decoration: none !important;
    line-height: 1em;
    color:#fff !important;
      box-shadow: inset 300px 0px 0 0 #792980;
      position: relative;
}

.custom_button_square_with_arrow:hover{
    color:#792980 !important;
    opacity: 1 !important;
      box-shadow: inset 0px 0px 0 0 #792980;
}


.custom_button_square_with_arrow::before{
	-webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    width:12px;
    height:1px;
    top:0px;
    bottom: 0px;
    right: 12px;
    margin: auto;
    background-color: #ffffff;
    position: absolute;
}


.custom_button_square_with_arrow::after{
	-webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    width:6px;
    height:6px;
    top:0px;
    bottom: 0px;
    right: 12px;
    margin: auto;
    border-top:1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
}

.custom_button_square_with_arrow:hover::before{
    background-color: #792980;
}

.custom_button_square_with_arrow:hover::after{
    border-top:1px solid #792980;
    border-right: 1px solid #792980;
}



/* common */
.flexible_layout{
    color:#792980;
}

.pink_text{
  color: #dd2751;
}

.green_text{
  color: #2c5e59;
}

.slim_text{
    font-weight: 400;
}

.chi_text{
    letter-spacing: 0.05em;
}

.uppercase_text{
    text-transform: uppercase;
}

.video_img_wrapper{
    position: relative;
}

.video_img_wrapper::after{
    content:"";
    position: absolute;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 20px 0 20px 30px;
    border-color: transparent transparent transparent #008285;
    transform: rotate(0deg);
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    margin: auto;
}

.section{
    position: relative;
}

.section_with_border::before{
    content:"";
    position: absolute;
    left:52px;
    right:52px;
    margin: auto;
    top:0px;
    border-top:1px solid #2c5e59;
}

.section_top_text{
    padding-left: 52px;
    padding-right: 52px;
    display: flex;
    justify-content: space-between;
    padding-bottom: 60px;
    position: relative;
    gap: 30px;
}

.section_top_text_with_border::before{
    content:"";
    position: absolute;
    left:52px;
    right:52px;
    margin: auto;
    bottom:0px;
    border-bottom:1px solid #2c5e59;
}

.section_top_text .text{
    color:#792980;
}

.section_general_text{
    padding-top: 60px;
    padding-bottom: 60px;
}

.col_wrapper{
    display: flex;
    gap:60px;
}

.grey_bg{
    background-color: #f2f2f2;
}

.swiper_dot{
    height: 8px;
    display: flex;
    gap: 20px;
}
.swiper-pagination-bullet{
    vertical-align: top;
}

.swiper-pagination-bullet {
  background: #fff;
}

.swiper-pagination-bullet:hover, .swiper-pagination-bullet-active{
  opacity: 1;
}

.prev_slide{
    position: absolute;
    width: 50px;
    height: 50px;
    top:0px;
    bottom: 0px;
    margin: auto;
    left: 0px;
    z-index: 12;
    cursor: pointer;
}

.prev_slide:hover{
    opacity: 0.5;
}

.prev_slide::before{
    content:"";
    position: absolute;
    width: 25px;
    height: 25px;
    border-top:1px solid #fff;
    border-left:1px solid #fff;
    transform: rotate(-45deg);
    top:0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    margin: auto;
}

.next_slide{
    position: absolute;
    width: 50px;
    height: 50px;
    top:0px;
    bottom: 0px;
    margin: auto;
    right: 0px;
    z-index: 12;
    cursor: pointer;
}

.next_slide:hover{
    opacity: 0.5;
}


.next_slide::before{
    content:"";
    position: absolute;
    width: 25px;
    height: 25px;
    border-top:1px solid #fff;
    border-right:1px solid #fff;
    transform: rotate(45deg);
    top:0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    margin: auto;;
}

.title_with_more{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.right_arrow_btn_wrapper{
    display: flex;
    gap: 20px;
    align-items: start;
}

.right_arrow_btn{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    display: flex;
    gap: 10px;
    align-items: center;
    position: relative;
}

.right_arrow_btn:hover{
    padding-left: 10px;
}

.right_arrow_btn::before{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    position: absolute;
    display: block;
    height: 100%;
    width: 24px;
    background-color: transparent;
    border-radius: 30px;
    right: 0px;
    opacity: 0;
}

.right_arrow_btn:hover::before{
    width: 100%;
    background-color: #2c5e59;
    opacity: 1;
}

.right_arrow_btn .t{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    color: #fff;
    line-height: 1em;
    margin-top: -0.2em;
    position: relative;
    z-index: 1;
}

.purple_right_arrow_btn .t{
    color: #792980;
}
.green_right_arrow_btn .t{
    color: #2c5e59
}

.purple_right_arrow_btn:hover .t, .green_right_arrow_btn:hover .t{
    color: #fff
}

.right_arrow_btn .arrow{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    background-color: #fff;
    border-radius: 20px;
    width: 24px;
    height: 24px;
    position: relative;
    z-index: 1;
}

.right_arrow_btn:hover .arrow{
    background-color: #2c5e59;
}

.event_detail_tag_wrapper{
    margin-bottom: 30px;
}

/* popup */

.popup{
    width:90%;
    max-width: 600px;
    border-radius: 20px;
    background-color: #fffde9;
}

.popup_content h1,
.popup_content h2,
.popup_content h3,
.popup_content h4,
.popup_content h5,
.popup_content h6{
    color:#792980
}

.popup .popup_content .free_text a{
    color:#792980;
    text-decoration: underline;
}

.popup .popup_content .free_text a:hover{
    color:#2c5e59;
}

/* back_to_top */

.back_to_top{
    padding-left: 52px;
    padding-right: 52px;
}

.back_to_top_btn .arrow{
    transform: rotate(-90deg);
}

.purple_right_arrow_btn .arrow{
    background-color: #792980;
}

.green_right_arrow_btn .arrow{
    background-color: #2c5e59;
}

.right_arrow_btn .arrow::before{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    position: absolute;
    top:0px;
    bottom: 0px;
    right: 6px;
    border-top:1px solid #2c5e59;
    border-right:1px solid #2c5e59;
    transform: rotate(45deg);
    display: block;
    width: 6px;
    height: 6px;
    margin: auto;
}

.right_arrow_btn:hover .arrow::before{
    border-top:1px solid #fff;
    border-right:1px solid #fff;
}

.right_arrow_btn .arrow::after{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    position: absolute;
    top:0px;
    bottom: 0px;
    right: 6px;
    left: 6px;
    margin: auto;
    background-color: #2c5e59;
    height: 1px;
}

.right_arrow_btn:hover .arrow::after{
    background-color: #fff;
}

.purple_right_arrow_btn .arrow::before{
    border-top:1px solid #fff;
    border-right:1px solid #fff;
}

.purple_right_arrow_btn .arrow::after{
    background-color: #fff;
}

.green_right_arrow_btn  .arrow::before{
    border-top:1px solid #fff;
    border-right:1px solid #fff;
}

.green_right_arrow_btn .arrow::after{
    background-color: #fff;
}



.left_arrow_btn_wrapper{
    display: flex;
    align-items: start;
    gap: 20px;
}

.left_arrow_btn{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    display: flex;
    gap: 10px;
    align-items: center;
    position: relative;
}

.left_arrow_btn:hover{
    padding-left: 10px;
}

.left_arrow_btn::before{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    position: absolute;
    display: block;
    height: 100%;
    width: 24px;
    background-color: transparent;
    border-radius: 30px;
    right: 0px;
    opacity: 0;
}

.left_arrow_btn:hover::before{
    width: 100%;
    background-color: #2c5e59;
    opacity: 1;
}

.left_arrow_btn .t{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    color: #fff;
    line-height: 1em;
    margin-top: -0.2em;
    position: relative;
    z-index: 1;
}

.green_left_arrow_btn .t{
    color: #2c5e59;
}

.purple_left_arrow_btn:hover .t, .green_left_arrow_btn:hover .t{
    color: #fff
}

.left_arrow_btn .arrow{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    background-color: #fff;
    border-radius: 20px;
    width: 24px;
    height: 24px;
    position: relative;
    z-index: 1;
}

.left_arrow_btn:hover .arrow{
    background-color: #2c5e59;
}

.green_left_arrow_btn .arrow{
    background-color: #2c5e59;
}

.left_arrow_btn .arrow::before{
    content:"";
    position: absolute;
    top:0px;
    bottom: 0px;
    left: 6px;
    border-top:1px solid #2c5e59;
    border-left:1px solid #2c5e59;
    transform: rotate(-45deg);
    display: block;
    width: 6px;
    height: 6px;
    margin: auto;
}

.left_arrow_btn .arrow::after{
    content:"";
    position: absolute;
    top:0px;
    bottom: 0px;
    right: 6px;
    left: 6px;
    margin: auto;
    background-color: #2c5e59;
    height: 1px;
}

.green_left_arrow_btn .arrow::before{
    border-top:1px solid #fff;
    border-left:1px solid #fff;
}

.green_left_arrow_btn .arrow::after{
    background-color: #fff;
}

.btn_with_border{
    padding: 6px 10px 6px 10px;
    border:1px solid #792980;
    border-radius: 999px;
}

.green_left_arrow_btn.btn_with_border, .green_right_arrow_btn.btn_with_border{
    border:1px solid #2c5e59;
}


.video_wrapper{
    position: relative;
    padding-bottom: 56.25%;
}

.video_wrapper iframe{
    position: absolute;
    left: 0px;
    top:0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.video_wrapper video{
    position: absolute;
    left: 0px;
    top:0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* home */



/* home header */

.body_home2{
    position: relative;
}

.body_home2::before{
    content:"";
    position: absolute;
    top: 0px;
    right: 0px;
    height: 500px;
    background-color: #008285;
    width: 65%;
}

.body_cadsh2::before{
    content:"";
    position: absolute;
    top: 0px;
    right: 0px;
    height: 500px;
    background-color: #fff;
    width: 65%;
}

.body_home2 .top_text_menu a{
    color:#fffde9;
}

.body_home2 .top_text_menu ul li.has_hidden_menu > a::after{
    border-right: 1px solid #fffde9;
    border-bottom: 1px solid #fffde9;
}

.body_home2 .top_text_menu ul li.has_hidden_menu:hover > a::after {
  border-top: 1px solid #fffde9;
  border-right: 1px solid #fffde9;
  border-bottom: none;
}

.body_home2 .home_top_title, .body_cadsh2 .home_top_title{
    padding-top: 0px;
    background: none;
}

.body_home2 .home_top_title *{
    color:#792980 !important
}

.body_home2 .top_text_menu, .body_cadsh2 .top_text_menu{
    width: 65%;
}

/* Specific subcode targeting */
:lang(zh-hk) .top_text_menu, :lang(zh-cn) .top_text_menu{
    font-size: 15px;
    line-height: 1.5em;
}

@media screen and (max-width: 1023px) { 
    .body_home2::before, .body_cadsh2::before{
        display: none;
    }

    .body_home2 .home_top_title, .body_cadsh2 .home_top_title{
        padding-top: 20px;
        background: none;
    }
}


.body_home .top_menu_lang_btn{
	background-position: 0px 100%;
}

.body_home .top_menu_search_btn{
	background-position: 0px 100%;
}

.body_home .dropdown_btn .line span {
    background-color: #fffde9;
}

.nottop.body_home .top_menu_lang_btn{
	background-position: 0px 0%;
}

.nottop.body_home .top_menu_search_btn{
	background-position: 0px 0%;
}

.nottop.body_home .dropdown_btn .line span {
  background-color: #792980;
}

.dropdown_btn.close .line span {
  background-color: #fffde9 !important;
}


.nottop.body_home .top_text_menu a{
}

/* section_home_top */
.section_home_top{
    display: flex;
}

.home_top_left_wrapper{
    flex: 0 0 35%;
    width: 35%;
}

.home_top_title{
    background-color: #008285;
    padding: 52px;
    color: #000;
    min-height: 19vw;
}

.home_top_title_tall{
    min-height: 600px;
}

.home_top_title.color2{
    background-color: #792980;
}

.home_top_title .t1{
    font-weight: 900;
    color:#fff;
}

.home_top_title .t2{
    margin-top: 30px;
}

.home_top_title.color2 .t1{
    color: #008285;
}

.home_top_title.color2 .t2{
    color: #fff;
}

.home_top_announcement{
	background-color:#792980;
    padding: 52px;
    color:#fff;
}

.home_top_announcement.color2{
    background-color: #008285;
}

.home_top_announcement .announcement_title{
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 30px;
    border-bottom:1px solid #fff;
}

.home_top_announcement .date{
    font-weight: 400;
    margin-bottom: 10px;
}

.home_top_announcement .t2 a{
    color:#fff;
}

.home_top_announcement .t2 a:hover{
    opacity: 0.5;
}

.home_top_announcement .swiper-container{
    width: 100%;
}

.home_top_announcement .swiper-slide{
    width: 100%;
}

.home_top_announcement .swiper_dot {
    margin-top: 50px;
    text-align: center;
    justify-content: center;
}


.home_top_right_wrapper::before{
    /* content:"";
    position: absolute;
    left: 0px;
    top:-500px;
    bottom: 0px;
    right: 0px;
    margin: auto;
    background-color: #008285; */
}

.home_top_right_wrapper{
    flex: 0 0 calc(65%);
    position: relative;
    overflow: hidden;
    background-color: #fff;
}

.home_top_hero{
    position: absolute;
    left: 0px;
    top:0px;
    right: 0px;
    bottom: 0px;
    margin: auto;
}

.home_top_hero .swiper-container{
    position: relative;
    width: 100%;
    height: 100%;
}


.home_top_hero .swiper-slide{
    width: 100%;
    height: 100%;
}

.home_top_right_wrapper .swiper_dot {
    position: absolute;
    text-align: center;
    justify-content: center;
    left: 0px;
    right:0px;
    bottom: 50px;
}

.home_top_right_wrapper .swiper_pause{
    position: absolute;
    right:50px;
    bottom: 50px;
    width: 50px;
    height: 40px;
    background-color:#792980;
    cursor: pointer;
}

.home_top_right_wrapper .swiper_pause:hover{
    background-color:#008285;
}

.home_top_right_wrapper .swiper_pause::before{
    content:"";
    position: absolute;
    width: 5px; height: 20px;
    border: none;
    top:0px;
    right:10px;
    bottom:0px;
    left:0px;
    margin: auto;
    background-color: #fffde9;
}

.home_top_right_wrapper .swiper_pause::after{
    content:"";
    position: absolute;
    width: 5px; height: 20px;
    border: none;
    top:0px;
    right:0px;
    bottom:0px;
    left:10px;
    margin: auto;
    background-color: #fffde9;
}

.home_top_right_wrapper .swiper_pause.paused::before{
    content:"";
    position: absolute;
    width: 0; height: 0;
    border-style: solid;
    border-width: 8px 0px 8px 16px;
    border-color: transparent transparent transparent #fffde9;
    top:0px;
    right:0px;
    bottom:0px;
    left:0px;
    margin: auto;
    background: none;
}

.home_top_right_wrapper .swiper_pause.paused::after{
    display: none;
}

.home_top_hero .img_wrapper{
    width: 100%;
    height: 100%;
}

.home_top_hero .img_wrapper img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* section_home_welcome */

.section_home_welcome{
    padding-top: 100px;
    padding-bottom: 100px;
    text-align: center;
    background-color: #fffde9;
    color:#792980
}

.section_home_welcome .t2{
    margin-top: 30px;
}

/* section_home_2_col */

.section_home_2_col{
    display: flex;

}

.home_2_col{
    width: 50%;
    flex:0 0 50%;
    display: flex;
    overflow: hidden;
}

.home_2_col .home_faq{
    padding: 36px;
    background-color: #008285;
    color:#000;
    width: 100%;
      box-sizing: border-box;
}

.home_2_col .home_recent_activities{
      box-sizing: border-box;
    padding: 36px;
    width: 100%;
    background-color: #792980;
    color:#fff;
}

.home_2_col .home_recent_activities .date{
    font-weight: 800;
}

.home_2_col .home_faq .title_with_more{
    color:#fff;
}

.home_2_col .home_faq .title_with_more{
    color:#fff;
}

.home_2_col .title_with_more{
    margin-bottom: 40px;
}

.faq_item_wrapper{
    border-top:1px solid #000;
    border-bottom:1px solid #000;
}

.faq_item_wrapper li{
    padding-top: 30px;
    padding-bottom: 30px;
}

.faq_item_wrapper li a{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    display: flex;
    align-items: center;
    cursor: pointer;
    color:#fff;
}

.faq_item_wrapper li a:hover{
    color:#000;
}

.faq_item_wrapper li+li{
    border-top:1px solid #000;
}

.faq_item_wrapper li .num{
    flex: 0 0 20%;
    color:#fff;
}

.event_slider{
    width: 100%;
    position: relative;
    margin-top: -50px;
}

.event_slider .swiper-container{
    width: 100%;
}

.event_slider a.img_wrapper{
    padding-top: 50px;
    height: 420px;
    width: 100%;
    margin: auto;
    display: block;
}

.event_slider .img_wrapper img{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
    height: 100%;
    width: 90%;
    object-fit: contain;
    object-position: center center;
    transform: scale(1);
    display: block;
    margin: auto;
}

.event_slider a.img_wrapper:hover img{
    transform: scale(1.1);
}

.event_slider .t_wrapper{
    margin-top: 30px;
    padding-top: 30px;
    border-top:1px solid #fff;
    display: flex;
    gap: 30px;
}

.event_slider .t_wrapper .date{
    line-height: 1em;
}

.event_slider .prev_slide{
    bottom: auto;
    top:185px;
}

.event_slider .next_slide{
    bottom: auto;
    top:185px;
}

/* section_home_isotope */

.section_home_isotope{
    padding-top: 36px;
    padding-bottom: 36px;
}

.section_home_isotope .grid-item{
    position: relative;
    margin: 0 auto;
}

.section_home_isotope .grid-item .img_wrapper{
    margin: 5px;
    overflow: hidden;
    border-radius: 10px;
    position: relative;
}

.section_home_isotope .grid-item a:hover .img_wrapper{
    opacity: 0.5;
}

.section_home_isotope .text_wrapper{
    margin: 5px 36px;
    padding-bottom: 36px;
    color:#792980;
}

.section_home_isotope .float_text_wrapper{
    padding-bottom: 40.5%;
    padding-bottom: 43%;
    margin: 0px 36px;
}

.section_home_isotope .float_text{
    position: absolute;
}

.section_home_isotope .text_wrapper .text{
    font-weight: 900;
}

.section_home_isotope .fixed_size_text{
  font-size: 36px;
  line-height: 1.2em;
}

.section_home_isotope .text_wrapper .right_arrow_btn_wrapper{
    margin-top: 36px;
}

.section_home_isotope .grid-item .overlay_text{
    position: absolute;
    left: 0px;
    bottom: 0px;
    right: 0px;
    padding-bottom: 20px;
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
    color:#fff;
    text-align: center;
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%); 
}

.section_home_isotope .grid-item .image_overlay{
    position: relative;
    padding-bottom: 100%;
}

.section_home_isotope .grid-item .image_overlay img{
    position: absolute;
    left: 0px;
    top:0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.section_home_isotope .grid-item .image_overlay2{
    position: relative;
    padding-bottom: 49%;
}

.section_home_isotope .grid-item .image_overlay3{
    position: relative;
    padding-bottom: 66.66%;
}


/* section_home_community */

.section_home_community{
    background-color: #008285;
    padding: 36px 52px;
    display: flex;
}

.home_community_left_wrapper{
    padding-right: 52px;
    color:#000;
    width: 25%;
}

.home_community_left_wrapper .t1{
    color:#fff;
}

.home_community_left_wrapper .t1 + .t2{
    margin-top: 30px;
}

.home_community_left_wrapper .right_arrow_btn_wrapper{
    margin-top: 80px;
}

.home_community_right_wrapper{
    width: 100%;
    color:#fff;
}

.home_community_left_wrapper + .home_community_right_wrapper{
    padding-left: 52px;
    border-left:1px solid #fff;
    width: 75%;
}

.home_community_right_wrapper .title{
    margin-bottom: 80px;
    text-align: center;
}

.home_community_right_wrapper .circle_text_item_wrapper {
    display: flex;
    gap:30px;
    flex-wrap: wrap;
    justify-content: center;
}

.home_community_right_wrapper .circle_text_item{
    /* flex: 1 1; */
    display: block;
    width: 280px;
}

.home_community_right_wrapper .circle_wrapper{
    height: 160px;
    position: relative;
    margin: auto;
}

.home_community_right_wrapper .circle{
    width: 160px;
    height: 160px;
    position: absolute;
    background-color: #fffde9;
    border-radius: 100%;
    overflow: hidden;
}

.home_community_right_wrapper .circle1{
    z-index: 1;
}

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

    .home_community_right_wrapper .circle_wrapper{
        height: 120px;
    }

    .home_community_right_wrapper .circle{
        width: 120px;
        height: 120px;
    }

    .section_home_isotope .fixed_size_text {
        font-size: 28px;
        line-height: 1.2em;
    }
}

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

    .home_community_right_wrapper .circle_wrapper{
        height: 120px;
    }

    .home_community_right_wrapper .circle{
        width: 120px;
        height: 120px;
    }

    .section_home_isotope .fixed_size_text {
        font-size: 22px;
        line-height: 1.2em;
    }
}

.home_community_right_wrapper .circle1{
    right: 40%;
    color:#008285;
    display: flex;
    justify-content: center;
    align-items: center;
}

.home_community_right_wrapper .circle1 .num{
}

.home_community_right_wrapper .circle2{
    left: 40%;
}

.home_community_right_wrapper .circle_text_item .circle{
	-webkit-transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1) !important;
    transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1) !important;
}


.home_community_right_wrapper .circle_text_item:hover .circle1{
    
    right: 45%;
}

.home_community_right_wrapper .circle_text_item:hover .circle2{

	-webkit-transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1) !important;
    transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1) !important;
    left: 45%;
}

.home_community_right_wrapper .circle .img_wrapper{
    position: absolute;
    left: 0px;
    top:0px;
    width: 100%;
    height: 100%;
}

.home_community_right_wrapper .circle .img_wrapper img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.home_community_right_wrapper .circle_text_item .text{
    text-align: center;
    margin-top: 30px;
}

/* section_text_col */

.section_text_col{
    background-color: #fff;
    padding-top: 60px;
    padding-bottom: 60px;
}

.section_text_col .title{
    text-align: center;
    color:#792980
}

.section_text_col .title + .text_col{
    margin-top: 60px;
}

.section_text_col .text_col_wrapper{
    display: flex;
    gap: 52px;
}

.section_text_col .text_col{
    flex:0 0 calc(25% - 39px);
    margin-top: 60px;
}

.section_text_col .text_col .img_wrapper{
    overflow: hidden;
    border-radius: 20px;
    display: block;
    padding-bottom: 100%;
    position: relative;
}

.section_text_col .text_col .img_wrapper.img_wrapper_horizontal{
    padding-bottom: 75%;
}

.section_text_col .text_col .img_wrapper img{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    top:0px;
    object-fit: contain;
    object-position: center center;
}

.section_text_col .text_col a.img_wrapper:hover{
    opacity: 0.5;
}

.section_text_col .text_col .t_wrapper{
    margin-top: 30px;
}

.section_text_col .text_col .t_wrapper .t1{
    color:#792980;
}

.section_text_col .text_col .t_wrapper .t2 {
    margin-top: 30px;
}

.section_text_col .text_col .right_arrow_btn_wrapper{
    margin-top: 30px;
}


/* about */

.section_banner{
    position: relative;
}

.section_banner .banner{
    width: 100%;
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

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

    .section_banner .banner{
        height: 500px;
    }
}

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

    .section_banner .banner{
        height: 400px;
    }
}


.section_banner_no_image .banner{
    height: auto;
}


.section_banner .img_wrapper{
    width: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    -webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 5%, rgb(0,0,0,1) 60%); 
    mask-image: linear-gradient(0deg, rgba(0,0,0,0) 5%, rgba(0,0,0,1) 60%); 
}

.section_banner_no_image .img_wrapper{
    bottom: -50px;
}

.section_banner .img_wrapper::after{
    content:"";
    position: absolute;
    left: 0px;
    top:0px;
    height: 75%;
    width: 100%;
    background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 80%); 
}

.section_banner_illustration  .img_wrapper::after{
    /* display: none; */
}

.section_banner_illustration .t_wrapper{
    position: absolute;
    left:50px;
    top:50px;
    bottom:50px;
    margin: auto;
    display: flex;
}

.section_banner_illustration .t_wrapper img{
    height:10vw;
}

.section_banner .img_wrapper img{
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
}

.section_banner .title_wrapper{
    position: relative;
    z-index: 2;
    color:#fff;  
    margin-bottom: 5%;
    text-align: center;
    padding-left: 52px;
    padding-right: 52px;
    max-width: 1280px;
}

.section_banner_no_image .title_wrapper{
    /* background: linear-gradient(180deg, rgba(120, 41, 127,1) 0%, rgba(120, 41, 127,0) 100%);  */
    width: 100%;
    box-sizing: border-box;
    padding: 52px;
    margin-bottom: auto;
    max-width: 1600px;
    margin-top: auto;
}

.section_banner .banner_bottom{
    position: absolute;
    left: 52px;
    right: 52px;
    bottom: 0px;
    margin: auto;
    padding-bottom: 50px;
    border-bottom:1px solid #2c5e59;
    display: flex;
    justify-content: space-between;
    align-items: end;
    color:#792980;
    flex-direction: row-reverse;
}

.section_banner .banner_bottom .btn_with_border{
    background-color: #fffde9;
}

.section_banner_no_image .banner_bottom{

    position: relative;
    left: auto;
    right: auto;
    padding: 20px 0px;
    margin-left: 52px;
    margin-right: 52px;
}

.section_banner .banner_bottom.banner_bottom_no_border{
    padding-bottom: 0px;
    border-bottom:none;
}

.section_banner .banner_bottom a{
    color:#792980;
}

.section_banner .left_arrow_btn_wrapper{
    justify-content: end;
}

.section_banner .left_arrow_btn_wrapper + .nav{
    margin-top: 20px;
}

/* section_about_text_image */

.section_about_text_image{
    padding-top: 60px;
    padding-bottom: 60px;
}

.section_about_text_image .img_wrapper{
    overflow: hidden;
    border-radius: 20px;
}

/* .location_item_list{
    border-top:1px solid #2c5e59;
    border-bottom:1px solid #2c5e59;
    color:#792980;
}

.location_item_list li{
    padding: 20px 10px;
}

.location_item_list li + li{
    border-top:1px solid #2c5e59
} */

/* section_list_item */

.section_list_item{
    padding-top: 60px;
    padding-bottom: 60px;
}

.list_item_wrapper{
    display: flex;
    flex-wrap: wrap;
    gap:60px 30px ;
}

.list_item_wrapper .list_item.col6{
    flex:0 0 calc(50% - 30px);
}

.list_item_wrapper .list_item.col4{
    flex:0 0 calc(33.33% - 20px);
}

.list_item_wrapper .list_item.col3{
    flex:0 0 calc(25% - 23px);
}

.list_item_wrapper .list_item a{
    color:#792980;
}

.list_item_wrapper .list_item a:hover{
    opacity: 0.5;
}

.list_item_wrapper .list_item .img_wrapper{
    overflow: hidden;
    border-radius: 20px;
    padding-bottom: 100%;
    position: relative;
}

.list_item_wrapper .list_item .img_wrapper_horizontal{
    padding-bottom: 75%;
}

.list_item_wrapper .list_item .img_wrapper_vertical{
    padding-bottom: 133.33%;
}

.list_item_wrapper .list_item .img_wrapper_with_textoverlay::before{
    content:"";
    position: absolute;
    width: 100%;
    height: 50%;
    background: linear-gradient(180deg, rgba(0, 0, 0,1) 0%, rgba(0, 0, 0,0) 100%); 
    z-index: 1;
}

.list_item_wrapper .list_item .img_wrapper img{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    top:0px;
    object-fit: contain;
    object-position: center center;
}

.list_item_wrapper .list_item .img_wrapper_horizontal img{
    object-fit: cover;
}

.list_item_wrapper .list_item .t_wrapper{
    margin-top: 20px;
}

.list_item_wrapper .list_item .t1{
    line-height: 1.3em;
    color:#792980
}

.list_item_wrapper .list_item .t1 + .t2{
    margin-top:20px;
}

.list_pager{
    margin-top: 60px;
}

.list_pager ul{
    display: flex;
    gap: 4px;
    justify-content: center;
}

.list_pager a{
    width:28px;
    height: 28px;
    border:1px solid transparent;
    color:#2c5e59;
    border-radius: 999px;
    line-height: 26px;
    text-align: center;
    display: block;
}

.list_pager a:hover, .list_pager .current{
    border:1px solid #2c5e59;
}

/* section_map */

.section_map{
    padding-top: 60px;
    padding-bottom: 60px;
}

.map_wrapper{
    position: relative;
    padding-bottom: 75%;
}

.map_wrapper .map{
    position: absolute;
    left: 0px;
    top:0px;
    width: 100%;
    height: 100%;
}

.map_wrapper .map > *{
    position: absolute;
    left: 0px;
    top:0px;
    width: 100%;
    height: 100%;
}

.section_map .right_arrow_btn_wrapper{
    margin-top: 60px;
}

/* section_terms */

.section_terms{
    padding-top: 60px;
    padding-bottom: 60px;
}

.section_terms .terms_item{
    display: flex;
    gap: 30px;
    padding-top: 60px;
    padding-bottom: 60px;
}

.section_terms .terms_item + .terms_item{
    border-top:1px solid #b3b3b3
}

.section_terms .terms_item:first-child{
}

.section_terms .terms_item:last-child{
    padding-bottom: 0px;
}

.section_terms .terms_item .num{
    flex: 0 0 20%;
    color: #792980;
}

/* section_composition */

.section_composition{
    padding-top: 60px;
    padding-bottom: 60px;
    background-color: #f2f2f2;
}

.section_composition .composition_item{
    display: flex;
    gap: 30px;
    padding: 30px;
}

.section_composition .composition_item .free_text{
    font-weight: 600;
}

.section_composition .composition_item + .composition_item{
    border-top:1px solid #000
}

.section_composition .composition_item .title{
    flex: 0 0 25%;
}

/* section_filter_events */

.section_filter_events{
    padding: 52px 0px;
}


.section_filter_events .filter_dropdown_item_wrapper + .filter_result_wrapper{
    margin-top: 30px;
}

.section_filter_events .filter_result_item_wrapper{
    display: flex;
    flex-wrap: wrap;
    gap:100px 30px ;
}

.section_filter_events .filter_result_item{
    flex: 0 0 calc((100% - 3 * 30px) / 4);
    display: flex;
}

@media screen and (max-width: 1279px) { 
    .section_filter_events .filter_result_item{
        flex:0 0 calc(33.33% - 20px);
        display: flex;
    }
}

.section_filter_events .filter_result_item a:hover{
    opacity: 0.5;
}

.section_filter_events .filter_result_item .filter_result_item_flex{
    display: flex;
    flex-direction: column;
    /* justify-content: space-between; */
    width: 100%;
}

.section_filter_events .filter_result_item .filter_result_item_flex .top_wrapper{
    display: block;
    color:#792980;
}

.section_filter_events .filter_result_item  .img_wrapper{
    overflow: hidden;
    border-radius: 20px;
    padding-bottom: 133.333%;
    position: relative;
}

.section_filter_events .filter_result_item  .img_wrapper img{
    position: absolute;
    left: 0px;
    top:0px;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}

.section_filter_events .filter_result_item .title_wrapper {
    margin-top: 20px;
}

.section_filter_events .filter_result_item  .t_wrapper{
    margin-top: 20px;
    padding-top: 15px;
    border-top:1px solid #2c5e59
}

.section_filter_events .filter_result_item  .t + .t{
    margin-top: 15px;
    padding-top: 15px;
    border-top:1px solid #2c5e59
}

.section_filter_events .filter_result_item .tag_wrapper{
    margin-top: 15px;
    padding-top: 15px;
    border-top:1px solid #2c5e59
}

/* section_event_detail */

.section_event_detail{
    padding-top: 0px;
    padding-bottom: 0px;
}

.event_detail_title{
    color: #792980;
    font-weight: 900;
    padding-top: 45px;
    padding-bottom: 45px;
}

.event_detail_title .title{
    margin-top: 30px;
}

.event_detail_title .title:first-child{
    margin-top: auto;
}

.event_detail_content{
    /* margin-top: 45px;
    margin-bottom: 45px; */
}

.event_detail_title + .event_detail_content{
}

.back_to_top{
    margin-top: 30px;
    margin-bottom: 30px;
    display: flex;
    justify-content: end;

}

.event_detail_content + .back_to_top{
    padding-top: 45px;
    padding-bottom: 45px;
    margin-top: auto;
}

/* section_related_events */

.section_related_events{
    background-color: #f2f2f2;
}

/* section_gallery_isotope */

.section_gallery_isotope{
    padding-top: 60px;
    padding-bottom: 60px;
}

.section_gallery_isotope .swiper_dot {
    margin-top: 30px;
    text-align: center;
    justify-content: center;
}

.section_gallery_isotope .swiper-pagination-bullet {
    background-color: #2c5e59;
}

.section_gallery_isotope .grid-item .bg_wrapper{
    margin: 5px;
    border-radius: 10px;
    position: relative;
    height: 300px;
    overflow: hidden;
}

.section_gallery_isotope .grid-item.col6 .bg_wrapper{
    height: 400px;
}

.section_gallery_isotope .grid-item .bg_wrapper img{
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.section_home_isotope .grid-item a:hover .bg_wrapper {
  opacity: 0.5;
}

/* section_gallery_list */

.section_gallery_isotope + .section_gallery_list::before {
  content: "";
  position: absolute;
  left: 52px;
  right: 52px;
  margin: auto;
  top: 0px;
  border-top: 1px solid #2c5e59;
}

.section_gallery_list .img_wrapper{
    position: relative;
}

.section_gallery_list .img_wrapper  .overlay_text{
    position: absolute;
    left: 0px;
    top:0px;
    right: 0px;
    margin: auto;
    padding: 20px;
    text-shadow: 0 0 4px #000;
    color:#fff;
    z-index: 2;
}

/* section_gallery_detail */

.section_gallery_detail .description{
    margin-top: 60px;
}

/* festival */


/* selected_events_menu_wrapper */

.selected_events_menu_wrapper{
    display: flex;
    gap: 100px;
    align-items: start;
    padding: 52px;
    color:#792980;
}

.selected_events_menu_title{
    margin-bottom: 0px !important;
    margin-top: 0px !important;
}

.selected_events_menu{
    margin-top: 10px;
}

.selected_events_menu ul{
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}


.selected_events_menu ul li{
    flex:0 0 calc(33.33% - 20px);
}

.selected_events_menu_item{
    display: flex;
    gap: 30px;
}

.selected_events_menu_item > *{
    flex:0 0 calc(50% - 30px);
}

.selected_events_menu_item img{
    width: 100%;
}

.selected_events_menu_item .right_arrow_btn_wrapper{
    margin-top: 30px;
}

/* section_selected_events */

.section_selected_events{  
    padding-top: 60px;
    padding-bottom: 60px;
}

.selected_event_title{
    padding: 52px;
    color:#f2f2f2;
    background: linear-gradient(180deg, rgba(120, 41, 127,1) 0%, rgba(120, 41, 127,0) 100%); 
    margin-bottom: 60px;
}

.selected_event + .selected_event{
    padding-top: 45px;
    margin-top: 45px;
    border-top:1px solid #792980
}

/* collapsible_item */

.section_collapsible{
    padding-top: 60px;
    padding-bottom: 60px;
}

.content_title + .collapsible_item_wrapper{
    margin-top: 30px;
}

.collapsible_item .collapsible_btn{
    color:#2c5e59;
    border-bottom:1px solid #b3b3b3;
    display: flex;
    position: relative;
    padding-bottom: 20px;
    justify-content: space-between;
}

.collapsible_item .collapsible_btn .title{
    color:#2c5e59;
    padding-bottom: 0px;
    border-bottom:0px;
    flex: 0 0 calc(100% - 60px);
}


.collapsible_item .collapsible_btn .icon{
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background-color: #2c5e59;
}

.collapsible_item .collapsible_btn .icon::before{
    content:"";
    position: absolute;
    width: 50%;
    height: 2px;
    background-color: #fff;
    top:0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    margin: auto;
    transform: rotate(90deg);
}

.collapsible_item.opened .collapsible_btn .icon::before{
    display: none;
}


.collapsible_item .collapsible_btn .icon::after{
    content:"";
    position: absolute;
    width: 50%;
    height: 2px;
    background-color: #fff;
    top:0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    margin: auto;
}

.collapsible_item + .collapsible_item{
    margin-top: 20px;
}

.collapsible_item .hidden_content{
  padding:30px 0px 30px 0px;
  display: none;
}

/* section_quiz */

.section_quiz{
    padding-top: 60px;
    padding-bottom: 60px;
}

.section_quiz .quiz_item_wrapper{
    margin-top: 60px;
}

.section_quiz .quiz_question{
    display: flex;
    gap: 30px;
}

.quiz_question .num{
    color:#2c5e59;
    line-height: 1em;
}

.quiz_item .q1{
    color:#dd2751;
    font-weight: 900;
}

.quiz_item .q2{
    margin-top: 10px;
}

.quiz_item + .quiz_item{
    margin-top: 60px;
}

.quiz_item .quiz_options{
    margin-top: 30px;
}

.quiz_item .quiz_options li{
    position: relative;
}

.quiz_item .quiz_options label{
    cursor: pointer;
}

.quiz_item .quiz_options input[type="radio"]{
    background: none;
    border:1px solid #dd2751;
    border-radius: 999px;
    cursor: pointer;
    align-items: center;
    gap: 20px;
    width: 20px;
    height: 20px;
    background-color: #fff;
    margin: 0px;
    padding: 0px;
    margin-right: 10px;
    cursor: pointer;
    transform: translateY(15%);
}

.show_result .quiz_item .quiz_options input[type="radio"], .show_result .quiz_item .quiz_options label{
    pointer-events: none;
}

.quiz_item .quiz_options input[type="radio"]:checked, .quiz_item .quiz_options .correct input[type="radio"]{
    background-color: #2c5e59;
    border:1px solid #2c5e59;
}

.quiz_item .quiz_options .wrong input[type="radio"]{
    opacity: 0;
}

.quiz_item .quiz_options .wrong::before{
    content:"✖";
    color:#dd2751;
    position: absolute;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    top: 0.25em;
    margin: auto;
    left: 0px;
}

.section_quiz .quiz_correct_answer{
    margin-top: 30px;
    border:1px solid #2c5e59;
    border-radius: 20px;
    padding: 20px;
}

.section_quiz .quiz_submit_wrapper{
    margin-top: 60px;
}

.section_quiz .quiz_submit_wrapper .quiz_submit_result1 .right_arrow_btn_wrapper{
    justify-content: center;
}

.section_quiz .quiz_submit_wrapper .right_arrow_btn{
    border-radius: 15px;
}

.section_quiz .quiz_submit_wrapper .right_arrow_btn::before {
  border-radius: 10px;
}

.section_quiz .quiz_submit_wrapper .right_arrow_btn .arrow {
  width: 40px;
  height: 40px;
}

.section_quiz .quiz_submit_wrapper .right_arrow_btn .arrow::before {
  right: 12px;
}

.section_quiz .quiz_submit_wrapper .right_arrow_btn .arrow::after {
  right: 12px;
  left: 12px;
}

.section_quiz .quiz_submit_wrapper .quiz_submit_result2{
    display: flex;
    justify-content: space-between;
    gap:20px
}

.section_quiz .quiz_submit_wrapper .quiz_submit_result2 .t_wrapper{
    display: flex;
    gap:20px;
    align-items: end;
    color:#2c5e59
}


/* section_left_menu_right_content */

.section_left_menu_right_content{
    padding-top: 60px;
    padding-bottom: 60px;
}

.left_menu_right_content{
    display: flex;
    gap:60px;
    justify-content: space-between;
}

.left_menu_right_content .left_menu_wrapper{
    flex: 0 0 320px;
    width: 320px;
}
.left_menu_right_content .right_content_wrapper{
    flex: 1;
}


.left_menu_right_content .sticky_menu{
    position: sticky;
    top: 110px;
}

.left_menu_wrapper li{
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;
    border-top:1px solid #b3b3b3;
}

.left_menu_wrapper li > div{
    position: relative;
}

.left_menu_wrapper > .sticky_menu > ul > li:first-child{
    padding-top: 0px;
    border-top:none;
}

.left_menu_wrapper li + li{
}

.left_menu_wrapper li a{
    -webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    color:#000;
    padding-right: 52px;
    display: block;
    position: relative;
}

.left_menu_wrapper li a.active{
    padding-left: 30px;
}

.left_menu_wrapper li a:hover{
    opacity: 0.5;
}

.left_menu_wrapper li a.active{
    color:#792980;
}

.left_menu_wrapper li .menu_label{
    display: block;
    color:#000;
    position: relative;
}

.left_menu_wrapper li.has_hidden_menu > div >  .menu_label{
    padding-right: 52px;
}

.left_menu_wrapper .hidden_menu li .menu_label{
    padding-left: 30px;
}

.left_menu_wrapper .hidden_menu li .menu_label::before {
  content: "▸";
  position: absolute;
  left: 0px;
  top: -0.15em;
  color: #2c5e59;
}

.left_menu_wrapper li.has_hidden_menu > div > .menu_label.active{
    padding-left: 30px;
}

.left_menu_wrapper li .menu_label.active{
    color:#792980;
}

.left_menu_wrapper li a .arrow, .left_menu_wrapper li .menu_label .arrow{
    position: absolute;
    left: 0px;
    top:0.32em !important;
    margin: auto;
    width: 20px;
    height: 20px;
    background-color: #792980;
    border-radius: 100%;
    display: none;
}

.left_menu_wrapper li .menu_label.active .arrow{
    display: block;
 
}

.left_menu_wrapper li a.active .arrow{
    display: block;
}

.left_menu_wrapper li a .arrow::before, .left_menu_wrapper li .menu_label.active .arrow::before{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    position: absolute;
    top:0px;
    bottom: 0px;
    left: 6px;
    border-top:1px solid #fff;
    border-right:1px solid #fff;
    transform: rotate(45deg);
    display: block;
    width: 6px;
    height: 6px;
    margin: auto;
}

.left_menu_wrapper li a .arrow::after, .left_menu_wrapper li .menu_label.active .arrow::after{
	-webkit-transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.15s cubic-bezier(0.77, 0, 0.175, 1);
    content:"";
    position: absolute;
    top:0px;
    bottom: 0px;
    right: 6px;
    left: 6px;
    margin: auto;
    background-color: #fff;
    height: 1px;
}

.left_menu_wrapper .hidden_menu{
    padding-bottom: 0px;
    display: none;
    margin-top: 20px;
}

.left_menu_wrapper .hidden_menu li:last-child{
    padding-bottom: 0px;
}

.left_menu_wrapper .has_hidden_menu.opened > .hidden_menu{
    display: block;
}

.left_menu_wrapper .hidden_menu li a{
    padding-left: 30px;
    position: relative;
}

.left_menu_wrapper .hidden_menu li a::before{
    content:"▸";
    position: absolute;
    left: 0px;  
    top: -0.15em;
    color: #2c5e59;
}

.left_menu_wrapper .has_hidden_menu{
    border-bottom:none;
}

.left_menu_wrapper ul ul{
    margin-left: 20px;
}

.left_menu_wrapper .open_arrow{
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    top:0.3em;
    right: 0px;
    padding: 0px;
    cursor: pointer;
}

.left_menu_wrapper .open_arrow:hover{
    opacity: 0.5;
}

.left_menu_wrapper .open_arrow::before{
    content:"";
    position: absolute;
    top:0%;
    left:0px;
    right: 0px;
    bottom:5px;
    margin: auto;
    width: 80%;
    height: 80%;
    border-right:1px solid #2c5e59;
    border-bottom:1px solid #2c5e59;
    transform: rotate(45deg);
}

.left_menu_wrapper .has_hidden_menu.opened > div > .open_hidden_btn.open_arrow::before{
    transform: rotate(-135deg);
    top:8px;
    bottom:0px;
}

.left_menu_wrapper .download_btn_wrapper{
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.left_menu_wrapper .download_btn_wrapper a{
    margin-right: auto;
}

.section_left_menu_right_content .right_content_wrapper .scroll_item + .scroll_item{
    margin-top: 60px;
}

.section_left_menu_right_content .right_content_wrapper .content_title{
    color:#792980;
    padding-bottom: 30px;
    border-bottom:1px solid #b3b3b3
}

.section_left_menu_right_content .right_content_wrapper .content_title + .free_text{
    margin-top: 30px;
}

.section_left_menu_right_content .right_content_wrapper .content_title + .free_text table{
    width: 100%;
}

/* section_cadsh_events */

.section_cadsh_events .list_item a{
    color:#2c5e59
}

/* section_cadsh_event_detail */

.section_cadsh_event_detail{
    padding-top: 60px;
    padding-bottom: 60px;
}

.section_cadsh_event_detail .free_text table{
    border-bottom:1px solid #2c5e59
}

.section_cadsh_event_detail .free_text td{
    border-top:1px solid #2c5e59
}

.section_cadsh_event_detail .sns_wrapper{
    margin-top: 60px;
    margin-left: 52px;
    margin-right: 52px;
}

.section_cadsh_event_detail .sns_wrapper ul{
	display: flex;
	gap: 24px;
    margin-top: 15px;
    justify-content: end;
}

.section_cadsh_event_detail .sns_wrapper a{
	height: 36px;
	display: block;
	background-size: 100% 100%;
}

.section_cadsh_event_detail .sns_wrapper a:hover{
    opacity: 0.5;
}

.section_cadsh_event_detail .sns_wrapper .sns_fb{
	background-image: url("../images/sns_fb_green.png");
}

.section_cadsh_event_detail .sns_wrapper .sns_ig{
	background-image: url("../images/sns_ig_green.png");
}

/* section_free_text */

.section_free_text{
    padding-top: 60px;
    padding-bottom: 60px;
}

/* search */

.section_search{
    padding-top: 60px;
    padding-bottom: 60px;
}

.section_search .search_wrapper{
    display: flex;
    gap: 10px;
    justify-content: center;
}

.section_search .search_input{
    background: none;
    border:none;
    background-color: #fff;
    padding: 10px 20px;
    flex: 1;
    border:1px solid #792980;
}

.section_search .search_btn{
    background: none;
    border:none;
    background-color: #792980;
    width: 100px;
    padding: 10px 20px;
    color:#fff;
    cursor: pointer;
}

.section_search .search_btn:hover{
    opacity: 0.5;
}

.search_result_item_wrapper{
    margin-top: 60px;
}

.search_result_item + .search_result_item{
    margin-top: 60px;
}

.search_result_item .search_result_title{
    color: #792980;
}

.search_result_item .search_result_desc{
    margin-top: 5px;
}

.search_result_item .right_arrow_btn_wrapper{
    margin-top: 20px;
}

/* .sso-gate__button */
.sso-gate__button{
    background: none;
}

.right_arrow_btn.sso-gate__button .t{
      margin-top: 0em;
}


/* section_inclusive_illustration */

.section_inclusive_illustration {
  padding-top: 60px;
  padding-bottom: 60px;
  overflow: hidden;
}

.illustration_item_wrapper{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.illustration_item{
	-webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    position: relative;
    transform: scale(1);
}

.illustration_item:hover{
    transform: scale(1.05);
}

.illustration_item a{
    display: block;
}

.illustration_item p{
    height:100%
}

.illustration_item .img_wrapper{
    height:100%
}

.illustration_item .img_wrapper img{
    height: 100%;
    width: auto;
    position: relative;
}

.illustration_item .t_wrapper{
    position: absolute;
    color:#ddb00c;
    text-decoration: underline;
}

.illustration_item .t_wrapper img{
    height: 100%;
    width: auto;
}

.illustration_item1{
    height:25vw;
}

.illustration_item2{
    height:23vw;
    margin-top: 75px;
}

.illustration_item3{
    height:23vw;
    margin-top: -100px;
}

.illustration_item4{
    height:23vw;
    margin-top: 75px;
}

.illustration_item5{
    height:23vw;
    margin-top: 45px;
}

.resource_illustration_item1{
    height:28vw;
}

.resource_illustration_item2{
    margin-top: 75px;
    height:24vw;
}

.resource_illustration_item3{
    margin-top: 75px;
    height:23vw;
}

.section-download h3 {
  color: #792980;
}

@media screen and (max-width: 1279px) { 
    .body_home .top_text_menu li:nth-child(n+4){
        order: 0;
    }
}

@media screen and (max-width: 1023px) { 
    /* common */

    .section_top_text {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 30px;
    }

    .nav_btn_wrapper {
        flex-direction: column-reverse;
    }

    .nav_btn_wrapper .left_arrow_btn_wrapper {
        justify-content:space-between
    }

    .section_top_text_with_border::before {
        left: 20px;
        right: 20px;
    }

    .col_wrapper {
        display: flex;
        flex-direction: column;
        gap: 30px 20px;
    }

    .swiper_dot {
        gap: 10px;
    }

    .back_to_top {
        padding-left: 20px;
        padding-right: 20px;
    }

    .event_detail_content + .back_to_top {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .event_detail_tag_wrapper{
        margin-bottom: 15px;
    }


    .section_banner_illustration .t_wrapper{
        position: absolute;
        left:20px;
        top:20px;
        bottom:20px;
        margin: auto;
        display: flex;
    }

    .section_banner_illustration .t_wrapper img{
        height:20vw;
    }

    /* home */

    /* section_home_top */
    .section_home_top {
        display: flex;
        flex-direction: column-reverse;
        
    }
    .home_top_left_wrapper {
        flex: 0 0 100%;
        width: 100%;
    }

    .home_top_right_wrapper {
        flex: 0 0 calc(100%);
    }

    .home_top_title {
        padding: 20px;
    }

    .home_top_title_tall{
        min-height: 0px;
    }

    .home_top_title .t2 {
        margin-top: 10px;
    }

    .home_top_announcement {
        padding: 20px;
    }

    .home_top_announcement .announcement_title {
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

    .home_top_hero {
        position: relative;
        left: auto;
        top: auto;
        right: auto;
        bottom: auto;
        height: 400px;
    }



    .home_top_right_wrapper .swiper_dot {
        bottom: 20px;
    }

    .home_top_right_wrapper .swiper_pause{
        right:20px;
        bottom: 20px;
        width: 50px;
        height: 40px;
    }

    .home_top_announcement .swiper_dot {
        margin-top: 20px;
    }

    /* section_home_welcome */
    .section_home_welcome {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .section_home_welcome .t2 {
        margin-top: 15px;
    }

    /* section_home_2_col */

    .section_home_2_col {
        flex-direction: column;
    }

    .home_2_col {
        width: 100%;
        flex: 0 0 100%;
    }

    .home_2_col .home_faq {
        padding: 20px;
    }

    .home_2_col .title_with_more {
        margin-bottom: 20px;
    }

    .faq_item_wrapper li {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .faq_item_wrapper li .num {
        flex: 0 0 10%;
    }

    .home_2_col .home_recent_activities{
        padding: 20px;
    }

    .event_slider .img_wrapper {
        height: 320px;
    }

    .event_slider .prev_slide {
        top: 135px;
    }

    .event_slider .next_slide {
        top: 135px;
    }

    .event_slider .t_wrapper {
        margin-top: 20px;
        padding-top: 20px;
        gap: 30px;
    }

    .event_slider .t_wrapper .t2{
        margin-top: -0.2em;
    }

    /* section_home_isotope */

    .section_home_isotope .text_wrapper .right_arrow_btn_wrapper {
        margin-top: 20px;
    }
    
    .section_home_isotope .grid-item{
        width:50% !important;
    }

    .section_home_isotope .grid-item-title{
        width: 100% !important;
    }

    .section_home_isotope .text_wrapper {
        margin: 5px ;
        padding-bottom: 0px;
    }

    /* section_home_community */

    .section_home_community{
        flex-direction: column;
        padding: 30px 20px;
    }

    .home_community_left_wrapper{
        width: 100%;
        padding-right: 0px;
    }

    .home_community_left_wrapper .right_arrow_btn_wrapper {
        margin-top: 20px;
    }

    .home_community_right_wrapper {
        padding-left: 0px !important;
        border-left:none !important;
        width: 100% !important;
    }

    .home_community_left_wrapper + .home_community_right_wrapper{
        border-top: 1px solid #fff;
        padding-top: 30px;
        margin-top: 30px;
    }

    .home_community_right_wrapper .title {
        margin-bottom: 30px;
    }

    .home_community_right_wrapper .circle_text_item_wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .circle_text_item{
        width: 50%;
    }


    .home_community_right_wrapper .circle_wrapper{
        height: 160px;
    }

    .home_community_right_wrapper .circle{
        width: 160px;
        height: 160px;
    }
    
    .home_community_right_wrapper .circle_text_item {
        flex: 0 0 calc(50% - 30px);
    }

    .home_community_right_wrapper .circle_text_item .text {
        margin-top: 20px;
    }
    
    /* section_text_col */

    .section_text_col {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .section_text_col .text_col_wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    .section_text_col .text_col {
        flex: 0 0 calc(50% - 20px);
        margin-top: 30px;
    }

    .section_text_col .text_col .t_wrapper {
        margin-top: 20px;
    }

    .section_text_col .text_col .t_wrapper .t2 {
        margin-top: 20px;
    }


    /* detail common */

    .section_with_border::before {
        left: 20px;
        right: 20px;
    }

    /* section_banner */

    .section_banner .banner_bottom {
        left: auto;
        right: auto;
        position: relative;
        flex-direction: column;
        justify-content: start;
        align-items: start;
        margin-left: 20px;
        margin-right: 20px;
        padding-bottom: 15px;
        gap: 10px;
    }

    .section_banner .left_arrow_btn_wrapper {
        justify-content: start;
        margin-top: auto;
    }

    .section_banner .nav_wrapper{
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: start;
        gap: 0px 20px;
        flex-direction: column;
    }

    .section_banner .left_arrow_btn_wrapper + .nav{
        margin-top: 10px;
    }

    /* about */

    .section_about_text_image {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    /* general_text */

    .section_general_text {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    /* section_terms */

    .section_terms {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .section_terms .terms_item {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .section_terms .terms_item:first-child {
    }

    .section_composition {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .section_composition .composition_item {
        gap: 30px;
        padding: 20px;
    }

    

    /* section_map */

    .section_map {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .section_map .right_arrow_btn_wrapper {
        margin-top: 30px;
    }

    /* section_filter_events */

    .section_filter_events {
        padding: 30px 0px;
    }

    .section_filter_events .filter_result_item_wrapper{
        gap:60px 20px ;
    }

    .section_filter_events .filter_result_item{
        flex:0 0 calc(50% - 10px);
    }

    /* section_gallery_isotope */

    .section_gallery_isotope{
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .section_gallery_isotope .swiper_dot {
        margin-top: 30px;
    }

    .section_gallery_isotope .grid-item .bg_wrapper{
        height: 200px;
    }

    .section_gallery_isotope .grid-item.col6 .bg_wrapper{
        height: 200px;
    }

    /* section_gallery_list */

    .section_gallery_isotope + .section_gallery_list::before {
        left: 20px;
        right: 20px;
    }

    .section_gallery_list .img_wrapper .overlay_text {
        padding: 10px;
    }

    /* section_gallery_detail */

    .section_gallery_detail .description {
        margin-top: 30px;
    }

    /* section_list_item */

    .section_list_item {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .section_list_item .list_item_wrapper {
        gap: 30px 20px;
    }

    .section_list_item .list_item.col4 {
        flex: 0 0 calc(50% - 10px);
    }

    .section_list_item .list_item.col3{
        flex: 0 0 calc(50% - 10px);
    }

    /* section_event_detail */

    .section_event_detail {
        padding-top: 0px;
        padding-bottom: 0px;
    }

    .event_detail_content {
    }

    .event_detail_title {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    /* festival */

    .selected_event_title {
        padding: 20px;
    }

    /* section_left_menu_right_content */

    .section_left_menu_right_content{
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .left_menu_right_content .left_menu_wrapper {
        flex: 0 0 33.33%;
        width: 33.33%;
    }

    .section_left_menu_right_content .right_content_wrapper .title {
        padding-bottom: 20px;
    }

    .section_left_menu_right_content .right_content_wrapper .title + .free_text {
        margin-top: 20px;
    }

    .section_left_menu_right_content .right_content_wrapper .scroll_item + .scroll_item {
        margin-top: 30px;
    }

     
    .left_menu_wrapper li a .arrow, .left_menu_wrapper li .menu_label .arrow {
        top: 0em !important;
    }

    /* section_cadsh_events */


    .section_cadsh_events .list_item_wrapper {
        gap: 30px 20px;
    }

    .section_cadsh_events .list_item.col4 {
        flex: 0 0 calc(50% - 10px);
    }

    .section_cadsh_events .list_item.col3{
        flex: 0 0 calc(50% - 10px);
    }

    /* section_cadsh_event_detail */
    .section_cadsh_event_detail{
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .section_cadsh_event_detail .sns_wrapper {
        margin-top: 30px;
        margin-left: 20px;
        margin-right: 20px;
    }

    /* section_collapsible */

    .section_collapsible {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .collapsible_item .collapsible_btn .title{
        flex: 0 0 calc(100% - 30px);
    }

    .collapsible_item .collapsible_btn .icon {
        width: 20px;
        height: 20px;
    }

    /* section_quiz */

    .section_quiz {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .section_quiz .quiz_item_wrapper {
        margin-top: 30px;
    }

    .quiz_item .quiz_options input[type="radio"]{
        transform: translateY(20%);
    }

    .quiz_item + .quiz_item {
        margin-top: 30px;
    }

    .section_quiz .quiz_submit_wrapper {
        margin-top: 30px;
    }
    
    /* section_free_text */

    .section_free_text{
        padding-top: 20px;
        padding-bottom: 20px;
    }

    /* search */

    .section_search{
        padding-top: 20px;
        padding-bottom: 20px;
    }


    .search_result_item_wrapper{
        margin-top: 30px;
    }

    .search_result_item + .search_result_item{
        margin-top: 30px;
    }

    .section_inclusive_illustration{
        padding-top: 20px;
        padding-bottom: 20px;
    }



}


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

    .home_community_right_wrapper .circle_wrapper{
        height: 120px;
    }

    .home_community_right_wrapper .circle{
        width: 120px;
        height: 120px;
    }

    .home_top_hero {
        height: 300px;
    }

    .section_banner .banner {
        height: 300px;
    }

    .section_banner_no_image .banner {
        height: auto;
    }

    .section_banner .img_wrapper {
        -webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 5%, rgb(0,0,0,1) 50%);
        mask-image: linear-gradient(0deg, rgba(0,0,0,0) 5%, rgb(0, 0, 0) 50%);
    }

    /* section_left_menu_right_content */
    

    .left_menu_right_content{
        flex-direction: column-reverse;
    }

    .left_menu_right_content .left_menu_wrapper {
        flex: 1;
        width: auto;
    }

    /* section_gallery_isotope */


    .section_gallery_isotope .grid-item .bg_wrapper{
        height: 100px;
    }

    .section_gallery_isotope .grid-item.col6 .bg_wrapper{
        height: 100px;
    }

    .section_gallery_isotope .grid-item.col5{
        width: 50%;
    }

    .section_gallery_isotope .grid-item.col3{
        width: 50%;
    }

    .section_gallery_isotope .grid-item.col2{
        width: 50%;
    }



    .illustration_item1{
        height:48vw;
    }

    .illustration_item2{
        height:48vw;
        margin-top: 40px;
        left: 5% !important;
    }

    .illustration_item3{
        height:43vw;
        margin-top: 30px;
        left: -5% !important;
    }

    .illustration_item4{
        height:43vw;
        margin-top: 120px;
        left: 5% !important;
    }

    .illustration_item5{
        height:33vw;
        margin-top: 45px;
        left: -15% !important;
    }

    .illustration_item{
        height: auto !important;
        left: 0% !important;
        margin-top: 0px !important;
    }

    .illustration_item .t_wrapper{
        position: relative !important;
        left: auto!important;
        top:auto!important;
        right:auto!important;
        bottom:auto!important;
        margin: auto!important;
        margin-top: 10px !important;
        width:auto !important;
        text-align: left !important;
    }


    .illustration_item .img_wrapper img {
        height: auto;
        width: 100%;
        position: relative;
    }

    .illustration_item + .illustration_item{
        margin-top: 60px !important;
    }

    .illustration_item:hover {
        transform: scale(1);
    }

/* 
    .illustration_item5 .t_wrapper{
        height: 27% !important;
        right: -50% !important;
    }



    .resource_illustration_item1{
        height:48vw;
    }

    .resource_illustration_item2{
        margin-top: 30px;
        height:35vw;
        left: -10% !important;
    }

    .resource_illustration_item2 .t_wrapper{
        height:27% !important;
        right: -26% !important;
    }

    .resource_illustration_item3{
        margin-top: 30px;
        height:28vw;
        left: 15% !important;
    }

    .resource_illustration_item3 .t_wrapper{
        height:31% !important;
          left: -51% !important;
    } */

    .list_item_wrapper{
        gap: 30px 20px;
    }

    .list_item_wrapper .list_item.col6{
        flex:0 0 calc(50% - 10px);
    }

    .list_item_wrapper .list_item.col4{
        flex:0 0 calc(50% - 10px);
    }

    .list_item_wrapper .list_item.col3{
        flex:0 0 calc(50% - 10px);
    }

}


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