@import url('https://fonts.googleapis.com/css2?family=Cormorant+Upright:wght@300;400&display=swap');
html {scroll-behavior: smooth;}
body {margin:0; font-family:"Microsoft JhengHei","微軟正黑體","Apple LiGothic Medium","蘋果儷中黑",Arial,sans-serif; font-size:1rem; line-height:1.5;}
body * {box-sizing:border-box;}
img {max-width:100%; border:none;}
.clearfix {overflow: auto;}
.clearfix::after {content: ""; clear: both; display:table;}
.container {
	width:96%; max-width:1800px;
	margin-right:auto; margin-left:auto;
	position:relative;
}
.abs {position:absolute;}
.mobile-show, .tablet-show {display:none;}

/* #main-menu */
	nav#main-menu {
		font-family: 'Cormorant Upright', 'Times New Roman', Times, serif;
		position:absolute;
		z-index:100;
		left:0;
		right:0;
		top:40px;
	}
	nav#main-menu ul {
		list-style:none;
		margin:0;
		padding:0;
		display:flex;
		justify-content:center;
		align-items: flex-start;
		column-gap:50px;
	}
	nav#main-menu ul li {
		position:relative;
	}
	nav#main-menu ul li .submenu {
		opacity:0;
		overflow:hidden;
		height:0;
		margin-top:30px;
		position:absolute;
		transition:all .5s ease;
	}
	nav#main-menu ul li:hover .submenu {
		opacity:1;
		height:auto;
		margin-top:0px;
		text-align:center;
	}
	nav#main-menu a {
		color:#FFF;
		text-decoration:none;
		font-size:19px;
		cursor:pointer;
		transition:color .3s;
	}
	nav#main-menu a:hover {
		text-decoration:underline;
		color:#FEC914;
	}

/* #mobile-menu */
	#mobile-menu {display:none;}

/* #welcome */
	#welcome{
		min-height:111vh;
		position:relative;
	}
	#welcome .bg {
		z-index:-1;
		width:100%; height:110vh;
	}
	#welcome .bg img {
		width:100%; height:100%;
		object-fit: cover;
	}
	#welcome .building {
		z-index:1;
		top:0px; left:0;
		width:100%; height:111vh;
		overflow:hidden;
	}
	#welcome .building img {
		width:100%; height:100%;
		object-fit: cover;
	}
	#welcome .logo {
		z-index:3;
		left: 50%; transform: translate(-50%, 0);
		top:150px;
		width:224px; height:182px;
	}
	#welcome .slogan {
		z-index:3;
		top:400px;
		left:150px;
	}
	#welcome .slogan img {
		display:inline-block;
	}
	#welcome .slogan .slogan-c .spacer {
		display:inline-block; width:55px;
	}
	#welcome .slogan .slogan-e {
		margin-left:30px;
	}
	#welcome .slogan .slogan-e .spacer {
		display:inline-block; width:15px;
	}

/* #intro */
	#intro {
		margin:70px auto;
		max-width:1600px;
		font-size:20px;
	}
	#intro .box {
		display:flex;
		flex-wrap:wrap;
	}
	#intro ul {
		margin:25px 0 25px 20px;
	}
	#intro ul li {
		margin-bottom:40px;
	}
	#intro .box1 {
		z-index:1;
	}
	#intro .box1 .text {
		width:840px;
		padding-right:120px;
	}
	#intro .box1 .image {
		width:calc(100% - 840px);
	}
	#intro .box1 .slogan-e {
		margin-left:50px;
	}
	#intro .box1 .content {
		margin:40px 0 0 80px;
	}
	#intro .box1 .tablet-flex .right {
		display:none;
	}
	#intro .box2 {
		margin-top:-80px;
	}
	#intro .box2 .image {
		width:920px;
		height:510px;
		padding-left:130px;
	}
	#intro .box2 .image img {
		position:absolute;
		z-index:-1;
	}
	#intro .box2 .text {
		width:calc(100% - 920px);
		padding-left:50px;
	}
	#intro .box2 .content {
		padding-top:130px;
	}

/* #floor-plans */ 
	#floor-plans {
		position:relative;
	}
	#floor-plans .bg {
		position:absolute;
		z-index:-1;
		width: 100%;
		height:100%;
	}
	#floor-plans .bg img {
		width:100%; height:100%;
		object-fit:cover; object-position:center center;
	}
	#floor-plans .content {
		display:flex;
		min-height:1080px;
		padding-top:60px;
		padding-bottom:60px;
		align-items:center;
		justify-content:center;
	}
	#floor-plans .content .inner {
		padding-right:330px;
		width:950px;
	}
	#floor-plans .links {
		font-size:24px;
		display:flex; flex-wrap:wrap;
		row-gap:35px;
		margin-top:35px;
		margin-bottom:50px;
	}
	#floor-plans .links a {
		color:#000;
		text-decoration:none;
		transition:color .4s;
		flex-basis:32%;
	}
	#floor-plans .links a:hover {
		color:#C3D505;
	}

/* #location */
	#location {
		margin:100px 0;
		display:flex;
		flex-wrap:wrap;
		column-gap:50px;
	}
	#location .map {
		width:970px;
	}
	#location .desc {
		width:calc(100% - 1020px);
		align-self:center;
	}
	#location .desc .slogan-c {
		display:flex;
		align-items:flex-start;
		margin-bottom:25px;
	}
	#location .desc .slogan-c img.w2 {
		margin:25px 0 0 22px;
	}
	#location .desc .slogan-e {
		display:flex;
		margin-left:30px;
	}
	#location .desc .slogan-e img.w2 {
		margin:0 0 0 12px;
	}
	#location .desc .content {
		margin:40px 0 40px 45px;
		max-width:550px;
	}
	#location .desc .content ul.main {
		font-size:20px;
		margin-bottom:70px;
	}
	#location .desc .content ul.main li {
		margin-bottom:30px;
	}
	#location .desc .content ul.note {
		list-style:none;
		font-size:15px;
		display:flex;
		flex-wrap:wrap;
		row-gap:15px;
	}
	#location .desc .content ul.note li {
		display:flex;
		align-items:center;
		flex-basis:40%;
		column-gap:12px;
	}

/* footer */
	footer {
		padding:135px 0 20px;
		background:url(img/footer_bg.png) top left repeat-y;
		color:#FFF;
		font-size:12px;
		line-height:1.35;
	}
	footer .container {
		display:flex;
		align-items:center;
		justify-content:space-between;
	}
	footer .ftlogo {
		width:200px;
	}
	footer .footer-text {
		width:calc( 100% - 230px );
	}
	footer .footer-text article {
		margin:13px 0;
		text-align:justify;
	}
	footer .footer-text article.enquiry {
		float:left;
		font-size:1.5rem;
	}
	footer .footer-text article.copyright {
		float:right;
	}

@media (max-width: 1600px)	{
	/* #welcome */
		#welcome .logo {
			top:130px;
		}
		#welcome .slogan {
			top:330px;
			left:80px;
		}

	/* #intro */
		#intro .box2 {
			margin-top:-30px;
		}
		#intro .box2 .image {
			width:790px;
			height:auto;
			padding-left:50px;
		}
		#intro .box2 .image img {
			position:relative;
		}
		#intro .box2 .text {
			width:calc(100% - 790px);
		}
		#intro .box2 .content {
			padding-top:90px;
		}

	/* #floor-plans */ 
		#floor-plans .content {
			min-height:860px;
		}

	/* #location */
		#location {
			column-gap:30px;
		}
		#location .map {
			width:850px;
		}
		#location .desc {
			width:calc(100% - 880px);
		}
		#location .desc .slogan-c, #location .desc .slogan-e {
			flex-wrap:wrap;
		}
		#location .desc .slogan-c img.w2 {
			margin:15px 0 0 70px;
		}
		#location .desc .slogan-e {
			margin-left:40px;
		}
		#location .desc .slogan-e img.w2 {
			margin:15px 0 0 70px;
		}
		#location .desc .content {
			margin:30px 20px 30px 15px;
		}
		#location .desc .content ul.main {
			margin-bottom:40px;
		}
		#location .desc .content ul.main li {
			margin-bottom:20px;
		}
}

@media (max-width: 1200px)	{
	/* #main-menu */
		nav#main-menu {
			top:30px;
		}

	/* #welcome */
		#welcome .logo {
			top:100px;
		}
		#welcome .slogan {
			top:320px;
		}

	/* #intro */
		#intro ul {
			margin:20px 0 20px 10px;
		}
		#intro ul li {
			margin-bottom:20px;
		}
		#intro .box1 .text {
			width:600px;
			padding-right:50px;
		}
		#intro .box1 .image {
			width:calc(100% - 600px);
		}
		#intro .box1 .slogan-e {
			margin-left:0px;
		}
		#intro .box1 .content {
			margin:30px 0 0 40px;
		}
		#intro .box2 {
			margin-top:30px;
		}
		#intro .box2 .image {
			width:60%;
			padding-left:0;
		}
		#intro .box2 .text {
			width:40%;
			padding-left:30px;
		}
		#intro .box2 .content {
			padding-top:10px;
		}

	/* #location */
		#location .map {
			display:none;
		}
		#location .desc {
			width:96%; max-width:800px;
		}
		#location .desc .slogan-c, #location .desc .slogan-e {
			padding-left:0; margin-left:0; justify-content:center;
		}
		#location .desc .slogan-c img.w2 {
			margin:0 0 0 50px;
		}
		#location .desc .slogan-e img.w2 {
			margin:0 0 0 15px;
		}
		#location .desc .content {
			margin:30px auto;
			max-width:100%;
		}
		#location .desc .content ul.main {
			font-size:18px;
			margin:40px auto 50px;
			max-width:550px;
		}
		#location .desc .content ul.note {
			margin:20px auto 20px;
			max-width:550px;
		}
		#location .desc .content ul.note li {
			flex-basis:33%;
		}
		#location .desc .tablet-show {
			display:block !important;
		}

	/* footer */
		footer .ftlogo {
			align-self:flex-start;
		}
		footer .footer-text {
			width:calc( 100% - 200px );
		}
		footer .footer-text article {
			margin:5px 0;
		}
		footer .footer-text article.enquiry {
			float:none;
			font-size:1.25rem;
		}
		footer .footer-text article.copyright {
			float:none;
		}
}

@media (max-width:950px)	{

	/* #main-menu */
		nav#main-menu {
			top:25px;
		}
		nav#main-menu ul {
			column-gap:28px;
		}

	/* #welcome */
		#welcome .building img {
			object-position:66% 100%;
		}
		#welcome .slogan {
			width:calc( 100% - 230px);
			left:20px;
			text-align:center;
		}
		#welcome .slogan .slogan-c .spacer {
			width:35px;
		}
	
	/* #intro */
		#intro {
			margin:40px auto;
		}
		#intro ul {
			margin:20px 0 20px 10px;
		}
		#intro ul li {
			margin-bottom:20px;
		}
		#intro .box1 .text {
			width:100%;
			padding-right:0;
		}
		#intro .box1 .image {
			display:none;
		}
		#intro .box1 .content {
			margin:30px 0 0 0px;
		}
		#intro .box1 .tablet-flex {
			display:flex;
		}
		#intro .box1 .tablet-flex .left {
			width:60%;
			padding-right:50px;
		}
		#intro .box1 .tablet-flex .right {
			display:block;
			width:40%;
		}
		#intro .box2 {
			flex-direction:column-reverse;;
		}
		#intro .box2 .image, #intro .box2 .text {
			width:100%; padding-left:0;
		}

	/* #floor-plans */ 
		#floor-plans .bg img {
			object-position:60% center;
		}
		#floor-plans .content {
			min-height:760px;
		}
		#floor-plans .content .inner {
			padding-right:260px;
			width:100%;
		}
		#floor-plans .links {
			font-size:22px;
			row-gap:25px;
			margin-top:25px;
		}
		#floor-plans .links a {
			flex-basis:32%;
		}

	/* #location */
		#location {
			margin:60px auto;
		}
		#location .desc .slogan-c img.w1, #location .desc .slogan-c img.w2 {
			margin:5px 25px;
		}
		#location .desc .slogan-e img.w1, #location .desc .slogan-e img.w2 {
			margin:5px 7px;
		}

	/* footer */
		footer .footer-text article {
			margin:10px 0;
		}
		footer .ftlogo {
			width:160px;
		}
		footer .footer-text {
			width:calc( 100% - 160px );
		}
}

@media (max-width: 600px)	{
	.container {
		padding-right:22px; 
		padding-left:22px;
	}
	.mobile-hide {display:none !important;}
	.mobile-show {display:inline !important;}

	/* #main-menu */
		nav#main-menu {
			display:none;
		}

	/* #mobile-menu */
		#mobile-menu {
			font-family: 'Cormorant Upright', 'Times New Roman', Times, serif;
			font-size:23px;
			line-height:1.35;
			display:block; 
			position:absolute; 
			left:0; 
			top:0; 
			width: 100%;
			z-index:12;
			-webkit-user-select:none;
			user-select:none;
		}
		#mobile-menu * {
			transition:all .3s ease;
		}
		#mobile-menu input, #mobile-menu span {
			content:'';
			display:block;
			margin:0;
		}
		#mobile-menu input {
			position:absolute;
			right:10px;
			top:10px;
			width:36px;
			height:36px;
			cursor:pointer;
			opacity:0; 
			z-index:12; 
			-webkit-touch-callout: none;
		}
		#mobile-menu .bar {
			position:absolute;
			z-index:6;
			width:36px;
			height:36px;
			right:10px; top:10px;
		}
		#mobile-menu .bar span {
			position:absolute;
			z-index:6;
			
			top:50%;
			transform: translate(0,-50%);
			left:4px;
			height:3px;
			width:28px;
			background-color:#FFF;
		}
		#mobile-menu span:first-of-type {
			margin-top:-9px;
		}
		#mobile-menu span:last-of-type {
			margin-top:9px;
		}
		#mobile-menu input:checked ~ .bar span {
			margin-top:0; 	
		}
		#mobile-menu input:checked ~ .bar span:nth-of-type(2)	{
				opacity:0;
		}
		#mobile-menu input:checked ~ .bar span:first-of-type {
			transform:  rotate(45deg);
		}
		#mobile-menu input:checked ~ .bar span:last-of-type {
			transform:   rotate(-45deg);
		}
		#mobile-menu ul {
			overflow:hidden;
			opacity:0;
			height:100vh; width:100%;
			margin:-101vh 0 0 0; 
			padding:50px 0 0 0;
			list-style:none;
			position:absolute;
			background:rgba(44, 66, 151,.8);
		}
		#mobile-menu input:checked ~ ul {
			opacity:1;
			margin-top:0;
		}
		#mobile-menu ul a {
			color: #FFF; 
			text-decoration:none;
			display:block;
			position:relative;
			padding:8px 22px;
		}
		#mobile-menu ul .submenu a {
			margin-left:40px;
		}
		#mobile-menu ul .submenu a:before {
			content:' ';
			display:block;
			position:absolute;
			left:5px;
			top:50%;
			transform: translateY(-50%);
			width:4px;
			height:4px;
			background:#FFF;
		}

	/* #welcome */
		#welcome {
			min-height: 101vh;
		}
		#welcome .bg {
			height:100vh;
		}
		#welcome .building {
			height:101vh;
		}
		#welcome .logo {
			top:45px;
			text-align:center;
		}
		#welcome .logo img {
			width:75%;
		}
		#welcome .building img {
			position: absolute;
			bottom: 0;
			height:78%;
			object-position:76% 100%;
		}
		#welcome .slogan {
			top:230px;
			width:42%;
			left:35px;
		}
		#welcome .slogan .slogan-e {
			margin-left:0;
		}
		#welcome .slogan .slogan-e .w2 {
			width: 112px;
		}
		#welcome .slogan .slogan-e .w3 {
			width: 116px;
		}
		#welcome .slogan .slogan-c .spacer, #welcome .slogan .slogan-e .spacer {
			display:none;
		}
	
	/* #intro */
		#intro {
			font-size:18px;
		}
		#intro ul {
			margin:20px 0 20px 0;
		}
		#intro ul li {
			margin-bottom:15px;
		}
		#intro .box1 .image {
			width:100%;
			display:block;
		}
		#intro .box1 .content {
			margin:30px 0 0 0px;
		}
		#intro .box1 .tablet-flex .left {
			width:100%;
			padding-right:0;
		}
		#intro .box1 .tablet-flex .right {
			display:none;
		}
		#intro .sub-title {
			max-width:80%;
		}

	/* #floor-plans */ 
		#floor-plans .bg img {
			object-position:63% center;
		}
		#floor-plans .content .inner {
			padding-right:0;
		}
		#floor-plans .links {
			font-size:20px;
			row-gap:20px;
			margin-top:20px;
		}
		#floor-plans .links a {
			flex-basis:43%;
		}

	/* #location */
		#location .desc .content ul.note {
			margin:15px auto; padding:0;

		}
		#location .desc .content ul.note li {
			flex-basis:50%;
			column-gap:8px;
		}

	/* footer */
		footer .container {
			flex-direction:column;
		}
		footer .ftlogo {
			text-align:center;
			width:100%;
		}
		footer .footer-text {
			width:100%;
			display:flex;
			flex-direction:column;
		}
		footer .footer-text .enquiry {
			order:1;
			text-align:center;
		}
		footer .footer-text .disclaimer {
			order:2;
		}
		footer .footer-text .copyright {
			order:3;
		}
}