@font-face {
  font-display: swap;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/open-sans-v40-latin-regular.woff2') format('woff2'), 
       url('/fonts/open-sans-v40-latin-regular.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/playfair-display-v37-latin-regular.woff2') format('woff2'), 
       url('/fonts/playfair-display-v37-latin-regular.ttf') format('truetype');
}

html,body,sdiv,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,select { margin:0; padding:0; font-size: inherit; font-family: inherit; line-height: inherit; }
table { border-collapse:collapse; border-spacing:0; }
caption,th,td { text-align:left; vertical-align:top; }
abbr,acronym { font-variant:normal; border-bottom:1px dotted #666; cursor:help; }
blockquote,q { quotes:none; }
fieldset,img { buorder:0; }
sup { vertical-align:text-top; }
sub { vertical-align:text-bottom; }
del { text-decoration:line-through; }
ins { text-decoration:none; }
:focus { outline:0; }
a { color:#000; }
img { height: auto; }
del { color: #666; }

html, body { width: 100%; height: 100%; }
body { position: relative; font-family: 'Open Sans',sans-serif; font-size: 16px; line-height: 1.5em; color: #000; }
body * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

body {
	line-height: 200%;
}

#container {
}
#header {
	padding: 20px 0 10px 0;
	text-align: center;
	border-bottom: 30px solid #2fbc6e;
}
#header #logo img {
	height: 100px;
}

#overview { background-color: #f3f2f1; padding: 20px 15px; }
#overview .block { max-height: 620px; grid-template-columns: 60% 40%; }
#overview .block > div:first-child { padding: 0 0 20px 20px; }
#overview .block > div:last-child { display: flex; justify-content: center; }
#overview .block p { margin: 30px 50px 0 30px; font-size: 1.2em; }
#overview .block img { object-fit: contain; display: block; margin: 0 auto; }
#overview h3 { font-family: 'Playfair Display'; font-size: 2em; line-height: 135%; margin-top: 70px; }

#content { background-color: #2fbc6e; }
#content a.button { 
	display: inline-block;
	border-radius: 50px;
	text-align: center;
	padding: 6px 22px !important; 
	text-decoration: none;
	font-weight: bold;
	border: 1px solid #fff;
	background-color: #29ba6b;
	color: #fff;
}
#content a.button:hover {
	background-color: #fff;
	color: #29ba6b; 
}

.buttonHint {
	line-height: 150%; 
	margin-top: 10px;
}
h1, h2 {
	font-family: 'Playfair Display';
}
h1 {
	margin: 0 auto 40px auto;
	font-size: 2.4em; 
	font-weight: normal;
	line-height: 150%;
	text-align: center;
	max-width: 650px;
}
h2 {
	margin: 0 0 30px 0;
	padding: 0;
	font-size: 1.9em;
	font-weight: normal;
	line-height: 155%;
	text-align: center;
}
h2.subH1 {
	font-family: inherit;
	font-size: 1.35em;
	margin-top: -20px;
	margin-bottom: 40px;
}
h3 {
	margin: 35px 0 15px 0;
	font-size: 1.5em;
	font-weight: normal;
	color: #333;
}
h3.compact { margin-bottom: 20px !important; }
p {
	margin-bottom: 20px;
	color: #333;
}

#content ul, #content ol { padding-left: 40px; margin: 0; line-height: 140%; }
#content ul li { margin-bottom: 10px; }
#content ul ul { padding-top: 10px; }
#content img { max-width: 100%; }
#content ul { color: #333; }

.center { text-align: center; }
.greyOut { color: #999; }
.spaceTop { margin-top: 30px; }

.block { max-width: 800px; margin: 0 auto; border-radius: 15px; background-color: #fff; }
.block.text { padding: 30px 20px 60px 20px; }
.block.icons { text-align: center; }
.block.icons h3 { margin-top: 0; }

.c2, .c3 { display: grid; grid-auto-flow: column; gap: 20px; grid-template-columns: repeat(2, 1fr); }
.c3 { grid-template-columns: repeat(3, 1fr); }
.c2 > div > h3, .c3 > div > h3 { margin: 30px 0 10px 0; }
.c2 > div > h3:first-child, .c3 > div > h3:first-child { margin-top: 0; }
.c2 > div { overflow: hidden; }
.c2 .colorblock { margin: 0; }
.c3.icons { gap: 5%; }
.c3.icons img { display: block; width: 100%; max-width: 250px !important; margin-left: auto; margin-right: auto; } 
.c3.icons h3 { margin-top: 10px; }

.nowrap { white-space: nowrap; }
.spacer { margin-top: 30px; margin-bottom: 30px; }
.spacer2 { margin-top: 60px; margin-bottom: 60px; }
.spacerBottom { margin-bottom: 30px !important; }
.spacerBottom2 { margin-bottom: 60px !important; }
.spacerTop { margin-top: 30px !important; }
.spacerTop2 { margin-top: 60px !important; }
.border, .borderDark { border: 4px solid #fff; border-radius: 20px; display: inline-block; padding: 20px 30px 10px 0; margin-bottom: 20px; }
.borderDark { border-color: #d0b2a2; margin-bottom: 20px !important; }

#footer {
	border-top: 30px solid #2fbc6e;
	padding: 50px 20px 20px 20px;
	font-size: 0.85em;
	text-align: center;
}

.youtube-responsive-wrapper {
	position: relative;
	width: 100%;
	padding-top: 56.25%; /* 16:9 */
	margin: 20px 0;
}

.youtube-responsive-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.youtube-consent {
	position: relative;
	max-width: 560px;
	margin: 0 auto;
	background: #f9f9f9;
	border: 1px solid #ccc;
	padding: 1em;
	text-align: center;
	font-family: sans-serif;
}

.youtube-notice {
	font-size: 0.9em;
	line-height: 130%;
	color: #666;
}

.youtube-notice a {
	color: #666;
	text-decoration: underline;
}

.youtube-thumb-wrapper {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

.youtube-thumb-wrapper img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

.youtube-thumb-wrapper button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	width: 60px;
	height: 60px;
}

#blogList {
	padding: 40px 20px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 20px;
}
#blogList .preview {
	padding: 20px;
	border: 0px solid #2fbc6e;
	border-radius: 20px;
	text-decoration: none;
	background-color: #fff;
}
#blogList .preview h3 {
	margin: 0;
	font-size: 1.25em;
	text-align: center;
}
#blogList .preview:hover h3 {
	color: #000;
}
#blogList img { 
	border-radius: 20px 20px 0 0;
}

#article {
	margin-bottom: 20px;
	background-color: #fff;
}
#article h1 { 
	text-align: left; 
	margin: 0 0 30px 0;
	max-width: 800px;
}
#article h2 {
	margin: 60px auto 30px auto;
	max-width: 640px;
}
#article .story {
	font-family: monospace;
	border: 1px solid #ffe3ca;
	padding: 40px;
	background-color: #fff7ea;
}
#article .image {
	position: relative;
	min-height: 100px; 
	max-height: 700px;
	margin: 40px auto;
	display: flex; 
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

#article .image img {
	max-width: 100%;
	max-height: 700px; 
	object-fit: contain;
}
#article .image .photographer {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 3px;
    padding: 8px;
    background-color: rgba(0,0,0,0.5);
    color: #ddd;
    font-size: 0.85em;
    border-radius: 5px;
    line-height: 100%;
    text-decoration: none;
}
#article .image .photographer:hover {
	text-decoration: underline;
	background-color: rgba(0,0,0,0.7);
	color: #fff;
}
#article .small {
	font-size: 0.85em;
	color: #888;
	line-height: 130%;
}
#article .author {
	background-color: #eee;
	padding: 10px 20px;
	overflow: hidden;
	margin-bottom: 30px;
	border-radius: 15px;
	display: inline-block;
}

#article .author>div {
	line-height: 150%;
}
#article .author>div b {
	font-size: 1.2em;
}
#article .readingTime {
	color: #888;
	margin-bottom: 20px;
}

@media all and (max-width: 820px) {
	#nav { text-align: right; display: none; }
	#navicon { display: block; }
	#nav.active { right: -7px; top: 60px; background-color: #f0efec; border: 1px solid #c1c1be; border-width: 0 0 1px 1px; padding: 20px 30px 30px 30px; }
	#nav li { float: none; }
	#nav li:last-child { margin-top: 10px; }
}
@media all and (max-width: 980px) {
	#overview h3 { margin-top: 0; }
	.wave { background-size: 100% 30px; padding-top: 60px; padding-bottom: 40px; }
}
@media all and (max-width: 800px) { 
	.portrait h3 { font-size: 2.6em; margin-top: 40px; }
	.portrait h4, .portrait ul li { font-size: 1em; }
	.c2.iconLeft > div:last-child { margin-bottom: 20px; }
	.c3 { display: block; grid-template-columns: none; padding: 0; }
	.package { max-width: 400px; margin-left: auto; margin-right: auto; }
	.package.tipBox { margin-top: 55px; }
}
@media all and (max-width: 640px) { 
	#content > .block:first-child { padding-top: 25px; }
	#overview .block { max-height: none; }
	#overview .block > div:first-child { padding: 0; }
	#overview .block h3 { font-size: 2em; margin-top: 20px; } 
	.c2 { display: block; grid-template-columns: none; padding: 0; }
	.c2 > div { margin: 20px 0; }
	.c2 > div.fullimage { min-height: 400px; }
	.c2.iconLeft > div:first-child { margin-top: 50px; margin-bottom: 0; }
	.block.text.hero { padding-top: 30px; }
	.c2.iconLeft h3 { margin-top: 0; }
	#overview .block > div:last-child { max-width: 350px; margin: 0 auto; }
	h1 { font-size: 1.7em; }
	h2.subH1 { font-size: 1.2em; }
}
@media all and (max-width: 460px) { 
	body { font-size: 16px; }
	#overview .block p { margin-left: 0; margin-right: 0; }
	#content ul { padding-left: 20px; }
	#article .story { padding: 20px 10px ;}
}