/* Imports */
/* Fonts */
/* Variables */
/* Mixins */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block; }

audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

audio:not([controls]) {
  display: none; }

[hidden] {
  display: none; }

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

html, button, input, select, textarea {
  font-family: sans-serif;
  color: #222; }

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

::-moz-selection {
  background: #6b959d;
  color: #fff;
  text-shadow: none; }

::selection {
  background: #6b959d;
  color: #fff;
  text-shadow: none; }

a:hover, a:active {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b, strong {
  font-weight: bold; }

blockquote {
  margin: 1em 40px; }

dfn {
  font-style: italic; }

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

ins {
  background: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background: #ff0;
  color: #000;
  font-style: italic;
  font-weight: bold; }

pre, code, kbd, samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: none; }

q:before, q:after {
  content: "";
  content: none; }

small {
  font-size: 85%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

ul, ol {
  margin: 1em 0;
  padding: 0 0 0 40px; }

dd {
  margin: 0 0 0 40px; }

nav ul, nav ol {
  list-style: none;
  list-style-image: none;
  margin: 0;
  padding: 0; }

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
  vertical-align: middle; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

form {
  margin: 0; }

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

label {
  cursor: pointer; }

legend {
  border: 0;
  *margin-left: -7px;
  padding: 0;
  white-space: normal; }

button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle; }

button, input {
  line-height: normal; }

button, input[type="button"], input[type="reset"], input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible; }

button[disabled], input[disabled] {
  cursor: default; }

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
  *width: 13px;
  *height: 13px; }

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical; }

input:invalid, textarea:invalid {
  background-color: #f0dddd; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td {
  vertical-align: top; }

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

/* =============================================================================
   Non-Semantic Helper Classes
   ========================================================================== */
.ir {
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
  *line-height: 0; }

.ir br {
  display: none; }

.hidden {
  display: none; }

.js .jsHide {
  display: none; }

.no-js .noJsHide {
  display: none; }

.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; }

.clearfix:before, .clearfix:after, .container:before, .container:after {
  content: '.';
  display: block;
  overflow: hidden;
  visibility: hidden;
  font-size: 0;
  line-height: 0;
  width: 0;
  height: 0; }

.clearfix:after, .container:after {
  clear: both; }

.clearfix, .container {
  zoom: 1; }

.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }

/* =============================================================================
   Print Styles
   ========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    -ms-filter: none !important; }
  /* Black prints faster: h5bp.com/s */
  a, a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
    content: ""; }
  /* Don't show links for images, or javascript/internal links */
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  /* h5bp.com/t */
  tr, img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }
  h2, h3 {
    page-break-after: avoid; } }

/* Page =================================================== */
html {
  box-sizing: border-box; }

*,
*:before,
*:after {
  box-sizing: inherit; }

body {
  font-family: sorts-mill-goudy, serif;
  font-weight: 500;
  width: 100%;
  min-width: 300px;
  font-size: 13px;
  color: #632438; }

#wrapper {
  width: 100%;
  overflow: hidden;
  margin-top: 60px; }
  #wrapper #wrapper__inner {
    transition: transform 350ms;
    transform: translateX(0); }

.nav-open #header #header__nav .nav-caller {
  transform: rotate(180deg); }
  .nav-open #header #header__nav .nav-caller .line:first-child {
    transform: rotate(-45deg) translate3d(-4px, 1px, 0);
    width: 15px; }
  .nav-open #header #header__nav .nav-caller .line:last-child {
    transform: rotate(45deg) translate3d(-4px, -1px, 0);
    width: 15px; }

.nav-open #header #header__nav__inner {
  transform: translateX(0); }

.nav-open #wrapper #wrapper__inner {
  transform: translateX(-100px); }

/* Typography =================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 120%;
  color: #000;
  font-weight: 400; }

h1 {
  font-size: 28px; }

h2 {
  font-size: 17px; }

h3 {
  font-size: 16px; }

h4 {
  font-size: 15px; }

h5 {
  font-size: 13px; }

h6 {
  font-size: 10px; }
  h6.reviews-title {
    margin-bottom: 0.5em;
    letter-spacing: 0.2em;
    font-size: 14px; }

a {
  transition: color 150ms, background-color 150ms;
  text-decoration: underline;
  color: #632438;
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

img {
  max-width: 100%;
  height: auto; }
  img.full-width {
    width: 100%;
    max-width: none; }

.vintage-image {
  -webkit-mask-image: url(../img/image-mask.png);
  mask-image: url(../img/image-mask.png);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%; }

/* Forms =================================================== */
form {
  position: relative; }

.form-control {
  position: relative;
  padding-bottom: 15px; }

label {
  position: absolute;
  top: 10px;
  left: 14px;
  color: #666;
  font-size: 12px;
  line-height: 100%; }

input,
textarea {
  font-family: inherit;
  width: 100%;
  -webkit-appearance: none;
  border: 1px solid #C4C4C0;
  background: #fff;
  padding: 24px 14px 6px;
  line-height: 120%;
  font-size: 16px; }
  input:focus,
  textarea:focus {
    border-color: #632438;
    outline: none; }
  .bg--cream input, .bg--cream
  textarea {
    border: none; }

input[type="checkbox"],
input[type="radio"] {
  width: auto; }

textarea {
  height: 10em; }

select {
  font-family: inherit;
  -webkit-appearance: none;
  border: 1px solid #000;
  padding: 12px 20px 12px 12px;
  line-height: 115%;
  font-size: 12px;
  background: url(../img/chevron-down.svg) right 10px top 50% no-repeat;
  background-size: 20px;
  width: 100%; }

select::-ms-expand {
  display: none; }

.privacy-policy {
  margin: 2em 0 -2em;
  font-size: 14px; }

.field-validation {
  border-radius: 0 0 10px 10px;
  font-size: 0.8em;
  display: block;
  color: #D0011B;
  background-color: #f9e8e9;
  padding: 0.5em 1em;
  margin: 0 20px; }

/* Buttons =================================================== */
.btn {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: 150ms;
  display: inline-block;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  line-height: 100%;
  border: 1.75em solid rgba(0, 0, 0, 0.01);
  padding: 0;
  min-width: 14em;
  border-image-slice: 20% 6%;
  background: none;
  letter-spacing: 0.1em; }
  a:hover .btn, .btn:hover {
    transform: scale(1.05);
    text-decoration: none; }
  .btn [class^="icon-"],
  .btn [class*=" icon-"] {
    margin-left: 15px; }
    .btn [class^="icon-"].pad-right,
    .btn [class*=" icon-"].pad-right {
      margin: 0 15px 0 0; }
  .btn--primary {
    border-image-source: url(../img/button.svg);
    color: #632438; }
    .btn--primary:hover {
      color: #ae3f62; }
  .btn--secondary {
    border-image-source: url(../img/button-white.svg);
    color: #fff; }
  .btn--tertiary {
    border-image-source: url(../img/button-fill.svg);
    background: #f2ede2;
    color: #632438; }
    .btn--tertiary:hover {
      color: #ae3f62; }
  .btn--small {
    border-image-slice: 16% 5%;
    border-width: 0.66em;
    padding: 0.2em 1em;
    min-width: 12em; }
  .btn--block {
    width: 100%;
    display: block; }
  .btn--square {
    min-width: 5.5em;
    display: inline-block;
    padding: 0; }
  .btn--disabled, .btn:disabled {
    opacity: 0.5;
    cursor: default; }
    .btn--disabled:hover, .btn:disabled:hover {
      box-shadow: none; }

/* Layout =================================================== */
.section {
  position: relative;
  padding: 30px 0; }
  .section--banner {
    z-index: 0;
    min-height: 350px;
    padding: 0 0 180px; }
    .section--banner:before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 160px;
      left: 0;
      z-index: 2;
      width: 100%;
      background: url(../img/flourishes/festoons-banner.png) 0 -10px no-repeat, linear-gradient(to bottom, #f2ede2 calc(100% - 35px), rgba(242, 237, 226, 0) 100%) repeat-x;
      background-size: 90%; }
    .section--banner:after {
      content: '';
      position: absolute;
      bottom: 200px;
      right: 0;
      z-index: 4;
      width: 80px;
      height: 78px;
      background: url(../img/flourishes/stars.png) no-repeat;
      background-size: 100%; }
    .section--banner .banner-background {
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: 1;
      background: 50% 50% no-repeat;
      background-size: cover;
      height: 200px;
      width: 100%; }
    .section--banner .row {
      z-index: 5; }
    .section--banner .text-container {
      max-width: 540px;
      margin: 70px auto 50px;
      padding: 0 20px;
      text-align: center; }
    .section--banner h1 {
      color: #632438;
      letter-spacing: -0.025em; }
    .section--banner h1, .section--banner h4, .section--banner h6 {
      margin: 0.5em 0; }
    .section--banner h6 {
      letter-spacing: 0.2em; }
  .section--primary {
    background: #632438;
    color: #fff; }
    .section--primary h1, .section--primary h2, .section--primary h3, .section--primary h4, .section--primary h5, .section--primary h6 {
      color: #fff; }
    .section--primary a {
      color: #f1e5b3; }
  .section--bg-image {
    background: 50% 50% no-repeat;
    background-size: cover;
    min-height: 300px; }
  .section--gradient {
    background: linear-gradient(to bottom, #f9f3e8 0%, #fff 100%); }
  .section--dark {
    color: #fff; }
    .section--dark h1, .section--dark h2, .section--dark h3, .section--dark h4, .section--dark h5, .section--dark h6, .section--dark a {
      color: #fff; }
  .section--full {
    display: flex; }
  .section--frog {
    background: url(../img/flourishes/frog.png) calc(50% + 600px) 100% no-repeat; }
  .section--book {
    padding: 40px 0 10px; }
    .section--book .column {
      display: flex;
      justify-content: space-between;
      align-items: center;
      text-align: center; }
      .section--book .column .stars {
        display: none; }
      .section--book .column div {
        position: relative;
        z-index: 2; }
      .section--book .column img {
        width: 35%; }
        .section--book .column img:last-child {
          display: none; }
      .section--book .column h2 {
        margin: 0 1em 1.5em; }
  .section--beltane {
    padding: 120px 0;
    background: url(../img/beltane-bg-medium.jpg) 50% 50% no-repeat;
    background-size: cover;
    text-align: center; }
    .section--beltane .row {
      max-width: 680px; }
    .section--beltane h2 {
      color: #f7d89f;
      margin: 1.5em 0;
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase; }

.row {
  width: 100%;
  max-width: 1420px;
  position: relative;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap; }
  .row--narrow {
    max-width: 980px; }
  .row--medium {
    max-width: 1280px; }
  .row--full {
    max-width: none; }
  .row--wrap {
    flex-wrap: wrap; }
  .row--align-l {
    justify-content: flex-start; }
  .row--align-c {
    justify-content: center; }
  .row--align-r {
    justify-content: flex-end; }
  .row--valign-t {
    align-items: flex-start; }
  .row--valign-c {
    align-items: center; }
  .row--valign-b {
    align-items: flex-end; }
  .row--overlap {
    z-index: 2; }
    .row--overlap .column {
      margin-top: -50px; }

.column {
  flex: 0 0 100%;
  max-width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 30px; }
  .column--s-2-1 {
    flex-basis: 50%;
    max-width: 50%; }
  .column--s-3-1 {
    flex-basis: 33.333%;
    max-width: 33.333%; }
  .column--s-3-2 {
    flex-basis: 66.666%;
    max-width: 66.666%; }
  .column--s-5-1 {
    flex-basis: 20%;
    max-width: 20%; }
  .column--auto {
    flex: 1 1; }

.grid__item {
  display: flex;
  margin-bottom: 2em; }
  .grid__item img {
    flex: 0 0 35%;
    max-width: 35%;
    margin-right: 1em; }
  .grid__item .text-container {
    flex: 1 1 auto; }

/* Components =================================================== */
.responsive-iframe {
  position: relative;
  padding: 27.5% 0;
  margin: 1em 0; }
  .responsive-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid #fff; }

.responsive-video {
  position: relative;
  padding: 30% 0; }
  .responsive-video .video-control {
    transition: 250ms;
    position: absolute;
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
    z-index: 2;
    background: rgba(99, 36, 56, 0.5); }
    .responsive-video .video-control:hover {
      background: rgba(99, 36, 56, 0.4); }
      .responsive-video .video-control:hover .icon-play {
        transform: scale(1.1); }
    .responsive-video .video-control .icon-play {
      transition: 250ms;
      display: block;
      font-size: 1.5em;
      padding: 1em;
      color: #fff;
      position: absolute;
      top: calc(50% - 1.5em);
      left: calc(50% - 1.5em);
      z-index: 3;
      border-radius: 50%;
      background: rgba(99, 36, 56, 0.8);
      border: 2px solid #fff; }
    .responsive-video .video-control--playing {
      top: 100%;
      background: rgba(31, 31, 31, 0); }
      .responsive-video .video-control--playing .icon-play {
        top: -4em;
        font-size: 0.8em; }
        .responsive-video .video-control--playing .icon-play:before {
          content: '\e90d'; }
  .responsive-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    border: 2px solid #fff; }

.map {
  height: 200px; }

.slider__inner {
  transition: left 750ms;
  left: 0;
  display: flex;
  position: relative; }

.slider__item {
  transition: 750ms;
  flex: 0 0 100%;
  visibility: hidden;
  opacity: 0; }
  .slider__item.active {
    visibility: visible;
    opacity: 1; }

.slider__controls {
  text-align: center; }
  .slider__controls a {
    transition: 250ms;
    display: inline-block;
    text-indent: -999em;
    height: 14px;
    width: 14px;
    border: 1px solid #fff;
    margin: 0 5px;
    border-radius: 50%; }
    .slider__controls a:hover {
      background-color: rgba(255, 255, 255, 0.3); }
    .slider__controls a.active {
      background-color: #fff; }

.opening-times th, .opening-times td {
  padding: 1em;
  vertical-align: top; }

.opening-times th {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center; }

.opening-times h4, .opening-times h6 {
  margin: 0;
  font-weight: 900; }

.opening-times p {
  margin: 0 0 0.25em; }

.breadcrumb {
  display: flex;
  flex-flow: row wrap;
  padding: 20px 0 0;
  margin: 0;
  font-size: 10px; }
  .breadcrumb li {
    list-style: none;
    display: flex;
    margin-bottom: 3px; }
    .breadcrumb li:after {
      content: '>';
      margin: 0 5px; }
    .breadcrumb li:last-child:after {
      display: none; }

.card {
  overflow: hidden;
  padding-bottom: 1em; }
  .card h5 {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin: 0.5em 0;
    font-weight: 900; }
  .card img {
    float: left;
    width: 40%;
    margin-bottom: 1em; }
  .card .text-container {
    float: left;
    width: 60%;
    padding-left: 15px; }
    .card .text-container h3, .card .text-container h5 {
      margin-top: 0; }
    .card .text-container p {
      margin-top: 0; }
  .card form {
    clear: both;
    margin: 0 auto;
    max-width: 250px;
    padding: 0 15px; }
  .card .form-controls {
    display: flex;
    align-items: center; }
    .card .form-controls .form-control {
      flex: 1 1 auto;
      margin-right: 10px;
      padding: 0; }
  .card > .btn {
    clear: both;
    max-width: 150px;
    display: block;
    margin: 0 auto; }
  .card--icon .text-container img {
    display: none; }

.review {
  text-align: center;
  margin: 15px 0; }
  .review .stars--gold {
    color: #e16c0b; }
  .review .icon-star {
    font-size: 18px;
    margin: 0 0.1em; }
  .review p {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: normal;
    line-height: 130%; }
    .review p.text--large {
      font-size: 17px; }
  .review cite {
    font-size: 13px;
    font-style: italic;
    color: #000; }
  .section--dark .review cite {
    color: #fff; }

.tabs__controls {
  list-style: none;
  display: flex;
  justify-content: space-around;
  padding: 0;
  margin: 0 0 30px;
  text-align: center;
  font-size: 12px; }
  .tabs__controls li {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 900;
    margin: 0 0.5em; }
    .tabs__controls li a {
      color: #000;
      padding-bottom: 15px;
      display: block; }
    .tabs__controls li img {
      display: block;
      margin-bottom: 10px; }
    .tabs__controls li.active a {
      color: #632438;
      background: url(../img/flourishes/active-tab.png) 50% 100% no-repeat;
      background-size: 60px; }
  .tabs__controls--centre {
    justify-content: center; }
    .tabs__controls--centre li {
      flex: 1 1 300px;
      max-width: 300px;
      display: flex;
      margin: 0;
      font-size: 16px;
      position: relative;
      text-align: center;
      justify-content: center; }
      .tabs__controls--centre li a {
        font-weight: bold;
        width: 100%; }
      .tabs__controls--centre li:after {
        content: '|';
        position: absolute;
        right: 0; }
      .tabs__controls--centre li:last-child:after {
        display: none; }

.tabs__content {
  display: none; }
  .tabs__content.active {
    display: flex; }
  .tabs__content--flourish {
    background: #f9f3e8;
    padding: 15px 15px 0; }

.filters {
  text-align: center;
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 900; }
  .filters__controls {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
    font-size: 13px; }
    .filters__controls li {
      margin-bottom: 10px; }
      .filters__controls li a {
        display: block; }
      .filters__controls li.active a {
        color: #632438;
        background: url(../img/flourishes/active-tab.png) 50% 100% no-repeat;
        background-size: 60px;
        padding-bottom: 20px; }

.accordion {
  margin-bottom: 15px; }
  .accordion__header {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #000;
    font-weight: 900;
    border-bottom: 1px solid #999;
    display: block;
    padding: 0.5em 2em 0.5em 0;
    position: relative; }
    .accordion__header:after {
      content: '';
      background: url(../img/chevron-down.svg) 50% 50% no-repeat;
      background-size: 100%;
      height: 10px;
      width: 15px;
      position: absolute;
      right: 0;
      top: calc(50% - 5px);
      transform: rotate(-90deg);
      transition: 250ms; }
    .accordion__header:hover {
      color: #632438;
      border-color: #632438;
      text-decoration: none; }
    .accordion__header.active:after {
      transform: rotate(0); }
  .accordion__content {
    border-bottom: 1px solid #999;
    display: none; }
    .accordion__content h3 {
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: #632438;
      font-weight: 900;
      margin-top: 2em; }
    .accordion__content h4 {
      color: #632438;
      margin-top: 2em;
      margin-bottom: 0.5em; }
    .accordion__content ul, .accordion__content ol {
      padding-left: 20px; }
    .accordion__content a {
      text-decoration: underline; }
      .accordion__content a:hover {
        text-decoration: none; }

.location-sort {
  margin: 0 0 30px; }
  .location-sort select {
    width: 200px;
    float: right;
    background-color: #fff; }

.locations {
  display: flex;
  flex-flow: row wrap;
  padding: 0; }
  .locations .location {
    flex: 1 1 50%;
    max-width: calc(50% - 1em);
    margin: 0 0.5em;
    padding-bottom: 2em;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    text-align: center; }
    .locations .location h5 {
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      font-weight: 900;
      padding: 10px 1em;
      margin: 0 0 25px;
      border-bottom: 1px solid;
      min-height: 4.2em; }
    .locations .location h6 {
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      font-weight: 900;
      color: #632438;
      margin: 0.5em 0;
      font-size: 12px;
      letter-spacing: 0.15em; }
    .locations .location .show-date {
      color: #632438;
      margin: 0.5em 0; }
      .locations .location .show-date span {
        display: block; }
    .locations .location .btn {
      min-width: 0;
      max-width: 220px;
      padding: 0.25em 0;
      margin-top: 2em; }

.month-picker {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 2em 0; }
  .month-picker li {
    display: flex; }
    .month-picker li a {
      font-weight: 900;
      padding: 0 1em 1em; }
    .month-picker li.active a {
      color: #632438;
      background: url(../img/flourishes/active-tab.png) 50% 100% no-repeat;
      background-size: 80px; }
    .month-picker li:after {
      content: '|'; }
    .month-picker li:last-child:after {
      display: none; }

.booking-dates {
  flex: 1 1 auto;
  display: flex;
  flex-flow: row wrap;
  margin-left: -0.25em;
  margin-right: -0.25em;
  padding: 0; }
  .booking-dates:after {
    transition: 250ms 100ms;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 2;
    visibility: hidden;
    cursor: pointer; }
  .booking-dates.selected:after {
    transition: 250ms;
    background: rgba(249, 243, 232, 0.75);
    visibility: visible; }
  .booking-dates .booking-date {
    flex: 0 0 50%;
    max-width: calc(50% - 0.5em);
    margin: 0.25em; }
    .booking-dates .booking-date:hover:not(.disabled) {
      cursor: pointer; }
      .booking-dates .booking-date:hover:not(.disabled) .booking-date__inner .booking-date__text {
        background: #632438;
        color: #fff; }
        .booking-dates .booking-date:hover:not(.disabled) .booking-date__inner .booking-date__text .icon-plus {
          background: #fff;
          color: #632438; }
    .booking-dates .booking-date.disabled {
      cursor: default;
      opacity: 0.3; }
    .booking-dates .booking-date__inner {
      transition: 250ms 100ms;
      background: #fff;
      width: 100%;
      min-height: 100%;
      position: relative;
      left: 50%;
      transform: translateX(-50%);
      z-index: 1; }
    .booking-dates .booking-date__close {
      transition: 250ms;
      opacity: 0;
      visibility: hidden; }
      .booking-dates .booking-date__close:hover {
        text-decoration: none; }
      .booking-dates .booking-date__close .icon-plus {
        transition: 150ms;
        position: absolute;
        top: 10px;
        right: 10px;
        color: #fff;
        background: #632438;
        padding: 0.55em;
        border-radius: 50%;
        font-size: 12px;
        transform: rotate(45deg); }
        .booking-dates .booking-date__close .icon-plus:hover {
          background: #ae3f62; }
    .booking-dates .booking-date__date {
      display: block;
      background: #eaded6;
      text-align: center;
      padding: 1.5em 0.5em;
      font-size: 14px;
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      font-weight: 900; }
      .booking-dates .booking-date__date strong {
        display: block;
        font-size: 20px;
        font-weight: 900; }
    .booking-dates .booking-date__text {
      transition: 150ms;
      color: #632438;
      padding: 1em; }
      .booking-dates .booking-date__text .icon-plus {
        transition: 150ms;
        float: right;
        color: #fff;
        background: #632438;
        padding: 0.55em;
        border-radius: 50%;
        font-size: 9px; }
      .booking-dates .booking-date__text h5 {
        margin: 0 0 0.5em;
        color: inherit;
        line-height: 100%; }
      .booking-dates .booking-date__text small {
        font-style: 19px;
        display: block; }
    .booking-dates .booking-date__details {
      transition: 250ms;
      visibility: hidden;
      max-height: 0;
      width: 100%;
      overflow: hidden;
      position: absolute;
      top: 100%;
      left: 0;
      background: #fff; }
      .booking-dates .booking-date__details table {
        color: #632438;
        width: 100%; }
        .booking-dates .booking-date__details table th, .booking-dates .booking-date__details table td {
          vertical-align: middle;
          padding: 0.25em 0.5em; }
        .booking-dates .booking-date__details table th {
          font-size: 14px;
          font-weight: normal; }
        .booking-dates .booking-date__details table td {
          font-family: brandon-grotesque, sans-serif;
          font-weight: 700;
          letter-spacing: 0.05em;
          text-transform: uppercase;
          font-size: 12px;
          font-weight: 900; }
    .booking-dates .booking-date.active {
      position: relative;
      cursor: default; }
      .booking-dates .booking-date.active:nth-child(odd) .booking-date__inner {
        left: 100%; }
      .booking-dates .booking-date.active:nth-child(even) .booking-date__inner {
        left: 0; }
      .booking-dates .booking-date.active .booking-date__inner {
        transition: 250ms, z-index 1ms;
        position: absolute;
        width: 175%;
        z-index: 3;
        min-height: 0; }
      .booking-dates .booking-date.active .booking-date__close {
        transition: 250ms 100ms;
        opacity: 1;
        visibility: visible; }
      .booking-dates .booking-date.active .booking-date__text {
        background: #632438;
        color: #fff;
        text-align: center; }
        .booking-dates .booking-date.active .booking-date__text .icon-plus {
          display: none; }
      .booking-dates .booking-date.active .booking-date__details {
        transition: 250ms 100ms;
        visibility: visible;
        max-height: 500px;
        padding: 15px 30px; }
      .booking-dates .booking-date.active .btn {
        margin: 30px 0;
        width: auto; }

.pagination {
  display: flex;
  justify-content: space-between; }

.blog-articles {
  display: flex;
  flex-flow: row wrap;
  padding: 0.5em; }
  .blog-articles__article {
    transition: 150ms;
    flex: 1 1 50%;
    max-width: calc(50% - 1em);
    margin: 0.5em;
    display: flex;
    background: #f9f3e8;
    flex-flow: column; }
    .blog-articles__article:hover {
      text-decoration: none;
      background: #eaded6; }
    .blog-articles__article:first-child {
      flex: 1 1 100%;
      max-width: calc(100% - 1em);
      position: relative; }
      .blog-articles__article:first-child:after {
        content: '';
        background: url(../img/flourishes/dog-duck.png) no-repeat;
        width: 40px;
        height: 80px;
        background-size: 100%;
        position: absolute;
        bottom: 0;
        right: 0; }
      .blog-articles__article:first-child .image {
        height: 200px; }
      .blog-articles__article:first-child .text-container {
        padding: 1em 3em 2em;
        background: url(../img/flourishes/stars-3.png) 0 10px no-repeat;
        background-size: 80px; }
    .blog-articles__article .image {
      background: 50% 50% no-repeat;
      background-size: cover;
      height: 100px;
      cursor: pointer; }
    .blog-articles__article .text-container {
      padding: 0 1em;
      text-align: center; }
      .blog-articles__article .text-container .date {
        font-family: brandon-grotesque, sans-serif;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        font-weight: 900;
        color: #632438;
        letter-spacing: 0.15em; }
      .blog-articles__article .text-container h4, .blog-articles__article .text-container h6 {
        margin: 1rem 0; }
      .blog-articles__article .text-container h4 {
        color: #632438; }
      .blog-articles__article .text-container .read-article {
        color: #632438;
        font-family: brandon-grotesque, sans-serif;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        font-weight: 900;
        letter-spacing: 0.2em;
        font-size: 10px; }

.blog-article {
  padding-bottom: 30px; }
  .blog-article__author {
    color: #632438;
    font-style: italic;
    margin: 0 0 15px; }
  .blog-article__category {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #632438;
    font-weight: 900;
    margin: 0 0 15px; }
  .blog-article__content {
    border-top: 1px solid #632438;
    padding-top: 22.5px;
    margin-bottom: 30px; }
    .blog-article__content h1 {
      font-size: 18px;
      color: #632438; }
    .blog-article__content h2 {
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      font-size: 16px;
      font-weight: 900; }
    .blog-article__content h3 {
      font-size: 18px;
      color: #632438; }
    .blog-article__content a {
      text-decoration: underline; }
      .blog-article__content a:hover {
        text-decoration: none; }
    .blog-article__content blockquote {
      margin: 30px 20px 30px 0;
      font-size: 13px; }
      .blog-article__content blockquote p {
        font-family: brandon-grotesque, sans-serif;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #632438;
        letter-spacing: 0; }
      .blog-article__content blockquote cite {
        font-style: italic; }
    .blog-article__content ul, .blog-article__content ol {
      padding-left: 20px; }
      .blog-article__content ul li, .blog-article__content ol li {
        margin: 0.5em 0; }

.sidebar {
  background: #f9f3e8;
  padding: 12px 25px; }
  .sidebar__beltane {
    background: url(../img/beltane-bg-small.jpg) 50% 0 no-repeat;
    background-size: cover;
    color: #fff;
    text-align: center;
    padding: 15px 30px 60px;
    margin: 0 -25px -35px; }
    .sidebar__beltane h5, .sidebar__beltane h6 {
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: #fff; }
    .sidebar__beltane h5 {
      font-weight: 900; }
    .sidebar__beltane img {
      width: 280px; }

.recent-articles__cat {
  text-align: center; }
  .recent-articles__cat h6 {
    margin-bottom: 5px; }

.recent-articles__article {
  text-align: center;
  display: block;
  border-bottom: 1px solid #000; }
  .recent-articles__article:hover {
    text-decoration: none;
    background: #eaded6; }
  .recent-articles__article .text-container {
    padding: 10px 1em 35px; }
  .recent-articles__article h5 {
    margin: 0.5em 0;
    color: #632438; }
  .recent-articles__article p {
    margin: 0.5em 0; }
  .recent-articles__article .article__link {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: block;
    font-weight: 900;
    color: #632438;
    margin-top: 1em; }

.sidebar-shop {
  padding-top: 35px; }
  .sidebar-shop h5 {
    margin: 0; }
  .sidebar-shop__item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 30px 0; }
    .sidebar-shop__item:hover {
      text-decoration: none;
      background: #eaded6; }
    .sidebar-shop__item img {
      flex: 0 0 150px;
      max-width: 150px; }
    .sidebar-shop__item .text-container {
      flex: 1 1 auto;
      padding: 0.5em 1em 0.5em 1em; }
    .sidebar-shop__item p {
      margin: 0; }
    .sidebar-shop__item .price {
      color: #632438; }

.shop-sort {
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 100%;
  padding: 45px 0 15px; }
  .shop-sort__show, .shop-sort__sort, .shop-sort__count {
    margin-right: 25px; }
    .shop-sort__show:last-child, .shop-sort__sort:last-child, .shop-sort__count:last-child {
      margin-right: 0; }
  .shop-sort__count {
    display: none; }
  .shop-sort__show a {
    margin-left: 10px; }
    .shop-sort__show a.selected {
      text-decoration: underline;
      color: #632438; }
  .shop-sort__sort {
    flex: 0 1 130px;
    padding-bottom: 0; }
  .shop-sort--bottom {
    margin-bottom: -35px;
    padding-top: 30px;
    position: relative;
    z-index: 2; }

.product-list {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap; }
  .product-list__item {
    flex: 1 1 50%;
    max-width: calc(50% - 0.5em);
    background: #f9f3e8;
    margin-bottom: 1em; }
    .product-list__item:hover {
      background: #eaded6;
      text-decoration: none; }
    .product-list__item img {
      width: 100%; }
    .product-list__item .text-container {
      padding: 0.5em;
      text-align: center; }
    .product-list__item h5 {
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      font-weight: 900;
      margin: 0.5em 0; }
    .product-list__item .price {
      color: #632438; }
      .product-list__item .price s {
        margin-left: 8px; }

.gallery {
  overflow: hidden;
  padding: 1em 0; }
  .gallery__main {
    position: relative;
    margin-bottom: 1em; }
    .gallery__main__inner {
      display: flex;
      position: relative; }
      .gallery__main__inner a {
        flex: 1 0 100%;
        display: block;
        text-align: center;
        outline: none; }
  .gallery__thumbs {
    display: flex;
    position: relative; }
    .gallery__thumbs a {
      transition: 150ms;
      flex: 0 0 100px;
      text-align: center;
      border: 2px solid #fff;
      margin-right: 0.75em;
      display: block;
      opacity: 0.8; }
      .gallery__thumbs a:hover, .gallery__thumbs a.on {
        border-color: #632438;
        opacity: 1; }

.menu {
  text-align: center;
  padding: 15px 30px;
  background: #f9f3e8; }
  .menu h3, .menu h5, .menu h6 {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase; }
  .menu h5, .menu h6 {
    font-weight: 900; }
  .menu h6 {
    color: #632438;
    margin-bottom: 0.5em; }
  .menu p {
    margin: 0 auto 1em;
    max-width: 500px; }
  .menu img:first-child {
    margin-bottom: 1em; }
  .menu img:last-child {
    margin-top: 2em; }

/* Flourishes =================================================== */
.button-flourish {
  margin-top: 1em;
  text-align: center; }
  .button-flourish img {
    display: none; }

.header-flourish {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1em 0; }
  .header-flourish h2, .header-flourish h3, .header-flourish h4 {
    margin: 0 0.5em;
    text-align: center; }
  .header-flourish img {
    max-width: 60px; }
  .header-flourish img:last-child {
    transform: rotateY(180deg); }
  .header-flourish.header-moustache {
    margin: 0;
    background-position: left 50% bottom 0; }

.header-moustache {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 900;
  background: url(../img/flourishes/active-tab.png) left 50% bottom 0 no-repeat;
  background-size: 100px;
  padding-bottom: 1.5em;
  text-align: center;
  letter-spacing: 2px; }

.festoons-full {
  margin: -20% 0 -20%;
  z-index: 2;
  text-align: right; }
  .festoons-full img {
    width: 150%;
    max-width: none;
    transform: translateX(-10%); }
  .festoons-full .flourish--r {
    max-width: 100px;
    bottom: 100%;
    top: auto; }

.festoons-overlap {
  position: absolute;
  right: 0;
  top: 0;
  max-width: 45%;
  transform: translateY(-33.5%); }

.festoons-overlap-2 {
  position: absolute;
  right: 0;
  top: 0;
  max-width: 45%;
  transform: translateY(-16.5%); }

.flourish {
  position: absolute;
  top: 0;
  z-index: 0;
  max-width: 70px !important;
  transform: translateY(-50%); }
  .flourish--l {
    left: 0; }
  .flourish--r {
    right: 0; }
  .flourish--form {
    transform: translateY(-50%) translateX(25%);
    right: 0; }

.flourish-wagon {
  max-width: 45%; }

.flourish-lion {
  position: absolute;
  top: 0;
  right: calc(100% + 10px); }

.bunting {
  width: 300%;
  max-width: none;
  margin-top: -70px; }

.bunting-2 {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  transform: translateY(-75%);
  width: 475%;
  max-width: none; }

/* Helpers =================================================== */
.text--sans {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase; }

.text--large {
  font-size: 1.375em; }

.text--primary {
  color: #632438; }

.text--secondary {
  color: #CB2D50; }

.text--gold {
  color: #f7d89f; }

.text--error {
  color: #D0011B; }

.text--warning {
  color: #FFD400; }

.text--success {
  color: #61D001; }

.text--info {
  color: #4D95E9; }

.text--align-l {
  text-align: left; }

.text--align-c {
  text-align: center; }

.text--align-r {
  text-align: right; }

.text--black {
  font-weight: 900; }

.bg--primary {
  background: #632438; }

.bg--secondary {
  background: #CB2D50; }

.bg--cream {
  background: #f9f3e8; }

.bg--error {
  background: #D0011B; }

.bg--warning {
  background: #FFD400; }

.bg--success {
  background: #61D001; }

.bg--info {
  background: #4D95E9; }

.pad--0 {
  padding: 0em; }

.pad--0-5, .pad--1 {
  padding: 7.5px; }

.pad--2, .pad--4 {
  padding: 15px; }

.pad--t-0 {
  padding-top: 0em; }

.pad--t-0-5, .pad--t-1 {
  padding-top: 7.5px; }

.pad--t-2, .pad--t-4 {
  padding-top: 15px; }

.pad--b-0 {
  padding-bottom: 0; }

.pad--b-0-5, .pad--b-1 {
  padding-bottom: 15px; }

.pad--b-2, .pad--b-4 {
  padding-bottom: 15px; }

.mar--0 {
  margin: 0; }

.mar--0-5 {
  margin: 7.5px; }

.mar--1 {
  margin: 15px; }

.mar--2 {
  margin: 30px; }

.mar--t-0 {
  margin-top: 0; }

.mar--t-0-5, .mar--t-1 {
  margin-top: 7.5px; }

.mar--t-2, .mar--t-4 {
  margin-top: 15px; }

.mar--b-0 {
  margin-bottom: 0; }

.mar--b-0-5, .mar--b-1 {
  margin-bottom: 7.5px; }

.mar--b-2, .mar--b-4 {
  margin-bottom: 15px; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.float-image {
  max-width: 25%;
  float: right;
  margin-left: 2em;
  margin-bottom: 2em; }

@media only screen and (max-width: 599px) {
  .sm-hide {
    display: none; }
  .mobile-colour-overlay {
    background: rgba(68, 5, 25, 0.75);
    margin: -30px 0;
    padding: 60px 20px; } }

/* Header =================================================== */
#header {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  background: #632438;
  color: #fff;
  text-transform: uppercase;
  font-size: 15px;
  padding: 17px 0; }
  #header a {
    color: #fff; }
    #header a:hover {
      color: #f7d89f; }
  #header li.active a {
    color: #f7d89f; }
  #header .btn--small {
    width: 105px;
    float: right;
    margin-right: 68px; }
  #header .logo {
    float: left;
    width: 65px;
    margin: 0 12px 0 20px; }
  #header__top {
    position: absolute;
    z-index: 2;
    right: 40px;
    font-size: 12px; }
    #header__top a {
      display: inline-block;
      text-decoration: none; }
      #header__top a:hover {
        background: #88324d; }
    #header__top .text {
      display: none; }
    #header__top .icon-phone,
    #header__top .icon-basket {
      font-size: 1.2em;
      margin: 5px 12px 0 0;
      float: left; }
  #header__nav {
    float: right;
    position: relative;
    z-index: 3; }
    #header__nav__list {
      transition: 250ms; }
      #header__nav__list.tier-1-open {
        transform: translateX(-100%); }
      #header__nav__list.tier-2-open {
        transform: translateX(-200%); }
      #header__nav__list li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
        margin: 0 1em;
        padding: 0.25em 0; }
        #header__nav__list li a {
          display: block;
          padding: 0.75em 0;
          text-decoration: none;
          font-weight: normal;
          position: relative;
          font-weight: 900; }
          #header__nav__list li a .icon-chevron-right {
            position: absolute;
            right: 0;
            top: 0;
            padding: 1em;
            font-size: 15px; }
        #header__nav__list li:hover a a, #header__nav__list li.on a {
          color: #f7d89f; }
        #header__nav__list li.open > .nav-dropdown {
          visibility: visible;
          opacity: 1; }
        #header__nav__list li .nav-dropdown {
          transition: 250ms;
          visibility: hidden;
          opacity: 0;
          position: absolute;
          top: 0;
          left: 100%;
          width: 100%;
          padding-left: 2em; }
          #header__nav__list li .nav-dropdown a {
            padding-left: 0; }
          #header__nav__list li .nav-dropdown:before {
            font-family: 'icomoon' !important;
            content: '\e90b';
            color: #fff;
            float: left;
            margin-left: -1em;
            margin-top: 0.9em; }
    #header__nav .nav-caller {
      transition: all 250ms;
      position: relative;
      z-index: 2;
      display: block;
      padding: 10px;
      margin: -12px 0;
      margin-right: 2px;
      text-decoration: none; }
      #header__nav .nav-caller .line {
        transition: all 250ms;
        display: block;
        width: 22px;
        height: 3px;
        background: #fff;
        margin: 5px 0; }
    #header__nav__inner {
      transform: translateX(100%);
      transition: transform 350ms;
      background: #5c1f32;
      height: 100vh;
      width: 100vw;
      margin: 0;
      padding: 0.75em 0 2em;
      position: absolute;
      top: -12px;
      right: 0;
      overflow: auto; }
      #header__nav__inner .mobile-basket {
        background: #66283d;
        display: block;
        padding: 16px;
        margin-top: -10px;
        margin-bottom: 5px;
        font-size: 12px; }
        #header__nav__inner .mobile-basket .icon-basket {
          margin-right: 5px; }
        #header__nav__inner .mobile-basket .text--gold {
          margin-left: 5px;
          text-decoration: underline; }

/* Main =================================================== */
#main {
  zoom: 1; }
  #main:before, #main:after {
    content: '.';
    display: block;
    overflow: hidden;
    visibility: hidden;
    font-size: 0;
    line-height: 0;
    width: 0;
    height: 0; }
  #main:after {
    clear: both; }

/* Footer =================================================== */
#footer {
  background: #f9f3e8;
  font-size: 15px;
  padding-top: 30px; }
  #footer .column {
    flex: 1 1 50%;
    min-width: 0; }
  #footer h6 {
    color: #632438;
    font-size: 15px;
    font-weight: 900;
    margin: 0.75em 0; }
  #footer ul {
    padding: 0;
    margin: 0;
    list-style: none; }
    #footer ul li {
      margin: 0.25em 0; }
  #footer .social {
    font-size: 22px;
    margin-bottom: 1em; }
    #footer .social li {
      display: inline-block;
      margin: 0 0.25em; }
    #footer .social a {
      color: #632438; }
  #footer a {
    color: #000;
    text-decoration: none; }
    #footer a:hover {
      text-decoration: underline; }
  #footer .logos {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    max-width: 180px; }
    #footer .logos a {
      flex: 0 0 calc(50% - 0.75em);
      margin-bottom: 1.5em; }
      #footer .logos a img {
        max-width: 180px; }
  #footer .scroll-to {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #632438;
    text-transform: uppercase;
    font-weight: 900;
    display: block;
    width: 100px;
    line-height: 100%; }
    #footer .scroll-to img {
      transition: 150ms;
      float: right;
      width: 35px;
      margin-left: 10px; }
    #footer .scroll-to:hover {
      text-decoration: none; }
      #footer .scroll-to:hover img {
        transform: translateY(-10px); }
  #footer__bottom {
    background: #632438;
    color: #fff;
    padding: 1em 0;
    font-size: 9px; }
    #footer__bottom a {
      color: #fff; }

/* Pages =================================================== */
#page-home .section--banner {
  padding: 0 15px;
  background: #f2ede2; }
  #page-home .section--banner:before {
    background: url(../img/flourishes/festoons-2.png) 0 0 no-repeat;
    background-size: 65%; }
  #page-home .section--banner:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/flourishes/stars-2.png) left 0 bottom 20px no-repeat, url(../img/flourishes/stars-3.png) right 0 top 20px no-repeat;
    background-size: 60px; }
  #page-home .section--banner img {
    max-width: 70%;
    margin-bottom: 1em; }
  #page-home .section--banner .btn {
    margin-top: 1.5em;
    background: #f2ede2; }
  #page-home .section--banner .banner-background {
    display: none; }

#new-show .bunting {
  margin: -60px 0 30px;
  z-index: 2; }

#new-show #registration-form {
  max-width: 240px;
  margin: 40px auto 0; }

#page-about #timeline .timeline__item {
  text-align: center;
  margin-bottom: 30px; }
  #page-about #timeline .timeline__item__header {
    position: relative; }
    #page-about #timeline .timeline__item__header img {
      display: none; }
    #page-about #timeline .timeline__item__header h5, #page-about #timeline .timeline__item__header h6 {
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      margin: 0 0 0.5em;
      font-weight: 900;
      position: relative;
      z-index: 2; }
    #page-about #timeline .timeline__item__header h6 {
      color: #632438;
      letter-spacing: 0.15em; }
  #page-about #timeline .timeline__item__video {
    margin: 1em 0; }
  #page-about #timeline .timeline__item__gallery {
    display: flex;
    flex-flow: row wrap; }
    #page-about #timeline .timeline__item__gallery a {
      flex: 0 0 33.3%;
      max-width: 33.3%;
      padding: 0.25em; }

#page-product-details .product-details h1 {
  color: #632438;
  margin: 0 0 0.5em; }

#page-product-details .product-details .price {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 900;
  margin: 0.5em 0;
  font-size: 24px; }
  #page-product-details .product-details .price s {
    font-size: 18px;
    color: #632438; }

#page-product-details .add-to-basket {
  padding: 20px 0 60px; }
  #page-product-details .add-to-basket .form-controls {
    display: flex;
    align-items: center;
    justify-content: flex-start; }
  #page-product-details .add-to-basket .form-control {
    padding-bottom: 0;
    flex: 0 1 100px; }
  #page-product-details .add-to-basket select {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    width: 75px;
    font-weight: 900;
    margin: 0 20px 0 10px; }

#page-product-details .accordion p {
  line-height: 160%; }

.contact-locations a {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 900;
  text-align: center;
  color: #fff;
  padding: 0 0 3em;
  line-height: 175%;
  display: block; }
  .contact-locations a .text--gold {
    display: block;
    font-size: 0.8em; }

.booking-options img {
  width: 50px;
  margin-right: 20px; }

.ticket-prices {
  overflow: hidden; }
  .ticket-prices img {
    width: 70px;
    margin: -20px 20px 0 0; }
  .ticket-prices p {
    float: left;
    margin-right: 2em;
    margin-top: 0; }

.food-prices {
  padding: 0 30px 45px; }
  .food-prices__item {
    display: flex;
    flex-flow: row wrap; }
    .food-prices__item h5 {
      font-family: brandon-grotesque, sans-serif;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      font-weight: 900;
      font-size: 18px;
      flex: 1 1 100%;
      margin-bottom: 0.5em; }
    .food-prices__item p {
      font-size: 18px;
      margin: 0.5em 2em 0.5em 0; }
      .food-prices__item p strong {
        font-family: brandon-grotesque, sans-serif;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        font-weight: 900;
        display: block;
        font-size: 16px; }

.zeppelin {
  margin-right: 15vw;
  width: 25vw;
  max-width: 180px; }

.maps-link {
  margin-top: 0.75em;
  font-size: 0.75em;
  letter-spacing: 0.2em;
  display: block; }

@media only screen and (min-width: 600px) {
  /* Page =================================================== */
  body {
    font-size: 20px; }
  #wrapper {
    margin-top: 65px; }
  .nav-open #wrapper #wrapper__inner {
    transform: none; }
  /* Typography =================================================== */
  h1 {
    font-size: 36px; }
  h2 {
    font-size: 28px; }
  h3 {
    font-size: 26px; }
  h4 {
    font-size: 22px; }
  h5 {
    font-size: 20px; }
  h6 {
    font-size: 16px; }
    h6.reviews-title {
      margin: 0.5em 0 0;
      font-size: 18px; }
  .two-column {
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-gap: 30px;
    column-gap: 30px; }
    .two-column ul, .two-column ol, .two-column p {
      margin: 0 0 0.5em;
      page-break-inside: avoid;
      -moz-column-break-inside: avoid;
      break-inside: avoid; }
  @-moz-document url-prefix() {
    .two-column ul, .two-column ol, .two-column p {
      display: inline-block;
      width: 100%; } }
  /* Forms =================================================== */
  .form-controls {
    display: flex;
    justify-content: center;
    align-items: flex-start; }
    .form-controls .form-control {
      margin: 0 10px;
      flex: 1 1 auto; }
  .form-control {
    padding-bottom: 30px; }
  label {
    font-size: 18px; }
  input,
  textarea {
    padding-top: 32px;
    font-size: 22px; }
  select {
    padding: 20px 30px 20px 20px;
    font-size: 16px; }
  .privacy-policy {
    font-size: 20px; }
  /* Buttons =================================================== */
  .btn {
    font-size: 15px;
    border-width: 1em;
    padding: 1em;
    min-width: 17.5em; }
    .btn--square {
      min-width: 4em;
      padding: 0.5em 0; }
    .btn--small {
      padding: 0.2em 1em;
      min-width: 13.5em;
      border-width: 0.66em; }
  /* Components =================================================== */
  .breadcrumb {
    padding: 50px 0;
    font-size: 16px; }
  .review .icon-star {
    font-size: 22px; }
  .review p {
    font-size: 22px; }
    .review p.text--large {
      font-size: 26px; }
  .review cite {
    font-size: 20px; }
  .card {
    text-align: center; }
    .card h5 {
      margin: 0.5em 0; }
    .card img {
      float: none;
      margin: 0;
      width: 100%; }
    .card .text-container {
      padding: 0 30px;
      float: none;
      width: 100%; }
      .card .text-container h3, .card .text-container h5 {
        margin-top: 1em; }
      .card .text-container p {
        margin: 1em 0; }
    .card form, .card .btn {
      clear: none;
      max-width: none; }
    .card form {
      padding: 0 30px; }
    .card .btn {
      max-width: 17.5em; }
    .card--icon {
      margin: 0 15px; }
      .card--icon .text-container {
        padding: 30px 0 15px;
        text-align: left; }
        .card--icon .text-container img {
          display: block;
          float: right;
          margin: 0 0 1em 1em;
          max-width: 110px; }
  .filters__controls,
  .tabs__controls {
    font-size: 1em;
    margin: 30px 0; }
    .filters__controls li a,
    .tabs__controls li a {
      padding: 0 1em 35px; }
    .filters__controls li.active a,
    .tabs__controls li.active a {
      background-size: auto;
      padding-bottom: 35px; }
    .filters__controls--centre li,
    .tabs__controls--centre li {
      font-size: 30px; }
  .filters__content--flourish,
  .tabs__content--flourish {
    padding: 30px 15px 15px; }
    .filters__content--flourish:before,
    .tabs__content--flourish:before {
      content: '';
      background: url(../img/flourishes/star.png) no-repeat;
      background-size: 75px;
      width: 75px;
      height: 75px;
      position: absolute;
      top: 0;
      left: 0;
      transform: translateX(-40%) translateY(-40%); }
    .filters__content--flourish:after,
    .tabs__content--flourish:after {
      content: '';
      background: url(../img/flourishes/stars-3.png) no-repeat;
      background-size: 180px;
      width: 180px;
      height: 184px;
      position: absolute;
      bottom: 0;
      right: 0;
      transform: translateX(40%) translateY(40%) rotate(40deg); }
  .filters__controls {
    margin-bottom: 0;
    display: flex; }
    .filters__controls--centre {
      justify-content: center;
      align-items: center; }
      .filters__controls--centre li {
        font-size: 19px;
        flex: 1 1 auto;
        max-width: 300px;
        display: flex;
        margin: 0;
        font-size: 16px;
        position: relative;
        text-align: center;
        justify-content: center; }
        .filters__controls--centre li:after {
          content: '|';
          position: absolute;
          top: calc(50% - 1.2em);
          right: 0;
          line-height: 100%; }
        .filters__controls--centre li:last-child:after {
          display: none; }
        .filters__controls--centre li a {
          padding: 1em 1em 35px; }
  .accordion {
    margin-bottom: 45px; }
    .accordion__header:after {
      height: 20px;
      width: 30px;
      top: calc(50% - 10px); }
    .accordion__content h3 {
      font-size: 22px; }
    .accordion__content h4 {
      font-size: 26px; }
  .blog-articles__article:first-child .image {
    height: 400px; }
  .blog-articles__article:first-child .text-container {
    padding: 1em 3em 3em; }
    .blog-articles__article:first-child .text-container h6 {
      margin: 2em 0; }
  .blog-articles__article .image {
    height: 300px; }
  .blog-articles__article .text-container {
    padding: 1em; }
    .blog-articles__article .text-container .date {
      font-size: 16px; }
    .blog-articles__article .text-container p {
      font-size: 18px; }
    .blog-articles__article .text-container .read-article {
      font-size: 15px; }
  .blog-article {
    padding-bottom: 60px; }
    .blog-article__category {
      margin: 0 0 30px; }
    .blog-article__content {
      padding-top: 30px;
      margin-bottom: 90px; }
      .blog-article__content h1 {
        font-size: 34px; }
      .blog-article__content h2 {
        font-size: 24px; }
      .blog-article__content h3 {
        font-size: 26px; }
      .blog-article__content blockquote {
        margin: 40px 120px 40px 20px;
        font-size: 26px; }
  .sidebar {
    padding: 25px; }
  .recent-articles h6 {
    font-size: 15px; }
  .recent-articles h5 {
    font-size: 24px; }
  .recent-articles p {
    font-size: 20px; }
  .recent-articles .article__link {
    font-size: 14px; }
  .sidebar-shop h5 {
    font-size: 22px; }
  .grid {
    display: flex;
    flex-flow: row wrap; }
    .grid__item {
      display: block;
      flex: 1 1 50%;
      max-width: 50%;
      padding: 1.5em;
      margin: 0; }
      .grid__item img {
        max-width: none; }
  .map {
    height: 500px; }
  .locations .location h5 {
    padding: 20px 1em; }
  .locations .location h6 {
    font-size: 19px; }
  .locations .location .show-date {
    font-size: 20px; }
    .locations .location .show-date span {
      display: inline-block; }
  .locations .location .btn {
    padding: 0.25em 2em;
    margin-bottom: 2em;
    max-width: 260px;
    line-height: 120%; }
  .booking-dates .booking-date {
    flex: 0 0 25%;
    max-width: calc(25% - 0.5em); }
    .booking-dates .booking-date__date {
      font-size: 18px; }
      .booking-dates .booking-date__date strong {
        font-size: 30px; }
    .booking-dates .booking-date__text .icon-plus {
      font-size: 14px; }
    .booking-dates .booking-date__details table {
      width: 220px;
      margin: 0 auto; }
      .booking-dates .booking-date__details table th {
        font-size: 19px; }
      .booking-dates .booking-date__details table td {
        font-size: 14px; }
    .booking-dates .booking-date.active:nth-child(odd) .booking-date__inner, .booking-dates .booking-date.active:nth-child(even) .booking-date__inner {
      left: 50%; }
    .booking-dates .booking-date.active:nth-child(4n+1) .booking-date__inner {
      left: 100%; }
    .booking-dates .booking-date.active:nth-child(4n) .booking-date__inner {
      left: 0; }
  .menu {
    padding: 30px 60px; }
    .menu h5, .menu h6 {
      font-size: 19px; }
  .shop-sort {
    justify-content: flex-end; }
    .shop-sort__show, .shop-sort__sort, .shop-sort__count {
      display: block;
      border-right: 1px solid #000;
      padding-right: 25px;
      margin-right: 25px; }
      .shop-sort__show:last-child, .shop-sort__sort:last-child, .shop-sort__count:last-child {
        border-right: none;
        padding-right: 0;
        margin-right: 0; }
    .shop-sort__sort {
      display: flex;
      flex: 0 1 300px;
      align-items: center;
      padding-bottom: 0; }
      .shop-sort__sort span {
        flex: 0 0 90px; }
      .shop-sort__sort select {
        flex: 0 0 210px; }
  .product-list__item {
    flex: 1 1 33.3%;
    max-width: calc(33.3% - 0.75em); }
    .product-list__item .text-container {
      padding: 1em; }
    .product-list__item h5 {
      font-size: 19px; }
    .product-list__item .price {
      font-size: 26px; }
      .product-list__item .price s {
        font-size: 22px; }
  /* Flourishes =================================================== */
  .button-flourish {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .button-flourish .btn {
      margin: 0 1em;
      min-width: 100px;
      padding: 0.5em 1em; }
    .button-flourish img {
      display: block;
      width: 50px;
      min-height: 20px;
      flex: 1 1 auto; }
    .button-flourish img:last-child {
      transform: rotateY(180deg); }
  .header-flourish img {
    max-width: 100px; }
  .header-flourish.header-moustache {
    background-position: left 50% bottom 30px; }
  .header-moustache {
    background-size: auto; }
  .festoons-t-r {
    background: url(../img/flourishes/festoons-3.png) 100% 0 no-repeat;
    background-size: 50%; }
  .festoons-full {
    margin: -5% 0 -10%; }
    .festoons-full img {
      width: 100%;
      max-width: 100%;
      transform: none; }
  .flourish {
    max-width: 120px !important; }
    .flourish--l {
      left: calc(50% - 50vw); }
    .flourish--r {
      right: calc(50% - 50vw); }
  .bunting {
    width: 100%; }
  .bunting-2 {
    top: 0;
    right: auto;
    transform: translateY(-50%);
    width: 100%; }
  /* Layout =================================================== */
  .section {
    padding: 105px 0 45px; }
    .section--pad-b {
      padding-bottom: 105px; }
    .section--banner {
      padding: 0 0 180px;
      min-height: 400px; }
      .section--banner:before {
        background-size: 380px;
        background-position: 0 -10px, auto; }
      .section--banner .text-container {
        margin: 90px auto 50px; }
    .section--bg-image {
      min-height: 400px; }
    .section--full {
      min-height: 800px;
      display: flex; }
    .section--book {
      padding: 40px 0 20px; }
      .section--book .column .stars {
        display: block;
        position: absolute;
        top: -70px;
        left: 50%;
        transform: translateX(-50%);
        max-width: 50vw; }
      .section--book .column img {
        width: auto; }
        .section--book .column img:last-child {
          display: block; }
      .section--book .column h2 {
        font-size: 24px; }
    .section--beltane {
      padding: 120px 0; }
  .row--overlap .column {
    margin-top: -100px; }
  .column--m-1-1 {
    flex-basis: 100.0%;
    max-width: 100.0%; }
  .column--m-2-1 {
    flex-basis: 50.0%;
    max-width: 50.0%; }
  .column--m-3-1 {
    flex-basis: 33.333%;
    max-width: 33.333%; }
  .column--m-3-2 {
    flex-basis: 66.666%;
    max-width: 66.666%; }
  .column--m-4-1 {
    flex-basis: 25.0%;
    max-width: 25.0%; }
  .column--m-5-2 {
    flex-basis: 40.0%;
    max-width: 40.0%; }
  .column--m-5-3 {
    flex-basis: 60.0%;
    max-width: 60.0%; }
  .column--m-align-l {
    justify-content: flex-start; }
  .column--m-align-c {
    justify-content: center; }
  .column--m-align-r {
    justify-content: flex-end; }
  .column--m-valign-t {
    align-items: flex-start; }
  .column--m-valign-c {
    align-items: center; }
  .column--m-valign-b {
    align-items: flex-end; }
  /* Helpers =================================================== */
  .text--m-align-l {
    text-align: left; }
  .text--m-align-c {
    text-align: center; }
  .text--m-align-r {
    text-align: right; }
  .pad--0 {
    padding: 0em; }
  .pad--0-5 {
    padding: 7.5px; }
  .pad--1 {
    padding: 15px; }
  .pad--2 {
    padding: 30px; }
  .pad--4 {
    padding: 60px; }
  .pad--t-0 {
    padding-top: 0em; }
  .pad--t-0-5 {
    padding-top: 7.5px; }
  .pad--t-1 {
    padding-top: 15px; }
  .pad--t-2 {
    padding-top: 30px; }
  .pad--t-4 {
    padding-top: 60px; }
  .pad--r-0 {
    padding-right: 0; }
  .pad--r-0-5 {
    padding-right: 7.5px; }
  .pad--r-1 {
    padding-right: 15px; }
  .pad--r-2 {
    padding-right: 30px; }
  .pad--r-4 {
    padding-right: 60px; }
  .pad--b-0 {
    padding-bottom: 0; }
  .pad--b-0-5 {
    padding-bottom: 7.5px; }
  .pad--b-1 {
    padding-bottom: 15px; }
  .pad--b-2 {
    padding-bottom: 30px; }
  .pad--b-4 {
    padding-bottom: 60px; }
  .pad--l-0 {
    padding-left: 0; }
  .pad--l-0-5 {
    padding-left: 7.5px; }
  .pad--l-1 {
    padding-left: 15px; }
  .pad--l-2 {
    padding-left: 30px; }
  .pad--l-4 {
    padding-left: 60px; }
  .mar--0 {
    margin: 0; }
  .mar--0-5 {
    margin: 7.5px; }
  .mar--1 {
    margin: 15px; }
  .mar--2 {
    margin: 30px; }
  .mar--t-0 {
    margin-top: 0; }
  .mar--t-0-5 {
    margin-top: 7.5px; }
  .mar--t-1 {
    margin-top: 15px; }
  .mar--t-2 {
    margin-top: 30px; }
  .mar--t-4 {
    margin-top: 60px; }
  .mar--r-0 {
    margin-right: 0; }
  .mar--r-0-5 {
    margin-right: 7.5px; }
  .mar--r-1 {
    margin-right: 15px; }
  .mar--r-2 {
    margin-right: 30px; }
  .mar--r-4 {
    margin-right: 60px; }
  .mar--b-0 {
    margin-bottom: 0; }
  .mar--b-0-5 {
    margin-bottom: 7.5px; }
  .mar--b-1 {
    margin-bottom: 15px; }
  .mar--b-2 {
    margin-bottom: 30px; }
  .mar--b-4 {
    margin-bottom: 60px; }
  .mar--l-0 {
    margin-left: 0; }
  .mar--l-0-5 {
    margin-left: 7.5px; }
  .mar--l-1 {
    margin-left: 15px; }
  .mar--l-2 {
    margin-left: 30px; }
  .mar--l-4 {
    margin-left: 60px; }
  /* Header =================================================== */
  #header {
    padding: 1em 0; }
    #header .logo {
      width: 85px; }
    #header .btn--small {
      margin-right: 115px;
      padding: 0; }
    #header__top {
      right: 50px;
      font-size: 18px; }
      #header__top a {
        padding: 0.1em 0.25em; }
    #header__nav .nav-caller {
      padding: 15px; }
    #header__nav__inner {
      max-width: 350px;
      top: 50px;
      height: calc(100vh - 65px); }
  /* Main =================================================== */
  /* Footer =================================================== */
  #footer .column {
    flex: 1 1 25%; }
  #footer__bottom {
    font-size: 16px; }
  /* Pages =================================================== */
  #new-show .bunting {
    position: absolute;
    margin: -100px 0 0;
    left: 0;
    transform: translateY(-40%); }
  #new-show #registration-form {
    max-width: 680px;
    margin: 60px auto 0; }
  #page-about .bear-horse {
    margin: -200px auto 20px;
    max-width: 50vw; }
  #page-about #animals-illustration {
    background: url(../img/flourishes/animals-illustration.png) calc(50% + 700px) 100% no-repeat; }
  #page-about #timeline {
    padding: 50px 0 150px; }
    #page-about #timeline .timeline {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      position: relative;
      margin-top: 40px; }
      #page-about #timeline .timeline:before {
        content: '';
        position: absolute;
        top: 0;
        left: calc(50% - 1px);
        height: 100%;
        width: 3px;
        background: url(../img/flourishes/timeline-vertical.png) 50% 0 no-repeat;
        background-size: auto 100%; }
      #page-about #timeline .timeline__item {
        flex: 0 0 50%;
        max-width: 50%;
        padding-left: 30px;
        padding-right: 10px;
        margin-top: 350px;
        position: relative;
        text-align: left;
        margin-bottom: 0; }
        #page-about #timeline .timeline__item:before {
          content: '';
          width: 25px;
          height: 3px;
          position: absolute;
          top: 0;
          left: 0;
          background: url(../img/flourishes/timeline-horizontal.png) 50% 0 no-repeat;
          background-size: 100%; }
        #page-about #timeline .timeline__item__header {
          zoom: 1; }
          #page-about #timeline .timeline__item__header:before, #page-about #timeline .timeline__item__header:after {
            content: '.';
            display: block;
            overflow: hidden;
            visibility: hidden;
            font-size: 0;
            line-height: 0;
            width: 0;
            height: 0; }
          #page-about #timeline .timeline__item__header:after {
            clear: both; }
          #page-about #timeline .timeline__item__header img {
            position: absolute;
            bottom: -20px;
            right: 0;
            z-index: 1;
            display: block;
            max-width: 75%; }
          #page-about #timeline .timeline__item__header h5 {
            max-width: 50%;
            float: left;
            clear: left; }
          #page-about #timeline .timeline__item__header h6 {
            font-size: 20px;
            margin-top: -0.5em;
            max-width: 50%;
            float: left; }
        #page-about #timeline .timeline__item:nth-child(odd) {
          text-align: right;
          padding-left: 10px;
          padding-right: 30px;
          margin-top: -100px; }
          #page-about #timeline .timeline__item:nth-child(odd):before {
            left: auto;
            right: 0;
            transform: rotate(180deg); }
          #page-about #timeline .timeline__item:nth-child(odd) .timeline__item__header img {
            left: 0;
            right: auto; }
          #page-about #timeline .timeline__item:nth-child(odd) .timeline__item__header h5 {
            float: right;
            clear: right; }
          #page-about #timeline .timeline__item:nth-child(odd) .timeline__item__header h6 {
            float: right; }
        #page-about #timeline .timeline__item:first-child {
          margin-top: 0; }
  #page-animals #animals {
    padding: 0 0 75px;
    /*background: url(../img/flourishes/animals-illustration-full.jpg) left 100% bottom 75px no-repeat;
      background-size: 55vw;*/ }
  .contact-locations {
    display: flex;
    flex-flow: row wrap;
    font-size: 18px; }
    .contact-locations a {
      flex: 1 1 33.3%;
      max-width: 50%;
      padding: 3em 1em; }
  .booking-options img {
    width: auto;
    margin-right: 0; }
  .ticket-prices {
    overflow: hidden; }
    .ticket-prices img {
      width: auto;
      margin: 0; }
    .ticket-prices p {
      float: none;
      margin-right: 0;
      margin-top: 1em; }
  .food-prices {
    display: flex;
    text-align: center;
    padding: 0 15px 75px; }
    .food-prices__item {
      justify-content: center; }
      .food-prices__item h5 {
        font-size: 24px;
        margin-top: 0; }
      .food-prices__item p {
        font-size: 22px;
        margin: 0.5em 1em; }
  #page-product-details .product-details h1 {
    font-size: 48px; }
  #page-product-details .product-details .price {
    font-size: 30px; }
    #page-product-details .product-details .price s {
      font-size: 24px; }
  #page-product-details .product-details .add-to-basket select {
    margin: 0 40px 0 20px; }
  #page-product-details .product-details .accordion {
    font-size: 16px;
    margin-bottom: 1em; }
    #page-product-details .product-details .accordion__header {
      font-size: 19px; }
    #page-product-details .product-details .accordion__content {
      border-bottom: 0;
      padding: 0.5em 0; } }

@media only screen and (max-width: 979px) {
  .md-hide {
    display: none; }
  #footer .logos a img {
    max-width: 150px; } }

@media only screen and (min-width: 980px) {
  /* Page =================================================== */
  /* Typography =================================================== */
  /* Forms =================================================== */
  /* Buttons =================================================== */
  /* Components =================================================== */
  .filters__content--flourish,
  .tabs__content--flourish {
    padding: 45px 60px 15px; }
  .location-sort {
    margin: -60px 0 30px; }
  .locations .location {
    flex: 1 1 33.3%;
    max-width: calc(33.3% - 1em); }
  .booking-dates .booking-date {
    flex: 0 0 20%;
    max-width: calc(20% - 0.5em); }
    .booking-dates .booking-date.active:nth-child(4n) .booking-date__inner, .booking-dates .booking-date.active:nth-child(4n+1) .booking-date__inner {
      left: 50%; }
    .booking-dates .booking-date.active:nth-child(5n+1) .booking-date__inner {
      left: 100%; }
    .booking-dates .booking-date.active:nth-child(5n) .booking-date__inner {
      left: 0; }
  .product-list__item {
    flex: 1 1 25%;
    max-width: calc(25% - 0.75em); }
  .blog-articles__article {
    flex: 1 1 33.3%;
    max-width: calc(33.3% - 1em); }
    .blog-articles__article:first-child {
      flex-flow: row; }
      .blog-articles__article:first-child:after {
        width: 155px;
        height: 307px;
        bottom: 0;
        left: calc(100% - 100px);
        right: auto; }
      .blog-articles__article:first-child .image {
        flex: 0 0 50%;
        max-width: 50%;
        height: auto; }
      .blog-articles__article:first-child .text-container {
        padding: 3em 5em 5em;
        background-position: 10px 10px;
        background-size: 140px; }
    .blog-articles__article .image {
      height: 300px; }
    .blog-articles__article .text-container {
      padding: 1em 2em; }
  .opening-times th, .opening-times td {
    padding: 0.5em; }
  /* Flourishes =================================================== */
  .header-flourish img {
    max-width: 218px; }
  .button-flourish .btn {
    min-width: 17.5em;
    padding: 1em; }
  .festoons-t-r {
    background-size: 35%; }
  .star-stream {
    max-width: none !important;
    top: 100px;
    right: 0; }
    .star-stream + .review {
      margin-top: 500px; }
  /* Layout =================================================== */
  .section--banner {
    padding: 105px 0 45px;
    min-height: 400px; }
    .section--banner:before {
      width: 55vw;
      height: 100%;
      background: url(../img/flourishes/festoons-banner.png) 0 -15px no-repeat, linear-gradient(to right, #f2ede2 70%, transparent 100%);
      background-size: 380px, 100%; }
    .section--banner:after {
      top: calc(100% - 100px);
      left: calc(50% - 800px);
      right: auto;
      width: 180px;
      height: 168px; }
    .section--banner .banner-background {
      background-position: 100% 50%;
      top: 0;
      bottom: auto;
      height: 100%;
      width: 70vw; }
    .section--banner .text-container {
      margin: 70px auto 30px; }
  .section--book {
    padding: 50px 0 60px; }
    .section--book .column .stars {
      max-width: 100%; }
    .section--book .column h2 {
      font-size: 38px; }
  .column--l-1-1 {
    flex-basis: 100.0%;
    max-width: 100.0%; }
  .column--l-2-1 {
    flex-basis: 50.0%;
    max-width: 50.0%; }
  .column--l-3-1 {
    flex-basis: 33.333%;
    max-width: 33.333%; }
  .column--l-3-2 {
    flex-basis: 66.666%;
    max-width: 66.666%; }
  .column--l-4-1 {
    flex-basis: 25.0%;
    max-width: 25.0%; }
  .column--l-4-3 {
    flex-basis: 75.0%;
    max-width: 75.0%; }
  .column--l-5-1 {
    flex-basis: 20.0%;
    max-width: 20.0%; }
  .column--l-5-2 {
    flex-basis: 40.0%;
    max-width: 40.0%; }
  .column--l-5-3 {
    flex-basis: 60.0%;
    max-width: 60.0%; }
  .column--l-6-1 {
    flex-basis: 16.666%;
    max-width: 16.666%; }
  .column--l-8-1 {
    flex-basis: 12.5%;
    max-width: 12.5%; }
  .column--l-right {
    order: 2; }
  .column--l-align-l {
    justify-content: flex-start; }
  .column--l-align-c {
    justify-content: center; }
  .column--l-align-r {
    justify-content: flex-end; }
  .column--l-valign-t {
    align-items: flex-start; }
  .column--l-valign-c {
    align-items: center; }
  .column--l-valign-b {
    align-items: flex-end; }
  /* Helpers =================================================== */
  .text--l-align-l {
    text-align: left; }
  .text--l-align-c {
    text-align: center; }
  .text--l-align-r {
    text-align: right; }
  /* Header =================================================== */
  /* Main =================================================== */
  /* Footer =================================================== */
  #footer .column {
    flex: 1 1 auto;
    justify-content: space-between; }
  #footer .scroll-to {
    float: right;
    margin-right: 40px; }
  #footer .logos {
    max-width: none; }
    #footer .logos a {
      flex: 1 1 auto; }
  /* Pages =================================================== */
  #page-home .section--banner:before {
    background: url(../img/flourishes/festoons-2.png) 0 0 no-repeat, linear-gradient(to right, #f2ede2 70%, transparent 100%);
    background-size: 280px, 100%; }
  #page-home .section--banner img {
    max-width: 220px; }
  #page-home .section--banner .banner-background {
    display: block; }
  #page-home .section--banner .text--large {
    font-size: 1.2em; }
  #page-home #plan-trip {
    padding-bottom: 150px;
    background: url(../img/images/about/wagon.png) 70% 101.6% no-repeat;
    background-size: 187px; }
  #page-about .bear-horse {
    margin: -200px 0 50px;
    max-width: 100%; }
  #page-about #timeline .timeline {
    margin-top: 100px; }
    #page-about #timeline .timeline__item__header img {
      bottom: -22px; }
    #page-about #timeline .timeline__item__gallery a {
      flex: 0 0 25%;
      max-width: 25%; }
  #page-animals #animals {
    padding: 0 0 150px;
    background-position: left 100% bottom 150px; }
  .contact-locations a {
    flex: 1 1 25%;
    max-width: 25%; }
  .food-prices {
    display: block;
    text-align: left;
    padding: 0 0 45px 15px; }
    .food-prices__item {
      justify-content: flex-start;
      padding: 15px; }
      .food-prices__item p {
        margin: 0 2em 0 0; }
  #page-product-details .product-details h1 {
    margin: 1.5em 0 0.5em; } }

@media only screen and (min-width: 1240px) {
  /* Page =================================================== */
  body {
    font-size: 22px; }
  #wrapper {
    margin-top: 134px; }
  /* Typography =================================================== */
  h1 {
    font-size: 44px; }
  h2 {
    font-size: 38px; }
  h3 {
    font-size: 34px; }
  h4 {
    font-size: 30px; }
  h5 {
    font-size: 24px; }
  h6 {
    font-size: 16px; }
  /* Forms =================================================== */
  /* Buttons =================================================== */
  /* Components =================================================== */
  .review {
    margin: 50px 0; }
    .review--home {
      margin: 0 auto 20px;
      max-width: 1060px; }
    .review .icon-star {
      font-size: 30px; }
    .review p {
      font-size: 26px;
      line-height: 140%; }
      .review p.text--large {
        font-size: 38px; }
    .review cite {
      font-size: 26px; }
  .card--icon .text-container img {
    max-width: 160px; }
  .locations .location {
    flex: 1 1 25%;
    max-width: calc(25% - 1em); }
  .booking-dates .booking-date {
    flex: 0 0 14.28%;
    max-width: calc(14.28% - 0.5em); }
    .booking-dates .booking-date.active:nth-child(5n) .booking-date__inner, .booking-dates .booking-date.active:nth-child(5n+1) .booking-date__inner {
      left: 50%; }
    .booking-dates .booking-date.active:nth-child(7n+1) .booking-date__inner {
      left: 100%; }
    .booking-dates .booking-date.active:nth-child(7n) .booking-date__inner {
      left: 0; }
  .opening-times {
    margin-top: 75px; }
    .opening-times th, .opening-times td {
      padding: 1em; }
  .blog-articles__article:first-child .image {
    height: auto; }
  .blog-articles__article .image {
    height: 350px; }
  .sidebar {
    margin-left: 20px; }
  /* Flourishes =================================================== */
  .flourish {
    max-width: 180px !important; }
    .flourish--l {
      left: calc(50% - 780px); }
    .flourish--r {
      right: calc(50% - 780px); }
  .festoons-t-r {
    background-size: auto; }
  .star-stream {
    max-width: none !important;
    right: 0; }
  .festoons-full .flourish--r {
    max-width: 140px; }
  .festoons-full-home img {
    max-width: 100%;
    width: auto; }
  /* Layout =================================================== */
  .section--banner:before {
    background-size: auto, 100%; }
  .section--bg-image {
    min-height: 600px; }
  .column--xl-1-1 {
    flex-basis: 100.0%;
    max-width: 100.0%; }
  .column--xl-2-1 {
    flex-basis: 50.0%;
    max-width: 50.0%; }
  .column--xl-3-1 {
    flex-basis: 33.333%;
    max-width: 33.333%; }
  .column--xl-3-2 {
    flex-basis: 66.666%;
    max-width: 66.666%; }
  .column--xl-4-1 {
    flex-basis: 25.0%;
    max-width: 25.0%; }
  /* Helpers =================================================== */
  .text--xl-align-l {
    text-align: left; }
  .text--xl-align-c {
    text-align: center; }
  .text--xl-align-r {
    text-align: right; }
  /* Header =================================================== */
  #header {
    position: absolute;
    transition: 250ms;
    padding: 0; }
    #header .logo {
      width: 110px; }
    #header .btn--small {
      margin-right: 15px;
      padding: 0.2em 1em; }
    #header__bottom {
      padding: 2em 0; }
      #header__bottom .column {
        display: flex;
        align-items: center; }
    #header__nav {
      display: flex;
      flex: 1 1 auto;
      float: none; }
      #header__nav .nav-caller {
        display: none; }
      #header__nav__inner {
        transition: none;
        transform: none;
        position: relative;
        top: 0;
        right: 0;
        max-width: none;
        height: auto;
        width: auto;
        background: none;
        border: none;
        padding: 0 0 0 2em;
        overflow: visible; }
        #header__nav__inner .mobile-basket {
          display: none; }
      #header__nav__list {
        display: flex;
        justify-content: space-between; }
        #header__nav__list > li.has-children > a > .icon-chevron-right {
          display: none; }
        #header__nav__list li {
          position: relative;
          padding: 0;
          margin: 0;
          border: none; }
          #header__nav__list li:hover > a {
            color: #f7d89f; }
          #header__nav__list li:hover > .nav-dropdown {
            transform: none !important;
            visibility: visible;
            opacity: 1; }
          #header__nav__list li a {
            padding: 0.75em 1em; }
          #header__nav__list li .nav-dropdown {
            font-size: 14px;
            transition: 250ms;
            transform: translateY(1em);
            position: absolute;
            top: calc(100% + 32px);
            left: calc(50% - 130px);
            z-index: 3;
            background: #632438;
            width: 260px;
            padding-left: 0; }
            #header__nav__list li .nav-dropdown:before {
              content: '';
              bottom: 100%;
              left: 0;
              height: 35px;
              width: 100%;
              position: absolute;
              margin: 0; }
            #header__nav__list li .nav-dropdown:after {
              display: none; }
            #header__nav__list li .nav-dropdown .icon-chevron-right {
              display: block;
              padding: 0;
              top: auto;
              bottom: 1em;
              right: 1em; }
            #header__nav__list li .nav-dropdown > li:first-child > a {
              padding-top: 2em; }
            #header__nav__list li .nav-dropdown > li:last-child > a {
              padding-bottom: 2em; }
            #header__nav__list li .nav-dropdown a {
              padding-left: 2em;
              padding-right: 2em; }
            #header__nav__list li .nav-dropdown .nav-dropdown {
              transform: translateX(1em);
              top: 0;
              left: 100%;
              background: #f9f3e8; }
              #header__nav__list li .nav-dropdown .nav-dropdown a {
                color: #632438; }
                #header__nav__list li .nav-dropdown .nav-dropdown a:hover {
                  color: #ae3f62; }
    #header__top {
      background: #5d2032;
      position: relative;
      right: auto;
      line-height: 30px;
      font-size: 12px; }
      #header__top a {
        padding: 0 1em;
        margin: 0 0 0 2rem; }
      #header__top .text {
        display: inline-block; }
      #header__top .icon-phone,
      #header__top .icon-basket {
        margin: 8px 8px 0 0; }
  /* Main =================================================== */
  /* Footer =================================================== */
  #footer .scroll-to {
    float: none;
    margin-right: 0; }
  #footer .logos {
    max-width: 180px; }
    #footer .logos a {
      /*flex: 0 0 calc(50% - 0.75em);*/ }
  /* Pages =================================================== */
  #page-home .section--banner {
    padding: 105px 0 45px; }
    #page-home .section--banner:before {
      background-size: 50%, auto; }
    #page-home .section--banner img {
      max-width: 100%; }
    #page-home .section--banner .text--large {
      font-size: 1.375em; }
  #page-about #timeline .timeline__item {
    padding-left: 100px;
    padding-right: 50px; }
    #page-about #timeline .timeline__item:before {
      width: 54px; }
    #page-about #timeline .timeline__item__header h5 {
      max-width: none;
      float: none;
      clear: none; }
    #page-about #timeline .timeline__item__header h6 {
      font-size: 20px;
      margin-top: -0.5em;
      max-width: none;
      float: none; }
    #page-about #timeline .timeline__item:nth-child(odd) {
      padding-left: 50px;
      padding-right: 100px; }
  .food-prices {
    display: flex; }
  #page-show #banner .video-container {
    position: relative;
    margin: 0 -20px; }
    #page-show #banner .video-container .responsive-video {
      position: absolute;
      top: calc(100% - 100px);
      width: 100%; }
  .contact-locations {
    padding: 2em 0; } }

@media only screen and (min-width: 1770px) {
  #page-home .section--banner:before {
    background-size: auto; }
  #page-home .section--banner:after {
    top: 0;
    left: 0;
    bottom: auto;
    width: 50vw;
    height: 100%;
    background: url(../img/flourishes/stars-background.png) 0% 55% no-repeat;
    background-size: cover;
    background-position-x: -50px; } }

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?n2nbfe");
  src: url("../fonts/icomoon.eot?n2nbfe#iefix") format("embedded-opentype"), url("../fonts/icomoon.woff2?n2nbfe") format("woff2"), url("../fonts/icomoon.ttf?n2nbfe") format("truetype"), url("../fonts/icomoon.woff?n2nbfe") format("woff"), url("../fonts/icomoon.svg?n2nbfe#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-pause:before {
  content: "\e90d"; }

.icon-arrow-right:before {
  content: "\e908"; }

.icon-email:before {
  content: "\e909"; }

.icon-chevron-down:before {
  content: "\e906"; }

.icon-chevron-right:before {
  content: "\e90a"; }

.icon-chevron-left:before {
  content: "\e90b"; }

.icon-plus:before {
  content: "\e907"; }

.icon-add:before {
  content: "\e907"; }

.icon-sum:before {
  content: "\e907"; }

.icon-twitter:before {
  content: "\e903"; }

.icon-brand:before {
  content: "\e903"; }

.icon-tweet:before {
  content: "\e903"; }

.icon-social:before {
  content: "\e903"; }

.icon-facebook:before {
  content: "\e904"; }

.icon-brand1:before {
  content: "\e904"; }

.icon-social1:before {
  content: "\e904"; }

.icon-instagram:before {
  content: "\e905"; }

.icon-brand2:before {
  content: "\e905"; }

.icon-social2:before {
  content: "\e905"; }

.icon-play:before {
  content: "\e90c"; }

.icon-star:before {
  content: "\e902"; }

.icon-basket:before {
  content: "\e900"; }

.icon-phone:before {
  content: "\e901"; }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before, .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    transform: scale(0.75); }
  .mfp-arrow-left {
    transform-origin: 0; }
  .mfp-arrow-right {
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.form-control label {
  z-index: 1; }

.woocommerce div.product form.cart {
  margin-bottom: 0; }

.woocommerce span.onsale {
  left: unset;
  right: -.5em; }

.woocommerce .woocommerce-ordering {
  margin: 0; }

.woocommerce label {
  position: relative; }

.woocommerce input, .woocommerce textarea, .woocommerce select {
  padding: 6px; }

.woocommerce #coupon_code {
  width: 120px;
  font-size: 16px; }

.woocommerce .button.alt {
  background-color: #632438 !important; }

.woocommerce .product-list__item {
  position: relative; }

.woocommerce .woocommerce-thankyou-order-details li {
  margin-bottom: 3em; }

.woocommerce #page-product-details .product-details .add-to-basket select {
  margin-top: 15px; }
