/*------ common initialization ------*/
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}
/*html, body {
    overflow-x: hidden;
}*/
body {
    font-family: Roboto-Regular;
}
html[lang="tc"] body, html[lang="sc"] body{
	font-family: 'Microsoft JhengHei';
}
.common-wrapper {
	width: 90%;
	margin: auto;
	max-width: 1360px;
}
.clear::after {
	content: '';
	clear: both;
	display: table;
}
.pull-left {
	float: left;
}
.pull-right {
	float: right;
}
.to_top {
    display: none;
	position: fixed;
	bottom: 100px;
    z-index: 5;
    right: 0;
    cursor: pointer;
}
.to_top img {
    width: 60px;
}
.hidden, main.hide-share .top-right-share-list, .slick-slide, .menu_list_block .has_sub_lv .menu_lv2, .menu_list_block .has_sub_lv .menu_lv3,
.menu_list_block .has_sub_lv .menu_lv4, .footer-nav .list_gp label, .header-top .menuBtn.hoverMenu a:hover img.original,
.header-top .menuBtn.hoverMenu a img.hover, .icon_social a:hover img.original, .icon_social a img.hover, .contactus_address .contactus_gmap:not(.active) {
    display: none;
}
.bold {
    font-weight: bold;
}
.italic {
    font-style: italic;
}
.fa-external-link-alt {
    padding-left: 8px;
    color: #cc0000;
	font-size:0.9em;
}
/*------ fonts ------*/
@font-face {
    font-family: Roboto-Regular;
    src: url(../fonts/Roboto-Regular.ttf);
}
@font-face {
    font-family: Roboto-Medium;
    src: url(../fonts/Roboto-Medium.ttf);
}
@font-face {
    font-family: Roboto-Bold;
    src: url(../fonts/Roboto-Bold.ttf);
}
@font-face {
    font-family: Montserrat-Regular;
    src: url(../fonts/Montserrat-Regular.ttf);
}
@font-face {
    font-family: Montserrat-Bold;
    src: url(../fonts/Montserrat-Bold.ttf);
}
@font-face {
    font-family: Montserrat-SemiBold;
    src: url(../fonts/Montserrat-SemiBold.ttf);
}
@font-face {
    font-family: icomoon;
    src: url(../fonts/IcoMoon-Free.ttf);
}
.sm_title {
	font-size: 0.8em;
}
.nor_title {
	font-size: 0.9em;
}
.md_title {
	font-size: 1em;
}
.semi_lg_title {
    font-size: 1.2em;
}
.lg_title {
	font-size: 1.3em;
}
.super_title {
    font-size: 1.85em;
    letter-spacing: 2px;
    font-weight: bold;
}
html[lang="tc"] .news_date .super_title, html[lang="sc"] .news_date .super_title {
	font-size: 1.75em;
}
html[lang="en"] .news_date .super_title {
	font-size: 1.55em;
}
.super_lg_title {
    font-size: 2.05em;
    letter-spacing: 2px;
    font-weight: bold;
}
/* fancybox popup on home page */
.popup_box {
    padding: 25px 30px;
    background-color: #d73c42;
}
.popup_box p, .popup_box p a {
    line-height: 1.3;
    color: #fff;
}
.popup_box p a.deep_red {
    color: #480000;
}
.popup_box p.padding {
    padding: 25px 0;
}
.popup_box p.lg_title {
    font-family: Montserrat-Regular;
}
.fancybox-close.home_popup_close {
    width: 16px;
    height: 16px;
    top: -26px;
}
/*------ header ------*/
.top_outside {
	width: 100%;
    /*min-height: 130px;*/
}
#top_menu_group {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
	z-index: 10;
}
#main_menu {
	background: #fff;
}
.nav.desktop {
	float: left;
    width: 100%;
	padding: 13px 0;
}
header .common-wrapper {
	margin-bottom: 0;
}
.header-top {
	font-family: Roboto-Medium,'Microsoft JhengHei';
	background: rgb(0, 28, 113);
	padding: 6px;
}
.header-top .main-function {
    display: inline-block;
    position: relative;
    cursor: pointer;
    vertical-align: middle;
}
.header-top .menuBtn, .mobile-nav .menuBtn {
	color: #fff;
    display: inline-block;
    vertical-align: middle;
    margin: 0 10px;
    transition: all 0.3s ease-in-out 0s;
}
.mobile-nav .menuBtn img {
    width: 30px;
}
.header-top .menuBtn.size {
    vertical-align: sub;
    margin: 0;
}
.header-top .font_size_grp {
    display: inline-block;
    padding: 0 10px;
}
.header-top .menuBtn a, .mobile-nav .menuBtn a {
	color: #fff;
	text-decoration: none;
}
.header-top .menuBtn.subscribe {
    cursor: pointer;
}
.header-top .menuBtn.subscribe .input_line {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
.header-top .menuBtn.subscribe .input_line input {
    transition: all 0.3s;
    cursor: pointer;
    position: relative;
    border: none;
    background: none;
    color: #cc3300;
    width: 60px;
	font-family: Roboto-Regular,'Microsoft JhengHei';
}
.header-top .menuBtn.subscribe .input_line input.show {
    width: 175px;
    margin-right: 25px;
}
.header-top .menuBtn.subscribe .input_line input::placeholder {
    color: #cc3300;
}
.header-top .menuBtn.subscribe.subscribe_hover {
	background: #faede7;
    padding: 5px 12px;
    border-radius: 20px;
}
.header-top .menuBtn.subscribe.subscribe_hover img, .header-top .menuBtn.subscribe.subscribe_hover p {
	color: #cc3300;
	font-size: 1em;
	display: inline-block;
    vertical-align: middle;
}
.header-top .menuBtn.subscribe.subscribe_hover img {
    margin-right: 3px;
}
.logo {
    width: 25%;
	position: relative;
	z-index: 1;
    top: 7px;
    transition: all 0.3s;
}
.nav.desktop .logo img {
    width: 100%;
}
.nav.desktop .logo a, .mobile-nav .logo a {
    cursor: pointer;
}
.nav.desktop .menu_lv1 {
	margin: 13px 0 0;
	padding: 0;
	z-index: 120;
	font-family: Roboto-Medium,'Microsoft JhengHei';
}
.nav.desktop .menu_lv1 span {
	font-weight: 700;
}
.nav.desktop .menu_lv1 > li {
	position: relative;
	float: left;
	padding: 10px;
}
.nav.desktop .menu_lv1 > li > a {
    position: relative;
	cursor: pointer;
	font-size: 1em;
	display: table;
	width: 100%;
	height: 100%;
	text-align: center;
	color: #000;
	text-decoration: none;
}
.nav.desktop .menu_lv1 > li > a::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 4px;
    background: #d94f5c;
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
    -webkit-transition: -webkit-transform 0.1s;
    transition: transform 0.1s;
}
.nav.desktop .menu_lv1 > li:hover > a::before, .nav.desktop .menu_lv1 > li > a.active::before {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}
.nav.desktop .menu_lv2 li:hover {
	background: #ca3a3b;
}
.nav.desktop  .menu_lv1 > li .menu_lv2, .nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3,
.nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3 .menu_lv4 {
    right: 0;
    width: 300px;
    position: absolute;
    top: 40px;
    background: rgba(15, 31, 76, 0.9);
    opacity: 0;
    visibility: hidden;
    -moz-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}
html[lang="tc"] .nav.desktop  .menu_lv1 > li .menu_lv2, html[lang="tc"] .nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3,
html[lang="tc"] .nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3 .menu_lv4, 
html[lang="sc"] .nav.desktop  .menu_lv1 > li .menu_lv2, html[lang="sc"] .nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3,
html[lang="sc"] .nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3 .menu_lv4 {
    width: 190px;
}
.nav.desktop .menu_lv1 > li .menu_lv2 .menu_lv3, .nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3 .menu_lv4 {
    left: 300px;
    top: 0;
}
html[lang="tc"] .nav.desktop .menu_lv1 > li .menu_lv2 .menu_lv3, html[lang="tc"] .nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3 .menu_lv4,
html[lang="sc"] .nav.desktop .menu_lv1 > li .menu_lv2 .menu_lv3, html[lang="sc"] .nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3 .menu_lv4 {
    left: 190px;
}
.nav.desktop .active > .menu_lv2, .nav.desktop .menu_lv1 > li.has_sub_lv:hover .menu_lv2,
.nav.desktop  .menu_lv1 > li .menu_lv2 > li.has_sub_lv:hover .menu_lv3, .nav.desktop  .menu_lv1 > li .menu_lv2 .menu_lv3 > li.has_sub_lv:hover .menu_lv4  {
    opacity: 1;
    visibility: visible;
    z-index: 10;
}
.nav.desktop .menu_lv2 a {
    cursor: pointer;
	/*display: block;*/
	color: #FFF;
    text-decoration: none;
}
.nav.desktop .menu_lv2 a span {
	font-size: 1em;
	font-weight: 400;
}
.nav.desktop .menu_lv2 li {
    padding: 10px 17px 10px 17px;
	background: #cc0000;
	position: relative;
    list-style: none outside none;
}
/*.nav.desktop .menu_lv2 > li:first-child {
    padding: 15px 17px 10px 17px;
}*/
li.has_sub_lv > a , .menu_lv2 .has_sub_lv > a {
    position: relative;
}
.menu_drop {
    position: absolute;
    right: 20px;
    width: 9px;
    height: 12px;
    top: 11px;
    /*transform: rotate(90deg);
    transition: all 0.3s;*/
}
/*#main_menu .menu_list_block .menu_list li.has_sub_lv.active > a > .menu_drop {
    transform: rotate(270deg);
}*/
.nav.desktop .menu_drop {
    right: 4px;
    top: 3px;
    width: 6px;
    height: 8px;
}
.menu_lv3 a span {
	font-size: 1em;
}
/*------ mobile header ------*/
.mobile-nav {
    width: 100%;
    padding: 5px 0;
    height: 60px;
}
.mobile-nav .logo img {
    width: 100%;
    vertical-align: middle;
}
.mobile-nav .icons {
    margin-top: 10px;
    text-align: right;
}
.navTrigger {
    cursor: pointer;
    width: 30px; 
    height: 25px;
}
.navTrigger i {
    background-color: #cc3300;
    /*border-radius: 2px;*/
    content: '';
    display: block;
    width: 100%;
    height: 3px;
}
.navTrigger i:nth-child(1) {
    -webkit-animation:outT 0.8s backwards;
    animation:outT 0.8s backwards;
    -webkit-animation-direction:reverse;
    animation-direction:reverse;
}
.navTrigger i:nth-child(2) {
    margin: 5px 0;
    -webkit-animation:outM 0.8s backwards;
    animation:outM 0.8s backwards;
    -webkit-animation-direction:reverse;
    animation-direction:reverse;
}
.navTrigger i:nth-child(3) {
    -webkit-animation:outBtm 0.8s backwards;
    animation:outBtm 0.8s backwards;
    -webkit-animation-direction:reverse;
    animation-direction:reverse;
}
.navTrigger.active i:nth-child(1) {
    -webkit-animation:inT 0.8s forwards;
    animation:inT 0.8s forwards;
}
.navTrigger.active i:nth-child(2) {
    -webkit-animation:inM 0.8s forwards;
    animation:inM 0.8s forwards;
}
.navTrigger.active i:nth-child(3) {
    /*-webkit-animation:inBtm 0.8s forwards;
    animation:inBtm 0.8s forwards;*/
    display: none;
}
@-webkit-keyframes inM{
50%{-webkit-transform:rotate(0deg);}
100%{-webkit-transform:rotate(45deg);}
}
@keyframes inM{
50%{transform:rotate(0deg);}
100%{transform:rotate(45deg);}
}

@-webkit-keyframes outM{
50%{-webkit-transform:rotate(0deg);}
100%{-webkit-transform:rotate(45deg);}
}
@keyframes outM{
50%{transform:rotate(0deg);}
100%{transform:rotate(45deg);}
}

@-webkit-keyframes inT{
0%{-webkit-transform: translateY(0px) rotate(0deg);}
50%{-webkit-transform: translateY(9px) rotate(0deg);}
100%{-webkit-transform: translateY(8px) rotate(134.5deg);}
}
@keyframes inT{
0%{transform: translateY(0px) rotate(0deg);}
50%{transform: translateY(9px) rotate(0deg);}
100%{transform: translateY(8px) rotate(134.5deg);}
}

@-webkit-keyframes outT{
0%{-webkit-transform: translateY(0px) rotate(0deg);}
50%{-webkit-transform: translateY(9px) rotate(0deg);}
100%{-webkit-transform: translateY(9px) rotate(135deg);}
}
@keyframes outT{
0%{transform: translateY(0px) rotate(0deg);}
50%{transform: translateY(9px) rotate(0deg);}
100%{transform: translateY(9px) rotate(135deg);}
}

@-webkit-keyframes inBtm{
0%{-webkit-transform: translateY(0px) rotate(0deg);}
50%{-webkit-transform: translateY(-9px) rotate(0deg);}
100%{-webkit-transform: translateY(-9px) rotate(134.5deg);}
}
@keyframes inBtm{
0%{transform: translateY(0px) rotate(0deg);}
50%{transform: translateY(-9px) rotate(0deg);}
100%{transform: translateY(-9px) rotate(134.5deg);}
}

@-webkit-keyframes outBtm{
0%{-webkit-transform: translateY(0px) rotate(0deg);}
50%{-webkit-transform: translateY(-9px) rotate(0deg);}
100%{-webkit-transform: translateY(-9px) rotate(135deg);}
}
@keyframes outBtm{
0%{transform: translateY(0px) rotate(0deg);}
50%{transform: translateY(-9px) rotate(0deg);}
100%{transform: translateY(-9px) rotate(135deg);}
}

#main_menu .menu_list_block{
    display: none;
	position: fixed;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: #cc3300;
    left: 0;
    overflow: auto;
    color: #fff;
}
#main_menu .menu_list_block .menu_list{
    padding: 20px 0 10px 0;
    font-family: Montserrat-Regular,'Microsoft JhengHei';
}
#main_menu .menu_list_block .menu_list li{
	display:block;
    /*border-bottom: 1px solid #BBB;*/
    position: relative;
    text-align: left;
    line-height: 1;
    padding: 8px 0px;
    margin: 0;
    cursor: pointer;
}
.menu_list_block .menu_list li a, .menu_list_block.hidden .mobile_subscribe_block a {
    color:#fff;
    text-decoration: none;
    line-height: 1.2
}
.menu_list_block .has_sub_lv .menu_lv2 {
    margin-top: 10px;
    padding: 15px 30px;
    background: #d45429;
}
.menu_list_block .has_sub_lv .menu_lv2 .menu_lv3, .menu_list_block .has_sub_lv .menu_lv2 .menu_lv3 .menu_lv4 {
    margin-top: 10px;
    padding: 0 30px;
    background: #d45429;
}
.menu_list_block .menu_list li a {
    position: relative;
    left: 30px;
    font-weight: bold;
	z-index:2;
	display:block;
}
.menu_list_block .menu_footer_block {
    padding: 20px 30px 0px 30px;
}
.menu_list_block .menu_footer_block .mobile_font_block {
    float: left;
    margin-top: 10px;
}
.menu_list_block .menu_footer_block .mobile_font_block p, .menu_footer_block .mobile_font_block .font-adjust {
    color: #fff;
    display: inline-block;
}
.menu_list_block .mobile_font_block .font-adjust .font-size {
    cursor: pointer;
    padding: 0 4px;
}
.menu_list_block .mobile_subscribe_block {
    display: inline-block;
    padding: 10px 30px 0px 30px;
    position: relative;
}
.mobile_subscribe_block .input_line {
    position: relative;
    width: 100%;
}
.menu_list_block .mobile_subscribe_block .input_line .next, .header-top .menuBtn.subscribe .input_line .next {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    padding: 0;
    width: 20px;
    height: 20px;
    border: none;
    background: none;
    color: rgba(0,0,0,0.4);
    text-align: center;
    opacity: 0;
    z-index: 100;
    cursor: pointer;
    -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
    transition: transform 0.3s, opacity 0.3s;
    -webkit-transform: translateX(-20%);
    transform: translateX(-20%);
    pointer-events: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.menu_list_block .mobile_subscribe_block .input_line .next::after, .header-top .menuBtn.subscribe .input_line .next::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "\ea3c";
    text-transform: none;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    font-family: 'icomoon';
    line-height: 2;
    /*speak: none;*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.menu_list_block .mobile_subscribe_block .input_line .next.show, .header-top .menuBtn.subscribe .input_line .next.show {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    pointer-events: auto;
}
.menu_list_block .mobile_subscribe_block input {
    border: none;
    background: none;
    color: #fff;
    width: 180px; /*from 85%*/
    margin-right: 30px;
}
.menu_list_block .mobile_subscribe_block .input_line .input_mobile_sub {
    display: inline-block;
    position: relative;
}
.menu_list_block .mobile_subscribe_block .input_line .input_mobile_sub::after {
    content: '';
    position: absolute;
    left: 0;
    width: 210px;
    bottom: -5px;
    border-bottom: 1px solid #fff;
    height: 2px;
}
.menu_list_block .mobile_subscribe_block input::placeholder {
    color: #fff;
}
.menu_list_block .mobile_subscribe_block img {
    width: 35px;
    padding-right: 10px;
}
.menu_list_block .mobile_subscribe_block img, .mobile_subscribe_block .input_line {
    position: relative;
    vertical-align: middle;
}
/*------ right calendar ------*/
.right {
	width: 24%;
}
.right .calendar_block {
	background: #f2f1f1;
    width:100%;
}
.right .upcome {
	color: #000000;
	position: relative;
    margin: auto;
}
.right .upcome {
	width: 100%; /*from 50%*/
}
.right .upcome::after {
	content: '';
    border-bottom: 1px solid #000;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    margin: 0 auto;
    z-index: 1;
}
.right .calendar_block .upcome::after {
    width: 130px;
}
.right .news_block .upcome::after {
    width: 110px;
}
.right .content_block {
	padding: 20px;
}
.right .content_block a {
	display: block;
	text-decoration: none;
}
.right .welcome_block {
	text-align: center;
	margin-bottom: 17px;
}
.right .welcome_block p {
	color: #cc0000;
	padding: 4px 10px;
	display: inline-block;
    position: relative;
	z-index: 2;
}
.right .calendar_block .welcome_block p {
	background: #f2f1f1;
}
.right .news_block .welcome_block p {
	background: #fff;
}
.right .button_block {
    font-family: Montserrat-Regular,'Microsoft JhengHei';
    letter-spacing: 0.5px;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	color: #cc0000;
	padding: 7px;
	border: 1px solid #cc0000;
	margin: 15px 0;
}
/* right slick slider styles */
.right .event_block_slider {
	width: 100%;
}
.right-slider-box {
    position: relative;
    padding-right: 1px;
}
.right-slider-box-img {
    background-color: #f2f1f1;
    height: 100%;
    border: none;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.right .event_block_slider .slick-dots {
    bottom: -40px;
}
.right .event_block_slider .slick-dots li button:before {
    content: "";
    opacity: 1;
    height: 10px;
    width: 10px;
    background-color: #fff;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.37);
}
.right .event_block_slider .slick-dots li.slick-active button:before {
    background: #cc0000;
}
/* right slick slider styles end */
.right .event_date {
	margin: 15px 0;
    color: #666666;
    font-size: 12px;
}
.right .event_desc {
	color: #000000;
	font-weight: bold;
    line-height: 1.3;
    font-size: 16px;
}
/* right news */
.news_block {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
	margin-top: 20px;
}
.news_block .news_content_block {
	color: #cc0000;
	border-top: 1px dashed #cc0000;
	padding: 17px 12px;
    line-height: 1.3;
    font-weight: bold;
}
.news_block .news_content_block a {
    display: inline-block;
    padding-left: 20px;
    width: calc(76% - 20px);
    vertical-align: middle;
}
.news_block .news_content_block .news_date {
    position: relative;
	display: inline-block;
	vertical-align: middle;
    /*width: 25%;
    padding-right: 10px;
    border-right: 1px solid #dcdcdc;*/
    font-weight: bold;
}
.news_date::after {
    content: '';
    background-color: #dcdcdc;
    height: 100%;
    width: 2px;
    position: absolute;
    right: -10px;
    top: 0;
}
.news_block .news_content_block .news_date .top, .news_block .news_content_block .news_date .bottom {
    text-align: center;
}
.news_block .news_content_block .news_desc {
	color: #000000;
	/*display: inline-block;
	vertical-align: middle;
    width: calc(70% - 10px);
	margin-left: 4%;*/
}
/*------ 40th-anniversary/roving-exhibition ------*/
.content .roving-table.eventlist-table table tr td:nth-child(1), .content .roving-table.eventlist-table table tr th:nth-child(2) {
    color: #000;
}
.content .roving-table.eventlist-table table tr:nth-child(odd) td {
    background: none;
}
.content .eventlist-table:not(.upcoming-event, .celebration-video , .music_interflows) table tr:nth-child(even) td {
    background-color: #fff0f0;
}
.nav_back {
    color: #cc0000;
}
.nav_back > div {
    float: left;
}
.nav_back_desc {
    width: calc(100% - 20px);
}
.nav_back_triangle {
    margin-right: 10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6.5px 10px 6.5px 0;
    border-color: transparent #cc0000 transparent transparent;
}
.dropdown_tab {
    position: relative;
}
#navbar .dropdown_tab a.active {
    border-bottom: 3.5px solid white;
}
/*------ news ------*/
.content .eventlist-table.news-table table tr td:first-child, .content .eventlist-table.news-table table tr td a, .upcoming .content .eventlist-table table tr td a {
    color: #cc0000;
    cursor: pointer;
}
.content .eventlist-table.news-table table tr td a, .upcoming .content .eventlist-table table tr td a {
    width: 100%;
}
.news-form  {
    padding-top: 15px;
}
/*------ 40th-anniversary/music-performance ------*/
i.red_icon {
    color:#cc0000;
}
.pad_right {
    padding-right: 7px;
}
.pad_left {
    padding-left: 7px;
}
/*------ 40th-anniversary/precious-moments ------*/
.fullscreen-page .content-slider {
    padding-bottom: 10px;
}
.content-slider-box-desc p, .with-desc.fullscreen-page .image-num p {
    color: #000;
}
.with-desc.fullscreen-page .image-num ,.slider-area .image-num{
    bottom: -45px;
}
.with-desc.fullscreen-page .content-slider .next-btn, .with-desc.fullscreen-page .content-slider .prev-btn ,.content-slider.fullscreen-precious-slider .prev-btn,.content-slider.fullscreen-precious-slider .next-btn{
    bottom: -35px;
    z-index: 2;
}
/*------ music-office-expert-advisers ------*/
.expert_black_desc p {
    line-height: 1.5;
    color: #000;
}
.expert_black_desc p.title {
    font-weight: bold;
    font-size: 1.2em;
}
/*.expert_black_desc p.desc {
    font-size: 14px;
}*/
.expert_black_desc p.footer {
    line-height: 2;
    font-size: 0.8em;
}
.expert_black_desc.hkymc_text p {
    font-size:17px;
    padding-bottom:10px;
}
/*------ 2019hkymc ------*/
table.black_table {
    width: 100%;
}
table.black_table td {
    font-weight: normal;
    /*font-size: 14px;*/
    padding: 5px 0;
}
table.black_table tr td:first-child {
    padding-right: 20px;
}
.content .eventlist-table.narrow_pad {
    margin-top: 25px;
}
.content .eventlist-table.narrow_pad tr td:first-child {
    width: 60%;
}
.content .eventlist-table.narrow_pad table tr td {
    padding: 11px 5px;
}
.content .eventlist-table.youth-camp-table table tr td:nth-child(2), .content .roving-table.eventlist-table:not(.youth-camp-table) table tr td {
    font-family: Roboto-Regular;
}
/*------ Photo gallery inside content ------*/
.gallery-content {
    margin-top: 20px;
}
.gallery-content .gallery-item {
    cursor: pointer;
    float: left;
    margin: 5px;
    position: relative;
	width: calc(25% - 10px);/* desired width */
}
/*.gallery-content .gallery-item:before{
	content: "";
	display: block;
	padding-top: 67%;
}*/
.gallery-item-img {
    position: relative;
    overflow: hidden;
    background-color:#eee;
    -moz-transition: all 1s ease-in-out 0s;
    -o-transition: all 1s ease-in-out 0s;
    transition: all 1s ease-in-out 0s;
	padding-top:16%;
}
.gallery-item-img .inside-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.gallery-content .gallery-item:nth-child(4n+1) {
    margin: 5px 5px 5px 0; 
}
#gallery .modal-content {
    border-radius: 0;
    background-color: #FFF;
}
#gallery .modal-dialog {
    height: 70vh;
    top: 15vh;
    width: 700px;
}
/*#gallery .modal-body {
    padding: 15px 10px 8px 10px;
}*/
#gallery .modal-close {
    position: absolute;
    top: -25px;
    right: 0;
    cursor: pointer;
}
#gallery .slider-slide {
    border: 1px solid #DDD;
    text-align: center;
    background-color: #000;
}
#gallery .slider-slide img {
    display: inline-block;
    height: 100%;
}
#gallery .slider-for {
    height: 70%;
}
#gallery .slider-for .slide-wrapper {
    background-color: #000;
    height: calc(70vh * 0.7);
}
#gallery .slider-for .slide-wrapper a.enlarge_img, .content-slider a.enlarge_img {
    /*display: initial;*/ /*Lego 120419*/
	display: inline;
}
#gallery .slider-for .slider-slide {
    height: 100%;
    border: none;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
#gallery .slider-nav {
    height: 15%;
    margin-top: 10px
}
#gallery .slider-nav .slick-slide {
    margin: 0 5px;
    height: calc(70vh * 0.15);
}
/*------ Barrier free facilities ------*/
/*.program-detail .program-detail-desc ul li, ul.point_form li {*/
.content a {
    color: #cc0000;
    text-decoration: none;
}
.content ul:not(.black_ul) li{
    line-height: 1.2;
    margin: 7px 0;
}
/*.program-detail .program-detail-desc ul li::before, ul.point_form li::before {*/
.content ul:not(.black_ul) li::before{
    content: '';
    background: #d94f5c;
    width: 10px;
    height: 4px;
    margin: 5px 9px;
    display: inline-block;
    vertical-align: middle;
}
.content-slider .content-slider-box, .full-size-box, .content-slider-box {
    position: relative;
}
/*.content-slider .content-slider-box:not(.workshop_series_new)::before, .full-size-box::before {
    content: "";
	display: block;
	padding-top: 67%;
}*/
.full-size-box::before {
    content: "";
	display: block;
	padding-top: 67%;
}
.content-slider-box.summer_workshop::before {
    content: "";
	display: block;
	padding-top: 50%;
}
.content-slider-box.workshop_series::before {
    content: "";
    display: block;
    padding-top: 100%;
}
.content-slider.fullscreen-slider .content-slider-box::before {
    content: "";
	display: block;
	padding-top: 40.4%;
}
/*.content-slider.fullscreen-precious-slider .content-slider-box::before {
    content: "";
	display: block;
	padding-top: 62.3%;
}*/
/*.content-slider .content-slider-box .content-slider-box-img, .full-size-box-img, .content-slider-box-img {
    background-color: #fff;
    height: 100%;
    border: none;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}*/
.content-slider:not(.fullscreen-slider) .content-slider-box .content-slider-box-img {
    overflow: hidden;
    background-color: #eee;
    -moz-transition: all 1s ease-in-out 0s;
    -o-transition: all 1s ease-in-out 0s;
    transition: all 1s ease-in-out 0s;
    padding-top: 67%;
}
.content-slider.fullscreen-precious-slider:not(.fullscreen-slider) .content-slider-box .content-slider-box-img {
    padding-top: 62%;
}
.program-detail.community .content-slider .content-slider-box .content-slider-box-img {
    padding-top: 64%;
}
.full-size-box-img, .content-slider.fullscreen-slider .content-slider-box-img, .program-detail-tab .tab-info .speaker-info .content-slider-box .content-slider-box-img,
.content-slider-box.workshop_series_new .content-slider-box-img {
    background-color: #fff;
    height: 100%;
    border: none;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}
.content-slider-box-img .slider-inside-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.barrier-free-content {
    margin-top: 20px;
}
.barrier-free-content p {
    color: #000;
    font-size: 16px;
    line-height: 1.2;
}
.barrier-free-content > p:nth-child(2) {
    margin: 15px 0;
}
.barrier-free-big-title, .barrier-free-grid .barrier-free-title, .barrier-free-grid-new .barrier-free-title {
    color: #cc0000;
}
.barrier-free-big-title {
    font-family: Montserrat-Regular;
    letter-spacing: 0.5px;
    font-weight: bold;
}
.barrier-free-grid .barrier-free-title, .barrier-free-grid-new .barrier-free-title {
    font-family: Montserrat-SemiBold;
	font-weight: bold;
    letter-spacing: 0.5px;
    font-size: 16px;
}
.barrier-free-grid, .barrier-free-grid-new {
    /*float: left;*/
	display:inline-block;
	vertical-align:top;
    padding: 20px;
    margin: 16px 6px 0 6px;
    width: calc(33.3% - 16px);
    box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.10);
    min-height: 312px;
}
.barrier-free-grid-new {
    min-height: 350px;
}
.barrier-free-grid-new.more-min-height {
    min-height: 400px;
}
/* .barrier-free-grid:nth-child(3), .barrier-free-grid:nth-child(6), .barrier-free-grid-new:nth-child(3n+1) {
    margin: 0 6px 0 0;
}
.barrier-free-grid:nth-child(n+6), .barrier-free-grid-new:nth-child(n+4) {
    margin-top: 20px;
} */
/* .barrier-free-grid .barrier-free-desc:not(:last-child), .barrier-free-grid-new .barrier-free-desc:not(:last-child) {
    margin: 20px 0;
} */
.barrier-free-grid .barrier-free-desc p:first-child, .barrier-free-grid-new .barrier-free-desc p:first-child {
    font-weight: bold;
}
.red_link, .red_link_library, .barrier-free-grid .barrier-free-desc p a, .barrier-free-grid-new .barrier-free-desc a, .barrier-free-grid-new .barrier-free-desc p a, .contactus_footer a, .program-detail .program-detail-desc a, a.nav_back {
    color: #cc0000;
    text-decoration: none;
}
/*------ Contact Us ------*/
.contactus_title_big {
    font-family: Montserrat-Regular;
    letter-spacing: 0.5px;
    color: #cc0000;
    font-weight: bold;
    padding: 10px 0;
}
.contactus_address .contactus_title_big {
    margin-bottom: 15px;
}
.contactus_address {
    margin-bottom: 30px;
}
.contactus_address .contactus_tab_all {
    float: left;
    width: 30%;
    border-right: 1px solid #ccc;
}
.contactus_address .contactus_gmap_all {
    float: left;
    width: calc(70% - 10px);
    margin-left: 10px;
}
.contactus_address .contactus_tab {
    cursor: pointer;
    padding: 12px;
    box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.10);
    transition: all 0.3s;
    margin: 5px 0;
    position: relative;
}
.contactus_address .contactus_tab:last-child {
    margin: 5px 0 0 0;
}
.contactus_address .contactus_tab:first-child {
    margin: 0 0 5px 0;
}
.contactus_address .contactus_tab.active {
    border-left: 4px solid #cc0000;
    border-right: 1px solid #fff;
    position: relative;
    right: -1px;
}
.contactus_address .contactus_tab p {
    font-size: 16px;
    line-height: 1.4;
    color: #666666;
}
.contactus_address .contactus_tab p.contactus_tab_title {
    color: #cc0000;
    font-family: Montserrat-SemiBold;
    letter-spacing: 0.5px;
    font-size: 16px;
}
.contactus_address .contactus_tab p.contactus_num:nth-child(4) {
    padding-right: 30px;
}
.contactus_address .contactus_tab p.contactus_num {
    display: inline-block;
}
.contactus_address .contactus_tab img.dropdown_arrow, .dropdown_tab .dropdown_arrow {
    display: none;
    position: absolute;
    right: 12px;
    width: 12px;
    bottom: 45px;
}
.dropdown_tab .dropdown_arrow {
    bottom: 20px;
}
.title_red_border {
    border-bottom: 2px solid #cc0000;
}
.title_red_border_top {
    border-top: 2px solid #cc0000;
}
.contactus_opening table {
    font-family: Montserrat-Regular;
    width: 100%;
}
.contactus_opening table tr:not(:first-child) {
    border-top: 1px solid #dcdcdc;
}
.contactus_opening table tr {
    border-bottom: 1px solid #dcdcdc;
}
.contactus_opening table tr.pink-cell {
    background: #fbebeb;
}
.contactus_opening table tr.no-border {
    border-bottom: none;
}
.contactus_opening table tr.gray-cell {
    background: #ebebeb;
    border-top: none;
}
.contactus_opening table tr:nth-child(1) td:first-child, .contactus_opening table tr:nth-child(3) td:first-child {
    width: 40%;
}
.contactus_opening table tr td {
    padding: 12px;
    vertical-align: middle;
}
.contactus_opening table tr.gray-font td {
    padding: 0 12px;
}
.contactus_opening table tr.gray-font.gray-pad td {
    padding-bottom: 12px; 
}
.contactus_opening table tr.gray-cell td p, .contactus_opening table tr.one-row td p, .contactus_opening table tr td.table_content p {
    font-family: Roboto-Regular;
    font-weight: normal;
}
.contactus_opening table tr td p, p.contactus_footer {
    line-height: 1.3;
    font-size: 16px;
    color: #000;
}
.contactus_opening table tr td:nth-child(1) p:not(:first-child), .contactus_opening table tr td:nth-child(2) p:not(:first-child), 
.contactus_opening table tr.gray-font td p {
    color: #6a6a6a;
}
.contactus_opening table tr:nth-child(3) td:nth-child(1) p:nth-child(2), .contactus_opening table tr:nth-child(6) td:nth-child(1) p:nth-child(2) {
    color: #000;
} 
.contactus_opening table tr.gray-font td p {
    padding: 7px 0;
    letter-spacing: 0.5px;
}
.contactus_footer {
    margin: 25px 0;
}
/*------ schoolprogrammes ------*/
.school_prog .program-list {
    display: table;
}
.school_prog .content-program-row {
    display: table-row;
}
.school_prog .content-program {
    margin: 15px;
    display: table-cell;
	width: calc(50% - 30px);
}
.school_prog .content-program .desc {
    height: auto;
}
/*------ schoolprogrammes/summer_workshop ------*/
.workshop_series .sponsor {
    float: left;
    margin-right: 10px;
    width: calc(40% - 20px);
}
.workshop_series .sponsor.pull-right {
    float: right;
}
/*------ schoolprogrammes/school_music_workshop_series ------*/
.content-slider-box-img-desktop {
    width:100%;
    height:auto; 
}
/*------ internationalexchange ------*/
.program-detail-desc > p.international_para {
    margin-bottom: 0;
    margin-top: 25px;
}
/*------ Music Office Library ------*/
.black_ul {
    padding-left: 17px;
    /*font-size: 14px;*/
}
.black_ul > li {
    list-style: decimal;
    line-height: 1.3;
    margin: 12px 0;
}
.red_link_library, .pdf_link a {
    /*font-size: 14px;*/
    padding: 5px 0;
}
.barrier-free-grid-new.libary-grid, .barrier-free-grid.libary-grid {
    width: calc(50% - 16px);
}
.pdf_link a img {
    margin-right: 7px;
}
/*------ footer ------*/
footer {
	/*min-height: 400px;*/
    background: #333333;
    margin-top: 40px;
}
footer .common-wrapper {
	margin-bottom: 0;
}
footer .footer-share {
	background: #dddddd;
	padding: 19px;
}
footer ul, footer p {
	margin: 0;
	padding: 0;
}
footer ul li {
	margin: 0 0 10px;
	padding: 0 25px 0 0;
	line-height: 1;
	list-style: none outside none;
}
.footer-nav {
	margin: 0;
	padding: 45px 10px 34px;
	overflow: hidden;
}
.footer-nav .list_gp {
	width: 25%;
}
.footer-nav .list_gp ul {
	margin: 0 0 8px;
}
.footer-nav > div {
	float: left;
}
.footer-nav > div ul li > a {
    cursor: pointer;
	color: #fff;
	font-size: 14px;
	line-height: 1.2;
	text-decoration: none;
}
.footer-nav > div ul li > a:visited {
	color: #9fe3f4;
}
.footer-nav .footer-note a:hover, .footer-nav > div ul li > a:hover, .copy_left p a:hover {
	color: #afafaf;
}
.footer-nav .footer-note {
	margin: 0 0 15px;
	clear: both;
}
.footer-nav .footer-note a {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
    font-family: Montserrat-Regular,'Microsoft JhengHei';
    letter-spacing: 0.5px;
	cursor: pointer;
}
.icon_social a {
	padding: 0 5px;
}
.header-top .menuBtn.hoverMenu a:hover img.hover, .icon_social a:hover img.hover {
	display: block;
}
.icon_map {
	float: right;
	display: table;
	cursor:pointer;
}
.icon_map p {
    font-family: Montserrat-Regular,'Microsoft JhengHei';
    letter-spacing: 0.5px;
	font-size: 1em;
	font-weight: bold;
	color: #000000;
	padding-left: 15px;
}
.icon_map img, .icon_map p {
	display: table-cell;
	vertical-align: middle;
}
.misc_info {
	clear: both;
	overflow: hidden;
	border-top: 1px solid #717171;
	padding: 20px 0;
}
.copy_left p {
	color: #cccccc;
	font-size: 12px;
	line-height: 1.2;
	padding: 2px 0;
}
.copy_left p a {
	color: #fff;
	text-decoration: none;
}
.noti_right {
	float: right;
	overflow: hidden;
}
/* Calendar Popup */
#event_popup{
	display:table;
	background-color:#FFF;
}
.fancybox-close{
	background:url(/en/mo/images/close.svg);
	background-size:100%;
	background-position:center;
    background-repeat:no-repeat;
    width: 26px;
    height: 26px;
	right:0;
	top:-36px;
	opacity:0.9;
	color:#FFF;
}
.fancybox-skin{
	margin-top:20px;
}
.calendar-left{
	display:table-cell;
	vertical-align:top;
	width:41%;
	padding:0 10px;
	background-color:#d73c42;
}
.calendar-right{
	display:table-cell;
	vertical-align:top;
	width:59%;
	background-color:#FFF;
}
.calendar-datepicker{
	margin-top:35px;
	margin-bottom:25px;
	color:#FFF;
}
.calendar-datepicker .datepicker-title{
	display:none !important;
}
.calendar-datepicker .datepicker-switch{
	font-family: Montserrat-Regular;
    letter-spacing: 0.5px;
    font-size: 1.56em;
	font-weight: bold;
}
.calendar-datepicker .prev,
.calendar-datepicker .next {
	background-position: center;
	background-repeat: no-repeat;
	background-size: 11px 15px;
}
.calendar-datepicker .prev{
	background-image: url(/en/mo/images/cal-previous.svg);
}
.calendar-datepicker .next{
	background-image: url(/en/mo/images/cal-next.svg);
}
.calendar-datepicker .dow{
	font-family: Montserrat-Regular;
    letter-spacing: 0.5px;
	font-size: 0.875em;
	font-weight: bold;
	padding-top: 30px;
}
.calendar-datepicker .day .date_str{
	position: relative;
	font-family: Roboto-Regular;
	font-size: 0.875em;
	text-align: center;
	font-weight: normal;
}
.calendar-datepicker .day.old .date_str,
.calendar-datepicker .day.new .date_str{
	opacity: 0.4;
}
.calendar-datepicker .day.has_event .date_str{
	color:#000;
	font-family: Roboto-Medium;
    font-weight: bold;
	cursor: pointer;
}
.calendar-datepicker .day.active .date_str:after,
.calendar-datepicker .day.today .date_str:after{
	position: absolute;
    left: 50%;
    bottom: -4px;
    content: '';
    width: 25px;
    height: 4px;
    transform: translateX(-50%);
}
.calendar-datepicker .day.today .date_str:after{
	background-color: #590d0d;
}
.calendar-datepicker .day.active .date_str:after{
	background-color: #FFF;
}
.calendar-datepicker .space_bg{
	height: 16px;
	width: 100%;
}
.calendar-event-list{
	padding: 0 10px;
	margin-bottom: 50px;
}
.calendar-event-list .event-item{
	padding: 10px 0;
    border-bottom: 1px dotted #FFF;
	cursor: pointer;
	line-height: 1.25em;
}
.calendar-event-list .event-item.no_event{
	display: none;
	color: #FFF;
	text-align: center;
	padding: 20px 0;
	cursor: initial;
}
.calendar-event-list .event-item:first-child{
	border-top: 1px dotted #FFF;
}
.calendar-event-list .event-item-img{
	position: relative;
	float: left;
	width: 30%;
	overflow: hidden;
}
.calendar-event-list .event-item-img::before, .calendar-event .calendar-event-img::before{
	display: block;
	content: '';
	padding-top: 100%;
}
.calendar-event-list .event-item-img > img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.calendar-event-list .event-item-title{
	float: right;
	width: 70%;
	padding-left: 10px;
	padding-top: 3px;
	color: #FFF;
}
.calendar-event{
	padding: 15px;
}
.calendar-event-img{
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.calendar-event .calendar-event-img > img {
    position: absolute;
    transform: translate(-50%, -50%);
    /* bottom: 100%; */
    top: 50%;
    left: 50%;
    width: 100%;
}
/*.calendar-event-img img{
	width: 100%;
}*/
.calendar-event-title{
	color: #000;
	font-size: 1.25em;
	margin-bottom: 10px;
}
.calendar-event-date{
	color:#666;
	margin-bottom: 10px;
}
.calendar-event-none{
	text-align: center;
}
.l_img_r_text_block{
	width: 100%;
}
.l_img_r_text_block .img_block{
	width: 45%;
	float: left;
	padding-right: 10px;
}
.l_img_r_text_block .img_block img{
	width: 100%;
}
.l_img_r_text_block .text_block{
    width: 50%;
	float: left;
	/*padding-top:3%;
	word-wrap:break-word;*/
	line-height: 20px;
	color: #fff;
    font-size: .9em;
}
.toggle_prev {
    width: 12px;
    margin: auto;
    transform: rotate(270deg);
    margin-top: 20px;
    cursor: pointer;
    transition: all 0.3s;
}
img[src*="2019HKYMI/poster.jpg"]{
  width:auto !important;
  height:100% !important;
}
  
.program-detail-desc > p:first-child:empty { 
  display:none;
}