/* ==========================================================================
   Variables
   ========================================================================== */
/* ==========================================================================
   Mixins
   ========================================================================== */
/* ==========================================================================
   Defaults
   ========================================================================== */
html, button, input, select, textarea {
  color: #222; }

body {
  font-size: 1em;
  line-height: 1.4; }

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

img {
  vertical-align: middle; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

textarea {
  resize: vertical; }

.chromeframe {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0; }

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box; }

html {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 100%;
  width: 100%; }

body {
  color: #111111;
  font-family: "Montserrat", sans-serif;
  height: 100%;
  text-align: center;
  width: 100%; }

h1 {
  color: #822d7a;
  font-size: 30px;
  text-transform: uppercase; }

h2 {
  color: #b0bf5a;
  font-weight: 100; }
  .front h2 {
    color: #b0bf5a; }
  .back h2 {
    color: #822d7a; }

h3 {
  font-size: 16px; }

p.quote:before {
  content: open-quote; }
p.quote:after {
  content: close-quote; }
p.credits {
  color: #822d7a; }

a {
  text-decoration: none; }

.front {
  background: white;
  color: #111111;
  padding: 100px 0; }

.back {
  background: #111111;
  color: white;
  padding: 100px 0; }

.front-inner {
  padding-top: 75px; }

.container {
  display: table;
  margin: 0 auto;
  padding: 20px 0;
  width: 80%; }

.inner {
  display: table-cell;
  height: 100%;
  vertical-align: middle;
  width: 100%; }
  .inner i {
    color: #822d7a;
    font-size: 100px; }
  .inner p i {
    font-size: 16px; }

a.button {
  background: #822d7a;
  color: white;
  display: block;
  margin: 10px auto 0;
  padding: 5px;
  text-align: center;
  width: 200px;
  border-radius: 4px;
  -webkit-border-radius: 4px; }

.offer, .booking {
  border: 2px solid;
  margin: 0 auto 20px auto;
  padding: 20px;
  width: 80%;
  border-radius: 4px;
  -webkit-border-radius: 4px; }
  .offer a, .booking a {
    background: #822d7a;
    color: white;
    display: block;
    margin: 10px auto 0;
    padding: 5px;
    text-align: center;
    width: 150px;
    border-radius: 4px;
    -webkit-border-radius: 4px; }
  .front .offer, .front .booking {
    border-color: white; }
  .back .offer, .back .booking {
    border-color: #111111; }

.left, .right {
  float: left;
  padding: 10px;
  width: 100%; }
  .left ul, .right ul {
    padding: 0 0 0px 20px; }
  .left li, .right li {
    display: block;
    position: relative; }
    .left li:before, .right li:before {
      content: '\2022';
      left: -5px;
      position: relative; }

nav {
  background: #111111;
  left: 0;
  position: fixed;
  top: 0;
  text-align: center;
  width: 100%;
  z-index: 100; }
  nav ul {
    width: 100%; }
  nav li {
    display: inline-block; }
  nav a {
    color: #b0bf5a;
    display: block;
    padding: 5px;
    text-decoration: none; }
    nav a.active, nav a:hover {
      border-bottom: 2px solid #b0bf5a; }
  nav .phone {
    background: #111111;
    bottom: -40px;
    color: white;
    padding: 10px;
    position: absolute;
    right: 10px; }

blockquote {
  border-left: 5px solid #822d7a;
  margin-bottom: 30px;
  padding: 1px 10px;
  text-align: left; }
  @media (min-width: 768px) {
    blockquote {
      margin: 0 auto 30px;
      width: 50%; } }
  blockquote p:before {
    content: '\201C'; }
  blockquote p:after {
    content: '\201D'; }

.tabs {
  margin: 30px auto;
  text-align: left;
  width: 90%; }
  @media (min-width: 768px) {
    .tabs {
      width: 80%; } }
  @media (min-width: 768px) {
    .tabs {
      width: 70%; } }
  .tabs h4 {
    border: 2px solid #111111;
    color: #111111;
    cursor: pointer;
    display: block;
    margin: 0 0 2px;
    padding: 5px 10px; }
    .tabs h4.active {
      background: #b0bf5a; }
    .tabs h4 span {
      float: right; }
  .tabs h5 {
    margin: 0 0 3px 0; }
  .tabs ol, .tabs ul {
    margin: 5px 0;
    padding: 0 0 0 20px; }
  .tabs li {
    padding: 5px 0; }
  .tabs .tab-content {
    display: none;
    padding: 10px; }
    .tabs .tab-content img {
      display: block;
      margin: 0 auto;
      max-width: 100%; }
    .tabs .tab-content table p {
      margin: 0 0 10px; }
  .tabs .tap-content--offers img {
    float: left;
    margin: 0 0 0 2%;
    width: 48%; }
    @media (min-width: 320px) {
      .tabs .tap-content--offers img {
        display: block;
        margin: 0 0 10px 0;
        width: 100%; } }
    .tabs .tap-content--offers img:first-child {
      margin: 0 2% 0 0; }
      @media (min-width: 320px) {
        .tabs .tap-content--offers img:first-child {
          margin: 0 0 10px 0; } }

/* ==========================================================================
   Media Queries
   ========================================================================== */
/* ==========================================================================
   Helper classes
   ========================================================================== */
.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  *text-indent: -9999px; }
  .ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%; }

.hidden {
  display: none !important;
  visibility: hidden; }

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }
  .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto; }

.invisible {
  visibility: hidden; }






/* post loss of gulp styles */

/* generic */

*:focus {
  outline: 0 !important;
}

/* titles */

h1 {
  color: #1A8EC6;
}

.front h2, .back h2 {
  color: #1A8EC6;
}

/* home image */

.home-img {
  height: 300px;
  width: auto;
}

/* logos */

.logo-wo-strapline {
  height: 200px;
  width: auto;
}

/* nav */

nav a {
  color: #71C6C4;
}

nav a.active, nav a:hover {
  border-bottom: 2px solid #71C6C4;
}

/* tabs */

.tabs h4 {
  border: 5px solid #eee;
}

.tabs h4.active {
  background: #71C6C4;
  border: 5px solid #71C6C4;
}

.tab-content__title {
  border-bottom:  3px solid #333;
  display:  inline-block;
}

/* offers */

.offer { padding-bottom:0; }

.offer a {
  background: #71C6C4;
}

/* booking  */

.booking { padding-top:0; }

.booking a {
  background: #1A8EC6;;
}

/* buttons */

a.button {
  background: #71C6C4;
}

a.button-block {
  display: inline-block;
  width: auto;
}

/* blockquote */

blockquote {
  border-left: 5px solid #1A8EC6;
}

/* instagram */

.instagram-container {
  display: block;
  margin-top: 30px;
}

.instagram-logo {
  display: inline-block;
  margin-right: 10px;
}

.instagram-logo img {
  height: 30px;
  width: auto;
}

.instagram-text {
  color: #111111;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
}


/* callout */

.callout {
  background-color: #eee;
  font-size: 12px;
  margin:  0 0 16px 0;
  padding:  16px;
}
