#subfocus a {
  -webkit-transition: background 0.5s ease;
  -moz-transition: background 0.5s ease;
  -o-transition: background 0.5s ease;
  transition: background 0.5s ease;
}

#focus-text .gallery span {
  -webkit-transition: opacity 0.5s ease;
  -moz-transition: opacity 0.5s ease;
  -o-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

a {
  -webkit-transition: color 0.5s ease;
  -moz-transition: color 0.5s ease;
  -o-transition: color 0.5s ease;
  transition: color 0.5s ease;
}

.constrain {
  margin: 0 auto;
  display: block;
  width: 1120px;
  position: relative;
}

body {
  background: #222 url('../images/g-site-bg.jpg') top left;
  background-attachment: fixed;
}

#topsection {
  margin-top: 60px;
}

#header {
  background: #fff;
  padding: 40px 0px;
}

#header img.logo {
  display: block;
  margin: 0 auto;
}

#menu {
  height: 60px;
  background: #79b8c3;
  position: relative;
  padding: 24px 0px;
  font-size: 14px;
}

#menu ul {
  margin: 0px auto;
  padding: 0px;
  width: 580px;
}

#menu ul li {
  margin: 0px;
  padding: 0px;
}

#menu ul li a {
  float: left;
  color: #fff;
  padding: 0px 24px;
  text-transform: uppercase;
  border-right: 1px solid #fff;
}

#menu ul li:last-child a {
  border-right: 0px;
  padding-right: 0px;
}

#menu ul li a:hover {
  color: #C5E0E5;
}

#menu img.fb {
  position: absolute;
  top: 15px;
  right: 15px;
}

.items, .items li {
  margin: 0px !important;
  padding: 0px !important;
  list-style: none !important;
}

#menu img.menu-left {
  position: absolute;
  top: 0px;
  left: -12px;
  display: block;
}

#menu img.menu-right {
  position: absolute;
  top: 0px;
  right: -12px;
  display: block;
}

#scroller ul, #scroller ul li {
  padding: 0px;
  margin: 0px;
}

#scroller img {
  display: block;
  height: auto;
  width: 100%;
}

#focus-text {
  background: #242424;
  position: relative;
  min-height: 230px;
  padding: 34px;
  color: #fff;
}

#focus-text.contentpage {
  min-height: 100px;
}

#focus-text.contentpage h1 {
  position: relative;
  bottom: auto;
  left: auto;
  width: auto;
  text-align: left;
}

#focus-text.contentpage h2 {
  font-size: 24px;
  margin: 30px 0px 5px 0px;
  color: #79B8C3;
}

#focus-text .gallery {
  margin-top: 20px;	
}

#focus-text .gallery a {
  position: relative;
  width: 25%;
  display: block;
  float: left;
  height: auto;
}

#focus-text .gallery span {
  width: 100%;
  height: 100%;
  background: transparent url(../images/g-img-overlay.png) top left;  
  position: absolute;
  top: 0px;
  left: 0px;
  opacity: 0;
  font-size: 80px;
  line-height: 80px;
  padding-top: 30%;
}

#focus-text .gallery span b {
  padding: 10px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  border-radius: 100px;
  background: #fff;
  color: #222;
  display: block;
  width: 100px;
  height: 100px;
  text-align: center;
  margin: 0 auto;
}

#focus-text .gallery a:hover span {
  opacity: 1;
}

#focus-text .gallery img {
  width: 100%;
  height: auto;
  display: block;
}

#focus-text.contentpage #focus-text-content {
  width: auto;
  margin-left: auto;
}

#focus-text img.flower {
  position: absolute;
  bottom: 100px;
  left: -40px;
}

#focus-text.contentpage img.flower {
  display: none;
}

#focus-text h1 {
  font-size: 30px;
  font-weight: normal;
  width: 212px;
  bottom: 45px;
  left: 120px;
  position: absolute;
  text-align: right;
}

#focus-text a {
  color: #79B8C3;
}

#focus-text a:hover {
  color: #ccc;
}

#focus-text ol, #focus-text ul {
  padding: 0px;
  margin: 0px;
}

#focus-text ul li {
  list-style: disc;
}

#focus-text ol li, #focus-text ul li {
  padding: 0px;
  margin: 0px;
  margin-left: 30px;
}


#focus-text div#focus-text-content {
  font-size: 14px;
  line-height: 22px;
  width: 610px;
  margin-left: 350px;
}

#focus-text div#focus-text-content p {
  
}


.menu {
  
}

.menu h2{
  border-bottom: 2px dashed #333;
  padding-bottom: 8px;
  font-weight: normal;
}

.menu .item-wrap p.title {
  width: 70%;
  float: left;
  font-weight: normal;
  margin-bottom: 0px;
  color:#79B8C3; 
}

.menu .item-wrap p.price {
  width: 30%;
  float: left;
  margin-bottom: 0px;
  text-align: center;
}

.menu .item-wrap p.description {
  font-size: 12px;
  margin-top: 0px;
  width: 70%;
}

.menu blockquote {
  font-style: italic;
  font-size: 12px;
  margin: 10px;
  padding: 0px 4px;
}

#subfocus {
  padding: 40px 20px;
}

#subfocus a {
  width: 320px;
  display: block;
  padding: 10px;
  background: #fff;
  float: left;
  margin: 0px 20px;
}

#subfocus a img {
  display: block;
  width: 100%;
  height: auto;
}

#subfocus a span {
  display: block;
}

#subfocus a span.title {
  color: #67a5b0;
  font-size: 24px;
  padding: 10px 0px 0px 0px;
}

#subfocus a span.text {
  color: #242424;
  font-size: 13px;
  line-height: 16px;
  padding: 5px 0px;
}

#subfocus a span.text b {
  color: #6b9ea4;
}

#subfocus a:hover {
  background: #69B8C3;
  color: #fff;
}

#subfocus a:hover span.title {
  color: #fff;
}

#subfocus a:hover span.text {
  color: #fff;
}

#subfocus a:hover b {
  color: #fff !important;
}

#reservations {
  background: transparent url(../images/g-res-bg.jpg) top center;
  padding: 40px 0px;
}

#reservations .reservationbox {

}

#reservations .rescontent {
  width: 800px;
  float: left;
  height: 320px;
  background: transparent url(../images/g-res-trans.png) top left;
  text-align: center;
  padding: 80px 0px 35px 0px;
}

#reservations .reservationbox p.title {
  font-size: 48px;
  margin: 4px 0px;
  color: #fff;
}

#reservations .reservationbox p.sub {
  font-size: 26px;
  color: #79b8c3;
  margin: 8px 0px;
}

#reservations .reservationbox p.or {
  font-size: 18px;
  margin: 10px 0px;
  color: #fff;
}

#reservations .reservationbox a.cta {
  width: 260px;
  background: #79b8c3;
  color: #222;
  display: block;
  margin: 0 auto;
  padding: 10px 0px;
  font-size: 18px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

#reservations .reservationbox a.cta:hover {
  background: #fff;
}

#reservations div.map {
  width: 320px;
  height: 320px;
  float: left;
}

#reservations div.map iframe {
  width: 320px !important;
  height: 320px !important;
}

#fullmap iframe {
  width: 100%;
  height: 400px;
}


#reservations div.map img {
  
}

#footer {
  background: #79b8c3;
  color: #262626;
  padding: 20px 0px;
}

#footer ul {
  font-size: 14px;
  margin: 0px auto;
  padding: 0px;
  width: 440px;
}

#footer ul li {
  float: left;
  margin: 0px;
  padding: 0px 10px;

}

#footer ul li a {
  color: #fff;
}

#footer ul li a:hover {
  color: #222;
}

#footer p.foot-text {
  font-size: 11px;
  text-align: center;
}

#footer p.foot-text a {
  color: #fff;
}

#footer p.foot-text a:hover {
  color: #222;
}

div.fiftyfifty {
  width: 50%;
  padding: 0px 10px;
  float: left;
}


@media only screen and (max-width: 1245px) {
  .constrain {
    width: 90%;
  }
  
  #subfocus a {
    width: 31%;
	margin: 0px 10px;
  }
  
  #focus-text img.flower {
    display: none;
  }
  
  #focus-text h1 {
    position: relative;
	bottom: auto;
	left: auto;
	width: auto;
	text-align: left;
  }
  
  #focus-text div#focus-text-content {
    width: auto;
	margin-left: auto;
  }
  
  #reservations .rescontent {
    width: 100%;
	float: none;
  }
  
  #reservations div.map {
	float: none;
	height: auto;
	width: 100%;
	
  }
  
  #reservations div.map iframe {
    width: 100% !important;
  }
  
  
}

@media only screen and (max-width: 1030px) {
  #subfocus a {
    width: 32%;
	margin: 0px 5px;
  }
  
  #subfocus {
    padding: 40px 10px;
  }
  
  #focus-text .gallery a {
    width: 33%;
}

#focus-text .gallery span {
  width: 100%;
  height: 100%;
  background: transparent url(../images/g-img-overlay.png) top left;  
  position: absolute;
  top: 0px;
  left: 0px;
  opacity: 0;
  font-size: 80px;
  line-height: 80px;
  padding-top: 30%;
}

#focus-text .gallery span b {
  padding: 10px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  border-radius: 100px;
  background: #fff;
  color: #222;
  display: block;
  width: 100px;
  height: 100px;
  text-align: center;
  margin: 0 auto;
}

div.fiftyfifty {
  width: 100%;
  float: none;
  margin-bottom: 20px;
}

  
}

@media only screen and (max-width: 870px) {
  #subfocus {
    padding: 40px 0px;
  }

  #subfocus a {
    width: 31%;
	margin: 0px 5px;
  }
}

@media only screen and (max-width: 790px) {
  #subfocus a {
    width: 48%;
	margin: 10px 5px;
  }
  
  #focus-text .gallery a {
    width: 50%;
}
  
}

@media only screen and (max-width: 750px) {
  #reservations .reservationbox p.title {
    font-size: 40px;
  }
  
  #reservations .reservationbox p.sub {
    font-size: 22px;
  }
  
  #reservations .reservationbox a.cta {
    width: 220px;
  }
  
  #reservations .rescontent {
    height: 300px;
  }
}

@media only screen and (max-width: 720px) {
  #header img.logo {
    height: auto;
	width: 65%;
  }
  
  #menu img.menu-left, #menu img.menu-right {
    display: none;
  }
  
  #menu {
    height: auto;
	min-height: 60px;
	padding-top: 0px;
	padding-top: 40px;
  }
  
  #menu ul {
    width: 100%;
  }
  
  #menu ul li a {
    float: none;
	border-right: 0px;
	border-left: 0px;
	border-top: 1px solid #A1CDD5;
	border-bottom: 0px;
	display: block;
	padding: 5px 15px;
  }
  
  #menu ul li:last-child a {
    border-bottom: 1px solid #A1CDD5;
  }
  
  #menu ul li a:hover {
    background: #A1CDD5;
  }
  
  #topsection {
    margin-top: 35px;	  
  }
  
}

@media only screen and (max-width: 680px) {
  #focus-text h1 {
    font-size: 20px !important;
  }
  
  #footer p.foot-text {
    width: 90%;
  }
}

@media only screen and (min-device-width : 320px) and (max-width : 568px), (min-device-width : 320px) and (max-width : 480px)  { 
  #subfocus a {
    width: 100%;
	margin: 10px 0px;
  }
  
  #header img.logo {
    height: auto;
	width: 90%;
  }
  
  #footer ul {
    width: 100%;
  }
  
  #footer ul li {
    width: 50%;
	padding: 10px;
	text-align: center;
  }
  
  #footer ul li span {
    display: none;
  }
  
  #reservations .reservationbox p.title {
    font-size: 30px;
  }
  
  #reservations .reservationbox p.sub {
    font-size: 18px;
  }
  
  #reservations .reservationbox a.cta {
    width: 200px;
  }
  
  #reservations .rescontent {
    height: 280px;
  }
  
}

.custom-bubble-links-section,
.google-map-placeholder .bubble-content h4 {
  display: none;
}

.gm-style .gm-style-iw {
  width: 250px !important;
  max-width: 250px !important;
  max-height: 80px !important;
  height: 80px !important;
}

.google-map-placeholder .bubble-content {
  width: 250px;
  max-width: 250px;
}

.google-map-placeholder .bubble-content {
  max-height: 70px !important;
  height: 70px !important;
  overflow: hidden;
  font-size: 11px !important;
}