/* CSS Document

/**********************************************
 MINI RESET
***********************************************/

* {
  margin: 0;
  padding: 0;
  border:none;
  text-decoration:none;
  font-weight:normal;
}

:focus {
  outline: 0;
}

ul {
  margin-left:40px;
  margin-bottom:20px;
}

li {
  margin-top:3px;
}

strong {
  font-weight:bold;
}

body {
  background: #fff url(../images/bg.jpg) no-repeat;
  font-family:Arial, Helvetica, sans-serif;
  font-size:12px;
  color:#1f1f1f;
}

body, .footerWrap .pageOverlap {
  background-color:#fdfdfd;
}

::selection {
  background: #a3e3f3; /* Safari */
}

::-moz-selection {
  background: #a3e3f3; /* Firefox */
}

/**********************************************
LAYOUT STRUCTURE
***********************************************/
h1 {
  font-size:30px;
}

h2 {
  font-size:25px;
}

h3 {
  font-size:20px;
}

h4 {
  font-size:15px;
}

h1, h2, h3, h4 {
  font-family: 'Vollkorn', serif;
  color:#423d44;
  margin-bottom:12px;
}

.primaryHeading {
  padding:18px 18px 18px 18px;
  margin:0px 0px 30px 0px;
  border-top:1px solid #dddddd;
  border-bottom:1px solid #dddddd;
  box-shadow: inset 0 -15px 10px -15px #ccc6c6;
  -moz-box-shadow: inset 0 -15px 10px -15px #ccc6c6;
  -webkit-box-shadow: inset 0 -15px 10px -15px #ccc6c6;
  background: #fdfdfd; /* Old browsers */
  background: -moz-linear-gradient(left,  #fdfdfd 0%, #f6f3f3 49%, #fdfdfd 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, right top, color-stop(0%,#fdfdfd), color-stop(49%,#f6f3f3), color-stop(100%,#fdfdfd)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(left,  #fdfdfd 0%,#f6f3f3 49%,#fdfdfd 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(left,  #fdfdfd 0%,#f6f3f3 49%,#fdfdfd 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(left,  #fdfdfd 0%,#f6f3f3 49%,#fdfdfd 100%); /* IE10+ */
  background: linear-gradient(to right,  #fdfdfd 0%,#f6f3f3 49%,#fdfdfd 100%); /* W3C */
}

p {
  margin-bottom:15px;
  line-height:19px;
}

a {
  color: #5a9dba;
}

a:hover {
  color: #000;
}

.mainWrap {
  width:970px;
  margin:35px auto 20px auto;
}

.footerWrap {
  width:990px;
  margin:0px auto 0px auto;
  padding:0px 0px 40px 0px;
}

.footerWrap .footerInfo {
  padding:30px 20px 20px 20px
}

.footerWrap .pageOverlap {
  height:20px;
  display:block;
  -webkit-box-shadow: 0px 10px 13px rgba(50, 50, 50, 0.41);
  -moz-box-shadow:    0px 10px 13px rgba(50, 50, 50, 0.41);
  box-shadow:         0px 10px 13px rgba(50, 50, 50, 0.41);
  -webkit-border-bottom-right-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.footerContact {
  float:left;
  width:590px;
}

.footerSocial {
  float:right;
  overflow:auto;
  font-size:25px;
}

.footerSocial a {
  display:inline-block;
  margin-right:5px;
}

/* Generic */
.clearFloat {
  clear:both;
}

.floatLeft {
  float:left!important;
}

.floatRight {
  float:right!important;
}

.clearMargin {
  margin:0px!important;
}

.clearPadding {
  padding:0px!important;
}

.centerText {
  text-align:center;
}

/* Global page elements */
.copyright {
  text-align:center;
  padding:10px;
  background-color:#0e1b42;
  color:#8a848c;
}

.copyright a {
  color:#8a848c!important;
  text-decoration:underline;
}

.button {
  padding:8px;
  margin-left:10px;
  color:#fff;
  display:inline-block;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  cursor: pointer;
  vertical-align: middle;
  font-size:14px;
  font-weight:bold;
  text-align:center;
  min-width:83px;
}

.button:hover {
  color:#fff;
}

.primaryColour {
  background: #5a9dba; /* Old browsers */
  background: -moz-linear-gradient(top,  #5a9dba 0%, #88bfd6 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5a9dba), color-stop(100%,#88bfd6));
  background: -webkit-linear-gradient(top,  #5a9dba 0%,#88bfd6 100%);
  background: -o-linear-gradient(top,  #5a9dba 0%,#88bfd6 100%);
  background: -ms-linear-gradient(top,  #5a9dba 0%,#88bfd6 100%);
  background: linear-gradient(to bottom,  #5a9dba 0%,#88bfd6 100%);
  text-shadow: 1px 1px 0px #4685a3;
  border:1px solid #5a9dba;
  moz-box-shadow: inset 0px 1px 1px rgba(255,255,255,0.5);
  -webkit-box-shadow: inset 0px 1px 1px rgba(255,255,255,0.5);
}

.primaryColour:hover {
  background: #88bfd6;
}

.secondaryColour {
  background: #5ec4b7; /* Old browsers */
  background: -moz-linear-gradient(top,  #5ec4b7 0%, #5ec4b7 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#99ba5a), color-stop(100%,#aaca73));
  background: -webkit-linear-gradient(top,  #5ec4b7 0%,#5ec4b7 100%);
  background: -o-linear-gradient(top,  #5ec4b7 0%,#5ec4b7 100%);
  background: -ms-linear-gradient(top,  #5ec4b7 0%,#5ec4b7 100%);
  background: linear-gradient(to bottom,  #5ec4b7 0%,#5ec4b7 100%);
  text-shadow: 1px 1px 0px #49958d;
  border:1px solid #449b81;
  moz-box-shadow: inset 0px 1px 1px rgba(255,255,255,0.5);
  -webkit-box-shadow: inset 0px 1px 1px rgba(255,255,255,0.5);
}

.secondaryColour:hover {
  background:#7bdcd2;
}

.quote {
  display:block;
  padding-left:10px;
  border-left:4px solid #5a9dba;
  margin-left:10px;
  font-style:italic;
}

.quote strong {
  color: #5a9dba;
}

.headerImageBlocks {
  padding:25px 0 20px 0;
  overflow:auto;
}

.headerImgContainer {
  float:left;
  margin-right:13px;
  background:url(../images/sprite.png) no-repeat -25px 276px;
  padding-bottom:15px;
}

.headerImgContainer + .headerImgContainer {
  background-position:-25px 234px;
}

.headerImgContainer + .headerImgContainer + .headerImgContainer {
  background-position:-25px 191px;
  margin:0px;
}

.headerImgContainer a, .headerImgContainer .headerImg {
  padding:18px;
  background-color:#fff;
  border:1px solid #e3e3e3;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  display:block;
  position:relative;
}

.headerImgContainer a:hover {
  background-color:#eeeeee;
}

.headerImgContainer span {
  position:absolute;
  font-style:normal;
  font-size:22px;
  letter-spacing:1px;
  font-family: 'Vollkorn', serif;
  color:#fff;
  bottom:21px;
  left:18px;
  width:246px;
  padding:10px 15px 10px 15px;
  display:block;
  -moz-box-shadow: inset 0px 1px 1px rgba(255,255,255,0.5);
  -webkit-box-shadow: inset 0px 1px 1px rgba(255,255,255,0.5);
  text-shadow: 1px 1px 0px #2a2a2a;
  text-transform:uppercase;
  /*LEFT IMAGE TEXT BACKGROUND COLOUR*/
  background: rgb(145, 119, 102); /* Fallback for older browsers without RGBA-support */
  background: rgba(145, 119, 102, 0.8);
}

  /*MIDDLE IMAGE TEXT BACKGROUND COLOUR*/
.headerImgContainer + .headerImgContainer span {
  background: rgb(99, 131, 177); /* Fallback for older browsers without RGBA-support */
  background: rgba(99, 131, 177, 0.8);
}

  /*RIGHT IMAGE TEXT BACKGROUND COLOUR*/
.headerImgContainer + .headerImgContainer + .headerImgContainer span {
  background: rgb(101, 150, 74); /* Fallback for older browsers without RGBA-support */
  background: rgba(101, 150, 74, 0.8);
}

.leftColumn {
  border-top:1px solid #fff;
  overflow:auto;
  float:left;
}

.whiteContainer {
  padding:25px;
  background:#fff;
  border:1px solid #e2e2e2;
  margin-bottom:25px;
  -webkit-box-shadow: 0 8px 6px -6px #c7c7c7;
  -moz-box-shadow: 0 8px 6px -6px #c7c7c7;
  box-shadow: 0 10px 6px -6px #c7c7c7;
}

.rightColumn {
  float:right;
}

.mobileph {
  display:none;
}

a[href^=tel]{
  /* color: inherit; */
  text-decoration: none !important;
}

.footer {
  background:#152659;
  color:#fff;
  margin-top:15px;
}

.footer  a {
  color:#fff;
}

.footer p {
  margin-bottom:5px;
}

/**********************************************
 NAVIGATION
***********************************************/
.mainNav {
  position:relative;
  margin:15px 0 0 0;
  /*float: right;*/
  background: #152659;
}

.mainNav ul {
  margin:0px;
  padding:0px;
  overflow:auto;
  border-top:1px solid #dddddd;
  border-bottom:1px solid #dddddd;
}

.mainNav li {
  display:block;
  margin:0px;
  padding:0px;
  list-style:none;
  float:left;
}

.mainNav a {
  font-family: 'Vollkorn', serif;
  font-size:16px;
  /*color:#544f57;*/
  color: #88AFE3;
  padding:10px 9px 5px 9px;
  display:block;
  text-transform:uppercase;
  margin-bottom: 5px;
  border-bottom: 3px solid transparent;
}

.mainNav a:hover {
  color: #fff;
}

#hoverBox {
  display:block;
  background-color:#fff;
  height:7px;
  position:absolute;
  bottom:0px;
}

#current {
  color: #fff;
  border-bottom: 3px solid #FFF;
}

.contentBlock {
  padding:0 18px 0 18px;
}

/**********************************************
 ACCOMMODATION
***********************************************/
#accommodation .leftColumn {
  width: 560px;
  border-top:none;
  padding:0 0 25px 0;
}

#accommodation .rightColumn {
  width: 380px;
}

.headingPattern  {
  padding-right:130px;
  position:relative;
}

.headingPattern .button {
  position:absolute;
  right:15px;
  top:13px;
  text-transform:none;
  font-family:Arial, Helvetica, sans-serif;
}

.whiteContainer h3 ~ h3 {
  margin-top:18px;
}

.headingPattern {
  background-image:url(../images/headingpattern.png);
  padding:18px;
  font-size:18px!important;
  display:block;
  text-transform:uppercase;
  font-weight:bold;
  font-family:Arial, Helvetica, sans-serif;
  font-family: 'Open Sans', sans-serif;
}

.whiteContainer .headingPattern {
  padding:18px!important;
}

/**********************************************
LOCATION PAGE
***********************************************/
#location .leftColumn {
  width: 410px;
  border-top:none;
}

#location .leftColumn .whiteContainer {
  min-height:299px;
}

#location .rightColumn {
  width:528px;
}

.map {
  position: relative;
  padding-bottom: 75%; /* This is the aspect ratio */
  height: 0;
  overflow: hidden;
  border: 1px solid #DCD7DE;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/**********************************************
ACTIVITIES PAGE
***********************************************/
.fullWidthContent {
  padding: 0 15px 25px 15px;
}

#activities .fullWidthContent {
  border-bottom:1px solid #dddddd;
  padding:0px 15px 30px 15px;
}

#activities .fullWidthContent + .fullWidthContent {
  padding:30px 15px 30px 15px;
}

.rightContent {
  width:675px;
  float:left;
  margin-left:25px;
}

.thumbContainer {
  float:left;
  background-color:#fff;
  padding:10px;
  -webkit-box-shadow: 0 8px 6px -6px #c7c7c7;
  -moz-box-shadow: 0 8px 6px -6px #c7c7c7;
  box-shadow: 0 10px 6px -6px #c7c7c7;
  border:1px solid #e2e2e2;
}

/**********************************************
HOME PAGE
***********************************************/
/*use ID for home-page specific content*/
#home .leftColumn  {
  width: 590px;
  padding:18px;
}

#home .rightColumn  {
  width: 314px;
}

.contactInfo h2, .contactInfo {
  padding-bottom:5px;
  border-bottom:1px solid #dddddd;
}

.contactInfo {
  padding-bottom:15px;
  margin-bottom:13px;
  text-align:left;
}

.contactInfo span {
  display:block;
  font-size:14px;
  margin:0 0 5px 0;
  white-space: -moz-pre-wrap !important;  /* Mozilla, since 1999 */
  white-space: -pre-wrap;      /* Opera 4-6 */
  white-space: -o-pre-wrap;    /* Opera 7 */
  white-space: pre-wrap;       /* css-3 */
  word-wrap: break-word;       /* Internet Explorer 5.5+ */
  word-break: break-all;
  white-space: normal;
}

/**********************************************
MOBILE DEVICES
***********************************************/
#mfToggleMenu {
  display:none;
}
#mfMenu {
  display:block;
}
@media screen and (max-width:960px) {
  .headerImgContainer + .headerImgContainer, .headerImgContainer span {
    display:none!important;
  }

  .contentBlock {
    padding:0px;
  }

  .pageContent, .leftColumn, .footerWrap, .footerContact, .rightColumn, .rightContent {
    width:auto!important;
  }

  .rightContent {
    margin:15px 0 0 0;
  }

  .leftColumn, .rightColumn, .footerContact, .footerSocial, .headerImgContainer, .logo, .rightContent, .thumbContainer  {
    float:none!important;
  }

  #home .rightColumn {
    max-width:300px;
    margin:auto;
  }

  #accommodation .rightColumn {
    width:auto;
    padding-top:0px;
    max-width:385px;
    margin:auto;
  }

  .leftColumn {
    padding-top:10px;
  }

  .contactInfo {
    margin-bottom:0px;
  }

  .button, .footerSocial  {
    margin-top:15px;
  }

  .mainWrap {
    margin-top:0px;
    padding:0px 10px 10px 10px;
    width:auto;
  }

  .headerImgContainer {
    margin:auto;
    max-width:300px;
    width:100%;
    background:none;
  }

  .headerImgContainer img {
    max-width:262px;
    width:100%;
  }

  .headerImageBlocks {
    margin:15px 0 10px 0;
    padding:0px;
  }

  .logo {
    max-width:100%;
    width:100%;
    display:block;
    margin:auto;
  }

  .pageContent {
    font-size:14px;
  }

  .button{
    padding:11px;
  }

  .headingPattern .button {
    display:block!important;
    position:static!important;
    margin:10px auto 0 auto;
    max-width:150px;
  }

  .headingPattern {
    padding:18px!important;
  }

  .pageContent {
    text-align:center;
  }

  ul {
    text-align:left;
  }

  .thumbContainer {
    display:block;
    margin:auto;
    max-width:215px;
  }

  .thumbContainer img {
    width:100%;
    height:auto;
  }
}

@media screen and (max-width:768px) {
}

@media screen and (max-width:640px) {
  #mfToggleMenu {
    text-align:center;
    display:block;
  }

  #mfToggleMenu:hover {
    color: #152659;
  }

  .mainNav {
    margin:0px -10px 10px -10px;
  }

  .mainNav ul{
    list-style:none;
    margin:0px;
    padding:0px;
    border-bottom:2px solid #dadada;
  }

  #hoverBox {
    display:none!important;
  }

  .mainNav, .mainNav ul, .mainNav li, .mainNav a  {
    display:block;
    float:none;
  }

  #mfMenu {
    display:none;
  }

  .mainNav li {
    padding:0px;
    margin:0px;
    text-align:center;
  }

  .mainNav span {
    vertical-align:middle;
  }

  .mainNav span.mfMenuIcon {
    background:#e6e6e6;
    color:#2e2e2e; /*colour of menu icon*/
    font-size:18px;
    display:inline-block;
    margin-right:6px;
    padding:4px;
    text-align:center;
    vertical-align:middle;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    line-height:0px;
  }

  .mfLogo {
    padding:5px;
    display:block;
    max-width:300px;
    width:100%;
    height:auto;
    margin:10px auto 0 auto;
  }

  .mainNav a {
    padding:13px 13px 13px 17px;
    background:#fff;
    border-bottom:1px solid #dadada;
    color:#222222;
    font-weight:normal;
    font-size:15px;
    font-family: 'Vollkorn', serif;
    text-decoration:none;
  }

  .mainNav li a:hover, .mainNav li #current {
    color: #000;
    background:#e3eff6;
    border-bottom:1px solid #dadada;
  }
}


@media screen and (max-width: 580px) {
  .mobileph {
    display:block;
    background-color:inherit;
    color:#000;
    font-size:18px;
    padding:10px 0;
    text-align: center;
  }

  a[href^=tel]{
    color: inherit;
    text-decoration: underline !important;
  }
}

@media screen and (max-width: 480px) {
}