/*
THEME NAME: Smiths Tropical Paradise
THEME URI: https://deliciousdesign.com/
VERSION: 2.0
AUTHOR: Delicious Design
AUTHOR URI:
*/

/* -------------------------------------------------------------------------- RESET --- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline;}  table {border-collapse: separate; border-spacing: 0;}  caption, th, td { text-align: left; font-weight: normal; }  table, td, th { vertical-align: middle; }  blockquote:before, blockquote:after, q:before, q:after { content: ""; }  blockquote, q { quotes: "" ""; }  a img { border: none; } 
a:active, a:focus { outline: none; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:none; }
textarea, select, input, progress, input[type=submit], input[type=button] { appearance: none; -webkit-appearance: none; -moz-appearance: none; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }


/* ------------------------------------------------------------------------ GLOBALS --- */
:root {
	--body-color: #363636;
	--stp-bg-color: #e8e6d4;
	--stp-header-tan: #9f9d8c;
	--stp-footer-tan: #726f56;
	--stp-alert-tan: #d5d2b1;
	--stp-bg-main: #726f56;
	--stp-bg-luau: #00234a;
		--stp-luau-button: #b4421f;
	--stp-bg-grotto: #3d5a27;
		--stp-grotto-button: #0083a6;
	--stp-bg-garden: #132a18;
		--stp-garden-button: #8d1166;
	--stp-bg-weddings: #3e2735;
		--stp-weddings-button: #438859;

	--stp-headline-color: #5f5b3a;
	--type-color-dark: #464646;
	--type-color-light: #ffffff;

	--link-color: #003877;
	--link-color-hover: #5a153f;
	--stp-yellow: #e0c971;

	--main-radius: 2px;
	--button-radius: 9999rem;

	--stp-side-pattern: 20px;
	--stp-body-width: 1400px;

	}
.red { color:red; }


/* --------------------------------------------------------------------------- BODY --- */
html {
	font-size: 17px;
	line-height:1;
	text-align: left;
    margin: 0;
    padding: 0;
	}
body {
	background: var(--body-color);
    margin: 0;
    padding: 0;
	}
body, 
input,
textarea,
select {
	color: var(--type-color-dark);
	}

/* ------------------------------------------------------------------------- COLORS --- */
a {
	transition: all .3s;
	cursor:pointer;
	}
div.entry_content a {
	border-bottom: 1px dotted rgba(0,0,0,0.6);
	border-radius:2px;
	font-weight: 500;
	padding: 0 2px;
	}
div.entry_content a:hover {
	background: white;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
	border-bottom: 1px dotted rgba(0,0,0,0.0);
	}
a:link, 
a:visited {
	color: var(--link-color);
	text-decoration:none;
	}
a:hover, 
a:active {
	color: var(--link-color-hover);
	}
div#footer_links a:link, 
div#footer_links a:visited,
a.ftr_phone:link,
a.ftr_phone:visited {
	color: var(--type-color-light);
	text-decoration:none;
	}
div#footer_links a:hover, 
div#footer_links a:active,
a.ftr_phone:hover,
a.ftr_phone:hover {
	color: var(--stp-yellow);
	}
div#footer_creds a:link, 
div#footer_creds a:visited {
	color: var(--type-color-light);
	}
div#footer_creds a:hover, 
div#footer_creds a:active {
	color: var(--stp-yellow);
	}


.headlines, h1, h2, h3, h4, h5, h6 {
	color: var(--stp-headline-color);
	}
	/* luau */
	body.pageid-6 h1,
	body.pageid-25 h1,
	body.pageid-31 h1,
	body.pageid-6 h2,
	body.pageid-25 h2,
	body.pageid-31 h2,
	body.pageid-6 h3,
	body.pageid-25 h3,
	body.pageid-31 h3,
	div#post-6 div.entry_content a,
	div#post-25 div.entry_content a,
	div#post-31 div.entry_content a,
	body.pageid-6 .notification_mssg,
	body.pageid-25 .notification_mssg,
	body.pageid-31 .notification_mssg {
		color: var(--stp-bg-luau);
		}
	/* grotto */
	body.pageid-8 h1,
	body.pageid-8 h3,
	body.pageid-27 h1,
	div#post-8 div.entry_content a,
	div#post-27 div.entry_content a {
		color: var(--stp-bg-grotto);
		}
	/* garden */
	body.pageid-10 h1,
	body.pageid-10 h3,
	div#post-10 div.entry_content a {
		color: var(--stp-bg-garden);
		}
	/* weddings */
	body.pageid-12 h1,
	body.pageid-29 h1,
	body.pageid-12 h2,
	body.pageid-29 h2,
	body.pageid-12 h3,
	body.pageid-29 h3,
	div#post-12 div.entry_content a,
	div#post-29 div.entry_content a {
		color: var(--stp-bg-weddings);
		}

blockquote {
	background-color:DimGray;
	color:White;
	}
div#menu ul.menu li.menu-item a {
	background-color: var(--stp-footer-tan);
	color:var(--type-color-light);
	transition: color .5s, background-color .5s;
	}
div#menu ul.menu li.menu-item a:hover,
body.pageid-2 div#menu ul.menu li#menu-item-43 a:hover,
body.pageid-2 div#menu ul.menu li#menu-item-46 a:hover,
body.pageid-2 div#menu ul.menu li#menu-item-48 a:hover,
body.pageid-2 div#menu ul.menu li#menu-item-49 a:hover {
	background-color: var(--stp-bg-color);
	color:var(--type-color-dark);
	cursor:pointer;
	}
/* home */
body.pageid-2 div#menu ul.menu li.current_page_item a,
body.pageid-2 div#menu ul.menu li.current_page_item a:hover,
body.pageid-14 div#menu ul.menu li.current_page_item a,
body.pageid-14 div#menu ul.menu li.current_page_item a:hover,
body.pageid-16 div#menu ul.menu li.current_page_item a,
body.pageid-16 div#menu ul.menu li.current_page_item a:hover {
	background-color: var(--stp-bg-color);
	color:var(--type-color-dark);
	}
/* luau */
body.pageid-2 div#menu ul.menu li#menu-item-43 a,
body.pageid-6 div#menu ul.menu li.current_page_item a,
body.pageid-6 div#menu ul.menu li.current_page_item a:hover,
div#menu ul.menu li#menu-item-43 a:hover {
	background-color: var(--stp-bg-luau);
	color:var(--type-color-light);
	}
/* garden */
body.pageid-2 div#menu ul.menu li#menu-item-46 a,
body.pageid-8 div#menu ul.menu li.current_page_item a,
body.pageid-8 div#menu ul.menu li.current_page_item a:hover,
div#menu ul.menu li#menu-item-46 a:hover {
	background-color: var(--stp-bg-grotto);
	color:var(--type-color-light);
	}
/* grotto */
body.pageid-2 div#menu ul.menu li#menu-item-48 a,
body.pageid-10 div#menu ul.menu li.current_page_item a,
body.pageid-10 div#menu ul.menu li.current_page_item a:hover,
div#menu ul.menu li#menu-item-48 a:hover {
	background-color: var(--stp-bg-garden);
	color:var(--type-color-light);
	}
/* weddings */
body.pageid-2 div#menu ul.menu li#menu-item-49 a,
body.pageid-12 div#menu ul.menu li.current_page_item a,
body.pageid-12 div#menu ul.menu li.current_page_item a:hover,
div#menu ul.menu li#menu-item-49 a:hover {
	background-color: var(--stp-bg-weddings);
	color:var(--type-color-light);
	}





a#nav_toggle {
	color: var(--link-color);
	}
a#nav_toggle:hover {
	color: var(--link-color-hover);
	}

a.button,
div.entry_content a.button {
	position:relative;
	z-index: 1;
	display: inline-block;
	box-sizing: border-box;
	background-color: var(--stp-footer-tan);
	color: var(--type-color-light)!important;
	border-radius:var(--button-radius);
	border: 5px solid #e3e1d0;
	cursor:pointer;
	text-align:center;
	width:100%;
	max-width:300px;
	padding: 9px 14px 9px 14px;
	margin: 0 0 12px 0;
	text-decoration: none;
	font-size: 1rem;
	line-height: 1;
	text-transform: uppercase;
	font-weight: 700;
	transition: all .3s;
	}
a.button::after {
	content: "";
	position: absolute;
	top: -7px;
	left: -7px;
	right: -7px;
	bottom: -7px;
	border: 2px solid #b1b0a2;
	border-radius:var(--button-radius);
	z-index: -2;
	box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
	}

a.button.directions {
	text-align: left;
	}
div.entry_content a.button.directions {
	background-color: var(--stp-bg-grotto);
	}
a.button.directions i {
	padding: 0 5px 0 1px;
	}
a.button.directions.apple i {
	padding: 0 8px 0 2px;
	}
	/* luau directions */
	body.pageid-6 a.button.directions,
	body.pageid-25 a.button.directions,
	body.pageid-31 a.button.directions {
		background-color: var(--stp-bg-luau);
		}
	/* grotto directions */
	body.pageid-8 a.button.directions,
	body.pageid-27 a.button.directions {
		background-color: var(--stp-bg-grotto);
		}
	/* garden directions */
	body.pageid-10 a.button.directions {
		background-color: var(--stp-bg-garden);
		}
	/* weddings directions */
	body.pageid-12 a.button.directions,
	body.pageid-29 a.button.directions {
		background-color: var(--stp-bg-weddings);
		}


a.button.tickets {
	
	}
	/* luau buy */
	body.pageid-6 a.button.tickets,
	body.pageid-25 a.button.tickets,
	body.pageid-31 a.button.tickets {
		background-color: var(--stp-luau-button);
		}
	/* grotto buy */
	body.pageid-8 a.button.tickets,
	body.pageid-27 a.button.tickets {
		background-color: var(--stp-grotto-button);
		}
	/* garden buy */
	body.pageid-10 a.button.tickets {
		background-color: var(--stp-garden-button);
		}
	/* weddings buy */
	body.pageid-12 a.button.tickets,
	body.pageid-29 a.button.tickets {
		background-color: var(--stp-weddings-button);
		}

a.button.has_shader {
	background-image: url('images/button_glare.png');
	background-size: 100% 100%;
	background-position: center;
	}
a.button.has_shader:hover {
	background-image: url('images/button_glare.png');
	background-size: 150% 100%;
	background-position: center;
	}


a.button:hover {
	background-color: var(--stp-footer-tan) !important;
	color: var(--type-color-light);
	}
div#luau a.button.tickets {
	background-color: var(--stp-luau-button);
	}
div#grotto a.button.tickets {
	background-color: var(--stp-grotto-button);
	}
div#garden a.button.tickets {
	background-color: var(--stp-garden-button);
	}
div#weddings a.button.tickets {
	background-color: var(--stp-weddings-button);
	}
div#luau a.button:hover {
	background-color: var(--stp-bg-luau) !important;
	color: var(--type-color-light);
	}
div#grotto a.button:hover {
	background-color: var(--stp-bg-grotto) !important;
	color: var(--type-color-light);
	}
div#garden a.button:hover {
	background-color: var(--stp-bg-garden) !important;
	color: var(--type-color-light);
	}
div#weddings a.button:hover {
	background-color: var(--stp-bg-weddings) !important;
	color: var(--type-color-light);
	}


input[type=submit],
input[type=button] {
	position:relative;
	z-index: 1;
	display: inline-block;
	box-sizing: border-box;
	background-color: var(--stp-footer-tan);
	color: var(--type-color-light)!important;
	border-radius:var(--button-radius);
	border: 5px solid rgba(255,255,255,0.5);
	cursor:pointer;
	text-align:center !important;
	max-width:300px;
	padding: 9px 14px 9px 14px;
	margin: 0 0 12px 0;
	text-decoration: none;
	font-size: 1rem;
	line-height: 1;
	text-transform: uppercase;
	font-weight: 700;
	background-image: url('images/button_glare.png');
	background-size: 100% 100%;
	background-position: center;
	transition: all .3s;
	}
input[type=submit]:hover,
input[type=button]:hover {
	background-color: var(--link-color-hover);
	color: var(--type-color-light);
	background-image: url('images/button_glare.png');
	background-size: 150% 100%;
	background-position: center;
	}


/* --------------------------------------------------------------------- TYPOGRAPHY --- */
body,
input[type=text], 
input#date_g1,
input[type=email],
input[type=tel],
textarea,
.gesta { /* face */
	font-family: "gesta", sans-serif;
	font-weight: 300; /* 300 500 700 */
	font-style: normal;
	}
.headlines, h1, h2, h3, h4, h5, h6,
.aldine {
	font-family: "adobe-aldine-display", sans-serif;
	font-weight: 700; /* 400 700 */
	font-style: normal;
	color: var(--stp-headline-color);
	}

div#blog-description {
	margin:0 0 0 2px;
	font-size:0.9rem;
	}
h1 {
	font-size:2.3rem;
	line-height:1.1em;
	margin: 0 0 15px 0;
	}
h1#blog_title {
	display:block;
	position:fixed;
	top:-1000px;
	left:0px;
	}
h1.entry_title {
	font-size:2.7rem;
	line-height:1.1em;
	text-align: center;
	margin: -10px 0 0 0;
	}
div.page_simple h1.entry_title {
	text-align: left;
	} 
div#tagline {
	text-align:center;
	text-transform: uppercase;
	font-family: "adobe-aldine-display", sans-serif;
	font-weight: 700;
	font-style: normal;
	color: var(--stp-headline-color);
	margin: 0 0 20px 0;
	font-size: 0.9rem;
	}

h2 {
	font-size:1.9rem;
	line-height:1.1em;
	margin: 0 0 15px 0;
	}
h2.caps {
	font-size:1.3rem;
	line-height:1.1em;
	margin: 0 0 8px 0;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 400;
	}
div#tabbed_content h2 {
	font-size:2.1rem;
	line-height:1;
	margin: 10px 0 5px 0;
	}
h3 {
	font-size:1.42rem;
	line-height:1.1em;
	margin: 0 0 15px 0;
	}
div.sidebar_content h3,
div#reservation_container h3,
h3.f_gesta,
div#employment_form h3 {
	font-family: "gesta", sans-serif;
	font-weight: 700; /* 300 500 700 */
	font-style: normal;
	font-size:1.1rem;
	line-height:1em;
	text-transform: uppercase;
	margin: 10px 0 10px 0;
	}
h4 {
	font-size:0.95rem;
	line-height:1.1rem;
	text-transform: uppercase;
	margin: 0 0 1.0rem 0;
	}
p {
	font-size: 1.0rem;
	line-height: 1.5rem;
	display:block;
	margin: 0 0 1.0rem 0;
	}
div.sidebar_content p {
	font-size: 0.9rem;
	line-height: 1.2rem;
	display:block;
	margin: 0 0 15px 0;
	}
ul li, 
ol li {
	font-size: 1.0rem;
	line-height: 1.4;
	margin-bottom:4px;
	}
ul {
	display:block;
	margin-left:30px;
	margin-bottom:0.85rem;
	}
ol {
	display:block;
	margin-left:33px;
	margin-bottom:0.85rem;
	}
blockquote {
	font-size:1.28rem;
	line-height:1.4rem;
	display:block;
	float:right;
	width:200px;
	opacity:0.5;
	padding:12px 8px 2px 13px;
	margin:0 0 10px 14px;
	}	
em, 
i {
	font-style: italic;
	}
strong, 
b {
	font-weight:500; /* 300 500 700 */
	}

/* ---------------------------------------------------------------------- STRUCTURE --- */
div#logo {
	box-sizing:border-box;
	padding: 5px 2px 8px 2px;
	position: absolute;
	width:190px;
	height:95px;
	top:-4px;
	left:40px;
	transition: top .2s;
	z-index:6;
	}
div#logo:hover {
	top:-6px;
	}
.logo_pattern {
	position: absolute;
	top: 0;
	left: 0;
	width:190px;
	height:95px;
	color: var(--stp-footer-tan);
	pointer-events: none;
	z-index: 0;
	}
	/* luau */
	body.pageid-6 .logo_pattern,
	body.pageid-25 .logo_pattern,
	body.pageid-31 .logo_pattern {
		color: var(--stp-bg-luau);
		}
	/* grotto */
	body.pageid-8 .logo_pattern,
	body.pageid-27 .logo_pattern {
		color: var(--stp-bg-grotto);
		}
	/* garden */
	body.pageid-10 .logo_pattern {
		color: var(--stp-bg-garden);
		}
	/* weddings */
	body.pageid-12 .logo_pattern,
	body.pageid-29 .logo_pattern {
		color: var(--stp-bg-weddings);
		}
div#logo a {
	position: relative;
	z-index: 1;
	display: block;
	text-align: center;
	}
div#logo img {
	width:calc(100% - 20px);
	height: auto;
	margin: 4px 0 3px 0;
	}
div#logo div.double_rule,
div.double_rule_lt {
	position:relative;
	height:3px;
	border-top: 1px dotted rgba(255,255,255,0.2);
	border-bottom: 1px dotted rgba(255,255,255,0.2);
	margin: 0 0 0 0;
	z-index: 2;
	}
div.single_rule {
	height:1px;
	border-top: 1px dotted rgba(0,0,0,0.3);
	margin: 6px 0 15px 0;
	width:100%;
	}

div#header {
	position:fixed;
	box-sizing:border-box;
	top:0px;
	left: 50%;
	transform: translateX(-50%);
	width:calc(100% - (var(--stp-side-pattern) * 4));
	max-width:calc(var(--stp-body-width) - (var(--stp-side-pattern) * 4));
	height: 53px;
	padding: 4px 0 4px 0;
	margin: 0 0 0 0;
	background: var(--stp-header-tan);
	z-index:12;
	box-shadow: 0 0 8px rgba(0,0,0,0.4);

	}
div#header_inset {
	box-sizing:border-box;
	border-top: 1px dotted rgba(255,255,255,0.4);
	border-bottom: 1px dotted rgba(255,255,255,0.4);
	height: 100%;
	margin: 0;
	}

div#wrapper {
	position:relative;
	box-sizing:border-box;
	width: 100%;
	min-height: 100vh;
	padding: 0 var(--stp-side-pattern);
	background: var(--stp-bg-main) url('images/pattern_page_smiths.png') top left;
	background-size: 190px auto;
	}
	/* luau */
	body.pageid-6 div#wrapper,
	body.pageid-25 div#wrapper,
	body.pageid-31 div#wrapper {
		background: var(--stp-bg-luau) url('images/pattern_page_luau.png') top left;
		background-size: 190px auto;
		}
	/* grotto */
	body.pageid-8 div#wrapper,
	body.pageid-27 div#wrapper {
		background: var(--stp-bg-grotto) url('images/pattern_page_grotto.png') top left;
		background-size: 190px auto;
		}
	/* garden */
	body.pageid-10 div#wrapper {
		background: var(--stp-bg-garden) url('images/pattern_page_garden.png') top left;
		background-size: 190px auto;
		}
	/* weddings */
	body.pageid-12 div#wrapper,
	body.pageid-29 div#wrapper {
		background: var(--stp-bg-weddings) url('images/pattern_page_weddings.png') top left;
		background-size: 190px auto;
		}


div#activity_logo {
	position: relative;
	margin: -200px auto 0 auto;
	text-align:center;
	width:350px;
	height:auto;
	aspect-ratio: 668/445;
	z-index:10;
	transition: margin .5s, height .5s;
	}
div#activity_logo img {
	display:block;
	width:100%;
	height: auto;
	}


div#wrapper_inner {
	position:relative;
	box-sizing: border-box;
	display:flex;
	width:100%;
	max-width:calc(var(--stp-body-width) - (var(--stp-side-pattern) * 2));
	min-height: 100vh;
	margin: 0 auto;
	box-shadow: 0 0 20px rgba(0,0,0,0.6);
	}
div.v_pattern {
	box-sizing: border-box;
	width: var(--stp-side-pattern);
	min-height: 100vh;
	background: #e8e6d4 url('images/pattern_left.png') repeat-y top left;
	background-size: 100% auto;
	}
div.v_pattern.right {
	background: #e8e6d4 url('images/pattern_right.png') repeat-y top left;
	background-size: 100% auto;
	}

div#page_body {
	position:relative;
	width: calc(100% - (var(--stp-side-pattern) * 2));
	padding: 53px 0 0 0;
	min-height: 100vh;
	background:var(--stp-bg-color);
	}
div#frame_body {
	position:relative;
	width: 100%;
	padding: 0 0 0 0;
	background:var(--stp-bg-color);
	}

/* --------------------------------------------------------------------------- HOME --- */
#billboard {
	position: absolute;
	top:0px;
	left:0px;
	width: 100%;
	aspect-ratio: 16/8;
	overflow: hidden;
	background: #000;
	}
.billboard_slide {
	position: absolute;
	top: 50px;
	left: 0;
	width: 100%;
	height:100%;
	opacity: 0;
	transition: opacity 1s ease-in-out;
	z-index: 0;
	}
.billboard_slide img {
	width:100%;
	height:100%;
	object-fit: cover;
	}
.billboard_slide.active {
	opacity: 1;
	z-index: 1;
	}
#billboard_buffer {
	margin-top:-50px;
	width: 100%;
	transition: height .5s ease-in-out;
	}

div#primary_container.homepage {
	margin: 0 auto 20px auto;
	z-index:2;
	}
div#primary_container.homepage div.entry_content {
	box-sizing: border-box;
	width: 100%;
	padding: 0 0;
	margin: 0 0 20px 0;
	}
div#primary_container.homepage div.entry_content.has_widgets {
	margin: -30px 0 20px 0;
	}
div.one_activity {
	box-sizing: border-box;
	position: relative;
	width:24%;
	color: var(--type-color-light);
	padding: 0 0 138px 0;
	transition: width .5s;
	}
div.one_activity div.double_rule_lt {
	margin: 10px 0 10px 0;
	}
div.one_activity div.double_rule_lt.second {
	margin: 0px 0 10px 0;
	}
div.one_activity div.double_rule_lt.last {
	position:absolute;
	width:100%;
	bottom:10px;
	left:0px;
	margin: 0px 0 10px 0;
	}
div.one_activity h3 {
	font-size:1.3rem;
	line-height:1.1em;
	padding:0;
	margin: 15px 15px 0px 15px;
	color:var(--type-color-light);
	text-align:center;
	}
div.one_activity a.thumbnail_cell {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio: 600/324;
	margin: 0 0 7px 0;
	border: 0px dotted transparent;
	border-radius: 0px;
	padding: 0 0;
	}
div.one_activity a.thumbnail_cell:hover {
	background:transparent;
	box-shadow: 0 0 0 rgba(0,0,0,0);
	}
div.one_activity a.thumbnail_cell img {
	display:block;
	width:100%;
	height:auto;
	}
div.one_activity a.logo_cell {
	position:relative;
	display:block;
	width:100%;
	height:auto;
	margin: -65px 0 6px 0;
	text-align: center;
	z-index: 3;
	border: 0px dotted transparent;
	border-radius: 0px;
	padding: 0 0;
	}
div.one_activity a.logo_cell:hover {
	background:transparent;
	box-shadow: 0 0 0 rgba(0,0,0,0);
	}
div.one_activity a.logo_cell img {
	width:100%;
	max-width:160px;
	height:auto;
	}

div.one_activity p {
	display:block;
	text-align: center;
	font-size: 0.9rem;
	line-height: 1.4em;
	margin: 0 20px 20px 20px;
	}
div.one_activity div.widget_buttons {
	position:absolute;
	width:100%;
	left:0px;
	bottom:26px;
	}
div.one_activity a.button {
	display:block;
	max-width:160px;
	margin: 0 auto 15px auto;
	font-size: 0.85rem;
	line-height: 1;
	}
div.widget_pattern_top {
	background: url('images/pattern_home_top.png') repeat-x top left;
	background-size: auto 100%;
	width:100%;
	height: 10px;
	margin-top:0;
	}
div.one_activity div.widget_pattern_top {
	position:absolute;
	width:100%;
	left:0px;
	bottom:0px;
	}
div.widget_pattern_bottom {
	background: url('images/pattern_home_bottom.png') repeat-x top left;
	background-size: auto 100%;
	width:100%;
	height: 10px;
	margin-top:0;
	}

div#luau {
	background: var(--stp-bg-luau);
	}
div#grotto {
	background: var(--stp-bg-grotto);
	}
div#garden {
	background: var(--stp-bg-garden);
	}
div#weddings {
	background: var(--stp-bg-weddings);
	}


div#story_framework {
	box-sizing:border-box; 
	width:100%;
	/* height: 527px; */
	height: auto;
	margin:0px auto 30px auto; 
	background: url('images/pattern_double_dots.png') center center;
	background-size: 152px auto;
	padding: 1px 0;
	}
div.heritage_block {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background:var(--stp-bg-color);
	width: calc(100% - 100px);
	padding: 10px 30px;
	margin: 30px auto;
	}
div.heritage_block.second {
	flex-direction: row-reverse;
	}
div.heritage_block.second div.heritage_inset {
	text-align: right;
	}
div.heritage_image {
	width:40%;
	border: 6px solid var(--type-color-light);
	box-shadow: 0 0 15px rgba(0,0,0,0.6);
	transform: rotate(-3deg);
	}
div.heritage_block.second div.heritage_image {
	transform: rotate(3deg);
	}
div.heritage_image img {
	display: block;
	width:100%;
	height:auto;
	}
div.heritage_verbose {
	width:55%;
	}
div.heritage_verbose h2,
div.hvcb_inset h2 {
	margin:0;
	}
div.heritage_verbose p {
	margin:0;
	}
div.heritage_inset {
	box-sizing: border-box;
	padding: 20px 1px 20px 1px;
	}


div.hvcb_block {
	box-sizing: border-box;
	margin: 80px 0 120px 0;
	padding:0;
	background: rgba(0,0,0,0.1);
	}
div.hvcb_boundary {
	background: url('images/video_base.jpg') #3b4a2e;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: stretch;
	}
div.hvcb_image {
	position: relative;
	width:40%;
	min-height: 1px;
	}
div.hvcb_swap {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width:100%;
	aspect-ratio: 900/506;
	overflow:hidden;
	background:#000;
	cursor:pointer;
	box-shadow: 0 0 12px rgba(0,0,0,0.6);
	}
div.hvcb_swap:hover img {
	opacity:0.7;
	}
div.hvcb_swap img {
	width:100%;
	height:auto;
	display: block;
	transition: opacity .3s;
	opacity: 1.0;
	}
div.hvcb_verbose {
	width:40%;
	}
div.hvcb_inset {
	box-sizing: border-box;
	padding: 30px 0px 26px 30px;
	color: var(--type-color-light);
	}
div.hvcb_inset h2 {
	color: var(--stp-bg-color);
	}
div.hvcb_inset p {
	font-size: 0.90rem;
	margin:-4px 0 0 0;
	}



div#primary_container {
	margin: 20px 0 20px 0;
	}
div.page_simple div#primary_container {
	margin: 80px 0 20px 0;
	}
div.entry_content {
	padding: 30px 0;
	}
div.notification_mssg {
	box-sizing: border-box;
	text-align: center;
	padding: 8px 10px 18px 10px;
	background: var(--stp-alert-tan);
	font-weight: 700;
	font-size: 1.1rem;
	line-height: 1.1em;
	}
div#mssg_pattern {
	background: url('images/pattern_mssg_top.png') repeat-x top left;
	background-size: auto 100%;
	width:100%;
	height: 10px;
	}
div#entry_pattern {
	background: url('images/pattern_entry_top.png') repeat-x top left;
	background-size: auto 100%;
	width:100%;
	height: 10px;
	margin-top:-3px;
	}
div#home_pattern_top {
	background: url('images/pattern_home_top.png') repeat-x top left;
	background-size: auto 100%;
	width:100%;
	height: 10px;
	margin-top:0;
	}
div#home_pattern_bottom {
	background: url('images/pattern_home_bottom.png') repeat-x top left;
	background-size: auto 100%;
	width:100%;
	height: 10px;
	margin-top:0;
	}

div#primary_container div.entry_content {
	box-sizing: border-box;
	width: calc(100% - 260px);
	padding: 0 0;
	transition:width .5s;
	}
div#primary_container div.sidebar_content {
	box-sizing: border-box;
	width: 220px;
	margin: 0 0 30px 0;
	transition:width .5s;
	}
div#post-14 div#primary_container div.entry_content,
div#post-16 div#primary_container div.entry_content,
div#post-20 div#primary_container div.entry_content,
div#post-23 div#primary_container div.entry_content,
div#post-18 div#primary_container div.entry_content,
div#post-91 div#primary_container div.entry_content {
	box-sizing: border-box;
	width: 100%;
	max-width:1000px;
	padding: 0 0;
	margin:0 auto;
	}
div#primary_container div.entry_content div.entry_inset {
	box-sizing: border-box;
	padding: 40px 20px 20px 20px;
	}
div#primary_container.homepage div.entry_content div.entry_inset {
	box-sizing: border-box;
	padding: 26px 20px 20px 20px;
	}
div.double_rule {
	height:4px;
	border-top: 1px dotted rgba(0,0,0,0.3);
	border-bottom: 1px dotted rgba(0,0,0,0.3);
	margin: 0 0 15px 0;
	}
div.double_rule.slides {
	position:relative;
	margin: 0 0 20px 0;
	}

div#tabbed_content {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding: 33px 0 0 0;
	margin: 0 0 0 0;
	}
div#tabbed_content.tabs_luau,
div#tabbed_content.tabs_weddings {
	margin: 10px 0 0 0;
	}
div.content_tabs {
	box-sizing: border-box;
	position: absolute;
	top:0px;
	padding: 9px 10px 7px 10px;
	width: calc(25% - 7px);
	background: var(--stp-alert-tan);
	color:var(--stp-footer-tan);
	text-align: center;
	text-transform: uppercase;
	font-weight: 700;
	cursor:pointer;
	transition:all .5s;
	}
div.tabs_luau div.content_tabs {
	width: calc(25% - 7px);
	top:-17px;
	}
div.tabs_grotto div.content_tabs,
div.tabs_garden div.content_tabs {
	min-width: 240px;
	}
div.tabs_weddings div.content_tabs {
	width: calc(33.3332% - 6px);
	top:-17px;
	}
div.tabs_luau div.content_tabs:hover {
	top:-21px;
	}

div.tabs_weddings div.content_tabs:hover {
	width: calc(33.3332% - 6px);
	top:-21px;
	}
div.content_tabs:hover {
	color:var(--stp-bg-color);
	background:var(--stp-bg-luau);
	top:-4px;
	padding: 10px 10px;
	}
div.tabs_grotto div.content_tabs:hover {
	color:var(--stp-bg-color);
	background:var(--stp-bg-grotto);
	}
div.tabs_grotto div.content_tabs.current_tab {
	color:var(--stp-bg-grotto);
	background: rgba(255,255,255,0.6);
	top:0px;
	padding: 9px 10px 7px 10px;
	}
div.tabs_garden div.content_tabs:hover {
	color:var(--stp-bg-color);
	background:var(--stp-bg-garden);
	}
div.tabs_garden div.content_tabs.current_tab {
	color:var(--stp-bg-garden);
	background: rgba(255,255,255,0.6);
	top:0px;
	padding: 9px 10px 7px 10px;
	}
div.tabs_weddings div.content_tabs:hover {
	color:var(--stp-bg-color);
	background:var(--stp-bg-weddings);
	}
div.tabs_weddings div.content_tabs.current_tab {
	color:var(--stp-bg-weddings);
	background: rgba(255,255,255,0.6);
	top:-17px;
	padding: 9px 10px 7px 10px;
	}
div.content_tabs.current_tab {
	color:var(--stp-bg-luau);
	background: rgba(255,255,255,0.6);
	top:0px;
	padding: 9px 10px 7px 10px;
	}
div.tabs_luau div.content_tabs.current_tab:hover {
	top:-17px;
	}
div#tab_0 {
	left: 0%;
	}
div#tab_1 {
	left: calc(25% + 2.5px);
	}
div#tab_2 {
	left: calc(50% + 4.5px);
	}
div#tab_3 {
	left: calc(75% + 7px);
	}
div.tabs_weddings div#tab_0 {
	left: 0%;
	}
div.tabs_weddings div#tab_1 {
	left: calc(33% + 6.5px);
	}
div.tabs_weddings div#tab_2 {
	left: calc(66% + 12.5px);
	}
div.tab_body {
	position: relative;
	padding: 30px 30px 1px 30px;
	display: none;
	}
div.tab_body.current_tab_body {
	display: block;
	}
div.wedding_frame {
	box-sizing: border-box;
	padding: 24px 15px 15px 15px;
	margin: 0 0px 15px 0;
	border:1px solid var(--stp-bg-weddings);
	}
div.wedding_frame.luau_frame {
	border:1px solid var(--stp-alert-tan);
	}
div.wedding_section {
	background-color: var(--stp-bg-weddings);
	padding: 10px 15px 10px 15px;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--type-color-light);
	font-family: "adobe-aldine-display", sans-serif;
	font-weight: 700; /* 400 700 */
	font-style: normal;
	text-align: center;
	margin: 30px 0 0 0;
	}
div.wedding_frame h3,
div#weddings_extras h3 {
	font-family: "gesta", sans-serif;
	font-weight: 700; /* 300 500 700 */
	font-style: normal;
	font-size:1.1rem;
	line-height:1em;
	text-transform: uppercase;
	margin: 20px 0 18px 0;
	}	
	
div#weddings_extras table {
	font-family: "gesta", sans-serif;
	font-weight: 300; /* 300 500 700 */
	font-style: normal;
	width:100%;
	}
div#weddings_extras table tr {
	}
div#weddings_extras table tr {
	background: linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.0));
	}
div#weddings_extras table td {
	padding: 10px;
	font-weight: 300; /* 300 500 700 */
	}
div#weddings_extras table tr td:first-of-type {
	width:50%;
	}
div#weddings_extras table tr td:nth-child(1n + 2) {
	padding-left: 24px;
	}
div.tab_footer {
	padding: 14px 30px 10px 30px;
	}

div.video_swap {
	box-sizing: border-box;
	position: relative;
	width:100%;
	height:auto;
	padding: 12px;
	background:var(--type-color-light);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
	margin: -5px auto 30px auto;
	cursor:pointer;
	}
div.video_swap:last-of-type {
	margin-bottom: 20px;
	}
div.v_play_button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color:var(--stp-yellow);
	font-size: 3.0rem;
	line-height: 1em;
	transition: color .5s;
	z-index: 2;
	}
div.v_play_button i.fa-circle-play {
	color:#000;
	transition: color .5s;
	}
div.video_swap:hover div.v_play_button {
	color:#000;
	} 
div.video_swap:hover div.v_play_button i.fa-circle-play {
	color:var(--type-color-light);
	}
div.video_swap img {
	display:block;
	width:100%;
	height:auto;
	opacity: 1.0;
	z-index: 1;
	transition: opacity 1s;
	}
div.video_swap:hover img {
	opacity: 0.8;
	}
iframe.v_frame {
	display:block;
	width:100%;
	height:auto;
	background:#000;
	aspect-ratio: 800/450;
	}

div.luau_time {
	padding: 5px 0 16px 0;
	}
div#tabbed_content p strong {
	line-height: 0rem;
	color: var(--stp-headline-color);

	font-family: "gesta", sans-serif;
	font-weight: 700; /* 300 500 700 */
	font-style: normal;
	font-size:1.1rem;
	text-transform: uppercase;
	margin: 20px 0 18px 0;
	}
div#luau_menu p,
div#luau_transporation p {
	margin-bottom:8px;
	}



div#ticket_button {
	position:relative;
	text-align:center;
	margin: 5px 0 20px 0;
	}
body.pageid-8 div#ticket_button,
body.pageid-10 div#ticket_button,
body.pageid-12 div#ticket_button {
	position:relative;
	text-align:center;
	margin: 5px 0 10px 0;
	}

.ticket_prices {
	list-style: none;
	padding: 0;
	margin: 0 0 10px 0;
	width: 100%;
	}
.ticket_prices li {
	display: flex;
	justify-content: space-between;
	font-size: 1rem;
	font-weight: 500;
	}
.ticket_prices li span {
	display:block;
	}
.ticket_prices li span.item {
	padding-right: 4px;
	}
.ticket_prices li span.price {
	padding-left: 4px;
	}
.ticket_prices li span.leader {
	position:relative;
	border-bottom: 1px dotted rgba(0,0,0,0.3); 
	flex-grow: 1;
	top:-5px;
	}

div.month {
	display:flex;
	justify-content: space-between;
	font-weight: 700;
	font-size: 1.0rem;
	margin: 0 0 3px 0;
	}
div.month div:last-child {
	font-weight: 300;
	font-size: 0.85rem;
	}
div.one_week {
	display:flex;
	justify-content: space-between;
	margin: 0 0 8px 0;
	}
div.seasonal_schedule div.one_week:last-of-type {
	margin-bottom: 20px;
	}
div.one_week div.day {
	box-sizing:border-box;
	width:13.0%;
	padding: 3px 4px 2px 4px;
	font-size: 0.8rem;
	line-height: 1em;
	text-align:center;
	background:var(--stp-alert-tan);
	color:var(--stp-bg-color);
	}
div.one_week div.day.on {
	background:var(--stp-bg-luau);
	font-weight: 500;
	}
body.pageid-8 div.one_week div.day.on {
	background:var(--stp-bg-grotto);
	font-weight: 500;
	}
body.pageid-10 div.one_week div.day.on {
	background:var(--stp-bg-garden);
	font-weight: 500;
	}
body.pageid-12 div.one_week div.day.on {
	background:var(--stp-bg-weddings);
	font-weight: 500;
	}

div.container {
	box-sizing: border-box;
	width:100%;
	margin: 0 auto;
	}


div.content {
	box-sizing: border-box;
	width:100%;
	padding: 0;
	margin: 0 auto;
	transition: width .5s;
	}
div.max_float {
	position:relative;
	box-sizing: border-box;
	width:100%;
	max-width: 1600px;
	margin:0 auto;
	}

.has_gradient {
	background: linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.0));
	}
.has_gradent_stronger {
	background: linear-gradient(rgba(255,255,255,0.8), rgba(255,255,255,0.4));
	}
.has_solid {
	background: var(--type-color-light);
	}

div.post {
	}


/* --------------------------------------------------------------------- SLIDE SHOW --- */
div#slide_framework {
	box-sizing:border-box; 
	width:calc(100% - 80px);
	/* height: 527px; */
	height: auto;
	aspect-ratio: 2975/1661;
	margin:60px 40px 0 40px; 
	overflow:hidden;
	background: url('images/pattern_double_dots.png') center center;
	background-size: 152px auto;
	}
div#slide_show {
	box-sizing: border-box;
	margin: 30px 0 40px 0;
	padding: 0;
	position: relative;
	}
div#slide_frame {
	width: 100%;
	height:400px;
	position: relative;
	overflow-x: hidden;
	transition: height .5s;
	}
div.slide_single {
	box-sizing: border-box;
	width: auto;
	position: absolute;
	width: 80%;
	aspect-ratio: 2450/1321;
	margin: 0 10%;
	top: 0px;
	left: 0px;
	opacity: 1.0;
	transition: left 1s, opacity 1s, height .5s;
	z-index:10;
	}

div#slide_frame div.stage_left {
	opacity: 0.0;
	left: -77%;
	z-index:1;
	}
div#slide_frame div.stage_right {
	opacity: 0.0;
	left: 77%;
	z-index:1;
	}

div.one_slide {
	box-sizing: border-box;
	margin: 5px auto;
	transition: transform 1s;
	height: 100%;
	border: 12px solid #eeede6;
	box-shadow: 0 0 8px rgba(0,0,0,0.5);
	}
div.one_slide img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	}
div#slide_navigation {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	padding: 0 0 0 0;
	z-index: 5;
	}
div.slide_single.stage_left div.one_slide,
div.slide_single.stage_right div.one_slide {
	transform: scale(0.90);
	}
div#previous_slide {
	margin: 0 0 0 40px;
	}
div#next_slide {
	margin: 0 40px 0 0;
	}
div.slide_nav {
	font-size:3.0rem;
	line-height: 1;
	display:inline-block;
	padding: 0 25px;
	cursor:pointer;
	transition: color .8s, opacity .8s;
	color: var(--stp-footer-tan);
	}
div.slide_nav:hover {
	line-height: 1;
	display:inline-block;
	color: var(--stp-luau-button);
	}
body.pageid-8 div.slide_nav:hover {
	color: var(--stp-grotto-button);
	}
body.pageid-10 div.slide_nav:hover {
	color: var(--stp-garden-button);
	}
body.pageid-12 div.slide_nav:hover {
	color: var(--stp-weddings-button);
	}
div.slide_nav.off,
div.slide_nav.off:hover {
	color: var(--kka-grey);
	opacity:0.2;
	cursor:default;
	}

/* ------------------------------------------------------------------------- MODALS --- */
body.modal_open {
	overflow: hidden;
	}
#ticket_modal {
	position: fixed;
	top: 0;
	right: -9999em;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	transition: right 0s ease 0s; /* Prevent animation lag */
	}
#ticket_modal.is_visible {
	right: 0;
	}
.modal_content {
	box-sizing:border-box;
	padding: 30px;
	transform: scale(0.95);
	opacity: 0;
	transition: all 0.3s ease;
	width: calc(100vw - 120px);
	height: calc(100vh - 120px);
	max-width: 900px;
	background:var(--stp-bg-color);
	box-shadow: 0 0 20px rgba(0,0,0,1.0);
	}
#ticket_modal.is_visible .modal_content {
	transform: scale(1);
	opacity: 1;
	}
iframe#ticket_iframe {	
	width:100%;
	height:100%;
	}
div#close_modal {
	position:absolute; 
	top:20px; 
	right:10px; 
	color:var(--link-color);
	cursor:pointer;
	transition: color .2s;
	}
div#close_modal:hover {
	color:var(--stp-yellow);
	}

iframe#directions_frame {
	width:100%;
	height:80vh;
	max-height: 700px;
	}

div.k_signature {
	display:flex;
	align-items: center;
	margin-bottom: 20px;
	}
div.k_signature div img {
	display:block;
	max-width:60px;
	height:auto;
	padding: 0 10px 0 0;
	}
div.k_signature div em {
	font-size: 0.7rem;
	}


/* --------------------------------------------------------------------------- FLEX --- */
div.form-row.accom label.flex_container {
	display: flex;
	}

div.flex_container {
	display: flex;
	}
div.flex_wrap {
	flex-wrap: wrap;
	}
div.flex_inverse_order {
	flex-direction: row-reverse;
	}
div.flex_align_v_center {
	align-items: center;
	}
div.flex_align_h_center {
	justify-content: center;
	}
div.flex_space_between {
	justify-content: space-between;
	}

.f_100 {
	width:100%;
	}
.f_80 {
	width:80%;
	}
.f_60 {
	width:60%;
	}
.f_50 {
	width:50%;
	}
.f_49 {
	width:49%;
	}
.f_33 {
	width:33.332%;
	}
.f_20 {
	width:20%;
	}
div.content.nice_gutter_40 {
	padding: 0 40px;
	}



/* --------------------------------------------------------------------- NAVIGATION --- */
a#nav_toggle {
	display:none;
	}
nav#access {
	position:absolute;
	top:0px;
	right:40px;
	margin: 0px;
	padding:0;
	z-index:5;
	border-right: 1px dotted rgba(255,255,255,0.4); 
	}
div#menu {
	margin:0;
	padding:0;
	}
div#menu ul,
div#menu ul ul {
	list-style:none;
	margin:0;
	padding:0;
	}
div#menu ul li.menu-item a {
	display:block;
	margin:6px;
	padding: 7.5px 12px 7.5px 12px;
	text-decoration:none;
	text-align:left;
	border-radius: 2px;
	font-family: "adobe-aldine-display", sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
	}


div#menu ul li.menu-item a:hover {
	}
div#menu ul li ul.sub-menu {
	top:-220px;
	position:absolute;
	opacity:0.0;
    transition: opacity .5s;
	}
div#menu ul.menu li.menu-item:hover ul.sub-menu {
	top:auto;
	margin-top:0px;
	opacity: 1.0;
	}
ul.sub-menu {
	z-index:-1;
	}
div#menu ul li {
	float:left;
	margin:0px;
	border-left: 1px dotted rgba(255,255,255,0.4); 
	}
ul.sub-menu li.menu-item {
	float:none !important;
	}
div#menu ul li.current_page_item a {
	}

/* ------------------------------------------------------------------------- FOOTER --- */
div#footer_pattern {
	background: url('images/pattern_footer.png') repeat-x top left;
	background-size: auto 100%;
	width:100%;
	height: 12px;
	}

div#footer { 
	width:100%;
	box-sizing: border-box;
	background-color: var(--stp-footer-tan);
	color: var(--type-color-light);
	clear: both;
	padding: 20px 40px 60px 40px;
	}
div#footer_upper {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	border-top: 1px dotted rgba(0,0,0,0.3);
	}
div#ftr_logo {
	box-sizing:border-box;
	padding: 15px 0 0 0;
	position: relative;
	width:155px;
	height:85px;
	}
div#ftr_logo img {
	width:100%;
	height: auto;
	}
div#footer_links {
	font-size: 0.8rem;
	margin: 0 0 10px 0;
	padding: 15px 0 0 0;
	border-top: 1px dotted rgba(0,0,0,0.3);
	}
div#footer_links a {
	font-weight: 500;
	}
div#footer_creds {
	font-size:0.6rem;
	margin: 0 0 0 0;
	padding: 0 0 14px 0;
	border-bottom: 1px dotted rgba(0,0,0,0.3);
	}
div.dotted_top {
	border-top: 1px dotted rgba(0,0,0,0.3);
	padding: 4px 0 0 0;
	}
div.dotted_outer {
	margin: 20px 0 0 0;
	padding: 4px 0 4px 0;
	border-top: 1px dotted rgba(0,0,0,0.3);
	border-bottom: 1px dotted rgba(0,0,0,0.3);
	}
div.footer_right { 
	width:calc(100% - 165px);
	box-sizing: border-box;
	text-align: right;
	padding: 15px 0 0 0;
	}
div.call_prompt {
	text-transform: uppercase;
	font-size: 0.8rem;
	margin: 0 0 6px 0;
	}
a.ftr_phone {
	font-size:2.0rem;
	line-height: 1;
	}

/* ------------------------------------------------------------------------- SOCIAL --- */
div.social {
	font-size:2.5rem;
	line-height:1.0rem;
	}
div.social a {
	transition: color .5s;
	}
div.social a.instagram {
	color: #b82f91;
	}
div.social a.facebook {
	color: #3c5a99;
	}
div.social a.twitter {
	color: #00aced;
	}
div.social a.instagram:hover,
div.social a.facebook:hover,
div.social a.twitter:hover {
	color: #000;
	}

/* ----------------------------------------------------------------- SEARCH RESULTS --- */
.search_result_blox {
	margin: 0 0 20px 0;
	background-color: rgba(194,194,194,0.5);
	}
div#nav_below {
	}
div#nav_below div {
	width:50%;
	background-color: rgba(194,194,194,0.5);
	float:left;
	}
div#nav_below div.nav_next {
	text-align: right;
	float:right;
	}

/* ------------------------------------------------------------- IMAGES / ALIGNENTS --- */
img.alignright {
	float:right;
	margin:3px 0 5px 14px;
	}
img.alignleft {
	float:left;
	margin:3px 14px 5px 0;
	}
img.aligncenter {
	display:block;
	margin:0 auto;
	text-align:center;
	width:100%;
	height:auto;
	}
.alignright {
	float:right;
	margin:3px 0 0 14px;
	text-align:right;
	}
.alignleft {
	float:left;
	margin:3px 14px 0 0;
	text-align:left;
	}
.aligncenter, .alignnone {
	display:block;
	margin:0 auto;
	text-align:center;
	margin-top:12px;
	margin-bottom:3px;
	width:100%;
	height:auto;
	}
.wp-caption p {
	font-size: 0.9rem;
	line-height:1.3rem;
	margin: 4px 0 0 0;
	text-transform:uppercase;
	}
div.wp-caption.aligncenter, 
div.wp-caption.alignnone {
	width:100% !important;
	max-width:100%;
	}

/* -------------------------------------------------------------------------- FORMS --- */
form.wpcf7-form {
	display:block;
	padding: 1rem 0 0.5rem 0;
	}
form.wpcf7-form p {
	margin: 0 0 0.5rem 0;
	}
div.label {
	padding: 0 0 0 0;
	padding: 0 0 0 0;
	}

input[type=text],
input#date_g1, 
input[type=email],
input[type=tel],
input[type=date],
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	width:100%;
	padding:10px;	
	font-size: 1.0rem;
	line-height:1.0rem;
	border-radius:var(--main-radius);
	background-color:#fff;
	border: .5px solid rgba(0,0,0,0.5);
	margin: 0 0 10px 0;
	transition: all .3s;
	cursor:pointer;
	}
textarea {
	height:250px;
	transition: all .3s;
	}
input[type=radio] {
	box-sizing: border-box;
	height:20px;
	transition: all .3s;
	}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	width:100%;
	padding: 11.5px 30px 11.5px 10px;
	font-size: 1.0rem;
	line-height: 1 !important;
	border-radius:var(--main-radius);
	border: .5px solid rgba(0,0,0,0.5);
	background: url(images/select-pattern.png) no-repeat;
	background-position-x: 0%;
	background-position-y: 0%;
	background-size: auto;
	background-size: auto 30%;
	background-position: calc(100% - 10px) 50%;
	background-color: #fff!important;
	transition: all .3s;
	}
input[type=text]:focus, 
input#date_g1:focus, 
input[type=email]:focus,
input[type=tel]:focus,
textarea:focus,
select:focus {
	border: .5px solid rgba(0,0,0,1.0);
	}

div#reservation_container {
	
	}
div#reservation_container div.form-row {
	box-sizing:border-box;
	background:rgba(255,255,255,0.8);
	border-radius: 5px;
	padding:5px 5px 5px 10px;
	margin: 0 0 15px 0;
	}
div#reservation_container div.form-info {
	box-sizing:border-box;
	background:rgba(255,255,255,0.8);
	border-radius: 5px;
	padding:10px;
	margin: 0 0 15px 0;
	}
div.form-row_null {
	margin: 0 0 15px 0;
	}
div.form-row.accom {
	
	}
div.form-row.accom label {
	display:block;
	margin: 0 10px 0 0;
	}
div.form-row.accom select {
	display:block;
	margin: 0 0 0 0;
	}
div.form-row.accom input {
	display:block;
	margin: 0 0 0 0;
	width:80px;
	}
div#reservation_container div.cart-cell-narrow {
	margin-bottom: 10px;
	}
div#reservation_container div.cart-cell-narrow p {
	margin-bottom:0px;
	}
div#reservation_container div.label-cell {
	
	}

div.flex_2 div.form-row {
	width: 49%;
	display:flex;
	justify-content: space-between;
	align-items: center;
	}
div.form-row.one_cell {
	width: 100%%;
	display:flex;
	justify-content: space-between;
	align-items: center;
	}
div.total_guests input[type=text] {
	width:50px;
	margin:0;
	text-align:right;
	}
div.form-row.one_cell input[type=text] {
	width:150px;
	margin:0;
	text-align:right;
	}
div#reservation_container div.form-row.date_pick {
	padding:5px 12px 5px 5px;
	margin: 0 8px 15px 0;
	box-sizing:border-box;
	background:rgba(255,255,255,0.8);
	border-radius: 5px;
	width: fit-content;
	max-width:300px;
	}
div.date_pick input#date_g1 {
	width:150px;
	margin: 0 7px 0 0;
	text-align:center;
	}


#time_table {
	display: flex;
	flex-direction: row;
	border-collapse: collapse;
	}
#time_table tr {
	display: inline-block;
	padding:5px 10px 5px 5px;
	margin: 0 8px 15px 0;
	box-sizing:border-box;
	background:rgba(255,255,255,0.8);
	border-radius: 5px;
	}
#time_table td {
	display: inline-block; /* stack TDs inside each TR */
	font-weight: 300;
	}


input[type=checkbox] {
	border: 1px solid rgba(25,23,17,.48);
	background: #fff;
	border-radius: 3px;
	box-sizing: border-box;
	font-size: 1rem;
	width: 1.3em;
	height: 1.3em;
	margin: 0 6px 0 0;
	min-width: 1.3;
	min-height: 1.3em;
	position: relative;
	vertical-align: middle;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	}
input[type=checkbox]:checked {
	background: #000;
	}

input[type=checkbox]:checked::after {
	content: '\f00d'; /* fa-times (×) */
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #fff;
	font-size: 1em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	}

input[type=radio],
div.form-row.accom input[type=radio] {
	border: 1px solid rgba(25,23,17,.48);
	background: #fff;
	border-radius: 50%;
	box-sizing: border-box;
	font-size: 1rem;
	width: 1.0em;
	height: 1.0em;
	margin: 0 6px 0 0;
	min-width: 1.0em;
	min-height: 1.0em;
	position: relative;
	vertical-align: middle;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	}

input[type=radio]:checked,
div.form-row.accom input[type=radio]:checked {
	background: #000;
	}

input[type=radio]:checked::after,
div.form-row.accom input[type=radio]:checked::after {
	content: '\f111'; /* fa-circle */
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #fff;
	font-size: 0.3em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	}
.wpcf7-list-item {
	display: inline-block;
	margin: 0 1em 0 0;
	}



div#reservation_container .ui-widget.ui-datepicker_availability {
	font-size: 1.0em; /* luau tix only 0.8 standard */
	}
div.hasDatepicker {
	transform:scale(1.2); /* grotto tix */
	}
div#reservation_container.luau_tix div.hasDatepicker {
	transform:scale(1.0); /* reset luau tix */
	}
div#reservation_container.luau_tix div.hasDatepicker a {
	border:transparent;
	}
div#reservation_container.luau_tix div.hasDatepicker a.ui-state-active {
	background:var(--stp-bg-luau);
	color:var(--type-color-light);
	}


div#employment_form {
	
	}
div#employment_form div.sub_flex {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
div#employment_form .full_width {
	width:100%;
	}
div#employment_form .two_thirds_width {
	width:64%;
	}
div#employment_form .half_width {
	width:49%;
	}
div#employment_form .third_width {
	width:32%;
	}






/* -------------------------------------------------------------------- FORM ERRORS --- */
div.wpcf7 form div.wpcf7-response-output {
	display:block;
	box-sizing: border-box;
	margin: 0 0 40px 0;
	padding: 20px;
	float:none;
	clear:both;
	font-size: 1.0rem;
	border-radius:5px;
	border:1px solid #ebbc00;
	color:#da7726;
	background:#faeebd;
	}
input[type=text].wpcf7-not-valid, 
input[type=email].wpcf7-not-valid,
input[type=tel].wpcf7-not-valid,
textarea.wpcf7-not-valid,
select.wpcf7-not-valid {
	background:#faeebd;
	border:1px solid #ebbc00;
	}
span.wpcf7-not-valid-tip {
	text-align:right;
	color:#da7726;
	display:block;
	line-height: 1.0rem;
	margin-top:-8px;
	}

/* -------------------------------------------------------------------------- CRUFT --- */
.clr, 
.cld { 
	font-size: .1rem; 
	line-height: .1rem; 
	clear:both; 
	}
.d_hidden,
li.nav_hidden { 
	display: none; 
	}
.fixme { 
	color:darkred;
	background:#faeebd;
	}
div#edit {
	background:rgba(0,0,0,0.5);
	color:#fff;
	position: fixed;
	left:0;
	bottom:30px;
	padding: 10px;
	border-radius: 0 5px 5px 0;
	}
div#edit a {
	cursor:pointer;
	color:white;
	}

/* ------------------------------------------------------------------------------------ */
/* --------------------------------------------------------------------- RESPONSIVE --- */
div#viewport {
	position:fixed;
	z-index:999;
	right:0px;
	bottom:0px;
	display:flex;
	}
div#viewport div {
	background: #CCC;
	color:#fff;
	padding: 10px;
	opacity:0.7;
	}
div#viewport div {
	display:none;
	}
div#viewport div#vp_3600 {
	display:block;
	}

/* ----------------------------------------------------------------------------- < 3600 */
@media (max-width: 3600px) { 
div#viewport div { display:none; }
div#viewport div#vp_3600 { display:block; }
}

/* ----------------------------------------------------------------------------- < 2400 */
@media (max-width: 2400px) { 
div#viewport div#vp_3600 { display:none; }
div#viewport div#vp_2400 { display:block; opacity:0.9; }
}

/* ----------------------------------------------------------------------------- < 1600 */
@media (max-width: 1600px) { 
div#viewport div#vp_2400 { display:none; }
div#viewport div#vp_1600 { display:block; opacity:0.9; }
}

/* ----------------------------------------------------------------------------- < 1400 */
@media (max-width: 1400px) { 
div#viewport div#vp_1600 { display:none; }
div#viewport div#vp_1400 { display:block; opacity:0.9; }
}

/* ----------------------------------------------------------------------------- < 1200 */
@media (max-width: 1200px) { 
div#viewport div#vp_1400 { display:none; }
div#viewport div#vp_1200 { display:block; opacity:0.9; }
div#primary_container div.entry_content {
	width: calc(100% - 220px);
	}
div#primary_container div.sidebar_content {
	width: 180px;
	margin: 0 0 30px 0;
	}
div#activity_logo {
	margin: -160px auto 0 auto;
	width: 280px;
	}

}

/* ----------------------------------------------------------------------------- < 1000 */
@media (max-width: 1000px) { 
div#viewport div#vp_1200 { display:none; }
div#viewport div#vp_1000 { display:block; opacity:0.9; }
li.nav_hidden {
	display:block;
	}
a#nav_toggle {
	box-sizing: border-box;
	display:block;
	padding: 7px 10px 7px 10px;
	font-size: 1.5rem;
	line-height: 1.0em;
	position:fixed; 
	top:6.5px;
	right:3px;
	z-index: 19;
	background-color: var(--stp-footer-tan);
	color: var(--type-color-light);
	transition: color .5s, background-color .5s;
	border-radius: var(--main-radius);
	}
a#nav_toggle:hover {
	color: var(--stp-footer-tan);
	background-color: var(--type-color-light);
	}
nav#access {
	box-sizing: border-box;
	position:fixed;
	top:0px;
	right:-100vw;
	width: 100vw;
	margin:0px;
	min-height: 1500px;
	z-index: -1;
	background-color:rgba(255,255,255,0.7);
	opacity:0;
	transition: opacity .5s;
	}
nav#access.visible_menu {
	right:0px;
	opacity:1.0;
	z-index: 20;
	}
div#menu {
	position:absolute;
	top: 59px;
	right: 3px;
	}
div#menu ul li ul.sub-menu {
	top:auto;
	position:relative;
	opacity:1.0;
	}
ul.sub-menu {
	z-index:99;
	}
div#menu ul li {
	box-sizing: border-box;
	float:none;
	margin: 0 0 10px 0;
	border:none;
	}
div#menu ul li.menu-item a {
	box-sizing: border-box;
	padding: 28px 20px 12px 15px;
	padding: 12.5px 22px 12.5px 22px;
	font-size: 1.2rem;
	margin:0 0 0 0;
	width:auto;
	min-width: 210px;
	text-transform: none;
	border:1px solid var(--type-color-dark);
	}
div#menu ul.menu li.menu-item ul.sub-menu li.menu-item a {
	padding: 10px 20px 10px 15px;
	}
div#menu ul.menu {
	margin:0;
	}
#billboard {
	/* aspect-ratio: 16/8; */
	aspect-ratio: 16/10;
	}
div.one_activity {
	width: 49%;
	}
div#primary_container div.entry_content {
	width: calc(100% - 200px);
	}
div.content.nice_gutter_40 {
	padding: 0 20px;
	}
div#slide_framework {
	width: calc(100% - 40px);
	margin: 60px 20px 0 20px;
	aspect-ratio: 2975/1945;
	}
div#activity_logo {
	margin: -130px auto 0 auto;
	width: 240px;
	}
div#slide_navigation {
	display:none;
	}
div.slide_single {
	width:90%;
	margin: 0 5%;
	}
div.one_slide {
	border: 4px solid #eeede6;
	}
}

/* -----------------------------------------------------------------------------  < 800 */
@media (max-width: 800px) { 
div#viewport div#vp_1000 { display:none; }
div#viewport div#vp_800 { display:block; opacity:0.9; }
div#primary_container {
	flex-direction: column;
	}
div#primary_container div.entry_content {
	width: 100%;
	}
div#primary_container div.sidebar_content {
	width: 100%;
	max-width:300px;
	margin: 0 auto 30px auto;
	}
div.sidebar_content h3 {
	text-align: center;
	}
div.sidebar_content a.button.directions {
	display:block;
	margin: 4px auto 12px auto;
	text-align: center;
	}
div#footer {
	padding-bottom: 140px;
	}
body.pageid-6 div#ticket_button.positionable_button,
body.pageid-8 div#ticket_button.positionable_button,
body.pageid-12 div#ticket_button.positionable_button {
	box-sizing: border-box;
	width:100%;
	height: auto;
	padding: 10px 0 20px;
	margin: 0;
	background:var(--stp-footer-tan);
	box-shadow: 0 0 15px rgba(0,0,0,0.7);
	position:fixed;
	bottom: 0px;
	left:0px;
	z-index:11;
	}
body.pageid-6 div#ticket_button.positionable_button {
	background:var(--stp-bg-luau);
	}
body.pageid-8 div#ticket_button.positionable_button {
	background: var(--stp-bg-grotto);
	}
body.pageid-12 div#ticket_button.positionable_button {
	background: var(--stp-bg-weddings);
	}
div#ticket_button.positionable_button a.button {
	margin: 0;
	}
div#activity_logo {
	margin: -100px auto 0 auto;
	width: 210px;
	}
div.heritage_block,
div.heritage_block.second {
	flex-direction: column;
	}
div.heritage_verbose {
	width: 100%;
	}
div.heritage_inset,
div.heritage_block.second div.heritage_inset {
	text-align:center;
	}
div.heritage_image {
width: 80%;
margin-bottom: 20px;
}

}

/* -----------------------------------------------------------------  TABLETS  -- < 760 */
@media (max-width: 760px) { 
div#viewport div#vp_800 { display:none; }
div#viewport div#vp_760 { display:block; opacity:0.9; }
#billboard {
	/* aspect-ratio: 16/8; */
	aspect-ratio: 16/12;
	}
div.hvcb_boundary {
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
	}
div.hvcb_image,
div.hvcb_verbose {
	width:80%;
	}
div.hvcb_swap {
	transform:none;
	position:relative;
	top:auto;
	left:auto;
	margin-top:30px;
	}
div.hvcb_block {
	margin: 20px 0 30px 0;
	}
div.hvcb_inset {
	text-align:center;
	padding: 30px 0px 40px 0px;
	}
div.modal_content {
	width: calc(100vw - 40px);
	height: calc(100vh - 80px);
	padding: 30px 20px 30px 20px;
	}


}

/* ------------------------------------------------------------------------------ < 600 */
@media (max-width: 600px) { 
div#viewport div#vp_760 { display:none; }
div#viewport div#vp_600 { display:block; opacity:0.9; }
:root {
	--stp-side-pattern: 10px;
	}
.d_hidden { 
	display: inline; 
	}
.m_hidden { 
	display: none; 
	}
#billboard {
	/* aspect-ratio: 16/8; */
	aspect-ratio: 16/14;
	}
div.one_activity {
	width: 100%;
	}
div#logo {
	top:-6px;
	left:20px;
	}
div.page_simple div#primary_container {
	margin: 50px 0 20px 0;
	}
div.content.nice_gutter_40 {
	padding: 0 20px;
	}
div#footer {
	padding: 20px 15px 140px 15px;
	}
div#footer_upper {
	flex-direction: column;
	align-items: center;
	}
div.footer_right,
div#footer_links,
div#footer_creds {
	box-sizing:border-box;
	width:100%;
	text-align: center;
	}
div#footer_links {
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
	}
div#footer_links a {
	display:block;
	margin: 10px;
	}
div#activity_logo {
	margin: -120px auto 0 auto;
	width: 210px;
	}
div#tabbed_content div.content_tabs {
	width:100%;
	position:relative;
	left:0px;
	top:auto;
	text-align:left;
	padding: 14px 10px 12px 10px;
	margin: 10px 0 0 0;
	}
div#tabbed_content {
	padding: 0 0 0 0;
	}
div#tabbed_content div.content_tabs::before {
	content: "\f105"; /* fa-angle-right */
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: inline-block;
	margin-right: 0.5em;
	}
div#tabbed_content div.content_tabs.current_tab::before {
	content: "\f107"; /* fa-angle-down */
	}
div.tab_body {
	padding: 10px 10px 1px 10px;
	}
div.video_swap {
	padding: 3px;
	}
div#slide_framework {
	aspect-ratio: 2975/2185;
	}
div.slide_single {
	width: 98%;
	margin: 0 1%;
	}
div.heritage_block,
div.heritage_block.second {
	width: calc(100% - 40px);
	padding: 10px 20px;
	}
div.flex_2 {
	flex-wrap:wrap;
	}
div.flex_2 div.form-row {
	width: 100%;
	}
fieldset#contactform .f_49 {
	width:100%;
	}
div#employment_form .third_width,
div#employment_form .two_thirds_width,
div#employment_form .half_width {
	width:100%;
	}
div#slide_0.billboard_slide img {
	object-position: 20% center;
	}
div#slide_1.billboard_slide img {
	object-position: center center;
	}
div#slide_2.billboard_slide img {
	object-position: 0% center;
	}
div#slide_3.billboard_slide img {
	object-position: 100% center;
	}
div#slide_4.billboard_slide img {
	object-position: center center;
	}



}

/* ------------------------------------------------------------------  PHONES  -- < 430 */
@media (max-width: 430px) { 
div#viewport div#vp_600 { display:none; }
div#viewport div#vp_430 { display:block; opacity:0.9; }
#billboard {
	/* aspect-ratio: 16/8; */
	aspect-ratio: 16/16;
	}
div#logo {
	left:10px;
	}
div#slide_framework {
	width: calc(100% - 20px);
	margin: 60px 10px 0 10px;
	}
div.content.nice_gutter_40 {
	padding: 0 10px;
	}
div#footer_links {
	margin-bottom: 20px;
	}
div#footer_links a {
	min-width:calc(33.332% - 20px);
	}
div#activity_logo {
	margin: -90px auto 0 auto;
	width: 210px;
	}
div#slide_framework {
	aspect-ratio: 2975/2430;
	}
div.hvcb_image {
	width:90%;
	}
div.modal_content {
	width: calc(100vw - 20px);
	height: calc(100vh - 80px);
	padding: 30px 20px 30px 20px;
	}
input[type="date"] {
	min-height:40px;
	}
}





