@font-face {
    font-family: Montserrat_UltraLight;
    src: url(fonts/Montserrat-UltraLight.otf)
}

@font-face {
    font-family: Montserrat_Light;
    src: url(fonts/Montserrat-Light.otf)
}

@font-face {
    font-family: Montserrat;
    src: url(fonts/Montserrat-Regular.otf)
}

@font-face {
    font-family: SourceHanSansCN_ExtraLight;
    src: url(fonts/SourceHanSansCN-ExtraLight.otf)
}

@font-face {
    font-family: SourceHanSansCN_Regular;
    src: url(fonts/SourceHanSansCN-Regular.otf)
}

@font-face {
    font-family: SourceHanSansCN_Light;
    src: url(fonts/SourceHanSansCN-Light.otf)
}

* {
    padding: 0;
    margin: 0;
    text-decoration: none
}

html,
body {
    font-family: Montserrat_Light, Helvetica, Arial, sans-serif;
    font-size: 16px;
    color: white;
    height: 100%;
    padding: 0;
    overflow-y: hidden;
    overflow-x: scroll;
    position: relative;
    background: black;
    z-index: -101
}

.hidden {
    display: none
}

.w90 {
    width: 90px
}

.left50 {
    margin-left: -30px
}

.link {
    opacity: .75;
    cursor: pointer;
    -webkit-transition: all ease-in-out .3s;
    -moz-transition: all ease-in-out .3s;
    -o-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s
}

.link:hover {
    opacity: 1
}

.title-number {
    font-family: Montserrat;
    font-size: 24px;
    line-height: 65px;
    letter-spacing: 4.5px
}

h1 {
    font-family: Montserrat;
    font-size: 36px;
    line-height: 52px;
    letter-spacing: 4.5px
}

h2 {
    font-family: Montserrat_UltraLight;
    font-size: 20px;
    letter-spacing: 3px;
    line-height: 28px
}

p.article {
    font-family: Montserrat_Light;
    font-size: 12px;
    line-height: 24px;
    letter-spacing: .2px;
    padding-right: 40px
}

h3 {
    font-family: Montserrat;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 2px;
    opacity: .75
}

h3:hover {
    opacity: 1
}

h3.selected {
    color: #EA350F
}

.fullscreen-bg {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    z-index: -100
}

.bg-img {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    z-index: -100
}

.video_bg,
#video_trailer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

a,
a:hover,
a:visited,
a:active {
    color: white;
    text-decoration: none
}

.white-line {
    width: 22px;
    background: white;
    height: 1px;
    margin-right: 15px;
    display: inline-block;
    margin-bottom: 4px
}

.bg-black,
.film .bg-overlay {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    z-index: -1;
    background: rgba(0, 0, 0, .75)
}

.bg-curve {
    position: absolute;
    width: 100%
}

.bg-curve img {
    width: 100%
}

.film .bg-overlay {
    background: rgba(0, 0, 0, .5)
}

.footer {
    margin-bottom: 70px;
    height: 20px
}

#lang_option {
    padding-left: 75px
}

.social-icons {
    text-align: right;
    padding-right: 40px;
    z-index: 9999999
}

.social-icons img {
    margin-right: 35px
}

.bgm-icon {
    width: 20px
}

.menu-icon,
.logo-horizontal {
    z-index: 9999999;
    margin-top: 40px
}

.menu-icon {
    margin-right: 75px
}

.menu-icon img {
    -o-transform: all ease-in-out .5s;
    -moz-transform: all ease-in-out .5s;
    -webkit-transform: all ease-in-out .5s;
    transform: all ease-in-out .5s
}

.menu {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    padding-top: 70px;
    background-size: cover;
    background-color: black
}

.menu-list {
    height: 70%;
    height: 70vh
}

.menu-list div {
    display: flex;
    align-items: center
}

.menu-list div a {
    font-family: Montserrat;
    font-size: 24px;
    letter-spacing: 5px;
    margin: 0 auto;
    -o-transition: all ease-in-out .5s;
    -moz-transition: all ease-in-out .5s;
    -webkit-transition: all ease-in-out .5s;
    transition: all ease-in-out .5s
}

div.menu-hover-dot {
    background: #EA350F;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    margin-left: 0%;
    opacity: 0;
    margin-top: 30px;
    -o-transition: all ease .5s;
    -moz-transition: all ease .5s;
    -webkit-transition: all ease .5s;
    transition: all ease .5s
}

.menu-list div a:hover>div.menu-hover-dot {
    opacity: .8;
    margin-left: 50%
}

.fade-loop1 {
    height: 115px;
    width: auto;
    margin-right: 30px;
    opacity: 0;
    position: absolute;
    right: 0
}

.home-logo-tagline {
    margin: 90px 0
}

.home-logo-tagline img {
    width: 360px
}

.home-logo-tagline p {
    font-family: Montserrat_Light;
    color: #EA350F;
    letter-spacing: 1.67px;
    margin-top: 40px;
}

.home-awards {
    position: absolute;
    top: 50%;
    right: 75px;
    -o-transform: translateY(-57px);
    -moz-transform: translateY(-57px);
    -webkit-transform: translateY(-57px);
    transform: translateY(-57px)
}

.home-events,
.gallery-nav {
    position: absolute;
    width: 100%;
    bottom: 150px
}

.home-events h4 {
    font-family: Montserrat_UltraLight;
    font-size: 24px;
    letter-spacing: 2.5px;
    margin-bottom: 19px
}

.home-events h5 {
    font-family: Montserrat;
    font-size: 14px;
    letter-spacing: .895px;
    margin-bottom: 9px
}

.home-events p.dates {
    font-size: 11px;
    letter-spacing: 1px;
    color: rgba(235, 51, 15, 1);
    opacity: .75;
    margin-bottom: 12px;
}

.home-ticket {
    font-size: 12px;
    letter-spacing: 1px;
    opacity: .75;
    margin-left: 20px;
    -o-transition: opacity ease .5s;
    -moz-transition: opacity ease .5s;
    -webkit-transition: opacity ease .5s;
    transition: opacity ease .5s
}

.home-ticket:hover {
    opacity: 1
}

a.goto-trailer-link {
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 20px;
}
div.footer a.goto-trailer-link:first-child {
	margin-right: 80px;
}

a.goto-trailer-link span {
    display: inline-block;
    width: 35px
}

.carousel-inner {
    -moz-transition: all ease-in-out .5s;
    -o-transition: all ease-in-out .5s;
    -webkit-transition: all ease-in-out .5s;
    transition: all ease-in-out .5s
}

.logo-horizontal {
    margin-left: 75px
}

.logo-horizontal img {
    width: 120px
}

.full-page {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    padding: 0
}

.carousel-indicators li {
    width: 45px;
    height: 45px;
    border-radius: 100%;
    background: transparent;
    border: 1px solid rgba(234, 53, 15, 0);
    margin: 0 5px 25px 5px;
    -o-transition: all ease-in-out .3s;
    -moz-transition: all ease-in-out .3s;
    -webkit-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s
}

.carousel-indicators li.active {
    background: transparent
}

.page-dot {
    width: 10px;
    height: 10px;
    border-radius: 100%;
    border: 1px white solid;
    background: transparent;
    margin: 15px auto;
    -o-transition: all ease-in-out .5s;
    -moz-transition: all ease-in-out .5s;
    -webkit-transition: all ease-in-out .5s;
    transition: all ease-in-out .5s
}

.carousel-indicators li.active .page-dot {
    background: white
}

.carousel-caption {
    position: absolute;
    bottom: 40%;
    left: auto;
    right: auto;
    z-index: 10;
    text-align: left
}

.carousel-caption.about-team5 {
    bottom: 20%
}

.carousel-control-prev,
.carousel-control-next {
    width: 60px;
    height: 200px;
    opacity: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    bottom: auto;
    -o-transition: all ease-in-out .7s;
    -moz-transition: all ease-in-out .7s;
    -webkit-transition: all ease-in-out .7s;
    transition: all ease-in-out .7s
}

.carousel-control-prev-icon {
    background-image: url(../icons/prev.svg);
    width: 29px;
    height: 46px
}

.carousel-control-next-icon {
    background-image: url(../icons/next.svg);
    width: 32px;
    height: 46px
}

.scrollbar-light-grey::-webkit-scrollbar-track {
    background-color: transparent;
    border-radius: 0
}

.scrollbar-light-grey::-moz-scrollbar-track {
    background-color: transparent;
    border-radius: 0
}

.scrollbar-light-grey::-o-scrollbar-track {
    background-color: transparent;
    border-radius: 0
}

.scrollbar-light-grey::scrollbar-track {
    background-color: transparent;
    border-radius: 0
}

.scrollbar-light-grey::-webkit-scrollbar {
    width: 2px;
    height: 60px;
    background-color: transparent
}

.scrollbar-light-grey::-moz-scrollbar {
    width: 2px;
    height: 60px;
    background-color: transparent
}

.scrollbar-light-grey::-o-scrollbar {
    width: 2px;
    height: 60px;
    background-color: transparent
}

.scrollbar-light-grey::scrollbar {
    width: 2px;
    height: 60px;
    background-color: transparent
}

.scrollbar-light-grey::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #D8D8D8
}

.scrollbar-light-grey::-moz-scrollbar-thumb {
    border-radius: 10px;
    background-color: #D8D8D8
}

.scrollbar-light-grey::-o-scrollbar-thumb {
    border-radius: 10px;
    background-color: #D8D8D8
}

.scrollbar-light-grey::scrollbar-thumb {
    border-radius: 10px;
    background-color: #D8D8D8
}

.about-copy,
.about-copy5,
.press-copy {
    position: relative;
    overflow-y: scroll;
    height: 212px;
    background: transparent;
    padding: 0
}

.about-copy5 {
    height: 400px
}

.about-team p.cat {
    display: inline-block;
    font-size: 16px;
    letter-spacing: 4.5px;
    line-height: 24px;
    margin-bottom: 30px
}

.about-team p.title {
    font-size: 12px;
    letter-spacing: .2px;
    opacity: .5;
    margin-bottom: 4px
}

.about-team div.divider {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, .5)
}

.about-team p.name-eng {
    font-family: Montserrat;
    font-size: 12px;
    letter-spacing: 1.01px;
    text-transform: uppercase;
    margin: 12px 0 4px 0
}

.about-team p.name-chinese {
    font-family: SourceHanSansCN_ExtraLight;
    font-size: 12px;
    letter-spacing: 1.01px;
    opacity: .6
}

.credit-img {
    width: 100%;
    margin: 12px
}

.about-team .row {
    margin-bottom: 60px
}

.team-block p.paragraph {
    margin-top: 30px;
    font-size: 12px;
    line-height: 24px;
    letter-spacing: .5;
    opacity: .75
}

.team-block p.copyright {
    margin-top: -30px
}

.gallery .carousel {
    position: absolute;
    width: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%)
}

.scroll-control {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 75px
}

.gallery-title {
    margin-top: 90px
}

.gallery-nav h3 {
    display: inline-block
}

.gallery-nav h3.selected {
    margin-left: 12px;
    opacity: 1
}

.gallery-indicator {
    width: 100px;
    height: 100px;
    border: 2px rgba(255, 255, 255, .75) solid;
    border-radius: 100%;
    text-align: center;
    padding-top: 15px;
    float: right
}

.gallery-indicator #curr_count,
.gallery-indicator #total_count {
    font-family: Montserrat_UltraLight;
    font-size: 14px;
    letter-spacing: 3px
}

.gallery-indicator .divider {
    width: 30px;
    height: 1px;
    background: white;
    margin: -2px auto 12px auto
}

p.navigate-hint {
    font-family: Montserrat_UltraLight;
    font-size: 12px;
    letter-spacing: 1px;
    opacity: .75;
    display: inline-block;
    line-height: 20px
}

div.red-dot {
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background: #EA350F;
    display: inline-block;
    margin-left: 20px
}

.selected-bar {
    width: 0;
    height: 2px;
    background: #EA350F;
    display: inline-block;
    margin: 0 0 5px 0;
    -o-transition: width ease-in-out .7s;
    -moz-transition: width ease-in-out .7s;
    -webkit-transition: width ease-in-out .7s;
    transition: width ease-in-out .7s
}

.selected-bar.selected {
    width: 29px
}

.gallery-group {
    display: none
}

.press-copy {
    height: 420px
}

.press-news .card-body {
    padding: 0 40px 0 40px
}

.press-cat {
    font-family: Montserrat;
    font-size: 12px;
    margin-bottom: 3px;
    letter-spacing: .75px;
    opacity: .5;
    text-transform: uppercase
}

.press-cat-head {
    font-size: 24px;
    opacity: .8;
    margin-bottom: 30px;
    font-family: Montserrat_UltraLight;
}

.press-head {
    font-family: SourceHanSansCN_Regular;
    font-size: 18px;
    margin-bottom: 8px;
    line-height: 32px;
    letter-spacing: 1px
}

.press-date {
    font-size: 12px;
    letter-spacing: 1px;
    color: rgba(235, 51, 15, 1);
    opacity: .75;
    text-transform: uppercase;
    margin-bottom: 7px
}

.press-location {
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 14px
}

.press-more-info {
    font-size: 12px;
    letter-spacing: 1px
}

.press-more-info img {
    margin-left: 15px
}

.divider70 {
    height: 40px
}

.back-arrow img {
    transform: rotateY(180deg);
    margin-right: 30px;
    margin-left: 75px
}

.back-arrow + a {
    font-size: 14px;
    letter-spacing: 2px;
    line-height: 20px;
    z-index: 0;
    margin-top: 2px
}

p.footer-head {
    font-family: Montserrat;
    font-size: 18px;
    letter-spacing: 1px;
    line-height: 20px;
    margin-left: 75px
}

.inner-area {
    height: 88%;
    position: relative
}

#vid_control {
    position: absolute;
    margin-left: 75px;
    top: 50%;
    transform: translateY(-50%)
}

#vid_control_btn img {
    width: 70px;
    height: 70px
}

.mobile {
    display: none
}

.location-group {
	float: left;
	margin-right: 40px; 
}

.film h2.film-available {
	font-family: Montserrat_UltraLight;
	color: #EA350F;
	font-size: 24px;
	line-height: 52px;
	letter-spacing: 1.5px;
}
.film .film-platforms .film-platform > img {
	height: 50px; 
}
.film .film-platforms .film-platform p {
	line-height: 22px;
	margin-top: 24px;
	margin-bottom: 16px;
	font-family: Montserrat;
}
.film .film-platforms .film-platform a.goto-trailer-link img {
    display: inline-block;
    height: 12px;
}
.film .film-platforms .film-platform a.goto-trailer-link span {
    display: inline-block;
    width: 15px;
}

@media (min-aspect-ratio:16/9) {
    .video_bg {
        height: 300%;
        top: -100%
    }
    img.h-100 {
        width: 100%!important;
        height: auto
    }
    .about .carousel,
    .about .carousel-item {
        width: 100%!important;
        height: auto
    }
}

@media (max-aspect-ratio:16/9) {
    .video_bg {
        width: 300%;
        left: -100%
    }
    img.h-100 {
        height: 100vh!important;
        width: auto
    }
    .about .carousel,
    .about .carousel-item {
        width: 100%;
        height: 100vh!important
    }
}

.main-wrapper {
    padding: 35px 0;
    position: relative;
    width: 100%;
    height: 100%
}