
/*************************************************************************************************************************/

body {
	color: #323232;
	min-height: 100%;
	background-color: #fff;
	margin: 0;
	display: flex;
	flex-direction: column;
	position: relative;
}

/* fix bootstrap modal and mmenu menu clashing */
body.modal-open .mm-slideout {
	z-index: inherit;
}

hr {
	height: 5px;
	background: #fff;
}

a,
button,
input[type=button],
input[type=submit] {
	cursor: pointer;
}

a,
a:link,
a:visited {
	color: #323232;
	text-decoration: none;
	outline: none;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

a:hover,
a:active,
a.selected {
	color: #000000;
	text-decoration: underline;
	outline: none;
}

::selection {
	background: #35b792;
	color: #FFFFFF;
}

::-moz-selection {
	background: #35b792;
	color: #FFFFFF;
}

#top-link-block.affix-top {
	position: absolute; /* allows it to "slide" up into view */
	bottom: -82px;
	right: 10px;
}
#top-link-block.affix {
	position: fixed; /* keeps it on the bottom once in view */
	bottom: 18px;
	right: 10px;
	z-index: 10010 !important;
}

.modal {
	z-index: 11000 !important;
}

/* scroll fixes */
.modal-open .modal {
	padding-left: 0px !important;
	padding-right: 0px !important;
	overflow-y: auto;
}

.card-translucent {
    background-color: rgba(255,255,255,.7);
}

.middle-container {
	display: flex;
	height: 100vh;
}

.middle {
	align-self: center;
	width: 100%;
}

.middle::after {
	content: '';
	width: 100%;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	display: block;
}

.banner_title {
	text-transform: uppercase;
	font-size: 5vh;
	font-weight: 600;
	letter-spacing: 0.15em;
	line-height: 1;
}

.full_screen_div, .third_quarter_screen_div {
	min-height: 100vh;
	text-align: center;
	justify-content: center;
	display: flex;
	align-items: center;
	color: white;
	position: relative;
}
.full_screen_div {
	min-height: 100vh;
}
.third_quarter_screen_div {
	min-height: 75vh;
}

@media (min-width: 992px) {
	.banner_title {
		font-size: 7vh;
	}
}

/*************************************************************************************************************************/

canvas, img, video {
	max-width: 100%;
	height: auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

audio, canvas, iframe, img, svg, video {
	vertical-align: middle;
}

.cover-img-anim {
	position: absolute;
	-o-object-fit: cover;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}

.cover-img-anim--top {
	object-position: top;
}

.cover-img-anim--bottom {
	object-position: bottom;
}

.cover-img-anim--left {
	object-position: left;
}

.cover-img-anim--right {
	object-position: right;
}

.img-full {
	width: 100%;
	position: relative;
	overflow: hidden;
	height: 100vh;
}

.img-full:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.img-banner {
	width: 100%;
	position: relative;
	overflow: hidden;
	height: 75vh;
}

.img-banner:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.1);
}

.img-banner--dark:after {
	background-color: rgba(0,0,0,.4);
}

.img-flip-h {
	-moz-transform: scaleX(-1);
	-o-transform: scaleX(-1);
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
	filter: FlipH;
	-ms-filter: "FlipH";
}

.cmp-banner--wrap {
	height: 100%;
}

.cmp-wrap {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 30px;
	justify-content: center;
	display: flex;
	align-items: center;
}

.cmp-banner-content {
	z-index: 1;
}

@media screen and (min-width: 768px) {
	.cmp-wrap {
		padding: 0 80px;
	}
}

@media screen and (min-width: 1200px) {
	.cmp-wrap {
		padding: 0 30px;
	}
}

/*************************************************************************************************************************/

@-webkit-keyframes goArrows {
	0%{
		opacity:0
	}
	50%{
		opacity:1
	}
	100%{
		opacity:0
	}
}
@-moz-keyframes goArrows {
	0%{
		opacity:0
	}
	50%{
		opacity:1
	}
	100%{
		opacity:0
	}
}
@-o-keyframes goArrows {
	0%{
		opacity:0
	}
	50%{
		opacity:1
	}
	100%{
		opacity:0
	}
}
@keyframes goArrows {
	0%{
		opacity:0
	}
	50%{
		opacity:1
	}
	100%{
		opacity:0
	}
}

.scroll-arrows {
	color: #FFFFFF;
	width: 18px;
	position: absolute;
	bottom: 30px;
	left: 50%;
	margin: 0;
	text-align: center;
	cursor: pointer;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transform: translateZ(0) translate3d(0,0,0);
	-moz-transform: translateZ(0) translate3d(0,0,0);
	-ms-transform: translateZ(0) translate3d(0,0,0);
	-o-transform: translateZ(0) translate3d(0,0,0);
	transform: translateZ(0) translate3d(0,0,0);
	z-index: 1;
}

.scroll-arrows ul {
	list-style:none;
	margin:0;
	padding:0
}

.scroll-arrows li {
	height: 10px;
	transition: all .2s ease-out;
	-webkit-transition: all .2s ease-out
}

.scroll-arrows li::before {
	content: "\f078";
}

.scroll-arrows li:nth-child(1) {
	opacity: 0;
	-webkit-animation: goArrows 2.5s 1.7s ease-in-out infinite;
	-moz-animation: goArrows 2.5s 1.7s ease-in-out infinite;
	-o-animation: goArrows 2.5s 1.7s ease-in-out infinite;
	animation: goArrows 2.5s 1.7s ease-in-out infinite
}

.scroll-arrows li:nth-child(2) {
	opacity: 0;
	-webkit-animation: goArrows 2.5s 2s ease-in-out infinite;
	-moz-animation: goArrows 2.5s 2s ease-in-out infinite;
	-o-animation: goArrows 2.5s 2s ease-in-out infinite;
	animation: goArrows 2.5s 2s ease-in-out infinite
}

.scroll-arrows li:nth-child(3) {
	opacity: 0;
	-webkit-animation: goArrows 2.5s 2.5s ease-in-out infinite;
	-moz-animation: goArrows 2.5s 2.5s ease-in-out infinite;
	-o-animation: goArrows 2.5s 2.5s ease-in-out infinite;
	animation: goArrows 2.5s 2.5s ease-in-out infinite
}

@-webkit-keyframes scale-kenburns {
	0%{
		-webkit-transform:scale(1.0);
		transform:scale(1.0)
	}
	to{
		-webkit-transform:scale(1.1);
		transform:scale(1.1)
	}
}
@-moz-keyframes scale-kenburns {
	0%{
		-webkit-transform:scale(1.0);
		transform:scale(1.0)
	}
	to{
		-webkit-transform:scale(1.1);
		transform:scale(1.1)
	}
}
@-o-keyframes scale-kenburns {
	0%{
		-webkit-transform:scale(1.0);
		transform:scale(1.0)
	}
	to{
		-webkit-transform:scale(1.1);
		transform:scale(1.1)
	}
}
@keyframes scale-kenburns {
	0%{
		-webkit-transform:scale(1.0);
		transform:scale(1.0)
	}
	to{
		-webkit-transform:scale(1.1);
		transform:scale(1.1)
	}
}

.animation-kenburns {
	-webkit-animation-name: scale-kenburns;
	animation-name: scale-kenburns;
	-webkit-animation-duration: 15s;
	animation-duration: 15s;
	-webkit-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

/*************************************************************************************************************************/

body.theme_default.administrator #main-header .brand .logo,
body.theme_default.administrator #main-header.home .scroll .brand .logo,
body.theme_default.administrator #main-header.chinese .scroll .brand .logo {
	background: url(../../../images/logo_admin.png) no-repeat center center;
	background-size: contain;
}

/*************************************************************************************************************************/

::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	background-color: #F5F5F5;
}

::-webkit-scrollbar {
	width: 10px;
	background-color: #F5F5F5;
}

::-webkit-scrollbar-thumb {
	background-color: #888888;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-animation: autofill 0s forwards;
	animation: autofill 0s forwards;
}

@keyframes autofill {
	100% {
		background: transparent;
		color: inherit;
	}
}

@-webkit-keyframes autofill {
	100% {
		background: transparent;
		color: inherit;
	}
}

/*************************************************************************************************************************/

.headline {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: #FFFFFF;
}

@media (max-width: 576px) {
	section .headline {
		font-size: 3.5vh;
	}
}

.subline {
	font-family: Times, serif;
	font-style: italic;
	font-weight: normal;
	font-size: 19pt;
	color: #FFFFFF;
}

.text-loose {
	letter-spacing: 0.2em;
}

.text-justify-center {
	text-align: justify;
	-moz-text-align-last: center; /* Code for Firefox */
	text-align-last: center;
}

.text-justify-right {
	text-align: justify!important;
	text-align-last: right!important;
}

@media (max-width: 576px) {
	.subline {
		font-size: 15pt;
	}

	.text-sm-justify-right {
		text-align: justify!important;
		text-align-last: right!important;
	}

	.text-md-justify-right {
		text-align: justify!important;
	}

	.text-lg-justify-right {
		text-align: justify!important;
	}

	.text-xl-justify-right {
		text-align: justify!important;
	}
}

@media (min-width: 768px) {
	.text-md-justify-right {
		text-align: justify!important;
		text-align-last: right!important;
	}

	.text-lg-justify-right {
		text-align: justify!important;
	}

	.text-xl-justify-right {
		text-align: justify!important;
	}
}

@media (min-width: 992px) {
	.text-lg-justify-right {
		text-align: justify!important;
		text-align-last: right!important;
	}

	.text-xl-justify-right {
		text-align: justify!important;
	}
}

@media (min-width: 1200px) {
	.text-xl-justify-right {
		text-align: justify!important;
		text-align-last: right!important;
	}
}

.times-font {
	font-family: 'Times', sans-serif;
}
.times-italic-font {
	font-family: 'Times', sans-serif;
	text-decoration: italic;
}
.montserrat-font {
	font-family: 'Montserrat', sans-serif;
}

/*************************************************************************************************************************/

.web-black {
	color: #323232;
}

.web-white {
	color: #ffffff;
}

.web-grey {
	color: #888888;
}

.secondary-green {
	color: #35b792;
}


/*************************************************************************************************************************/

@media (min-width: 992px) {
	.onepage-pagination {
		position: absolute;
		top: unset !important;
		bottom: 5% !important;
		right: unset !important;
		width: 100% !important;
		z-index: 5;
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		justify-content: center;
	}

	.onepage-pagination li {
		float: left;
		padding: 0px !important;
		border: 0;
		border-right: 0;
	}

	.onepage-pagination li:last-child {
		border-right: 0;
	}

	.onepage-pagination li a {
		padding: 0px;
		background: transparent;
		color: #fff;
		width: 200px !important;
		height: 50px !important;
		font-weight: 600;
		font-size: 12pt;
		display: flex !important;
		justify-content: center;
		align-items: center;
	}

	.onepage-pagination li a:before {
		background: none !important;
	}

	.onepage-pagination li a:hover,
	.onepage-pagination li a.active {
		color: #fff;
		border-bottom: 3px solid;
		text-decoration: none;
	}

	.onepage-pagination li a.active:before {
		border: none !important;
	}
}

/*************************************************************************************************************************/

.mdc-text-field--textarea:not(.mdc-text-field--disabled) {
	background-color: #f5f5f5 !important;
}

.mdc-icon-button:hover::before {
    opacity: 0 !important;
}

.mdc-icon-button:not(.mdc-ripple-upgraded):focus::before,
.mdc-icon-button.mdc-ripple-upgraded--background-focused::before {
    opacity: 0 !important;
}

.mdc-button--round {
	border-radius: 2em !important;
	padding: 1em 2em !important;
	height: auto !important;
}

.mdc-checkbox {
	will-change: unset !important;
}

.mdc-force-render {
   transform: translateZ(0);
}

.ready-detect {
	position: relative;
}

/*************************************************************************************************************************/

button:focus {
	outline: none;
}

.transparent-button {
	position: relative;
	border: none;
	background-color: transparent;
	cursor: pointer;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	vertical-align :middle;
	text-decoration: none;
	overflow: hidden;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.transparent-button span {
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	cursor: pointer;
	margin: 0;
	text-decoration: none;
}
.transparent-button:hover {
	text-decoration: none;
}

.base-button {
	position: relative;
	border: 1px solid #323232;
	background-color: #FFFFFF;
	cursor: pointer;
	font-weight: 400;
	font-size: 0.7em;
	margin: 1em 0.5em;
	padding: .8em 1.5em;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	vertical-align :middle;
	text-decoration: none;
	letter-spacing: normal;
	word-spacing: normal;
	text-transform: none;
	text-indent: 0px;
	text-shadow: none;
	min-height: 2.5em;
	overflow: hidden;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	will-change: background-color, border-color;
	transition: background-color 200ms, border 200ms;
}
.base-button span {
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	line-height: 1.6999999999999997em;
	cursor: pointer;
	margin: 0;
	text-decoration: none;
	letter-spacing: normal;
	word-spacing: normal;
	text-transform: none;
	text-indent: 0px;
	text-shadow: none;
	letter-spacing: 0.05em;
	white-space: normal;
}
_:-ms-fullscreen,:root .base-button span {
	line-height: 2.0999999999999996em;
	padding: 0.8499999999999999em 0;
}
button.base-button span {
	letter-spacing: -0.03em;
}
.base-button, .base-button--small {
	min-width: 7em;
	color: #323232;
}
.base-button--small {
	min-height: 2.5em;
	min-width: 11em;
	max-height: 3em;
	font-size: 1.4em;
}
.base-button--wide {
	min-width: 20% !important;
	max-width: 262px;
}
.base-button span {
	color:#ffffff;
}
.base-button:before {
	position: absolute;
	left: 1.4em;
}
.base-button:after {
	position: absolute;
	right: 1.4em;
}
.base-button:hover {
	background-color: #323232;
	color: #FFFFFF;
	border-color: #323232;
	text-decoration: none;
}
.base-button:hover span {
	color: #323232;
}
a.base-button:hover {
	color: #FFFFFF !important;
}

.base-button--white {
	background-color: transparent;
	color: #FFFFFF;
	border: 1px solid #FFFFFF;
}
.base-button--white span {
	color: #323232;
}
.base-button--white:hover {
	background-color: #FFFFFF;
	color: #323232;
	border-color: #323232;
}
a.base-button--white {
	color: #FFFFFF !important;
}
a.base-button--white:hover {
	color: #000000 !important;
}

.base-button--blue {
	background-color: transparent;
	color: #0f416a;
	border: 1px solid #0f416a;
}
.base-button--blue span {
	color: #0f416a;
}
.base-button--blue:hover {
	background-color: #0f416a;
	color: #FFFFFF;
	border-color: #0f416a;
}
a.base-button--blue {
	color: #0f416a !important;
}
a.base-button--blue:hover {
	color: #FFFFFF !important;
}
.base-button--spotify {
	background: url(../images/spotify-podcast-badge-blk-wht.png) no-repeat center center;
	background-size: contain;
	border-color: #FFFFFF;
}
.base-button--spotify:hover {
	background: white url(../images/spotify-podcast-badge-wht-blk.png) no-repeat center center;
	background-size: contain;
}

.base-button--transparent {
	background-color: transparent;
}

.base-button[class*='disabled'] {
	color: #FFFFFF;
	transition: none;
	cursor: inherit;
	border-color: #D1D1D1;
	background-color: #D1D1D1;
	pointer-events: none;
}
.base-button.is-disabled, .base-button.is-disabled:hover, .base-button[disabled="disabled"], .base-button[disabled]{
	color: #FFFFFF;
	transition: none;
	cursor: inherit;
	border-color: #D1D1D1;
	background-color:#D1D1D1;
}
.base-button.is-disabled span {
	color:#ffffff;
}
.base-button--white.is-disabled, .base-button--white.is-disabled:hover, .base-button--white[disabled="disabled"], .base-button--white[disabled]{
	color: #D1D1D1;
	background-color: #FFFFFF;
}
.base-button--white.is-disabled span {
	color: #D1D1D1;
}
.base-button > i {
	margin-right: 0.5em;
}
.circle-button {
	display: inline-block;
	width: 5.6em;
	height: 5.6em;
	line-height: 5.6em;
	font-size: 24px;
	color: #FFFFFF;
	background-color: #323232;
	border: 1px solid #323232;
	border-radius:50%;
	cursor: pointer;
	text-align: center;
	will-change: font-size, border-color;
	transition: font-size 200ms, border 200ms;
}
.circle-button:before {
	position:relative;
	top:-1px;
}
.circle-button:hover {
	color:#323232;
	background-color:#ffffff;
	font-size: 1.6em;
}
.circle-button--white {
	color:#323232;
	border:2px solid #323232;
	background-color:#ffffff;
}
.circle-button--white span {
	color:#323232;
}
.circle-button--white:hover {
	color:#ffffff;
	border-color:#323232;
	background-color:#323232;
}
.link-button {
	border-bottom: solid 2px transparent;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 1em;
}
.link-button:hover {
	color: #000000 !important;
	border-bottom: solid 2px #000000;
	-webkit-transform: translateY(-5px) translateZ(0) translate3d(0,0,0);
	-moz-transform: translateY(-5px) translateZ(0) translate3d(0,0,0);
	-ms-transform: translateY(-5px) translateZ(0) translate3d(0,0,0);
	-o-transform: translateY(-5px) translateZ(0) translate3d(0,0,0);
	transform: translateY(-5px) translateZ(0) translate3d(0,0,0);
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}

.link {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.link:hover {
	border-bottom: none;
	text-decoration: none;
	color: #000000 !important;
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}
@media screen and (max-width:767px){
	.base-button{
		width:100%;
	}
	.base-button--small{
		min-height:2.2em;
		min-width:9em;
		max-height:3em;
		max-width:18em;
		font-size:1.2em!important;
	}
	.base-button--wide{
		max-width:100%;
		width:184px !important;
	}
}
@media screen and (min-width:666px) and (max-width:767px){
	.base-button span{
		white-space:nowrap;
	}
}
@media screen and (min-width:768px){
	.base-button, .base-button--small {
		min-width: 8em;
	}
	.base-button span{
		white-space:nowrap;
	}
	.link-button {
		margin: 0 2em;
	}
}
@media screen and (min-width:1024px){
	.base-button--wide{
		width:262px !important;
	}
}

/*************************************************************************************************************************/

.c-accordion__item-head {
	border-bottom: 1px solid #fff;
	font-size: 1.125em;
	text-align: left;
	padding: 1em 2em 1.5em 0.5em;
	position: relative;
}

.c-accordion__item-head a {
	display: flex;
}

.c-accordion__item-head .icon {
	position: absolute;
	right: 0.5em;
}

.c-accordion__item-head .collapsed .icon .fa-minus:before {
	content: "\f067";
}

.c-accordion__item-content {
	font-size: 1em;
	line-height: 1.8;
	text-align: left;
	padding: 0.5em 0.5em 1.0em;
}

#accordion p {
	margin: 1em 0;
}

/*************************************************************************************************************************/

.mui-select__menu>div {
	color: #323232;
}

/*************************************************************************************************************************/

.get_connected_input, .get_connected_input:hover, .get_connected_input:focus {
	border: 0;
	outline: 0;
	background: transparent;
	border-bottom: 1px solid white;
	box-shadow: none;
	color: #fff;
}

.get_connected_input option {
	color: #000;
}

.get_connected_input::placeholder {
	color: #fff;
}

/*************************************************************************************************************************/

body.theme_default {
	font-family: 'Montserrat', sans-serif;
	font-size: 14pt;
	color: #575858;
}

body.theme_default.chinese, .chinese {
	font-family: 'KaiTi', cursive;
	font-size: 28px;
	color: #A08576;
}

body.theme_default.chinese h1, h1.chinese {
	font-family: 'HanyiSentyPine', cursive;
	line-height: 80%;
}

body.theme_default.chinese .text-alt, .chinese.text-alt {
	color: #FBEFE5;
}

body.theme_default p {
	margin: 1em 0;
}

body.theme_default p.heading {
	font-weight: normal;
	font-size: 24px;
}

body.theme_default strong {
	font-weight: bold;
}

body.theme_default .bg-classes p {
	color: #333333;
	padding: 15px;
	margin-top: 10px;
}

body.theme_default select.input-lg {
	padding: 10px 11px;
}

body.theme_default .btn>.fa-10 {
	margin-left: -5px;
}

body.theme_default .btn-moreinfo {
	color: #FFF !important;
	border: solid 1px #575858;
	background: #575858;
	width: 100px;
	height: 100px;
	padding: 10px 16px;
	font-size: 1em;
	line-height: 1;
	border-radius: 50px;
	outline: none;
}

body.theme_default .separator {
	background-color: #EEEEEE;
	height: 30px;
	width: 100%;
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
	body.theme_default {
		font-size: 25pt;
	}
}

/*************************************************************************************************************************/

body.theme_default.admin,
body.theme_default.payment {
	background: #B0B4B5;
	color: #FFFFFF;
}

body.theme_default .admin_login {
	padding-top: 100px;
}

body.theme_default .admin_login .container {
	max-width: 700px;
}

/*************************************************************************************************************************/

body.theme_default #email-body p {
	margin: 0;
}

/*************************************************************************************************************************/

.container {
	-webkit-transition: opacity 200ms, visibility 200ms;
	transition: opacity 200ms, visibility 200ms;
}
.not_visible {
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	display: none;
}
.month_dropdown {
	min-width: 14em;
}
.month_picker, .year_picker {
	width: 4em;
	background: white;
	border-radius: 0;
}
.month_picker:hover, .year_picker:hover {
	border-bottom: 1px solid;
}
.event_list_pic, .event_list_no_pic {
	width: 100%;
	transition: .5s ease;
}
.event_list_no_pic {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ccc;
	color: white;
	font-weight: bold;
	font-size: 1.5em;
	min-height: 12vw;
	padding: 1em;
}
.event_list_pic:hover, .event_list_no_pic:hover {
	opacity: 0.7;
	transform: scale(1.3);
}
#calendar {
	table-layout: fixed;
}
.calendar_header_box {
	text-align: center;
}
.calendar_date_box {
	text-align: center;
	vertical-align: top;
	font-size: 1vw;
}
.calendar_event_row {
	height: 25px;
}
.calendar_event_bg_1 {
	background: #F1F2F2;
	border: 1px solid white;
}
.calendar_event_bg_2 {
	background: #E6E7E8;
	border: 1px solid white;
}
.calendar_event_bg_3 {
	background: #D1D3D4;
	border: 1px solid white;
}
.calendar_event_bg_4 {
	background: #BCBEC0;
	border: 1px solid white;
}
.calendar_venue {
	font-size: 0.8em;
}
.calendar_text_shadow {
	text-shadow: 3px 3px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}
.calendar_loader {
	border: 16px solid #f3f3f3; /* Light grey */
	border-top: 16px solid #909495; /* Grey */
	border-radius: 50%;
	width: 120px;
	height: 120px;
	animation: spin 2s linear infinite;
}
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
.pointer {
	cursor: pointer;
}
.overflow_hidden {
	overflow: hidden;
}
.event_view_btn {
	border: 1px solid;
	border-radius: 20px;
	font-size: 15px;
	padding: .8em 1.5em;
	margin: 0 1em;
	text-decoration: none;
}
.event_view_btn:hover {
	color: #fff !important;
	background-color: #000;
	text-decoration: none;
}
.event_view_btn_hover {
	color: #fff !important;
	background-color: #000;
	text-decoration: none;
}
.popover-header {
	background: white;
	text-align: center;
	border: none;
}
.popover-body {
	text-align: center;
}
.btn {
	border-radius: .125em;
}
.dropdown-menu {
	border: 0;
	transform: scale(0);
	transform-origin: 0 0;
	will-change: transform,opacity;
	transition: transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);
	border-radius: .125em;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
}

/*************************************************************************************************************************/

body.theme_default #main-wrapper {
	height: 100%;
	display: flex;
	flex-direction: column;
	flex: 1 0 100vh;
}

body.theme_default #main-header {
	position: absolute;
	z-index: 100;
}

body.theme_default #main-header.home .social a:hover,
body.theme_default #main-header.chinese .social a:hover  {
	color: #FFFFFF;
}

body.theme_default #main-footer {
	margin: 0 auto;
	padding: 20px 0;
	font-size: .7em;
	line-height: .7em;
}

body.theme_default #main-footer .copyright {
	text-align: center;
}

body.theme_default #main-footer .copyright a {
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	-ms-transition: none;
	transition: none;
}

body.theme_default #main-body {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
	padding: 0;
}

body.theme_default #main-body.main .main-info {
	color: #FFFFFF;
	position: relative;
	padding: 10px 30px;
	margin: 0 auto;
}

body.theme_default #main-body.main .main-info.border {
	color: #FFFFFF;
	position: relative;
	padding: 10px 30px;
	margin: 0 auto;
	border: solid 5px #FFFFFF;
}

body.theme_default #main-body .announcement {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 10px;
	width: 100%;
	color: #ffffff;
	background: #d50000;
	letter-spacing: 3px;
}

body.theme_default #main-body.whoweare .content .vision {
	background: url(../images/discipled_to_make_disciples.png) no-repeat center center;
	background-size: contain;
	max-width: 850px;
	padding-top: 30%;
	margin: 0 auto;
}

body.theme_default #main-body.leadership .content {
	background: #909495;
}

body.theme_default #main-body.leadership .content .board {
	background: url('../images/our_board.jpg') no-repeat 45% top;
	background-size: cover;
	min-height: 31vh;
}

body.theme_default #main-body.leadership .content .pastoral {
	background: url('../images/our_pastoral.jpg') no-repeat 45% 0;
	background-size: cover;
	min-height: 31vh;
}

body.theme_default #main-body.sundays .content .banner {
	background: url(../images/banner/findus.png) no-repeat center center;
	background-size: cover;
	height: 0;
	padding-top: 27.6%; /* (img-height / img-width * container-width%) */
}

body.theme_default #main-body .google-maps iframe {
	max-width: 100% !important;
	max-height: 100% !important;
}

/* Small devices (phablets, 600px and up) */
@media (min-width: 600px) {
	body.theme_default {
		font-size: 18px;
	}
	body.theme_default.chinese {
		font-size: 30px;
	}
}

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.modalDialog {
		font-size: 24px;
		line-height: 24px;
	}

	body.theme_default {
		font-size: 20px;
	}

	body.theme_default.chinese {
		font-size: 32px;
	}

	body.theme_default #main-footer {
		font-size: .9em;
		line-height: .9em;
	}

	body.theme_default #main-body.leadership .content .board {
		min-height: 50vh;
	}

	body.theme_default #main-body.leadership .content .pastoral {
		min-height: 45vh;
	}
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
	body.theme_default #main-body .announcement {
		bottom: calc(5% + 70px);
	}

	body.theme_default #main-body.whoweare .content .vision {
		background: url(../images/discipled_to_make_disciples.png) no-repeat center center;
		background-size: cover;
		padding-top: 24%;
	}

	body.theme_default #main-body.leadership .content .board {
		min-height: 75vh;
	}

	body.theme_default #main-body.leadership .content .pastoral {
		min-height: 75vh;
	}
}

/* Large devices (large desktops, 1600px and up) */
@media (min-width: 1600px) {
	body.theme_default #main-body.whoweare .content .vision {
		background: url(../images/discipled_to_make_disciples.png) no-repeat center center;
		background-size: cover;
		padding-top: 18%;
	}
}
