html {
  overflow-x: hidden;
}

/* General */
.mobile { display: inherit !important }
.desktop { display: none !important; }
.full-width, .col-4, .col-3, .col-2, .col-6 { width: 100%; min-width: 0;}

/* Forms */
.main-content input[type="text"], .main-content input[type="email"], .main-content input[type="tel"], 
.main-content input[type="text"]:focus, .main-content input[type="email"]:focus, 
.main-content input[type="tel"]:focus, .main-content textarea {
  width: 100%; box-sizing: border-box;  -webkit-box-sizing: border-box;
}

/* Header */
#main-header { height: 95px; overflow: visible; z-index: 99999;}
#site-name { margin-left: -72px; height: 95px;}
#site-name a, #site-name a:hover { background-size: 104px; background-position: 50% 17px; height: 100%; }
#site-name a:hover { background-size: 109px; background-position: 50% 13px; }

  /* Main icons */
  .header-icons a { background-size: 26px; }
  .mobile-header-icons { position: static; }
  .mobile-header-icons > * { position: absolute; top: 17px; }
  .language-selector { left: 12px; }

  .header-icons .toggle-mobile-menu {
    background: url('../images/mobile-menu.svg') 50% 15px no-repeat;
    cursor: pointer;
    background-size: 25px;
    top: 0;
    right: 0;
    bottom: 0;
    width: 72px;
    height: 94px;
  }

  .is-menu-open .header-icons .toggle-mobile-menu  {
    background-image: url('../images/mobile-menu-close.svg')
  }

  /* Main menu */
  .is-menu-open .menu-container { display: block}
  .menu-container {
    display: none;
    position: fixed;
    background: white;
    top: 96px;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: auto;
    z-index: 9999999;
  }

  .main-menu { width: auto;display: block;margin: 0;padding: 0;}

  .menu-container .menu-item,
  .menu-container .main-menu .menu-item,  
  .menu-container .menu-item a {
    display: block; float: none; margin: 0 auto; 
  }
  .menu-container .menu-item a {
    border-bottom: 1px solid #ddd;
    padding: 11px 12px 12px 12px;
    border-top: none;
    border-left: none;
    border-right: none;
  }

  /* Header icons */
  .menu-container .header-icons {
    position: relative;
    top: auto;
    left: auto;
    text-align: center;
    width: 100%;
    outline: none;
    margin-top: -7px;
    margin-bottom: 25px;
  }

  .main-menu a:hover:active, .main-menu .current-menu-item { background: #15ccb2 }

  .menu-container .header-icons * { display: inline-block; font-size: 0; }
  .menu-container .header-icons a { padding: 0 1px; border: none; }

  /* JDW */
  .jdw-link {
    position: static;
  }

  .jdw-link:hover .jdw-link-image-hover {
    display: none;      
  }

  .jdw-link:hover .jdw-link-image {
    display: inline-block;
  }

/* Footer */
.main-footer {
  border-top: 1px solid #ddd;
  background-size: 102px;
  background-position: 50% 20px;
}
.main-footer .inner {
  padding-top: 98px;
  font-size: 11px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 10px;
}

.main-footer .inner p {
  line-height: 18px;
}

/* Content */
#main-content { margin-top: 96px; }
.basic-page-content { padding: 0 22px; }
.mobile-title, .hp-section-title {
  text-align: center;
  border-bottom: 1px solid #ddd;
  color: #15ccb2;
  font-size: 27px;
  line-height: 39px;
  display: block;
  padding: 4px;
}
.main-section {
  padding-top: 13px;
  padding-bottom: 13px;
}

/* Basic page */
.basic-page-title { display: none; }
.basic-page-content * { line-height: 21px; }
.ninja-forms-form { padding-top: 0 }
.ninja-forms-field-error { left: 5px;}

/* Events */
.event-list { width: 100%; margin: 0; position: relative; }
.list-events .full-width, .bottom-event-list { width: auto; padding: 0 13px; position: relative;}
.list-events .full-width { padding-top: 13px;}

.event-list-item, .event-list-item.is-now { width: 100%; height: auto; margin: 0 0 13px 0;overflow: hidden;display: block;}
.event-list-item img { width: 100%; height: auto;}

.event-list-item .event-hover {
  opacity: 1;
  background: rgba(21,204,178, 0.5);
  color: black;
}

.event-list-item:active .event-hover {
  background: none; color: #15ccb2;
}

.event-hover .pre-header { letter-spacing: -0.05em; margin-bottom: 11px; }
.event-hover .news-events-title { font-weight: bold; }
.event-hover .more-info { margin-top: 16px;}


/* Single event */
.bottom-event-list { border-top: 1px solid #ddd; padding-top: 15px;}
.event-full-text { padding: 22px;}
.event-full-text .col { margin-bottom: 22px; }

.single-event .gallery, .single-event .slide-image, .single-event .top-image, .contact-page-top-item, .top-image { height: 193px;} 

.event-slideshow-container {
  margin-bottom: 20px;
}

.single-event .slideshow-textbox {
  display: block !important;
  margin: 0; position: static;
  margin-top: 30px;
  transform: none;
  -webkit-transform: none;
} 

.slideshow-textbox .body:before, .slideshow-textbox .body:after { display: none;}
.slideshow-textbox .body, .slideshow-textbox .body > * { width: 100%; float: none; }
.single-event .cycle-pager, .mobile-meta, .single-event .event-slideshow-container { 
  background: #f8f8f8; overflow: hidden; 
  text-align: center; padding: 0;

  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.single-event .date-description { width: auto; font-size: 15px;margin-bottom: 5px;}
.single-event .event-subtitle { color: inherit; font-size: 15px;margin-bottom: 2px;}
.single-event .event-title { font-size: 15px;font-weight: bold;margin-top: 0;line-height: 18px;margin-bottom: 0px;}
.single-event .event-future-past-now { margin-top: 34px; margin-bottom: 3px; }

.cycle-pager { overflow: hidden; height: 35px;}
.cycle-pager span { margin-bottom: 0px; padding-bottom: 0 }

.slideshow-textbox .description { padding: 22px;width: auto;}

.single-event .top-image-wrapper { margin-bottom: 21px;}
.single-event .event-full-text { padding-top: 0; }

.full-wrapper .top-image-wrapper .prev-next {
  bottom: auto; height: 343px; z-index: 1000;
  position: absolute;
}

/* Residents */
.resident-list .inner { width: auto; margin-bottom: 15px; }
.resident-list-item {
  float: none;
  display: block;
  margin: 0 auto;
  background-size: 120px;
  height: 98px;
  width: auto;
  border: none;
}
.resident-list-item:hover { border: none; }
.list-residents {overflow: hidden;padding-top: 0;}
.page-template-template-residents .main-content { overflow: hidden;}

/* Single resident */
.single-resident .main-section { padding-top: 0;}
.resident-top-container { padding-top: 33px; padding-bottom: 9; border-bottom: 1px solid #ddd; }
.resident-name { font-weight: bold; font-size: 23px; line-height: 23px; margin-bottom: 28px; }
.resident-content {padding: 13px 22px; }
.resident-content * { line-height: 21px; }
.single-resident .prev-next { display: none }

/* Story */
  /* Top timeline */
  .story-timeline-item, .story-timeline-item:last-child { width: auto !important; }
  .story-timeline-item, .story-timeline-item > *,
  .story-timeline-item.current > *,
  .story-timeline:before  { 
    display: none; 
  }
  .story-timeline-item.current, .story-timeline-item.current .story-timeline-item-title {
    display: block;
    margin: 0;
    font-size: 15px;
  }
  .story-timeline-inner {
     width: 100%; left: 0; overflow: hidden; height: 41px; 
     background-color: #f8f8f8; border-bottom: 1px solid #ddd;
   }

  .story-timeline-item-title { text-align: center; width: 100%; padding: 12px 0;  }
  .story-timeline-item-title span { display: inline-block; color: #15ccb2 }
  .story-timeline-item-dates:after { content: ', '}

  .story-timeline .period-prev, .story-timeline .period-next { top: 0px; bottom: 0;margin-top: 0; background-size: 19px; background-position: 50% 50%;} 
  .story-timeline .period-prev { right: 2px; }
  .story-timeline .period-next { left: 0; margin-left: 0; }

  /* Section content */
  .story-content, .list-story { width: auto; padding: 0; margin: 0; overflow: hidden; }
  .list-story .section-nav { display: none; }
  .story-sections h2 { font-size: 15px; font-weight: bold;}
  .story-sections { margin-top: 18px;width: auto; float: none;overflow: hidden;}
  .story-section { display: block; padding-bottom: 22px; }
  .story-section p, .story-sections h2 { line-height: 21px; padding: 0 22px;}
  .story-sections h2 { margin-top: 10px;}
  .story-section img { 
    width: 100%; height: auto; border: 1px solid #ddd; border-left: 0; border-right: 0;
  }
  .story-sections .bottom-images { margin-top: 22px;}
  .story-section-image { margin-top: 0;}


/* Blog */
.blog-top-image-wrapper {
  padding-left: 0;
  margin-bottom: 20px;
}

.blog-top-image-wrapper img {
  width: 100%;
}

.list-blog-search input[type="text"], .list-blog-search input[type="text"]:focus {
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: none;
  margin: 0;
  width: 100%;
  float: none;
  display: block;
  padding: 13px 0px;
}

.list-blog-search input[type="submit"], 
.list-blog-search input[type="submit"]:focus, 
.list-blog-search input[type="submit"]:hover {
  background-size: 16px; margin-left: -6px;
}

.list-blog-sort {
  padding: 10px 19px;
}

.list-blog-header .list-blog-search {
  display: block;
  width: auto;
  margin: 7px 18px 17px 18px;
}

.list-blog-header * {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.page-template-template-blog .mobile-title {
  position: absolute; top: 188px; 
  right: 0; left: 0; z-index: 20; background: white;
}

.list-blog-posts { left: 0; padding: 0 13px 13px 13px; width: auto;margin-bottom: 13px;clear: both;}
.post-description { height: auto}

.hp-col, .list-blog .post-excerpt {
  width: auto;
  margin: 0 0 13px 0;
  float: none;
}

/* Single post */
.page-post { width: auto; }
.page-post p, .page-post .post-title, .page-post .post-date { padding: 0 23px; }
.podcast-links-title, .podcast-links, .buzzsprout, .post-comments, .post-image-wrapper,
.post-bottom-text > * {
  padding-left: 23px; padding-right: 23px;
}
.post-bottom-text { margin-bottom: 50px;}
.post-image { margin-bottom: 28px; max-width: 100%; height: auto; }
.post-comments { max-width: 100%;}
.page-post .post-title, .page-post .post-subtitle { font-size: 15px; color: black; margin-bottom: 3px; font-weight: bold; }
.page-post .post-subtitle { font-weight: normal; margin: 0 23px 23px 23px; }
.page-post .post-author { font-size: 15px; color: black; margin-bottom: 1px; margin-top: 0; padding: 0 23px; }
.page-post .post-date { font-size: 15px; font-weight: bold; }
.post-content img { height: auto; position: relative; }
.post-content .has-image { padding: 0; }
.addthis_sharing_toolbox { margin-left: 11px; margin-bottom: 26px;clear: both;}


/* Map */
.map-top-image .carousel {
  height: 192px; 
  margin-bottom: 0px;
}

.map-top-image .carousel .flickity-button,
.map-top-image .carousel .flickity-button.previous {
  top: 179px;
}
.next-prev-room .right, .next-prev-room .left {  
  width: 36px;
  height: 44px;
  background: red;
  margin: 0;
  z-index: 999999;
  cursor: pointer;
  text-indent: -1000px;
  position: absolute; top: -50px;
  display: none;

  background: url('../images/arrow-right-white.svg') 50% 50% no-repeat;
  background-size: 20px;
}

.next-prev-room .left { left: 0; background-image: url('../images/arrow-left-white.svg');}
.next-prev-room .right { right: 0 }
.room-infos { position: relative; background: #f8f8f8;  height: 192px; }
.room-link-wrapper .room-link { display: none }
.room-link-wrapper.current .room-link { display: block; }
#main-content .room-link {
  position: absolute; bottom: 17px; left: 0; right: 0; width: auto; text-align: center;
  color: black; font-size: 15px;
}

.floor-inner, .floor-rooms-nav { width: 100%; margin: 0 auto;left: 0;}
.floor, .main-map-floors { height: 257px;}

  /* Header */
  .main-map-floors-nav, .floor-inner, .main-map-floors, .floor, .map-slideshow { background: #e2e1e6; border: none; margin: 0;padding: 0;}
  .main-map-floors-nav a {
    margin: 0;
    font-size: 12px;
    padding: 10px 0;
    color: white;
    font-weight: bold;
  }

  .main-map-floors-nav a:after { content: ' / '; color: white; }
  .main-map-floors-nav a:last-child:after { content: ''}

  /* Image */
  .floor-image, .floor-rooms-nav { width: 100%; top: 4px;}
  .floor-image img { margin: 0 auto; display: block; width: 310px;}
  

  /* Info text */
  .room-info-text { padding: 30px 20px; width: auto; text-align: center; }
  .room-info-name { color: inherit; font-size: 15px; font-weight: bold; margin-bottom: 2px; }

/* Contact page */
.contact-page-section-nav { display: none; }
.contact-page-section-body { padding: 23px;}
.page-template-template-contact-php .main-content img { width: 100%; height: auto;}

/* Register for the site */
.single-newsletter .main-section {
  padding: 80px 23px 23px 23px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

/* Homepage */
.single-homepage { overflow: hidden;}

  /* Slideshow */
  .carousel .slide-image {
    height: 192px; background-position: 50% 50%;
  }

  .single-homepage .flickity-button {
    display: block;
  }

  .single-homepage .cycle-next, .single-homepage .cycle-prev,
  .flickity-button.next, .flickity-button.previous, .flickity-button.next:hover,
  .full-wrapper .top-image-wrapper .prev-next a {
    top: 181px;
    width: 27px;
    z-index: 100;
    left: auto;
    background: url('../images/arrow-mobile-right.png') 50% 50% no-repeat;
    background-size: 38px;
    text-indent: -100000px;
  }

  .flickity-button.next, .flickity-button.previous {
    position: absolute; border: none; padding: 0;
  }

  .full-wrapper .top-image-wrapper .prev-next .next,
  .full-wrapper .top-image-wrapper .prev-next .prev,
  .cycle-next, .cycle-prev {
    top: 166px; bottom: auto;
  }

  .cycle-next, .cycle-prev,
  .flickity-button {
    top: 250px; display: block;
  }

  .single-homepage .cycle-prev:hover,
  .full-wrapper .top-image-wrapper .prev-next a:hover {
    background-image: url('../images/arrow-mobile-right-hover.png')
  }

  .single-homepage .cycle-next:hover,
  .full-wrapper .top-image-wrapper .prev-next .next:hover {
    background-image: url('../images/arrow-mobile-left-hover.png');
  }

  .single-homepage .cycle-next,
  .full-wrapper .top-image-wrapper .prev-next .next,
  .flickity-button.previous, .flickity-button.previous:hover {
    left: 0; right: auto; background-image: url('../images/arrow-mobile-left.png');
    width: 35px;
  }

  .single-homepage .cycle-next span, .single-homepage .cycle-prev span {
    display: none;
  }

  .main-content .cycle-prev:after, .main-content .cycle-next:after,
  .full-wrapper .top-image-wrapper .prev-next a:after {
    display: none;
  }

  .single-homepage .carousel, .single-homepage .cycle-slide { overflow: visible !important }

  .carousel {
    height: 420px;
    background: #f8f8f8;
    overflow: hidden !important;
    margin-bottom: 0;
  }

  .carousel .cycle-slide.is-no-image{
      background: #f8f8f8;
  }

  .single-resident .carousel {
    height: 192px;
  }
  

  /* Carousel */
  .carousel .cycle-slide {
    width: 100%; margin: 0;
  }

  .carousel .slide-image {
    height: 192px;
  }

  /* Text */
  .single-homepage .slideshow-textbox {
    display: block !important;
    position: absolute;
    top: 190px;
    margin-top: 0;
    transform: none;
    -webkit-transform: none;
    max-height: 226px;
    overflow: auto;
  }

  .single-homepage .slideshow-textbox .left { display: none; }
  .single-homepage .slide-text {
    width: 100%; padding: 16px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    text-align: center;
    padding-top: 33px;

  }

  .cycle-slide p {
    margin-bottom: 10px;  
  }

  .carousel .cycle-slide h3 {
    margin-top: 0; font-size: 14px;
  }

  .carousel .slideshow-textbox .right * {
    line-height: 21px; font-size: 15px;
  }

  .carousel .cycle-slide h2 {
    font-size: 15px; line-height: 19px; margin: 10px auto;
  }

  .home .slideshow-textbox-wrapper { margin-bottom: 0; }


  /* News */
  .hp-section-title { line-height: 48px;margin-bottom: 16px;border-top:  1px solid #ddd;}
  .news-items { height: auto; padding: 0 22px;margin-bottom: 0;overflow: hidden;}
  .hp-date { margin-bottom: 0;}
  .hp-content .read-more { display: block; }
  .news-item { margin-bottom: 39px;}
  .news-item:last-child { margin-bottom: 13px; }

  /* Events */
  .hp-section .event-item {
    padding: 13px;
    width: 100%;
    height: auto;
    margin-bottom: 0;
    margin-right: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }
  .hp-section.events img { width: 100%; height: auto}
  .hp-section.events .hp-section-title { margin-bottom: 0;margin-top: 9px;}
  .hp-section .box-link { margin-bottom: 26px;}

  /* Blog */
  .hp-section .post-excerpt { margin: 13px 13px 5px 13px; }
  .hp-section .blog-item { margin-bottom: 0;margin-right: 0;}
  .hp-section.blog .box-link { margin-bottom: 25px; margin-top: 18px;}

  /* Main text */
  .hp-large-col { 
    width: auto; margin-bottom: 20px;margin-left: 0;    
  }
  .hp-large-col p {
    line-height: 21px;
  }
  .hp-section.main-text .main-text-columns {
    padding: 0 22px; width: auto;
  }
  .hp-section.main-text .hp-section-title { margin-bottom: 16px; }
  .hp-section.main-text .box-link { margin-top: 5px; margin-bottom: 25px; }

  /* Residents */
  .hp-section.residents  .resident-list {
    margin: 0 13px;
  }
  .hp-section.residents .resident-list-item {
    display: inline-block; width: 96px; height: 50px;
    background-size: 69px;
  }

  /* Instructions */
  .hp-section.instructions { margin-top: -17px ;height: auto;}
  .hp-section.instructions .instructions-text > *, .hp-section.instructions > *, .hp-section.instructions > *:last-child {
    float: none; width: 100%; 
  }
  .hp-section .instructions-text .inner {
    position: relative; top: 0; width: 100%;
    padding: 0 13px;
     
  }

  .hp-section .instructions-map {
    height: 200px;
  }

  .hp-section .instructions-text {
    padding: 16px 0 22px;
  }

  .hp-section .instructions-text h2 {
    color: inherit; font-size: 15px; font-weight: bold; margin-bottom: 0;
    display: none;   
  }