/* 
    Created on : 10-Mar-2017, 15:34:30
    Author     : craig
*/
/* 
    Created on : 10-Mar-2017, 15:32:32
    Author     : craig
*/
/* MediaQueries */
/* Fonts */
/* Sizes */
/* 16px if base font = 62.5% */
/* Colors */
/* Links */
/* Misc */
/* 
    Created on : 10-Mar-2017, 15:31:54
    Author     : craig
	Default size is XXS
*/
html {
  height: 100%;
  font-size: 62.5%;
}

body {
  min-height: 100%;
  padding-top: 0;
  margin-top: 0;
  background-color: #497693;
  font-family: Raleway, Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  color: #666;
}
body img {
  max-width: 100%;
  height: auto;
}
body a:link {
  text-decoration: none;
  color: #40768d;
  font-weight: 600;
}
body a:visited {
  text-decoration: none;
  color: #40768d;
}
body a:hover {
  text-decoration: underline;
  color: #666;
}
body .main-content {
  background-color: #FFF;
  padding: 2rem 1rem;
}
@media screen and (min-width: 768px) {
  body .main-content {
    padding: 3rem;
  }
}
body .main-content p:first-of-type {
  color: #40768d;
  font-weight: 400;
}
body .main-content-top {
  padding: 2rem 1rem 1rem 1rem !important;
}
body .main-content-bottom {
  padding: 1rem 1rem 2rem 1rem !important;
}
body .main-content-bottom p:first-of-type {
  font-size: 1.8rem;
  color: #666;
}
body div.nav {
  background-color: #6D6768;
}
body div.nav.top {
  display: none;
  height: 0;
}
@media screen and (min-width: 992px) {
  body div.nav.top {
    display: block;
    height: 6rem;
  }
}
body div.nav.bottom {
  height: 6rem;
}
body div.nav ul {
  margin-top: 1rem;
  padding: 0;
  list-style: none;
  display: flex;
  width: 100%;
}
body div.nav ul li {
  flex: 1 1 auto;
  text-align: center;
}
body div.nav ul li a {
  font-size: 1.5rem;
  color: #fff;
}
body div.nav ul li a.active {
  text-decoration: underline !important;
}
@media screen and (min-width: 992px) {
  body div.nav ul li a {
    font-size: 2.2rem;
  }
}
body p span.first {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 600;
}
body .testimonial {
  background-color: #000;
  position: relative;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 400;
}
body .testimonial div p {
  margin: 0;
}
body .testimonial i.fa-quote-left {
  vertical-align: super;
  font-size: 0.8rem;
}
body .testimonial i.fa-quote-right {
  vertical-align: super;
  font-size: 0.8rem;
}
body .testimonial .attrib {
  font-weight: 400;
}
body .testimonial div.testimonial-logo img {
  max-height: 12rem;
  position: absolute;
  right: 0;
}
@media screen and (min-width: 768px) {
  body .testimonial div.testimonial-logo img {
    right: 3rem;
  }
}
body .testimonial div:nth-child(1) {
  padding: 1rem 1rem;
}
@media screen and (min-width: 768px) {
  body .testimonial div:nth-child(1) {
    padding: 2rem 3rem;
  }
}
@media screen and (min-width: 768px) {
  body .testimonial {
    font-size: 2rem;
  }
}
body div.container {
  max-width: 1024px;
}
body h1, body .h1 {
  color: #40768d;
  font-size: 3.5rem;
  margin-bottom: 3rem;
  font-weight: 400;
}
body h2, body .h2 {
  color: #40768d;
  font-size: 2.5rem;
  margin-bottom: 2rem;
  font-weight: 400;
}

/* 
    Created on : 10-Mar-2017, 15:33:56
    Author     : craig
	Default size is XXS
*/
div.header {
  background-color: #6D6768;
}
div.header button.btn-menu {
  background-color: #767676;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  color: #fff;
  margin: 2.3rem 1rem 0 0;
  float: right;
}
div.header button.btn-menu:hover {
  background-color: #6D6768;
  color: #fff;
}
div.header .logo {
  margin-top: 1rem;
  padding: 0 2rem;
}
div.header .logo a {
  text-decoration: none;
  font-size: 2rem;
  font-weight: 400;
  color: #fff;
}
div.header .logo a span.large-cap {
  font-size: 3.5rem;
}
@media screen and (min-width: 992px) {
  div.header .logo {
    margin-top: 2rem;
    padding: 2rem 0 2rem 2rem;
  }
  div.header .logo a {
    text-decoration: none;
    font-size: 3rem;
    font-weight: 400;
    color: #fff;
  }
  div.header .logo a span.large-cap {
    font-size: 4.5rem;
  }
}
div.header .contact, div.header .contact a {
  margin: 1rem 0;
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
}
div.header .contact .fa, div.header .contact a .fa {
  margin-left: 1em;
}
@media screen and (min-width: 992px) {
  div.header .contact, div.header .contact a {
    text-align: left;
    font-size: 1.8rem;
    margin-top: 11rem;
  }
}
div.header div.main-nav-mobile {
  display: none;
}
div.header ul {
  padding: 0;
  margin: 0;
  display: none;
}
div.header ul.main-nav-mobile {
  list-style: none;
}
div.header ul.main-nav-mobile ul {
  list-style: none;
  text-align: center;
}
div.header ul.main-nav-mobile li a {
  text-align: center;
  padding: 10px;
  color: #fff;
  text-transform: uppercase;
  text-decoration: none;
  display: block;
  border-bottom: 1px solid #767676;
}
div.header ul.main-nav-mobile li a:hover {
  text-decoration: underline;
}
div.header ul.main-nav-mobile li a.active {
  border-top: 1px solid #767676;
  border-bottom: 1px solid #767676;
  background-color: #6D6768;
}

/* 
    Created on : 17-May-2017, 15:34:20
    Author     : craig
	Default size is XXS
*/
.flexslider {
  position: relative;
  top: 0;
  border: none;
  padding: 0;
  margin: 0;
  min-height: 163px;
  min-width: 100%;
  overflow: hidden;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: grey;
}
.flexslider.slides li {
  position: relative;
}
.flexslider .slides li div.sliderCaption {
  position: absolute;
  top: 1rem;
  max-width: 30rem;
  padding: 0 0 1rem 1rem;
  white-space: pre-wrap;
  z-index: 1;
  color: #fff;
  text-shadow: 0px 0px 5px #000;
  font-size: 2rem;
  font-weight: 600;
  height: auto;
  max-width: 50%;
  line-height: 2rem;
}
@media screen and (min-width: 768px) {
  .flexslider .slides li div.sliderCaption {
    top: 3rem;
    max-width: 50%;
    padding: 1rem 0 1rem 3rem;
  }
}
@media screen and (min-width: 768px) {
  .flexslider {
    min-height: 348px;
  }
}
@media screen and (min-width: 819px) {
  .flexslider {
    min-height: 371px;
  }
}
@media screen and (min-width: 1023px) {
  .flexslider {
    min-height: 471px;
  }
}

.single-slider {
  border: none;
  position: relative;
  min-height: 0;
}
.single-slider div.sliderCaption {
  position: absolute;
  top: 1rem;
  max-width: 30rem;
  padding: 0 0 1rem 1rem;
  white-space: pre-wrap;
  z-index: 1;
  color: #fff;
  text-shadow: 0px 0px 5px #000;
  font-size: 2rem;
  font-weight: 600;
  height: auto;
  max-width: 50%;
  line-height: 2rem;
}
@media screen and (min-width: 768px) {
  .single-slider div.sliderCaption {
    top: 3rem;
    max-width: 50%;
    padding: 1rem 0 1rem 3rem;
  }
}

.flex-control-nav {
  bottom: 0;
}

.flex-control-paging li a {
  height: 10px;
  width: 10px;
  border: 1px solid #fff;
  border-radius: 15x;
  background-color: #fff;
  color: transparent;
}

.flex-control-paging li a.flex-active {
  background-color: #6D6768;
}

.no-top-margin {
  margin-top: -13px;
}

.button-booking-submit {
  background-color: #ff6;
  border: 1px solid #ccc;
  color: #000;
  display: block;
  margin-right: auto;
  margin-left: auto;
  border-radius: 1rem;
  border: 1px solid #ccc;
  margin-bottom: 2rem;
  display: inline-block;
  padding: 1rem 2rem;
}
.button-booking-submit a {
  color: #000;
  text-decoration: none;
}
.button-booking-submit:hover {
  background-color: #6E8899;
}
.button-booking-submit:hover a {
  color: #fff;
}

/* 
    Created on : 10-Mar-2017, 15:33:36
    Author     : craig
	Default size is XXS
*/
footer {
  padding: 1rem 0;
}
footer .copyAttrib {
  font-size: 1.2rem;
  text-align: right;
  color: #fff;
}
footer .copyAttrib a {
  color: #fff;
}

.umbraco-forms-form::after {
  content: "";
  display: table;
  clear: both;
}

div.booking-enquiry-form .umbraco-forms-page {
  width: 100%;
}
@media screen and (min-width: 768px) {
  div.booking-enquiry-form .umbraco-forms-page {
    width: 50%;
  }
}
div.booking-enquiry-form label {
  position: relative;
}
div.booking-enquiry-form label span.umbraco-forms-indicator {
  color: #f00;
  font-size: 4rem;
  top: -1.5rem;
  position: absolute;
}
div.booking-enquiry-form label span.umbraco-forms-indicator + span {
  display: block;
  margin-left: 1em;
}
div.booking-enquiry-form input[type=submit] {
  display: inline-block;
  margin: 2rem 0;
  padding: 0.5rem 1.5rem;
  line-height: 3rem;
  vertical-align: middle;
  height: auto;
  color: #555;
  border: 1px solid #ccc;
}
div.booking-enquiry-form input[type=submit].primary {
  background-color: #ff7;
  color: #000;
}
div.booking-enquiry-form input[type=submit].primary:hover {
  background-color: #6D6768;
  color: #fff;
}
div.booking-enquiry-form .umbraco-forms-error-message {
  color: #f00;
  font-size: 1.5rem;
  margin: 1rem 0;
}
div.booking-enquiry-form .umbraco-forms-container input, div.booking-enquiry-form .umbraco-forms-container select, div.booking-enquiry-form .umbraco-forms-container textarea {
  height: 3rem;
  border-radius: 0.4em;
  /*&[type="text"] {
  	height:3rem;
  }*/
}
div.booking-enquiry-form .umbraco-forms-container textarea {
  min-height: 12rem;
}
div.booking-enquiry-form .umbraco-forms-container label {
  width: 100%;
  position: relative;
}
div.booking-enquiry-form .umbraco-forms-container label.small {
  font-size: 1.5rem;
  color: #555;
}
div.booking-enquiry-form .umbraco-forms-container label span.umbraco-forms-indicator {
  position: absolute;
  color: #f00;
  font-size: 4rem;
  top: -1.5rem;
}
div.booking-enquiry-form .umbraco-forms-container span.field-validation-error {
  color: #f00;
  font-size: 1.5rem;
  margin: -1rem 0 2rem 0;
}

.umbraco-forms-hidden {
  display: none;
}

/* 
    Created on : 10-Mar-2017, 15:33:49
    Author     : craig
	Default size is XXS
*/
div.gallery-container {
  text-align: center;
  width: 100%;
}

div.gallery {
  border: 1px solid #ccc;
  padding: 0.7em;
  padding-bottom: 0.5em;
  background-color: #f4f4f4;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  justify-items: center;
  gap: 0.2rem;
}
div.gallery img,
div.gallery picture img {
  border: 1px solid #ccc;
  object-fit: cover;
}

div.map-container {
  border: 1px solid #ccc;
  padding: 1rem;
  background-color: #f4f4f4;
}

div.map {
  width: 100%;
  height: 40rem;
}

/*# sourceMappingURL=custom.css.map */
