/********************************************
	WindSong of Sonoma
	Built by WebSight Design, Inc.
*********************************************/

/* Webfonts 
font-family: gill-sans-nova, sans-serif; font-weight:400, 700; font-style:normal, italic;
font-family: "brandon-grotesque", sans-serif; font-weight: 500;
*/

/******** BROWSER CSS RESET *************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	/*** Include Padding/Borders in width for all elements ***/
	box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: none; }
table { border-collapse: collapse; border-spacing: 0; }
/* Responsive images & embedded objects (remove for image cropping) */
img, object, embed { max-width: 100%; }

/****** GLOBAL ELEMENT CSS ******/
html * { max-height: 999999px; } /* Android mobile font sizing fix */

body {
	line-height: normal;
	font-size: 18px;
	font-family: gill-sans-nova, sans-serif;
	background: #fff;
	-webkit-text-size-adjust: none;
}

body, select, input, textarea { color: #000; }

ins { background-color: #fcd700; color: #000; text-decoration: none; }
mark { background-color: #fcd700; color: #000; font-style: italic; font-weight: bold; }

h1, h2, h3, h4, h5, h6 {
	padding:0 0 20px 0;
}
h1 { font-size: 24px; }
h2 { font-size: 22px; }
h3 { font-size: 20px; }
h4, h5, h6 { font-size: 20px; }

.fancy-bullets { list-style: none; }
.fancy-bullets li {
    position: relative;    
    margin-right: 10px;
}
  
.fancy-bullets li::before {
    content: "";
    position: absolute;
    width: 50px;    
    height: 50px;
    background:url('../images/windsong-bullet.png') no-repeat;
    background-size: contain;
    background-repeat: no-repeat;
}

.super { font-size:30px; line-height:125%; }

.bluetext { font-size:24px; color:#3c6aad; font-weight: 600; }

.pagetitle { text-align:center; font-size:2.2em; }

a { color: #6c10a6; text-decoration: underline; }
a:hover, a:active { color: #1068a7; text-decoration: underline; }
a:link { -webkit-tap-highlight-color: initial; }

a.gold-btn { width:auto; display:inline-block; background:#fba705 !important; border-radius:6px; padding:12px 35px !important;
    text-align:center; text-transform:uppercase; font-family: "brandon-grotesque", sans-serif !important; font-weight: 500 !important; color:#000 !important; text-decoration:none !important; font-size:16px !important; line-height:normal;
    box-shadow:0 10px 5px rgba(0,0,0,0.25); 
    cursor:pointer; transition:0.2s linear all;
}
a.gold-btn:hover { background:#fbca05 !important; color:#000 !important; text-decoration:none !important; }

a.blue-btn { width:auto; display:inline-block; background:#005eb8; border-radius:6px; padding:12px 35px;
    text-align:center; text-transform:uppercase; font-family: "brandon-grotesque", sans-serif; font-weight: 500; color:#fff; text-decoration:none; font-size:16px; line-height:normal;
    box-shadow:0 10px 5px rgba(0,0,0,0.1); 
    cursor:pointer; transition:0.2s linear all;
}
a.blue-btn:hover { background:#0074E0; color:#fff !important; text-decoration:none !important; }

.google-review { display:inline-block; padding:17px 35px 17px 60px; margin:0 5px 5px 0;
    color:#fff; text-decoration:none; text-align:center; font-family:'Lato',sans-serif; font-weight:bold; font-size:18px;
    background:url('../images/google-icon-white.svg') 30px 50% #b41983 no-repeat; background-size:20px auto;
    border:1px #ccc solid; border-radius:4px;
    cursor:pointer; transition:0.2s linear all;
}
.google-review:hover { color:#fff; text-decoration:none; }

.yelp-review { display:inline-block; padding:17px 35px 17px 55px; margin:0 5px 5px 0;
    color:#fff; text-decoration:none; text-align:center; font-family:'Lato',sans-serif; font-weight:bold; font-size:18px;
    background:url('../images/yelp-white.svg') 25px 50% #d30d2e no-repeat; background-size:20px auto;
    border:1px #ccc solid; border-radius:4px;
    cursor:pointer; transition:0.2s linear all;
}
.yelp-review:hover { color:#fff; text-decoration:none; }

.facebook-review { display:inline-block; padding:17px 35px 17px 50px; margin:0 5px 5px 0;
    color:#fff; text-decoration:none; text-align:center; font-family:'Lato',sans-serif; font-weight:bold; font-size:18px;
    background:url('../images/facebook-white.svg') 20px 50% #4b72a9 no-repeat; background-size:auto 20px;
    border:1px #ccc solid; border-radius:4px;
    cursor:pointer; transition:0.2s linear all;
}
.facebook-review:hover { color:#fff; text-decoration:none; }


p { padding:0 0 20px 0; line-height:140%; }
img { height:auto; }

b, strong { font-weight: 700; }
i, em { font-style: italic; }

.clear { clear: both; }
.clearfix::after { content:''; display:table; clear:both; }

div.linen { /*background:url('../images/linen.jpg') #edece8;*/ background:#f7eedd; }

.container { width:100%; max-width:1500px; margin:0 auto; padding-left:15px; padding-right:15px; }
.container1000 { width:100%; max-width:1000px; margin:0 auto; padding-left:15px; padding-right:15px; }

.vertpad { padding-top:50px; padding-bottom:50px; }

.nopad { padding-left: 60px !important; padding:0; }
.nomarg { margin:0; }

.dsk, .dsk2 { display:none; }
.mob { display:block; }
.mob2 { display:inline; }


/*** Basic List Styling ***/
ul {
	margin: 0px 0px 20px;
	padding: 0 0 0 20px;
	list-style-type: disc;
	list-style-position: outside;
}
ul li { margin-bottom: 5px; }
ul li ul li { margin-top: 5px; }
ul li ol li { margin-top: 5px; }

ol {
	margin: 0px 0px 20px;
	padding: 0px 0px 0px 20px;
	list-style-type: decimal;
	list-style-position: outside;
}
ol li { margin-bottom: 5px; }
ol li ol li { margin-top: 5px; }
ol li ul li { margin-top: 5px; }



/*** Blockquote ***/
/*genric styles for blockquote in content*/
blockquote {
  background: #f9f9f9;
  border-left: 10px solid #ccc;
  margin: 1.5em 10px;
  padding: 0.5em 10px;
  quotes: "\201C""\201D""\2018""\2019";
}
blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}
blockquote p {
  display: inline;
}




/****** FRONTEND LAYOUT ******/
#page {
	margin: 0 auto;
	width: 100%;
	min-width: 350px;
	/*max-width: 1920px;*/
	position: relative;
}

#nanobar { width:100%; padding:10px 15px; background:#005eb8; height:65px; overflow:hidden;
    color:#fff; font-size:14px; font-family: "brandon-grotesque", sans-serif; font-weight: 500; text-transform:uppercase; text-align:left;
}
#nanobar p { padding:0; }
#nanobar span { display:none; }
#nanobar a { color:#fff; text-decoration:none; }
#nanobar a:hover { text-decoration:underline; }

#nanobar ul { list-style-type:none; margin:0; padding:0; position:relative; }
#nanobar ul li { display:block; margin:0; width:100%; position:absolute; top:0; left:0; z-index:1; padding-top:10px; background:#005eb8; }
#nanobar ul li.sales { opacity:0; z-index:10; 
    animation-name: sales;
	animation-duration: 10s;
    animation-iteration-count: infinite;
}

@keyframes sales {
    0% { opacity:0; }
    10% { opacity:1; }
    40% { opacity:1; }
    50% { opacity:0; }
}

/*** Header ***/
#scrollme { width:10px; height:10px; position:absolute; top:150px; left:0; z-index:100; }

#header {
	margin:0; padding:0; color:#fff;
    text-align:center;
    width:100%; height:auto; position:fixed; top:0; left:0; z-index:9999;
}

#logo { display:none; }
#logo2 { width:200px; display:block; margin:25px auto 10px auto; }

#header.sticky { height:65px; overflow:hidden; }

/*** Main Menu ***/
#menuBtn { width:40px; height:40px; display:block; position:absolute; top:12px; right:15px; z-index:100; cursor:pointer; }
#menuBtn svg:first-child { position:absolute; top:10px; left:0; width:100%; height:4px; transition:0.2s linear all; fill: #fff; }
#menuBtn svg:nth-child(2n) { position:absolute; top:18px; left:0; width:100%; height:4px; transition:0.2s linear all; fill: #fff; }
#menuBtn svg:last-child { position:absolute; top:26px; left:0; width:100%; height:4px; transition:0.2s linear all; fill: #fff; }

#menuBtn.open svg:first-child { transform: rotate(45deg); top:18px; }
#menuBtn.open svg:nth-child(2n) { opacity:0; }
#menuBtn.open svg:last-child { transform: rotate(-45deg); top:18px; }

#mainmenu {
	display: none;
	position: absolute; top:65px; left:0; width:100%; z-index:9999;
    background:rgba(1,23,44,0.85); padding:20px 0;
}
#mainmenu ul { 	margin:0; padding: 0; list-style-type: none; }
#mainmenu ul li { margin:0; text-align:left; border-bottom:1px rgba(255,255,255,0.5) solid; }
	
#mainmenu ul li a {
	padding:10px 15px;
	color: #fff;
	font-size: 18px;
	text-decoration: none;
	background-color: transparent;
    display:block;
    font-weight:700;
}
#mainmenu ul li a.dsk { display:none; }
#mainmenu ul li > ul { display: none; padding-left:15px; }
#mainmenu ul li > ul li a { font-weight:400; padding:5px 15px; }

div.tour-tel { width:auto; display:inline-block; }
a.hdr-schedule { display:inline-block; width:auto; height:auto; text-align:center; /*background:#e2b607;*/ background:#b41983;
    /*color:#031a2b;*/ color:#fff; text-decoration:none; text-transform:uppercase; font-size:12px;
    padding:10px 13px; float:right;
}
a.hdr-tel { display:inline-block; width:auto; height:auto; text-align:center; background:#031a2b; 
    color:#e2b607; text-decoration:none; text-transform:uppercase; font-size:12px;
    padding:10px 15px 10px 13px;
}
a.hdr-tel2 { display:inline-block; width:auto; height:auto; text-align:center; background:#031a2b; 
    color:#e2b607; text-decoration:none; text-transform:uppercase; font-size:12px;
    padding:10px 15px 10px 13px;
}

.bigdsk { display:none; }
.hdr-tel3 { display:none; }


/*** Content Area ***/
#content { padding-top:57px; }

#featureImg { width:100%; max-width:100%; overflow:hidden; position:relative; background:#000; height:300px; margin-bottom:30px; }
#featureImg img.fi-img { width:100%; height:300px; object-fit:cover; opacity:0.75; }

#featureImg .hp-logo-overlay { display:none; }

div.lower-title { text-align:center; color:#fff; background:#031a2b; padding:20px; }
div.lower-title h1 { padding:0; font-size:30px; color:#fff; }


/*** Footer ***/
#footer { background:url('../images/footer-photo.jpg') 50% 0 no-repeat #031a2b; background-size:cover; padding:30px 15px; font-size: 16px; text-align:center; }

#footer p { line-height:150%; }
#footer a { color:#000; text-decoration:none; }
#footer a:hover { color:#000; text-decoration:underline;  }

img.ftr-logo { width:200px; display:inline-block; margin:0 auto 20px auto; }
img.eho { width:70px; display:inline-block; }

ul.ftr-nav { list-style-type:none; padding:0; margin:0; }
ul.ftr-nav li { margin:0 5px 5px 0; padding:0 8px 0 0; display:inline-block; vertical-align:top; border-right:1px #000 solid; }
ul.ftr-nav li:last-child { margin-right:0; padding-right:0; border-right:none; }
    
ul.social { list-style-type:none; padding:0; }
ul.social li { width:auto; display:inline-block; }

ul.social a { display:block; width:45px; height:45px; border-radius:50%; overflow:hidden; font-size:1px; text-indent:-3000px; margin-left:5px; }

a.yt { background:url('../images/youtube-play-icon.svg') 50% 50% #b80057 no-repeat; background-size:24px auto; }
a.fb { background:url('../images/facebook-white.svg') 50% 50% #005eb8 no-repeat; background-size:10px auto; }
a.gmb { background:url('../images/google-icon-white.svg') 50% 50% #12a0d5 no-repeat; background-size:19px auto; }
a.yelp { background:url('../images/yelp-white.svg') 50% 50% #d30d2e no-repeat; background-size:auto 19px; }

/****** FORMS STYLING ******/
div.form {
	margin: 0px auto;
	max-width: 600px;
}
div.form label {
	display: block;
	font-weight: normal;
}
div.form input,
div.form textarea,
div.form select {
	box-sizing: border-box;
	font-family: 'Lato', sans-serif; font-size:18px;
}
div.form fieldset, div.form .row {
	margin:0 0 20px 0;
}


div.form input[type=text],
div.form input[type=number],
div.form input[type=password] {
	padding: 4px;
	width: 100%;
	border: 1px solid #333;
	border-radius: 0px;
	-webkit-appearance: none;
}

div.form select {
    padding: 4px;
	width: 100%;
	border: 1px solid #333;
	border-radius: 0px;
}
div.form textarea {
	padding: 4px;
	width: 100%;
	height: 120px;
	resize: none;
	border: 1px solid #333;
	border-radius: 0px;
	-webkit-appearance: none;
}

div.form span.required { color:#cc0000; }
div.form .row.checkbox label,
div.form .row.radio label {
	float: none;
	padding: 0px;
	display: inline-block;
	width: auto;
}
div.form .row.buttons { text-align: center; }
div.form input[type=submit] {
	padding:17px 35px; margin:0 5px 5px 0;
    color:#fff; text-decoration:none; font-size:20px; text-align:center;
    background:#4b72a9; border:1px #ccc solid; border-radius:4px;
    cursor:pointer; transition:0.2s linear all;
}
div.form input[type=submit]:hover,
div.form input[type=submit]:active { color:#fff; text-decoration:none; background:#e2b607; }


/*** Form Errors ***/
div.form div.error label,
div.form label.error,
div.form span.error {
	color: #C00;
}
div.form div.error input,
div.form div.error textarea,
div.form div.error select,
div.form input.error,
div.form textarea.error,
div.form select.error {
	border-color: #C00;
}
div.form .errorMessage { color: #cc0000; margin:5px 0 10px 0; }

#memory-container #formResult { text-align:center; padding-top:20px; }
#memory-container #formResult h1 { color:#b41983; border-top:1px #ccc solid; padding-top:30px; }

.rc-intro #formResult { text-align:left; }
.rc-intro #formResult h1 { color:#b41983; }

/*** Request A Tour ***/
div#step-1 { padding:0 0 30px 0; margin:0 0 30px 0; border-bottom:1px #ccc solid; }

div#step-2 fieldset { margin:0 0 30px 0; }
div#step-2 fieldset label { width:100%; display:block; margin:0 0 7px 0; padding:0; }
div#step-2 fieldset select, div#step-2 fieldset input[type=text] { width:100%; display:block; }
div#step-2 fieldset span#Requests_importants input[type=checkbox] { clear:both; }
div#step-2 fieldset span#Requests_importants label { float:none; display:inline-block; width:80%; }

div#step-2 div.errorMessage { margin-left:0 !important; }

/****** HOMEPAGE ******/
/* Banners */
#hp-banner { width:100%; max-width:100%; overflow:hidden; position:relative; background:#000; margin-bottom:10px; box-shadow:0 0 50px rgba(0,0,0,0.25); }

div.hp-slideshow { width:100%; height:auto; display:block; }
div.hp-slideshow img { width:100%; height:60vh; object-fit:cover; opacity:0.8; }

div.hp-txt-overlay { background:#01172c; padding:20px 15px 10px 15px; color:#fff; text-align:center; }
div.hp-txt-overlay h1 { font-size:28px; }
.hpo-inner img { width:auto !important; height:auto !important; display:inline-block; }
.hpo-inner a { color:#fff; text-decoration:underline; }
.hpo-inner a:hover { color:#fba705; }

/* Intro text */
#page-intro { width:100%; max-width:1530px; padding:0 15px; margin:50px auto; }
div.page-intro-image, div.page-intro-image img, div.page-intro-text { display:block; }
div.page-intro-image { margin:0 0 20px 0; }


/* Tiles */
#tiles { box-shadow:0 0 50px rgba(0,0,0,0.25); }

div.tile-overlay { background:#01172c; padding:20px 15px 10px 15px; color:#fff; text-align:center; }
div.tile-overlay h2 { font-size:28px; }
img.tile-img1 { width:100%; display:block; }


/* Explore Tiles */
#explore { margin:50px auto; text-align:center; }
div.explore-tile { width:100%; max-width:300px; margin:0 20px 40px 20px; display:inline-block; vertical-align:top; }
div.explore-tile img { width:100%; display:block; margin:0 0 20px 0; }


/*** Community / Subpage 2 ***/
ul#subpages { list-style-type:none; padding:0; margin:0; text-align:center; }
ul#subpages li { width:100%; max-width:400px; display:inline-block; vertical-align:top; position:relative; text-align:center; margin-bottom:50px; opacity:0; margin-top:100px; }
.moveme { animation-name: fadeup;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
}
    
@keyframes fadeup {
    from { margin-top:100px; opacity:0; }
     to { margin-top:0; opacity:1; }
}

ul#subpages li:first-child { margin-top:0; opacity:1; }
    
ul#subpages li img { width:100%; height:auto; display:block; opacity:1; transition:0.2s linear all; margin:0 0 15px 0; }
ul#subpages li .subpage-title { width:100%; height:100%; display:flex; align-items:center; justify-content:center; position:absolute; top:0; left:0; z-index:100; color:#fff; text-decoration:none; }
ul#subpages li .subpage-title h2 { display:block; text-align:center; padding:0; }


.fade-up { animation-name: fadeup;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
}
    
@keyframes fadeup {
    from { margin-top:100px; opacity:0; }
    to { margin-top:0; opacity:1; }
}

.already-visible { margin-top:0; opacity:1; }

/** In-Page Reviews **/
.page-review { margin:0; }
.page-review img.tile-img1 { display:none; }

.page-review div.tile-inner { padding:50px 0; }
.page-review div.tile-text { background:rgba(255,255,255,0.85); padding:50px 20px; display:block; margin:0 auto; width:90%; }

.page-review div.tile-text h2 { color:#000; background:url('../images/quotes-blue.png') no-repeat; padding:0 0 20px 50px; line-height:125%; }





/*** Reviews ***/
#reviews { display:block; }

#reviews .review-indv { background:#fff; display:block; padding:30px 20px; margin-bottom:30px; margin-top:100px; opacity:0; border:1px #ccc solid; border-radius:6px; box-shadow:0 0 50px rgba(0,0,0,0.25);}
#reviews .review-indv h2 { 
    background:url('../images/quotes-blue.png') no-repeat; background-size:50px auto; padding:5px 0 20px 60px; line-height:125%; color:#005eb8;
    width:calc(100% + 40px); margin-left:-30px; font-size:26px; height:auto; min-height:50px;
}

#reviews .review-indv:first-child { margin-top:0; opacity:1; }


/*** Photo Gallery List ***/
div.gallery-list { display:block; text-align:center; }

div.gallery-thm { width:calc(100% - 30px); max-width:400px;  display:inline-block; vertical-align:top; margin:0 15px 30px 15px; }
div.gal-img { width:100%; position:relative; margin:0 0 15px 0; background:#000; }
div.gal-img img { width:100%; height:300px; object-fit:cover; display:block; opacity:1; transition:0.2s linear all; border:1px #edece8 solid; }
div.gal-img:hover img { border:1px #e2b607 solid; }
div.gal-img a { width:100%; height:100%; display:flex; text-align:center; align-items:center; color:#fff; text-decoration:none; position:absolute; top:0; left:0; z-index:100; }
div.gal-img a h3 { width:100%; text-align:center; }

/** Gallery **/
div.photo-gallery { margin: 0 auto; column-count: 2; column-gap: 20px;}
div.photo-gallery img { width:100%; margin-bottom:20px; }
.gal-title { font-size:30px; color:#b41983; padding:0; }


/*** Video Gallery List ***/
#video-list { text-align:center; }
div.videoLink { width:100%; max-width:300px; display:inline-block; margin:0 auto 30px auto; vertical-align:top; }

#featureImg.fv { height:auto; text-align:center; padding:220px 15px 50px 15px; }

#featured-video { width:100%; display:block; }
div.fv-wrapper { padding:20px; background:rgba(255,255,255,0.8); }
div.fv-embed { margin-bottom:20px; }
div.fv-info h2 { font-size:1.5em; }

.byline { font-weight:bold; text-transform:uppercase; font-size:0.8em; padding:0 0 10px 0; }

div.vidthm { width:100%; display:block; margin:0 0 20px 0; position:relative; }
div.vidthm a.vidthm-play { width:100%; height:100%; display:flex; align-items:center; text-align:center; 
    position:absolute; top:0; left:0; z-index:100; 
    background:url('../images/youtube-play-icon.svg') 50% 50% no-repeat; background-size:75px auto;
}
div.videoLink img { width:100%; display:block; }
div.videoLink h3 { font-size:1.3em; }


/*** Blog ***/
/* List */
ul#news-list { width:100%; list-style-type:none; padding:0; text-align:center; }
ul#news-list li { width:100%; max-width:450px; display:inline-block; vertical-align:top; background:#fff; margin-bottom:30px; text-align:left; }

div.news-thm { width:100%; position:relative; background:#000; }
div.news-thm img { width:100%; height:350px; object-fit:cover; }
div.news-thm p.date { width:100%; height:auto; position:absolute; bottom:0; left:0; z-index:100;
    color:#fff; font-size:16px; background:rgba(3,26,43,0.75);  padding:10px; 
}
div.news-intro { padding:20px; }

div.news-intro h2 a { color:#4b72a9; text-decoration:none; }
div.news-intro h2 a:hover { color:#4b72a9; text-decoration:underline; }

nav.pager { text-align:center; color:#666; }
nav.pager ul.yiiPager { font-size:18px; }
ul.yiiPager .hidden a { border:none !important; color:#666; }
ul.yiiPager .selected a { border:none !important; background:#4b72a9; }
ul.yiiPager a:link, ul.yiiPager a:visited { border:none; }

div.news-image { width:100%; height:auto; overflow:hidden; position:relative; margin:0 0 40px 0; }
div.news-image img { width:100%; display:block; }

div.article-body { width:100%; max-width:1200px; margin:0 auto; }

ul.tags { list-style-type:none; padding:0; font-size:0.8em; }
ul.tags li { display:inline-block; vertical-align:top; width:auto; padding:0 10px 0 0; margin:0 0 0 8px; border-right:1px #ccc solid; font-size:0.8em; }
ul.tags li:first-child { margin:0; border-right:none; padding:0; }
ul.tags li:last-child { border-right:none; padding:0; }


/** Vibrant Life **/
#seven-components { text-align:center; }
div.sevenblock { padding:30px; background:#fff; display:inline-block; vertical-align:top; width:calc(100% - 20px); max-width:350px; margin:0 10px 30px 10px; opacity:0; margin-top:100px; }

#paths-to-wellness { background:#fff; padding:20px 0 1px 0; margin:20px 0 40px 0; }
div.stone { text-align:center; border-bottom:1px #ccc solid; padding:0 0 30px 0; margin:0 0 30px 0; }
#paths-to-wellness div.stone:last-child { border-bottom:none; padding:0; }

div.vb-icon { width:52px; height:52px; display:block; margin:0 auto 20px auto; border:2px #fff solid; border-radius:50%; }
.star { background:url('../images/icons/star.svg') 50% 50% no-repeat; background-size:30px auto; }
.heart { background:url('../images/icons/heart.svg') 50% 50% no-repeat; background-size:30px auto; }
.flag { background:url('../images/icons/flag.svg') 50% 50% no-repeat; background-size:20px auto; }
.camera { background:url('../images/icons/camera.svg') 50% 50% no-repeat; background-size:25px auto; }
.people { background:url('../images/icons/people.svg') 50% 50% no-repeat; background-size:30px auto; }
.butterfly { background:url('../images/icons/butterfly.svg') 50% 50% no-repeat; background-size:30px auto; }
.chat { background:url('../images/icons/chat.svg') 50% 50% no-repeat; background-size:25px auto; }

/** Amenities **/
#amenities { }

div.amenity { 
    width: 1000px;
    margin: 0 auto; 
}


div.am-inner { background-color: #f2f2f2; padding: 20px; width:80%; margin: 0 auto; display:block; }
img.am-img { width:100%; display:block; }
div.am-text { padding:20px 15px; }


.amenity-detail-left { 
float:left; 
width:18%; 
margin: 0 auto; 
padding-right: 20px;
}

.amenity-detail-right { 
    line-height: 140%; 
 
    width:600px;
    padding: 10px;
    margin: 0 auto;
}


/** Family Resources **/
.bullet-container {
  display: block;
  margin: 0 auto;
  text-align:center;
}

.bullet-box {
    display:inline-block; vertical-align:top; width:30%; min-width:300px; margin:0 10px 20px 10px;
    background: #f2f2f2;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 1.5rem;
}

.bullet-box img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display:inline-block;
}

.bullet-box h3 { font-weight:bold; font-size:22px; }
.bullet-box ul { text-align: left; }

.expandable-container {
  max-width: 700px;
  margin: 0 auto;
  padding: 1rem;
}

.expandable-box {
  border: 1px solid #ccc;
  border-radius: 10px;
  margin-bottom: 1rem;
  overflow: hidden;
}

.expandable-label {
  display: block;
  padding: 1rem;
  font-weight: bold;
  background-color: #f5f5f5;
  cursor: pointer;
  position: relative;
}

.expandable-box input[type="checkbox"] {
  display: none;
}

.expandable-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding: 0 1rem;
}

.expandable-box input[type="checkbox"]:checked ~ .expandable-content {
  max-height: 350px;
  padding: 1rem;
}




/** EVENTS **/
ul.event-list { padding:0; margin:0; }
ul.event-list li { width:100%; display:block; margin:0 0 40px 0; border-bottom:1px #ccc solid; padding-bottom:20px; }
ul.event-list li:last-child { border-bottom:none; padding-bottom:0; }
div.event-thm img { display:block; margin:0 0 20px 0; }
div.event-desc h2, div.event-desc h1 { color:#b41983; }
div.event-desc ul { list-style-type:disc !important; padding:0; }
div.event-desc ul li { margin:0 0 10px 0; border:none; background:url('../images/dot.png') no-repeat 0 8px; padding:0 0 0 20px; }
div.event-desc ul li:last-child { margin:0; }

p.date { font-weight:bold; }

hr.classydiv { border:none; border-top:1px #666 solid; margin:0 0 30px 0; }


/*** PPC RESPITE ***/
#ppc-respite { }

div.heroImg { width:100%; position:relative; background:#031a2b; }
div.heroImg img { width:auto; height:350px; max-width:none; }

div.hero-overlay { padding:30px 20px; color:#fff; }
div.hero-overlay h2 { font-family:'Lato', sans-serif; }
div.rc-text { padding-top:20px; }

/*** PPC MEMORY ***/
div.heroArea { background:#fff; width:100%; }
div.ha-img, div.ha-img img { width:100%; display:block; }
div.ha-intro-container { width:100%; max-width:750px; text-align:center; padding:30px 20px 1px 20px; }

div.drop-shadow { width:100%; display:block; height:65px; background:url('../images/drop-shadow.png') repeat-x; opacity:0.5; }
img#ha-logo { width:200px; }

#memory-container { max-width:780px; padding-top:10px !important; }

.hpad, .hpad50 { padding-left:15px; padding-right:15px; }

/** Privacy **/
div.pi { width:100%; max-width:1200px; margin:0 auto 20px auto; padding-bottom:20px; border-bottom:1px #ccc solid; }
    
    

/***************************************************
	DESKTOP LAYOUT BREAKPOINTS
****************************************************/
@media(min-width: 880px) {

	/****** GLOBAL ELEMENT CSS ******/
	body {  }
    
    .mob, .mob2 { display:none; }
    .dsk { display:block; }
    .dsk2 { display:inline; }
    
    div.half { width:50%; float:left; padding:20px; }
    
    .super { font-size:3.5vw; }
    
    .vertpad { padding-top:85px; padding-bottom:85px; }
    .hpad50 { padding-left:50px; padding-right:50px; }    
    
    h1 { font-size:30px; }

	/****** FRONTEND LAYOUT ******/
    
    #header-nav.hpad50 { padding-left:20px; padding-right:20px; }

    /*.hpad, .hpad50 { padding-left:60px; padding-right:15px; }*/


    #featureImg { width:100%; max-width:100%; overflow:hidden; position:relative; background:#031a2b; height:700px; margin-bottom:100px; box-shadow:0 0 50px rgba(0,0,0,0.25); }
    #featureImg img.fi-img { width:100%; height:700px; object-fit:cover; opacity:1; }
    
    #featureImg .hp-logo-overlay { display:flex; }
    
    #featureImg div.hp-txt-overlay { bottom:0; }
    
    div.lower-title h1 { font-size:2.75vw; }
    

    /*** Footer ***/
	#footer { background:url('../images/footer-photo.jpg') 50% 0 no-repeat #031a2b; background-size:100% auto; padding:30px 50px 10px 50px; position:relative; }
    
    img.ftr-logo { position:absolute; top:30px; left:calc(50% - 100px); z-index:1; margin:0; }
    img.eho { margin-top:40px; }
    
    div.footer-content { width:100%; display:flex; align-items:flex-start; justify-content:space-between; }
    div.footer-left { width:40%; display:block; text-align:left; }
    div.footer-right { width:40%; display:block; text-align:right; }
	
    

	
	/****** FORMS ******/
	div.form { }
	div.form label {
		float: left;
		padding: 5px 0px 0px;
		width: 25%;
	}
	div.form input[type=text],
	div.form input[type=number],
	div.form input[type=password],
    div.form select {
		width: 75%; height:40px;
	}
	div.form textarea {
		width: 75%;
	}
    div.form .errorMessage { margin-left:25%; }	
    
    div.form fieldset { margin:0 0 15px 0; }
    
    div.form fieldset.full-label label {
        width:100%; float:none; margin-bottom:5px;
    }
    div.form fieldset.full-label select, 
    div.form fieldset.full-label input, 
    div.form fieldset.full-label input[type=text], 
    div.form fieldset.full-label textarea { width:100% !important; max-width:none; }

	
    /****** HOMEPAGE ******/
    /* Banners */
    div.hp-slideshow { width:100%; height:90vh; display:block; }
    div.hp-slideshow img { width:100%; height:90vh; object-fit:cover; opacity:1; }

    div.hp-txt-overlay { position:absolute; bottom:0; left:0; z-index:200; background:rgba(1,23,44,0.5); 
        width:50%; height:auto; display:block; 
        text-align:right;
    }
    .hpo-inner { text-align:left; width:100%; display:inline-block; max-width:750px; padding:5% 5% 5% 0; }
    div.hp-txt-overlay h1 { font-size:36px; padding:0 0 10px 0; }
    
    /* Intro text */
    #page-intro { margin:100px auto; display:flex; align-items:center; }
    div.page-intro-image { width:40%; margin:0; }
    div.page-intro-text { width:60%; padding:0 6%; }
    
    
    /* Tiles */
    div.tile-indv { width:100%; height:700px; overflow:hidden; position:relative; }
    div.tile-overlay { position:absolute; bottom:0; left:0; z-index:200; padding:0; background:rgba(1,23,44,0.5); 
        width:50%; height:auto; display:block; 
        text-align:right;
    }
    .tile-overlay-inner { text-align:left; width:100%; display:inline-block; max-width:750px; padding:5% 5% 5% 0; }
    div.tile-overlay h2 { font-size:36px; padding:0 0 10px 0; }
    img.tile-img1 { opacity:0; }

    
    /* Explore Tiles */
    #explore { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; margin:100px auto; }
    div.explore-tile { width:31%; display:block; margin:0; max-width:none; margin-bottom:40px; }
    
    
    /*** Community / Subpage 2 ***/
    ul#subpages { list-style-type:none; padding:0; margin:0; display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
    ul#subpages li { width:30%; display:block; position:relative; text-align:center; margin-bottom:75px; /*background:#000;*/ max-width:none; opacity:0; margin-top:100px; }
    .moveme { animation-name: fadeup;
    	animation-duration: 0.5s;
    	animation-fill-mode: forwards;
    }
    
    @keyframes fadeup {
        from { margin-top:100px; opacity:0; }
	    to { margin-top:0; opacity:1; }
    }
    
    ul#subpages li:nth-child(2), ul#subpages li:nth-child(3) { margin-top:0; opacity:1; }
    
    ul#subpages li img { width:100%; height:300px; object-fit:cover; display:block; transition:0.2s linear all; border:1px #edece8 solid; margin:0 0 20px 0; }
    ul#subpages li:hover img { border:1px #e2b607 solid; }
    
    #subpages.services-sub { justify-content:center; }
    #subpages.services-sub li { margin-left:20px; margin-right:20px; }
    
    /** In-Page Reviews **/
    .page-review div.tile-inner { padding:85px 0; }
    .page-review div.tile-inner::after { content:''; display:table; clear:both; }
        
    .page-review div.tile-text { width:50%; float:right; background:rgba(255,255,255,0.85); padding:85px 70px; display:block; }
    .page-review div.tile-text h2 { color:#000; background:url('../images/quotes-blue.png') no-repeat; padding:0 0 20px 50px; }
    .page-review div.tile-text p { margin-left:50px; }
    .page-review div.tile-text a.blue-btn { margin-left:50px; }
    
    
    /*** Reviews ***/
    #reviews .review-indv { width:46%; background:#fff; display:block; padding:50px; margin-bottom:50px; margin-top:100px; opacity:0; }
    #reviews .review-indv:nth-child(odd) { margin-right:4%; float:left; clear:left; }
    #reviews .review-indv:nth-child(even) { margin-left:4%; float:right; }
    
    #reviews .review-indv:first-child { margin-top:0; opacity:1; }
    #reviews .review-indv:nth-child(2) { margin-top:0; opacity:1; }
    
    #reviews .review-indv p { margin-left:50px; }
    #reviews .review-indv h2 { font-size:36px; 
        background:url('../images/quotes-blue.png') no-repeat; background-size:102px auto; padding:30px 0 20px 120px; line-height:125%; color:#005eb8;
        width:calc(100% + 100px); margin:-20px 0 0 -100px; height:auto; min-height:102px;
    }    
    
    /*** Photo Gallery List ***/
    div.gallery-thm { width:46%; max-width:none; margin:0 1.5% 50px 1.5%; }
    div.gal-img img { height:400px; }
    



    /** Gallery **/
    div.photo-gallery { margin: 0 auto; vertical-align:top; column-gap: 20px; }





    .gal-title { font-size:40px; }
    
    /*** Video Gallery List ***/
    #featureImg.fv { height:auto; text-align:center; padding:220px 20px 50px 20px; }

    #featured-video { width:100%; height:100%; display:flex; align-items:center; }
    div.fv-wrapper { padding:20px; background:rgba(255,255,255,0.8); }
    div.fv-wrapper.viddetail { background:none !important; padding:0 !important; }
    div.fv-info { width:50%; float:left; text-align:left; padding:20px; display:block; }
    div.fv-info h2 { font-size:2em; }
    div.fv-wrapper.viddetail div.fv-info { padding:0 5% 0 0; }
    div.fv-embed { float:right; width:50%; display:block; margin:0; }

    #video-list { width:100%; display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; }
    div.videoLink { width:30%; max-width:none; display:block; margin:0 0 40px 0; }
    div.videoLink h3 { font-size:1.5em; }
    
    
    /*** Blog ***/
    /* List */
    ul#news-list { display:flex; width:100%; justify-content:space-between; align-items:stretch; flex-wrap:wrap; list-style-type:none; padding:0; }
    ul#news-list li { width:46%; max-width:none; background:#fff; margin-bottom:50px; text-align:left; margin-top:100px; opacity:0; }

    div.news-thm img { width:100%; height:480px; object-fit:cover; }
    div.news-intro { padding:50px; }
    
    div.news-image { width:100%; max-width:1170px; height:650px; overflow:hidden; position:relative; margin:0 auto 50px auto; }
    div.news-image img { position:absolute; top:50%; left:50%; height:auto; transform: translate(-50%, -50%); width:100%; }
    
    /** Vibrant Life **/
    #seven-components { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; }
    div.sevenblock { padding:30px; width:30%; }
    
    #paths-to-wellness { background:#fff; padding:30px 0; margin:20px 0 40px 0; }
    div.stone { width:33%; padding:0 30px; float:left; text-align:center; border:none; margin:0; }
    
    /** Amenities **/
    #amenities { display:flex; align-items:stretch; justify-content:space-between; }
    
    div.amenity { width:48%; margin-bottom:0; }
    div.am-text { padding:3%; }
    
    /** EVENTS **/
    div.event-thm { width:320px; float:left; }
    div.event-desc { width:calc(100% - 350px); float:right; }
    
    
    /*** PPC RESPITE ***/
    div.heroImg { width:100%; height:auto; display:block; position:relative; }
    div.heroImg img { width:100%; height:auto; display:block; }
    div.hero-overlay { position:absolute; top:0; left:0; z-index:100; display:flex; width:100%; height:100%; align-items:center; color:#fff; text-align:right; }
    div.hero-overlay .container { max-width:1300px; }
    div.hero-overlay h1 { max-width:835px; float:right; font-size:40px; }
    div.hero-overlay h2 { max-width:835px; float:right; clear:right; font-size:30px; }
    div.hero-overlay p { clear:right; margin:0; padding:0; }

    div.respite-content { display:flex; width:100%; align-items:flex-start; }
    div.rc-intro { width:50%; padding:0 5%; }
    div.rc-text { width:50%; padding:0 30px 0 0; }
    
    
    /*** PPC MEMORY ***/
    div.heroArea { display:flex; align-items:center; }
    div.ha-img { width:50%; }
    div.ha-img img { width:100%; display:block; }
    div.ha-intro { width:50%; }
    div.ha-intro h1 { font-size:24px; }

    div.ha-intro-container { padding:0 30px; }
    img#ha-logo { width:50%; max-width:399px; }

    #memory-container { padding-top:30px !important; }
    
    /** Privacy **/
    div.pi { width:100%; max-width:1200px; margin:0 auto 20px auto; display:flex; flex-wrap:wrap; justify-content:space-between; padding-bottom:20px; border-bottom:1px #ccc solid; }
    div.pi h2 { width:100%; display:block; }
    div.examples, div.purposes, div.categories { width:30%; }
    
    /** Family Resources **/
    .bullet-container { display:flex; align-items:stretch; justify-content:space-between; }
    .bullet-box { margin:0 0 20px 0; }


}  /* @media(min-width: 880px) */



/***************************************************
	MAIN MENU BREAKPOINT
****************************************************/
@media(min-width: 1100px) {
    
    #scrollme { width:10px; height:10px; position:absolute; top:150px; left:0; z-index:100; }
    
	#header-nav { width:100%; /*display:flex; align-items:center; justify-content:space-between;*/ background:linear-gradient(rgba(0,0,0,0.75), rgba(0,0,0,0)); }
    #logo { width:150px; display:block; margin:15px 0 0 0; transition:0.2s linear all; }
    #logo img { display:block; }
    #logo2 { display:none; }
    
    #mainmenu, #hdr-schedule { width:calc(50% - 75px); display:block; }
    #hdr-schedule { display:none; text-align:right; }
    
    #header.sticky { position:fixed; width:100%; height:auto; top:0; left:0; z-index:9999; overflow:unset; }
    #header.sticky #header-nav { background:rgba(1,23,44,0.85); }
    #header.sticky #logo { width:150px; margin:15px 0 15px 0; }
    /*#header.sticky #mainmenu, #header.sticky #hdr-schedule { width:calc(50% - 75px); display:block; }*/
    #header.sticky #mainmenu ul { width:calc(50% - 75px); }
    
    #nanobar { font-size:16px; text-align:center; height:auto; }
    #nanobar span { display:inline; }
    #nanobar ul li { display:inline-block; width:auto; position:relative; top:unset; left:unset; padding:0; }
    #nanobar ul li:first-child { margin-right:10px; padding-right:13px; border-right:1px #fff solid; }
    
    #nanobar ul li.sales { opacity:1; z-index:1; animation:none; }

    /*** Main Menu ***/
    #menuBtn { display: none; }
	
	#mainmenu {
		/*display: inline-block; width:auto;*/ width:100%; display:flex; align-items:center; justify-content:space-between;
		position: relative; top:unset; left:unset;
		margin:0; padding:0;
		text-align: left; background:transparent; 
	}
	#mainmenu ul {
		display: inline-block; width:calc(50% - 75px);
	}
    #mainmenu ul#rightnav { text-align:right; }
	#mainmenu ul li {
		display:inline-block; width:auto;
		position: relative;
		border: none;
		text-align: center;
		margin:0;
	}
	#mainmenu ul li a {
		padding: 13px 7px;
		font-size: 16px; color:#fff; text-decoration:none; text-transform:uppercase; font-family: "brandon-grotesque", sans-serif; font-weight: 500;
	}
    #mainmenu ul li:first-child a { padding-left:0; }
    #mainmenu ul li a.dsk { display:block; }
    #mainmenu ul li a.mob { display:none; }
	#mainmenu ul li:hover a, a #mainmenu ul li:active a, #mainmenu ul li.active a { /*color:#e2b607;*/ color:#57a3f8; }
    
	#mainmenu ul li > ul {
		display: none; width:auto !important;
		position: absolute; top:33px; left:-20px; z-index: 999;
		margin: 0; padding: 5px 0;
		min-width: 100px;
		background: #031a2b;
        text-align:left;
	}
	#mainmenu ul li:hover > ul { display: block; }

	#mainmenu ul li > ul li {
		margin: 0px;
		float: none;
		position: relative;
		border-top: 1px solid #195078;
        text-align:left;
        padding:10px 20px;
        display:block; 
	}

	#mainmenu ul li > ul li a {
		text-decoration: none;
		white-space:nowrap;
        display:inline; padding:10px 5px;
	}
    #mainmenu ul li > ul li:first-child { border-top:none; }
    #mainmenu ul li > ul li:first-child a { padding-left:5px; }
    
    div.tour-tel { width:auto; display:inline-block; position:absolute; top:0; right:0; z-index:1; }
    a.hdr-schedule { display:inline-block; width:auto; height:61px; text-align:center; /*background:#e2b607;*/ background:#b41983; color:#fff;
        /*color:#031a2b;*/ text-decoration:none; text-transform:uppercase; font-size:16px;
        padding:20px; float:none;
        transition:0.2s linear all;
    }
    a.hdr-schedule:hover { background:#1068a7; color:#fff; }
        
    a.hdr-tel { display:inline-block; width:auto; height:61px; text-align:center; background:#031a2b; 
        /*color:#e2b607;*/ color:#e971a1; text-decoration:none; text-transform:uppercase; font-size:16px;
        padding:20px;
        transition:0.2s linear all;
    }
    a.hdr-tel:hover { color:#12a0d5; }
    
    a.hdr-tel2 { display:inline-block; width:auto; height:61px; text-align:center; background:#031a2b; 
        /*color:#e2b607;*/ color:#e971a1; text-decoration:none; text-transform:uppercase; font-size:16px;
        padding:20px;
        transition:0.2s linear all;
    }
    a.hdr-tel2:hover { color:#12a0d5; }


	#content { padding-top:0; }

}  /* @media(min-width:1100px) */



@media (min-width:1300px) {
    a.hdr-tel2 { display:none; }
    .hdr-tel3 { width:auto; display:inline-block; vertical-align:top; white-space:nowrap; font-size:0.8em; line-height:175%; padding-top:5px; padding-left:10px; }
    .hdr-tel3 a { color:#e2b607; }
    .hdr-tel3 a:hover { color:#e2b607; }
    
    #mainmenu ul { width:calc(50% - 140px); }
    #mainmenu ul li a { padding: 13px; }
    #logo { width:280px; display:block; }
}

@media (min-width:1350px) {
    .bigdsk { display:inline; }
}

@media (min-width:1584px) {
    
    /*#mainmenu, #hdr-schedule { width:calc(50% - 140px); display:block; }*/
}

/***************************************************
	FULL SIZE BREAKPOINT
****************************************************/
@media (min-width:1500px) {
    
    .super { font-size:40px; }
    
    /*** PPC MEMORY ***/
    div.ha-intro h1 { font-size:28px; }
    div.lower-title h1 { font-size:47px; }

}  /* @media(min-width:1500px) */




/*** Skip to Content invisible link for accessibility ***/
#skip a
{
position:absolute;
left:-10000px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}
/* uncommenting will make the link visible when focused
#skip a:focus
{
position:static;
float:left;
width:auto;
height:auto;
}
*/
