/* Loader ***************************************************/
#loader {
    display: flex;
    justify-content: center;
    align-items: center;
}

.lds-roller,
.lds-roller div,
.lds-roller div:after {
    box-sizing: border-box;
}

.lds-roller {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

.lds-roller div {
    animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 40px 40px;
}

.lds-roller div:after {
    content: " ";
    display: block;
    position: absolute;
    width: 7.2px;
    height: 7.2px;
    border-radius: 50%;
    background: var(--custom-theme-color);
    margin: -3.6px 0 0 -3.6px;
}

.lds-roller div:nth-child(1) {
    animation-delay: -0.036s;
}

.lds-roller div:nth-child(1):after {
    top: 62.62742px;
    left: 62.62742px;
}

.lds-roller div:nth-child(2) {
    animation-delay: -0.072s;
}

.lds-roller div:nth-child(2):after {
    top: 67.71281px;
    left: 56px;
}

.lds-roller div:nth-child(3) {
    animation-delay: -0.108s;
}

.lds-roller div:nth-child(3):after {
    top: 70.90963px;
    left: 48.28221px;
}

.lds-roller div:nth-child(4) {
    animation-delay: -0.144s;
}

.lds-roller div:nth-child(4):after {
    top: 72px;
    left: 40px;
}

.lds-roller div:nth-child(5) {
    animation-delay: -0.18s;
}

.lds-roller div:nth-child(5):after {
    top: 70.90963px;
    left: 31.71779px;
}

.lds-roller div:nth-child(6) {
    animation-delay: -0.216s;
}

.lds-roller div:nth-child(6):after {
    top: 67.71281px;
    left: 24px;
}

.lds-roller div:nth-child(7) {
    animation-delay: -0.252s;
}

.lds-roller div:nth-child(7):after {
    top: 62.62742px;
    left: 17.37258px;
}

.lds-roller div:nth-child(8) {
    animation-delay: -0.288s;
}

.lds-roller div:nth-child(8):after {
    top: 56px;
    left: 12.28719px;
}

@keyframes lds-roller {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* system ***************************************************/
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm,
.view-block-programme-list .view-filters form,
.view-block-programme-list .view-content,
.webform-confirmation__message,
.webform-confirmation__back,
body.path-sitemap .sitemap {
    padding-left: 20px;
    padding-right: 20px;
}

@media (min-width: 1200px) {

    .container,
    .container-fluid,
    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .view-block-programme-list .view-filters form,
    .view-block-programme-list .view-content,
    .webform-confirmation__message,
    .webform-confirmation__back,
    body.path-sitemap .sitemap {
        padding-left: 25px;
        padding-right: 25px;
    }
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.red {
    color: #f13131;
}

ul {
    margin-bottom: 0;
    padding-left: 0;
}

.region-sidebar-first,
.region-sidebar-second,
.region-footer,
.region-content {
    padding: 0;
}

@media screen and (min-width: 1400px) {

    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container {
        max-width: 1740px;
    }

    .view-block-programme-list .view-filters form,
    .view-block-programme-list .view-content,
    .webform-confirmation__message,
    .webform-confirmation__back,
    body.path-sitemap .sitemap {
        max-width: 1740px;
        margin-left: auto;
        margin-right: auto;
    }
}

.layout--twocol-section>.layout__region {
    flex: 0 1 auto !important;
    width: 100%;
}

/* alert ***************************************************/
.path-webform .alert-dismissible {
    padding-left: 20px;
}

@media screen and (min-width: 1200px) {
    .path-webform .alert-dismissible {
        padding-left: 25px;
    }
}

@media screen and (min-width: 1790px) {
    .path-webform .alert-dismissible {
        padding-left: 3rem;
    }
}

.path-webform .messages__list {
    max-width: 1690px;
    margin: 0 auto;
}

/* page color ***************************************************/
/* header ***************************************************/
header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 10;

    & img {
        transition: all 0.3s ease;
    }
}

.path-frontpage main {
    margin-top: 130px;
}

.toolbar-fixed header {
    top: 39px;
}

.toolbar-fixed.toolbar-tray-open header {
    top: 79px;
}

header>.header-top {
    padding: 0 30px;
}

header>.header-top>.region-header {
    display: flex;
    justify-content: flex-end;
}

header>.header-top p {
    margin-bottom: 0;
}

header>.header-top>.region-header .language-switcher-language-url>ul {
    display: flex;
}

header>.header-top>.region-header .language-switcher-language-url>ul li.is-active {
    display: none;
}

header>.header-top>.region-header>div {
    padding: 20px;
}

header>.header-top .dropdown-toggle::after {
    display: none;
}

header>.navbar {
    background: none !important;
    padding: 0;
}

.navigation-section {
    background: rgba(255, 255, 255, 1);
    display: flex;
    justify-content: space-between;
    height: 130px;
    padding-left: 60px;
    padding-right: 60px;
    transition: all 0.3s ease;
}

.scrolled-fixed .navigation-section {
    background: rgba(255, 255, 255, 1);
    /* height: 90px; */
}

/* sponsor */
.navigation-left {
    display: flex;
    align-items: center;
}

.sponsor-logo ul {
    display: flex;
    align-items: flex-end;
    /* column-gap: 26px; */
    transition: all 0.3s ease;
}

.sponsor-logo ul p {
    font-size: 12px;
    line-height: 16px;
    margin-bottom: 21px;
    transition: all 0.3s ease;
}

.sponsor-logo ul li:first-child img {
    /* width: clamp(117.86px, 12.75vw, 245px);    
    margin-right: clamp(12.202px, 1.23vw, 21px);    */
    width: 245px;
    margin-right: 21px;
    height: auto;
}

.sponsor-logo ul li:nth-child(2) img {
    /* width: clamp(194.66px, 19.01vw, 365px); */
    width: 365px;
    height: auto;
}

/* @media screen and (min-width: 1500px) {
    .scrolled-fixed .sponsor-logo ul p {
        margin-bottom: 16px;
    }
    .scrolled-fixed .sponsor-logo ul li:first-child img {
        width: 188px;
        margin-right: 16px;
    }    
    .scrolled-fixed .sponsor-logo ul li:nth-child(2) img {
        width: 280.82px;        
    }        
} */

/* logo */
.navbar-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 130px;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.navbar-brand img {
    height: 90px;
    margin-right: 0;
}

[lang="zh-hant"] .navbar-brand img,
[lang="zh-hans"] .navbar-brand img {
    height: 100px;
}

/* .scrolled-fixed .navbar-brand {
    height: 90px;
}
.scrolled-fixed .navbar-brand img,
[lang="zh-hant"] .scrolled-fixed .navbar-brand img,
[lang="zh-hans"] .scrolled-fixed .navbar-brand img {
    height: 78px;
} */
/* logo response */
@media screen and (min-width: 1180px) and (max-width: 1700px) {
    .navbar-brand {
        position: relative;
        left: auto;
        transform: none;
    }

    .navigation-left {
        order: 2;
        margin-right: auto;
    }

    .navigation-center {
        order: 1;
        margin-right: 40px;
    }

    .navigation-right {
        order: 3;
    }
}

.navbar-dark .navbar-brand a.site-title,
.navbar-brand a.site-title {
    background-color: #fff;
    border: 0;
    clip: rect(0 0 0 0);
    color: #000;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* Navigation Right */
.navigation-right {
    display: flex;
    align-items: center;
}

.navigation-right .region-nav-right {
    display: flex;
    column-gap: 14px;
}

#block-i2-theme-navbutton .btn {
    background-color: #fff;
    border: #EAEAEA 1px solid;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    padding: 0;
}

#block-i2-theme-navbutton .btn button,
body.pojo-a11y-high-contrast #block-i2-theme-navbutton .btn button,
body.pojo-a11y-negative-contrast #block-i2-theme-navbutton .btn button {
    background: none !important;
    border: none !important;
}

#block-i2-theme-navbutton .btn img {
    width: 22px;
}

.accessibility-section {
    position: relative;
}

.accessibility-section .dropdown-toggle,
.language-section .dropdown-toggle,
.programme-section a {
    background-color: #fff;
    border: #EAEAEA 1px solid;
    border-radius: 50%;
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    transition: all 0.2s ease;
}

#block-i2-theme-navbutton .btn:hover,
.accessibility-section .dropdown-toggle:hover,
.language-section .dropdown-toggle:hover,
.programme-section a:hover {
    background-color: var(--custom-theme-color);
}

.accessibility-section .dropdown-toggle img {
    width: auto;
    height: 30px;
    margin: 0 auto;
}

.accessibility-section .dropdown-toggle::after,
.language-section .dropdown-toggle::after {
    content: none;
}

.language-section .dropdown-menu {
    min-width: auto;
    width: 120px;
}

.language-section .dropdown-menu,
.accessibility-section .dropdown-menu {
    border: none;
    box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.25);
    margin-top: 14px;
    padding: 20px;
    width: max-content;
    left: auto;
    right: 0;
}

.language-section .dropdown-menu li:not(:last-child),
.accessibility-section .dropdown-menu li:not(:last-child) {
    margin-bottom: 5px;
}

.language-section .dropdown-menu li a {
    background: url(../image/icon/arrow-right-orange.svg) -20px 8px no-repeat;
    width: 100%;
}

.language-section .dropdown-menu li a.is-active,
.language-section .dropdown-menu li a:hover {
    background: url(../image/icon/arrow-right-orange.svg) 0 8px no-repeat;
    padding-left: 30px;
}

.language-section .dropdown-menu li a,
.language-section .dropdown-menu li a span,
.accessibility-section .dropdown-menu li a,
.accessibility-section .dropdown-menu li a span {
    color: #000;
    font-size: 18px;
    line-height: 30px;
    display: inline-block;
}

.accessibility-section .dropdown-menu li a.active {
    border: #000 1px solid;
}

body.pojo-a11y-high-contrast .accessibility-section .dropdown-menu li a.active {
    border-color: #0080ff;
}

body.pojo-a11y-negative-contrast .accessibility-section .dropdown-menu li a.active {
    border-color: yellow;
}

.accessibility-section .dropdown-menu li img {
    margin-right: 10px;
}

.pojo-a11y-toolbar-icon {
    position: relative;
}

.accessibility-section .dropdown-menu li:hover a .pojo-a11y-toolbar-icon::before {
    background-color: var(--custom-theme-color);
    content: '';
    mix-blend-mode: screen;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

/* homepage Language CSS */
#language-toolbar {
    position: relative;
}

#language-toolbar a.dropdown-toggle::after {
    display: none;
}

#language-toolbar a.dropdown-toggle {
    background-color: #fff;
    border: #EAEAEA 1px solid;
    border-radius: 50%;
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;

}

/* menu */
.offcanvas.offcanvas-end {
    width: min(70vw, 960px);
    padding: 140px 60px 60px;
}

.offcanvas-header {
    padding: 0;
}

.offcanvas-header .btn-close {
    position: absolute;
    right: 60px;
    top: 30px;
}

.subscribe-section {
    display: none;
}

/* offcanvasRight CSS ------------------------------------------------------------------------------*/
#i2-offcanvasRight .offcanvas-header .btn-close {
    background: unset;
    width: 50px;
    height: 50px;
    opacity: 1;
    padding: 0;
}

#i2-offcanvasRight .offcanvas-body,
#i2-offcanvasRight .offcanvas-body .nav-navigation {
    padding: 0;
    height: 100%;
}

#i2-offcanvasRight .offcanvas-body .region-nav-navigation {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#i2-offcanvasRight #block-i2-theme-main-navigation {
    margin-bottom: auto;
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul {
    display: block;
    /* margin-bottom: 60px; */
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li {
    border-bottom: 1px solid #EB6607;
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li>a {
    font-size: 36px;
    font-weight: 800;
    line-height: 49px;
    padding-bottom: 20px;
    padding-top: 20px;
    position: relative;
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li>a.dropdown-toggle::after {
    content: none;
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown {
    display: flex;
    /* flex-wrap: wrap; */
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown>a {
    flex: 1 1 auto;
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown>a[aria-expanded="true"] {
    width: 50%;
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown>.dropdown-menu {
    border: none;
    width: 50%;
    flex: 1 1 auto;
    padding: 25px 0 25px;
    position: relative !important;
    transform: none !important;
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown>.dropdown-menu .dropdown-item {
    background: url(../image/icon/arrow-right-orange.svg) -20px 8px no-repeat;
    color: #000;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
    white-space: normal;
    padding: 6px 15px;
}

#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown>.dropdown-menu .dropdown-item:hover,
#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown>.dropdown-menu .dropdown-item:focus,
#i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown>.dropdown-menu .dropdown-item.is-active {
    background: url(../image/icon/arrow-right-orange.svg) 15px 8px no-repeat;
    padding: 6px 15px 6px 45px;
}

#i2-offcanvasRight .region-nav-navigation .block-language {
    width: fit-content;
    position: relative;
    z-index: 1;
}

#i2-offcanvasRight .region-nav-navigation .block-language ul {
    display: flex;
    column-gap: 20px;
    margin-bottom: 3px;
}

#i2-offcanvasRight .region-nav-navigation .block-language .language-link {
    color: #696969;
    font-size: 16px;
    line-height: 26px;
    display: block;
}

#i2-offcanvasRight .region-nav-navigation .block-language .language-link:hover,
#i2-offcanvasRight .region-nav-navigation .block-language .language-link:focus {
    color: #000000;
}

#i2-offcanvasRight .region-nav-navigation .block-language .language-link.is-active {
    color: #000000;
    font-weight: 700;
    border-bottom: #000 2px solid;
}

#i2-offcanvasRight .offcanvas-header #block-i2-theme-searchbutton,
#i2-offcanvasRight .region-nav-navigation #block-i2-theme-searchbutton {
    position: absolute;
    left: 60px;
    top: 27px;
    z-index: 1;
}

#i2-offcanvasRight .offcanvas-header .search-section,
#i2-offcanvasRight .region-nav-navigation .search-section {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: flex-end;
    column-gap: 8px;
    height: 39px;

    & p {
        font-size: 16px;
        line-height: 22px;
        margin-bottom: 0;
    }

    & input {
        border: none;
        font-size: 16px;
        line-height: 22px;
        padding: 8px;
        width: 100%;
    }
}

.subscribe-wrap {
    border-left: #000 1px solid;
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
    margin-left: 17px;
    margin-bottom: 4px;
    padding-left: 25px;
}

#i2-offcanvasRight .offcanvas-header .search-section #navbarSearchDropdown img,
#i2-offcanvasRight .region-nav-navigation .search-section #navbarSearchDropdown img {
    width: 30px;
    height: auto;
    margin-bottom: 2px;
}

#i2-offcanvasRight .offcanvas-header .search-section #navbarSearchDropdown::after,
#i2-offcanvasRight .region-nav-navigation .search-section #navbarSearchDropdown::after {
    content: none;
}

#i2-offcanvasRight .offcanvas-header .search-section .dropdown-menu,
#i2-offcanvasRight .region-nav-navigation .search-section .dropdown-menu {
    border: none;
    border-bottom: #000 1px solid;
    border-radius: 0;
    min-width: 120px;
    padding: 0;
    position: relative !important;
    transform: none !important;
}

#i2-offcanvasRight .offcanvas-header .search-section .dropdown-menu img,
#i2-offcanvasRight .region-nav-navigation .search-section .dropdown-menu img {
    display: none;
}

/* footer ***************************************************/
footer.bg-secondary {
    background-color: #000 !important;
    font-size: 18px;
    padding-top: 50px;
    padding-bottom: 40px;

    & * {
        color: #fff;
    }
}

.footer-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 20px;
    margin-bottom: 80px;
}

.footer-top #block-i2-theme-subscribeournewsletterform {
    max-width: 390px;
}

.footer-top #block-i2-theme-subscribeournewsletterform h2 {
    margin-bottom: 20px;
}

.footer-top .region-footer-top-left h2 {
    font-size: 40px;
    line-height: 50px;
}

.footer-top .region-footer-top-left p {
    color: #C0C0C0;
    font-size: 16px;
    line-height: 24px;
}

.footer-top .region-footer-top-left p a {
    color: #C0C0C0;
    font-size: 16px;
    line-height: 24px;
    text-decoration: underline;
}

.footer-link {
    display: flex;
    justify-content: right;
    column-gap: 120px;
}

.footer-link ul li {
    margin-bottom: 20px;
}

.footer-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}

.region-footer-bottom-left,
.region-footer-bottom-right {
    width: 50%;
}

.footer-logo ul {
    display: flex;
    column-gap: 50px;
    padding-bottom: 5px;
}

.footer-logo ul li {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer-logo ul li p {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 15px;
}

.footer-logo ul li:first-child img {
    width: auto;
    height: 35px;
}

.footer-logo ul li:nth-child(2) img {
    width: auto;
    height: 47px;
}

.region-footer-bottom-right p {
    font-size: 16px;
    line-height: 24px;
    text-align: right;
}

.region-footer-bottom-right p:last-child {
    font-size: 15px;
}

.region-footer-bottom-right .footer-award {
    width: auto;
    height: 86px;
}

/* Subscribe our newsletter CSS ------------------------------------------------------------------------------*/
.subscription-container {
    margin-bottom: 20px;
}

.subscription-container div {
    background: #000 url(../image/icon/arrow-oblique-white.svg) right top 17px no-repeat;
    border-bottom: 1px solid #fff;
    line-height: 24px;
    padding: 10px 26px 10px 0;
}

.subscription-container form {
    border-bottom: #fff 1px solid;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 10px 0;
}

.subscription-container input {
    background: none;
    border: none;
    color: #fff;
    font-size: 18px;
    line-height: 25px;
    height: 25px;
    padding: 0;
}

.subscription-container input::placeholder {
    color: #DCDCDC;
}

.subscription-container .required {
    color: red;
}

.subscription-container .submit-button {
    background: url(../image/icon/arrow-right-white.svg) 5px center no-repeat;
    /* background-color: var(--custom-theme-color); */
    text-indent: -9999px;
    cursor: pointer;
    width: 26px;
    padding: 10px;
    transition: all 0.2s ease;
}

.subscription-container .submit-button:hover {
    background: url(../image/icon/arrow-right-white.svg) 10px center no-repeat;
}

.subscription-container .loader {
    vertical-align: middle;
    display: inline-block;
    margin-left: 10px;
    border: 3px solid #f3f3f3;
    border-radius: 50%;
    border-top: 3px solid #3498db;
    width: 20px;
    height: 20px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Buy Now ***************************************************/
#block-i2-theme-buyticket {
    background-color: var(--custom-theme-color);
    /* background-image: url(../image/icon/oblique-arrow-white.png), url(../image/icon/buy-ticket-now-border.svg); */
    background-image: url(../image/icon/oblique-arrow-white.png);
    background-repeat: no-repeat;
    background-position: right 13px top 15px, center center;
    box-shadow: inset 0 0 0px 1px #fff;
    /* display: flex; */
    display: none;
    justify-content: center;
    align-items: center;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 15px 100%, 0 calc(100% - 15px));
    /* width: 95px; */
    width: 109px;
    height: 82px;
    /* padding: 11px 17px; */
    position: fixed;
    bottom: calc(40px + 94px);
    right: -1px;
    z-index: 999;
}

#block-i2-theme-buyticket a {
    color: #000;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    display: block;
    width: 100%;
    margin-bottom: 0;
    padding: 11px 27px 11px 17px;
}

[lang="zh-hant"] #block-i2-theme-buyticket a,
[lang="zh-hans"] #block-i2-theme-buyticket a {
    font-size: 18px;
}

#block-i2-theme-buyticket:hover {
    background-color: #000;
    background-image: url(../image/icon/oblique-arrow-orange.png), url(../image/icon/buy-ticket-now-border.svg);
    background-repeat: no-repeat;
    background-position: right 13px top 15px, center center;
}

#block-i2-theme-buyticket:hover a {
    color: #fff;
}

.cover-link {
    text-indent: -9999px;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0;
    z-index: 9;
    opacity: 0;
}

/* back to top ***********/
#block-i2-theme-backtotop {
    opacity: 0;
}

#block-i2-theme-backtotop .sidebar-back-to-top {
    background: var(--custom-theme-color);
    border: #E9E9E9 1px solid;
    border-right: none;
    cursor: pointer;
    padding: 14px;
    position: fixed;
    right: 0;
    bottom: 40px;
    z-index: 30;
    transition: all 0.2s ease;
}

#block-i2-theme-backtotop .sidebar-back-to-top:hover {
    background: #000;
}

/* Hone page ***************************************************/
/* BannerSwiper */
.path-frontpage .BannerSwiper .swiper-slide {
    height: 100vh;
}

.path-frontpage .BannerSwiper .swiper-video .video-content {
    height: 100%;
}

.path-frontpage .BannerSwiper .swiper-img img,
.path-frontpage .BannerSwiper .swiper-video video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.path-frontpage .BannerSwiper-button-next {
    background: url(../image/icon/arrow-right-black.svg) no-repeat;
    width: 28px;
    height: 28px;
    right: 60px;
    top: auto;
    bottom: 40px;
    transition: all 0.2s ease;
}

.path-frontpage .BannerSwiper-button-next:hover,
.path-frontpage .BannerSwiper-button-next:focus {
    transform: translateX(5px);
}

.path-frontpage .BannerSwiper-button-prev {
    background: url(../image/icon/arrow-left-black.svg) no-repeat;
    width: 28px;
    height: 28px;
    left: auto;
    right: 118px;
    top: auto;
    bottom: 40px;
    transition: all 0.2s ease;
}

.path-frontpage .BannerSwiper-button-prev:hover,
.path-frontpage .BannerSwiper-button-prev:focus {
    transform: translateX(-5px);
}

.path-frontpage .BannerSwiper-button-next::after,
.path-frontpage .BannerSwiper-button-prev::after {
    content: none;
}

.path-frontpage .BannerSwiper .swiper-button {
    display: flex;
    height: 28px;
    align-items: center;
    position: absolute;
    left: 60px;
    bottom: 40px;
    z-index: 1;

    & img {
        display: block;
    }

    & button {
        border: none;
        background: none;
        padding: 0;
    }
}

.path-frontpage .BannerSwiper-pagination {
    width: auto;
    position: relative;
    bottom: auto;
}

.path-frontpage .BannerSwiper-pagination .swiper-pagination-bullet {
    background: none;
    border: 1px #000 solid;
    opacity: 1;
    width: 10px;
    height: 10px;
    margin-left: 0;
    margin-right: 15px;
}

.path-frontpage .BannerSwiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #000;
}

/* The Human Touch */
.the-human-touch {
    padding-top: 150px;
    padding-bottom: 150px;

    & .paragraph--type--module-1 {
        padding-top: 0;
        padding-bottom: 0;
    }
}

.the-human-touch .layout--twocol-section--50-50 {
    /* aspect-ratio: 1700 / 620;
    align-items: flex-end; */
}

.the-human-touch .layout--twocol-section--50-50>.layout__region--first {
    position: relative;
}

.the-human-touch .layout--twocol-section--50-50>.layout__region--second {
    font-size: 16px;
    line-height: 26px;
    display: flex;
    /* flex-direction: column; */
    height: 100%;
    position: relative;

    & div:nth-child(2) {
        margin-bottom: auto;
    }
}

.the-human-touch .field--name-field-subtitle {
    color: #5B5B5B;
    font-size: 22px;
    font-weight: 700;
}

.the-human-touch h2 {
    font-size: var(--font-size-xl);
    line-height: 1.35;
    padding-bottom: 30px;
    position: relative;
    margin-bottom: 60px;
}

.the-human-touch h2::after {
    background-color: var(--custom-theme-color);
    content: '';
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 1.5s cubic-bezier(0.2, 1, .2, 1);
}

.the-human-touch.obs-active h2::after {
    width: 100%;
}

.the-human-touch .video-embed-field-provider-youtube,
.the-human-touch .field--name-field-media-image {
    /* width: 85%; */
    width: 100%;
}

.the-human-touch .field--name-field-media-image img {
    object-fit: cover;
    width: 100%;
    aspect-ratio: 16 / 10;
}

.the-human-touch .field--name-field-media-video-file {
    width: 85%;
    aspect-ratio: 16 / 10;
}

.the-human-touch .field--name-field-media-video-file .field__item {
    overflow: hidden;
    position: relative;
}

.the-human-touch .field--name-field-media-video-file .field__item::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.the-human-touch.obs-active .field--name-field-media-video-file .field__item::before {
    width: 0;
}

.the-human-touch .field--name-field-media-video-file video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.the-human-touch .video-cover {
    /* width: 85%; */
    cursor: pointer;
    position: absolute;
    left: 0;
    bottom: 0;
    display: none;

    & img {
        width: 100%;
        height: auto;
    }
}

.the-human-touch .video-cover::before {
    background: url(../image/icon/cover-video-play.svg) no-repeat;
    content: '';
    display: block;
    width: 100px;
    height: 100px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.the-human-touch .block-field-blockparagraphmodule-1bp-text {
    /* font-size: 18px;
    margin-left: auto; */
    width: 75%;
}

.the-human-touch .block-field-blockparagraphmodule-1field-link-text {
    display: none;
}

.the-human-touch .block-field-blockparagraphmodule-1bp-link {
    /* width: 75%;
    margin-left: auto;
    margin-top: 30px; */
}

.the-human-touch .block-field-blockparagraphmodule-1bp-link a {
    border: #000 2px solid;
    color: #000;
    font-weight: 800;
    display: block;
    width: 237px;
    padding: 7px 15px;
    position: relative;
    z-index: 1;
}

.the-human-touch .block-field-blockparagraphmodule-1bp-link a::before {
    background-color: var(--custom-theme-color);
    content: '';
    display: block;
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    transition: height 0.15s ease-out;
}

body:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .the-human-touch .block-field-blockparagraphmodule-1bp-link a:hover::before {
    height: 100%;
}

.the-human-touch .block-field-blockparagraphmodule-1bp-link a::after {
    background: url(../image/icon/arrow-oblique-black.svg) center center no-repeat;
    background-size: contain;
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    right: 15px;
    transition: all 0.2s ease;
}

/* High Light */
.section-HighLight {
    padding-top: 150px;
    padding-bottom: 150px;
}

.section-HighLight h2 {
    font-size: var(--font-size-lg);
    line-height: 1.35;
    padding-top: 20px;
    padding-bottom: 30px;
    position: relative;
}

.section-HighLight h2::before {
    background: url(../image/icon/h2-02.svg) no-repeat;
    content: '';
    width: 24px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 0;
}

.section-HighLight h2::after {
    background-color: var(--custom-theme-color);
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
}

.path-frontpage .section-HighLight .subcontent {
    justify-content: space-between;
    margin-top: -145px;
    position: relative;
}

.path-frontpage .section-HighLight .view-left-content {
    display: flex;
    align-items: flex-end;
}

.path-frontpage .section-HighLight .view-left-content ul li {
    border-bottom: rgba(0, 0, 0, 0) 1px solid;
    width: 388px;
    transition: all 0.2s ease;
    position: relative;
}

.path-frontpage .section-HighLight .view-left-content ul li h3 {
    margin-bottom: 10px;
    line-height: normal;

    & a {
        display: block;
        position: relative;
        padding-right: 38px;
    }
}

.path-frontpage .section-HighLight .view-left-content ul li h3 a::before {
    background: url(../image/icon/arrow-oblique-black.svg) no-repeat;
    background-size: contain;
    content: '';
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
    opacity: 0;
    position: absolute;
    right: 0;
    top: 50%;
    transition: all 0.2s ease;
}

.path-frontpage .section-HighLight .view-left-content ul li.active h3 a::before {
    opacity: 1;
}

.path-frontpage .section-HighLight .view-left-content ul li:not(:last-child) {
    margin-bottom: 20px;
}

.path-frontpage .section-HighLight .view-left-content ul li.active {
    border-bottom: rgba(0, 0, 0, 1) 1px solid;
    padding-bottom: 60px;
}

.path-frontpage .section-HighLight .view-left-content>ul>li>a {
    display: none;
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
}

.path-frontpage .section-HighLight .view-left-content>ul>li.active>a {
    display: block;
}

.path-frontpage .section-HighLight .view-right-content {
    width: 56.82%;
    aspect-ratio: 838 / 538;
}

.path-frontpage .section-HighLight .view-right-content>ul {
    display: flex;
    column-gap: 30px;
}

.path-frontpage .section-HighLight .view-right-content>ul>li {
    cursor: pointer;
    width: 25%;
    transition: all 0.5s ease;

    & img {
        display: block;
        aspect-ratio: 3 / 4;
        object-fit: cover;
        margin-bottom: 30px;
    }

    & a {
        font-weight: 700;
    }
}

.path-frontpage .section-HighLight .view-right-content>ul>li>[role="link"] {
    display: none;
    font-size: 16px;
    line-height: 26px;
}

.path-frontpage .section-HighLight .view-right-content>ul>li.active {
    width: calc(50% - 60px);
}

.path-frontpage .section-HighLight .view-right-content>ul>li.active>a {
    display: block;
}

/* Highlighted Programme */
.paragraph--type--index-highlighted-programme {
    padding-top: 170px;
    /* padding-bottom: 150px; */
}

.paragraph--type--index-highlighted-programme h2 {
    font-size: var(--font-size-xl);
    line-height: 1.35;
    padding-bottom: 30px;
    padding-right: calc(100% - 400px);
    position: relative;
}

.paragraph--type--index-highlighted-programme h2::after {
    background-color: var(--custom-theme-color);
    content: '';
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 1s ease-in;
}

.obs-active .paragraph--type--index-highlighted-programme h2::after {
    width: 100%;
}

.paragraph--type--index-highlighted-programme>.paragraph__column>.layout--twocol-section--50-50 {
    /* margin-top: -174px; */
    margin-top: -140px;
    justify-content: space-between;
    position: relative;
    display: flex;
    flex-wrap: unset;
}

.paragraph--type--index-highlighted-programme>.paragraph__column>.layout--twocol-section--50-50>.layout__region--first {
    display: flex;
    /* align-items: flex-end; */
    margin-top: 12%;
}

/* .paragraph--type--index-highlighted-programme .layout__region--first .highlighted-left-content-item */
.paragraph--type--index-highlighted-programme .layout__region--first .paragraph--type--highlighted-left-content {
    border-bottom: rgba(0, 0, 0, 0) 1px solid;
    width: 388px;
    transition: all 0.2s ease;
    position: relative;
}

.paragraph--type--index-highlighted-programme .layout__region--first .paragraph--type--highlighted-left-content::after {
    background-color: #000;
    content: '';
    display: block;
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: width 0.5s ease;
}

.paragraph--type--index-highlighted-programme .layout__region--second .highlighted-right-content-item .item-img .field--name-field-image {
    position: relative;
    overflow: hidden;
}

/* .paragraph--type--index-highlighted-programme .layout__region--second .highlighted-right-content-item .item-img .field--name-field-image::after {
    background: var(--custom-theme-color);
    content: '';
    display: block;
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    top: auto;
    bottom: 0;
    z-index: 0;
    opacity: 0.7;
    transition: height 0.15s ease-out;
} 

.paragraph--type--index-highlighted-programme .layout__region--second .highlighted-right-content-item .item-img .field--name-field-image:hover::after {
    height: 100%;
}*/
.paragraph--type--index-highlighted-programme .layout__region--second .highlighted-right-content-item .item-img .field--name-field-image img {
    transition: transform 0.3s ease;
}

.paragraph--type--index-highlighted-programme .layout__region--second .highlighted-right-content-item .item-img .field--name-field-image img:hover {
    transform: scale(1.1);
}

.paragraph--type--index-highlighted-programme .layout__region--first .active .paragraph--type--highlighted-left-content::after {
    width: 100%;
}

.paragraph--type--index-highlighted-programme .layout__region--first .paragraph--type--highlighted-left-content a {
    display: block;
    position: relative;
    padding-right: 38px;
}

.paragraph--type--index-highlighted-programme .layout__region--first .paragraph--type--highlighted-left-content a h3 {
    margin-bottom: 10px;
    line-height: normal;
}

.paragraph--type--index-highlighted-programme .layout__region--first .paragraph--type--highlighted-left-content a:hover h3 {
    color: #0042A6;
}

.paragraph--type--index-highlighted-programme .layout__region--first .paragraph--type--highlighted-left-content a h3::before {
    background: url(../image/icon/arrow-oblique-black.svg) no-repeat;
    background-size: contain;
    content: '';
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
    opacity: 0;
    position: absolute;
    right: 0;
    top: 50%;
    transition: all 0.2s ease;
}

.paragraph--type--index-highlighted-programme .layout__region--first .active .paragraph--type--highlighted-left-content a h3::before {
    opacity: 1;
}

.paragraph--type--index-highlighted-programme .layout__region--first>div>div:not(:last-child) {
    margin-bottom: 20px;
}

.paragraph--type--index-highlighted-programme .layout__region--first .active .paragraph--type--highlighted-left-content {
    /* border-bottom: rgba(0, 0, 0, 1) 1px solid; */
    padding-bottom: 60px;
}

.paragraph--type--index-highlighted-programme .layout__region--first .highlighted-left-content-item>a {
    /* display: none; */
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
}

.paragraph--type--index-highlighted-programme .layout__region--first .active .highlighted-left-content-item>a {
    display: block;
}

.paragraph--type--index-highlighted-programme .layout--twocol-section.layout--twocol-section--50-50>.layout__region--second {
    flex: 0 0 auto !important;
    /* width: 56.82%; */
    width: 66.82%;
    /* aspect-ratio: 838 / 538; */
    aspect-ratio: 838 / 500;
}

.paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content {
    display: flex;
    column-gap: 30px;
    height: calc(92% + 114px);
}

.paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content>div {
    cursor: pointer;
    /* width: 25%; */
    width: calc(100% / 3);
    transition: all 0.5s ease;

    & img {
        display: block;
        aspect-ratio: 3 / 4;
        object-fit: cover;
    }

    & a {
        font-weight: 700;
        display: block;
        overflow: hidden;
    }
}

/* Highlighted Programme */
@media only screen and (min-width: 768px) {

    /* .paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content>div:not(.active) a>*:not(:first-child) {    
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    } */
    /* logo p */
    [lang="en"] .sponsor-logo ul p {
        margin-left: -60px;
    }

    [lang="zh-hant"] .sponsor-logo ul p,
    [lang="zh-hans"] .sponsor-logo ul p {
        margin-left: -37px;
    }
}

.paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content>div.active {
    /* width: calc(50% - 60px); */
}

.paragraph--type--index-highlighted-programme .layout__region--second .item-category {
    background-color: var(--custom-theme-color);
    color: #000;
    display: block;
    width: fit-content;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
    margin-bottom: 10px;
    padding: 5px 12px;
    /* padding-left: 12px;
    padding-right: 12px; */
}

.paragraph--type--index-highlighted-programme .layout__region--second a h3 {
    font-size: 22px;
    line-height: 26px;
    margin-bottom: 0;
}

.paragraph--type--index-highlighted-programme .layout__region--second a:hover h3 {
    color: #0042A6;
}

.paragraph--type--index-highlighted-programme .layout__region--second a .item-artiest {
    color: #000;
    font-size: 16px;
    line-height: 26px;
}

.paragraph--type--index-highlighted-programme .layout__region--second .highlighted-right-content-item .item-img .field--name-field-image {
    margin-bottom: 20px;
    position: relative;
}

.paragraph--type--index-highlighted-programme .layout__region--second .highlighted-right-content-item .item-img .field--name-field-image::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.paragraph--type--index-highlighted-programme .layout__region--second .obs-active .highlighted-right-content-item .item-img .field--name-field-image::before {
    width: 0;
}


/* calendar */
.home-calendar .block-field-blockparagraphmodule-9field-right-content>div {
    background: none !important;
}

.home-calendar {
    background-size: auto min(36vw, 680px) !important;
    background-position: 20px 8.62vw !important;
    padding-top: 150px;
    padding-bottom: 150px;
}

.home-calendar .paragraph--type--module-9 {
    padding-top: 0;
    padding-bottom: 0;
}

.home-calendar h2.side-title {
    font-size: var(--font-size-xl);
    line-height: 1.35;
    margin-bottom: 40px;
    padding-top: 20px;
    padding-bottom: 30px;
    position: relative;
}

.home-calendar h2.side-title::after {
    background-color: var(--custom-theme-color);
    content: '';
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 1.5s cubic-bezier(0.2, 1, .2, 1);
}

.home-calendar.obs-active h2::after {
    width: 100%;
}

.home-calendar>.container-xxl>.paragraph__column>.layout {
    width: 75%;
    margin-left: auto;
}

.home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section {
    justify-content: space-between;
}

.home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--first {
    width: min(35.29vw, 600px) !important;
}

.home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second {
    width: min(30vw, 433px) !important;
}

.home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second .link-url {
    display: block;
}

.home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second .link-url a {
    background: none;
    border: #000 2px solid;
    color: #000;
    font-size: 16px;
    font-weight: 800;
    line-height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50px;
    padding: 0;
    position: relative;
    z-index: 1;
}

.home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second .link-url a::before {
    background: url(../image/icon/download-leaflet.svg);
    content: '';
    display: block;
    width: 25px;
    height: 24px;
    margin-right: 9px;
}

body:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second .link-url a:hover::before {
    background: url(../image/icon_light/download-leaflet.svg);
}

.home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second .link-url a::after {
    background: var(--custom-theme-color);
    content: '';
    display: block;
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    top: auto;
    bottom: 0;
    z-index: -1;
    transition: height 0.15s ease-out;
}

body:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second .link-url a:hover::after {
    height: 100%;
}

/* calendar - card */
.home-calendar .calendar-card-section>.date {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 10px;
}

.home-calendar .calendar-card-section hr {
    border-top: 1px #E7E7E7 solid;
    opacity: 1;
    margin: 30px 0;
}

.home-calendar .calendar-card-section hr:first-child {
    display: none;
}

.home-calendar .calendar-card {
    position: relative;
}

.home-calendar .calendar-card .cover-link {
    text-indent: -9999px;
    overflow: hidden;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.home-calendar .calendar-card {
    border: none;
    background: none;
    line-height: 1.35;
}

.home-calendar .calendar-card .row {
    column-gap: 20px;
}

.home-calendar .calendar-card .row .card-img {
    flex: 0 0 auto;
    width: min(14.7vw, 250px);
    margin-top: 38px;

    & img {
        object-fit: cover;
        width: 100%;
        aspect-ratio: 16 / 10;
    }
}

.home-calendar .calendar-card .card-body {
    font-size: 16px;
    line-height: 22px;
    width: min(calc(100% - 14.7vw - 20px), calc(100% - 270px));
    padding: 0;
    position: relative;
}

.home-calendar .calendar-card .card-body .card-tags {
    font-weight: 500;
    min-height: 22px;
    margin-bottom: 10px;
}

.home-calendar .calendar-card .card-body .card-title {
    font-size: 20px;
    font-weight: 800;
    line-height: 30px;
    margin-bottom: 20px;
}

.home-calendar .calendar-card .card-body .card-venue {
    background: url(../image/icon/icon-location-orange.svg) left center no-repeat;
    padding-left: 26px;
}

.home-calendar .calendar-card .card-body .card-venue:not(:last-child),
.home-calendar .calendar-card .card-body .venue-programme:not(:last-child),
.home-calendar .calendar-card .card-body .venue-screening:not(:last-child),
.home-calendar .calendar-card .card-body .Online-screening:not(:last-child) {
    margin-bottom: 10px;
}

.home-calendar .calendar-card .card-body::before {
    background: url(../image/icon/arrow-oblique-black.svg) no-repeat;
    background-size: contain;
    content: '';
    width: 16px;
    height: 16px;
    position: absolute;
    right: 0;
    top: 4px;
    transition: all 0.2s ease;
}

.home-calendar .calendar-card:hover .card-body::before {
    right: -6px;
}

.home-calendar .no-result {
    padding-top: calc(6.15vw - 10px);

    & div {
        font-weight: 500;
        margin-bottom: 10px;
    }

    & p {
        font-size: 18px;
        font-weight: 500;
        color: #696969;
    }
}

.home-calendar .no-result p a {
    color: #be5a10;
    text-decoration: underline;
}

.home-calendar .no-result p a:hover {
    color: #0042A6;
}

/* calendar - calendar */
.calendar {
    background-color: white;
    overflow: hidden;
    width: 100%;
}

.calendar-header {
    color: white;
    margin-bottom: 50px;
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.calendar-header h2 {
    font-size: 28px;
    margin: 0;
}

.calendar-header .calendar-button {
    display: flex;
    column-gap: 20px;
}

.calendar-header .calendar-button button {
    border: none;
    color: #000;
    text-indent: -9999px;
    cursor: pointer;
    width: 24px;
    height: 24px;
    overflow: hidden;
}

.calendar-header .calendar-button #prevMonth {
    background: url(../image/icon/arrow-left-black.svg) center center no-repeat;
    background-size: 24px 24px;
}

.calendar-header .calendar-button #nextMonth {
    background: url(../image/icon/arrow-right-black.svg) center center no-repeat;
    background-size: 24px 24px;
}

.calendar-header .calendar-dropdown-group {
    width: 100%;

    & .dropdown-menu {
        width: 100%;
    }
}

.calendar-header .dropdown-menu .dropdown-item {
    background: url(../image/icon/arrow-right-orange.svg) -30px 8px no-repeat;
    padding: 6px 15px;
    transition: all 0.2s ease;
    cursor: pointer;
}

.calendar-header .dropdown-menu .dropdown-item:hover,
.calendar-header .dropdown-menu .dropdown-item:focus {
    background: url(../image/icon/arrow-right-orange.svg) 15px 8px no-repeat;
    padding: 6px 15px 6px 45px;
}

.calendar-header .dropdown-toggle::after {
    content: none;
}

.calendar-header button {
    background: #F2F2F2 url(../image/icon/arrow-dropdown.svg) right 15px center no-repeat;
    border: none;
    border-bottom: #000 1px solid;
    width: 100%;
    font-size: 28px;
    font-weight: 700;
    line-height: 55px;
    padding: 0 42px 0 28px;
    text-align: left;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, auto);
    justify-content: space-between;
}

.calendar-cell {
    background-color: white;
    /* border:#000 1px solid; */
    font-size: 20px;
    line-height: 1.35;
    display: flex;
    /* aspect-ratio: 40 / 33; */
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.calendar-cell.day-name {
    font-weight: 800;
    margin-bottom: 5px;
}

.calendar-cell.event {
    background-color: var(--custom-theme-color);
    color: white;
    font-weight: bold;
}

.calendar .calendar-cell {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 46px;
}

.calendar .calendar-today .day {
    background-color: #000;
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
}

.calendar .has-event .day {
    background-color: var(--custom-theme-color);
    border-radius: 50%;
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
}


/* Image */
.path-frontpage .paragraph--type--image img {
    width: 100%;
}

/* Latest News */
.latest-news {
    padding-top: 150px;
    padding-bottom: 150px;
    overflow: hidden;
}

.latest-news>.content>.container-xxl>.row:first-child {
    padding-top: calc(19.6vw - 130px);
}

.latest-news>.content>.container-xxl>.row:nth-child(2) {
    /* margin-top: calc(((clamp(35px, 3.45vw, 60px) * 1.35) + (19.6vw - 130px) + 164px) * -1); */
    margin-top: -30%;
}

.latest-news .col-8 {
    position: relative;
    z-index: 1;
}

.latest-news h2 {
    font-size: var(--font-size-xl);
    line-height: 1.35;
    margin-bottom: 60px;
    padding-bottom: 30px;
    position: relative;
}

.latest-news h2::after {
    background-color: var(--custom-theme-color);
    content: '';
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 1.2s ease-in;
}

.obs-active .latest-news h2::after {
    width: 100%;
}

.follow {
    position: relative;
    z-index: 1;
}

.follow p {
    font-size: 20px;
    line-height: 1.35;
}

.follow [class*="btn-"] {
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    display: inline-block;
    padding-left: 36px;
}

.follow ul {
    display: flex;
    column-gap: clamp(20px, 1.82vw, 35px);
}

.btn-instagram {
    background: url(../image/icon/icon-ig.svg) left center no-repeat;
}

.btn-facebook {
    background: url(../image/icon/icon-facebook.svg) left center no-repeat;
}

.btn-linkedin {
    background: url(../image/icon/icon-linkedin.svg) left center no-repeat;
}

.latest-news .col-md-3 {
    position: relative;
}

.latest-news .col-md-5 {
    padding-right: 0;
}

/* homepage-newsSwiper CSS ------------------------------------------------------------------------------*/
.homepage-newsSwiper .swiper-wrapper {
    display: flex;
}

.homepage-newsSwiper .swiper-container {
    width: 100% !important;
    height: 100%;
}

.homepage-newsSwiper .swiper-slide {
    /* background-color: #fff; */
    cursor: pointer;
    /* width: 500px; */
    width: calc(50% - 32px);
    overflow: hidden;
    aspect-ratio: 500 / 642;
    transition: all 0.2s ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.homepage-newsSwiper .swiper-slide.swiper-slide-active {
    transform: translateX(0);
    /* 确保没有偏移 */
}

.newsSwiper-button-next {
    background: url(../image/icon/arrow-right-black.svg) no-repeat;
    width: 28px;
    height: 28px;
    left: 78px;
    right: auto;
    top: auto;
    bottom: 0;
    transition: all 0.2s ease;
}

.newsSwiper-button-next:hover,
.newsSwiper-button-next:focus {
    transform: translateX(5px);
}

.newsSwiper-button-prev {
    background: url(../image/icon/arrow-left-black.svg) no-repeat;
    width: 28px;
    height: 28px;
    left: 20px;
    top: auto;
    bottom: 0;
    transition: all 0.2s ease;
}

.newsSwiper-button-prev:hover,
.newsSwiper-button-prev:focus {
    transform: translateX(-5px);
}

.newsSwiper-button-next::after,
.newsSwiper-button-prev::after {
    content: none;
}

/* programme list ***************************************************/
.page-node-type-page main,
body.path-sitemap main {
    margin-top: 200px;
}

.page-node-type-page .block-field-blocknodepagefield-page-color {
    display: none;
}

.page-node-type-page .block-field-blocknodepagetitle {
    overflow: hidden;
}

.page-node-type-page .block-field-blocknodepagetitle h1 {
    font-size: var(--font-size-xl);
    margin-bottom: 0;
    transform: translateY(100%);
    transition: transform 0.5s ease-in-out;
}

.page-node-type-page .onload-active .block-field-blocknodepagetitle h1 {
    transform: translateY(0);
}

.page-node-type-page .node__content>.layout--twocol-section--50-50:nth-child(2) {
    column-gap: 40px;
    align-items: flex-end;
    padding-bottom: 30px;
    position: relative;
}

.page-node-type-page .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border) {
    margin-bottom: 60px;
}

.page-node-type-page .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border):after {
    background-color: #000;
    content: '';
    display: block;
    width: 0;
    height: 1px;
    position: absolute;
    left: 20px;
    bottom: 0;
    transition: all 1.5s cubic-bezier(0.7, 1, .2, 1);
}

.page-node-type-page .onload-active .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border):after {
    width: calc(100% - 40px);
}

@media (min-width: 1200px) {
    .page-node-type-page .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border)::after {
        width: 0;
        left: 25px;
    }

    .page-node-type-page .onload-active .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border)::after {
        width: calc(100% - 50px);
    }
}

/* BasicBannerSwiper - tom */
.BasicBannerSwiper {
    overflow: hidden;
}

.BasicBannerSwiper .swiper-wrapper {
    display: flex;
    transition: transform 0.3s ease;
}

.BasicBannerSwiper .swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: flex-end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
}

.BasicBannerSwiper .swiper-slide {
    width: 32.35% !important;
    min-width: 32.35% !important;
    transition: width 0.3s;
    transition: min-width 0.3s ease;
}

.BasicBannerSwiper .swiper-slide-active {
    width: 58% !important;
    min-width: 58% !important;
    transform: translateX(0);
}

.BasicBannerSwiper .swiper-container {
    width: 100% !important;
    height: 100%;
}

/* BasicBannerSwiper */
.block-field-blocknodepagefield-banner-paragraphs {
    padding-left: 20px;
    position: relative;
}

.block-field-blocknodepagefield-banner-paragraphs::before {
    background-color: var(--custom-theme-color);
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 9.43vw;
    bottom: 0;
    z-index: -1;
}

.page-node-type-page .BasicBannerSwiper {
    padding-bottom: 100px;
}

.page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-next {
    background: url(../image/icon/arrow-right-black.svg) no-repeat;
    width: 28px;
    height: 28px;
    right: 20px;
    top: auto;
    bottom: 36px;
    transition: all 0.2s ease;
}

.page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-next:hover,
.page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-next:focus {
    transform: translateX(5px);
}

.page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-prev {
    background: url(../image/icon/arrow-left-black.svg) no-repeat;
    width: 28px;
    height: 28px;
    left: auto;
    right: 78px;
    top: auto;
    bottom: 36px;
    transition: all 0.2s ease;
}

.page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-prev:hover,
.page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-prev:focus {
    transform: translateX(-5px);
}

.page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-next::after,
.page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-prev::after {
    content: none;
}

.page-node-type-page .BasicBannerSwiper-pagination {
    width: auto;
    bottom: 38.4px;
}

.page-node-type-page .BasicBannerSwiper-pagination .swiper-pagination-bullet {
    background: none;
    border: 1px #000 solid;
    opacity: 1;
    width: 10px;
    height: 10px;
    margin-left: 0;
    margin-right: 15px;
}

.page-node-type-page .BasicBannerSwiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #000;
}

.page-node-type-page .BasicBannerSwiper .swiper-slide {
    height: 35.7vw;
    transition: all 0.2s ease;
}

.page-node-type-page .BasicBannerSwiper .swiper-slide img,
.page-node-type-page .BasicBannerSwiper .swiper-slide .video-embed-field-provider-youtube {
    object-fit: cover;
    width: 100%;
    aspect-ratio: 16 / 10;
}

.page-node-type-page .BasicBannerSwiper .swiper-slide .media--type-video {
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.page-node-type-page .BasicBannerSwiper .swiper-slide video {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.page-node-type-page .BasicBannerSwiper .swiper-slide:focus {
    outline: 2px solid #007bff;
    outline-offset: -2px;
}

.page-node-type-page .BasicBannerSwiper .swiper-button-prev:focus,
.page-node-type-page .BasicBannerSwiper .swiper-button-next:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
}

/* Programme Filters */
.block-views-blockblock-programme-list-block-1 {
    background-color: #eee;
}

.view-block-programme-list .view-filters {
    background-color: #fff;
    padding-top: 20px;
    padding-bottom: 20px;
}

.view-block-programme-list .view-filters .form--inline {
    display: flex;
}

.view-block-programme-list .view-filters .form--inline .ProgrammeFilter .content {
    display: flex;
}

.view-block-programme-list .view-filters .form--inline .form-actions {
    display: none;
    margin: 0 0 0 auto;
}

/* .view-block-programme-list .view-filters .form--inline .form-actions {
    display: none;
} */
.view-block-programme-list .view-filters .form--inline .edit-reset {
    background-color: #000;
    border: none;
    color: #fff;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    width: 168px;
    height: 54px;
    margin-top: 3px;
    margin-bottom: 3px;
    margin-left: auto;
    padding: 13px;

    & img {
        margin-right: 8px;
    }
}

/* Programme List  ***********/
.form-item-field-performance-form-tags-target-id,
.form-item-field-date-state-target-id {
    display: none;
}

.ProgrammeForm,
.ProgrammeCategory,
.ProgrammeDate {
    border-right: #000 1px solid;
    width: clamp(250px, 22.94vw, 390px);
    padding: 3px 20px 2px 30px;
    position: relative;

    & .dropdown-toggle::after {
        content: none;
    }
}

[data-drupal-selector="edit-field-in-venue-date-value-wrapper"],
#edit-field-in-venue-date-value-wrapper {
    border: none !important;
    /* display: none !important; */
    width: clamp(280px, 22.94vw, 390px);
    margin-top: 0;
    margin-bottom: 0;

    & .dropdown-toggle::after {
        content: none;
    }
}

#edit-field-in-venue-date-value-wrapper .dropdown-toggle {
    background: no-repeat;
    border: none;
    padding: 3px 20px 2px 30px;
}

.ProgrammeForm .dropdown-toggle p,
.ProgrammeCategory .dropdown-toggle p,
.ProgrammeDate .dropdown-toggle p,
#edit-field-in-venue-date-value-wrapper .dropdown-toggle p {
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    margin-bottom: 8px;
}

.ProgrammeForm .dropdown-toggle .filterSelected,
.ProgrammeCategory .dropdown-toggle .filterSelected,
.ProgrammeDate .dropdown-toggle .filterSelected,
#edit-field-in-venue-date-value-wrapper .dropdown-toggle .filterSelected {
    background: url(../image/icon/arrow-dropdown.svg) right center no-repeat;
    cursor: pointer;
    line-height: 25px;
    padding-right: 25px;
}

#edit-field-in-venue-date-value-wrapper .dropdown-menu {
    background: none;
    border: none;
    border-radius: 0;
    margin-top: 20px;
    padding: 0;
    top: 100%;

    & .form-item {
        width: 100%;
        margin: 0;
    }
}

.ProgrammeFilter .dropdown-menu {
    padding: 30px;
    position: absolute;
    top: calc(100% + 20px);
    left: -30px !important;
    width: clamp(250px, 22.94vw, 390px);
    border-radius: 0;
    border: none;

    & ul li {
        cursor: pointer;
    }
}

.ProgrammeFilter .dropdown-menu>ul {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
}

.ProgrammeFilter .dropdown-menu>ul li {
    background: url(../image/icon/arrow-right-orange.svg) left -30px center no-repeat;
    font-size: 18px;
    line-height: 25px;
    transition: all 0.2s ease;
}

.ProgrammeFilter .dropdown-menu>ul li:hover,
.ProgrammeFilter .dropdown-menu>ul li.active {
    background: url(../image/icon/arrow-right-orange.svg) left center no-repeat;
    padding-left: 30px;
}

.view-block-programme-list .view-filters .form--inline .form-actions input,
#edit-submit-block-programme-list {
    background: #000 url(../image/icon/filter.svg) 40px center no-repeat;
    border: none;
    color: #fff;
    font-size: 20px;
    line-height: 28px;
    text-align: right;
    width: 168px;
    height: 54px;
    margin-top: 3px;
    margin-bottom: 3px;
    padding: 13px 40px;
}

.page-node-4 .js-form-item-field-performance-tags-id,
.page-node-4 .js-form-item-field-programme-tags-id {
    display: none;
}

/* Programme List */
.view-block-programme-list {
    padding-bottom: 150px;
}

.view-block-programme-list .view-content {
    padding-top: 50px;
}

.view-block-programme-list .view-content>div {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
}

.Programme-card-list {
    position: relative;
}

/* .Programme-card-list .cover-link {
    text-indent: -9999px;
    overflow: hidden;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
} */
.Programme-card-list .cover-link {
    opacity: 1;
}

.Programme-card-list {
    border: none;
    background: none;
    line-height: 1.35;
}

.Programme-card-list .row {
    column-gap: min(3.74vw, 65px);
}

.Programme-card-list .row .card-content {
    flex: 1 1 auto;
    width: clamp(600px, 31vw, calc(100% - 605px));
}

.Programme-card-list .row .card-img {
    flex: 0 0 auto;
    width: clamp(300px, 31vw, 540px);
    border-radius: 0;

    & img {
        object-fit: cover;
        width: 100%;
        aspect-ratio: 16 / 10;
    }
}

.Programme-card-list .row .card-img .img-fluid {
    overflow: hidden;
    position: relative;
}

.Programme-card-list .row .card-img .img-fluid::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.Programme-card-list.obs-active .row .card-img .img-fluid::before {
    width: 0;
}

.Programme-card-list .card-body {
    position: relative;
    column-gap: min(3.74vw, 65px);
    height: 100%;
    padding: 0;
}

.Programme-card-list .card-body::before {
    background: url(../image/icon/arrow-oblique-orange.svg) no-repeat;
    content: '';
    width: 28px;
    height: 28px;
    position: absolute;
    right: 0;
    top: 6px;
    z-index: 1;
    transition: all 0.2s ease;
}

.Programme-card-list:hover .card-body::before {
    right: -8px;
}

.Programme-card-list .card-body-left {
    flex: 1 1 auto;
    padding: 36px 0;
}

.Programme-card-list .card-body-left .tags {
    font-size: 20px;
    font-weight: 700;
}

.Programme-card-list .card-body-right {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    row-gap: 30px;
    width: clamp(476px, 48vw, 826px);
    padding: 30px 36px 36px 0;
    position: relative;
}

.Programme-card-list .card-body-right::after {
    background-color: #000;
    content: '';
    display: block;
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 1.5s cubic-bezier(0.7, 1, .2, 1);
}

.Programme-card-list.obs-active .card-body-right::after {
    width: 100%;
}

.Programme-card-list .card-body-right .card-title {
    font-size: 28px;
    line-height: 40px;
    font-weight: 700;
    margin-bottom: 0;
}

.Programme-card-list .card-venue {
    /* background: url(../image/icon/icon-location-orange.svg) left top 4px no-repeat; */
    font-size: 22px;
    line-height: 26px;
    margin-bottom: auto;

    /* padding-left: 26px; */
    & img {
        vertical-align: top;
        margin-right: 10px;
    }
}

.Programme-card-list ul {
    display: flex;
    flex-direction: column;
    row-gap: 15px;

    & li {
        display: flex;
    }
}

.Programme-card-list ul li span {
    font-size: 22px;
    line-height: 26px;
}

.Programme-card-list ul li span:first-child {
    font-weight: 700;
    flex: 0 0 auto;
    width: 225px;
    margin-right: 15px;
}

.view-block-programme-list .pager .pager__item,
.view-block-no-limits-plus .pager .pager__item {
    padding: 0;
}

.view-block-programme-list .pager .button,
.view-block-no-limits-plus .pager .button {
    background: none;
    border: none;
    border-radius: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 33px;
    display: block;
    margin: 0 auto;
    padding: 0 0 60px;
    position: relative;
}

.view-block-programme-list .pager .button::before,
.view-block-no-limits-plus .pager .button::before {
    background-color: #D9D9D9;
    border-radius: 50%;
    content: '';
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    left: calc(50% - 20px);
    bottom: 0;
    animation: zoom-in-out 1.3s infinite;
}

.view-block-programme-list .pager .button::after,
.view-block-no-limits-plus .pager .button::after {
    background-color: #000;
    border-radius: 50%;
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    position: absolute;
    left: calc(50% - 9px);
    bottom: 11px;
}

@keyframes zoom-in-out {
    0% {
        transform: scale(0.6);
    }

    40% {
        transform: scale(1);
    }

    100% {
        transform: scale(0.6);
    }
}

/* programme detail ***************************************************/
/* banner */
.page-node-type-programme .layout--twocol-section--50-50:nth-child(2)::before {
    left: -20px;
    right: -20px;
}

@media (min-width: 1200px) {
    .page-node-type-programme .layout--twocol-section--50-50:nth-child(2)::before {
        left: -25px;
        right: -25px;
    }
}

.page-node-type-programme main,
.page-node-type-video main {
    margin-top: 200px;

    & #block-i2-theme-content {
        overflow: hidden;
    }
}

/* breadcrumb */
.back-to-list {
    background: url(../image/icon/arrow-left-black.svg) left center no-repeat;
    background-size: 26px 26px;
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    width: fit-content;
    margin-bottom: 50px;
    padding-left: 36px;
}

.breadcrumb {
    /* float: right; */
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0;
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: 15px;
}

.breadcrumb-item+.breadcrumb-item::before {
    background-color: var(--custom-theme-color);
    content: '';
    width: 2px;
    height: 12px;
    padding: 0;
    margin: 9px 15px 9px 0;
}

.breadcrumb li {
    display: inline-block;
}

.breadcrumb li,
.breadcrumb li a {
    font-size: 16px;
    line-height: 30px;
}

.breadcrumb li:first-child a {
    background: url(../image/icon/home.svg) left center no-repeat;
    padding-left: 23px;
}

.page-node-type-programme .breadcrumb li:last-child,
.page-node-type-video .breadcrumb li:last-child {
    text-indent: -9999px;
}

.page-node-type-programme .breadcrumb li:last-child::before,
.page-node-type-video .breadcrumb li:last-child::before {
    margin: 9px 0;
}

/* banner */
.page-node-type-programme .node__content {
    padding-bottom: 150px;
}

.page-node-type-programme .node__content>.layout--twocol-section--50-50 {
    column-gap: 40px;
    row-gap: 40px;
}

.page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2) {
    padding-top: 50px;
    padding-bottom: 4px;
    position: relative;
}

.page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2) .layout__region--second {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 46px;
}

.page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2)::before {
    background-color: var(--custom-theme-color);
    content: '';
    position: absolute;
    top: 0;
    bottom: 50%;
    z-index: -1;
}

.page-node-type-programme.tags-Programme .node__content>.layout--twocol-section--50-50:nth-child(2)::before {
    background-color: var(--custom-theme-color);
    content: '';
    position: absolute;
    top: 0;
    bottom: 50%;
    z-index: -1;
}

.page-node-type-programme.tags-Outreach .node__content>.layout--twocol-section--50-50:nth-child(2)::before {
    background-color: #00A070;
    content: '';
    position: absolute;
    top: 0;
    bottom: 50%;
    z-index: -1;
}

.page-node-type-programme .swiper-wrapper {
    padding-bottom: 46px;
}

.page-node-type-programme .node__content h3 a,
.page-node-type-programme .node__content p a {
    color: #be5a10;
    text-decoration: underline;
}

.page-node-type-programme .node__content h3 a:hover,
.page-node-type-programme .node__content h3 a:focus,
.page-node-type-programme .node__content p a:hover,
.page-node-type-programme .node__content p a:focus {
    color: #0042A6;
}

.page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2) .swiper-wrapper .swiper-slide::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    transition-delay: 0.3s;
    z-index: 1;
}

.page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2) .swiper-wrapper.onload-active .swiper-slide::before {
    width: 0;
}

.page-node-type-programme .paragraph__column.swiper-wrapper .video-embed-field-responsive-video,
.page-node-type-programme .paragraph__column.swiper-wrapper video,
.page-node-type-programme .paragraph__column.swiper-wrapper img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.page-node-type-programme .swiper-pagination {
    width: auto;
    line-height: 24px;
    bottom: 0;
}

.page-node-type-page .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.page-node-type-programme .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.page-node-type-page .swiper-horizontal>.GallerySwiper-button .swiper-pagination-bullets .swiper-pagination-bullet,
.page-node-type-programme .swiper-horizontal>.GallerySwiper-button .swiper-pagination-bullets .swiper-pagination-bullet {
    background: none;
    border: 1px #000 solid;
    opacity: 1;
    width: 10px;
    height: 10px;
    margin-left: 0;
    margin-right: 20px;
}

.page-node-type-page .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active,
.page-node-type-programme .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active,
.page-node-type-page .swiper-horizontal>.GallerySwiper-button .swiper-pagination-bullets .swiper-pagination-bullet-active,
.page-node-type-programme .swiper-horizontal>.GallerySwiper-button .swiper-pagination-bullets .swiper-pagination-bullet-active {
    background-color: #000;
}

.page-node-type-programme .ListBannerSwiper-button-next {
    background: url(../image/icon/arrow-right-black.svg) no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    left: auto;
    right: 5px;
    top: auto;
    bottom: 0;
    transition: all 0.2s ease;
}

.page-node-type-programme .ListBannerSwiper-button-next:hover,
.page-node-type-programme .ListBannerSwiper-button-next:focus {
    transform: translateX(5px);
}

.page-node-type-programme .ListBannerSwiper-button-prev {
    background: url(../image/icon/arrow-left-black.svg) no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    left: auto;
    right: 44px;
    top: auto;
    bottom: 0;
    transition: all 0.2s ease;
}

.page-node-type-programme .ListBannerSwiper-button-prev:hover,
.page-node-type-programme .ListBannerSwiper-button-prev:focus {
    transform: translateX(-5px);
}

.page-node-type-programme .ListBannerSwiper-button-next::after,
.page-node-type-programme .ListBannerSwiper-button-prev::after {
    content: none;
}

.page-node-type-programme .field--name-field-programme-tags {
    font-size: 20px;
    font-weight: 700;
    line-height: 27px;
    overflow: hidden;
}

.page-node-type-programme .field--name-field-programme-tags>div {
    transform: translateY(-100%);
    transition: transform 0.5s ease-in-out;
}

.page-node-type-programme .block-field-blocknodeprogrammetitle {
    overflow: hidden;
    margin-bottom: auto;
}

.page-node-type-programme .block-field-blocknodeprogrammetitle h1 {
    font-size: var(--font-size-lg);
    margin-bottom: 0;
    transform: translateY(100%);
    transition: transform 0.5s ease-in-out;
}

.page-node-type-programme .onload-active .field--name-field-programme-tags>div,
.page-node-type-programme .onload-active .block-field-blocknodeprogrammetitle h1 {
    transform: translateY(0);
}

.block-addtoany-block .addtoany_list {
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    display: flex;
    column-gap: 20px;

    & img {
        display: block;
    }
}

.block-addtoany-block .addtoany_list>a {
    padding: 0;
}

.download-div {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 20px;
}

.block-field-blocknodeprogrammefield-online-screening,
.block-field-blocknodeprogrammefield-document-leaflet-link,
.block-field-blocknodeprogrammefield-audio-house-programme-link,
.block-field-blocknodeprogrammefield-audio-description-trailer,
.block-field-blocknodeprogrammefield-sign-language-trailer-link,
.block-field-blocknodeprogrammefield-descriptive-transcript-lin {
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 260px;
    height: 50px;
    position: relative;
    z-index: 1;
}

.block-field-blocknodeprogrammefield-online-screening::after,
.block-field-blocknodeprogrammefield-document-leaflet-link::after,
.block-field-blocknodeprogrammefield-audio-house-programme-link::after,
.block-field-blocknodeprogrammefield-audio-description-trailer::after,
.block-field-blocknodeprogrammefield-sign-language-trailer-link::after,
.block-field-blocknodeprogrammefield-descriptive-transcript-lin::after {
    background: var(--custom-theme-color);
    content: '';
    display: block;
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    top: auto;
    bottom: 0;
    z-index: -1;
    transition: height 0.15s ease-out;
}

body:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .block-field-blocknodeprogrammefield-online-screening:hover::after,
body:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .block-field-blocknodeprogrammefield-document-leaflet-link:hover::after,
body:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .block-field-blocknodeprogrammefield-audio-house-programme-link:hover::after,
body:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .block-field-blocknodeprogrammefield-audio-description-trailer:hover::after,
body:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .block-field-blocknodeprogrammefield-sign-language-trailer-link:hover::after,
body:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .block-field-blocknodeprogrammefield-descriptive-transcript-lin:hover::after {
    height: 100%;
}

.block-field-blocknodeprogrammefield-document-leaflet-link .label {
    background: url(../image/icon/download-leaflet.svg) left center no-repeat;
    font-size: 16px;
    line-height: 24px;
    padding-left: 33px;
}

.block-field-blocknodeprogrammefield-document-leaflet-link:hover .label {
    background: url(../image/icon_light/download-leaflet.svg) left center no-repeat;
}

.block-field-blocknodeprogrammefield-audio-house-programme-link .label {
    background: url(../image/icon/audio-house.svg) left center no-repeat;
    font-size: 16px;
    line-height: 24px;
    padding-left: 33px;
}

.block-field-blocknodeprogrammefield-audio-house-programme-link:hover .label {
    background: url(../image/icon_light/audio-house.svg) left center no-repeat;
}

.block-field-blocknodeprogrammefield-descriptive-transcript-lin .label {
    background: url(../image/icon/descriptive-transcript.svg) left center no-repeat;
    font-size: 16px;
    line-height: 24px;
    padding-left: 33px;
}

.block-field-blocknodeprogrammefield-descriptive-transcript-lin:hover .label {
    background: url(../image/icon_light/descriptive-transcript.svg) left center no-repeat;
}

.block-field-blocknodeprogrammefield-online-screening a,
.block-field-blocknodeprogrammefield-document-leaflet-link a,
.block-field-blocknodeprogrammefield-audio-house-programme-link a,
.block-field-blocknodeprogrammefield-descriptive-transcript-lin a {
    border: #000 2px solid;
    display: block;
    text-indent: -9999px;
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.block-field-blocknodeprogrammefield-online-screening a {
    color: #000;
}

.block-field-blocknodeprogrammefield-audio-description-trailer>div,
.block-field-blocknodeprogrammefield-sign-language-trailer-link>div {
    width: 100%;
    height: 100%;
}

.block-field-blocknodeprogrammefield-audio-description-trailer button,
.block-field-blocknodeprogrammefield-sign-language-trailer-link button {
    background: none;
    border: #000 2px solid;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 8px;
    width: 100%;
    height: 100%;
}

.block-field-blocknodeprogrammefield-audio-description-trailer button::before {
    background: url(../image/icon/audio-description-trailer.svg) left center no-repeat;
    content: '';
    display: block;
    width: 24px;
    height: 24px;
}

.block-field-blocknodeprogrammefield-audio-description-trailer button:hover::before {
    background: url(../image/icon_light/audio-description-trailer.svg) left center no-repeat;
}

.block-field-blocknodeprogrammefield-sign-language-trailer-link button::before {
    background: url(../image/icon/sign-language-trailer.svg) left center no-repeat;
    content: '';
    display: block;
    width: 24px;
    height: 24px;
}

.block-field-blocknodeprogrammefield-sign-language-trailer-link button:hover::before {
    background: url(../image/icon_light/sign-language-trailer.svg) left center no-repeat;
}

/* Programme CSS */
.page-node-type-programme .field--name-field-online-screening-detail-l {
    display: none;
}

.page-node-type-programme .online-LinkButton {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    color: #000;
    font-weight: 500;
    display: inline;
    width: 100%;
    padding: 10px 45px 10px 10px;
}

.page-node-type-programme .online-LinkButton:hover {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}

/* Sidebar Section */
.sidebar-section {
    border-top: #000 1px solid;
    margin-top: 100px;
    padding-top: 100px;
    position: relative;
}

.sidebar-section .details-sidebar-section {
    position: absolute;
    left: -33%;
    max-width: calc(25vw - 50px);
}

.sidebar-section .details-sidebar-section.active {
    position: fixed;
    left: 30px;
    top: 190px;
}

.sidebar-section .details-sidebar-section a {
    color: #000;
    font-size: 18px;
    line-height: 25px;
    display: block;
    padding: 12px 38px 12px 28px;
    transition: all 0.2s ease;
}

.sidebar-section .details-sidebar-section a:hover {
    font-weight: 700;
}

.sidebar-section .details-sidebar-section>.content>ul>li a {
    border-left: #F0F0F0 2px solid;
}

.sidebar-section .details-sidebar-section>.content>ul>li.active a {
    background-color: #EEEEEE;
    border-left: var(--custom-theme-color) 2px solid;
    font-weight: 700;
    font-size: 20px;
    line-height: 27px;
    padding: 9px 38px 9px 28px;
}

/* side-right */
.page-node-type-programme h2:not(.performance-details-title) {
    margin-bottom: 80px;
}

.page-node-type-programme h2.performance-details-title {
    padding-bottom: 80px;
    margin-bottom: 0;
}

.page-node-type-programme .block-field-blocknodeprogrammefield-performance-details-title {
    display: none;
}

.page-node-type-programme h3 {
    font-size: var(--font-size-sm);
}

.side-right {
    width: 75%;
    margin-left: 25%;
}

.side-right.layout--twocol-section.layout--twocol-section--25-75 {
    column-gap: 50px;
}

.side-right.layout--twocol-section.layout--twocol-section--25-75 .layout__region--second {
    font-size: 18px;
    line-height: 30px;
    display: flex;
    flex-wrap: wrap;

    &>div {
        width: 100%;
    }

    .block-field-blocknodeprogrammefield-urbtix,
    .block-field-blocknodeprogrammefield-in-venue-screening-urbtix {
        width: 210px;
        margin-right: 20px;
        margin-bottom: 25px;
    }

    .block-field-blocknodeprogrammefield-art-mate,
    .block-field-blocknodeprogrammefield-in-venue-screening-art-ma {
        width: 210px;
        margin-bottom: 25px;
    }
}

.side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(4),
.side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(5),
.side-right.layout--twocol-section.layout--twocol-section--25-75.screening-content {
    padding-bottom: 50px;
}

.side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(4) .layout__region--first,
.side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(5) .layout__region--first,
.side-right.layout--twocol-section.layout--twocol-section--25-75.screening-content .layout__region--first {
    padding-bottom: 50px;
}

.field--name-field-in-venue-screening-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 33px;
    margin-bottom: 20px;
}

.block-field-blocknodeprogrammefield-in-venue-display-time,
.block-field-blocknodeprogrammefield-in-venue-screening-displa,
.block-field-blocknodeprogrammefield-online-screening-display {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: 8px;
    margin-bottom: 40px;
}

.block-field-blocknodeprogrammefield-in-venue-display-time>img,
.block-field-blocknodeprogrammefield-in-venue-screening-displa>img,
.block-field-blocknodeprogrammefield-online-screening-display>img {
    margin-top: 3px;
}

.block-field-blocknodeprogrammefield-in-venue-display-time>.label,
.block-field-blocknodeprogrammefield-in-venue-screening-displa>.label,
.block-field-blocknodeprogrammefield-online-screening-display>.label {
    font-size: 22px;
    width: 124px;
    padding: 0 8px;
}

.field--name-field-in-venue-display-time,
.field--name-field-in-venue-screening-displa,
.field--name-field-online-screening-display {
    font-size: 22px;
    width: calc(100% - 148px);
}

.block-field-blocknodeprogrammefield-online-screening-display p,
.field--name-field-in-venue-no-limits-plus p {
    margin-bottom: 0;
}

.block-field-blocknodeprogrammefield-venue,
.block-field-blocknodeprogrammefield-in-venue-screening-venue {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: 8px;
}

.block-field-blocknodeprogrammefield-venue>img,
.block-field-blocknodeprogrammefield-in-venue-screening-venue>img {
    margin-top: 3px;
}

.block-field-blocknodeprogrammefield-venue>.label,
.block-field-blocknodeprogrammefield-in-venue-screening-venue>.label {
    font-size: 22px;
    width: 124px;
    padding: 0 8px;
}

.field--name-field-venue,
.field--name-field-in-venue-screening-venue {
    font-size: 22px;
    width: calc(100% - 148px);
}

/* .field--name-field-in-venue-time {
    background: url(../image/icon/icon-time.svg) left center no-repeat;
    margin-bottom: 40px;
    padding-left: 35px;
} */
.field--name-field-venue-location-link,
.field--name-field-in-venue-screening-venu.field--type-link {
    margin-bottom: 40px;
}

.field--name-field-venue-location-link a,
.field--name-field-in-venue-screening-venu.field--type-link a {
    background: url(../image/icon/arrow-right-orange.svg) right center no-repeat;
    font-weight: 700;
    padding-left: 148px;
    padding-right: 27px;
}

.block-field-blocknodeprogrammefield-in-venue-ticket,
.block-field-blocknodeprogrammefield-in-venue-no-limits-plus,
.block-field-blocknodeprogrammefield-note,
.block-field-blocknodeprogrammefield-in-venue-screening-note,
.block-field-blocknodeprogrammefield-in-venue-screening-ticket,
.block-field-blocknodeprogrammefield-online-screening-ticket {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 16px;
    row-gap: 5px;
    margin-bottom: 15px;

    & .label {
        flex: 0 0 auto;
        width: 132px;
    }
}

.block-field-blocknodeprogrammefield-in-venue-urbtix-label,
.block-field-blocknodeprogrammefield-in-venue-art-mate-label,
.block-field-blocknodeprogrammefield-in-venue-screening-label,
.block-field-blocknodeprogrammefield-screening-art-mate-label {
    display: none;
}

.field--name-field-in-venue-buy-now-label,
.field--name-field-in-venue-screening-buy-no {
    font-size: 18px;
    font-weight: 700;
    color: #000;
}

.field--name-field-in-venue-ticket,
.field--name-field-in-venue-no-limits-plus,
.field--name-field-note,
.field--name-field-in-venue-screening-ticket,
.field--name-field-online-screening-ticket {
    width: calc(100% - 148px);
}

.block-field-blocknodeprogrammefield-in-venue-ticket {
    margin-bottom: 40px;
}

.block-field-blocknodeprogrammefield-note {
    margin-bottom: 20px;
}

.block-block-contenteea20d09-cb1e-42d7-95be-6acafa23707a {
    margin-bottom: 10px;
}

.block-field-blocknodeprogrammefield-urbtix a,
.block-field-blocknodeprogrammefield-art-mate a,
.block-field-blocknodeprogrammefield-in-venue-screening-urbtix a,
.block-field-blocknodeprogrammefield-in-venue-screening-art-ma a {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    display: block;
    width: 100%;
    padding: 12px 22px;
}

.block-field-blocknodeprogrammefield-urbtix a:hover,
.block-field-blocknodeprogrammefield-art-mate a:hover,
.block-field-blocknodeprogrammefield-in-venue-screening-urbtix a:hover,
.block-field-blocknodeprogrammefield-in-venue-screening-art-ma a:hover {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}

/* Arts Accessibility Services Icon */
.block-field-blocknodeprogrammefield-tags,
.block-field-blocknodeprogrammefield-in-venue-screening-access {
    margin-bottom: 15px;
}

.block-field-blocknodeprogrammefield-online-screening-accessib {
    margin-top: 25px;
    margin-bottom: 15px;
}

.block-field-blocknodeprogrammefield-tags .label,
.block-field-blocknodeprogrammefield-in-venue-screening-access .label,
.block-field-blocknodeprogrammefield-online-screening-accessib .label {
    display: block;
    margin-bottom: 20px;
}

ul.services-ul {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 20px;
}

ul.services-ul li {
    display: block;
    width: 54px;
    height: 54px;
    text-indent: -9999px;
    overflow: hidden;
    position: relative;
}

ul.services-ul li::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

ul.services-ul.obs-active li::before {
    width: 0;
}

ul.services-ul li.icon-3 {
    background: url(../image/icon/aas-audio-description.svg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-7 {
    background: url(../image/icon/aas-accessible-captions.svg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-53 {
    background: url(../image/icon/aas-accessible-captions-zh.jpg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-25 {
    background: url(../image/icon/aas-sign-language-interpretation.svg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-26 {
    background: url(../image/icon/aas-braille-booklet.svg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-27 {
    background: url(../image/icon/aas-theatrical-interpretation.svg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-28 {
    background: url(../image/icon/aas-easy-to-read-booklet.svg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-29 {
    background: url(../image/icon/aas-relaxed-performance.svg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-30 {
    background: url(../image/icon/aas-wheelchair-seats.svg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-5 {
    background: url(../image/icon/aas-guide-dog-friendly.svg) no-repeat;
    background-size: contain;
}

ul.services-ul li.icon-4 {
    background: url(../image/icon/aas-audio-booklet.svg) no-repeat;
    background-size: contain;
}

.block-field-blocknodeprogrammefield-accessibility-services-bod p,
.field--name-field-in-venue-screening-acces p,
.block-field-blocknodeprogrammefield-online-screening-ac p {
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 0;
}

/* Sidebar Section - Share */
.sidebarSection-share.layout--twocol-section {
    border-bottom: #000 1px solid;
    justify-content: flex-end;
    margin-bottom: 90px;
    padding-bottom: 100px;
}

.page-node-type-programme .sidebarSection-1:not(.sidebarSection-share) .layout__region--second {
    border-bottom: #868686 1px solid;
    padding-bottom: 50px;
}

.page-node-type-programme .sidebarSection-share {
    background: #fff;
    margin-top: -51px;
    position: relative;
}

/* paragraphs module */
.paragraph__column img {
    max-width: 100%;
    height: auto;
}

body:not(.path-frontpage) [class*="paragraph--type--module-"] p,
body:not(.path-frontpage) .paragraph--type--i2-accordion-paragraphs p,
body:not(.path-frontpage) .paragraph--type--bp-simple p {
    font-size: 18px;
}

body:not(.path-frontpage) [class*="paragraph--type--module-"] p a,
body:not(.path-frontpage) .paragraph--type--i2-accordion-paragraphs p a,
body:not(.path-frontpage) .paragraph--type--bp-simple p a {
    color: #be5a10;
    text-decoration: underline;
}

body:not(.path-frontpage) [class*="paragraph--type--module-"] p a:hover,
body:not(.path-frontpage) .paragraph--type--i2-accordion-paragraphs p a:hover,
body:not(.path-frontpage) .paragraph--type--bp-simple p a:hover {
    color: #0042A6;
}

body:not(.path-frontpage) .paragraph--type--module-1 .button_link,
body:not(.path-frontpage) .paragraph--type--module-2 .button_link {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 20px center no-repeat;
    background-size: 16px 16px;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.35;
    display: block;
    min-width: 210px;
    width: fit-content;
    margin-top: 30px;
    padding: 10px 56px 10px 20px;
    transition: all 0.2s ease;
}

body:not(.path-frontpage) .paragraph--type--module-1 .button_link:hover,
body:not(.path-frontpage) .paragraph--type--module-2 .button_link:hover {
    background-position: right 15px center;
}

/* module 1 */
.page-node-type-programme .paragraph--type--module-1 h2 {
    margin-bottom: 30px;
}

.paragraph--type--module-1 .layout__region--second {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.paragraph--type--module-1 .field--name-field-media-image .field__item {
    overflow: hidden;
    position: relative;
}

.paragraph--type--module-1 .field--name-field-media-image .field__item::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.paragraph--type--module-1.obs-active .field--name-field-media-image .field__item::before {
    width: 0;
}

/* module 1 end */
/* module 3, module 5 */
.paragraph--type--module-3 h2,
.paragraph--type--module-5 h2 {
    margin-bottom: 80px;
}

.paragraph--type--module-3 .swiper-wrapper {
    padding-bottom: 54px;
}

.paragraph--type--module-5 .swiper-wrapper {
    max-width: 1045px;
    margin: 0 auto;
    padding-bottom: 0;
}

.page-node-type-page .paragraph--type--module-5 .swiper-wrapper .swiper-slide {
    opacity: 0;
}

.page-node-type-page .paragraph--type--module-5 .swiper-wrapper .swiper-slide.swiper-slide-next {
    opacity: 1;
}

.paragraph--type--module-5 .paragraph__column.swiper-wrapper .video-embed-field-responsive-video,
.paragraph--type--module-5 .paragraph__column.swiper-wrapper video,
.paragraph--type--module-5 .paragraph__column.swiper-wrapper img {
    display: block;
    width: 100%;
    max-width: 1045px;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.paragraph--type--module-5 .paragraph__column.swiper-wrapper .video-embed-field-responsive-video.video-embed-field-provider-youtube {
    aspect-ratio: 16 / 9;
    margin-top: 3.1%;
}

.paragraph--type--module-5 .GallerySwiper-button {
    max-width: 1045px;
    height: 54px;
    margin: 0 auto;
    position: relative;
}

.paragraph--type--module-3 .swiper-button-next,
.paragraph--type--module-5 .swiper-button-next {
    background: url(../image/icon/arrow-right-black.svg) no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    left: auto;
    right: 20px;
    top: auto;
    bottom: 0;
    transition: all 0.2s ease;
}

.paragraph--type--module-3 .swiper-button-next:hover,
.paragraph--type--module-3 .swiper-button-next:focus,
.paragraph--type--module-5 .swiper-button-next:hover,
.paragraph--type--module-5 .swiper-button-next:focus {
    transform: translateX(5px);
}

.paragraph--type--module-3 .swiper-button-prev,
.paragraph--type--module-5 .swiper-button-prev {
    background: url(../image/icon/arrow-left-black.svg) no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    left: auto;
    right: 59px;
    top: auto;
    bottom: 0;
    transition: all 0.2s ease;
}

.paragraph--type--module-3 .swiper-button-prev:hover,
.paragraph--type--module-3 .swiper-button-prev:focus,
.paragraph--type--module-5 .swiper-button-prev:hover,
.paragraph--type--module-5 .swiper-button-prev:focus {
    transform: translateX(-5px);
}

.paragraph--type--module-3 .swiper-button-next::after,
.paragraph--type--module-3 .swiper-button-prev::after,
.paragraph--type--module-5 .swiper-button-next::after,
.paragraph--type--module-5 .swiper-button-prev::after {
    content: none;
}

.paragraph--type--module-5 .swiper-button-next,
.paragraph--type--module-5 .swiper-button-prev,
.paragraph--type--module-5 .swiper-pagination {
    bottom: 0;
}

.paragraph--type--module-5 .swiper-button-next {
    right: 0;
}

.paragraph--type--module-5 .swiper-button-prev {
    right: 39px;
}

@media (min-width: 1200px) {
    .paragraph--type--module-3 .swiper-button-next {
        right: 25px;
    }

    .paragraph--type--module-3 .swiper-button-prev {
        right: 64px;
    }
}

/* module 3 - light box */
.modal-content .btn-close {
    background: url(../image/icon/close.svg) center center no-repeat;
    background-size: cover;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    opacity: 1;
    margin-left: auto;
    margin-right: -14px;
    margin-top: -14px;
}

.Module3Swiper .swiper-slide .img-fluid {
    display: block;
    height: calc(100vh - 218px);
    margin: 0 auto;
}

.Module3Swiper-button {
    height: 24px;
    margin-top: -29px;
    position: relative;
}

.Module3Swiper-button-next {
    background: url(../image/icon/arrow-right-black.svg) no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    left: auto;
    right: 0;
    top: auto;
    bottom: 0;
    transition: all 0.2s ease;
}

.Module3Swiper-button-next:hover,
.Module3Swiper-button-next:focus {
    transform: translateX(5px);
}

.Module3Swiper-button-prev {
    background: url(../image/icon/arrow-left-black.svg) no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    left: auto;
    right: 59px;
    top: auto;
    bottom: 0;
    transition: all 0.2s ease;
}

.Module3Swiper-button-prev:hover,
.Module3Swiper-button-prev:focus {
    transform: translateX(-5px);
}

.Module3Swiper-button-next::after,
.Module3Swiper-button-prev::after {
    content: none;
}

/* module 3, module 5 - obs-items */
.paragraph--type--module-3 .swiper-img {
    overflow: hidden;
}

.paragraph--type--module-3 .swiper-img::before,
.paragraph--type--module-5 .swiper-slide::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.paragraph--type--module-3.obs-active .swiper-img::before,
.paragraph--type--module-5.obs-active .swiper-slide::before {
    width: 0;
}

/* module 3, module 5 end */
/* module 4 */
.paragraph--type--module-4 h2 {
    margin-bottom: 30px;
}

.paragraph--type--module-4 .views-field-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 33px;
    margin-bottom: 20px;
}

.paragraph--type--module-4 .accordion-flush .accordion-collapse .accordion-body {
    background-color: #EEEEEE;
    border-bottom: var(--custom-theme-color) 1px solid;
    padding: clamp(15px, 3.95%, 50px);
}

.paragraph--type--module-4 .paragraph--type--i2-accordion .accordion-button::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.paragraph--type--module-4.obs-active .paragraph--type--i2-accordion .accordion-button::before {
    width: 0;
}

/* module 4 end */
/* module 6 */
.paragraph--type--module-6>.paragraph__column {
    padding-left: clamp(50px, 11.85%, 150px);
    padding-right: clamp(50px, 11.85%, 150px);
}

.paragraph--type--module-6 .field--name-field-title {
    background: url(../image/icon/quotes-left.svg) left top 9px no-repeat, url(../image/icon/quotes-right.svg) right bottom 6px no-repeat;
    background-size: 24px auto;
}

/* module 6 end */
/* module 7 */
.paragraph--type--module-7 h2 {
    margin-bottom: 80px;
}

.paragraph--type--module-7 .i2-table table {
    font-size: 18px;
    line-height: 1.35;
}

.paragraph--type--module-7 .button_link {
    background: url(../image/icon/arrow-oblique-orange.svg) right center no-repeat;
    background-size: 15px 15px;
    color: #000;
    font-weight: 700;
    display: block;
    width: fit-content;
    margin: 0 auto;
    padding-right: 25px;
}

.paragraph--type--module-7 .button_link:hover {
    color: #0042A6;
}

/* module 7 end */
/* module 8 */
.paragraph--type--module-8 h2 {
    margin-bottom: 40px;
}

.paragraph--type--module-8 .field--name-field-subheader,
.paragraph--type--module-8 .field--name-field-grid-subheader {
    font-size: 24px;
    font-weight: 700;
    line-height: 33px;
}

.paragraph--type--module-8 .card {
    background-color: #EEEEEE;
    border: none;
    border-bottom: var(--custom-theme-color) 1px solid;
    border-radius: 0;
    flex-direction: row;
    height: 100%;
    padding-bottom: 8.96%;
}

.paragraph--type--module-8 .card .card-img-top {
    border-radius: 0;
    width: 46%;
    flex: 0 0 auto;
    overflow: hidden;
    position: relative;
}

.paragraph--type--module-8 .card .card-img-top img {
    display: block;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    transition: all 0.2s ease;
}

.paragraph--type--module-8 .card:hover .card-img-top img {
    transform: scale(1.08);
}

.paragraph--type--module-8 .card-img-top::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.paragraph--type--module-8.obs-active .card-img-top::before {
    width: 0;
}

.paragraph--type--module-8 .card .card-body {
    display: flex;
    flex-direction: column;
    width: 54%;
    padding: clamp(20px, 6%, 30px) clamp(15px, 4.55%, 25px) 0;

    & P {
        margin-bottom: 0;
    }
}

.paragraph--type--module-8 .card .card-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    margin-top: 50px;
    margin-bottom: 5px;
}

.paragraph--type--module-8 .card .card-topic {
    margin-bottom: auto;
}

.paragraph--type--module-8 .card .card-topic {
    font-size: 20px;
    line-height: 30px;
}

.paragraph--type--module-8 .card .card-text {
    font-size: 14px;
    line-height: 20px;
}

.paragraph--type--module-8 .card .cover-link {
    text-indent: -9999px;
    overflow: hidden;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

/* module 8 end */

/* add obs-items */
.side-right .paragraph--type--section .field--name-field-image::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.side-right .paragraph--type--section.obs-active .field--name-field-image::before {
    width: 0;
}

/* Node page module ***************************************************/
.page-node-type-page .side-right {
    width: 100%;
    margin-left: 0;
}

.page-node-type-page h3 {
    font-size: var(--font-size-sm);
}

.page-node-type-page .paragraph--type--module-2>.paragraph__column h2,
.page-node-type-page .paragraph--type--module-3>.swiper h2,
.page-node-type-page .paragraph--type--module-4>.paragraph__column h2,
.page-node-type-page .paragraph--type--module-5>h2,
.page-node-type-page .paragraph--type--module-7>h2,
.page-node-type-page .paragraph--type--module-8>.paragraph__column h2,
.page-node-type-page .paragraph--type--module-8>.paragraph__column .field--name-field-subheader {
    text-align: center;
}

.page-node-type-page .paragraph--type--module-6>.paragraph__column {
    max-width: 1276.5px;
    margin-left: auto;
    margin-right: auto;
}

.page-node-type-page .paragraph--type--module-4,
.page-node-type-page .paragraph--type--module-8 {
    display: flex;
    justify-content: center;
}

.page-node-type-page .paragraph--type--module-4>.paragraph__column,
.page-node-type-page .paragraph--type--module-8>.paragraph__column {
    max-width: 1317.5px;
}

.page-node-type-page .paragraph--type--module-9 h2 {
    margin-bottom: 80px;
}

.page-node-type-page .paragraph--type--i2-accordion-paragraphs h2 {
    text-align: center;
    max-width: 1276.5px;
    margin: 0 auto 80px;
}

.page-node-type-page .paragraph--type--i2-accordion-paragraphs .accordion {
    max-width: 1266.5px;
    margin: 0 auto 80px;
}

@media screen and (min-width: 1200px) {
    .page-node-type-page .paragraph--type--i2-accordion-paragraphs .accordion {
        max-width: 1276.5px;
    }
}

/* table Section */
.table-section table {
    width: 100%;
}

.table-section .field--type-text-long {
    overflow-x: auto;
}

.table-section table>tbody>tr>td {
    border-top: #D9D9D9 1px solid;
    border-bottom: none !important;
    box-shadow: none;
    vertical-align: text-top;
    padding: 20px;
}

.table-section table>tbody>tr:nth-child(odd)>td {
    background-color: #FAFAFA;
}

/**************** List ****************/
body:not(.path-frontpage) .BannerSwiper .swiper-slide {
    width: 550px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

body:not(.path-frontpage) .BannerSwiper .swiper-slide-active {
    max-width: 1024px;
    width: 100%;
}

/* video page CSS ------------------------------------------------------------------------------*/
.page-node-type-video .layout--onecol .layout__region {
    width: auto;
}

.page-node-type-video .node__content {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
}

.page-node-type-video .node__content .video-section-2 .views-field-field-programme-tags .field-content {
    font-size: 20px;
    font-weight: 700;
    line-height: 27px;
    margin-bottom: 10px;
}

.page-node-type-video .node__content .video-section-2 .field--name-field-motif {
    display: none;
}

.page-node-type-video .node__content .video-section-2::after,
.page-node-type-video .node__content .video-section-2::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--custom-theme-color);
    top: 0;
    position: absolute;
    z-index: -1;
}

.page-node-type-video .node__content .video-section-2::after {
    left: -30%;
}

.page-node-type-video .node__content .video-section-2::before {
    right: -30%;
}

.page-node-type-video .node__content .video-section-1 {
    order: 1;
}

.page-node-type-video .node__content .video-section-2 {
    order: 2;
    background-color: var(--custom-theme-color);
    padding-top: 70px;
    padding-bottom: 70px;
    position: relative;
}

.page-node-type-video .node__content .video-section-3 {
    order: 4;
}

.page-node-type-video h1 {
    font-size: var(--font-size-lg);
    margin-bottom: 0;
}

.page-node-type-video .node__content .col-12,
.page-node-type-video .block-field-blocknodevideofield-video,
.page-node-type-video .block-views-blockplaylist-block-1 {
    max-width: 1305px;
}


.page-node-type-video .block-views-blockplaylist-block-1 .views-field a p {
    margin-bottom: 0;
    font-weight: bold;
}

.page-node-type-video .node__content .nl_videoTools {
    order: 3;
    margin-bottom: 50px;
}

.page-node-type-video .node__content .prog-highlight {
    order: 5;
}

.page-node-type-video .nl_videoTools h2,
.page-node-type-video .nl_videoTools h3 {
    font-size: 20px;
    margin-bottom: 15px;
    margin-top: 30px;
}

.page-node-type-video .nl_videoTools .vtool_btns {
    display: flex;
    flex-wrap: wrap;
    row-gap: 15px;
}

.page-node-type-video .nl_videoTools .vtool_btns>li:nth-child(1) {
    margin-right: 20px;
}

.page-node-type-video .nl_videoTools .vtool_btns>li a {
    color: #000;
    border: #000 2px solid;
    font-weight: 700;
    line-height: 1.375;
    display: block;
    padding: 14px 24px 14px 60px;
}

.page-node-type-video .nl_videoTools .vtool_btns>li:hover a {
    border: var(--custom-theme-color) 2px solid;
}

.page-node-type-video .nl_videoTools .vtool_btns>li:nth-child(1) a {
    background: url(../image/icon/btn-note.svg) 25px center no-repeat;
}

.page-node-type-video .nl_videoTools .vtool_btns>li:nth-child(2) a {
    background: url(../image/icon/audio-house.svg) 25px center no-repeat;
}

.page-node-type-video .nl_videoTools>div {
    margin-top: 30px;
}

.page-node-type-video .nl_videoTools #audio-list-top ul,
.page-node-type-video .nl_videoTools #caption-list-top ul,
#audio-list>ul,
#caption-list>ul {
    display: flex;
    flex-wrap: wrap;
    row-gap: 15px;
}

.page-node-type-video .nl_videoTools #audio-list-top li,
.page-node-type-video .nl_videoTools #caption-list-top li,
#audio-list>ul>li,
#caption-list>ul>li {
    display: inline;
    margin-right: 20px;
}

.page-node-type-video .nl_videoTools #audio-list-top li:last-child,
.page-node-type-video .nl_videoTools #caption-list-top li:last-child,
#audio-list>ul>li:last-child,
#caption-list>ul>li:last-child {
    margin-right: 0;
}

.page-node-type-video .nl_videoTools #audio-list-top li a,
.page-node-type-video .nl_videoTools #caption-list-top li a,
#audio-list>ul>li a,
#caption-list>ul>li a {
    border: #000 2px solid;
    color: #000;
    font-weight: 700;
    line-height: 1.375;
    display: block;
    padding: 9px 24px;
}

.page-node-type-video .nl_videoTools #audio-list-top li a:hover,
.page-node-type-video .nl_videoTools #caption-list-top li a:hover,
#audio-list>ul>li a:hover,
#caption-list>ul>li a:hover,
.page-node-type-video .nl_videoTools #audio-list-top li a.active,
.page-node-type-video .nl_videoTools #caption-list-top li a.active,
#audio-list>ul>li a.active,
#caption-list>ul>li a.active,
.page-node-type-video li a.active {
    background-color: var(--custom-theme-color);
    border: var(--custom-theme-color) 2px solid;
}

.page-node-type-video .col-12 {
    flex: 0 0 auto;
    width: 100%;
}

@media (min-width: 992px) {
    .page-node-type-video .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
}

@media (min-width: 768px) {
    .page-node-type-video .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
}

.page-node-type-video #video-nav-box {
    height: 54px;
    margin-top: 30px;
    position: relative;
    z-index: 3;
}

.page-node-type-video #video-nav-box .btn-video-nav {
    position: absolute;
    background-color: #000000;
    color: #fff;
    font-weight: bold;
}

.page-node-type-video #video-nav-box .btn-video-nav:hover {
    background-color: var(--custom-theme-color);
    color: #000;
}

.page-node-type-video #video-nav-box .btn-prev {
    line-height: 1.375;
    padding: 16px 25px 16px 50px;
    left: 0;
}

.page-node-type-video #video-nav-box .btn-next {
    line-height: 1.375;
    padding: 16px 50px 16px 25px;
    right: 0;
}

.page-node-type-video #video-nav-box .btn-video-nav::after {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    transition: all 0.2s ease;
}

.page-node-type-video #video-nav-box .btn-prev::after {
    background: url(../image/icon/nav-btn.svg) center center no-repeat;
    background-size: contain;
    left: 25px;
    transform: rotate(180deg);
}

.page-node-type-video #video-nav-box .btn-next::after {
    background: url(../image/icon/nav-btn.svg) center center no-repeat;
    background-size: contain;
    right: 25px;
}

.page-node-type-video .view-id-playlist {
    margin-top: 100px;
    display: none;
}

.page-node-type-video .view-id-playlist .view-header>p {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
}

.page-node-type-video .view-id-playlist .view-content {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 20px;
    /* 允許換行 */
    list-style: none;
    /* 去掉預設的列表樣式 */
    padding: 0;
    margin: 0;
}

.page-node-type-video .view-id-playlist .view-content .views-row a {
    border: #000 2px solid;
    color: #000;
    font-size: 16px;
    line-height: 22px;
    display: block;
    text-align: center;
    padding: 9px 24px;
}

.page-node-type-video .view-id-playlist .view-content .views-row a.active,
.page-node-type-video .view-id-playlist .view-content .views-row a:hover {
    background-color: var(--custom-theme-color);
    border: var(--custom-theme-color) 2px solid;
}

.page-node-type-video .field--name-field-document-description,
.page-node-type-video .field--name-field-audio-description {
    display: none;
}

.prog-highlight {
    margin-top: 100px;
    margin-bottom: 135px;
}

.prog-highlight h3 {
    font-size: 50px;
    font-weight: bold;
    border-top: 1px solid #000;
    margin-bottom: 30px;
    padding-top: 100px;
}

.prog-highlight .prog-highlight-content .highlight-title {
    position: relative;
    padding-left: 20px;
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 15px;
    margin-top: 20px;
}

.prog-highlight .prog-highlight-content .highlight-title::before {
    content: '';
    width: 6px;
    height: 6px;
    background-color: #000;
    border-radius: 50px;
    position: absolute;
    top: 10px;
    left: 4px;
}

.prog-highlight .prog-highlight-content>ul>li>ul>li {
    display: inline;
}

.prog-highlight .prog-highlight-content .ico-cc {
    color: var(--custom-theme-color);
    border: var(--custom-theme-color) 2px solid;
    padding: 0 5px 0 2px;
    border-radius: 10px;
    margin: 0 6px;
}

/* About No Limits CSS ------------------------------------------------------------------------------*/
body:not(.path-frontpage, .page-node-type-programme) .field--name-field-basic-banner {
    aspect-ratio: 1920 / 820;

    & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

body:not(.path-frontpage, .page-node-type-programme) .aboutus-section .paragraph--type--module-9 {
    padding-top: 100px;
    padding-bottom: 150px;
}

body:not(.path-frontpage, .page-node-type-programme) .aboutus-section:first-child .paragraph--type--module-9 {
    font-size: 18px;
    line-height: 30px;
}

.page-node-type-page .aboutus-section .paragraph--type--module-9 h2 {
    margin-bottom: 50px;
}

.production-team-list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 50px;
    row-gap: 40px;
}

.production-team-list li {
    border-bottom: var(--custom-theme-color) 1px solid;
    flex: 0 0 auto;
    width: calc(50% - 25px);
}

.production-team-list li p {
    font-size: 18px;
    line-height: 25px;
}

.production-team-list li p.team-list-title {
    font-size: 16px;
    line-height: 22px;
    font-weight: 700;
    margin-bottom: 5px;
}

/* Archive Section CSS */
.archive-section .paragraph--type--i2-accordion-paragraphs h2 {
    text-align: left;
    max-width: none;
    margin-bottom: 26px;
}

.archive-section .paragraph--type--i2-accordion-paragraphs .accordion {
    border-top: none;
    width: calc(50% - 20px);
    max-width: none;
    margin-right: 0;
}

.archive-section .paragraph--type--i2-accordion-paragraphs .accordion-header {
    background-color: #fff;
    border-bottom: #000 1px solid;
    font-size: clamp(24px, 1.95vw, 34px) !important;
    padding-left: 40px;
    padding-bottom: 20px;
}

.archive-section .paragraph--type--i2-accordion-paragraphs .accordion-header::before,
.archive-section .paragraph--type--i2-accordion-paragraphs .accordion-header::after {
    right: 32px;
}

.archive-section .paragraph--type--i2-accordion-paragraphs .accordion-header[aria-expanded="true"] {
    margin-bottom: 50px;
}

.archive-section .paragraph--type--i2-accordion-paragraphs .accordion-item {
    border: none;
}

.archive-section .paragraph--type--i2-accordion-paragraphs .accordion-collapse {
    padding: 0 0 60px;
    transition: all 0.2s ease;
}

.archive-section .paragraph--type--i2-accordion-paragraphs .accordion-collapse a {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    display: block;
    width: 274px;
    padding: 12px 22px;
}

.archive-section .paragraph--type--i2-accordion-paragraphs .accordion-collapse a:hover {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}

/* Outreach Overview CSS ------------------------------------------------------------------------------*/
.page-node-5 .view-block-programme-list .view-content {
    padding-top: 100px;
}

.page-node-5 .view-block-programme-list .view-content>div {
    row-gap: 80px;
}

.card-outreach {
    border: none;
    border-radius: 0;
    position: relative;
}

.card-outreach::after {
    background-color: #000;
    content: '';
    display: block;
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 1.5s cubic-bezier(0.7, 1, .2, 1);
}

.card-outreach.obs-active::after {
    width: 100%;
}

.card-outreach .row {
    column-gap: 50px;
    row-gap: 40px;
    align-items: flex-start;
    padding-bottom: 80px;
}

.card-outreach .img-fluid {
    width: clamp(260px, 30vw, 520px);
    overflow: hidden;
    position: relative;
}

.card-outreach .img-fluid::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.card-outreach.obs-active .img-fluid::before {
    width: 0;
}

.card-outreach .img-fluid img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.card-outreach .card-body {
    display: flex;
    flex-direction: column;
    row-gap: 60px;
    width: calc(100% - clamp(260px, 30vw, 520px) - 50px);
    padding: 0;
}

.card-outreach .card-title {
    font-size: var(--font-size-lg);
    font-weight: 700;
    line-height: 1.36;
    margin-bottom: auto;
    position: relative;

    & a {
        line-height: 1.36;
        display: block;
        padding-top: 24px;
    }
}

.card-outreach .card-title::after {
    background: url(../image/icon/arrow-oblique-orange.svg) no-repeat;
    content: '';
    display: block;
    width: 28px;
    height: 28px;
    position: absolute;
    right: 0;
    top: 0;
    transition: all 0.2s ease;
}

.card-outreach .card-title:hover::after {
    right: -5px;
}

.card-outreach .card-subTitle {
    font-size: 24px;
    font-weight: 700;
}

.card-outreach .card-content {
    /* padding-left: 27.1%; */
}

.card-outreach .card-summary p {
    font-size: 18px;
    line-height: 28px;
}

.card-outreach .card-summary p:last-child {
    margin-bottom: 0;
}

/* Outreach Detail CSS ------------------------------------------------------------------------------*/
.page-node-type-programme.page-type-outreach .node__content>.layout--twocol-section--50-50:nth-child(2)::before {
    background-color: var(--outreach_Background_color_setting);
}

/* No Limits PLUS CSS ------------------------------------------------------------------------------*/
.view-block-no-limits-plus {
    padding-top: 100px;
    padding-bottom: 150px;
}

.view-block-no-limits-plus .view-content,
.view-block-no-limits-plus .view-content>div {
    display: flex;
    flex-direction: column;
    row-gap: 100px;
}

.card-no-limits-plus {
    border: none;
    border-radius: 0;
    position: relative;
}

.card-no-limits-plus::after {
    background-color: #000;
    content: '';
    display: block;
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 1.5s cubic-bezier(0.7, 1, .2, 1);
}

.card-no-limits-plus.obs-active::after {
    width: 100%;
}

.card-no-limits-plus h2 {
    margin-bottom: 50px;
}

.card-no-limits-plus .col-md-3 {
    margin-bottom: 50px;
}

.card-no-limits-plus .img-fluid {
    overflow: hidden;
    margin-bottom: 30px;
    position: relative;
}

.card-no-limits-plus .row>div>.img-fluid::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.card-no-limits-plus.obs-active .row>div>.img-fluid::before {
    width: 0;
}

.card-no-limits-plus .img-fluid img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    margin-bottom: 0;
}

.card-no-limits-plus .btn-programme-detail {
    background-color: #EEEEEE;
    color: #000;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    display: block;
    width: fit-content;
    padding: 18px 24px;
}

.card-no-limits-plus .btn-programme-detail::after {
    background: url(../image/icon/arrow-oblique-orange.svg) no-repeat;
    background-size: 24px 24px;
    content: '';
    vertical-align: middle;
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-left: 20px;
    transition: all 0.2s ease;
}

.card-no-limits-plus .btn-programme-detail:hover::after {
    transform: translateX(5px);
}

.card-no-limits-plus .item-list ul {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
    margin-bottom: 0;
    padding-left: 50px;
}

.card-no-limits-plus .item-list ul li {
    margin: 0;
    padding-bottom: 50px;
    position: relative;
}

/* .card-no-limits-plus .item-list ul li:not(:last-child) {
    border-bottom: #000 1px solid;
} */
.card-no-limits-plus .item-list ul li:not(:last-child)::after {
    background-color: #000;
    content: '';
    display: block;
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 1.2s ease-in;
}

.card-no-limits-plus .item-list ul li.obs-active::after {
    width: 100%;
}

.card-no-limits-plus .field--name-field-event-title {
    border-bottom: var(--custom-theme-color) 1px solid;
    font-size: 22px;
    font-weight: 700;
    line-height: 30px;
    display: inline-block;
    margin-bottom: 50px;
    padding-bottom: 10px;
}

.card-no-limits-plus .block-field-blockparagraphplus-eventsfield-plus-display-time {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 20px;
    column-gap: 5px;
    row-gap: 8px;
}

.card-no-limits-plus .block-field-blockparagraphplus-eventsfield-plus-display-time>.label {
    font-size: 22px;
    width: 80px;
}

.card-no-limits-plus .block-field-blockparagraphplus-eventsfield-plus-display-time>img {
    margin-top: 3px;
}

.card-no-limits-plus .field--name-field-display-time2 .field__item,
.card-no-limits-plus .field--name-field-plus-display-time {
    font-size: 22px;
}

.card-no-limits-plus .block-field-blockparagraphplus-eventsfield-venue {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    column-gap: 5px;
    row-gap: 8px;
}

.card-no-limits-plus .block-field-blockparagraphplus-eventsfield-venue>.label {
    font-size: 22px;
    width: 80px;
    flex: 0 0 auto;
}

.card-no-limits-plus .block-field-blockparagraphplus-eventsfield-venue>img {
    margin-top: 3px;
}

.card-no-limits-plus .block-field-blockparagraphplus-eventsfield-location-link {
    margin-top: -20px;
    margin-bottom: 20px;
}

.card-no-limits-plus .block-field-blockparagraphplus-eventsfield-location-link a {
    background: url(../image/icon/arrow-right-orange.svg) right center no-repeat;
    font-weight: 700;
    padding-left: 114px;
    padding-right: 27px;
}

.card-no-limits-plus .field--name-field-venue {
    width: auto;
}

.block-field-blockparagraphplus-eventsfield-language,
.block-field-blockparagraphplus-eventsfield-admission,
.block-field-blockparagraphplus-eventsfield-note {
    font-size: 18px;
    line-height: 30px;
    clear: both;
    display: flex;
    align-items: flex-start;
    column-gap: 16px;
    row-gap: 5px;
    margin-bottom: 20px;

    & .label {
        width: 98px;
        flex: 0 0 auto;
    }
}

.block-field-blockparagraphplus-eventsfield-point {
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: bold;
}

.block-field-blockparagraphplus-eventsfield-plus-summary {
    font-size: 18px;
}

.card-no-limits-plus .field--name-bp-link a {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    display: inline-block;
    width: auto;
    min-width: 220px;
    padding: 12px 56px 12px 22px;
}

.card-no-limits-plus .field--name-bp-link a:hover {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}

/* This Year’s Theme CSS ------------------------------------------------------------------------------*/
.page-node-type-page .human-touch-section {
    margin-top: -60px;
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 h2 {
    margin-bottom: 30px;
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 p {
    font-size: 18px;
    line-height: 30px;
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 .block-field-blockparagraphmodule-9field-right-content {
    padding-left: calc(100% - clamp(300px, 85%, 550px));
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 .block-field-blockparagraphmodule-9field-right-content .paragraph--type--image {
    filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.25));
    margin-bottom: 50px;

    & .img-fluid {
        width: 100%;
    }
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 .block-field-blockparagraphmodule-9field-right-content .paragraph--type--image .field--name-field-image {
    position: relative;
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 .block-field-blockparagraphmodule-9field-right-content .paragraph--type--image .field--name-field-image::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.page-node-type-page .human-touch-section.onload-active .paragraph--type--module-9 .block-field-blockparagraphmodule-9field-right-content .paragraph--type--image .field--name-field-image::before {
    width: 0;
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link {
    margin: 0;
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url {
    display: block;
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a {
    background: none;
    border: #000 2px solid;
    color: #000;
    font-size: 16px;
    font-weight: 800;
    line-height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 294px;
    height: 50px;
    padding: 0;
    position: relative;
    z-index: 1;
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a::before {
    background: url(../image/icon/download-leaflet.svg);
    content: '';
    display: block;
    width: 25px;
    height: 24px;
    margin-right: 9px;
}

.page-node-type-page:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a:hover::before {
    background: url(../image/icon_light/download-leaflet.svg);
}

.page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a::after {
    background: var(--custom-theme-color);
    content: '';
    display: block;
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    top: auto;
    bottom: 0;
    z-index: -1;
    transition: height 0.15s ease-out;
}

.page-node-type-page:not(.pojo-a11y-negative-contrast, .pojo-a11y-high-contrast, .pojo-a11y-light-background) .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a:hover::after {
    height: 100%;
}

.page-node-35 .block-field-blocknodepagefield-body-paragraphs>div:not(.human-touch-section) .field--name-field-image {
    aspect-ratio: 1920 / 820;

    & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* Arts Accessibility Services CSS ------------------------------------------------------------------------------*/
body:not(.path-frontpage, .page-node-type-programme) .arts-accessibility-section1 .paragraph--type--module-9 {
    font-size: 18px;
    margin-top: -60px;
    padding-bottom: 80px;
}

.accessibility-button-section {
    font-size: 18px;
    margin-bottom: 150px;
}

.accessibility-button-section li {
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
}

.accessibility-button-section li>div {
    border-top: 1px solid #000;
    text-align: center;
    display: flex;
    align-items: flex-start;
    width: calc(50% - 25px);
    column-gap: min(17.1%, 140px);
    padding-top: 40px;
    padding-bottom: 90px;
}

.accessibility-button-section li .item-img {
    flex: 0 0 auto;
    width: 80px;
    position: relative;
}

.accessibility-button-section li .item-img::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.accessibility-button-section li.obs-active .item-img::before,
.accessibility-button-section li.onload-active .item-img::before {
    width: 0;
}

.accessibility-button-section li .item-content {
    max-width: 380px;
    text-align: left;
}

.accessibility-button-section li .item-content>div:nth-child(1) {
    font-weight: bold;
    font-size: 18px;
    color: #000;
    margin-bottom: 10px;
}

/* Accessibility Statement CSS ------------------------------------------------------------------------------*/
body.page-node-37:not(.path-frontpage, .page-node-type-programme) .paragraph--type--module-9 {
    font-size: 18px;
    padding-top: 40px;
}

body.page-node-37:not(.path-frontpage, .page-node-type-programme) .paragraph--type--module-9>.paragraph__column {
    width: 75%;
    margin: 0 auto;
}

body.page-node-37:not(.path-frontpage, .page-node-type-programme) .paragraph--type--module-9>.paragraph__column .layout__region--second {
    text-align: center;
}

/* body.page-node-37:not(.path-frontpage, .page-node-type-programme) .paragraph--type--module-9>.paragraph__column img {
    display: block;
    margin-left: auto;
} */

.page-node-37 .paragraph a {
    color: #be5a10;
    text-decoration: underline;
}

.page-node-37 .paragraph a:hover {
    color: #0042A6;
}

.page-node-37 .accessibility-statement-section {
    margin-bottom: 90px;
}

.page-node-37 .accessibility-statement-section>ul {
    flex: 0 0 auto;
    width: 75%;
}

.page-node-37 .accessibility-statement-section>ul>li {
    border-top: 1px solid #000;
    display: flex;
    column-gap: 30px;
    padding-top: 40px;
    padding-bottom: 60px;
    position: relative;
}

.page-node-37 .accessibility-statement-section>ul>li>div:nth-child(1) {
    color: #000;
    font-size: 24px;
    font-weight: 700;
    width: min(25%, 258px);
}

.page-node-37 .accessibility-statement-section>ul>li>div:nth-child(2) {
    font-size: 18px;
    max-width: 490px;
    margin-right: auto;
}

.page-node-37 .accessibility-statement-section>ul>li>p {
    flex: 0 0 auto;
}

.page-node-37 .accessibility-statement-section>ul>li>p>img {
    width: 76px;
    margin-right: 10px;
}

/* Contact Us CSS ------------------------------------------------------------------------------*/
.contact-form .paragraph--type--module-9 {
    margin-top: -60px;
}

.contact-form .block-webform-block .form-control {
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #000;
    line-height: 30px;
    margin-top: 10px;
    padding: 0 0 10px;
    /* padding-left: 0;
    padding-right: 0;
    padding-bottom: 20px; */
}

.contact-form .block-webform-block .form-item {
    position: relative;
}

.contact-form .block-webform-block label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.contact-form .block-webform-block .floating-label {
    font-size: 20px;
    line-height: 30px;
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 10px;
    transition: 0.2s ease all;
}

.contact-form .block-webform-block input:focus~.floating-label,
.contact-form .block-webform-block input:not(:focus):valid~.floating-label,
.contact-form .block-webform-block .form-control:focus~.floating-label,
.contact-form .block-webform-block .form-control:not(:focus):valid~.floating-label {
    top: -18px;
    left: 0;
    font-size: 12px !important;
}

.contact-form .block-webform-block input,
.contact-form .block-webform-block .form-item-message textarea {
    font-size: 20px;
}

.contact-form .block-webform-block input::placeholder,
.contact-form .block-webform-block .form-item-message textarea::placeholder {
    color: #000;
}

.contact-form .block-webform-block .form-item-name,
.contact-form .block-webform-block .form-item-last-name {
    display: inline-block;
    width: calc(50% - 25px);
    margin-top: 0;
    margin-bottom: 0;
}

.contact-form .block-webform-block .form-item-name {
    margin-right: 50px;
    float: left;
}

.contact-form .block-webform-block .form-item-email,
.contact-form .block-webform-block .form-item-subject {
    margin-top: 50px;
    margin-bottom: 0;
    display: inline-block;
}

.contact-form .block-webform-block .form-item-message {
    margin-top: 100px;
    margin-bottom: 50px;
    display: inline-block;
}

.contact-form .block-webform-block .webform-actions {
    display: inline-block;
    margin: 0;
    position: relative;
}

.contact-form .block-webform-block .webform-actions input,
.Subscribe-eNews-section form>div:nth-child(4) input {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    border: none;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    text-align: left;
    display: block;
    width: 210px;
    padding: 12px 22px;
    transition: all 0.2s ease;
}

.contact-form .block-webform-block .webform-actions input:hover,
.Subscribe-eNews-section form>div:nth-child(4) input:hover {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}

.Subscribe-eNews-section {
    margin-top: -30px;
}

.Subscribe-eNews-section form {
    position: relative;
}

.Subscribe-eNews-section form>input:nth-child(2) {
    border: unset;
    border-radius: unset;
    border-bottom: 1px solid #000;
    display: inline-block;
    margin-top: 10px;
    padding: 0 0 10px;
    background: unset;
    width: 100%;
}

.Subscribe-eNews-section form>input:nth-child(2)::placeholder {
    color: #000;
    font-size: 20px;
}

.Subscribe-eNews-section form .floating-label {
    font-size: 20px;
    line-height: 30px;
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 10px;
    transition: 0.2s ease all;
}

.Subscribe-eNews-section form input:focus~.floating-label,
.Subscribe-eNews-section form input:not(:focus):valid~.floating-label {
    top: -18px;
    left: 0;
    font-size: 12px !important;
}

.Subscribe-eNews-section form>div:nth-child(4) {
    display: inline-block;
    background: var(--custom-theme-color);
    margin-top: 50px;
    position: relative;
}

.Subscribe-eNews-section>p a {
    color: #0042A6;
}

.Subscribe-eNews-section>p {
    margin-top: 50px;
    margin-bottom: 50px;
}

/* Webform Submission Form */
.webform-submission-section {
    background-color: #EEEEEE;
    padding-top: 100px;
    padding-bottom: 100px;
}

.webform-submission-section .form-item:first-child {
    margin-top: 0;
}

.webform-submission-section .form-item:last-child {
    margin-bottom: 0;
}

.webform-submission-section .form-item:not(:first-child),
.webform-submission-section .form-actions {
    margin-top: 50px;
}

.webform-submission-section .form-item:not(:last-child),
.webform-submission-section .form-actions {
    margin-bottom: 50px;
}

.webform-submission-subscribe-enews-form #edit-markup {
    margin-top: 0;
}

.webform-submission-section #edit-container {
    width: calc(50% - 25px);
    margin-left: auto;
}

.webform-submission-subscribe-enews-form [id*="edit-container"] .form-item-email {
    margin: 0;
    position: relative;
}

.webform-submission-subscribe-enews-form [id*="edit-container"] .form-item-email label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.webform-submission-subscribe-enews-form [id*="edit-container"] .form-item-email input {
    border: unset;
    border-radius: unset;
    border-bottom: 1px solid #000;
    display: inline-block;
    margin-top: 10px;
    padding: 0 0 10px;
    background: unset;
    width: 100%;
}

.webform-submission-subscribe-enews-form [id*="edit-container"] .form-item-email input:-webkit-autofill,
.webform-submission-subscribe-enews-form [id*="edit-container"] .form-item-email input:-webkit-autofill:hover,
.webform-submission-subscribe-enews-form [id*="edit-container"] .form-item-email input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 30px transparent inset !important;
    -webkit-text-fill-color: inherit !important;
    transition: all 5000s ease-in-out 0s;
}

.webform-submission-subscribe-enews-form .form-item-email .floating-label {
    font-size: 20px;
    line-height: 30px;
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 10px;
    transition: 0.2s ease all;
}

.webform-submission-subscribe-enews-form .form-item-email input:focus~.floating-label {
    top: -18px;
    left: 0;
    font-size: 12px !important;
}

.webform-submission-section .webform-button--submit {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    border: none;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    text-align: left;
    display: block;
    width: 210px;
    padding: 12px 22px;
    transition: all 0.2s ease;
}

.webform-submission-section .webform-button--submit:hover {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}

.webform-submission-section [id*="edit-markup-01"] p {
    font-size: 18px;
    margin-top: 50px;
    margin-bottom: 0;
}

.webform-submission-section [id*="edit-markup-01"] p a {
    color: #be5a10;
    text-decoration: underline;
}

.webform-submission-section [id*="edit-markup-01"] p a:hover {
    color: #0042A6;
}

.webform-submission-subscribe-enews-form [id*="edit-markup-01"] .floating-label,
.webform-submission-subscribe-enews-form #edit-language--wrapper {
    display: none;
}

/* Footer Subscribe eNews */
.footer-top .webform-submission-subscribe-enews-form {
    max-width: 390px;
}

.footer-top .webform-submission-subscribe-enews-form [id*="edit-container"] {
    position: relative;
}

.footer-top .webform-submission-subscribe-enews-form [id*="edit-container"] .form-item {
    margin-top: 20px;
    margin-bottom: 20px;
}

.footer-top .webform-submission-subscribe-enews-form [id*="edit-container"] .form-item-email input {
    border-bottom: 1px solid #fff;
    color: #fff;
    padding-right: 26px;
}

body.pojo-a11y-light-background .footer-top .webform-submission-subscribe-enews-form [id*="edit-container"] .form-item-email input {
    border-bottom: 1px solid #000;
}

.footer-top .webform-submission-subscribe-enews-form [id*="edit-container"] .form-item-email .floating-label {
    font-size: 18px;
    line-height: 24px;
}

.footer-top .webform-submission-subscribe-enews-form .form-actions {
    margin: 0;
}

.footer-top .webform-submission-subscribe-enews-form .webform-button--submit {
    background: #000 url(../image/icon/arrow-oblique-white.svg) 5px center no-repeat;
    border: none;
    text-indent: -9999px;
    display: block;
    width: 26px;
    height: 26px;
    padding: 5px;
    position: absolute;
    right: -5px;
    top: 12px;
    transition: all 0.2s ease;
}

.footer-top .webform-submission-subscribe-enews-form .webform-button--submit:hover {
    background: #000 url(../image/icon/arrow-oblique-white.svg) 10px center no-repeat;
}

body.pojo-a11y-light-background .footer-top .webform-submission-subscribe-enews-form .webform-button--submit {
    background: #fff url(../image/icon/arrow-oblique-black.svg) 5px center no-repeat;
}

body.pojo-a11y-light-background .footer-top .webform-submission-subscribe-enews-form .webform-button--submit:hover {
    background: #fff url(../image/icon/arrow-oblique-black.svg) 10px center no-repeat;
}

/* Subscribe eNews - form-single-submit */
.webform-confirmation__message {
    text-align: center;
    margin-top: 100px;
    margin-bottom: 150px;
}

.webform-confirmation__back {
    margin-bottom: 150px;
}

.webform-confirmation__back a {
    background: url(../image/icon/arrow-left-black.svg) left center no-repeat;
    background-size: 26px 26px;
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    width: fit-content;
    margin-bottom: 50px;
    padding-left: 36px;
}

/* booking guide CSS ------------------------------------------------------------------------------*/
body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>div>.paragraph {
    padding-top: 50px;
    padding-bottom: 50px;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>div:nth-child(2)>.paragraph {
    padding-bottom: 40px;

    & p:last-child {
        margin-bottom: 0;
    }
}

.block-field-blocknodepagefield-body-paragraphs .fit-image .field--name-field-image {
    aspect-ratio: 1920 / 500;
    object-fit: cover;

    & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs h2 {
    display: inline-block;
    padding: 10px 30px;
    background: var(--custom-theme-color);
    margin-bottom: 40px;
    position: relative;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs h3 {
    font-size: 1.75rem;
    line-height: 1.4286;
    margin-bottom: 10px;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs p {
    font-size: 1.125rem;
    color: #000;
    line-height: 1.667;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs .urbtix-section p {
    margin-bottom: 30px;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs .urbtix-section p:last-child {
    margin-bottom: 0;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs p a {
    color: #0042A6;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph {
    padding-bottom: 0;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul:not(:last-child) {
    margin-bottom: 20px;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul:last-child,
body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph p {
    border-bottom: 1px solid #868686;
    padding-bottom: 50px;
    margin-bottom: 0;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul li {
    display: flex;
    column-gap: 40px;
    line-height: 2.2222;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul li>span {
    font-size: 18px;
    color: #000;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul li>span:first-child {
    width: 33.33%;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul li>span:nth-child(2) {
    font-weight: bold;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section:nth-last-of-type(3) ul {
    margin-bottom: 50px;
}

/* body.page-node-40 .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border):after {
    display: none;
}
body.page-node-40 .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border) {
    margin-bottom: 0;
} */
body.page-node-40 .block-field-blocknodepagefield-body-paragraphs ul li {
    font-size: 18px;
    color: #000;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs .guide-ul p {
    margin-bottom: 30px;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs .guide-ul ul {
    padding-left: 25px;
    margin-bottom: 30px;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs .guide-ul ul li {
    list-style-type: disc;
    line-height: 1.667;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs .venue-guide-section p {
    margin-bottom: 30px;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs .venue-guide-section p:last-child {
    margin-bottom: 0;
}

body.page-node-40 .block-field-blocknodepagefield-body-paragraphs .venue-guide-section {
    margin-bottom: 100px;
}

/* add obs-items */
body.page-node-40 .block-field-blockparagraphmodule-9bp-header h2::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

body.page-node-40 .block-field-blockparagraphmodule-9bp-header.obs-active h2::before {
    width: 0;
}

/* Support the Hong Kong Arts Festival CSS ------------------------------------------------------------------------------*/
.arts-festival-section {
    margin-top: -60px;
    margin-bottom: 50px;
}

.page-node-type-page .arts-festival-section .paragraph--type--module-9 h2 {
    width: calc(33.33% - 20px);
    margin-bottom: 50px;
}

.arts-festival-section .paragraph--type--image {
    margin-bottom: 50px;
}

.arts-festival-section .paragraph--type--image .field--name-field-image {
    overflow: hidden;
}

.arts-festival-section .paragraph--type--image .field--name-field-image::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.6s ease-in-out;
    z-index: 1;
}

.arts-festival-section.onload-active .paragraph--type--image .field--name-field-image::before {
    width: 0;
}

.arts-festival-section p {
    font-size: 1.125rem;
    line-height: 1.667;
    margin-bottom: 30px;
}

.arts-festival-section .paragraph--type--link .field--name-bp-link {
    margin: 20px 0 0;
}

.arts-festival-section .paragraph--type--link .field--name-bp-link .link-item .link-url {
    display: block;
}

.arts-festival-section .paragraph--type--link .field--name-bp-link .link-item .link-url a {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    display: block;
    max-width: 530px;
    padding: 12px 50px 12px 22px;
    transition: all 0.2s ease;
}

.arts-festival-section .paragraph--type--link .field--name-bp-link .link-item .link-url a:hover {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}

.arts-festival-section .paragraph--type--link .field--name-bp-link .link-item .link-url a::after {
    content: none;
}

.arts-festival-section ul {
    padding-top: 50px;
    margin-top: 50px;
    border-top: 1px solid #000;
}

.arts-festival-section ul {
    padding-left: 25px;
}

.arts-festival-section ul li {
    list-style-type: disc;
    line-height: 1.875;
}

/* Applicant Personal Information CSS ------------------------------------------------------------------------------*/
@media screen and (min-width: 1180px) {
    .path-webform main {
        margin-top: 200px;
    }
}

.path-webform main p {
    font-size: 18px;
}

.path-webform .form-item {
    margin-top: 0;
    margin-bottom: 0;
}

.form-section-title {
    background-color: var(--custom-theme-color);
    padding-top: 80px;
    padding-bottom: 80px;
}

.form-section-title h1 {
    font-size: var(--font-size-lg);
    margin-bottom: 0;
}

.path-webform h2 {
    font-size: var(--font-size-md);
}

.form-section-image p {
    margin-bottom: 0;

    & img {
        width: 100%;
    }
}

.form-section-onecol {
    padding-top: 90px;
    padding-bottom: 70px;
}

.path-webform .layout--twocol-section {
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px;
    row-gap: 30px;
}

.form-section {
    padding-top: 100px;
    padding-bottom: 100px;
}

.form-section-graybg {
    background-color: #EEEEEE;
}

.form-section .form-info-list {
    margin-bottom: 10px;
}

.form-section .form-info-list strong {
    margin-right: 10px;
}

.form-section .layout--twocol-section .column-50:first-child h2~p,
.layout--twocol-section .layout-region-first .form-type-webform-markup h2~p {
    margin-top: -10px;
}

/* form */
.container-xxl.form-wrapper {
    font-size: 20px;
    padding-top: 100px;
}

.container-xxl.form-wrapper.form-wrapper-padding-bottom {
    padding-bottom: 100px;
}

.container-xxl.form-wrapper .layout_region_second>.form-item:not(:last-child) {
    margin-bottom: 50px;
}

/* .container-xxl.form-wrapper .form-required::after {
    content: "*";
    background: none;
    vertical-align: top;
} */
.form-required~.floating-label::after,
.form-required~div .floating-label::after {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0.3em;
    content: "";
    vertical-align: super;
    background-image: url(/themes/contrib/bootstrap5/images/icons/required.svg);
    background-repeat: no-repeat;
    background-size: 6px 6px;
}

.container-xxl.form-wrapper .form-composite>legend {
    font-weight: 400;
}

.container-xxl.form-wrapper .form-type-textfield label,
.container-xxl.form-wrapper .form-type-number label,
.container-xxl.form-wrapper .form-type-email label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}


.container-xxl.form-wrapper .form-item-introduce-your-experiences label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.container-xxl.form-wrapper .form-type-textfield .form-control,
.container-xxl.form-wrapper .form-type-number .form-control,
.container-xxl.form-wrapper .form-type-email .form-control {
    background: none;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #000;
    line-height: 30px;
    margin-top: 10px;
    padding: 0 0 10px;
}

/* Hide Input Number Arrows - Chrome, Safari, Edge, Opera */
.container-xxl.form-wrapper .form-type-number .form-control::-webkit-outer-spin-button,
.container-xxl.form-wrapper .form-type-number .form-control::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Hide Input Number Arrows - Firefox */
.container-xxl.form-wrapper .form-type-number .form-control[type=number] {
    -moz-appearance: textfield;
}

/* floating label */
.container-xxl.form-wrapper .form-type-textfield,
.container-xxl.form-wrapper .form-type-number,
.container-xxl.form-wrapper .form-type-email {
    position: relative;
}

.container-xxl.form-wrapper .form-type-textfield .floating-label,
.container-xxl.form-wrapper .form-type-number .floating-label,
.container-xxl.form-wrapper .form-type-email .floating-label {
    font-size: 20px;
    line-height: 30px;
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 0;
    transition: 0.2s ease all;
}

.container-xxl.form-wrapper .floating-label.required::after {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0.3em;
    content: "";
    vertical-align: super;
    background-image: url(/themes/contrib/bootstrap5/images/icons/required.svg);
    background-repeat: no-repeat;
    background-size: 6px 6px;
}

.container-xxl.form-wrapper .form-type-textfield .form-control:not(:empty) {
    background-color: red;
}

.container-xxl.form-wrapper:not(.visible-section) .form-type-textfield .form-control:focus~.floating-label,
.container-xxl.form-wrapper:not(.visible-section) .form-type-textfield .form-control.required:not(:focus):valid~.floating-label,
.container-xxl.form-wrapper:not(.visible-section) .form-type-textfield .form-control.filled:not(:focus):valid~.floating-label,
.container-xxl.form-wrapper:not(.visible-section) .form-type-number .form-control:focus~.floating-label,
.container-xxl.form-wrapper:not(.visible-section) .form-type-number .form-control.required:not(:focus):valid~.floating-label,
.container-xxl.form-wrapper:not(.visible-section) .form-type-email .form-control:focus~.floating-label,
.container-xxl.form-wrapper:not(.visible-section) .form-type-email .form-control.required:not(:focus):valid~.floating-label,
.container-xxl.form-wrapper:not(.visible-section) .form-type-email .form-control.required.invalid:not(:focus)~.floating-label,
.container-xxl.form-wrapper:not(.visible-section) .email-filled .floating-label,
.container-xxl.form-wrapper .js-form-item.no_required_filled .floating-label {
    top: -28px;
    left: 0;
    font-size: 12px !important;
}

.container-xxl.form-wrapper textarea~.floating-label {
    color: #717171;
    font-size: 18px;
}

.form-textarea-wrapper .floating-label {
    display: none;
}

.container-xxl.form-wrapper fieldset.form-item {
    border: none;
    border-radius: 0;
    background: none;
}

.container-xxl.form-wrapper fieldset.form-item>legend {
    background: none;
    border: none;
    border-radius: 0;
    margin-bottom: 20px;
    padding: 0;
}

.container-xxl.form-wrapper fieldset.form-item>.fieldset-wrapper {
    padding: 0;
}

.container-xxl.form-wrapper .layout_region_second>.form-item.radios--wrapper:not(:last-child) {
    margin-bottom: 30px;
}

.container-xxl.form-wrapper .form-radios>div,
.container-xxl.form-wrapper .form-checkboxes .form-item {
    margin-bottom: 20px;
}

form .webform-error input[type="radio"] {
    outline: 2px solid red;
    /* 顯示紅色邊框 */
}

form .webform-error {
    color: red;
    /* 錯誤文字顏色 */
    font-weight: bold;
    /* 粗體顯示 */
}

/* more text */
html.js .container-xxl.form-wrapper .form-type-textfield .webform-element-more--link,
html.js .container-xxl.form-wrapper .form-type-number .webform-element-more--link,
html.js .container-xxl.form-wrapper .form-type-email .webform-element-more--link {
    display: none;

}

html.js .container-xxl.form-wrapper .form-type-textfield .webform-element-more--content,
html.js .container-xxl.form-wrapper .form-type-number .webform-element-more--content,
html.js .container-xxl.form-wrapper .form-type-email .webform-element-more--content {
    display: block;
}

/* The container */
.container-xxl.form-wrapper .form-radios>div {
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.container-xxl.form-wrapper .form-radios>div>label {
    padding-left: 60px;
    position: relative;
    z-index: 2;
    left: -20px;
}

.container-xxl.form-wrapper .form-radios>div>label>span {
    color: #ee0000;
}

/* Hide the browser's default checkbox */
/* .container-xxl.form-wrapper .form-radios>div>input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
} */

/* Create a custom radiobtn */
/* .container-xxl.form-wrapper .form-radios>div>.radiobtn {
    background-color: #E4E4E4;
    border-radius: 50%;
    border: #E4E4E4 7px solid;
    display: block;
    height: 30px;
    width: 30px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
} */
input[type="radio"] {
    accent-color: var(--custom-theme-color);
    transform: scale(1.5);
}

/* On mouse-over or checked */
.container-xxl.form-wrapper .form-radios>div:hover>input~.radiobtn,
.container-xxl.form-wrapper .form-radios>div>input:checked~.radiobtn {
    background-color: #000;
}

.container-xxl.form-wrapper .form-radios.webform-options-display-side-by-side>div {
    margin-right: 50px;
}

.container-xxl.form-wrapper .form-radios.webform-options-display-side-by-side>div:last-child {
    margin-right: 0;
}

.js-webform-states-hidden.form-item-other-textarea {
    margin-top: -20px;
}

/* .container-xxl.form-wrapper .form-radios {
    display: flex;
    flex-wrap: wrap;
    column-gap: 50px;
    row-gap: 10px;
} */
/* form layout twocol section */
.layout--twocol-section.form-wrapper {
    flex-direction: column;
}

.layout--twocol-section.form-wrapper .layout_region_second {
    margin-left: auto;
}

/* markup */
.container-xxl.form-wrapper .layout_region_second>.form-item.form-type-webform-markup {
    margin-top: 60px;
    margin-bottom: 20px;
}

.container-xxl.form-wrapper .layout_region_second>.form-item.form-type-webform-markup p {
    font-size: 20px;
    margin-bottom: 0;
}

.container-xxl.form-wrapper .layout_region_second textarea.form-control {
    background: none;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #000;
    line-height: 30px;
    margin-top: 10px;
    padding: 0 0 10px;
}

/* .container-xxl.form-wrapper .layout_region_second .form-textarea-wrapper ~ .description {
    color: #717171;
    font-size: 20px;
    margin-top: -40px;
} */

/* Checkboxes */
.form-checkboxes input[type=checkbox]:checked {
    background-color: var(--custom-theme-color) !important;
}

.form-section-graybg .form-checkboxes input[type=checkbox] {
    background-color: #E4E4E4;
}

/* Declaration */
.declaration-section h2 {
    margin-bottom: 50px;
}

.form-wrapper.declaration-section fieldset.radios--wrapper:not(:last-child) {
    margin-bottom: 50px;
}

.form-wrapper.declaration-section fieldset.radios--wrapper>legend {
    font-size: var(--font-size-sm);
    font-weight: 700;
    margin-bottom: 10px;
}

.form-wrapper.declaration-section fieldset.radios--wrapper>.fieldset-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.form-wrapper.declaration-section fieldset.radios--wrapper>.fieldset-wrapper>.form-radios {
    flex: 0 0 auto;
    width: 25%;

    &>div {
        min-width: 24%;
    }
}

.form-wrapper.declaration-section fieldset.radios--wrapper>.fieldset-wrapper>.description {
    width: 75%;
    font-size: 18px;
}

/* form actions */
.container-xxl.form-wrapper.form-actions {
    margin: 0 auto;
    padding-bottom: 100px;
}

.container-xxl.form-wrapper.form-actions input {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    border: none;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    text-align: left;
    display: block;
    width: 210px;
    margin-left: auto;
    padding: 12px 22px;
    transition: all 0.2s ease;
}

.container-xxl.form-wrapper.form-actions input:hover {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}

/* Accessibility CSS ------------------------------------------------------------------------------*/
/* negative */
body.pojo-a11y-negative-contrast .the-human-touch h2::after,
body.pojo-a11y-negative-contrast .paragraph--type--index-highlighted-programme h2::after,
body.pojo-a11y-negative-contrast .home-calendar h2.side-title::after,
body.pojo-a11y-negative-contrast .latest-news h2::after,
body.pojo-a11y-negative-contrast.page-node-type-page .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border):after {
    background-color: #fff;
}

body.pojo-a11y-negative-contrast .the-human-touch .block-field-blockparagraphmodule-1bp-link a {
    border: #fff 2px solid;
}

body.pojo-a11y-negative-contrast h1,
body.pojo-a11y-negative-contrast h2,
body.pojo-a11y-negative-contrast h3,
body.pojo-a11y-negative-contrast h4,
body.pojo-a11y-negative-contrast h5,
body.pojo-a11y-negative-contrast h6,
body.pojo-a11y-negative-contrast .h1,
body.pojo-a11y-negative-contrast .h2,
body.pojo-a11y-negative-contrast .h3,
body.pojo-a11y-negative-contrast .h4,
body.pojo-a11y-negative-contrast .h5,
body.pojo-a11y-negative-contrast .h6 {
    color: #fff;
}

body.pojo-a11y-negative-contrast .calendar .has-event {
    background-color: #fff !important;
}

body.pojo-a11y-negative-contrast .calendar .calendar-today .day,
body.pojo-a11y-negative-contrast .calendar .has-event .day,
body.pojo-a11y-negative-contrast .card-no-limits-plus .field--name-bp-link a {
    background: #fff !important;
    color: #000 !important;
}

body.pojo-a11y-negative-contrast .home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second .link-url a,
body.pojo-a11y-negative-contrast.page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a,
body.pojo-a11y-negative-contrast.page-node-type-page .arts-festival-section .paragraph--type--link .field--name-bp-link .link-item .link-url a,
body.pojo-a11y-negative-contrast .block-field-blocknodeprogrammefield-urbtix a,
body.pojo-a11y-negative-contrast .block-field-blocknodeprogrammefield-art-mate a,
body.pojo-a11y-negative-contrast .card-no-limits-plus .field--name-bp-link a {
    border: #fff 2px solid;
}

body.pojo-a11y-negative-contrast #i2-offcanvasRight #block-i2-theme-main-navigation>ul>li,
body.pojo-a11y-negative-contrast .production-team-list li,
body.pojo-a11y-negative-contrast .Programme-card-list .card-body-right,
body.pojo-a11y-negative-contrast .card-outreach,
body.pojo-a11y-negative-contrast .card-no-limits-plus .field--name-field-event-title,
body.pojo-a11y-negative-contrast .card-no-limits-plus,
body.pojo-a11y-negative-contrast .view-block-search .view-content .search-card,
body.pojo-a11y-negative-contrast .view-block-search .view-empty .search-card {
    border-bottom: 1px solid #fff;
}

body.pojo-a11y-negative-contrast .accessibility-button-section li>div,
body.pojo-a11y-negative-contrast .page-node-37 .accessibility-statement-section>ul>li,
body.pojo-a11y-negative-contrast .sidebar-section {
    border-top: 1px solid #fff;
}

body.pojo-a11y-negative-contrast input::placeholder,
body.pojo-a11y-negative-contrast textarea::placeholder {
    color: #fff !important;
}

body.pojo-a11y-negative-contrast .ProgrammeForm,
body.pojo-a11y-negative-contrast .ProgrammeCategory,
body.pojo-a11y-negative-contrast .ProgrammeDate,
body.pojo-a11y-high-contrast .ProgrammeForm,
body.pojo-a11y-high-contrast .ProgrammeCategory,
body.pojo-a11y-high-contrast .ProgrammeDate {
    border-right: #fff 1px solid;
}

body.pojo-a11y-negative-contrast .subscribe-wrap {
    border-left: #fff 1px solid;
}

body.pojo-a11y-negative-contrast .home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second .link-url a::before,
body.pojo-a11y-negative-contrast.page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a::before {
    background: url(../image/icon_light/download-leaflet.svg);
}

body.pojo-a11y-negative-contrast .btn-instagram {
    background: url(../image/icon_light/icon-ig.svg) left center no-repeat;
    color: #fff;
}

body.pojo-a11y-negative-contrast .btn-facebook {
    background: url(../image/icon_light/icon-facebook.svg) left center no-repeat;
    color: #fff;
}

body .hc_white,
body #block-i2-theme-footerlogo .hc_black,
body.pojo-a11y-light-background #block-i2-theme-footerlogo .hc_white {
    display: none !important;
}

body.pojo-a11y-light-background #block-i2-theme-footerlogo .hc_black,
body #block-i2-theme-footerlogo .hc_white {
    display: block !important;
}

body.pojo-a11y-light-background #block-i2-theme-footerlogo ul>li:nth-child(1) .hc_black img {
    height: 48px;
}

body.pojo-a11y-negative-contrast .hc_black {
    display: none !important;
}

body.pojo-a11y-negative-contrast .hc_white {
    display: block !important;
}

body.pojo-a11y-negative-contrast .field--name-field-document-leaflet-link a,
body.pojo-a11y-negative-contrast .block-field-blocknodeprogrammefield-audio-house-programme-link a,
body.pojo-a11y-negative-contrast .block-field-blocknodeprogrammefield-descriptive-transcript-lin a,
body.pojo-a11y-negative-contrast .nl_videoTools .vtool_btns>li a,
body.pojo-a11y-high-contrast .field--name-field-document-leaflet-link a,
body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-audio-house-programme-link a,
body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-descriptive-transcript-lin a,
body.pojo-a11y-high-contrast .nl_videoTools .vtool_btns>li a {
    border: #fff 2px solid;
    color: #fff !important;
}

body.pojo-a11y-negative-contrast .block-field-blocknodeprogrammefield-document-leaflet-link>div,
body.pojo-a11y-negative-contrast .block-field-blocknodeprogrammefield-audio-house-programme-link>div,
body.pojo-a11y-negative-contrast .block-field-blocknodeprogrammefield-descriptive-transcript-lin>div,
body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-document-leaflet-link>div,
body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-audio-house-programme-link>div,
body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-descriptive-transcript-lin>div {
    color: #fff !important;
}

body.pojo-a11y-negative-contrast .view-block-programme-list>.view-filters {
    border-bottom: 1px solid #fff;
    border-top: 1px solid #fff;
}

body.pojo-a11y-negative-contrast footer,
body.pojo-a11y-high-contrast footer {
    border-top: 1px solid #fff;
}

body.pojo-a11y-negative-contrast #block-i2-theme-buyticket,
body.pojo-a11y-high-contrast #block-i2-theme-buyticket {
    border: 1px solid #fff;
    clip-path: none;
}

/* high */
body.pojo-a11y-high-contrast .language-switcher-language-url button,
body.pojo-a11y-high-contrast .accessibility-section button,
body.pojo-a11y-high-contrast .programme-section a,
body.pojo-a11y-high-contrast #block-i2-theme-navbutton .btn {
    background: none !important;
    border: 1px solid #ffffff !important;
}

body.pojo-a11y-high-contrast .navbar-brand img.hc_black,
body.pojo-a11y-high-contrast .sponsor-logo ul li .hc_black,
body.pojo-a11y-high-contrast .language-switcher-language-url .hc_black,
body.pojo-a11y-high-contrast .accessibility-section .hc_black,
body.pojo-a11y-high-contrast .programme-section .hc_black,
body.pojo-a11y-high-contrast #block-i2-theme-navbutton .btn .hc_black {
    display: none !important;
}

body.pojo-a11y-high-contrast .navbar-brand img.hc_white,
body.pojo-a11y-high-contrast .sponsor-logo ul li .hc_white,
body.pojo-a11y-high-contrast .language-switcher-language-url .hc_white,
body.pojo-a11y-high-contrast .accessibility-section .hc_white,
body.pojo-a11y-high-contrast .programme-section .hc_white,
body.pojo-a11y-high-contrast #block-i2-theme-navbutton .btn .hc_white {
    display: block !important;
    background: none !important;
}

body.pojo-a11y-high-contrast .sponsor-logo ul li .hc_white img {
    background: none !important;
}

body.pojo-a11y-high-contrast .calendar .calendar-today .day {
    background-color: #fff;
    color: #000;
}

/* body.pojo-a11y-negative-contrast .calendar .has-event .day,
body.pojo-a11y-negative-contrast .card-no-limits-plus .field--name-bp-link a {
    background: #fff !important;
    color: #000 !important;
} */
body.pojo-a11y-high-contrast .aboutus-section {
    border-bottom: 1px solid #fff;
}

body.pojo-a11y-high-contrast.page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a,
body.pojo-a11y-high-contrast .the-human-touch .block-field-blockparagraphmodule-1bp-link a,
body.pojo-a11y-high-contrast .home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second .link-url a,
body.pojo-a11y-high-contrast .accessibility-section .dropdown-menu {
    border: #fff 2px solid !important;
}

body.pojo-a11y-high-contrast .accessibility-button-section li>div,
body.pojo-a11y-high-contrast.page-node-37 .accessibility-statement-section>ul>li {
    border-top: 1px solid #fff;
}

body.pojo-a11y-high-contrast .view-block-programme-list .view-filters {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

body.pojo-a11y-high-contrast.page-node-type-page .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border),
body.pojo-a11y-high-contrast .Programme-card-list .card-body-right,
body.pojo-a11y-high-contrast .card-outreach,
body.pojo-a11y-high-contrast.page-node-type-programme .node__content>.layout--twocol-section--50-50,
body.pojo-a11y-high-contrast .card-no-limits-plus,
body.pojo-a11y-high-contrast .view-block-search .view-content .search-card,
body.pojo-a11y-high-contrast .view-block-search .view-empty .search-card {
    border-bottom: 1px solid #fff;
}

body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-document-leaflet-link,
body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-audio-house-programme-link,
body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-audio-description-trailer {
    background: #600040 !important;
    background-color: #600040 !important;
}

body.pojo-a11y-high-contrast .field--name-field-document-leaflet-link a,
body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-audio-house-programme-link a,
body.pojo-a11y-high-contrast .block-field-blocknodeprogrammefield-descriptive-transcript-lin a {
    background-color: rgba(255, 255, 255, 0);
}

/* light background */
body.pojo-a11y-light-background .calendar-cell {
    background-color: #000;
}

body.pojo-a11y-light-background #block-i2-theme-buyticket {
    background-color: #fff;
    background-image: none;
    /* background-image: url(../image/icon/oblique-arrow-black.png);    
    background-position: right 13px top 15px; */
    border: 1px solid #000;
    clip-path: none;
}

body.pojo-a11y-light-background #block-i2-theme-backtotop .sidebar-back-to-top {
    background: #fff url(../image/icon/arrow-back-to-top-black.svg) center center no-repeat;
    border: #000 1px solid;
    border-right: none;

    & img {
        opacity: 0;
    }
}

body.pojo-a11y-light-background .view-block-programme-list .view-filters .form--inline .edit-reset {
    border: #000 2px solid;
}

body.pojo-a11y-light-background .pagination .is-active .page-link {
    background-color: #fff;
    border: #000 1px solid;
    color: #000;
}

/* Registration Form CSS ------------------------------------------------------------------------------*/
body.page-node-41 .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border):after {
    display: none;
}

body.page-node-41 .node__content>.layout--twocol-section--50-50:nth-child(2):not(.no-border) {
    margin-bottom: 0;
}

body.page-node-41 .registration-form-title {
    padding-top: 80px;
    padding-bottom: 60px;
}

body.page-node-41 .registration-form-title h2 {
    max-width: 1280px;
}

body.page-node-41 .paragraph--id--617 h2,
body.page-node-41 #block-i2-theme-webform-2--2 h2 {
    font-size: 1.75rem;
    font-weight: bold;
    margin-bottom: 10px;
}

/* No Limits PLUS CSS ------------------------------------------------------------------------------*/
.block-views-blockblock-no-limits-plus-block-1 .views-exposed-form {
    display: none;
}

/* Paragraph Image  ***********/
.paragraph--type--image {
    position: relative;
}

.paragraph--type--image .link-url>a {
    text-indent: -9999px;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0;
    z-index: 9;
    opacity: 0;
}

/* home-calendar ***********/
.event-info>a {
    height: 0px;
    width: 0px;
    opacity: 0;
}

/*測試*/
/* .calendar-card-section .event-info>a {
    height: unset;
    width: unset;
    opacity: 1;
}*/
.calendar-card-section .content {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s ease;
}

/*測試 end*/
.calendar-card-section .content.show {
    opacity: 1;
    transform: translateY(0);
}

.calendar-card-section .day {
    display: none;
}

.calendar-card-section .event-info {
    border-bottom: 1px #E7E7E7 solid;
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.calendar-card-section .event-info:last-child {
    border-bottom: unset;
    padding-bottom: unset;
    margin-bottom: 30px;
}

.home-calendar .event-info .calendar-card .card-body::before {
    display: none;
}


/* Webform CSS ------------------------------------------------------------------------------*/
.visible-section .js-form-item.focused .floating-label,
.visible-section .js-form-item.has-value .floating-label {
    top: -26px;
    left: 0;
    font-size: 12px !important;
}

/* programme list view CSS ------------------------------------------------------------------------------*/
.view-block-programme-list .view-empty>.content,
.view-block-programme-list .view-content>div.programme-content {
    max-width: 75%;
    margin: 0 auto;
    border: 1px solid #000;
    background: #FFF;
    margin-top: 80px;
    padding-top: 50px;
    padding-bottom: 30px;
}

.view-block-programme-list .view-content>div.programme-content {
    display: block;
    margin-bottom: 100px;
}

.view-block-programme-list .view-empty>.content h2,
.view-block-programme-list .view-content>div.programme-content h2 {
    font-size: 24px;
}

/* Search Page CSS --------------------------------------------------------------------------*/
/* .view-block-search {
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px;    
    margin-bottom: 150px;
    position: relative;
}
.view-block-search #views-exposed-form-block-search-block-1 .form--inline .form-item {
    float: none;
    margin: 0;
}
.view-block-search #views-exposed-form-block-search-block-1 .form--inline .form-item label {
    line-height: 30px;
    margin-bottom: 3px;
}
.view-block-search #views-exposed-form-block-search-block-1 .form--inline .form-item input {
    border: none;
    border-radius: 0;
    border-bottom: #000 1px solid;
    font-size: 20px;
    line-height: 30px;
    width: calc(50% - 20px);
    padding: 0 0 20px;
}
.view-block-search .view-header {
    font-size: 20px;
    font-weight: 700;
    position: absolute;
    top: 0;
    left: calc(50% + 20px);
    z-index: 1;
}
.view-block-search .view-filters {
    flex: 0 0 auto;
    width: calc(50% - 20px);
}
.view-block-search .view-content,
.view-block-search .view-empty {
    width: calc(50% - 20px);
    padding-top: 30px;
}
.view-block-search #views-exposed-form-block-search-block-1 .form--inline .form-actions {
    margin-top: 50px;
    margin-bottom: 50px;
}
.view-block-search #views-exposed-form-block-search-block-1 .form--inline .form-actions input {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    border: none;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    text-align: left;
    display: block;
    width: 210px;
    padding: 12px 22px;
    transition: all 0.2s ease;
}
.view-block-search #views-exposed-form-block-search-block-1 .form--inline .form-actions input:hover {
    background: var(--custom-theme-color) url(../image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}
.view-block-search .view-content .search-card,
.view-block-search .view-empty .search-card {
    border: none;
    border-radius: 0;
    border-bottom: #000 1px solid;
    padding: 50px 0 80px;    
}
.view-block-search .view-content .search-card::before {
    background: url(../image/icon/arrow-oblique-orange.svg) no-repeat;
    background-size: 24px 24px;
    content: '';
    width: 24px;
    height: 24px;
    position: absolute;
    right: 15px;
    top: 60px;
    z-index: 1;
    transition: all 0.2s ease;
}
.view-block-search .view-content .search-card:hover::before {
    right: 7px;
}
.view-block-search .view-content .search-card .card-title,
.view-block-search .view-empty .search-card .card-title {
    font-size: 28px;
    margin-bottom: 30px;
    padding-right: 25%;
    position: relative;
}
.view-block-search .view-content .search-card .summary p,
.view-block-search .view-empty .search-card .summary p {
    font-size: 18px;
    line-height: 1.667;
}
.view-block-search .view-content .search-card .summary p:last-child,
.view-block-search .view-empty .search-card .summary p:last-child {
    margin-bottom: 0;
}
.view-block-search nav.pager {
    width: calc(50% - 20px);
    margin-left: auto;
}
.pagination {
    justify-content: flex-start;
    column-gap: 8px;    
    margin-top: 100px;
    padding: 0;
}
.pagination .page-link {
    background-color: #EEEEEE;
    border: none;
    border-radius: 0;
    color: #000;
    text-align: center;
    line-height: 34px;
    width: 34px;
    height: 34px;
    padding: 0;
}
.pagination .page-item:first-child .page-link {
    border-radius: 0;
}
.pagination .is-active .page-link {
    background-color: #000;    
    color: #fff;
}
.pagination .pager__item--next .page-link {
    background: #000 url(../image/icon/arrow-next.svg) center center no-repeat;
    border-radius: 0;
    margin-left: 18px;
}
.pagination .pager__item--last .page-link {
    background: #000 url(../image/icon/arrow-last.svg) center center no-repeat;
    border-radius: 0;
}
.pagination .pager__item--previous .page-link {
    background: #000 url(../image/icon/arrow-previous.svg) center center no-repeat;
    border-radius: 0;
    margin-right: 18px;
}
.pagination .pager__item--first .page-link {
    background: #000 url(../image/icon/arrow-first.svg) center center no-repeat;
    border-radius: 0;
}
.pagination .pager__item--next .page-link span,
.pagination .pager__item--last .page-link span,
.pagination .pager__item--previous span,
.pagination .pager__item--first .page-link span {
    text-indent: -9999px;
    display: block;    
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;    
}
 */

.view-id-block_search_api {
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px;
    margin-bottom: 150px;
    position: relative;
}

.view-id-block_search_api #views-exposed-form-block-search-api-block-1 .form--inline .form-item {
    float: none;
    margin: 0;
}

.view-id-block_search_api #views-exposed-form-block-search-api-block-1 .form--inline .form-item label {
    line-height: 30px;
    margin-bottom: 3px;
}

.view-id-block_search_api #views-exposed-form-block-search-api-block-1 .form--inline .form-item input {
    border: none;
    border-radius: 0;
    border-bottom: #000 1px solid;
    font-size: 20px;
    line-height: 30px;
    width: calc(50% - 20px);
    padding: 0 0 20px;
}

.view-id-block_search_api .view-header {
    font-size: 20px;
    font-weight: 700;
    position: absolute;
    top: 0;
    left: calc(50% + 20px);
    z-index: 1;
}

.view-id-block_search_api .view-filters {
    flex: 0 0 auto;
    width: calc(50% - 20px);
}

.view-id-block_search_api .view-content,
.view-id-block_search_api .view-empty {
    width: calc(50% - 20px);
    padding-top: 30px;
}

.block-views-blockblock-search-api-block-1 .views-exposed-form .form--inline .form-actions {
    margin-top: 50px;
    margin-bottom: 50px;
}

.block-views-blockblock-search-api-block-1 .views-exposed-form .form--inline .form-actions input {
    background: var(--custom-theme-color) url(/themes/custom/i2_theme/image/icon/arrow-oblique-black.svg) right 22px center no-repeat;
    background-size: 15px 15px;
    border: none;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    text-align: left;
    display: block;
    width: 210px;
    padding: 12px 22px;
    transition: all 0.2s ease;
}

.block-views-blockblock-search-api-block-1 .views-exposed-form .form--inline .form-actions input:hover {
    background: var(--custom-theme-color) url(/themes/custom/i2_theme/image/icon/arrow-oblique-black.svg) right 17px center no-repeat;
    background-size: 15px 15px;
}

.view-id-block_search_api .view-content .search-card,
.view-id-block_search_api .view-empty .search-card {
    border: none;
    border-radius: 0;
    border-bottom: #000 1px solid;
    padding: 50px 30px 80px 0;
}

.view-id-block_search_api .view-content .search-card::before {
    background: url(/themes/custom/i2_theme/image/icon/arrow-oblique-orange.svg) no-repeat;
    background-size: 24px 24px;
    content: '';
    width: 24px;
    height: 24px;
    position: absolute;
    right: 15px;
    top: 60px;
    z-index: 1;
    transition: all 0.2s ease;
}

.view-id-block_search_api .view-content .search-card:hover::before {
    right: 7px;
}

.view-id-block_search_api .view-content .search-card .card-title,
.view-id-block_search_api .view-empty .search-card .card-title {
    font-size: 28px;
    margin-bottom: 30px;
    padding-right: 25%;
    position: relative;
}

.view-id-block_search_api .view-content .search-card .summary p,
.view-id-block_search_api .view-empty .search-card .summary p {
    font-size: 18px;
    line-height: 1.667;
}

.view-id-block_search_api .view-content .search-card .summary p:last-child,
.view-id-block_search_api .view-empty .search-card .summary p:last-child {
    margin-bottom: 0;
}

.view-id-block_search_api .view-content .search-card h2,
.view-id-block_search_api .view-content .search-card h1.field--name-title {
    font-size: 28px;
}

.view-id-block_search_api nav.pager {
    width: calc(50% - 20px);
    margin-left: auto;
}

.pagination {
    justify-content: flex-start;
    column-gap: 8px;
    margin-top: 100px;
    padding: 0;
}

.pagination .page-link {
    background-color: #EEEEEE;
    border: none;
    border-radius: 0;
    color: #000;
    text-align: center;
    line-height: 34px;
    width: 34px;
    height: 34px;
    padding: 0;
}

.pagination .page-item:first-child .page-link {
    border-radius: 0;
}

.pagination .is-active .page-link {
    background-color: #000;
    color: #fff;
}

.pagination .pager__item--next .page-link {
    background: #000 url(/themes/custom/i2_theme/image/icon/arrow-next.svg) center center no-repeat;
    border-radius: 0;
    margin-left: 18px;
}

.pagination .pager__item--last .page-link {
    background: #000 url(/themes/custom/i2_theme/image/icon/arrow-last.svg) center center no-repeat;
    border-radius: 0;
}

.pagination .pager__item--previous .page-link {
    background: #000 url(/themes/custom/i2_theme/image/icon/arrow-previous.svg) center center no-repeat;
    border-radius: 0;
    margin-right: 18px;
}

.pagination .pager__item--first .page-link {
    background: #000 url(/themes/custom/i2_theme/image/icon/arrow-first.svg) center center no-repeat;
    border-radius: 0;
}

.pagination .pager__item--next .page-link span,
.pagination .pager__item--last .page-link span,
.pagination .pager__item--previous span,
.pagination .pager__item--first .page-link span {
    text-indent: -9999px;
    display: block;
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}



/* Sitemap CSS ------------------------------------------------------------------------------*/
body.path-sitemap .sitemap {
    margin-bottom: 150px;
}

body.path-sitemap .sitemap-item--menu-main>div>ul>li:not(:last-child) {
    margin-bottom: 40px;
}

body.path-sitemap .sitemap-item--menu-main>div>ul>li>a {
    display: block;
    margin-bottom: 10px;
}

body.path-sitemap .sitemap-item--menu-main>div>ul>li>ul {
    margin-left: 40px;

    & li {
        margin-bottom: 10px;
    }
}

/* media  ***********************************************/
@media screen and (min-width: 40em) {

    /* system ***************************************************/
    .layout--twocol-section.layout--twocol-section--50-50>.layout__region--first,
    .layout--twocol-section.layout--twocol-section--50-50>.layout__region--second {
        width: 100%;
    }
}

@media screen and (min-width: 992px) {

    /* system ***************************************************/
    .layout--twocol-section.layout--twocol-section--50-50>.layout__region--first,
    .layout--twocol-section.layout--twocol-section--50-50>.layout__region--second {
        width: 50%;
    }

    /* footer ***************************************************/
    .region-footer-top-left,
    .region-footer-top-right {
        width: 50%;
    }

    /* Hone page ***************************************************/
    /* The Human Touch */
    .the-human-touch .layout--twocol-section--50-50>.layout__region--first,
    .the-human-touch .layout--twocol-section--50-50>.layout__region--second {
        width: calc(50% - 20px);
    }

    /* homepage-newsSwiper CSS */
    .newsSwiper-button-next,
    .newsSwiper-button-prev {
        display: none;
    }

    /* programme list ***************************************************/
    .page-node-type-page .layout--twocol-section--50-50>.layout__region--first,
    .page-node-type-page .layout--twocol-section--50-50>.layout__region--second {
        width: calc(50% - 20px);
    }

    /* programme detail ***************************************************/
    .page-node-type-programme .node__content>.layout--twocol-section--50-50>.layout__region--first,
    .page-node-type-programme .node__content>.layout--twocol-section--50-50>.layout__region--second {
        width: calc(50% - 20px);
    }

    .side-right.layout--twocol-section.layout--twocol-section--25-75>.layout__region--first {
        width: calc(33.33% - 25px);
    }

    .side-right.layout--twocol-section.layout--twocol-section--25-75>.layout__region--second {
        width: calc(66.67% - 25px);
    }

    /* About No Limits CSS ------------------------------------------------------------------------------*/
    .page-node-type-page .aboutus-section .paragraph--type--module-9 h2 {
        max-width: calc(50% - 20px);
    }

    /* Applicant Personal Information CSS ------------------------------------------------------------------------------*/

}

@media screen and (min-width: 1200px) {

    /* About No Limits CSS ------------------------------------------------------------------------------*/
    /* Archive Section CSS */
    .archive-section .paragraph--type--i2-accordion-paragraphs .accordion {
        width: calc(50% - 25px);
    }

    /* Support the Hong Kong Arts Festival CSS ------------------------------------------------------------------------------*/
    .page-node-type-page .arts-festival-section .paragraph--type--module-9 h2 {
        width: calc(33.33% - 25px);
    }

    /* Applicant Personal Information CSS ------------------------------------------------------------------------------*/
    .path-webform .layout--twocol-section {
        column-gap: 50px;
    }

    /* Search Page CSS --------------------------------------------------------------------------*/
    .view-block-search-api {
        column-gap: 50px;
    }

    .view-block-search-api .view-header {
        left: calc(50% + 25px);
    }

    .view-block-search-api .view-filters,
    .view-block-search-api .view-content,
    .view-block-search-api .view-empty,
    .view-block-search-api nav.pager {
        width: calc(50% - 25px);
    }
}

@media screen and (min-width: 1740px) {
    /* system ***************************************************/

    /* Hone page ***************************************************/
    /* calendar */
    .home-calendar {
        background-position: calc(50vw - 850px) 150px !important;
    }

    /* Latest News */
    .latest-news>.content>.container-xxl>.row:first-child {
        padding-top: 14vw;
    }

    .latest-news>.content>.container-xxl>.row:nth-child(2) {
        /* margin-top: calc(((clamp(35px, 3.45vw, 60px) * 1.35) + 14vw + 164px) * -1); */
        margin-top: -30%;
    }

    .latest-news .col-lg-5 {
        margin-right: calc((50vw - 870px) * -1);
        width: calc(62.5% + (50vw - 870px));
    }

    /* homepage-newsSwiper CSS ------------------------------------------------------------------------------*/
    .homepage-newsSwiper .swiper-slide {
        width: min(calc(52% - 50px), 500px);
    }

    /* programme list ***************************************************/
    /* BasicBannerSwiper */
    .block-field-blocknodepagefield-banner-paragraphs {
        padding-left: calc(50% - 850px);
        position: relative;
    }

    .page-node-type-page .BasicBannerSwiper .swiper-slide {
        height: calc(78.4vw - 850px);
    }

    .page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-next {
        right: calc(52.8% - 850px);
    }

    .page-node-type-page .BasicBannerSwiper .BasicBannerSwiper-button-prev {
        right: calc(52.8% - 792px);
    }

    /* programme detail ***************************************************/
    /* banner */
    .page-node-type-programme .layout--twocol-section--50-50:nth-child(2)::before {
        left: calc((50vw - 848px) * -1);
        right: calc((50vw - 848px) * -1);
    }

    /* Sidebar Section */
    .sidebar-section .details-sidebar-section {
        position: absolute;
        left: -33%;
        max-width: calc(25vw - 100px);
    }

    .sidebar-section .details-sidebar-section.active {
        position: fixed;
        left: calc(50vw - 854px);
        top: 190px;
    }
}

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

    /* header ***************************************************/
    /* .navbar-brand img {
        height: 90px;
    } */

    /* Hone page ***************************************************/
    /* The Human Touch */
    /* High Light */
    .the-human-touch,
    .section-HighLight,
    .paragraph--type--index-highlighted-programme,
    .home-calendar,
    .latest-news {
        padding-top: 8.62vw;
        padding-bottom: 8.62vw;
    }

    .path-frontpage .section-HighLight .subcontent {
        margin-top: -8.33vw;
    }

    /* Highlighted Programme */
    .paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content {
        height: calc(84% + 114px);
    }

    .paragraph--type--index-highlighted-programme>.paragraph__column>.layout--twocol-section--50-50 {
        margin-top: -8.33vw;
    }
}

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

    /* header ***************************************************/
    .navigation-section {
        padding-left: 30px;
        padding-right: 30px;
    }

    /* .sponsor-logo ul img {
        height: 40px;
    } */
    /* .sponsor-logo ul p,
    .scrolled-fixed .sponsor-logo ul p {
        margin-bottom: 16px;
    } */
    /* .sponsor-logo ul p {
        margin-bottom: 16px;
    } */

    /* .navbar-brand img {
        height: 74px;
    } */

    /* Hone page ***************************************************/
    /* BannerSwiper */
    .path-frontpage .BannerSwiper-button-next {
        right: 30px;
    }

    .path-frontpage .BannerSwiper-button-prev {
        right: 88px;
    }

    .path-frontpage .BannerSwiper .swiper-button {
        left: 30px;
    }
}

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

    /* header ***************************************************/

    /* Hone page ***************************************************/
    /* The Human Touch*/
    .the-human-touch h2 {
        margin-bottom: 40px;
    }

    .the-human-touch .block-field-blockparagraphmodule-1bp-text {
        width: 100%;
    }

    /* Highlighted Programme */
    .paragraph--type--index-highlighted-programme .layout__region--second a h3 {
        font-size: 20px;
        line-height: 24px;
    }

    /* calendar */
    .home-calendar {
        background-size: auto min(62vw, 680px) !important;
    }

    .home-calendar>.container-xxl>.paragraph__column>.layout {
        width: 84%;
        column-gap: 40px;
    }

    .home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--first,
    .home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second {
        width: calc(50% - 20px) !important;
    }

    /* Latest News */
    .latest-news>.content>.container-xxl>.row:first-child {
        padding-top: calc(18vw - 110px);
    }

    .latest-news>.content>.container-xxl>.row:nth-child(2) {
        /* margin-top: calc(((clamp(35px, 3.45vw, 60px) * 1.35) + (18vw - 110px) + 164px) * -1); */
        margin-top: -30%;
    }

    /* homepage-newsSwiper CSS ------------------------------------------------------------------------------*/
    .homepage-newsSwiper .swiper-slide {
        width: calc(50% - 25px);
    }

    /* .follow {
        margin-bottom: max(7.3vw, 75px);
    } */
    .follow [class*="btn-"] {
        overflow: hidden;
        text-indent: -9999px;
        padding-left: 26px;
    }

    /* programme list ***************************************************/
    /* Programme List */
    .Programme-card-list .card-body {
        flex-direction: column;
    }

    .Programme-card-list .card-body-left {
        padding-top: 0;
        padding-bottom: 10px;
    }

    .Programme-card-list .card-body-right {
        padding-top: 0;
        width: 100%;
    }

    /* programme detail ***************************************************/
    /* banner */
    .page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2) .layout__region--second {
        padding-bottom: 0;
    }

    .download-div {
        column-gap: 10px;
        row-gap: 10px;
    }

    .block-field-blocknodeprogrammefield-document-leaflet-link,
    .block-field-blocknodeprogrammefield-audio-house-programme-link,
    .block-field-blocknodeprogrammefield-audio-description-trailer,
    .block-field-blocknodeprogrammefield-sign-language-trailer-link,
    .block-field-blocknodeprogrammefield-descriptive-transcript-lin {
        width: 222px;
    }

    .block-field-blocknodeprogrammefield-document-leaflet-link .label,
    .block-field-blocknodeprogrammefield-audio-house-programme-link .label,
    .block-field-blocknodeprogrammefield-descriptive-transcript-lin .label {
        font-size: 14px;
        padding-left: 30px;
    }

    /* Sidebar Section */
    .sidebar-section .details-sidebar-section a {
        font-size: 16px;
        line-height: 23px;
        padding: 12px 22px 12px 12px;
    }

    .sidebar-section .details-sidebar-section>.content>ul>li.active a {
        font-size: 18px;
        line-height: 25px;
        padding: 9px 22px 9px 12px;
    }

    /* About No Limits CSS ------------------------------------------------------------------------------*/
    body:not(.path-frontpage, .page-node-type-programme) .aboutus-section .paragraph--type--module-9 {
        padding-top: 80px;
        padding-bottom: 120px;
    }

    /* Outreach Overview CSS ------------------------------------------------------------------------------*/
    .card-outreach .row {
        column-gap: 40px;
    }

    /* No Limits PLUS CSS ------------------------------------------------------------------------------*/
    .card-no-limits-plus .item-list ul {
        padding-left: 40px;
    }

    /* booking guide CSS ------------------------------------------------------------------------------*/
    body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul li>span:first-child {
        width: calc(50% - 20px);
        flex: 0 0 auto;
    }

    /* Applicant Personal Information CSS ------------------------------------------------------------------------------*/
    /* Declaration */
    .form-wrapper.declaration-section fieldset.radios--wrapper>.fieldset-wrapper>.form-radios {
        width: 35%;
    }

    .form-wrapper.declaration-section fieldset.radios--wrapper>.fieldset-wrapper>.description {
        width: 65%;
    }

    /* Search Page CSS --------------------------------------------------------------------------*/
    .view-id-block_search_api #views-exposed-form-block-search-api-block-1 .form--inline .form-item input {
        width: calc(75% - 20px);
    }

    /* Accessibility Statement CSS ------------------------------------------------------------------------------*/
    body.page-node-37:not(.path-frontpage, .page-node-type-programme) .paragraph--type--module-9 .layout--twocol-section .column-50 {
        width: 100% !important;
    }
}

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

    /* index highlighted programme ***************************************************/
    .paragraph--type--index-highlighted-programme .layout--twocol-section.layout--twocol-section--50-50>.layout__region--second {
        width: 55%;
    }

    .paragraph--type--index-highlighted-programme>.paragraph__column>.layout--twocol-section--50-50>.layout__region--first {
        width: 45%;
    }

    /* header ***************************************************/
    header {
        position: relative;
    }

    .path-frontpage main {
        margin-top: 0;
    }

    .navigation-section {
        height: 246px;
        padding: 124px 20px 20px;
    }

    .scrolled-fixed .navigation-section {
        height: 246px;
    }

    [lang="zh-hant"] .navigation-section,
    [lang="zh-hans"] .navigation-section {
        height: 266px;
        padding: 144px 20px 20px;
    }

    [lang="zh-hant"] .scrolled-fixed .navigation-section,
    [lang="zh-hans"] .scrolled-fixed .navigation-section {
        height: 266px;
    }

    .navbar-brand {
        left: 20px;
        top: 12px;
        transform: none;
    }

    [lang="en"] .navbar-brand {
        width: 252px;
        height: auto;
        margin-top: 16px;
        padding: 0;
    }

    [lang="zh-hant"] .navbar-brand,
    [lang="zh-hans"] .navbar-brand {
        width: 144px;
        height: auto;
        margin-top: 16px;
        padding: 0;
    }

    .navbar-brand img,
    .scrolled-fixed .navbar-brand img,
    [lang="zh-hant"] .navbar-brand img,
    [lang="zh-hant"] .scrolled-fixed .navbar-brand img,
    [lang="zh-hans"] .navbar-brand img,
    [lang="zh-hans"] .scrolled-fixed .navbar-brand img {
        width: 100%;
        height: auto;
    }

    /* sponsor */
    .sponsor-logo ul p,
    .scrolled-fixed .sponsor-logo ul p {
        margin-bottom: 20px;
    }

    .sponsor-logo ul li:first-child img {
        width: 245px;
        margin-right: 20px;
    }

    .sponsor-logo ul li:nth-child(2) img {
        width: 365px;
        max-width: 100%;
    }

    /* Navigation Right */
    .navigation-right {
        position: absolute;
        right: 20px;
        top: 44px;
    }

    /* programme list ***************************************************/
    .page-node-type-page main,
    body.path-sitemap main,
    .page-node-type-programme main,
    .page-node-type-video main {
        margin-top: 100px;
    }
}

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

    /* menu */
    .offcanvas.offcanvas-end {
        width: 100%;
    }

    /* index highlighted programme ***************************************************/
    .paragraph--type--index-highlighted-programme .layout--twocol-section.layout--twocol-section--50-50>.layout__region--second {
        width: 100%;
    }

    .paragraph--type--index-highlighted-programme>.paragraph__column>.layout--twocol-section--50-50>.layout__region--first {
        width: 100%;
        margin-bottom: 30px;
    }

    .paragraph--type--index-highlighted-programme>.paragraph__column>.layout--twocol-section--50-50 {
        display: block;
    }

    /* footer ***************************************************/
    .footer-logo ul li:first-child img {
        height: 35px;
    }

    .footer-logo ul li:nth-child(2) img {
        height: 47px;
    }

    .footer-link {
        column-gap: 60px;
    }

    /* Hone page ***************************************************/
    /* BannerSwiper */
    .path-frontpage .BannerSwiper .swiper-slide {
        aspect-ratio: 1920 / 1080;
        height: 56.25vw;
        overflow: hidden;
    }

    .the-human-touch,
    .section-HighLight,
    .paragraph--type--index-highlighted-programme,
    .home-calendar,
    .latest-news {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    /* The Human Touch */
    .the-human-touch .layout--twocol-section--50-50 {
        column-gap: 0;
        row-gap: 0;
        aspect-ratio: initial;
    }

    .the-human-touch .paragraph--type--module-1 .layout--twocol-section.layout--twocol-section--50-50>.layout__region--first,
    .the-human-touch .paragraph--type--module-1 .layout--twocol-section.layout--twocol-section--50-50>.layout__region--second {
        width: 50%;
    }

    .the-human-touch .video-embed-field-provider-youtube,
    .the-human-touch .field--name-field-media-video-file,
    .the-human-touch .field--name-field-media-image {
        width: calc(100% - 40px);
    }

    .the-human-touch .block-field-blockparagraphmodule-1bp-text {
        width: auto;
    }

    .the-human-touch .block-field-blockparagraphmodule-1bp-link {
        width: 100%;
    }

    /* High Light */
    .path-frontpage .section-HighLight .subcontent {
        margin-top: 30px;
    }

    .path-frontpage .section-HighLight .view-left-content ul li {
        width: 280px;
    }

    /* Highlighted Programme */
    .paragraph--type--index-highlighted-programme>.paragraph__column>.layout--twocol-section--50-50 {
        margin-top: 30px;
    }

    .paragraph--type--index-highlighted-programme .layout__region--second .highlighted-right-content-item .item-img .field--name-field-image::before {
        height: 0;
    }

    /* .paragraph--type--index-highlighted-programme .layout__region--first .highlighted-left-content-item */
    .paragraph--type--index-highlighted-programme .layout__region--first .paragraph--type--highlighted-left-content {
        width: 280px;
        width: 100%;
    }

    .paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content {
        column-gap: 20px;
    }

    .paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content>div.active {
        /* width: calc(50% - 40px); */
    }

    /* calendar */
    .home-calendar {
        background-size: auto min(56vw, 620px) !important;
    }

    .home-calendar>.container-xxl>.paragraph__column>.layout {
        flex-direction: column-reverse;
        row-gap: 40px;
    }

    .home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--first,
    .home-calendar>.container-xxl>.paragraph__column>.layout--twocol-section .layout__region--second {
        width: 100% !important;
    }

    /* calendar - card */
    .home-calendar .calendar-card .row .card-img {
        width: 250px;
    }

    /* calendar - calendar */
    .calendar {
        max-width: 390px;
        margin: 0 auto;
    }

    .calendar-header {
        margin-bottom: 40px;
    }

    /* Latest News */
    .latest-news>.content>.container-xxl>.row:first-child {
        padding-top: calc(24vw - 110px);
    }

    .latest-news>.content>.container-xxl>.row:nth-child(2) {
        margin-top: calc(((clamp(35px, 3.45vw, 60px) * 1.35) + (24vw - 110px) + 164px) * -1);
    }

    /* homepage-newsSwiper CSS ------------------------------------------------------------------------------*/
    .homepage-newsSwiper .swiper-slide {
        width: calc(75% - 40px);
        min-width: 255.5px;
    }

    /* programme list ***************************************************/
    /* .page-node-type-page main {
        margin-top: 90px;
    } */
    /* BasicBannerSwiper */
    .BasicBannerSwiper .swiper-slide {
        width: 38% !important;
        min-width: 38% !important;
    }

    .page-node-type-page .BasicBannerSwiper .swiper-slide {
        height: 46vw;
    }

    .BasicBannerSwiper .swiper-slide-active {
        width: 75% !important;
        min-width: 75% !important;
    }

    /* Programme Filters */
    .ProgrammeForm,
    .ProgrammeCategory,
    .ProgrammeDate {
        width: 190px;
        padding: 3px 20px 2px 20px;
    }

    .ProgrammeFilter .dropdown-menu {
        left: -20px !important;
        width: 190px;
    }

    .view-block-programme-list .view-filters .form--inline .edit-reset {
        width: 128px;
    }

    .view-block-programme-list .view-filters .form--inline .form-actions input,
    #edit-submit-block-programme-list {
        background: #000 url(../image/icon/filter.svg) 20px center no-repeat;
        width: 128px;
        padding: 13px 20px;
    }

    /* Programme List */
    .Programme-card-list .row {
        flex-direction: column-reverse;
        row-gap: 30px;
    }

    .Programme-card-list .row .card-img,
    .Programme-card-list .row .card-content {
        width: 100%;
    }

    /* video page CSS ------------------------------------------------------------------------------*/
    .page-node-type-video .node__content>.layout--twocol-section--50-50.video-section-1 {
        row-gap: 0;
        margin-bottom: 50px;
    }

    /* programme detail ***************************************************/
    .page-node-type-programme main,
    .page-node-type-video main {
        margin-top: 90px;
    }

    .page-node-type-programme .node__content>.layout--twocol-section--50-50:first-child {
        row-gap: 0;
        margin-bottom: 50px;
    }

    .page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2) {
        row-gap: 0;
    }

    /* Sidebar Section */
    .sidebar-section .details-sidebar-section a {
        padding: 12px;
    }

    .sidebar-section .details-sidebar-section>.content>ul>li.active a {
        padding: 9px 12px;
    }

    /* breadcrumb */
    .back-to-list {
        margin-bottom: 0;
    }

    .breadcrumb {
        justify-content: flex-start;
        margin-top: 20px;
    }

    /* banner */
    .page-node-type-programme .mobileContent {
        overflow: hidden;
        margin-bottom: 20px;
    }

    .page-node-type-programme .mobileContent h1 {
        margin-bottom: 0;
        transform: translateY(100%);
        transition: transform 0.5s ease-in-out;
    }

    .page-node-type-programme .onload-active .mobileContent h1 {
        transform: translateY(0);
    }

    .page-node-type-programme .block-field-blocknodeprogrammetitle h1 {
        margin-bottom: 46px;
    }

    /* .block-field-blocknodeprogrammefield-banner-paragraphs {
        position: absolute;
        top: 170px;
    } */
    .page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2) {
        flex-direction: column;
    }

    .page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2)::before {
        bottom: 30%;
    }

    .page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2)>.layout__region--first {
        margin-bottom: 50px;
    }

    .download-div {
        column-gap: 20px;
    }

    .page-node-type-programme .swiper-wrapper {
        padding-bottom: 0;
    }

    .block-field-blocknodeprogrammefield-document-leaflet-link,
    .block-field-blocknodeprogrammefield-audio-house-programme-link,
    .block-field-blocknodeprogrammefield-audio-description-trailer,
    .block-field-blocknodeprogrammefield-sign-language-trailer-link,
    .block-field-blocknodeprogrammefield-descriptive-transcript-lin {
        width: calc(50% - 10px);
    }

    .block-field-blocknodeprogrammefield-document-leaflet-link a,
    .block-field-blocknodeprogrammefield-audio-house-programme-link a,
    .block-field-blocknodeprogrammefield-audio-description-trailer button,
    .block-field-blocknodeprogrammefield-sign-language-trailer-link button,
    .block-field-blocknodeprogrammefield-descriptive-transcript-lin a {
        border-width: 1px;
    }

    /* Sidebar Section */
    .sidebar-section {
        margin-top: 50px;
        padding-top: 50px;
    }

    /* side-right */
    .page-node-type-programme h2:not(.performance-details-title) {
        margin-bottom: 40px;
    }

    .page-node-type-programme h2.performance-details-title {
        padding-bottom: 40px;
        margin-bottom: 0;
    }

    /* .side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(5) .layout__region--first,
    .side-right.layout--twocol-section.layout--twocol-section--25-75.screening-content .layout__region--first {
        border-bottom: #868686 1px solid;        
    }
    .side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(5) .layout__region--second,
    .side-right.layout--twocol-section.layout--twocol-section--25-75.screening-content .layout__region--second {
        border-bottom: none;
        padding-bottom: 0;
    } */
    .side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(4) .layout__region--first,
    .side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(5) .layout__region--first,
    .side-right.layout--twocol-section.layout--twocol-section--25-75.screening-content .layout__region--first {
        padding-bottom: 0;
    }

    .side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(4) .layout__region--first h3,
    .side-right.layout--twocol-section.layout--twocol-section--25-75:nth-child(5) .layout__region--first h3,
    .side-right.layout--twocol-section.layout--twocol-section--25-75.screening-content .layout__region--first h3 {
        margin-bottom: 40px;
    }

    /* module 6 */
    .paragraph--type--module-6>.paragraph__column {
        padding-left: 0;
        padding-right: 0;
    }

    /* About No Limits CSS ------------------------------------------------------------------------------*/
    .aboutus-section .layout__region--first.column-50 {
        width: calc(25% - 20px) !important;
    }

    .aboutus-section .layout__region--second.column-50 {
        width: calc(75% - 20px) !important;
    }

    /* Archive Section CSS */
    .archive-section .paragraph--type--i2-accordion-paragraphs .accordion {
        width: 75%;
    }

    /* Outreach Overview CSS ------------------------------------------------------------------------------*/
    .page-node-5 .view-block-programme-list .view-content>div {
        row-gap: 50px;
    }

    .card-outreach .row {
        column-gap: 20px;
        padding-bottom: 50px;
    }

    .card-outreach .card-body {
        row-gap: 40px;
    }

    .card-outreach .card-content {
        padding-left: 0;
    }

    /* No Limits PLUS CSS ------------------------------------------------------------------------------*/
    .card-no-limits-plus .item-list ul {
        padding-left: 20px;
    }

    /* This Year’s Theme CSS ------------------------------------------------------------------------------*/
    .page-node-type-page .human-touch-section .paragraph--type--module-9 .block-field-blockparagraphmodule-9field-right-content {
        margin-top: 40px;
        padding-left: 0;
    }

    .page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a {
        margin-left: auto;
        margin-right: auto;
    }

    .page-node-35 .block-field-blocknodepagefield-body-paragraphs>div:not(.human-touch-section) .field--name-field-image {
        height: 42.71vw;
    }

    /* Arts Accessibility Services CSS ------------------------------------------------------------------------------*/
    body:not(.path-frontpage, .page-node-type-programme) .arts-accessibility-section1 .paragraph--type--module-9 .column-50 {
        width: 100% !important;
    }

    /* Accessibility Statement CSS ------------------------------------------------------------------------------*/
    body.page-node-37:not(.path-frontpage, .page-node-type-programme) .paragraph--type--module-9 {
        padding-top: 20px;
    }

    body.page-node-37:not(.path-frontpage, .page-node-type-programme) .paragraph--type--module-9>.paragraph__column,
    .page-node-37 .accessibility-statement-section>ul {
        width: 100%;
    }

    body.page-node-37:not(.path-frontpage, .page-node-type-programme) .paragraph--type--module-9>.paragraph__column img {
        margin-right: auto;
    }

    .page-node-37 .accessibility-statement-section>ul>li>div:nth-child(1) {
        min-width: 25%;
    }

    /* Contact Us CSS ------------------------------------------------------------------------------*/
    .page-node-type-page .contact-form .paragraph--type--module-9 .column-50,
    .page-node-type-page .subscribe-form .paragraph--type--module-9 .column-50 {
        width: 100% !important;
    }

    .contact-form .block-webform-block .form-item-name {
        margin-right: 40px;
    }

    .contact-form .block-webform-block .form-item-name,
    .contact-form .block-webform-block .form-item-last-name {
        width: calc(50% - 20px);
    }

    /* Webform Submission Form */
    .webform-submission-section #edit-container {
        width: 100%;
    }

    /* booking guide CSS ------------------------------------------------------------------------------*/
    .block-field-blocknodepagefield-body-paragraphs .fit-image .field--name-field-image {
        height: 26.04vw;
    }

    body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul li {
        column-gap: 20px;
    }

    body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul li>span:first-child {
        width: calc(50% - 10px);
    }

    /* Support the Hong Kong Arts Festival CSS ------------------------------------------------------------------------------*/
    .page-node-type-page .arts-festival-section .paragraph--type--module-9 h2 {
        width: auto;
        max-width: 364px;
    }

    /* Applicant Personal Information CSS ------------------------------------------------------------------------------*/
    /* Declaration */
    .form-wrapper.declaration-section fieldset.radios--wrapper>.fieldset-wrapper>.form-radios {
        width: 45%;
    }

    .form-wrapper.declaration-section fieldset.radios--wrapper>.fieldset-wrapper>.description {
        width: 55%;
    }

    /* Search Page CSS --------------------------------------------------------------------------*/
    .view-block-search-api {
        flex-direction: column;
    }

    .view-block-search-api .view-filters {
        order: 1;
        width: 100%;
    }

    .view-block-search-api .view-header {
        order: 2;
        position: relative;
        left: auto;
    }

    .view-block-search-api .view-content,
    .view-block-search-api .view-empty {
        order: 3;
        width: 100%;
        padding-top: 0;
    }

    .view-block-search-api nav.pager {
        order: 4;
        width: 100%;
    }

    .pagination {
        justify-content: center;
    }
}

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

    /* header ***************************************************/
    .navbar-brand {
        top: 60px;
    }

    [lang="zh-hant"] .navbar-brand,
    [lang="zh-hans"] .navbar-brand {
        top: 28px;
    }

    [lang="en"] .navigation-section,
    [lang="en"].scrolled-fixed .navigation-section {
        height: auto;
    }

    [lang="en"] .navbar-brand {
        width: 200px;
        margin-top: 20px;
    }

    [lang="zh-hant"] .navigation-section,
    [lang="zh-hans"] .navigation-section {
        height: auto;
        padding: 156px 20px 20px;
    }

    [lang="zh-hant"] .scrolled-fixed .navigation-section,
    [lang="zh-hans"] .scrolled-fixed .navigation-section {
        height: auto;
    }

    [lang="zh-hant"] .navbar-brand,
    [lang="zh-hans"] .navbar-brand {
        width: 118px;
        margin-top: 20px;
    }

    .navigation-section {
        padding: 172px 20px 20px;
    }

    /* sponsor */
    .sponsor-logo ul {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }

    .sponsor-logo ul li:first-child img {
        width: 245px;
    }

    /* Navigation Right */
    .navigation-right {
        top: 20px;
    }

    .navigation-right .region-nav-right {
        column-gap: 6px;
    }

    /* offcanvasRight CSS */
    .offcanvas.offcanvas-end {
        padding: 120px 20px 60px;
    }

    .offcanvas-header .btn-close {
        right: 20px;
    }

    #i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown {
        flex-direction: column;
    }

    #i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown>a[aria-expanded="true"] {
        width: 100%;
    }

    #i2-offcanvasRight #block-i2-theme-main-navigation>ul>li.dropdown>.dropdown-menu {
        width: 100%;
        padding-top: 0;
    }

    #i2-offcanvasRight .offcanvas-header #block-i2-theme-searchbutton,
    #i2-offcanvasRight .region-nav-navigation #block-i2-theme-searchbutton {
        left: 20px;
        right: 80px;
    }

    .subscribe-wrap {
        margin-left: 7px;
        padding-left: 15px;
    }

    /* footer ***************************************************/
    .region-footer-bottom-left,
    .region-footer-bottom-right {
        width: 100%;
    }

    .region-footer-bottom-right p {
        text-align: left;
    }

    .region-footer-bottom-right .footer-award {
        width: auto;
        height: 75px;
    }

    .footer-logo ul {
        padding-bottom: 0;
        margin-bottom: 40px;
    }

    /* Buy Now ***************************************************/

    /* Hone page ***************************************************/
    /* The Human Touch */
    .the-human-touch h2 {
        margin-bottom: calc(56.25vw + 40px);
    }

    .the-human-touch .paragraph--type--module-1 .layout--twocol-section.layout--twocol-section--50-50>.layout__region--first,
    .the-human-touch .paragraph--type--module-1 .layout--twocol-section.layout--twocol-section--50-50>.layout__region--second,
    .the-human-touch .video-embed-field-provider-youtube,
    .the-human-touch .field--name-field-media-video-file,
    .the-human-touch .field--name-field-media-image {
        width: 100%;
    }

    .the-human-touch .video-embed-field-provider-youtube,
    .the-human-touch .field--name-field-media-video-file,
    .the-human-touch .field--name-field-media-image {
        position: absolute;
        top: 129px;
        z-index: 1;
    }

    /* High Light */
    .path-frontpage .section-HighLight .subcontent {
        flex-direction: column-reverse;
    }

    .path-frontpage .section-HighLight .view-left-content,
    .path-frontpage .section-HighLight .view-right-content,
    .path-frontpage .section-HighLight .view-left-content ul li {
        width: 100%;
    }

    .path-frontpage .section-HighLight .view-right-content {
        height: calc(71vw - 40px);
        margin-bottom: 50px;
    }

    /* Highlighted Programme */
    .paragraph--type--index-highlighted-programme>.paragraph__column>.layout--twocol-section--50-50 {
        flex-direction: column;
    }

    .paragraph--type--index-highlighted-programme>.paragraph__column>.layout--twocol-section--50-50>.layout__region--first {
        margin-bottom: 50px;
    }

    .paragraph--type--index-highlighted-programme .layout--twocol-section.layout--twocol-section--50-50>.layout__region--second {
        width: 100%;
        height: auto;
    }

    .paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content {
        flex-wrap: wrap;
        column-gap: 10px;
        row-gap: 50px;
        height: auto;
    }

    .paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content>div {
        width: 100%;
    }

    .paragraph--type--index-highlighted-programme .layout__region--second .block-field-blockparagraphindex-highlighted-programmefield-right-content>div.active {
        /* width: 100%; */
    }

    /* calendar */
    .home-calendar {
        background: none !important;
    }

    .home-calendar>.container-xxl>.paragraph__column>.layout {
        width: 100%;
    }

    /* calendar - card */
    .home-calendar .calendar-card-section>.date {
        margin-bottom: 30px;
    }

    .home-calendar .calendar-card .row {
        row-gap: 20px;
        flex-direction: column;
    }

    .home-calendar .calendar-card .row .card-img {
        width: 250px;
        margin-top: 0;
    }

    .home-calendar .calendar-card .card-body {
        width: 100%;
    }

    /* calendar - calendar */
    .calendar-cell {
        font-size: 18px;
    }

    .calendar .has-event .day,
    .calendar .calendar-today .day {
        width: 32px;
        height: 32px;
    }

    /* Latest News */
    .latest-news {
        position: relative;
    }

    .latest-news>.content>.container-xxl>.row:nth-child(2) {
        /* margin-top: calc(((100% - 20px) * 75%) - 40px); */
        margin-top: 0;
        margin-bottom: 120px;
        flex-direction: column-reverse;
    }

    .latest-news .col-8 {
        position: unset;
    }

    .latest-news .col-md-3 {
        height: 48px;
        display: none;
    }

    .latest-news .col-md-5 {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* homepage-newsSwiper CSS ------------------------------------------------------------------------------*/
    .homepage-newsSwiper>.swiper-wrapper>.swiper-slide {
        width: 100%;
        padding-right: 20px;
    }

    .follow {
        margin-bottom: 0;
        position: absolute;
        /* bottom: calc(((100vw * 1.284) + 118px) * -1); */
        bottom: 44px;
    }

    /* programme list ***************************************************/
    /* BasicBannerSwiper */
    .BasicBannerSwiper .swiper-slide {
        width: 100% !important;
        min-width: 100% !important;
        padding-right: 20px;
    }

    .page-node-type-page .BasicBannerSwiper .swiper-slide {
        height: calc((100% - 20px) * 0.625);
    }

    .BasicBannerSwiper .swiper-slide-active {
        width: 100% !important;
        min-width: 100% !important;
    }

    /* Programme Filters */
    .view-block-programme-list .view-filters .form--inline {
        flex-direction: column;
    }

    .view-block-programme-list .view-filters .form--inline .ProgrammeFilter .content {
        flex-direction: column;
    }

    .ProgrammeForm,
    .ProgrammeCategory,
    .ProgrammeDate {
        border-right: none;
        border-bottom: #000 1px solid;
        width: 100%;
        padding: 5px 10px;
    }

    .ProgrammeFilter .dropdown-menu {
        left: -10px !important;
        width: 100%;
    }

    .ProgrammeForm .dropdown-toggle p,
    .ProgrammeCategory .dropdown-toggle p,
    .ProgrammeDate .dropdown-toggle p,
    #edit-field-in-venue-date-value-wrapper .dropdown-toggle p {
        margin-bottom: 4px;
    }

    .view-block-programme-list .view-filters .form--inline .edit-reset {
        width: 100%;
        margin: 0;
    }

    .view-block-programme-list .view-filters .form--inline .form-actions {
        margin: 0;
    }

    .view-block-programme-list .view-filters .form--inline .form-actions input,
    #edit-submit-block-programme-list {
        text-align: center;
        width: 100%;
        margin: 0;
    }

    .ProgrammeFilter .dropdown-menu {
        top: calc(100% + 1px);
    }

    /* Programme List */
    .Programme-card-list .card-body-right {
        padding-right: 20px;
    }

    .Programme-card-list .card-body-right .card-title {
        padding-right: 36px;
    }

    .Programme-card-list ul {
        flex-direction: column;
        row-gap: 15px;
    }

    .Programme-card-list ul li span:first-child {
        min-width: 92px;
        width: 40%;
    }

    .Programme-card-list ul li span {
        font-size: 20px;
    }

    .Programme-card-list .card-venue {
        font-size: 20px;
    }

    /* programme detail ***************************************************/
    /* banner */
    .page-node-type-programme .node__content>.layout--twocol-section--50-50:nth-child(2) .layout__region--second {
        padding-bottom: 0;
    }

    .block-field-blocknodeprogrammefield-document-leaflet-link,
    .block-field-blocknodeprogrammefield-audio-house-programme-link,
    .block-field-blocknodeprogrammefield-audio-description-trailer,
    .block-field-blocknodeprogrammefield-sign-language-trailer-link,
    .block-field-blocknodeprogrammefield-descriptive-transcript-lin {
        width: 100%;
    }

    /* Sidebar Section */
    .sidebar-section .details-sidebar-section {
        display: none;
    }

    /* side-right */
    .side-right {
        width: 100%;
        margin-left: 0;
    }

    .side-right.layout--twocol-section.layout--twocol-section--25-75 .layout__region--second {

        .block-field-blocknodeprogrammefield-urbtix,
        .block-field-blocknodeprogrammefield-art-mate,
        .block-field-blocknodeprogrammefield-in-venue-screening-urbtix,
        .block-field-blocknodeprogrammefield-in-venue-screening-art-ma {
            width: calc(50% - 10px);
        }
    }

    .block-field-blocknodeprogrammefield-in-venue-display-time>img,
    .block-field-blocknodeprogrammefield-in-venue-screening-displa>img,
    .block-field-blocknodeprogrammefield-online-screening-display>img {
        margin-top: 0;
    }

    .field--name-field-in-venue-display-time,
    .field--name-field-in-venue-screening-displa,
    .field--name-field-online-screening-display {
        width: 100%;
    }

    .block-field-blocknodeprogrammefield-venue>img,
    .block-field-blocknodeprogrammefield-in-venue-screening-venue>img {
        margin-top: 0;
    }

    .field--name-field-venue,
    .field--name-field-in-venue-screening-venue {
        width: 100%;
    }

    .field--name-field-in-venue-ticket,
    .field--name-field-in-venue-no-limits-plus,
    .field--name-field-note,
    .field--name-field-in-venue-screening-ticket,
    .field--name-field-online-screening-ticket {
        width: 100%;
    }

    .field--name-field-venue-location-link a,
    .field--name-field-in-venue-screening-venu.field--type-link a {
        padding-left: 0;
    }

    .block-field-blocknodeprogrammefield-in-venue-screening-note .label {
        width: 100%;
    }

    /* About No Limits CSS ------------------------------------------------------------------------------*/
    .aboutus-section .layout__region--first.column-50 {
        display: none;
    }

    .aboutus-section .layout__region--second.column-50 {
        width: 100% !important;
    }

    .production-team-list li {
        width: 100%;
    }

    /* Archive Section CSS */
    .archive-section .paragraph--type--i2-accordion-paragraphs .accordion {
        width: 100%;
    }

    /* Outreach Overview CSS ------------------------------------------------------------------------------*/
    .card-outreach .img-fluid {
        width: 100%;
    }

    /* No Limits PLUS CSS ------------------------------------------------------------------------------*/
    .view-block-no-limits-plus {
        padding-top: 60px;
    }

    .view-block-no-limits-plus .view-content,
    .view-block-no-limits-plus .view-content>div {
        row-gap: 60px;
    }

    .card-no-limits-plus .row>div>.img-fluid::before {
        height: 0;
    }

    .card-no-limits-plus .item-list ul {
        padding-left: 0;
    }

    .card-no-limits-plus .block-field-blockparagraphplus-eventsfield-plus-display-time,
    .card-no-limits-plus .block-field-blockparagraphplus-eventsfield-venue {
        flex-wrap: wrap;
        margin-bottom: 40px;
    }

    .card-no-limits-plus .block-field-blockparagraphplus-eventsfield-location-link {
        margin-top: -40px;
        margin-bottom: 40px;
    }

    .card-no-limits-plus .block-field-blockparagraphplus-eventsfield-location-link a {
        padding-left: 0;
    }

    .card-no-limits-plus .field--name-field-display-time2 .field__item,
    .card-no-limits-plus .field--name-field-plus-display-time,
    .card-no-limits-plus .field--name-field-venue {
        font-size: 20px;
    }

    .card-no-limits-plus .field--name-field-plus-display-time,
    .card-no-limits-plus .field--name-field-venue {
        width: 100%;
    }

    .block-field-blockparagraphplus-eventsfield-language,
    .block-field-blockparagraphplus-eventsfield-note {
        flex-wrap: wrap;
        margin-bottom: 40px;
    }

    .block-field-blockparagraphplus-eventsfield-admission {
        flex-wrap: wrap;
    }

    .block-field-blockparagraphplus-eventsfield-language .field,
    .block-field-blockparagraphplus-eventsfield-admission .field {
        width: 100%;
    }

    .block-field-blockparagraphplus-eventsfield-admission:not(:last-child) {
        margin-bottom: 40px;
    }

    .block-field-blockparagraphplus-eventsfield-plus-summary {
        margin-bottom: 40px;
        padding-left: 0;
    }

    /* This Year’s Theme CSS ------------------------------------------------------------------------------*/
    .page-node-type-page .human-touch-section .paragraph--type--module-9 .column-50 {
        width: 100% !important;
    }

    .page-node-type-page .human-touch-section .paragraph--type--module-9 .paragraph--type--link .field--name-bp-link .link-item .link-url a {
        max-width: none;
    }

    /* Arts Accessibility Services CSS ------------------------------------------------------------------------------*/
    body:not(.path-frontpage, .page-node-type-programme) .arts-accessibility-section1 .paragraph--type--module-9 {
        padding-bottom: 60px;
    }

    .accessibility-button-section li>div {
        width: 100%;
        padding-bottom: 60px;
    }

    /* Accessibility Statement CSS ------------------------------------------------------------------------------*/
    body.page-node-37:not(.path-frontpage, .page-node-type-programme) .paragraph--type--module-9 .column-50 {
        width: 100% !important;
    }

    .page-node-37 .accessibility-statement-section>ul {
        width: 100%;
    }

    .page-node-37 .accessibility-statement-section>ul>li {
        flex-wrap: wrap;
    }

    .page-node-37 .accessibility-statement-section>ul>li>div:nth-child(1) {
        width: 218px;
        margin-right: auto;
    }

    .page-node-37 .accessibility-statement-section>ul>li>div:nth-child(2) {
        order: 2;
        max-width: none;
    }

    /* booking guide CSS ------------------------------------------------------------------------------*/
    body.page-node-40 .no-padding .paragraph {
        margin-bottom: 30px;
    }

    body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>div>.paragraph {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>div:nth-child(2)>.paragraph {
        padding-bottom: 30px;
    }

    body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph ul:last-child,
    body.page-node-40 .block-field-blocknodepagefield-body-paragraphs>.ticketing-section>.paragraph p {
        padding-bottom: 40px;
    }

    /* Applicant Personal Information CSS ------------------------------------------------------------------------------*/
    /* form */
    .container-xxl.form-wrapper .form-radios.webform-options-display-side-by-side>div {
        margin-right: 30px;
    }

    /* Declaration */
    .form-wrapper.declaration-section fieldset.radios--wrapper>.fieldset-wrapper>.form-radios,
    .form-wrapper.declaration-section fieldset.radios--wrapper>.fieldset-wrapper>.description {
        width: 100%;
    }

    /* Search Page CSS --------------------------------------------------------------------------*/
    .view-id-block_search_api #views-exposed-form-block-search-api-block-1 .form--inline .form-item input {
        width: 100%;
    }
}

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

    /* header ***************************************************/
    /* sponsor */
    .sponsor-logo ul li:first-child img {
        width: 220px;
    }

    .sponsor-logo ul li:nth-child(2) img {
        width: 320px;
    }

    /* programme detail ***************************************************/
    /* breadcrumb */
}

/* @media screen and (max-width: 400px) {
    .sponsor-logo ul li:first-child img {
        width: 183px;                  
    }

} */