/* general styles */
body{
  font-size: 14px;
}
div.centerContent{
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}

div.bar{
  padding: 20px;
  font-size: 0.9em;
}


/*      HEADER      */
header{
  padding-top: 20px;
  padding-bottom: 20px;
}
header a.logoHolder{
  display: block;
  width: 200px;
  top: 18px;
  left: 18px;
  z-index: 20;
}
header div.centerContent{
  position: relative;
}
header nav ul{
  text-align: left;
}
header nav ul li{
  display: none;
  font-size: 1em;
  letter-spacing: 2px;
  margin-left: 0px;
  padding-top: 10px;
  padding-bottom: 10px;
}
header nav ul li.active>a{
  border-bottom: none;
}
header nav ul li:hover>a{
  border-bottom: none;
}
header nav ul li a{        
  padding-bottom: 0px;
  border-bottom: none;
}
header nav ul li ul{
  display: block;
  position: relative;
  left: auto;
  top: auto;
  padding: 0px;
  padding-left: 20px;
  padding-top: 10px;
}
header nav ul li ul li a{
  border-bottom: none;
  padding-bottom: 0px;
  padding-top: 0px;
}

header nav ul li ul li.active a{
  border-bottom: none;
}
header nav ul li ul li:hover a{
  border-bottom: none;
}
nav>ul>li:nth-child(2){
  padding-top: 20px;
}
nav ul li.menuButton{
  width: auto;
  display: block;
  text-align: right;
  font-size: 2em;
  padding-bottom: 10px;
}
nav ul li.cta{
  position: relative;
  right: auto;
  top: auto;
}

/*      CONTENT      */
div.headerImage.small{
  padding-top: 20%;
}
div.headerImage div.headerSubImage{
  right: 0px;
}

div.headerImage div.headerText{
  text-shadow: 2px 2px 5px rgba(0,0,0,0.75);
  font-size: 1.6em;
  letter-spacing: 3px;
}
div.headerImage a.headerButton{
  left: 10px;
  bottom: -15px;
  font-size: 0.3em;
  line-height: 1.5em;
  width: 100px;
  height: 100px;
  border-radius: 50px;
}
div.headerImage a.headerButton.alt{
  display: none;
}
@media screen and (max-width: 380px) {
  div.headerImage a.headerButton{
    display: none;
  }
}

article h1,
article h2{
  margin-bottom: 15px;
}
article h2{
  margin-bottom: 10px;
} 
div.centerContent.mobileFlex{
  display: flex;
  flex-flow: column;
  margin-bottom: 20px;
}
div.sideContent{
  width: 100%;
  min-height: 0px;
  margin-right: 0%;
  float: none;
  margin-top: 20px;
  margin-bottom: 0px;
  order: 2;
}
div.sideContent div.sideBanner{
  padding: 20px;
}
div.sideContent a{
  margin-top: 10px;
}
div.mainContent{
  width: 100%;
  float: none;
  order: 1;
  margin-top: 30px;
  margin-bottom: 0px;
}


/*      HOME    */
article.home div.textHolder,
article.news div.textHolder,
article.overview div.textHolder,
article.prices div.textHolder{
  margin-top: 30px;
  margin-bottom: 20px;
}
article.news div.textHolder{
  margin-bottom: 0px
}

div.textCol{
  width: 100%;
  float: none;
  margin-right: 0%;
  margin-bottom: 10px;
}
div.crosslinks{
  display: block;
}
div.crosslinks a{
  width: 100%;
  margin-right: 0%;
  padding: 20px;
  margin-bottom: 20px;
}
div.crosslinks a span.imageHolder,
div.sideContent div.imageHolder,
div.overviewItem div.imageHolder{
  width: 100%;
  padding-top: 25%;
  margin-bottom: 10px;
}
div.sideContent div.imageHolder,
div.overviewItem div.imageHolder{
  width: 100%;
  padding-top: 25%;
}

div.crosslinks a span.title{
  margin-bottom: 10px;
}
div.crosslinks a span.text{
  min-height: 0px;
  padding-bottom: 10px;
}

article.home div.newsBlock h2{
  padding: 40px;
}
article.home div.newsHolder{
  margin-top: -20px;
}

div.bannerHolder{
  padding-top: 20px;
  padding-bottom: 20px;
}

div.bannerHolder a{
  width: 100%;
  float: none;
  margin-right: 0%;
  margin-bottom: 20px;
  padding: 20px;
}
div.bannerHolder a:last-of-type{
  margin-bottom: 0px;
}

article.contact div.bannerHolder a{
  padding-top: 20px;
  padding-bottom: 20px;
  width: 100%;
  margin-right: 0%;
}

article.prices div.bannerHolder a{
  padding-bottom: 20px;
}
article.prices div.bannerHolder a span:not(.ctaButton){
  padding-left: 20px;
  padding-right: 20px;
}

article.prices div.bannerHolder a span.title{
  padding-top: 20px;
}

div.bannerHolder a span.heading{
  margin-top: 10px;
  margin-bottom: 10px;
  min-height: 0px;
}
article.contact div.bannerHolder a span.heading,
article.prices div.bannerHolder a span.heading{
  margin-top: 10px;
  margin-bottom: 10px;
  min-height: 0px;
}
div.bannerHolder a span.text,
article.prices div.bannerHolder a span.text{
  min-height: 0px;
}
div.bannerHolder a span.ctaButton{
  margin-top: 15px;
  display: block;
  text-align: center;
}
article.prices div.bannerHolder a span.ctaButton{
  margin-left: 15px;
}

div.bannerHolder div.bannerImage{
  display: none;
}


/*      OVERVIEW    */
article.overview div.textHolder{
  margin-bottom: 0px;
}
div.overviewHolder{
  display: block;
}
div.overviewHolder div.overviewItem,
div.overviewHolder div.overviewImage{
  width: 100%;
  margin-bottom: 20px;
  margin-right: 0%;
  padding: 20px;
}
div.overviewHolder div.overviewImage{
  display: none;
}
div.overviewHolder div.overviewItem:nth-last-child(1),
div.overviewHolder div.overviewItem:nth-last-child(2){
  margin-bottom: 20px;
}
div.overviewHolder div.overviewItem a{
  position: relative;
  bottom: auto;
  left: auto;
  display: block;
  margin-top: 10px;
  text-align: center;
}

article.overview div.overviewItem h2{
  color: #008c54;
  letter-spacing: 1px;
  margin-bottom: 20px;
}

/*      TEAM    */
article.team h1{
  margin-top: 20px;
}
article.team div.bar{
  padding: 20px;
}
article.team div.bar div.centerContent{
  padding-left: 0px;
  padding-right: 0px;
}
article.team div.textHolder img{
  margin-bottom: 10px;
}

div.owner{
  margin-top: 20px;
  width: 100%;
  padding: 20px;
  margin-bottom: 20px;
}
article.team div.imageHolder{
  width: 120px;
  height: 120px;
  border-radius: 60px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
article.team div.imageHolder img{
  position: absolute;
  left: 0px;
  top: 2px;
  width: 125px;
  height: 125px;
}
article.team div.owner h2{
  margin-top: 20px;
  margin-bottom: 10px;
}

div.ownerImage{
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  position: relative;
  display: none;
}
div.teamHolder{
  margin-bottom: 20px;
}
div.teamHolder div.teamItem{
  width: 100%;
  margin-right: 0%;
  margin-bottom: 20px;
  float: none;
  padding: 20px;
  text-align: center;
}
div.teamHolder div.teamItem div.imageHolder{
  margin-bottom: 20px;
}



/*      NEWS    */
div.newsHolder{
  margin-bottom: 0px;
}

div.newsHolder a{
  float: none;
  width: 100%;
  margin-right: 0%;
  margin-bottom: 20px;
}
div.newsHolder a span.title{
  margin-top: 15px;
  margin-bottom: 0px;
  line-height: 1.5em;
  min-height: 0px;
}
div.newsHolder a span.text{
  min-height: 0px;
  padding-bottom: 10px;
}
div.newsHolder a span.ctaButton{
  width: 100%;
  text-align: center;
}


/*      PRICES      */
article.prices div.mainContent{
  margin-top: 0px;
  margin-bottom: 0px;
}
article.prices div.sideContent{
  margin-left: 0%;
  margin-top: 20px;
  margin-bottom: 20px;
  background: none;
}

article.prices p{
  font-size: 0.8em;
}
article.prices h1{
}
div.extraText{
  margin-top: 20px;
}
div.priceGroup{
  margin-bottom: 20px;
  padding-bottom: 20px;
}
div.priceCol p{
  margin-bottom: 0px;
}
div.priceCol p:last-of-type{
  margin-bottom: 0px;
}
div.priceCol{
  width: 100%;
  float: none;
  margin-top: 20px;
}
p.price.cols3 span:not(.clear){
  width: 25%;
}
p.price.cols3 span:first-child{
  width: 50%;
}

/*      CONTACT    */
article.contact{
  margin-top: 30px;
  margin-bottom: 0px;
}
article.contact div.sideContent h2{
  margin-bottom: 15px;
  margin-top: 25px;
}
article.contact .ctaButton{
  width: 100%;
  box-sizing:border-box;
}

@media screen and (max-width: 335px) {
  article.contact div.sideContent p.time span{
    padding-left: 4px;
    width: 37.5%:
  }
  article.contact div.sideContent p.time span:first-child{
    width: 25%;
  }
}
article.contact div.mainContent{
  margin-top: 0px;
  margin-bottom: 40px;
}
article.contact div.mainContent.borderTop{
  border-top: solid 1px #ebf5f5;
  margin-bottom: 0px;
}
div.formCol{
  width: 100%;
  float: none;
}
div.formCol.last{
  margin-left: 0%;
}
input.submitButton{
  margin-top: 0px;
  width: 100%;
}
article.contact div.sideContent.reserve{
  margin-top: 20px;
  margin-left: -8px;
  margin-right: -8px;
}

/*      FOOTER      */
div.footerInfo{
  padding-top: 20px;
  padding-bottom: 20px;
}
div.footerCol{
  width: 100%;
  margin-right: 0%;
  float: none;
  margin-bottom: 20px;
}
div.footerCol:nth-child(1){
  width: 100%;
  margin-right: 0px;
  margin-bottom: 20px;
}
div.footerCol:nth-child(4){
  margin: 0px;
}
div.copyright{
  line-height: 1.3em;
  padding-top: 20px;
  padding-bottom: 20px;
}
div.copyright br{
  display: inline;
}
div.copyright span{
  display: none;
}