/*
Theme Name: Custom Theme
Author: Molto Digital Limited
Version: 1.0
License: Private
Text Domain: customtheme
*/

/* ROBOTO thin 100, light 300, regular 400, medium 500, bold 700, black 900 */
/* @import url('https://webarchive.lib.cuhk.edu.hk/20250709035017cs_/https://fonts.googleapis.com/css?family=Roboto:400,400i,700,700i,900'); */
/* @import url('https://webarchive.lib.cuhk.edu.hk/20250709035017cs_/https://fonts.googleapis.com/css?family=Raleway:400,700'); */

/* COLOURS */
/*
purple: #7D317A;
*/

/* GENERAL */

html, body {
	width: 100%;
	height: 100%;
}
body {
	position: relative;
  min-width: 300px;
  color: #FFF;
  background-color: #FFF;
  font-family: 'Roboto', sans-serif;
  font-style: normal;
  font-weight: 400; /* regular */
  font-size: 62.5%; /* 10px */
  line-height: 1.2;
  overflow: auto;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-font-feature-settings: 'liga', 'kern';
}

body.small {
	font-size: 46.875%;
}
body.large {
	font-size: 78.125%;
}

body:before, body:after {
	display: block;
	position: fixed;
	content: '';
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
body:before {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
	background-attachment: fixed;
	opacity: 0.5;
	-webkit-animation: body_before 1s ease-in;
	-moz-animation: body_before 1s ease-in;
	-o-animation: body_before 1s ease-in;
	animation: body_before 1s ease-in;
}
body:after {
	background: url('images/bg-gradient@2x.png') no-repeat left top;
	background-size: cover;
}
body:after, .container {
	-webkit-animation: body_after 1s ease-in;
	-moz-animation: body_after 1s ease-in;
	-o-animation: body_after 1s ease-in;
	animation: body_after 1s ease-in;
}

@-webkit-keyframes body_before {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 0.5;
	}
}
@-moz-keyframes body_before {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 0.5;
	}
}
@-o-keyframes body_before {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 0.5;
	}
}
@keyframes body_before {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 0.5;
	}
}

@-webkit-keyframes body_after {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-moz-keyframes body_after {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-o-keyframes body_after {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes body_after {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/*
body:before, body:after {
	display: block;
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-attachment: fixed;
	opacity: 0.4;
}
body:before {
	z-index: 2;
	background: #00ff00;
	background: -moz-linear-gradient(-45deg, #00ff00 0%, #2986bd 49%, #e568d3 86%);
	background: -webkit-linear-gradient(-45deg, #00ff00 0%,#2986bd 49%,#e568d3 86%);
	background: linear-gradient(135deg, #00ff00 0%,#2986bd 49%,#e568d3 86%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ff00', endColorstr='#e568d3',GradientType=1 );
}
body:after {
	background-color: rgba(0,0,0,0.4);
	z-index: 1;
}
*/

img {
	max-width: 100%;
	height: auto;
	border: 0;
}
a {
	color: #762570; /* temp */
  text-decoration: none;
}
p {
  margin-bottom: 1em;
  font-size: 1.9em;
  text-align: justify;
}
p:last-child {
  margin-bottom: 0;
}
p a {
	color: #FFF;
	text-decoration: underline;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	hyphens: none;
}
.content table {
	width: 100%;
	table-layout: fixed;
}
.content td, .content th {
	padding: 5px 10px;
	border: 1px solid #CCC;
	font-size: 1.6em;
	vertical-align: middle;
}
input[type="text"], input[type="email"],
input[type="submit"], textarea {
	-webkit-appearance: none;
}
strong {
	font-weight: 600;
}
em {
	font-style: italic;
}
sup {
	vertical-align: sub;
	font-size: smaller;
}
sup {
	vertical-align: super;
	font-size: smaller;
}
span.description {
	color: transparent;
	font: 0/0 a;
}

h1.page-title {
	margin-bottom: 40px;
	color: #FFF;
	font-size: 3.3em;
	font-weight: 900;
	text-align: left;
}
/* .single-post h1.page-title {
	font-size: 2.7em;
} */
.content h2 {
	margin: 2em 0 1em 0;
	font-size: 2.6em; /* 1.9em */
	font-weight: 900;
}
h2.with-bullet {
	position: relative;
	padding-left: 30px;	
}
h2.with-bullet:before {
	display: block;
	position: absolute;
	content: '';
	left: 0;
	top: 3px;
	width: 12px;
	height: 12px;
	background-color: #FFF;
	border-radius: 100%;
}
.content ol {
  list-style: outside decimal;
  margin-left: 2em;
  margin-bottom: 2em;
}
.content ol li {
	padding-left: 10px;
  margin-bottom: 1em;
  font-size: 1.9em;
}
.content ul {
	list-style: outside disc;
  margin-left: 2em;
  margin-bottom: 2em;
}
.content .page-content-objectives ul {
	list-style: none;
	margin: 0;
}
.content ul li {
	position: relative;
	padding-left: 10px;
  margin-bottom: 1em;
  font-size: 1.9em;
}
.content .page-content-objectives ul li {
	padding-left: 35px;
}
.content .page-content-objectives ul li:before {
	display: block;
	position: absolute;
	content: '';
	left: 0;
	top: 3px;
	width: 19px;
	height: 18px;
	background: url('images/bullet@2x.png') no-repeat center center;
	background-size: contain;
}
.highlight {
	color: red !important;
}

table {
	table-layout: fixed;
	width: 100%;
	margin-bottom: 20px;
}
.content li p, .content p li, .content p p,
.content li li, .content th p, .content td p,
.content th li, .content td li {
  font-size: 1em;
}
.content th ul, .content th ol,
.conten td ul, .content td ol {
	margin-left: 1em;
}

.container {
	position: relative;
	width: 100%;
	min-width: 300px;
	height: 100%;
	z-index: 10;
}


/* DIRECTORS / PROFILES */

.profiles {
	width: 100%;
	max-width: 950px; /* 725px */
	margin: 0 auto;
	overflow: hidden;
}
.profile-container {
	float: left;
	width: 30%;
	margin: 0 5% 5% 0;
	padding: 14px;
	border-radius: 100%;
}
.profile-container:nth-child(3n+3) {
	margin-right: 0;
}
.profile-container:nth-child(odd) {
	background-color: #7d317a;
}
.profile-container:nth-child(even) {
	background-color: #00254a;
}
.profile {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	border: 1px solid #FFF;
	border-radius: 100%;
}
.profile-name-container {
	position: absolute;
	left: 0;
	bottom: 50%;
	width: 100%;
	height: auto;
	padding: 35px 35px 0 35px;
}
.profile-name {
	color: #FFF;
	font-size: 1.6em;
	font-weight: 900;
	text-align: left;
}
.profile-text-container {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 50%;
	padding: 0 35px 35px 35px;
}
.profile-text {
	padding-top: 5px;
	border-top: 1px solid #FFF;
	margin-top: 10px;
	color: #FFF;
	font-size: 1.6em;
	line-height: 1.1;
	text-align: left;
}


/* ALL */

.print-logo {
	display: none;
}

.header {
	position: relative;
	width: 90%;
	max-width: 1300px;
	padding: 40px 0 60px 0;
	margin: 0 auto;
	text-align: center;
	z-index: 100;
}

.header-logo {
	display: inline-block;
	width: 170px;
	height: 60px;
	margin-right: 32px;
	vertical-align: middle;
}

.main-menu-container, .main-menu, .main-menu ul {
	display: inline-block;
	vertical-align: middle;
}

.main-menu {
	position: relative;
	z-index: 100;
}
.main-menu ul li {
	display: inline-block;
	position: relative;
	padding: 20px;
	vertical-align: middle;
}
.main-menu > ul > li:after {
	display: block;
	position: absolute;
	content: '';
	top: 50%;
	right: 0;
	width: 1px;
	height: 20px;
	background-color: #FFF;
	transform: translateY(-50%);
}
.main-menu > ul > li:first-child {
	padding-left: 0;
}
.main-menu > ul > li:last-child {
	padding-right: 0;
}
.main-menu > ul > li:last-child:after {
	display: none;
}
.main-menu ul li a {
	display: inline-block;
	color: #FFF;
	font-family: 'Raleway', sans-serif;
	font-size: 1.9em;
	font-weight: 700;
	vertical-align: middle;
}
.main-menu ul ul {
	display: none;
	position: absolute;
	content: '';
	width: 200%;
	left: 0;
	top: 100%;
	background-color: rgba(20,20,20,0.8);
}
.main-menu ul li:hover ul {
	display: block;
}
.main-menu ul ul li {
	display: block;
	padding: 0;
}
.main-menu ul ul li a {
	display: block;
	padding: 10px 15px;
	font-size: 1.7em;
	text-align: left;
}
.main-menu ul ul li a:hover {
	background-color: #7D317A;
}

.fontsize-switcher {
	display: inline-block;
	margin-left: 32px;
	vertical-align: middle;
}
.fontsize-option {
	display: inline-block;
	padding: 0 5px;
	color: #FFF;
	vertical-align: middle;
	cursor: pointer;
}
.size-small {
	font-size: 12px;
}
.size-medium {
	font-size: 16px;
}
.size-large {
	font-size: 19px;
}

.language-switcher {
	display: inline-block;
	margin-left: 16px;
	vertical-align: middle;
}
.language-switcher li {
	display: inline-block;
	padding: 0 5px;
	border-right: 1px solid #FFF;
	vertical-align: middle;
}
.language-switcher li:first-child {
	padding-left: 0;
}
.language-switcher li:last-child {
	padding-right: 0;
	border-right: 0;
}
.language-switcher li a {
	display: inline-block;
	font-family: 'Raleway', sans-serif;
	color: #FFF;
	font-size: 1.6em;
	font-weight: 700;
	vertical-align: middle;
}

.header-print {
	display: inline-block;
	width: 24px;
	height: 22px;
	margin-left: 16px;
	background: url('images/icon-printer@2x.png') no-repeat center center;
	background-size: contain;
	vertical-align: middle;
}
.header-search {
	display: inline-block;
	margin-left: 16px;
	vertical-align: middle;	
}
.header-search .search-bar {
	border: 2px solid #FFF;
}
.header-search span, .header-search input {
	display: inline-block;
	vertical-align: middle;
}
.header-search .search-bar-icon	{
	width: 30px;
	height: 25px;
	border-right: 2px solid #FFF;
	background: url('images/icon-search@2x.png') no-repeat center center;
	background-size: 18px auto;
}
.header-search .search-bar-text {
	height: 25px;
	padding: 3px 10px;
	color: #FFF;
	background: transparent;
	font-size: 1.6em;
}
.header-search .search-bar-text::-webkit-input-placeholder {
  color: #FFF;
}
.header-search .search-bar-text::-moz-placeholder {
  color: #FFF;
}
.header-search .search-bar-text::-ms-input-placeholder {
  color: #FFF;
}
.header-search .search-bar-text::placeholder {
  color: #FFF;
}
.header-search .search-bar-submit {
	display: none;
}


.search-page-form #s {
	display: inline-block;
	height: 35px;
	padding: 3px 10px 5px 10px;
	border: 2px solid #FFF;
	color: #FFF;
	background: transparent;
	font-size: 1.6em;
	vertical-align: middle;
}
.search-page-form #searchsubmit {
	display: inline-block;
	height: 35px;
	padding: 3px 15px 5px 15px;
	border: 2px solid #7D317A;
	margin-left: 10px;
	color: #FFF;
	background-color: #7D317A;
	font-size: 1.6em;
	vertical-align: middle;
	cursor: pointer;
}
.search-result-title {
  margin-top: 1em;
  margin-bottom: 5px;
  font-size: 2.2em;
  font-weight: 700;
}
.search-result-title a {
	color: #FFF;
}
.search-result-link {
	font-size: 1.6em;
	font-style: italic;
}


.main {
	padding-bottom: 60px;
}
body.conten-middle .main {
	padding-bottom: 150px;
}

.content {
	width: 90%;
	max-width: 800px; /* 1100px */
	margin: 0 auto;
}
body.home .content {
	max-width: 1000px;
}
.content-text {
	max-width: 950px; /* 750px */
}
body.content-middle .content {
	position: absolute;
	left: 50%;
	top: 50%;
	/* margin-top: -60px; */
	transform: translateY(-50%) translateX(-50%);
}
body.content-middle.page-template-page-contact {
	position: static;
	transform: none;
	padding-top: 60px;
}


.footer {
	width: 100%;
	padding: 20px;
	color: #7d317a;
	background-color: #FFF;
	font-size: 1.4em;
	text-align: center;	
}
body.content-middle .footer {
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 100;
}
.footer-menu {
	margin-bottom: 1em;
}
.footer-menu li, .footer-meun li a {
	display: inline-block;
	vertical-align: middle;
}
.footer-menu li {
	padding: 0 20px;
	border-left: 1px solid #7d317a;
}
.footer-menu li:first-child {
	border-left: 0;
}
.footer-menu li.en,
.footer-menu li.tc,
.footer-menu li.sc {
    display: none;
}
html.en_US .footer-menu li.en,
html.en_GB .footer-menu li.en,
html.zh_TW .footer-menu li.tc,
html.zh_CN .footer-menu li.sc {
    display: inline-block;
}


/* HOME */

.home-heading {
	margin-bottom: 40px;
	color: #FFF;
	font-size: 4em;
	font-weight: 900;
	text-align: center;
}
.home-row {
	display: table;
	table-layout: fixed;
	width: 410px;
	padding: 15px 60px;
	margin: 0 auto 20px auto;
	color: #FFF;
}
.home-row:hover {
	background-color: #7D317A;
}
.home-row-icon {
	display: table-cell;
	width: 101px;
	height: 74px;
	margin-right: 40px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	vertical-align: middle;
}
.home-row-text {
	display: table-cell;
	width: 150px;
	font-size: 1.9em;
	font-weight: 900;
	vertical-align: middle;
	text-align: center;
}


.image-blocks {
	display: inline-block;
	width: 100%;
}
.image-block {
	display: block;
	float: left;
	width: 31.5%;
	margin-right: 2.75%;
}
.image-block:nth-child(3n+3) {
	margin-right: 0;
}
.ib-top {
	display: block;
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	border: 3px solid #FFF;
	transition: all 0.2s ease-in-out;
}
.image-block:hover .ib-top {
	background-color: #7D317A;
}
.ib-icon {
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 50%;
	height: 0;
	padding-bottom: 50%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transform: translateY(-50%) translateX(-50%);
}
.ib-bottom {
	display: block;
	position: relative;
	padding: 30px 20px;
	text-align: center;
}
.ib-bottom:after {
	display: block;
	position: absolute;
	content: '';
	left: 0;
	top: 100%;
	width: 0;
	height: 6px;
	background-color: #FFF;
}
.image-block:hover .ib-bottom:after {
	width: 100%;
	transition: all 0.2s ease-in-out;
}
.ib-name {
	color: #FFF;
	font-size: 2.1em;
	font-weight: 900;
	text-align: center;
}

a.content-button {
	display: inline-block;
	padding: 15px 40px;
	margin-top: 20px;
	color: #FFF;
	background-color: #7D317A;
	font-size: 1.9em;
	font-weight: 900;
	text-align: center;
	border-radius: 20px;
	box-shadow: 0 5px 10px rgba(0,0,0,0.3);
}


.press-years {
	display: flex;
	margin-bottom: 35px;
}
.press-year {
	display: inline-block;
	position: relative;
	padding: 0 30px;
	text-align: center;
	vertical-align: middle;
}
.press-year:after {
	display: block;
	position: absolute;
	content: '';
	width: 3px;
	height: 20px;
	background-color: #FFF;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
}
.press-year:first-child {
	padding-left: 0;
}
.press-year:last-child {
	padding-right: 0;
	border-right: 0;
}
.press-year:last-child:after {
	display: none;
}
.press-year a {
	display: inline-block;
	padding: 8px 25px;
	color: #FFF;
	font-size: 2.6em;
	font-weight: 900;
	line-height: 1;
	border-radius: 18px;
	text-align: center;
	vertical-align: middle;
}
.press-year.active a {
	background-color: #7D317A;
}
.press-title {
	margin-bottom: 1em;
	font-size: 2.3em;
	font-weight: 700
	;
}
.press-entry {
	display: block;
	padding: 20px 25px;
	color: #FFF;
	border-radius: 18px;
	overflow: hidden;
}
.press-entry:hover {
	background-color: #7D317A;
}
.pe-left {
	float: left;
	width: 26%;
}
.pe-date {
	font-size: 1.9em;
	text-align: left;
}
.pe-right {
	float: left;
	width: 74%;
}
.pe-title {
	font-size: 1.9em;
	text-align: justify;
}
.press-details-date {
	margin-bottom: 30px;
	color: #FFF;
	font-size: 2.1em;
	font-weight: 900;
}

.content-images {
	display: inline-block;
	width: 100%;
	text-align: center;
}
.content-image {
	float: left;
	display: block;
	position: relative;
	width: 47%;
	height: 0;
	margin: 3% 6% 6% 0%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.content-image:nth-child(2n+2) {
	margin-right: 0;
}
.content-images.single {
	display: block;
	max-width: 800px;
	margin: 3% auto 6% auto;
}
.content-images.single .content-image {
	float: none;
	width: 100%;
	margin: 0;
}
.content-image.landscape {
	padding-bottom: 35.25%;
}
.content-images.single .content-image.landscape {
	padding-bottom: 75%;
}
.content-image.portrait {
	padding-bottom: 70.5%;
}
.content-images.single .content-image.portrait {
	width: 50%;
	padding-bottom: 75%;
	margin-left: auto;
	margin-right: auto;
}
.single-post .content-image.portrait {
	padding-bottom: 35.25%;
	background-color: #333;
	background-size: contain;
}
.single-post .content-images.single .content-image.portrait {
	padding-bottom: 75%;
	background-size: cover;
}
.content-image-caption {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 20px;
	color: #FFF;
	background-color: rgba(125,49,122,0.86);
	font-size: 1.7em;
	font-weight: 500;
	text-align: left;
	z-index: 1;
}
.content-image-caption-notext {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 30px 20px;
	color: #FFF;
	background-color: rgba(125,49,122,0.86);
	font-size: 1.9em;
	font-weight: 500;
	text-align: left;
	z-index: 1;
}
.content-image.can-enlarge .content-image-caption {
	padding-right: 65px;
}
.content-image.can-enlarge .content-image-caption:after {
	display: block;
	position: absolute;
	content: '';
	right: 15px;
	top: 50%;
	width: 35px;
	height: 35px;
	background: url('images/icon-enlarge@2x.png') no-repeat center center;
	background-size: contain;
	transform: translateY(-50%);
}
.content-image.can-enlarge .content-image-caption-notext:after {
	display: block;
	position: absolute;
	content: '';
	left: 50%;
	top: 50%;
	width: 35px;
	height: 35px;
	background: url('images/icon-enlarge@2x.png') no-repeat center center;
	background-size: contain;
	transform: translateX(-50%) translateY(-50%);
}

.content .contact-details p + table {
	margin-top: -1.9em;
}
.content .contact-details td {
	padding: 0;
	font-size: 1.9em;
}
.contact-columns {
	display: inline-block;
	width: 100%;
}
.contact-column-left {
	float: left;
	width: 50%;
}
.contact-column-right {
	float: right;
	width: 47%;
}

.accordion-topic {
	position: relative;
	padding: 13px 55px 13px 20px;
	margin-bottom: 20px;
	color: #000;
	background-color: #FFF;
	font-size: 1.9em;
	font-weight: 500;
	text-align: left;
	cursor: pointer;
}
.accordion-topic:after {
	position: absolute;
	display: block;
	content: '\25BE';
	right: 18px;
	top: 3px;
	color: #000;
	font-size: 1.7em;
	transition: transform 0.3s ease-in-out;
}
.accordion-row.active .accordion-topic {
	color: #FFF;
	background-color: #7D317A;
}
.accordion-row.active .accordion-topic:after {
	top: 6px;
	color: #FFF;
	-ms-transform: rotate(-180deg);
	transform: rotate(-180deg);
}
.accordion-details {
	display: none;
	padding: 0 20px 20px 20px;
}

.map-container {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	margin: 0 auto;
	overflow: hidden;
}
.map-container iframe, .map-container object,
.map-container embed {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.video-container {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	margin: 0 auto;
	overflow: hidden;
}
.video-container iframe, .video-container object,
.video-container embed .video-container video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}


.content-slider-container {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 55%;
}
.content-slider-container .bx-wrapper,
.content-slider-container .bx-viewport,
.content-slider,
.content-slider-container .slide {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100% !important;
	z-index: 1;
}
.content-slider-outercontainer {
	visibility: hidden;
}
.content-slider-container .slide {
	display: block;
	background-color: #333;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.content-slider-outercontainer.portrait {
	width: 100%;
	max-width: 500px;
	margin: auto;
}
.content-slider-outercontainer.portrait .content-slider-container {
	padding-bottom: 150%;
}
.content-slider-outercontainer.landscape .slide.portrait,
.content-slider-outercontainer.portrait .slide.landscape {
	background-size: contain;
}

.content-slider-list {
	width: 100%;
	padding: 1%;
	background-color: rgba(125,49,122,0.86);
	text-align: center;
}
.slide-list {
	display: inline-block;
	width: 12%;
	height: 0;
	padding-bottom: 9%;
	margin: 1%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	cursor: pointer;
}
.content-slider-outercontainer.landscape .slide-list.portrait {
	width: 6%;
}

.content-slider-outercontainer.portrait .slide-list {
	width: 15%;
	padding-bottom: 22.5%;
	margin: 2%;
}
.content-slider-outercontainer.portrait .slide-list.landscape {
	width: 16.9%;
	padding-bottom: 22.5%;
	margin: 1%;
}