body {
  background: #fefef6 url(/images/bg_collage3.jpg) no-repeat 50% 0;
  margin: 0;
}

#page_container {
  max-width: 820px;
  margin: 32px auto 0;
}
#content_container {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}


/* Header
---------------------------------------------------------------- */

#header h1 {
  margin: 0 0 5px;
}
#header h1 a {
  display: block;
  width: 100%;
  aspect-ratio: 410/67;
  background: transparent url(/images/logo.png) 0 0 / contain no-repeat;
  text-indent: -5000px;
}


  
  
/*	NAV
---------------------------------------------------------------- */

nav {
  background: #2E6148;
  width: 100%;
  margin-bottom: 18px;
  color: #fff;
}
@media screen and (min-width: 800px) {
  nav {
    background: #fffff7 url(/images/nav-bg.jpg) no-repeat 0 0 / cover;
    height: 44px;
  }
}

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 800px) {
  nav ul {
    flex-direction: row;
  }
}

nav a {
  font-family: 'Gentium Plus', serif;
  display: block;
  font-size: 17px;
  padding: 0 1.35em;
  text-decoration: none;
}
nav a:active,
nav a:focus,
nav a:hover {
  color: currentColor;
}
@media screen and (min-width: 800px) {
  nav a:hover {
    text-shadow: 0 0 3px rgba(254, 254, 246, .5);
  }
  nav .current {
    margin-top: 5px;
    position: relative;
  }
  nav .current:after {
    content: url(/images/nav-leaves.png);
    position: absolute;
    right: -12px;
    bottom: -16px;
  }
  nav .current a {
    background: #fefef6;
    border-radius: 4px 4px 0 0;
    color: #575185;
  }
}

.mobilenav-trigger {
  display: block;
  text-align: center;
  color: currentColor;
  display: block;
}
@media screen and (min-width: 800px) {
  .mobilenav-trigger {
    display: none;
  }
}

@media screen and (max-width: 800px) {
  #navmenu {
    max-height: 1px;
    overflow: hidden;
    transition: all .4s;
  }
  nav.show #navmenu {
    max-height: 20em;
  }  
}


/* Subnav
---------------------------------------------------------------- */

#subnav {
  flex: 1 1 170px;
  background: transparent url(/images/shadow_l.png) no-repeat 100% -50px;
}

#subnav ul {
  list-style: none;
  border-top: 1px solid #f0f0e1;
  padding-left: 0;
  margin: 0;
}
@media screen and (min-width: 600px) {
  #subnav ul {
    margin-top: 24px;
  }
}
#subnav li {
  border-bottom: 1px solid #f0f0e1;
}
#subnav a {	display: block;
  line-height: 1.5em;
  padding: 5px 10px;
  color: #3e6e5d;
}
#subnav a:hover {
  background: #fafae5;
  color: #14523d;
}
#subnav li.selected a {
  background: #f2f2de;
  color: #6C71A3;
  font-weight: bold;
}
  
  
/* Content
---------------------------------------------------------------- */

#content {
  flex: 1 1 540px;
  z-index: 2;
  position: relative;
  padding-inline: 30px;
}

#content h1 {
  color: #6c71a3;
  font-style: italic;
  font-size: 28px;
  background: transparent url(/images/leaves_tl.gif) no-repeat 0 0;
  padding: 2px 0 0 24px;
  margin-left: -24px;
}
#content h1 small {
  display: block;
  color: #666659;
  font-size: 15px;
  padding-left: 2px;
}
#content.full {
  flex-basis: 600px;
}


/* Sidebar Slideshow
---------------------------------------------------------------- */

.sidebar-photos {
  float: right;
  margin: 0 -30px 1em 1em;
  width: 205px;
  height: 274px;
  position: relative;
}
@media screen and (min-width: 731px) {
  #content_container:has(#aside) .sidebar-photos {
    position: absolute;
    top: 0;
    right: -230px;
    z-index: 1;
    margin: 0;
  }
  #content_container:has(#subnav) .sidebar-photos {
    margin-right: -40px;
  }
}
.sidebar-slideshow {
  position: absolute;
  width: 193px;
  height: 235px;
  top: 21px;
  right: 0;
  z-index: 1;
  overflow: hidden;
}
.sidebar-slideshow-overlay {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 214px;
  height: 277px;
}
.sidebar-photo-crop {
  width: 193;
  height: 245px;
  overflow: hidden;
}
.sidebar-photo-crop img {
  width: 100%;
}

#content:has(.sidebar-photos) ~ #aside {
  margin-top: 250px;
}



/* Sidebar
---------------------------------------------------------------- */

#aside {
  position: relative;
  flex: 1 1 160px;
  color: #667F72;
  z-index: 1;
  margin-left: auto;
  padding-left: 40px;
}

#aside a {
  color: #2E6148;
}

.large_aside_photo {
  margin: -15px 0 15px -44px;
}
#contact_images {
  width: 214px;
  height: 277px;
}


/* Footer
---------------------------------------------------------------- */
#footer {
  clear: both;
  text-align: center;
  font-style: italic;
  color: #678076;
  padding: 3em 0 35px;
  margin: 0 0 2em;
  background: transparent url(/images/hr.gif) no-repeat 50% 100%;
}

#footer ul {
  list-style: none;
  margin: 0;
  background: transparent url(/images/leaves_t.gif) 50% 0 no-repeat;
  padding-top: 40px;
}
#footer li {
  display: inline;
  padding: 1em;
}
#footer a {
  color: #678076;
}

.map {
  border: 1px solid #cdd8ce;
  padding: 5px;
  width: 580px;
  margin-bottom: .5em;
}



/*	VCARD
=============================================================================*/

.vcard p {
  margin-bottom: 0;
}
.vcard abbr {
  border-bottom: 0;
}
.vcard .adr, .vcard .telecommunications {
  margin-bottom: .8em;
}
.vcard .country-name {
  display: none;
}
    
    
    
/*	HOMEPAGE
=============================================================================*/

.home nav {
  margin-bottom: 5px;
}

.home #banner {
  width: 100%;
  margin-bottom: 15px;
}
.home #banner img {
  width: 820px;
}

body.home #content {
  flex: 1 1 550px;
  display: flex;
  flex-wrap: wrap;
  padding-inline: 0;
}

.home #contact-mobile {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-inline-start: -24px;
}
.home #contact-mobile .vcard {
  padding-inline-start: 24px;
}
.home #contact-mobile h2 {
  flex: 1 0 100%;
}
.home #contact-desktop {
  display: none;
}
@media screen and (min-width: 810px) {
  .home #contact-mobile {
    display: none;
  }
  .home #contact-desktop {
    display: block;
  }
}



#where_to_start {
  position: relative;
  right: 15px;
  background: transparent url(/images/bg_wheretostart_short.png) no-repeat 0 0;
  width: 268px;
  height: 244px;
  padding: 22px 23px 0 35px;
  font-size: 13px;
  z-index: 500;
}
#where_to_start p {
  clear: left;
}
#where_to_start ul {
  font-style: italic;
}
#where_to_start li a {
  color: #355952;
}
#where_to_start li a:hover {
  color: #4e9b8c;
}

#practitioners {
  margin-bottom: 1.5em;
  overflow: auto;
}
#practitioners h2 {
  background: transparent url(/images/leaves_tl.gif) no-repeat 0 0;
  padding: 8px 0 0 24px;
}
@media screen and (min-width: 470px) {
  #practitioners .content {
    display: flex;
    flex-wrap: wrap;
  }
}
#practitioners .practitioners-body {
  flex: 1 1 320px;
  padding-inline: 24px;
}
#practitioners .practitioners-photos {
  background: transparent url(/images/bg_home_welcome.jpg) 0 0 no-repeat;
  width: 150px;
  flex: 0 0 150px;
  position: relative;
  aspect-ratio: 1;
  float: left;
  transform: scale(.8);
  right: -5px;
  top: -10px;
}
@media screen and (min-width: 470px) {
  #practitioners .practitioners-photos {
    transform: scale(1);
    right: -15px;
  }
}
#practitioners .photo-tilt {
  width: 120px;
  height: 120px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 16px;
  left: 13px;
  transform: rotate(-3deg);
  background-position: 50% 50%;
  background-size: cover;
  box-shadow: 0 0 3px rgba(0,0,0,0.2);
  border: 1px solid #888074;
}


.home #upcoming_classes {
  flex: 1 1 300px;
  padding-inline-start: 24px;
}
.home #upcoming_classes p  {
  font-size: 13px;
}

#bookshelf_giftcerts {
  flex: 1 1 242px;
}

#bookshelf, #loveshaker, #giftcerts, #titn, #alohabay, #gemstones {
  display: block;
  height: 75px;
  background: transparent url(/images/bookshelf.jpg) no-repeat 100% 0;
  text-indent: -5000px;
}
#loveshaker {
  background-image: url(/images/home_loveshaker.png);
  height: 102px;
}
#giftcerts {
  background-image: url(/images/giftcertificates.png);
}
#titn {
  height: 140px;
  background-image: url(/images/shelf-titn.png);
}
#alohabay {
  height: 137px;
  background-image: url(/images/alohabay.png);
}
#gemstones {
  height: 137px;
  background-image: url(/images/gemstones.png);
}
#bookshelf_giftcerts a:hover {
  border: none;
}

.home #aside {
  width: 260px;
  padding: 0 0 0 20px;
  font-size: 13px;
  z-index: 1
}
@media screen and (min-width: 810px) {
  .home #aside {
    background: transparent url(/images/shadow_r_l.png) no-repeat 0 20px;
  }
}
  
.home #aside a {
  color: #377bbf;
}
.home #aside input.textfield {
  width: 80%;
  border: 1px solid #ddd5c7;
  background: #fff;
  line-height: 18px;
  height: 18px;
  -moz-border-radius: 3px;
  
  -webkit-border-radius: 3px;
  
  border-radius: 3px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}

  .home #aside strong {
    color: #3f665d;
  }
  
  #blog_icon {
    display: block;
    text-indent: -5000px;
    background: transparent url(/images/home_blog.jpg) no-repeat 0 0;
    width: 229px;
    height: 97px;
  }
  #blog_icon:hover {
    border: none !important;
  }

/* Embedded videos/iframes */
iframe {
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9;
}