#top #calltoaction,
#top #calltoaction span,
ul.navlist li a,
#focusboxes a span,
a.logo {
  -webkit-transition: background 0.5s ease;
  -moz-transition: background 0.5s ease;
  -o-transition: background 0.5s ease;
  transition: background 0.5s ease;
}

.gm-style-iw {
    min-height: 60px !important;
    width: 300px;
}

a {
  -webkit-transition: color 0.5s ease;
  -moz-transition: color 0.5s ease;
  -o-transition: color 0.5s ease;
  transition: color 0.5s ease;
}

#focusboxes a img,
.gallery-item img {
  -webkit-transition: opacity 0.5s ease;
  -moz-transition: opacity 0.5s ease;
  -o-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.constrain {
  margin: 0 auto;
  display: block;
  width: 1000px;
  position: relative;
}

body {
  background: #2B363C;
}


#top,
#top .constrain {
  height: 690px;
}

#top.innertop,
#top.innertop .constrain {
  height: 500px;
}

#top .nav {
  position: absolute;
  top: 20px;
  left: 0px;
  width: 100%;
  background: #6c8a97;
  z-index: 1000;
}

#top .nav .constrain {
  height: auto;
}

a.logo {
  width: 274px;
  height: 48px;
  float: left;
  background: transparent url('../images/g-overlay-bg.png') 0px 0px;
  color: #fff;
  font-size: 48px;
  font-family: 'asenine_thinregular';
  text-align: center;
  text-transform: uppercase;
  margin: 0px;
  line-height: 48px;
  display: block;  
}

.phone {
  position: absolute;
  top: 48px;
  width: 274px;
  left: 0px;
  text-align: center;
  background: #000;
  color: #fff;
  font-size: 18px;
  text-align: center;
  font-style: italic;
  -moz-border-radius: 0px 0px 6px 0px;
  -webkit-border-radius: 0px 0px 6px 0px;
  border-radius: 0px 0px 6px 0px;
  line-height: 15px;
  padding: 20px 10px;
}

.phone span {
  padding-left: 28px;
  background: transparent url('../images/i-phone.png') 0px 0px no-repeat;
}

.phone a {
  color: #fff !important;
}

a.logo:hover {
  background: #7DABBF;
}

ul.navlist,
ul.navlist li {
  padding: 0px;
  margin: 0px;
}

ul.navlist {
  height: 48px;
  width: 726px;
  float: left;
  -moz-border-radius: 0px 6px 6px 0px;
  -webkit-border-radius: 0px 6px 6px 0px;
  border-radius: 0px 6px 6px 0px;
}

ul.navlist li {
  float: left;
  font-size: 18px;
  text-transform: uppercase;
  font-family: 'open_sansregular';
  line-height: 48px;
  display: block;
  position: relative;
}

ul.navlist li a {
  color: #fff;
  display: block;
  padding: 0px 20px;
  height: 48px;
}

ul.navlist li a:hover,
ul.navlist li.current_page_item a,
ul.navlist li.current-page-parent a {
  background: #526A74;
}

/* ----------------------------------------- */
/* SUB MENU */
/* ----------------------------------------- */

ul.navlist li ul.sub-menu {
  position: absolute;
  top: 48px;
  left: -1px;
  width: 220px;
  z-index: 3000;
  visibility: hidden;
}

ul.navlist li ul.sub-menu li {
  height: auto !important;
  line-height: auto !important;
  float: none !important;
  padding-left: 0px;
}

ul.navlist li ul.sub-menu li a {
  height: auto !important;
  line-height: 16px !important;
  display: block;
  border-left: 0;
  border-bottom: 1px solid #666;
  padding: 10px;
  background: #333;
  font-size: 13px;
  text-align: center;
}

ul.navlist li ul.sub-menu li.current_page_item a {
  background: #526A74;
}

ul.navlist li:last-child a {
  padding: 0px 21px;
}

ul.navlist li ul.sub-menu li:last-child a {
  border-bottom: 0;
}

ul.navlist li ul.sub-menu li a:hover {
  background: #526A74 !important;
}

/* ----------------------------------------- */

#top .cta_frontpage_wrap {
  position: absolute;
  bottom: 60px;
  left: 0px;
  width: 100%;
}

#top.innertop .cta_frontpage_wrap {
  bottom: 30px;
}

#top #calltoaction {
  width: 420px;
  color: #fff;
  display: block;
  padding: 30px 46px;
  background: transparent url('../images/g-overlay-bg.png') 0px 0px;
  margin: 0 auto;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

#top #calltoaction span.title {
  font-size: 30px;
  font-family: 'open_sanslight';
  line-height: 34px;
  margin-bottom: 20px;
  text-align: center;
  display: block;
}

#top #calltoaction:hover span.button {
  background: #6C8A97
}

#top #calltoaction span.button {
  font-family: 'asenineregular';
  font-size: 30px;
  background: #121719;
  padding: 4px 0px;
  width: 290px;
  margin: 0 auto;
  text-align: center;
  display: block;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}


#focus {
  min-height: 440px;
  background: #000;
}

#focus .constrain {
  min-height: 440px;
}

#focus .constrain .contentbox {
  width: 940px;
  color: #fff;
  display: block;
  padding: 30px 46px;
  background: transparent url('../images/g-overlay-bg.png') 0px 0px;
  margin: 0 auto;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  position:	absolute;
  top: 20px;
  left: 0px;
}

#focus p {
	font-size: 14px;
	line-height: 26px;
	color: #fff;
	font-family: 'open_sanslight';
}

#focus p.title {
  font-size: 34px;
  color: #91bed1;
  font-family: 'asenineregular';
  margin: 5px 0px;
  text-align: center;
  letter-spacing: 1px;
}


#focusboxes {
  background: #000;
}

#focusboxes a {
  display: block;
  width: 25%;
  height: 300px;
  float: left;
  color: #fff;
  vertical-align: top;
}

#focusboxes a img {
  opacity: 1;
}

#focusboxes a img:hover {
  opacity: 0.7;
}

#focusboxes a span {
  background: transparent url('../images/g-overlay-bg.png') 0px 0px;
  position: absolute;
  bottom: 0px;
  right: 0px;
  height: 40px;
  font-family: 'asenineregular';
  font-size: 18px;
  line-height: 40px;
  padding-right: 50px;
  padding-left: 20px;
  letter-spacing: 1px;
}

#focusboxes a span b {
  font-weight: normal;
  background: #88b3c5;
  padding: 0px 10px;
  font-size: 50px;
  line-height: 30px;
  font-family: 'asenineregular';
  position: absolute;
  top: 0px;
  right: 0px;
  height: 40px;
}

#focusboxes a:hover span {
  background: #7DABBF;
}


#content {
  padding: 50px 0px;
}

#content iframe {
  width: 100%;
  height: 400px;
  margin-top: 0px;
  margin-bottom: 0px;
}

#content table {
  width: 100%;
  border-collapse: collapse;
}

#content table thead td {
  width: 33%;
  background: #88B3C5;
  padding: 8px;
  border: 1px solid #88B3C5;
}

#content table tbody td {
  width: 33%;
  border: 1px solid #88B3C5;
  padding: 8px;
  background: #345A6A;
  color: #fff;
  font-size: 13px;
  vertical-align: top;
}

#content table tr:nth-of-type(even) td {
  background-color:#4C839A;
} 

#content .column-left {
  width: 70%;
  float: left;
  padding-right: 30px;
}

#content .column-right {
  width: 30%;
  float: left;
}

.googlemap {
  margin-top: 20px;
  width: 100% !important;
}

.googlemap {
  border: 6px solid #88B3C5 !important;
}

#content .column-right .facebookbox {
  background: #fff;
  margin-top: 10px;
}

#content h1 {
  color: #88b3c5;
  font-size: 24px;
  font-family: 'asenineregular';
  letter-spacing: 1px;
}

#content p {
  font-size: 14px;
  color: #fff;
  line-height: 22px;
}

#content h2 {
  color: #88b3c5;
  font-size: 20px;
  font-family: 'asenineregular';
  letter-spacing: 1px;
}

#content h2 a {
  font-size: 20px;
  font-family: 'asenineregular';
  letter-spacing: 1px;
}

#content h3 {
  font-size: 18px;
  font-family: 'asenineregular';
  letter-spacing: 1px;
  color: #fff;
}

#content a {
  color: #A9C8D5;
  font-family: 'open_sansregular';
}

#content a:hover {
  color: #ccc;
}

#content ul, 
#content ol {
  margin: 0px;
  padding: 0px;
}

#content ul li, 
#content ol li {
  margin: 0px 0px 5px 30px;
  padding: 0px;
  font-size: 14px;
  color: #fff;
  line-height: 22px;
}

#content ul li {
  list-style: disc;	
}


#content blockquote {
  background: #88b3c5;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  margin: 0px;
  padding: 20px;
  color: #212121;
}

#content blockquote h3 {
  font-size: 16px;
  font-family: 'open_sansbold';
  margin-bottom: 0px;
}

#content blockquote p {
  font-size: 14px;
  color: #212121;
  margin-top: 4px;
  margin-bottom: 0px;
}

#content blockquote p a {
  color: #fff;
}

#content blockquote p a:hover {
  color: #2B363C;
}

#content input {
  width: 100%;
  font-size: 13px;
  border: 1px solid #ccc;
}

#content textarea {
  width: 100%;
  height: 200px;
  font-size: 13px;
  border: 1px solid #ccc;
}

#booking-form{
  border: 1px solid #000;
  background-color: #374247;
  padding: 10px 20px;
  margin: 20px 0px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

#booking-form h2 {
  border-bottom: 1px solid #66989B;
  margin-bottom: 10px;
  padding-bottom: 10px;
  margin-top: 20px;
}

#booking-form select {
  width: 95%;
}

.selectsidebyside .side {
  float: left;
  width: 50%;
}

.selectsidebyside .side input {
  width: 95% !important;
}


span.wpcf7-not-valid-tip {
  background: #f00;
  color: #fff !important;
  margin: 0px;
  padding: 2px;
  font-size: 13px !important;
}

div.wpcf7-response-output {
  margin: 10px 0px 0px 0px !important;
  font-size: 13px !important;
}

div.wpcf7-validation-errors {
  background: #f7e700 !important;
  border: 0px !important;
  color: #000 !important;
}

div.wpcf7-mail-sent-ok {
  background: #398f14 !important;
  color: #fff !important;
  border: 0px !important;
  display: none !important;
}

#content input.wpcf7-submit {
  width: auto;
}

.gallery {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.gallery-item {
  margin: 0px !important;
}

.gallery-item img {
  border: 0px !important;
  display: block;
  opacity: 1;
}

.gallery-item a:hover img {
  opacity: 0.6;
}

#gallery-1 .gallery-item {
  position: relative;
}

#gallery-1 .gallery-caption {
  position: absolute;
  top: 0px;
  left: 0px;
  color: #fff;
  background:  transparent url("../images/g-overlay-bg.png");
  padding: 6px;
  font-size: 17px;
  font-family: 'asenineregular';
  letter-spacing: 1px;
}

#footer {
  background: #000;
  color: #fff;
  padding-top: 40px;
}

#footer ul {
  margin: 0px auto;
  padding: 0px;
  width: 500px;
}

#footer ul li {
  margin: 0px;
  padding: 0px;
}

#footer ul li a {
  font-size: 14px;
  float: left;
  padding: 0px 10px;
  text-transform: uppercase;
  color: #fff;
}

#footer ul li a:hover {
  color: #666;
}


#footer p.author {
  padding-top: 24px;
  font-size: 12px;
  text-transform: uppercase;
  padding-bottom: 34px;
  text-align: center;
  margin: 0px;
}

#footer p.author a {
  color: #88b3c5;
}

#footer p.author a:hover {
  color: #2B363C;
}

/* Mobile navigation */
.nav-mobile {
	display:none; /* Hide from browsers that don't support media queries */
	cursor:pointer;
	position: absolute;
	top:0;
	right:0;
	background:#3D3D3B url(../images/nav.svg) no-repeat center center;
	background-size:18px;
	height:48px;
    z-index: 99999;
	width:48px;
}

.nav-rotate {
  background: #3D3D3B url(../images/nav-close.svg) no-repeat center center;
	background-size:18px;
}

.nav-mobile:hover {
  background-color: #838381;
}

/* Mobile navigation, clickable area for revealing <ul> */
.nav-click {
	position:absolute;
	top:0;
	right:0;
	display:none;
	border-left:1px solid #8B2870;
	height:48px;
	width:48px;
	cursor:pointer;
	z-index: 99999;
}
.nav-click i {
	display:block;
	height:48px;
	width:48px;
	background:url(../images/drop.svg) no-repeat center center;
	background-size:20px;
}
.nav-click:hover {
	background-color:#6E1656;
}

@media only screen and (max-width: 1100px) {
  /*.nav-mobile {
    display:block;
  }
  
  .nav-list {
    display:none;
  }*/
  
  .constrain {
    width: 100%;
  }
  
  #content .constrain {
    padding: 0px 20px;
  }
  
  .fb_iframe_widget,
  .fb_iframe_widget span,
  .fb_iframe_widget span iframe {
    width: 100% !important;
  }
  
  #focus .constrain .contentbox {
    width: 90%;
	position: relative;
	left: auto !important;
	top: auto !important;
  }
  
  #focus {
    min-height: 0px;
  }
  
  #focus .constrain {
    min-height: 0px;
	padding: 30px 0px;
  }
  
  #top .nav {
    position: relative;
	top: auto;
	left: auto;
	margin: 0px auto 0 auto;
	width: 100%;
  }
  
  #top .nav a.logo, #top .nav ul.navlist {
    margin-top: 0px;
  }
}

@media only screen and (max-width: 1055px) {
  #top .nav {

  }
  
  ul.navlist li a {
    padding: 0 10px;
  }
  
  ul.navlist {
    width: 636px;
  }
  
  #content .column-left {
    width: 65%;
  }
  
  #content .column-right {
    width: 35%;
  }
  
  #gallery-1 .gallery-item {
    width: 33% !important;
  }
  
  #gallery-1 .gallery-item img {
    width: 100%;
	height: auto;
  }
  
  #gallery-1 br {
    display: none;
  }
  
}

@media only screen and (max-width: 970px) {
  a.logo {
    float: none;
	width: 100%;
	margin-top: 0px !important;
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	background: #000;
  }
  
  .phone {
    position: relative;
	width: 100%;
	top: auto;
	left: auto;
  }
  
  #top .nav {
    width: 100%;
	background: #6C8A97;
  }
  
  ul.navlist {
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	display: block;
	margin: 0 auto 0 auto !important;
	float: none;
  }
}

@media only screen and (max-width: 924px) {
  #focusboxes a {
    width: 50%;
	height: 250px;
  }
  
  #content .column-left {
    width: 60%;
  }
  
  #content .column-right {
    width: 40%;
  }
}

@media only screen and (max-width: 800px) {
  #content .column-left,
  #content .column-right {
    width: 100%;
	padding: 0px;
	float: none;
  }
}

@media only screen and (max-width: 675px) {
  .nav-mobile {
    display:block;
  }
  
  ul.navlist {
    display:none;
  }
  
  ul.navlist li ul.sub-menu,
  ul.navlist li ul.sub-menu li {
    position: relative;
	top: auto !important;
	left: auto !important;
	width: 100%;
	visibility: visible !important;
	margin: 0px !important;
  }
  
  ul.navlist li ul.sub-menu li a {
    text-align: left;
  }
  
  ul.navlist li a,
  ul.navlist li,
  ul.navlist {
    height: auto;
	float: none !important;
	width: 100%;
  }
  
  ul.navlist li:last-child a {
    padding: 0px 12px;
  }
  
  #top, #top .constrain,
  #top.innertop, #top.innertop .constrain {
    min-height: 0;
	height: auto;
  }
  
  #top .cta_frontpage_wrap {
	position: relative;
	left: auto;
	bottom: auto;
    padding: 200px 0px 50px 0px !important;
  }  
}

@media only screen and (max-width: 640px) {
  
}


@media only screen and (max-width: 570px) {
  
}

@media only screen and (max-width: 420px) {
  a.logo {
    text-align: left;
	padding-left: 10px;
	font-size: 40px;
  }
}


@media only screen and (min-device-width : 320px) and (max-width : 568px), (min-device-width : 320px) and (max-width : 480px)  { 

#booking-form select {
  width: 100%;
}

.selectsidebyside .side {
  float: left;
  width: 100%;
}

.selectsidebyside .side input {
  width: 100% !important;
}


  #footer ul li a {
    float: none;
	padding: 0px;
	margin: 5px 0px;
  }
  
  #gallery-1 .gallery-item {
    width: 50% !important;
  }
  
  .gallery {
    padding-bottom: 20px;
	clear: both;
  }
 
  
  #top #calltoaction span.title {
    font-size: 26px;
  }
  
  #top #calltoaction span.button {
    font-size: 26px;
  }
  
  #focus p.title {
    font-size: 30px;
  }
  
  #focus p {
    font-size: 12px;
	line-height: 22px;
  }
  
  #focusboxes a span b {
    display: none;
  }
  
  #focusboxes a span {
    width: 100%;
	height: auto;
	line-height: 18px;
	padding: 10px;  
  }
  
  #focusboxes a {
   width: 100%;
   height: 200px;
  }
  
  #content h1 {
    font-size: 22px;
  }
  
  #content blockquote h3 {
    font-size: 14px;
  }
  
  #content p,
  #content blockquote p {
    font-size: 12px;
	line-height: 18px;
  }
  
  #content h2 {
    font-size: 20px;
  }
  
  #top #calltoaction {
    width: 90%;
  }
  
  #top #calltoaction span.button {
    width: 100%;
  }
  
  #footer ul {
    width: 100%;
  }
  
  #footer {
    padding: 10px 20px;
  }
  
  .googlemap {
    height: 350px !important;
  }
}


.ui-datepicker{
  font-size:13px !important;
}





/* ------------------------------------------------------------ *\
|* ------------------------------------------------------------ *|
|*Gravity Forms Default CSS  // Quick Quote Form
|* ------------------------------------------------------------ *|
\* ------------------------------------------------------------ */
.quick-quote
{
    z-index: 10;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 30px 0;
    background-color: #3E6A7D;



}

.quick-quote .constrain{

    position: relative;
    padding: 0 10px;
}


.quick-quote label{
   position: absolute;
   display: block;
   top: -60px;
   left: 15px;

   background-color: #000;
   color: #fff;
   padding: 5px 15px;
    font-family: "asenineregular";
    font-weight: 700;
    font-size: 34px;
    letter-spacing: 1px;
}



#gform_wrapper_1
{
    position: relative;

    float: left;

    width: 100%;
    margin: 0 auto;
    padding: 0 0rem;
}
#gform_wrapper_1 .gform_body ul
{
    float: left;

    width: 100%;
    margin: 0;
    padding: 0;
}
#gform_wrapper_1 .gform_body ul li
{
    line-height: 1;

    float: left;

    width: 25%;
    height: 40px;
    padding: 0px 1px;

    list-style: none;
    margin: 0 0 2px 0;
}

#gform_wrapper_1 .gform_body ul li label
{

    font-size: 1.5rem;

    font-weight: 700;

    display: block;
    display: none;

    width: 100%;
    margin-bottom: 5px;

    text-align: left;

    color: #0e3a67;
}
#gform_wrapper_1 .gform_body ul li input,
#gform_wrapper_1 .gform_body ul li select,
#gform_wrapper_1 .gform_body ul li textarea
{
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;

    width: 100%;
    height: 38px;
    padding: 0 0 0 50px !important;

    color: #000;
    border: 1px solid #fff;

    background-color: #fff;

    background-image: url(../images/location.png);
    background-repeat: no-repeat;

}
#gform_wrapper_1 .gform_body ul li select option
{
    padding-left: 5px;
}
#gform_wrapper_1 .gform_body ul li textarea
{
    height: 70px;
}
#gform_wrapper_1 .gform_body ul .f-location input
{
    background-image: url(../images/location.svg);

}
#gform_wrapper_1 .gform_body ul .f-date input
{
    background-image: url(../images/date1.svg);
}
#gform_wrapper_1 .gform_body ul .f-seats input
{

    background-image: url(../images/pax.svg);
}
#gform_wrapper_1 .gform_body ul .f-name input
{
    background-image: url(../images/name.svg);
}
#gform_wrapper_1 .gform_body ul .f-email input
{
    background-image: url(../images/email.svg);
}
#gform_wrapper_1 .gform_footer
{
    position: absolute;
    right: 0;
    bottom: 4px;

    float: right;

    width: 25%;
    padding: 0 0 0 1px;
    border: 0px solid red;

}


@media (max-width: 767px)
{
    #gform_wrapper_1 .gform_footer
    {
        position: relative;
        width: 100%;
        width: 98%;
        margin: 2% 1%;
    }
    #gform_wrapper_1 .gform_body ul li
{

    width: 100%;

}


   .quick-quote label{
   position: relative;
   display: block;
   top: 0px;
   left: 0px;
   text-align: center;
   margin-bottom: 5px;

   background-color: #3E6A7D;
   color: #fff;
   padding: 5px 15px;

}


}



#gform_wrapper_1 .gform_footer .gform_button
{

    font-size: 15px;
    font-weight: 700;
    line-height: 30px;


    display: inline-block;
    float: left;

    width: 100%;
    height: 38px;
    margin: 0 0 0 1px;

    text-align: center;

    color: #fff;
    border: 2px solid #88B3C5;
    background-color: #88B3C5;

}
#gform_wrapper_1 .gform_footer .gform_button:hover
{
    background-color: #000;
}


.validation_error,
.validation_message
{
    font-size: 15px;

    padding: 5px;

    border: 1px solid #ffc2c1;
    background-color: #fde0e0;
}
.validation_error
{
    padding: 10px;
}
.gform_wrapper ul li.gfield_error input[type='text']
{
    margin-bottom: 1px;

    border: 1px solid #ffc2c1 !important;
}
::-webkit-input-placeholder
{
    color: #000;
}
:-moz-placeholder
{
    /* Firefox 18- */
    color: #000;
}
::-moz-placeholder
{
    /* Firefox 19+ */
    color: #000;
}
:-ms-input-placeholder
{
    color: #000;
}