html {
    scroll-behavior: smooth;
}

h1 {
    font-size: 5.2em;
}

h2 {
    font-size: 4.8em;
}

h3 {
    font-size: 4.2em;
}

h4 {
    font-size: 3.5em;
}

h5 {
    font-size: 3em;
}

h6 {
    font-size: 2.8em;
}

.language-switcher,
.language-switcher li,
.language-switcher li:last-child:before,
.language-switcher a,
.header-logo,
.hr-top a,
.search-btn,
.main-menu-container,
.main-menu-container>ul>li,
.main-menu-container ul ul>li,
.book-btn,
.db-icon,
.jb-input input[type="email"],
.jb-input input[type="submit"],
.social-icon,
.footer-menu-container>ul>li,
.banner-text,
.banner-text:after,
.primary-btn,
.select-filter,
.select-styled:after,
.page-numbers,
.pagination-number,
.pt-submenu a {
    display: inline-block;
}

.main-menu-container>ul>li a:after,
.main-menu-container ul ul:before,
.main-menu-container .menu>li>ul>li.menu-item-has-children>a:after,
.main-menu-container ul ul ul li,
.home-slide,
.sec-heading:after,
.news-photo,
.news-photo:after,
.event-photo,
.event-photo:after,
.er-top,
.ms-right:before,
.sl-block,
.sl-block:after,
.sl-img,
.np-img,
.sl-details,
.sl-heading,
.np-date,
.sl-date,
.np-link,
.np-link:after,
.np-details,
.np-heading,
.bts-img,
.bts-img:after,
.video-container iframe,
.video-container video,
.video-overlay {
    display: block;
}

.main-menu-container .menu>li>ul>li.menu-item-has-children>a:after {
    content: '';
}

.main-menu-container>ul>li a:after,
.main-menu-container ul ul,
.main-menu-container ul ul:before,
.main-menu-container .menu>li>ul>li.menu-item-has-children>a:after,
.main-menu-container ul ul ul,
.news-photo:after,
.event-photo:after,
.hb-5-inner,
.select-styled:after,
.sl-block:after,
.bts-img:after,
.video-container iframe,
.video-container video,
.video-overlay {
    position: absolute;
}

.header,
.language-switcher li,
.home-slider-container,
.home-slide,
.news-photo,
.event-photo,
.hb-5,
.page-top,
.sl-block,
.np-link,
.bts-img {
    position: relative;
}

.main-menu-container ul ul ul li {
    text-align: left;
}

.footer-menu-container>ul>li {
    vertical-align: top;
}

.language-switcher,
.language-switcher li,
.language-switcher li:last-child:before,
.language-switcher a,
.header-logo,
.hr-top a,
.search-btn,
.main-menu-container,
.main-menu-container ul ul>li,
.book-btn,
.jb-input input[type="email"],
.jb-input input[type="submit"],
.banner-text,
.banner-text:after,
.primary-btn,
.select-filter {
    vertical-align: middle;
}

.main-menu-container .menu>li>ul>li.menu-item-has-children>a:after {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.social-icon,
.home-slider-container,
.home-slide,
.news-photo,
.event-photo,
.hb-5,
.event-top,
.sl-img,
.np-img,
.video-overlay {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.header,
.hr-top a,
.search-btn,
.main-menu-container>ul>li a:after,
.main-menu-container ul ul:before,
.db-icon,
.jb-input input[type="submit"],
.footer,
.primary-btn,
.er-top,
.event-date,
.event-location,
.event-price,
.event-language,
.select-styled:after,
.pagination-number,
.page-numbers.previous,
.page-numbers.prev,
.page-numbers.next,
.page-top,
.pt-submenu a,
.mission-section,
.ms-left,
.ms-right:before {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

body {
    min-width: 300px;
    color: #222222;
    font-size: 50%;
    font-family: "DM Sans", "Noto Sans TC", sans-serif;
}

.container {
    width: 100%;
    min-width: 300px;
}

.content {
    position: relative;
    border-radius: 40px 40px 0 0;
    z-index: 2;
}

.wrapper {
    width: 90%;
    max-width: 1180px;
    margin: 0 auto;
    max-width: 1757px;
    width: 90%;
}

h2 {
    font-weight: 700;
    font-size: 2.5vw;
}

h3 {
    font-weight: 700;
    font-size: 1.875vw;
}

h4 {
    font-weight: 700;
    font-size: 1.458vw;
    margin-bottom: 0.5em;
}

a {
    color: #222222;
}

a:hover {
    color: #DD2511;
}

i,
em {
    font-style: italic;
}

p {
    font-size: 2.4em;
    font-weight: 400;
    line-height: 1.8;
    font-size: 1.25vw;
    text-align: left;
}

p a,
p li {
    font-size: 1em;
}

.aligncenter {
    text-align: center;
}

.small-text {
    font-size: 2.1em;
    font-weight: 400;
    line-height: 1.6;
    font-size: 1.094vw;
}


/* MOBILE */

.main-menu-button {
    position: relative;
    z-index: 102;
}

.main-menu-button-inner {
    width: 29px;
    height: 22px;
    position: relative;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    cursor: pointer;
}

.main-menu-button-inner span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background-color: #DD2511;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: 0.25s ease-in-out;
    transition: 0.25s ease-in-out;
}

.main-menu-button-inner span:nth-child(1) {
    top: 0px;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

.main-menu-button-inner span:nth-child(2) {
    top: 10px;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

.main-menu-button-inner span:nth-child(3) {
    top: 20px;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

.menu-open .main-menu-button-inner span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0px;
    left: 5px;
}

.menu-open .main-menu-button-inner span:nth-child(2) {
    width: 0%;
    opacity: 0;
}

.menu-open .main-menu-button-inner span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 20px;
    left: 5px;
}

.main-menu-mask,
.main-menu-button,
.main-menu-top {
    display: none;
}


/* GRID */

.grid-1-2 {
    overflow: hidden;
}

.grid-1-2>.grid-col {
    display: block;
    float: left;
    width: 49%;
    margin-right: 2%;
    margin-bottom: 1.5%;
}

.grid-1-2>.grid-col:nth-child(2n+2) {
    margin-right: 0;
}

.grid-1-2>.grid-col:nth-child(2n+1) {
    clear: both;
}

.grid-1-3 {
    overflow: hidden;
}

.grid-1-3>.grid-col {
    display: block;
    float: left;
    width: 31.3%;
    margin-right: 3%;
    margin-bottom: 3%;
}

.grid-1-3>.grid-col:nth-child(3n+3) {
    margin-right: 0;
}

.grid-1-3>.grid-col:nth-child(3n+1) {
    clear: both;
}

.grid-1-4 {
    overflow: hidden;
}

.grid-1-4>.grid-col {
    display: block;
    float: left;
    width: 23.5%;
    margin-right: 2%;
    margin-bottom: 4%;
}

.grid-1-4>.grid-col:nth-child(4n+4) {
    margin-right: 0;
}

.grid-1-4>.grid-col:nth-child(4n+1) {
    clear: both;
}


/* HEADER */

.sticky {
    position: fixed;
    top: 0;
    z-index: 10;
    width: 100%;
}

.header {
    background-image: url(images/header-border.jpg);
    background-position: bottom;
    padding: 20px 0 30px 0;
    -webkit-box-shadow: 0 12px 24px rgba(0, 0, 0, 0.16);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.16);
    z-index: unset;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.language-switcher {
    margin: 0 17px;
}

.language-switcher li {
    text-align: center;
    margin-right: 8px;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    -ms-transition: 0.2s ease-in-out;
}

.language-switcher li:last-child {
    margin-right: 0;
}

.language-switcher li:last-child:before {
    font-size: 1.8em;
    font-weight: 400;
    line-height: 1.2;
    padding-right: 8px;
    content: "/";
}

.language-switcher li:hover a {
    color: #DD2511;
}

.header-logo img {
    max-width: none;
    width: auto;
    height: 100%;
    max-height: 80px;
}

.hr-top {
    text-align: right;
    margin-bottom: 15px;
}

.hr-top a {
    font-size: 1.8em;
    font-weight: 700;
    line-height: 1;
}

.search-btn {
    width: 20px;
    height: 20px;
    background-image: url(images/search.png);
}

.search-btn:hover {
    background-image: url(images/search-red.png);
}

.main-menu-container ul.menu:after {
    display: inline-block;
    content: "";
    width: 100%;
}

.main-menu-container>ul>li {
    padding: 0 17px 0 0;
    font-size: 2.4em;
    font-weight: 700;
    line-height: 1.2;
}

.main-menu-container>ul>li a {
    position: relative;
    color: #222222;
    padding: 15px 15px 42px 15px;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    -ms-transition: 0.2s ease-in-out;
}

.main-menu-container>ul>li a:after {
    display: none;
    left: 0;
    top: calc(100% - 30px);
    width: 100%;
    height: 12px;
    background-size: 12px;
    background-image: url(images/arrow-up-red.png);
    content: "";
}

.main-menu-container>ul>li a:hover,
.main-menu-container>ul>li.current-menu-ancestor>a,
.main-menu-container>ul>li.current-menu-parent>a,
.main-menu-container>ul>li.current-menu-item>a {
    color: #DD2511;
}

.main-menu-container>ul>li a:hover:after {
    display: block;
}

.main-menu-container>ul>li>ul>li>a:hover:after {
    display: none;
}

.main-menu-container>ul>li.menu-item-has-children>a:after {
    display: block;
    background-image: url(images/arrow-down.png);
}

.main-menu-container>ul>li.menu-item-has-children>a:hover:after {
    background-image: url(images/arrow-up-red.png);
}

.main-menu-container ul ul {
    display: none;
    background-color: #fff;
    color: #222222;
    left: 0;
    top: 100%;
    width: 100%;
    padding: 24px 0 24px 0;
    text-align: center;
}

.main-menu-container ul ul:before {
    top: -16px;
    left: 36px;
    width: 27px;
    height: 16px;
    background-image: url(images/submenu-arrow.png);
    content: "";
}

.main-menu-container ul ul>li>a {
    color: #222222;
    text-decoration: none;
}

.main-menu-container ul ul>li {
    font-size: 18px;
    font-weight: 400;
}

.main-menu-container ul ul>li:hover>a,
.main-menu-container ul ul>li.current-menu-ancestor>a,
.main-menu-container ul ul>li.current-menu-parent>a,
.main-menu-container ul ul>li.current-menu-item>a {
    color: #DD2511;
    text-decoration: underline;
}

.book-btn {
    background-color: #dd2611;
    color: #fff;
    font-size: 2.1em;
    font-weight: 700;
    line-height: 1.2;
    padding: 10px 20px;
    border-radius: 30px;
    transition: 0.2s ease-in-out;
    -ms-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
}

.book-btn:hover {
    background-color: #00AAE3;
    color: #fff;
}

.main-menu-container ul li:last-child ul ul {
    left: auto;
    right: 0;
}

.main-menu-container>ul>li.menu-item-has-children:hover>ul {
    display: block;
    z-index: 10;
}

.main-menu-container .menu>li:last-child>ul>li.menu-item-has-children>a {
    padding: 12px 25px;
}

.main-menu-container .menu>li>ul>li.menu-item-has-children>a:after {
    background-image: url("images/menu-arrow-sprite@2x.png");
    right: 10px;
    width: 6px;
    height: 9px;
    margin-top: 4px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 4px 26px;
}

.main-menu-container .menu>li:last-child>ul>li.menu-item-has-children>a:after {
    left: 10px;
    right: auto;
    margin-top: 0;
    -webkit-transform: rotate(-180deg) translateY(50%);
    transform: rotate(-180deg) translateY(50%);
}

.main-menu-container .menu>li>ul>li.menu-item-has-children:hover>a:after {
    background-position: 0 -20px;
}

.main-menu-container ul ul ul {
    left: 100%;
    top: 0;
    width: 100%;
    height: auto;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.main-menu-container .menu>li:last-child ul ul {
    left: 100%;
}

.main-menu-container .menu>li:last-child ul li.menu-item-has-children:hover:after {
    left: auto;
    right: 100%;
}

.main-menu-container ul ul ul li {
    background-color: white;
    width: 100%;
    padding: 8px 15px;
    border-radius: 15px;
}

.main-menu-container ul ul>li>a {
    color: #222222;
    text-decoration: none;
}

.main-menu-container ul ul>li>a:hover {
    text-decoration: underline;
    color: #DD2511;
}

.main-menu-container>ul>li.current-menu-item>a {
    color: #DD2511;
    /*&:after {
                display: block;
            }*/
}

.breadcrumbs {
    padding: 3em 0 7em;
}

.about .breadcrumbs {
    display: none;
}

.crumbs {
    text-align: left;
    font-size: 2.2em;
    font-weight: 400;
    line-height: 1.2;
    color: #222222;
}

.crumbs a {
    color: #222222;
}

.crumbs li {
    display: inline-block;
    text-align: center;
    margin: 0 5px;
}

.crumbs li:last-child a {
    color: #DD2511;
    cursor: unset;
}

.crumbs .current {
    margin-left: 5px;
    border-bottom: 1px solid #DD2511;
}

.crumbs>span:first-child {
    display: none;
}

.main-menu-container ul.menu:after {
    display: none;
}

.donate-btn {
    position: fixed;
    top: 10%;
    background-color: #DD2511;
    color: #fff;
    font-size: 2em;
    font-weight: 700;
    line-height: 1.2;
    font-family: "Basel Grotesk Medium", "Noto Sans TC", sans-serif;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    -webkit-box-shadow: 3px 3px 6px rgba(145, 145, 145, 0.6);
    box-shadow: 3px 3px 6px rgba(145, 145, 145, 0.6);
    z-index: 9999;
    -webkit-transform: 0.2s ease-in-out;
    transform: 0.2s ease-in-out;
}

.donate-btn:hover {
    background-color: #94609d;
    color: #fff;
}

.donate-btn:hover .db-icon {
    background-color: #f5f5f5;
}

.db-text {
    display: inline-block;
    padding: 10px;
}

.db-icon {
    width: 40px;
    height: 40px;
    background-color: #fff;
    background-size: 20px;
    background-image: url(images/heart.png);
}


/* FOOTER */

.joinus-block {
    background-color: #00AAE3;
    padding: 3em 0;
}

.jb-text {
    font-size: 3.2em;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}

.jb-input {
    width: 31%;
    border: 2px solid #fff;
    padding: 5px 5px 5px 12px;
    border-radius: 30px;
}

.jb-input input[type="email"] {
    width: calc(100% - 40px);
    background-color: transparent;
    color: #fff;
    font-size: 2.4em;
    font-weight: 600;
    line-height: 1.2;
}

.jb-input input[type="email"]::-webkit-input-placeholder {
    color: #fff;
}

.jb-input input[type="email"]:-ms-input-placeholder {
    color: #fff;
}

.jb-input input[type="email"]::-ms-input-placeholder {
    color: #fff;
}

.jb-input input[type="email"]::placeholder {
    color: #fff;
}

.jb-input input[type="submit"] {
    width: 34px;
    height: 34px;
    font-size: 0;
    background-color: transparent;
    background-image: url(images/arrow-white-bg.png);
    cursor: pointer;
}

.footer {
    background-color: #000;
    color: #fff;
    padding: 5em 0;
    background-image: url(images/footer-bg@2x.jpg);
    background-position: bottom;
}

.footer-heading {
    font-size: 3.2em;
    font-weight: 700;
    line-height: 1.2;
}

.social-icons {
    width: 33%;
}

.social-icon {
    width: 8em;
    height: 8em;
    margin-right: 1.5em;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    -ms-transition: 0.2s ease-in-out;
}

.social-icon:last-child {
    margin-right: 0;
}

.social-icon:hover {
    opacity: 0.7;
}

.icon-instagram {
    background-image: url(images/instagram.png);
}

.icon-facebook {
    background-image: url(images/facebook.png);
}

.icon-x {
    background-image: url(images/x.png);
}

.footer-bottom {
    margin-top: 4.25em;
    padding-bottom: 12em;
}

.footer-menu-container>ul {
    display: flex;
    flex-wrap: wrap;
}

.footer-menu-container>ul>li {
    width: 23%;
    margin-right: 2%;
}

.footer-menu-container a {
    color: #fff;
    font-size: 2.1em;
    font-weight: 400;
    line-height: 1.6;
}

.footer-menu-container a:hover {
    color: #00AAE3;
}

.footer-menu-container>ul>li>a {
    font-size: 3.2em;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 0.5em;
}

.copyright {
    width: 100%;
    font-size: 1.6em;
    font-weight: 400;
    line-height: 1.2;
    color: #fff;
    margin-top: 4em;
}


/* Home */

.home-slider-container {
    width: 100%;
}

.home-slide {
    width: 100%;
    /*  padding-top: 38%;
    padding-bottom: 8%;*/
    padding-bottom: 46%;
}

.home-banner-inner {
    color: #fff;
}

.home-banner-inner .primary-btn {
    font-size: 1.458vw;
    font-weight: 700;
    color: #fff;
    border-color: #fff;
    background-color: transparent;
}

.home-banner-inner .primary-btn:hover {
    background-color: #fff;
    color: #00AAE3;
}

.banner-year {
    position: absolute;
    top: 44%;
    left: 28.5%;
    display: inline-block;
    color: #fff;
    font-size: 6.5vw;
    font-weight: 600;
}

.banner-text {
    position: absolute;
    top: 80%;
    left: 5%;
    font-size: 2.5vw;
    color: #fff;
    font-weight: 700;
}

.banner-text.withline:after {
    width: 9.792vw;
    height: 2px;
    background-color: #fff;
    margin: 0 0.521vw;
    content: "";
}

.primary-btn {
    background-image: url(images/arrow-blue-bg.png);
    background-position: 5px;
    background-size: auto 34px;
    background-color: #fff;
    font-size: 2.3em;
    font-weight: 600;
    line-height: 1.2;
    color: #00AAE3;
    font-size: 1.198vw;
    border-radius: 30px;
    border: 2px solid #00AAE3;
    padding: 10px 15px 10px 45px;
    transition: 0.2s ease-in-out;
    -ms-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
}

.primary-btn:hover {
    background-color: #00AAE3;
    color: #fff;
}

.sec-padding {
    padding: 10em 0;
}

.hb-1 {
    text-align: center;
}

.hb-1 p {
    text-align: center;
    font-size: 1.25vw;
    margin-bottom: 2em;
}

.large-heading p {
    font-size: 5.6em;
    font-weight: 700;
    line-height: 1.3;
    font-size: 2.917vw;
    text-align: center;
    margin-bottom: 0.5em;
}

.red {
    color: #DD2511;
}

.blue {
    color: #00AAE3;
}

.hb-2 {
    background-color: #000;
}

.hb-2 h2 {
    margin-bottom: 1em;
    color: white;
    text-align: center;
}

.sec-heading {
    margin-bottom: 6em;
}

.sec-heading:after {
    width: 100%;
    height: 5px;
    margin-top: 1em;
    background-image: -webkit-gradient(linear, left top, right top, from(#000000), color-stop(50%, #000000), color-stop(50%, transparent));
    background-image: linear-gradient(to right, #000000 0%, #000000 50%, transparent 50%);
    background-size: 10px 5px;
    background-repeat: repeat-x;
    content: "";
}

.sec-heading h2 {
    font-size: 4.8em;
    font-weight: 700;
    line-height: 1.2;
    font-size: 2.5vw;
    margin-bottom: 0.6em;
}

.news-rows {
    margin-bottom: 30px;
}

.news-row {
    transition: ease-in-out 0.2s;
    -ms-transition: ease-in-out 0.2s;
    -webkit-transition: ease-in-out 0.2s;
}

.news-row span {
    display: block;
}

.news-row:hover .news-photo:after {
    opacity: 0.3;
}

.news-photo {
    width: 100%;
    padding-bottom: 56.5%;
    border-radius: 30px;
    border: 1px solid #cdcdcd;
    margin-bottom: 2em;
}

.news-photo:after {
    width: 100%;
    height: 100%;
    background-color: #DD2511;
    opacity: 0;
    border-radius: 30px;
    content: "";
    transition: opacity ease-in-out 0.2s;
    -ms-transition: opacity ease-in-out 0.2s;
    -webkit-transition: opacity ease-in-out 0.2s;
}

.news-date {
    font-weight: 400;
    line-height: 1.2;
    font-size: 0.938vw;
    margin-bottom: 18px;
    font-size: 2.2em;
}

.news-title {
    font-size: 2.8em;
    font-weight: 700;
    line-height: 1.2;
    font-size: 1.458vw;
    margin-bottom: 18px;
}

.news-brief {
    font-size: 2.4em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.25vw;
}

.event-rows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
}

.event-row {
    -ms-flex-preferred-size: 31%;
    flex-basis: 31%;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    margin: 0 1.15% 8.8em 1.15%;
}

.event-row:hover a {
    color: #222222;
}

.event-photo:hover:after {
    opacity: 0.3;
}

.event-title~.event-photo {
    border: 10px solid red;
}

.event-photo {
    width: 100%;
    padding-bottom: 100%;
    border-radius: 30px;
    border: 1px solid #cdcdcd;
    margin-bottom: 2em;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.event-photo:after {
    border-radius: 30px;
    width: 100%;
    height: 100%;
    background-color: #00AAE3;
    content: "";
    opacity: 0;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.er-top {
    background-position: right top;
    background-image: url(images/arrow-blue-bg.png);
    background-size: 9%;
    padding-right: 10%;
    border-bottom: 1px solid #000;
    padding-bottom: 2.5em;
    margin-bottom: 1em;
}

.event-title {
    display: block;
    font-size: 2.8em;
    font-weight: 700;
    line-height: 1.2;
    font-size: 1.458vw;
    margin-bottom: 5px;
}

.event-subtitle {
    display: block;
    font-size: 2.4em;
    font-weight: 700;
    line-height: 1.2;
    font-size: 1.25vw;
    margin-bottom: 15px;
}

.event-tab {
    display: inline-block;
    font-size: 1.8em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 0.938vw;
    margin-bottom: 18px;
    color: #00AAE3;
    border: 1px solid #00AAE3;
    background-color: #fff;
    border-radius: 5px;
    padding: 2px 5px;
}

.event-date {
    font-size: 2.1em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.094vw;
    padding: 5px 0;
    padding-left: 42px;
    background-image: url(images/calendar.png);
    background-position: left;
    background-size: auto 22px;
}

.event-location {
    font-size: 2.1em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.094vw;
    padding: 5px 0;
    padding-left: 42px;
    background-image: url(images/pin.png);
    background-position: left;
    background-size: auto 22px;
}

.event-price {
    font-size: 2.1em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.094vw;
    padding: 5px 0;
    padding-left: 42px;
    background-image: url(images/price.png);
    background-position: left;
    background-size: auto 22px;
}

.event-language {
    font-size: 2.1em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.094vw;
    padding: 5px 0;
    padding-left: 42px;
    background-image: url(images/language.png);
    background-position: left top 5px;
    background-size: auto 22px;
}

.event-language span span {
    display: block;
    text-transform: capitalize;
    padding: 0 0 5px 0;
}

.hb-5 {
    background-color: #e9e9e9;
    background-image: url(images/support-us-bg@2x.jpg);
    width: 100%;
    padding-bottom: 28.8%;
    border-radius: 30px;
}

.hb-5-inner {
    top: 50%;
    left: 50%;
    width: 90%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.hb-5-inner h2 {
    margin-bottom: 0.3em;
}

.hb-5-inner p {
    line-height: 1.55;
}

.hb-5-inner p a {
    color: #DD2511;
}

.stats-rows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.stats-row {
    width: 23%;
}

.stats-row:nth-child(even) .counting {
    color: #DD2511;
}

.counting {
    color: #00AAE3;
    font-size: 12.5em;
    font-weight: 900;
    line-height: 1.2;
    font-size: 6.51vw;
    text-align: center;
}

.stats-text {
    text-align: center;
    color: #fff;
    font-size: 3.2em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.667vw;
}

.event-top {
    padding: 7em 0 0;
    background-position: bottom;
    background-color: #000;
    color: #fff;
}

.event-top .wrapper {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.event-top p {
    width: 57%;
    margin-bottom: 1em;
}

.et-heading {
    width: 38%;
    margin-bottom: 2em;
}

.et-heading h2 {
    font-size: 4.8em;
    font-weight: 700;
    line-height: 1.2;
    font-size: 2.5vw;
}

.et-heading img {
    display: block;
    margin-top: 6em;
    max-width: 100%;
}


/* Custom select */

.select-filter label {
    display: inline-block;
    margin-left: 10px;
}

.select-hidden {
    display: none;
    visibility: hidden;
    padding-right: 10px;
}

.select,
.py-select {
    position: relative;
    display: inline-block;
    width: 268px;
    height: 60px;
    font-size: 2em;
    font-weight: 400;
    line-height: 1.2;
    color: #696252;
    border-radius: 10px;
    cursor: pointer;
}

.py-select a {
    color: #696252;
}

.py-select.open .select-options {
    display: block;
}

.select-styled {
    position: relative;
    background-color: #ecebdc;
    padding: 1.146vw 20px;
    border-radius: 15px;
}

.select-styled:after {
    top: 0;
    right: 0;
    width: 3.7vw;
    height: 3.7vw;
    background-image: url(images/arrow-bottom-g.png);
    content: "";
}

.select.active {
    border-color: #00AAE3;
}

ul.select-options {
    position: absolute;
    display: none;
    top: 0;
    width: 100%;
    right: 0;
    left: -1px;
    background-color: #fff;
    margin: 0;
    margin-top: 64px;
    padding: 10px 7px;
    list-style: none !important;
    z-index: 999;
    border-radius: 10px;
    -webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

ul.select-options li {
    margin: 0;
    padding: 5px 0;
    text-indent: 15px;
    font-size: 1em;
    color: #757575;
}


/*ul.select-options li:first-child {
    display: none;
}*/

ul.select-options li:before {
    display: none;
}

ul.select-options li:hover,
ul.select-options li.is-selected {
    background: #f1f5ed;
}

ul.select-options li[rel="hide"] {
    display: none;
}

label:nth-child(3) .select-options {
    left: -2px;
}

.select-filter label:nth-child(2) .select-options {
    left: -2px;
}


/* End of Custom Select */

.page-template-page-programme .page-top,
.page-template-page-yrf .page-top,
.page-template-page-off-festival .page-top {
    display: none;
}


/* Pagination */

.pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    margin-top: 7em;
}

.page-numbers,
.pagination-number {
    font-size: 2.1em;
    font-weight: 400;
    line-height: 1.2;
    border: 0.5px solid #696252;
    color: #222222;
    border-radius: 5px;
    width: 60px;
    height: 60px;
    margin: 0 5px;
    padding: 18px 0;
}

.page-numbers:hover,
.pagination-number:hover {
    background-color: #00AAE3;
    color: #fff;
    border-color: #00AAE3;
}

.pagination-number,
.page-numbers.previous,
.page-numbers.prev,
.page-numbers.next {
    width: 60px;
    height: 60px;
    background-size: 8px;
    cursor: pointer;
}

span.pagination-number {
    border: 0;
    opacity: 0.3;
}

.page-numbers.previous,
.page-numbers.prev {
    border: 0;
    background-image: url(images/arrow-prev-d.png);
}

.page-numbers.next {
    border: 0;
    background-image: url(images/arrow-next-d.png);
}

.page-numbers.current {
    background-color: #ecebdc;
    border: 0;
}

.pagination-first,
.pagination-last {
    display: none;
}


/*End of pagination*/

.venues-row .event-location {
    font-size: 2.1em;
    font-weight: 700;
    line-height: 1.2;
    font-size: 1.094vw;
    color: #DD2511;
}

.vr-address {
    font-size: 2.1em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.094vw;
    padding-left: 42px;
}

.page-top {
    background-color: #000;
    background-size: auto 100%;
    background-position: right;
    background-image: url(images/triangle.png);
}

.page-top h1 {
    font-size: 4.8em;
    font-weight: 700;
    line-height: 1.2;
    font-size: 2.5vw;
    color: #fff;
    padding: 90px 0;
}

.pt-submenu {
    padding-bottom: 2em;
}

.pt-submenu a {
    color: #fff;
    font-size: 2.4em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.25vw;
    background-image: url(images/arrow-bottom-blue.png);
    background-position: right 2px center;
    background-size: auto 100%;
    padding-right: 2.083vw;
    margin-right: 3.125vw;
}

.pt-submenu a:hover {
    color: #00AAE3;
}

.about-images {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 82.6%;
    margin: 0 auto 3em;
}

.about-image {
    border-radius: 30px;
}

.about-image img {
    display: block;
    margin: auto;
    border-radius: 30px;
}

.about-image:nth-child(odd) {
    width: 27%;
    margin-top: 4em;
}

.about-image:nth-child(even) {
    width: 37.4%;
}

.about-text {
    width: 66%;
    margin: auto;
}

.mission-section {
    background-position: top;
    padding-bottom: 14em;
}

.mission-section .wrapper {
    max-width: 1517px;
}

.mission-section .flex {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
}

.ms-left {
    width: 45.6%;
    padding-bottom: 48%;
    background-image: url(images/mission-red.png);
}

.ms-right {
    width: 46%;
}

.ms-right:before {
    width: 88.4%;
    padding-bottom: 102%;
    background-image: url(images/mission-blue.png);
    margin-top: 10em;
    margin-bottom: 0.5em;
    content: "";
}

.grey-bg {
    background-color: #e9e9e9;
}

.sec-subheading {
    padding: 5px 0 5px 30px;
    margin: 0 0 3em 0;
    border-left: 5px solid #00AAE3;
}

.member-rows {
    margin-top: 7em;
}

.member-rows h4 {
    margin-bottom: 0.5em;
}

.grid-1-3>.grid-col.member-row {
    margin-bottom: 6em;
}

.section-block {
    margin-bottom: 22em;
}

.section-block .sec-heading {
    margin-bottom: 10em;
}

.section-block:last-child {
    margin-bottom: 0;
}

.text-block p a {
    color: #DD2511;
}

.text-block .primary-btn {
    margin-top: 3em;
}

.bottom-text {
    border-top: 1px solid #000;
    margin-top: 3em;
    padding-top: 1em;
}

.bottom-text p {
    font-size: 1.8em;
    font-weight: 400;
    line-height: 1.6;
    font-size: 0.938vw;
}

.fp-rows {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
}

.sponsor-row {
    width: 23.8%;
    padding-top: 1em;
}

.supporters-row {
    width: 74%;
    padding-top: 1em;
}

.sponsor-row .fp-logo {
    width: 80%;
    margin: 0 auto 4em auto;
}

.sponsor-row .fp-logo:nth-child(3) {
    width: 50%;
}


/*.supporters-row .fp-logo:nth-child(1) {
    height: 4.948vw;
}

.supporters-row .fp-logo:nth-child(2) {
    height: 7.594vw;
}

.supporters-row .fp-logo:nth-child(3) {
    height: 6.894vw;
}

.supporters-row .fp-logo:nth-child(4) {
    height: 5.966vw;
}

.supporters-row .fp-logo:nth-child(5) {
    height: 8.92vw;
}


*/

.fp-logo-alt {
    position: absolute;
    display: block;
    width: 80%;
    top: 50%;
    left: 50%;
    font-size: 1.458vw;
    font-weight: 700;
    text-align: center;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.supporters-row .fp-logo {
    position: relative;
    height: auto;
    padding-bottom: 10%;
    margin-bottom: 5em;
}

.supporters-row .fp-logo img {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    width: 80%;
    height: 80%;
    -o-object-fit: cover;
    object-fit: contain;
    -o-object-position: center center;
    object-position: center center;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.content-col {
    width: 60.3%;
}

.sidebar-col {
    width: 31%;
}

.col-2 {
    position: relative;
    overflow: hidden;
}

.col-2>.flex {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
}

.content-col {
    width: 60%;
}

.sidebar-col {
    width: 32.7%;
}

.sidebar-col .pagination-number,
.sidebar-col .page-numbers.previous,
.sidebar-col .page-numbers.prev,
.sidebar-col .page-numbers.next,
.sidebar-col .page-numbers,
.sidebar-col .pagination-number {
    width: 48px;
    height: 48px;
    padding: 12px 0;
}

.content-img {
    margin-bottom: 4em;
}

.slider a.content-img {
    display: block;
    border-radius: 30px;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    padding-bottom: 56%;
}

.grid-1-4 a.content-img {
    display: block;
    border-radius: 30px;
    padding-bottom: 16%;
    background-size: cover;
    background-repeat: no-repeat;
}

.content-img img {
    display: block;
    border-radius: 30px;
    width: 100%;
}

.content-img.has-caption img {
    border-radius: 30px 30px 0 0;
}

.img-caption {
    color: #fff;
    background-color: #000;
    font-size: 1.8em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 0.938vw;
    padding: 10px 30px;
}

.sl-block {
    padding: 0 25px;
    border-radius: 20px 0 0 20px;
    background-image: url(images/arrow-blue-border.png);
    background-size: 32px;
    background-position: right 2px center;
    background-repeat: no-repeat;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
    -ms-transition: .2s ease-in-out;
    cursor: pointer;
}

.sl-block:after {
    opacity: 0;
    right: 1px;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #ecebdc;
    content: "";
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -ms-transform: translateX(100%);
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
    -ms-transition: .2s ease-in-out;
}

.sl-block.active {
    background-color: #ecebdc;
    background-image: none;
}

.sl-block.active:after {
    opacity: 1;
    background-color: #ecebdc;
}

.sl-block>.flex {
    padding: 25px 0;
    border-bottom: 1px solid #696252;
}

.sl-block:hover {
    background-color: #ecebdc;
}

.sl-block:hover:after {
    opacity: 1;
}

.sl-img,
.np-img {
    width: 29%;
    padding-bottom: 16.4%;
    border-radius: 10px;
    border: 1px solid #cdcdcd;
}

.sl-details {
    width: 64%;
    padding-right: 32px;
}

.sl-heading,
.np-date {
    font-size: 2.1em;
    font-weight: 700;
    line-height: 1.6;
    font-size: 1.094vw;
}

.sl-date {
    font-size: 1.8em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 0.938vw;
}

.np-link {
    width: 67%;
    padding: 5em 0;
}

.np-link:after {
    width: 100%;
    height: 5px;
    margin-top: 2em;
    background-image: -webkit-gradient(linear, left top, right top, from(#000000), color-stop(50%, #000000), color-stop(50%, transparent));
    background-image: linear-gradient(to right, #000000 0%, #000000 50%, transparent 50%);
    background-size: 10px 5px;
    background-repeat: repeat-x;
    content: "";
}

.np-link .flex {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
}

.np-img {
    width: 14.3%;
    padding-bottom: 8.1%;
    margin-top: 7em;
}

.np-details {
    width: 80%;
    padding-right: 22%;
    background-image: url(images/arrow-blue-bg.png);
    background-repeat: no-repeat;
    background-size: 50px;
    background-position: 98% bottom;
    margin-bottom: 3em;
}

.np-heading {
    font-size: 4.8em;
    font-weight: 700;
    line-height: 1.2;
    font-size: 2.5vw;
}

.np-date {
    font-weight: 400;
    margin-bottom: 1em;
}

.book-ticket-section {
    margin-top: 11em;
}

.book-ticket-section:hover .bts-img:after {
    opacity: 0.3;
}

.book-ticket-section p {
    font-size: 1.8em;
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.25vw;
    margin-top: 0.5em;
}

.bts-img {
    border-radius: 30px;
}

.bts-img:after {
    top: 0;
    border-radius: 30px;
    width: 100%;
    height: 100%;
    background-color: #00AAE3;
    content: "";
    opacity: 0;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.bts-img img {
    display: block;
}

.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56%;
    border-radius: 30px 30px 0 0;
}

.video-container iframe,
.video-container video {
    width: 100%;
    height: 100%;
}

.video-overlay {
    width: 100%;
    height: 100%;
    background-image: url(images/video-overlay.png);
    cursor: pointer;
}

.donation-form {
    text-align: center;
}

.page-content a {
    color: #DD2511;
}

.tabcontent {
    display: none;
}

.sl-img {
    background-image: url(images/hkilf-logo.png);
    background-size: 90%;
    background-color: #fff;
    background-repeat: no-repeat;
}

.donorbox {
    background-color: #39abe3;
    padding: 2em 0;
}

.donorbox .flex {
    align-items: center;
}

.donorbox h3 {
    margin-bottom: 0;
    font-weight: 700;
    color: #fff;
}

.donorbox .primary-btn {
    border-color: #fff;
    color: #fff;
    background-color: transparent;
}

.donorbox .primary-btn:hover {
    background-color: #fff;
    color: #00AAE3;
}

.speaker-block {
    align-items: start;
    margin-bottom: 8%;
    border-bottom: 1px solid;
    padding-bottom: 8%;
}

.speaker-block:last-child {
    margin-bottom: 0;
    border: 0;
    padding-bottom: 0;
}

.speaker-block:nth-child(odd) .speaker-photo {
    order: 2;
}

.speaker-photo {
    width: 25%;
    padding-bottom: 25%;
    background-size: cover;
    background-position: top;
    border-radius: 30px;
}

.speaker-bio {
    width: 70%;
}

.speaker-bio h3 {
    margin-bottom: 20px;
    color: #DD2511;
}

.page-template-page-highlights .pt-submenu a:nth-child(4),
.page-template-page-highlights .pt-submenu a:nth-child(5) {
    display: none;
}

.news-content {
    justify-content: center;
}

.news-col {
    margin-bottom: 8em;
    border-bottom: 1px solid #ccc;
    padding-bottom: 8em;
}

.news-col:last-child {
    margin-bottom: 0;
    border-bottom: 0;
    padding-bottom: 0;
}

.prog-block {
    align-items: start;
}

.prog-content {
    width: 65%;
}

.prog-img {
    display: block;
    width: 30%;
}

.search-page-heading {
    color: #39aae3;
    font-size: 3em;
}

h3.search-result-title {
    color: #de2610;
    font-size: 2.2em;
}

.search-page-count p {
    font-size: 2.2em;
}

.mc-field-group {
    width: 100%;
}

.select-options li:first-child,
.page-template-page-about .pt-submenu a:nth-child(2),
.page-template-page-about .pt-submenu a:nth-child(4),
.page-template-page-about .pt-submenu a:nth-child(5) {
    display: none;
}

.sec-heading.member-heading:after {
    height: 3px;
    background-size: 6px 3px;
}

.carousel-slider-container {
    position: relative;
    padding: 4em;
}

.home .carousel-slider-container {
    position: relative;
    padding-top: 0;
}

.carousel-photo {
    background-size: cover;
    width: 100%;
    padding-bottom: 66.67%;
}

.bx-wrapper .bx-prev {
    left: 0;
    background-image: url(https://www.festival.org.hk/wp-content/uploads/icons/arrow-prev-w@2x.png);
}

.bx-wrapper .bx-next {
    right: 0;
    background-image: url(https://www.festival.org.hk/wp-content/uploads/icons/arrow-next-w@2x.png);
}

.content-img.photo {
    padding-bottom: 56%;
    border-radius: 30px;
}

.photo {
    position: relative;
    display: block;
    overflow: hidden;
}

.photo img {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
}

.photo:hover img {
    -webkit-transform: perspective(1000px) scale(1.1, 1.1);
    transform: perspective(1000px) scale(1.1, 1.1);
    -webkit-transform-style: flat;
    transform-style: flat;
}

.carousel-photo {
    display: block;
}

.slider-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56%;
    z-index: 9;
    padding: 0 35px 56% 35px;
}

.slider-container .bx-wrapper,
.slider-container .bx-viewport,
.slider {
    width: 100%;
    height: 100%;
    padding-bottom: 56%;
    z-index: 9;
}

.page-template-page-highlights .bx-wrapper .bx-prev {
    background-image: url(https://demo.moltodigital.com/hkilf-cms/wp-content/uploads/arrow-prev-b@2x.png);
}

.page-template-page-highlights .bx-wrapper .bx-next {
    background-image: url(https://demo.moltodigital.com/hkilf-cms/wp-content/uploads/arrow-next-b@2x.png);
}

.page-template-page-highlights .bx-wrapper .bx-pager {
    bottom: 50px;
}

.tabcontent .slide {
    width: 100%!important;
    padding-bottom: 56%;
}

.bx-wrapper .bx-controls-direction a {
    width: 16px;
    background-size: contain;
}

.banner-btn.primary-btn {
    position: absolute;
}

.banner-btn.dark-btn {
    background-image: url(https://www.festival.org.hk/wp-content/uploads/icons/arrow-light-bg.png);
    background-color: #222;
    color: #ffffff;
    border: 2px solid #ffffff;
}

.banner-btn.dark-btn:hover {
    background-color: #fff;
    color: #222;
}

.carousel-slider-container {
    padding: 4em 50px;
}

.text-block .bx-wrapper .bx-controls-direction a {
    width: 40px;
    background-size: contain;
    height: 40px;
    background-size: 12px;
    background-color: #39aae3;
}

.text-block .bx-wrapper .bx-controls-direction a:hover {
    opacity: .7;
}

.home .bx-wrapper .bx-controls-direction a {
    margin-top: -45px;
}

.slider-container .bx-wrapper .bx-controls-direction a {
    margin-top: -48px;
}

.main-menu-container ul ul>li.bold-text {
    font-weight: 700;
}

.slider {
    padding-bottom: 0;
}

.tabcontent .slide {
    padding-bottom: 0;
}

.text-block a {
    cursor: pointer;
}

.text-block a:hover {
    text-decoration: underline;
}

b {
    font-weight: 700;
}