/* Limited CSS reset */
/* See normalize.css */

html, body, button, input, select, textarea,
.pure-g [class *= "pure-u"] {
  font-family: 'Roboto Slab', serif;
  font-weight: normal;
}

/*
html, body {
   height: 100%;
   margin: 0;
   padding: 0;
}
*/

html {
  height: 100%;
  font-size: 16px; /* This is the base size the rem unit refers to */

}

body {
  font-size: 16px;
  min-height: 100%;
  margin: 0;
  padding: 0;
  color: #505945;
}

/* Layout styles ----------------------------------------------------------------*/
.clear {
  clear: both;
}

.align-l {
  text-align: left;
}

.align-r {
  text-align: right;
}

.align-c {
  text-align: center;
}

.pad-box {
  padding: 20px;
}

.constrain-1920w {
  width: 1920px;
  margin: 0 auto;
}

.constrain-1280w {
  width: 1280px;
  margin: 0 auto;
  position: relative;
}

#page-wrap {
  background-color: #ECEDE7;
}

figure.csc-textpic-image {
  margin: 0;
}

.two-col-layout .pad-box {
  padding: 0 15px;
}

.two-col-layout .pure-u-1:first-child .pad-box {
  padding-left: 0;
  padding-right: 30px;
}

.two-col-layout .pure-u-1:last-child .pad-box {
  padding-left: 30px;
  padding-right: 0;
}


/* Responsive container for embedded Youtube video clips. The Youtube iframe should be a child of a div with a class of
  "video-container". If creating such a container is not possible because you don't have access to the HTML eg in
  a CMS content element, you can call the ICIT responsifyYoutubeClips() JavaScript function to do it programmatically.
*/
.video-container {
  position: relative;
  padding-bottom: 56.25%;  /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.video-container iframe, .video-container object, .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* Responsive container for embedded Google Maps. The Youtube iframe should be a child of a div with a class of
  "gmap-container". If creating such a container is not possible because you don't have access to the HTML eg in
  a CMS content element, you can call the ICIT responsifyGoogleMaps() JavaScript function to do it programmatically.
  NOTE: The aspect ratio doesn't have to be 16:9. You could make it 4:3 by setting padding-bottom: 75.6%
*/
.gmap-container {
  position: relative;
  padding-bottom: 56.25%;  /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.gmap-container iframe, .gmap-container object, .gmap-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* Header styles ----------------------------------------------------------------*/
header {
  position: relative;
}

#header-content {
  position: relative;
  height: 124px;
  margin: 10px auto 0;
  left: 0;
}

#header__logo {
  position: absolute;
  left: 0;
  right: 0;
  margin: 90px auto 0;
  z-index: 10;
  max-width: 80%;
}

#header-col2-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  float: right;
}

#menu-wrap {
  background-color: #8D993D;
}

#menu {
  /*
   position: absolute;
   top: 30px;
   right: 20px;
  */
  text-align: center;
}

.menu__book-now-button,
.footer__book-now-button,
#mobile-nav-buttons__phone,
#mobile-nav-buttons__book-now {
  display: inline-block;
  background-color: #ff0000;
  padding: 8px;
  border-radius: 5px;
}

.footer__book-now-button {
  margin-bottom: 10px;
}

#mobile-nav-buttons__phone {
  background-color: #DEE3B9;
}

.menu__book-now-button:hover,
#mobile-nav-buttons__phone:hover,
#mobile-nav-buttons__book-now:hover {
  background-color: #393F20;
  cursor: pointer;
}

.footer__book-now-button:hover {
  background-color: #DEE3B9;
  cursor: pointer;
}

.menu__book-now-button a,
.menu__book-now-button a:visited,
#mobile-nav-buttons__book-now a,
#mobile-nav-buttons__book-now a:visited {
  font-size: 1.1em;
  color: #fff;
  text-decoration: none;
}

#mobile-nav-buttons__phone a,
#mobile-nav-buttons__phone a:visited {
  font-size: 1.1em;
  color: #454C33;
  text-decoration: none;
}

.menu__book-now-button:hover a,
.menu__book-now-button a:hover,
.menu__book-now-button a:active,
.menu__book-now-button a:focus,
#mobile-nav-buttons__phone:hover a,
#mobile-nav-buttons__phone a:hover,
#mobile-nav-buttons__phone a:active,
#mobile-nav-buttons__phone a:focus,
#mobile-nav-buttons__book-now:hover a,
#mobile-nav-buttons__book-now a:hover,
#mobile-nav-buttons__book-now a:active,
#mobile-nav-buttons__book-now a:focus {
  color: #DEE3B9;
}

.footer__book-now-button:hover a,
.footer__book-now-button a:hover,
.footer__book-now-button a:active,
.footer__book-now-button a:focus {
  color: #393F20;
  text-decoration: none;
}


#mobile-nav-buttons {
  padding: 15px 20px 15px;
  text-align: center;
  background-color: #5a6434;
  display: none;
}

#mobile-nav-buttons__phone {
  margin-right: 5px;
}

#mobile-nav-buttons__book-now {
  margin-left: 5px;
}

.nav--ucase {
  text-transform: uppercase;
}

/* Content styles ---------------------------------------------------------------*/
#top-hero-wrap {
  position: relative;
  min-width: 100%;
  text-align: center;
  overflow: hidden;
}

#top-hero-wrap img {
  position: relative;
  left: 100%;
  margin-left: -200%;
  display: inline-block;
  margin-bottom: -6px;
}

#site-body {
  overflow: hidden; /* prevent container collapse */
  padding: 20px 20px 24px;
  /*line-height: 1.35rem;*/
}

#site-body__content {
  overflow: hidden; /* prevent container collapse */
}

#site-body > div:last-child {
  border-bottom: none;
}

hr.ce-div {
  border: 0;
  height: 15px;
  background: url(../images/divider.png) center no-repeat;
  /*margin: 1.1em 0 .9em;*/

}

h1, h2, h3, h4 {
  font-family: 'Architects Daughter', cursive;
  font-weight: normal;
  color: #454C33;
}

.two-col-layout img {
  width: 100%;
  height: auto;
}

#site-body a,
#site-body a:visited,
#site-body a:hover,
#site-body a:active,
#site-body a:focus {
  color: #505945;
  text-decoration: underline;
}

#site-body a:hover,
#site-body a:active,
#site-body a:focus {
  text-decoration: none;
}

ol {
  padding-left: 20px;
}

ol > li {
  padding-bottom: 5px;
  list-style-position: inside;
}

/* Footer styles ----------------------------------------------------------------*/
footer {
  background-color: #3B4022;
  color: #EBECE6;
  font-size: .85rem;
  line-height: 1.5em;
  text-align: center;
}

#footer-content {
  padding: 40px 20px 20px;
}

footer h2,
footer h3 {
  color: #fff;
  font-weight: normal;
}

footer a,
footer a:visited,
footer a:hover,
footer a:active,
footer a:focus {
  color: #EBECE6;
  text-decoration: none;
}

footer a:hover,
footer a:active,
footer a:focus {
  text-decoration: underline;
}

footer .pad-box {
  padding: 0 10px;
}

footer .pure-u-1:first-child .pad-box {
  padding-left: 0;
  padding-right: 20px;
}

footer .pure-u-1:last-child .pad-box {
  padding-left: 20px;
  padding-right: 0;
}

/*
footer ul li:before {
   color: #F2EDDA;
}

footer ul {
   list-style-type: none;
   padding-left: 0;
}

footer ul li {
   list-style-position: inside
}

footer ul li:before {
   content: '\2022';
   margin-right: 7px;
   vertical-align: middle;
   font-size: 1.7em;
   line-height: 0;
   color: #D04060;
}
*/

/* Typo3 Overrides --------------------------*/
/* This fixes issues caused by Typo3 fluid layouts for our top hero image */
/*#top-hero-wrap .ce-gallery,
#top-hero-wrap .ce-gallery .ce-column {
   float: none;
}

#top-hero-wrap .ce-intext.ce-right .ce-gallery {
   margin-left: 0;
}
*/

/* ------------------------ */
/* 6__Typo3 Overrides       */
/* ------------------------ */
.ce-gallery figure {
  display: block;
}

.ce-gallery figcaption {
  display: block;
}

/* This fixes issues caused by Typo3 fluid layouts for our top hero image */
#top-hero-wrap .ce-gallery,
#top-hero-wrap .ce-gallery .ce-column {
  float: none;
}

#top-hero-wrap .ce-gallery img {
  max-width: inherit;
  width: auto;
  /*height: 100%;*/
}

#top-hero-wrap .ce-intext.ce-right .ce-gallery {
  margin-left: 0;
  margin-bottom: 0;
}

#top-hero-wrap > div[id^="c"],
#top-hero-wrap .ce-textpic,
#top-hero-wrap .ce-gallery,
#top-hero-wrap .ce-outer,
#top-hero-wrap .ce-inner,
#top-hero-wrap .ce-row,
#top-hero-wrap .ce-column,
#top-hero-wrap .ce-media {
  height: 100%;
}

/* Typo3 overrides for correct image height in #top-hero-wrap once inside of a flexslider */
#top-hero-wrap .flexslider {
  margin-bottom: 0;
  border: none;
}

#top-hero-wrap > div {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li > div {
  height: 100%;
}

#top-hero-wrap > div .flexslider .slides img {
  width: inherit;
}

/* Typo3 overrides - fixes for IE 11 */
.ce-gallery,
.ce-column {
  max-width: 100%;
  /*width: 100% */ /* this is optional, but will allow the column to go full width in mobile view */
}

.ce-gallery img {
  max-width: 100%;
  height: auto;
}

.ce-table th,
.ce-table td {
  vertical-align: top;
  text-align: left;
}

.ce-table td:not(:last-child), .ce-table th:not(:last-child) {
  vertical-align: top;
  padding-right: 30px;
}

.ce-table tbody td:nth-child(2), .ce-table th:nth-child(2) {
  text-align: right;
}

.ce-table th {
  border-bottom: 2px solid #505945;
}

.ce-table tbody tr:first-child td {
  padding-top: 10px;
}

.ce-table tbody tr:nth-child(odd) {
  background-color: #d5d6d0;
}

/* --------------------------------------------------------------------------------------------------
 * Media Queries ------------------------------------------------------------------------------------
 * -------------------------------------------------------------------------------------------------*/
@media all and (max-width: 1920px) {
  .constrain-1920w {
    width: auto;
  }
}

@media all and (max-width: 1282px) {
  .constrain-1280w {
    width: auto;
  }

  #top-hero-wrap img {
    height: 450px;
  }
}

@media all and (max-width: 1120px) {
  .menu__book-now-button {
    display: none;
  }
}

@media all and (max-width: 1000px) {
  #mobile-nav-buttons {
    display: block;
  }
}

@media all and (max-width: 950px) {
  #header-content {
    height: 90px;
  }
}

@media all and (max-width: 850px) {
  footer .pure-u-1:first-child .pad-box,
  footer .pure-u-1:last-child .pad-box {
    padding: 0;
  }
}

@media all and (max-width: 770px) {
  .two-col-layout .pad-box,
  .two-col-layout .pure-u-1:first-child .pad-box,
  .two-col-layout .pure-u-1:last-child .pad-box {
    padding: 0;
  }

  footer .pad-box,
  footer .pure-u-1:first-child .pad-box,
  footer .pure-u-1:last-child .pad-box {
    padding: 0;
  }
}

@media all and (max-width: 700px) {
  body {
    font-size: 95%;
  }

  #header__logo {
    margin-top: 30px;
  }

  #top-hero-wrap img {
    height: 320px;
  }
}

@media all and (max-width: 500px) {
  #top-hero-wrap img {
    height: 270px;
  }

  #footer-content {
    padding-top: 20px;
  }
}

@media all and (max-width: 440px) {
  #top-hero-wrap img {
    height: 230px;
  }

  .ce-table td:not(:last-child), .ce-table th:not(:last-child) {
    padding-right: 20px;
  }
}

@media all and (max-width: 400px) {
  #top-hero-wrap img {
    height: 200px;
  }

  #site-body-wrap {
    font-size: .9em;
  }
}