@import url("https://use.typekit.net/tpk4zej.css");

:root {
	--blue_dark: #158f90;
	--blue_light: #34B0AD;
    --blue_light_rgb: 52, 176, 173;
	--red: #D92A67;
	--gray_dark: #686666;
	--gray_light: #949494;
	--white: #FFFAFF;
	--font-heading: cormorant-garamond;
	--font-body: kohinoor-devanagari;
	--content-width: 1200px;
}

html, body { margin: 0; padding: 0; width: 100%; height: 100%; }
body {
	color: var(--gray_dark);
	font-family: var(--font-body);
	font-size: 1em;
	font-weight: 300;
	letter-spacing: 1px;
	background: #FFFAFF;
}

a { text-decoration: none; color: var(--white); }
a.icon:hover, a:hover img { opacity: 0.75; }
.inner-wrapper a { color: var(--blue_dark); }
footer .inner-wrapper a { color: var(--white); }
a.button, .button, input.button {
	background: var(--blue_dark);
	color: var(--white);
	display: inline-block;
	padding: 14px 20px;
	margin-top: 20px;
	border-radius: 3px;
	border: 1px solid var(--blue_dark);
	font-family: var(--font-heading);
	font-variant: small-caps;
	font-size: 1.02em;
}
.button:hover {
	background-color: var(--white);
	color: var(--blue_dark);
}
p { line-height: 1.5em; }
img { max-width: 100%; }
h1,h2,h3,h4,h5 {
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: 300;
}
h1 {
	font-size: 3.5em;
	font-weight: 400;
	letter-spacing: 3px;
	margin: 20px 0;
	font-variant: small-caps;
	font-style: normal;
}
h2 {
	font-size: 2.6em;
	font-style: normal;
	font-variant: small-caps;
	font-weight: 300;
	letter-spacing: 1.5px;
}
h3 { font-size: 1.9em; }
h4 { font-size: 1.6em; }
h5 { font-size: 1.4em; margin: 1.6em 0 0.5em 0; font-weight: 500; }

.divider {
	width: 60%; max-width: 1000px;
	height: 1px;
	margin: 60px auto;
	background: var(--blue_light);
}
.divider.grey { background:#DDD; }

.padder.small { height: 30px; }
.padder.medium { height: 60px; }
.padder.large { height: 100px; }

.center, .center * { text-align: center; margin-right: auto; margin-left: auto; }
.justify, .justify *:not(.center) { text-align: justify; }
.left, .left *:not(.center,.justify) { text-align: left; }
.clear { clear: both; }
.flex { display: flex; }
.flex.two-columns { gap: 5%; flex-wrap: wrap; }
.flex.two-columns > * {  max-width: 45%; min-width: 230px; margin-top: 60px; }

.grid { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; }

.overlay {
	position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 50;
	background-color: var(--blue_dark);
	opacity: 0.3;
}
#index .overlay:not(.dark) { mix-blend-mode: screen; }
.overlay.dark { opacity: 0.75; mix-blend-mode: unset; }
.inner-wrapper {
	width: 1200px; max-width: 90%;
	position: relative; z-index: 100;
	margin: 0 auto;
}
a, a img, #contact-submit
{ transition: all 300ms; }



/* ========= HEADER ========== */

header {
	width: 100%;
	position: absolute;
	z-index: 1000;
	top: 0;
	padding: 30px 0;
}
header nav {
	position: absolute; z-index: 1000;
	right: 0; top: 60px;
	height: 100%;
	line-height: 100%;
	text-align: right;
}
header nav li {
	list-style-type: none; 
	display: inline-block;
	margin: 0 2px;
	border-radius: 2px;
	position: relative; z-index: 100;
}
header nav li ul {
	display: none;
	position: absolute; left: 0; top: 0;z-index: 99;
	padding: 30px 0 0 0;
	width: 300px;
	text-align: left;
}
header nav li:hover ul { display: block; z-index: 99; }
header nav li ul li { padding: 5px 0; }
header nav a {
	color: var(--white) !important;
	font-variant: small-caps;
	letter-spacing: 2px;
	padding: 8px 12px;
	font-family: var(--font-heading);
	font-size: 1.02em;
	position: relative; z-index: 100;
}
header nav li.sub > a { cursor: default; }
header nav a.current,
header nav a:hover { opacity: 0.75; }

.header-video {
	position: relative;
	top: 0; bottom: 0;
	width: 100%; height: 60%;
	overflow: hidden;
	background-color: var(--blue_dark);
}
.header-video video {
	min-width: 100%; min-height: 100%;
	width: auto; height: auto;
	position: absolute; top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
}
#index .header-video { height: 100%; }
.header-video img {
	width: 100%; height: 100%;
	object-fit: cover;
}

.header-video hgroup {
	position: absolute; z-index: 100;
	top: 40%; left: 0; width: 100%;
	text-align: center;
	color: var(--white);
}
.header-video hgroup h3 { margin-top: 0 !important; }

/* MOBILE MENU */
#menu-icon {
	position: absolute;
	right: 0;
	top: 15px;
	cursor: pointer;
	display: none;
}




/* ========== MAIN CONTENT ========== */

nav.submenu { margin: 0 0 50px 0; }
nav.submenu a { padding: 5px 10px; }
nav.submenu a.current { color: var(--gray_dark); text-decoration: underline; }
section {
	position: relative;
	clear: both;
	overflow-x: hidden;
}
section .inner-wrapper {
	display: flex; align-items: center; gap: 8%;
	text-align: left;
	padding: 60px 0;
}
section .inner-wrapper img { min-width: 50%; border-radius: 3px; }

.thin {
	width: 78%;
	margin: 0 auto;
}
.inner-wrapper.thin { width: calc(var(--content-width)*0.7); }
section .text h3:first-child { margin-top: 0; }
section p { vertical-align: middle; }
section.parallax {
	background: url(images/index/Moon_Gate-Half_Moon_Bay-Couple.jpg) center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
	color: var(--white);
}
section.stats .inner-wrapper { padding-top: 0; }
section.stats div { text-align: center; flex: 1; }
section.stats div span { font-size: 60px; color: var(--blue_dark); }

section.cip .text { text-align: center; font-size: 1em; }
section.cip .overlay { opacity: 0.75; }
.cip-benefits ul {
	list-style-type: circle;
	padding: 0;
	margin: 60px auto;
}

section.investment-options-title .inner-wrapper { padding-bottom: 0; }
section.investment-options-title .inner-wrapper h2 { margin-bottom: 0; }

section.three-suites .inner-wrapper { align-items: flex-start; }
section.three-suites .inner-wrapper div:not(:nth-child(3)) {
	margin-bottom: 80px;
	flex: 1 1 0px; 
}
section.brochure .inner-wrapper > div { width: 100%; }
section.newsletters .inner-wrapper { padding-bottom: 0; }
section.newsletters .icons-container .icon { margin: 0 auto; }
section.newsletter-signup .inner-wrapper { padding: 20px 0 100px 0; }
section.faq h3 { padding-top: 20px; }


section.developers .flex img { width: 300px; height: 300px; border-radius: 300px; object-fit: cover; aspect-ratio: 1 / 1; }



/* ========== FORMS ========== */

.contact .inner-wrapper > div { width: 100%; }
.contact form, #mc-embedded-subscribe-form { width: 100%; text-align: center; }
.contact form input:not(#contact-submit), .contact form textarea,
#mc-embedded-subscribe-form input:not(.button) {
	margin: 10px;
	padding: 12px 15px 10px 15px;
	font-family: var(--font-heading);
	font-size: 1em;
	letter-spacing: 2px;
	line-height: 1.5em;
	font-variant: small-caps;
	background: transparent;
	border: 1px solid var(--gray_light);
	text-align: center;
}
.contact form input:not(#contact-submit) { width: 202px; }
.contact form textarea { max-width: 456px; height: 200px; width: 82%; }
.contact form input:focus, .contact form textarea:focus,
#mc-embedded-subscribe-form input:focus { outline: solid 1px var(--blue_light); }
section.newsletter-signup .inner-wrapper > div { width: 100%; }
#mc-embedded-subscribe-form input.button { letter-spacing: 2px; cursor: pointer; }
#contact-submit { letter-spacing: 1px; cursor: pointer; }
#form-status-sending { display: none; }
#form-status-error { color: var(--red); display: none; }
#form-status-success { color: var(--blue_light); display: none; }




/* ========== ICON LAYOUT ========== */

.icons-container {
	display: flex;
	flex-wrap: wrap;
	margin: 80px 0 48px 0;
}
.icons-container .icon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 30%;
	height: 30%;
	padding-bottom: 20px;
}
.icons-container .icon:nth-child(3n+2) { margin: 0 auto; }
.icons-container .icon:nth-child(4),
.icons-container .icon:nth-child(6) { margin: 24px 0; }
.icons-container .icon:nth-child(5) { margin: 24px auto; }
.icons-container .icon img { width: 8rem; height: 8rem; }
.icons-container.images .icon img { width: 100%; height:100%; }
.icons-container .icon ol { padding-left: 20px; }
.icons-container .icon ol li { text-align: left; margin-bottom: 10px; }




/* ========== FOOTER ========== */

footer {
	background: var(--blue_dark);
	color: var(--white);
	padding: 40px 0;
	font-family: var(--font-heading);
}
footer .logo {
	text-align: center;
	display: block;
	margin: 0 auto 20px;
}
footer .flex { justify-content: space-between; }
footer .flex > div { flex: 1 1 0; width: 0; }
footer .flex div:nth-child(2) { text-align: center; }
footer .flex div:nth-child(3) { text-align: right; }
footer a.social.icon {
	width: 50px; height: 50px;
	padding: 3px;
	display: inline-block;
}
footer p { margin-bottom: 0; }
footer nav ul { list-style: none; padding-left: 0; }
footer nav ul li { padding-top: 10px; font-size: 1em; }
footer nav ul li:first-child { padding-top: 0; }
footer nav ul li ul li { padding-top: 4px; }
footer nav ul li ul li:first-child { padding-top: 10px; }
footer nav ul li a { display: inline-block; font-variant: small-caps; }
footer nav ul ul { font-size: 0.9em; }
footer .copyright { text-align: center; }




/* ========== RESPONSIVE ========== */

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

.mobile-hide { display: none; }
header #menu-icon {
	display: inline-block;
	position: absolute; right: 0; top: 50px; z-index: 100;
}
header nav {
	display: none;
	margin: 0;
	padding-top: 120px; padding-left: 0;
	position: absolute; top: 0; bottom: 0; z-index: 10;
	width: 100%; height: 100%;
}
header nav > ul { padding-left: 0; }
header nav > ul > li {
	display: block;
	width: 100% !important;
	padding: 0;
	font-size: 1.4em; text-align: center;
}
header nav>ul>li>a { display: block; padding: 20px 0; }
header.menu-showing nav { display: block; }
header.menu-showing {
	position: fixed;
	width: 100%; height: 100%;
	background-color: var(--blue_light);
}
header nav li ul {
	display: none;
	position: relative;
	width: 100%;
	padding-top: 0;
}
header nav li:hover ul { display: none; }
header nav li.sub-showing ul { display: block; }
header nav li ul li {
	text-align: center;
	width: 100%;
	font-size: 0.8em;
	padding: 0 0 15px 0;
}
p, ul, ol { font-size: 0.9em; }
h1 { font-size: 3em; }
h2 { font-size: 2.3em; }
h3 { font-size: 1.6em; }
section .inner-wrapper { padding: 40px 0; }
.divider { margin: 40px auto }
.thin { width: 100%; }

section .inner-wrapper {
	display: flex;
	flex-direction: column;
	padding: 40px 0;
}
section.mobile-horizontal .inner-wrapper { flex-direction: row; }
section .inner-wrapper img {
	width: 100%; height: 350px;
	object-fit: cover; object-position: top;
}
section .inner-wrapper img.mobile-object-full { height: auto }
section.mobile-reverse .inner-wrapper img { order: 1 }
section.mobile-reverse .inner-wrapper .text { order: 2 }
section .text h3:first-child { margin-top: 30px; }
section .text p { text-align: justify; }
section.parallax { background-attachment: scroll; }

footer .flex { flex-direction: column; }
footer .flex div { flex: unset; width: 100%; text-align: center !important; margin }
footer nav ul ul { padding-right: 0; }
footer nav ul li { padding-top: 12px; font-size: 1.2em; }
footer nav ul li ul li { padding-top: 6px; font-size: 0.9em; }
footer nav ul li ul li:first-child { padding-top: 12px; }
footer div:not(:first-child) h4 { margin-top: 60px; }

/* section.developers .grid { grid-template-columns: 1; grid-column: span 1; }
section.developers .grid img { height: 300px; border-radius: 300px; object-fit: cover; } */

}


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

footer .logo { margin-top: 60px }
.mobile-hide-small { display: none; }
section .inner-wrapper { gap: 5%; }
.divider { margin: 20px auto }
section h2 { text-align: center !important; }
.icons-container { margin-top: 40px; }
.icons-container .icon { width: 45%; margin: 20px auto 0 !important; }
.icons-container .icon p, .icons-container .icon h5 { text-align: center; }
nav.submenu a { display: block; }
section .inner-wrapper img { height: 250px; }
.contact form input, #mc-embedded-subscribe-form input:not(.button) { width: 82%; }
#country-input-container { width: 100%; }
#countries-container { top: 65px; }




}


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

.icons-container .icon { width: 90%; }

}