/* GENERAL STYLING */

:root {
	--lightest: #ddffff;
	--lighter: #C3EFF8;
	--light: #9DDAEC;
	--mid: #71D3EE;
	--dark: #30BBE6;
	--darker: #009CCB;
	--darkest: #00789D;
	--darkerest: #053A48;
	
	--alt-mid: #4490B2;
	--alt-dark: #327EA0;

	--text-dark: #477597;
	--text-mid: #0097bd;
}

* {
	box-sizing: border-box;
}
.hidden {
	visibility: hidden;
}
HTML, body {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-tap-highlight-color: transparent;
	font-family: Arial, sans-serif;
	font-size: 16px;
	margin: 0;
	padding: 0;
	border: 0;
}
h1, h2, h3, h4, h5, p, a, ul, li {
    text-decoration: none;
    margin: 0;
    padding: 0;
}
ul, li {
	list-style-type: none;
}
body {
	-webkit-text-size-adjust: none;
	max-height: 100vh;
	margin: 0;
	background: var(--darkerest);
}


body, a {
	color: var(--text-dark)
}
.nowrap {
	white-space: nowrap;
}

/* FONT */

.font-moc {
  font-family: "Mountains of Christmas", serif;
  font-weight: 400;
  font-style: normal;
}
.font-moc-bold {
  font-family: "Mountains of Christmas", serif;
  font-weight: 700;
  font-style: normal;
}
.font-ig {
  font-family: "Irish Grover", system-ui;
  font-weight: 400;
  font-style: normal;
}


#container {
	background: var(--darker);

	padding: 1px 0;
	min-width: 396px;
}

#footer-bar {
	border-bottom: 4px solid var(--dark);
	width: 100%;
	height: 0;
	margin-top: -4px;
}


/* HEADER */

#header {
	position: relative;

	height: 16vw;
	min-height: 100px;
	max-height: 140px;

	margin-top: -4px;
}
.header-bar {
	position: absolute;

	background-color: var(--lighter);
	background: url(../_style/title_bg.jpg);
	background-position: bottom;
	
	border-top-color: var(--darkest);
	border-bottom-color: var(--light);
	border-style: solid;
	border-width: 4px 0 3px 0;

	width: 100%;
	height: 70%;
	bottom: 22%;
}
.header-content {
	margin: 0 auto;
	max-width: 46em;
}
.header-title {
/*	transition-duration: .1s;*/
	position:relative;
	height: 100%;
	margin: 0 auto;
}
.header-images {
	display: flex;
	height: 100%;
	margin: 0 auto;

	/* Sum of image widths */
	width: 62vw;
	max-width: 580px;
	min-width: 384px;

}
.header-images .logo {
	background: url(../_style/title.png);
	background-size: 100% 100%;
	margin-right: 0;
	width: 44vw;
	height: 100%;
	min-width: 260px;
	max-width: 400px;
}
.header-images .peng-a {
	background: url(../_style/peng_top_a.png);
	background-size: 100% 100%;
	width: 18vw;
	height: 18vw;
	min-width: 112px;
	min-height: 112px;
	max-width: 156px;
	max-height: 156px;
}
.header-title h1, 
.header-title h3 {
	display: none;
	font-size: 1.5rem;
	font-weight: bolder;
	color: var(--dark);
}




/* CONTENT */

#content-container {
	margin: 0px auto 32px auto;
	max-width: 46em;
	overflow: hidden;
}
#content {
/*	transition-duration: .1s;*/
	background: var(--mid);
	border-color: var(--darkest);
	border-style: solid;
	border-width: 4px 2px 2px 2px;
	margin: 0px 32px;
	padding: 1em 24px;
/*	transition-duration: 0;*/
}
#content.sticky {
	padding-top: 5.5em;
/*	transition-duration: 0;*/
}


/*#content h2, */
#content h3 {
  font-family: "Irish Grover", system-ui;
  font-weight: 400;
  font-style: normal;
}
#content p {
	margin-bottom: 1em;
}





/* INTRO */


.intro {
	margin-top: 3vw;
}
.intro-info {
	margin: 0 auto;
	max-width: 520px;
	margin-top: 4vw;
}
.intro-info .intro-list {
	margin-right: 2vw;
}
.intro-info .intro-text {
	margin-top: 1vw;
}



#content .intro h2, 
#content .intro h3 {
	text-align: center;
}
#content .intro h2, 
.section.section-how .info-block h4, 
#content p b, 
#content p a {
	font-family: Arial, sans-serif;
	font-weight: 900;
	font-size: 1.1em;
	margin-bottom: 0;
	color: #257e9a;
}
#content p {
	line-height: 1.3em;
}
#content p a {
	font-weight: 700;
	color: var(--lightest);
	text-shadow: 1px 1px 0px var(--dark);
	border-bottom: 1px solid var(--lighter);
}
#content p a:hover {
	color: var(--lighter);
	text-shadow: 1px 1px 0px var(--dark);
}

#content .intro h3 {
	font-family: Arial, sans-serif;
	font-weight: 400;
	font-size:  .9em;
	color: var(--text-mid);
	margin-bottom: 1.5em;
}

/*
#content .intro h2 {
	font-family: "Mountains of Christmas", serif;
	font-size: 2em;
}
*/

.intro-info {
	display: flex;
}
.intro-list {
	color: var(--lighter);
	font-size: 1.5em;
	z-index: 1;
	width: 12em;
/*	margin-bottom: 1.5em;*/
}
.intro-text {
	margin-left: 1em;
}


/* INTRO LIST */

.intro-list li {
	font-family: "Irish Grover", serif;
	padding: .2em .5em;
	text-align: center;
}
.poly-rect1, 
.poly-rect1-long, 
.poly-rect3, 
.poly-rect3-long, 
.poly-rect5, 
.poly-rect5 {
	background-color: var(--darker);
}
.poly-rect2, 
.poly-rect2-long, 
.poly-rect4, 
.poly-rect4-long {
	background-color: var(--dark);
}
.poly-rect1 {
	clip-path: polygon(0% 10%, 100% 0%, 96% 90%, 0% 80%);
}
.poly-rect1-long {
	clip-path: polygon(0% 10%, 100% 0%, 98% 90%, 0% 80%);
}
.poly-rect2 {
	clip-path: polygon(10% 0%, 90% 10%, 94% 90%, 0% 100%);
}
.poly-rect2-long {
	clip-path: polygon(5% 0%, 95% 10%, 97% 90%, 0% 100%);
}
.poly-rect3 {
	clip-path: polygon(0% 0%, 100% 10%, 90% 90%, 10% 100%);
}
.poly-rect3-long {
	clip-path: polygon(0% 0%, 100% 10%, 97% 90%, 3% 100%);
}
.poly-rect4 {
	clip-path: polygon(6% 0%, 86% 10%, 92% 90%, 10% 100%);
}
.poly-rect4-long {
	clip-path: polygon(3% 0%, 96% 10%, 98% 90%, 4% 100%);
}
.poly-rect5 {
	clip-path: polygon(8% 0%, 96% 20%, 90% 90%, 0% 100%);
}
.intro-list .poly-rect2 {
	margin: 0 .5em;
}
.intro-list .poly-rect3 {
	width: 80%;
	margin: 0 10%;
}


/* CONTENT NAV */

#nav {
	width: 100%;
	margin: 0 auto 1em auto;
	text-align: center;
}
#nav ul {
	display: flex;
	flex-wrap: nowrap;
	margin: 0 -.9em 0 -1.3em;
}

#nav li a {
	display: block; 
	color: var(--darker);
	padding: .4em;
	
	font-weight: 700;
	font-size: .9em;
}
#nav li {
	z-index: 1;
	flex: 1;
	background-color: var(--lighter);
	border: 2px solid var(--darker);
	border-radius: 6px;
	box-shadow: 4px 4px 0 0 var(--darker);
	
	text-align: center; 
	align-content: center;
	margin: 0 .3em;
	position: relative;
}
#nav li:last-of-type {
	flex: .25;
/*	display: none;*/
}
#nav .button:hover {
	background-color: var(--lightest);
	border-color: var(--dark);
	box-shadow: 7px 5px 0 0 var(--darkest);
}
#nav .button:hover a {
	color: var(--dark);
}

#nav li:first-of-type span {
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	bottom: -12px;
	right: 8px;
	background: url(../_style/ball_green.png);
	background-size: contain;
}
#nav li:last-of-type span {
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: -16px;
	right: -12px;
	background: url(../_style/ball_red.png);
	background-size: contain;
}

/*
#nav.sticky li:first-of-type {
	display: block;
}
*/
#nav.sticky {
	position: fixed;
	top: 0;
	width: 100%;
	left: 0;
	z-index: 4;
}

#nav.sticky .nav-buttons {
	margin: 0 auto;
	padding: 0 50px 8px 50px;
	max-width: 46em;

}
#nav.sticky .nav-buttons ul {
/*	background-color: var(--mid);*/
/*	background-image: linear-gradient(to top, rgba(255,0,0,0), var(--darker));*/
	padding: 8px 6px 12px 6px;
	border-radius: 0px;
}

.anchor {
	scroll-margin-top: 3em;
}
#faq.anchor {
/*	scroll-margin-top: 7em;*/
}
.section.section-faq {
	clear: both;
	top: -4em;
	margin-bottom: -4em;
}




/* SECTION HEADER */


.section {
	position: relative;
}
.section .section-header {
	text-align: center;
	margin-left: 60px;
}
.section .section-header h2 {
	position: relative; 
	display: inline-block;
	font-family: "Mountains of Christmas", serif;
	font-weight: 700;
	font-style: normal;
	font-size: 2.5em;
	color: var(--dark);
	padding: .2em .5em;
	margin: 1.5em auto calc(.5em + 20px) auto;
	z-index: 1;
}
.section .section-header .peng-left {
	background: url(../_style/peng_left.png);
	background-size: 100% 100%;
	position: absolute;
	bottom: -20px;
	left: -120px;
	width: 140px;
	height: 80px;
}
.section .section-header .peng-right {
	background: url(../_style/peng_right.png);
	background-size: 100% 100%;
	position: absolute;
	bottom: -20px;
	right: -60px;
	width: 80px;
	height: 56px;
}
.section .section-header .poly-rect6{
	position: absolute;
	top: 0; 
	left: 0;
	width: 100%;
	height:  100%;
	z-index: -1;
}
.poly-rect6 {
	background-color: var(--lighter);
	clip-path: polygon(0% 20%, 96% 0%, 100% 100%, 1% 80%);
}



/* SECTION INFO */

.section .info-block, 
.section h3, 
.section p, {
	text-align: left;
}
.section h3 {
	display: inline-block;
	padding: .2em .7em;
	color: var(--lighter);
	font-size: 1.5em;
	font-weight: 700;
	margin: .5em 0;
}
.section .disclaimer {
	color: var(--text-mid);
	font-size: .8em;
	line-height: 1.8em;
}
.section.section-how .info-block a {
	color: var(--text-mid);
	font-size: 1em;
	font-weight: 700;
}
.section h4 {
	margin-bottom: 1em;
}



/* INFO BLOCK IMAGES LAYOUT */

.section .info-block .info-text {
	margin-bottom: 3em;
}
.section .info-block.left {
	margin-bottom: -2em;
	float: left:
}
.section .info-block.right {
	float: right:
}
.section .info-photos img {
	border: 4px solid var(--dark);
	display: block;
}
.section .info-photos img:first-of-type {
	margin-bottom: 1em;
	margin-left: 32px;
	margin-bottom: -24px;
}
.section .info-block .info-photos {
	background-color: var(--darker);
	padding: 32px;
	margin-bottom: 2em;
	clip-path: polygon(
		0 48%, 12% 45%, 16% 4%, 28% 0, 96% 3%, 
		100% 65%, 86% 68%, 80% 96%, 68% 100%, 
		6% 96%
	);
	shape-outside: polygon(
		0 48%, 12% 45%, 
		16% 4%, 28% 0, 96% 0%, 
		100% 65%, 86% 68%, 
		80% 96%, 68% 100%, 6% 100%
	);
}
.section .info-block .info-photos.right {
	margin-right: -80px;
	margin-left: 1.5em;
	margin-top: 0;
	padding-right: 60px;
	float: right;
}
.section .info-block .info-photos.left {
	margin-left: -64px;
	margin-right: 1.5em;
	margin-top: 1em;
	margin-bottom: 1em;
	padding-left: 48px;
	float: left;
}
.section.section-what .info-text.right {
	margin-bottom: 6em;
}



#content {
	padding-bottom: 80px;
}
#content-container {
	padding-bottom: 116px;
	margin-bottom: 0px;
}

	
	
#footer {
	position: relative;
	display: block;
}

.peng-bottom {
	position: absolute;
	top: -80px;
	right: 33px;

	display: block;
	
	background: url(../_style/peng_bottom_a.png);
	background-size: contain;
	overflow: visible;
	
	margin-right: -30px;
	height: 202px;
	width: 430px;

}
	
#footer .beanbag1 {
/*	border: 2px solid yellow;*/
	position: absolute;
	display: block;
	
	background: url(../_style/ball_green.png);
	background-size: contain;
	
	height: 20px;
	width: 22px;

	top: -120px;
	right: 20px;
}

#footer .beanbag2 {
/*	border: 2px solid yellow;*/
	position: absolute;
	display: block;
	
	background: url(../_style/ball_green.png);
	background-size: contain;
	
	height: 18px;
	width: 20px;

	bottom: -80px;
	right: 500px;
}




/* FULL WIDTH */
@media only screen and (min-width: 740px) {
	.intro {
		margin-top: 1.5em;
	}
	.intro-info {
		margin-top: 2em;
	}
	.intro-info .intro-list {
/*		margin-right: 1vw;*/
	}
	.intro-info .intro-text {
		margin-top: .5em;
	}
}


/* MID WIDTH */
@media only screen and (max-width: 640px) {
	.section.section-what .info-text.right {
		clear: right;
	}
}


/* COMPACT WIDTH */
@media only screen and (max-width: 580px) {
	#content {
		margin: 0 6px;
	}
	#content .section h2 {
		font-size: 2em;
	}
	#nav .button {
		font-size: .9em;
	}

	
	#footer .peng-bottom {
		right: 6px;
		top: -62px;
		margin-right: -30px;
		width: 380px;
		height: 179px;
	}
	#footer .beanbag1 {
		right: -6px;
		top: -120px;
	}
	#footer .beanbag2 {
		right: 380px;
	}
	#content {
		padding-bottom: 62px;
	}
}

	
/* EXTRA COMPACT WIDTH */
@media only screen and (max-width: 480px) {

	.header-title .logo {
		min-width: 250px;
		left: 12px;
	}

	#content .section h2 {
		font-size: 1.5em;
	}
	#content .section h3 {
		font-size: 1.3em;
	}
	#nav .button {
		font-size: .8em;
		padding: .4em;
		margin: 0 .3em;
	}
	#nav.sticky .nav-buttons {
		padding: 0 26px;
	}
}



/* TRANSITION */

#content {
	transition: margin .2s;
}
#footer .beanbag1, 
#footer .beanbag2, 
#footer .peng-bottom {
	transition-duration: .2s;
