@charset "UTF-8";
@import url(font-awesome.min.css);
@import url('https://fonts.googleapis.com/css2?family=Abel&family=Alexandria:wght@300&family=Cormorant+Garamond:wght@500&family=Namdhinggo:wght@400;500;600;700;800&family=Tai+Heritage+Pro:wght@400;700&display=swap')

/* Type */

	html {
		font-size: 13pt;
	}

		@media screen and (max-width: 1680px) {

			html {
				font-size: 11pt;
			}

		}

		@media screen and (max-width: 1280px) {

			html {
				font-size: 11pt;
			}

		}

		@media screen and (max-width: 980px) {

			html {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 736px) {

			html {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 480px) {

			html {
				font-size: 12pt;
			}

		}

	body {
		background-color: #fff;
		color: #444;
	}

	body, input, select, textarea {
		font-family: "Poppins", sans-serif;
		font-weight: 300;
		font-size: 1rem;
		line-height: 1.65;
	}

	a {
		text-decoration: underline;
	}

		a:hover {
			text-decoration: none;
		}

	strong, b {
		font-weight: 600;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2rem 0;
	}

		p.special {
			text-transform: uppercase;
			font-size: .75rem;
			font-weight: 300;
			margin: 0 0 .5rem 0;
			padding: 0 0 1rem 0;
			letter-spacing: .25rem;
		}

			p.special:after {
				content: '';
				position: absolute;
				margin: auto;
				right: 0;
				bottom: 0;
				left: 0;
				width: 50%;
				height: 1px;
				background-color: rgba(0, 0, 0, 0.125);
			}

	h1, h2, h3, h4, h5, h6 {
		font-weight: 300;
		line-height: 1.5;
		margin: 0 0 1rem 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h2 {
		font-size: 1.75rem;
	}

	h3 {
		font-size: 1.35rem;
	}

	h4 {
		font-size: 1.1rem;
	}

	h5 {
		font-size: 0.9rem;
	}

	h6 {
		font-size: 0.7rem;
	}

	sub {
		font-size: 0.8rem;
		position: relative;
		top: 0.5rem;
	}

	sup {
		font-size: 0.8rem;
		position: relative;
		top: -0.5rem;
	}

	blockquote {
		border-left: solid 4px;
		font-style: italic;
		margin: 0 0 2rem 0;
		padding: 0.5rem 0 0.5rem 2rem;
	}

	code {
		border-radius: 2px;
		border: solid 1px;
		font-family: "Courier New", monospace;
		font-size: 0.9rem;
		margin: 0 0.25rem;
		padding: 0.25rem 0.65rem;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9rem;
		margin: 0 0 2rem 0;
	}

		pre code {
			display: block;
			line-height: 1.75;
			padding: 1rem 1.5rem;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 1px;
		margin: 2rem 0;
	}

		hr.major {
			margin: 3rem 0;
		}

	.align-left {
		text-align: left;
	}

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

	.align-right {
		text-align: right;
	}

	input, select, textarea {
		color: #555;
	}

	a {
		color: #8a4680;
	}

	strong, b {
		color: #555;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #555;
	}

	blockquote {
		border-left-color: rgba(144, 144, 144, 0.25);
	}

	code {
		background: rgba(144, 144, 144, 0.075);
		border-color: rgba(144, 144, 144, 0.25);
	}

	hr {
		border-bottom-color: rgba(144, 144, 144, 0.25);
	}

/* Box */

	.box {
		margin-bottom: 2rem;
		background: #FFF;
	}

		.box .image.fit {
			margin: 0;
			border-radius: 0;
		}

			.box .image.fit img {
				border-radius: 0;
			}

		.box header h2 {
			margin-bottom: 0.5rem;
		}

		.box header p {
			text-transform: uppercase;
			font-size: .75rem;
			font-weight: 300;
			margin: 0 0 .25rem 0;
			padding: 0 0 .75rem 0;
			letter-spacing: .25rem;
		}

			.box header p:after {
				content: '';
				position: absolute;
				margin: auto;
				right: 0;
				bottom: 0;
				left: 0;
				width: 50%;
				height: 1px;
				background-color: rgba(0, 0, 0, 0.125);
			}

		.box .content {
			padding: 2rem;
		}

		.box > :last-child,
		.box > :last-child > :last-child,
		.box > :last-child > :last-child > :last-child {
			margin-bottom: 0;
		}

		.box.alt {
			border: 0;
			border-radius: 0;
			padding: 0;
		}

		@media screen and (max-width: 736px) {

			.box .content {
				padding: 2rem;
			}

		}

	.box {
		border-color: rgba(144, 144, 144, 0.25);
	}

/* Button */

	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		border-radius: 2px;
		border: 0;
		cursor: pointer;
		display: inline-block;
		font-weight: 300;
		height: 2.85rem;
		line-height: 2.65rem;
		padding: 0 1.5rem;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
	}


/* Image */

	.image {
		border-radius: 2px;
		border: 0;
		display: inline-block;
		position: relative;
	}

		.image img {
			border-radius: 2px;
			display: block;
		}

		.image.left, .image.right {
			max-width: 40%;
		}

			.image.left img, .image.right img {
				width: 100%;
			}

		.image.left {
			float: left;
			margin: 0 1.5rem 1rem 0;
			top: 0.25rem;
		}

		.image.right {
			float: right;
			margin: 0 0 1rem 1.5rem;
			top: 0.25rem;
		}

		.image.fit {
			display: block;
			margin: 0 0 2rem 0;
			width: 100%;
		}

			.image.fit img {
				width: 100%;
			}

		.image.main {
			display: block;
			margin: 0 0 3rem 0;
			width: 100%;
		}

			.image.main img {
				width: 100%;
			}


/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	header p {
		position: relative;
		margin: 0 0 1.5rem 0;
	}

	header h2 + p {
		font-size: 1.25rem;
		margin-top: -1rem;
	}

	header h3 + p {
		font-size: 1.1rem;
		margin-top: -0.8rem;
	}

	header h4 + p,
	header h5 + p,
	header h6 + p {
		font-size: 0.9rem;
		margin-top: -0.6rem;
	}

	header p {
		color: #bbb;
	}






/* Banner */

	.banner {
		background-color: #ffffff;
		color: #e2d1df;
		padding: 8em 0;
		position: relative;
	}

		.banner input, .banner select, .banner textarea {
			color: #ffffff;
		}

		.banner a {
			color: #ffffff;
		}

		.banner strong, .banner b {
			color: #ffffff;
		}

		.banner h1, .banner h2, .banner h3, .banner h4, .banner h5, .banner h6 {
			color: #ffffff;
		}

		.banner blockquote {
			border-left-color: rgba(255, 255, 255, 0.25);
		}

		.banner code {
			background: rgba(255, 255, 255, 0.075);
			border-color: rgba(255, 255, 255, 0.25);
		}

		.banner hr {
			border-bottom-color: rgba(255, 255, 255, 0.25);
		}

		.banner.full {
			padding: 0;
			min-height: 130vh;
			height: 130vh !important;
		}

		.banner.half {
			padding: 0;
			min-height: 50vh;
			height: 50vh !important;
		}


		.banner .indicators {
			bottom: 1.5em;
			left: 0;
			list-style: none;
			margin: 0;
			padding: 0;
			position: absolute;
			text-align: center;
			width: 100%;
			z-index: 2;
		}

			.banner .indicators li {
				cursor: pointer;
				display: inline-block;
				height: 2em;
				overflow: hidden;
				padding: 0;
				position: relative;
				text-indent: 2em;
				width: 2em;
			}

				.banner .indicators li:before {
					background: rgba(255, 255, 255, 0.35);
					border-radius: 100%;
					content: '';
					display: inline-block;
					height: 0.8em;
					left: 50%;
					margin: -0.4em 0 0 -0.4em;
					position: absolute;
					text-indent: 0;
					top: 50%;
					width: 0.8em;
				}

				.banner .indicators li.visible:before {
					background: #fff;
				}

		.banner > article {
			-moz-transition: opacity 1.5s ease, visibility 1.5s;
			-webkit-transition: opacity 1.5s ease, visibility 1.5s;
			-ms-transition: opacity 1.5s ease, visibility 1.5s;
			transition: opacity 1.5s ease, visibility 1.5s;
			background-attachment: fixed;
			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;
			height: 100%;
			left: 0;
			opacity: 0;
			position: absolute;
			text-align: center;
			top: 0;
			visibility: hidden;
			width: 100%;
			z-index: 0;
		}

			.banner > article:before {
				content: '';
				display: inline-block;
				height: 80%;
				vertical-align: middle;
			}

			.banner > article:after {
				content: '';
				display: block;
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				background: #000;
				opacity: 0;
			}

			.banner > article .inner {
				position: relative;
				display: inline-block;
				vertical-align: middle;
				z-index: 1;
			}

				.banner > article .inner > :last-child {
					margin-bottom: 0;
				}

			.banner > article h2 {
				font-size: 3rem;
				margin-bottom: 0;
				color: #FFF;
				font-weight: 300;
				font-family: "Namdhinggo", serif;
			}

				.banner > article h2:after {
					display: none;
				}

			.banner > article p {
				color: #FFF;
				text-transform: uppercase;
				font-size: 0.8rem;
				font-weight: 300;
				margin: 0;
				padding-bottom: 1.75rem;
				letter-spacing: .25rem;
			}

				.banner > article p:after {
					content: '';
					position: absolute;
					margin: auto;
					right: 0;
					bottom: 0;
					left: 0;
					width: 50%;
					height: 1px;
					background-color: rgba(255, 255, 255, 0.65);
				}

			.banner > article a {
				color: #FFF;
				text-decoration: none;
			}

			.banner > article img {
				display: none;
			}

			.banner > article.visible {
				opacity: 1;
				visibility: visible;
			}

			.banner > article.top {
				z-index: 1;
			}

			.banner > article.instant {
				-moz-transition: none !important;
				-webkit-transition: none !important;
				-ms-transition: none !important;
				transition: none !important;
			}

		body.is-loading .banner:after {
			opacity: 1.0;
			visibility: visible;
		}

		@media screen and (max-width: 1280px) {

			.banner.full {
				padding: 0;
				min-height: 65vh;
				height: 95vh !important;
			}
			
			.banner > article:before {
				content: '';
				display: inline-block;
				height: 100%;
				vertical-align: middle;
			}

		}

		@media screen and (max-width: 980px) {

			.banner.full {
				padding: 0;
				min-height: 50vh;
				height: 85vh !important;
			}

			.banner > article {
				background-attachment: scroll;
			}

			.banner > article:before {
				content: '';
				display: inline-block;
				height: 100%;
				vertical-align: middle;
			}

		}

		@media screen and (max-width: 736px) {

			.banner.full {
				padding: 0;
				min-height: 50vh;
				height: 650px !important;
			}

			.banner > article .inner {
				width: 90%;
			}

			.banner > article p {
				margin-bottom: 1rem;
			}

			.banner > article h2 {
				font-size: 3em;
			}
			.banner > article:before {
				content: '';
				display: inline-block;
				height: 100%;
				vertical-align: middle;
			}

		}

		body.is-mobile .banner > article {
			background-attachment: scroll;
		}

/* Main */

	#main {
		padding: 4rem 0 2rem 0 ;
	}

		@media screen and (max-width: 736px) {

			#main {
				padding: 3rem 0 1rem 0 ;
			}

		}

