/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
* {
  box-sizing: border-box; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

/* COLORS */
.white {
  color: #fff; }

/* GRADIENTS */
.gradient-mint, .background-dark {
  background: #155b36;
  background: -moz-linear-gradient(top, #155b36 0%, #489a6f 100%);
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #155b36), color-stop(100%, #489a6f));
  background: -webkit-linear-gradient(top, #155b36 0%, #489a6f 100%);
  background: -o-linear-gradient(top, #155b36 0%, #489a6f 100%);
  background: -ms-linear-gradient(top, #155b36 0%, #489a6f 100%);
  background: linear-gradient(to bottom, #155b36 0%, #489a6f 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=$color-mint-500, endColorstr=$color-mint-900, GradientType=0 ); }

body {
  font-family: 'Abel', sans-serif; }

h1 {
  display: inline-block;
  position: relative;
  margin: 100px 0 0 0;
  font-family: 'Niconne', cursive;
  text-shadow: #222 5px 10px 10px;
  font-size: 3rem;
  font-family: serif;
  font-style: italic; }

h2 {
  margin-bottom: 48px;
  font-size: 48px;
  font-family: 'Playfair Display', serif; }

h3 {
  margin-bottom: 24px;
  font-size: 38px; }

h4 {
  margin-bottom: 24px;
  font-size: 32px; }

h1, h2, h3, h4 {
  width: 100%; }

p {
  width: 100%;
  font-size: 18px;
  line-height: 36px;
  margin: 15px 0; }

.intro {
  max-width: 500px;
  margin: 0;
  font-size: 18px;
  overflow: hidden; }
  @media (min-width: 768px) {
    .intro {
      margin: 32px 0 128px 0; } }

header {
  position: absolute;
  width: 100%;
  top: 10px;
  padding: 15px 0;
  z-index: 998; }
  header a {
    color: #fff;
    text-decoration: none;
    margin-right: 10px; }

.left {
  float: left; }

.right {
  float: right; }

.content {
  position: relative;
  left: 0;
  transition-duration: .75s; }

.section {
  padding: 32px 0; }
  .section:first-child {
    padding-top: 64px; }
    
 .section-price-list {
    padding: 60px 0;
 }
 
.section-price-list .container  {
    border: 10px solid #fff;
    padding: 30px;
    border-style: double;
    outline: 10px solid white;
    outline-offset: -25px;
}


.container {
  padding: 0 20px; }
  @media (min-width: 768px) {
    .container {
      padding: 0 45px;
      max-width: 992px;
      margin: 0 auto; } }

.flex {
  display: flex;
  justify-content: space-around; }
  @media (max-width: 768px) {
    .flex {
      flex-direction: column; } }
  @media (max-width: 768px) {
    .flex.reverse {
      flex-direction: column-reverse; } }
  @media (min-width: 768px) {
    .flex > div {
      margin: 10px 10px 0 0; } }

.full-width {
  position: relative;
  width: 100%; }

.half-width {
  position: relative;
  width: 50%;
  padding: 0; }
  @media (max-width: 768px) {
    .half-width {
      width: 100%; } }

.one-third {
  width: 33.333%; }
  @media (max-width: 768px) {
    .one-third {
      width: 100%; } }

.one-fourth {
  width: 25%; }
  @media (max-width: 768px) {
    .one-fourth {
      width: 100%; } }

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

.banner-booking {
  position: fixed;
  width: 100%;
  bottom: 0;
  background-color: rgba(34, 34, 34, 0.85); }

@media (max-width: 768px) {
  .event {
    margin: 10px 0; } }

.event > div {
  background: rgba(72, 154, 111, 0.25);
  padding: 10px;
  text-align: center;
  color: black; }
  @media (min-width: 768px) {
    .event > div.event-description {
      width: 100%;
      text-align: left;
      padding: 30px 10px; }
    .event > div.event-ticket {
      padding: 23px 10px; } }

.event-date .day {
  font-size: 28px; }

.event-date .month {
  font-size: 18px;
  letter-spacing: 1px; }

.icon {
  cursor: pointer; }
  .icon-menu {
    position: fixed;
    width: 34px;
    height: 34px;
    top: 20px;
    right: 20px;
    z-index: 999; }
    .icon-menu span {
      color: #fff;
      box-shadow: 2px 2px 2px rgba(34, 34, 34, 0.65); }
      .icon-menu span.bar {
        background: #fff;
        position: absolute;
        width: 34px;
        height: 5px;
        transition-duration: .75s; }
        .icon-menu span.bar-1 {
          top: 0; }
        .icon-menu span.bar-2 {
          top: 15px; }
      .icon-menu span.text {
        position: relative;
        top: 25px;
        box-shadow: none;
        text-shadow: 2px 2px 2px rgba(34, 34, 34, 0.65); }
  .icon-scroll {
    width: 150px;
    display: block;
    margin: 75px auto 50px auto;
    opacity: 0.25;
    transition-duration: .5s; }
    .icon-scroll:hover {
      opacity: 0.85; }

nav {
  display: flex;
  flex-direction: column;
  position: fixed;
  width: 60%;
  height: 100%;
  right: -60%;
  background: #155b36;
  transition-duration: .75s; }
  @media (min-width: 992px) {
    nav {
      width: 30%;
      right: -30%; } }
  nav a {
    padding: 10px 20px;
    color: #fff;
    font-size: 24px;
    text-decoration: none;
    transition-duration: .25s; }
    nav a:hover {
      background: rgba(34, 34, 34, 0.65); }
    nav a:hover {
      transform: scale(1.05); }

body.expanded nav {
  right: 0; }

body.expanded .content {
  left: -60%; }

@media (min-width: 992px) {
  body.expanded .content {
    left: -30%; } }

body.expanded .bar-1 {
  transform: rotate(45deg); }

body.expanded .bar-2 {
  top: 0;
  transform: rotate(-45deg); }

.background {
  background-color: #155b36; }
  .background-light {
    background-color: #bdf4d7; }
    .background-light h2 {
      color: #155b36; }
  .background-dark * {
    color: #fff; }
  .background-dark h2 {
    color: #bdf4d7; }
  .background-home {
    background: url("/images/background-home.jpg?v=3") no-repeat;
    background-size: cover; }
    @media (max-width: 768px) {
      .background-home {
        background-size: cover;
        background-position: 75% 0;
        background-color: #222; } }
  .background-services {
    background-image: url("/images/background-services.svg");
    background-repeat: no-repeat;
    background-size: cover; }

.logo img {
  width: 200px;
  margin: 0 auto;
  position: relative;
  display: block;
  box-shadow: black 25px 25px 50px; }

.front {
  transform: scale(0.9);
  position: absolute; }
  .front-left {
    left: 150px; }
  .front-right {
    left: 100px; }

.back {
  opacity: 0.5;
  filter: blur(2px) grayscale(1); }

form {
  display: block;
  width: 100%;
  padding: 20px;
  margin: 10px 0;
  border: 1px solid grey; }
  form fieldset {
    border: 0;
    padding: 0;
    margin: 10px 0; }
  form label {
    width: 100%; }
  form input[type=radio] {
    margin: 0 5px; }
  form input[type=text], form input[type=email], form input[type=number], form textarea {
    display: block;
    width: 100%;
    padding: 15px;
    margin: 10px 5px 0 0;
    border: 1px solid lightgrey; }
  form textarea {
    min-height: 200px; }
  form .full-width div {
    float: left; }
    @media (min-width: 768px) {
      form .full-width div {
        padding: 0 10px 0 0; }
        form .full-width div:nth-child(3) {
          margin: 0; } }

.error-field {
  border: 1px solid red !important;
  color: red;
  background: pink; }

.errors {
  display: none;
  color: red;
  padding: 10px;
  border: 1px solid;
  margin: 10px 0; }

.thank-you {
  display: none;
  border: 1px solid green;
  padding: 10px;
  color: green;
  text-align: center; }

.loader-image {
  display: block;
  margin: 0 auto;
  height: 50px; }

.button {
  display: inline-block;
  background: #f4b700;
  color: white;
  margin: 10px;
  border-radius: 2.5px;
  text-decoration: none;
  transition-duration: .5s; }
  .button-primary {
    padding: 10px 20px;
    font-size: 18px; }
  .button-secondary {
    padding: 5px 15px;
    font-size: 16px; }
  .button:hover {
    background: #c59400;
    transform: scale(1.1); }

.slider {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .slider ul {
    float: left;
    overflow-x: visible;
    transition-duration: .5s;
    padding: 0; }
    .slider ul li {
      float: left;
      text-align: center;
      list-style-type: none;
      padding: 0; }
      .slider ul li img {
        width: 100%; }
        @media (min-width: 768px) {
          .slider ul li img {
            max-height: 400px;
            width: auto; } }
  .slider .arrow {
    position: absolute;
    top: 45%;
    cursor: pointer;
    transition-duration: 0.5s; }
    .slider .arrow:hover {
      transform: scale(0.9); }
    .slider .arrow-right {
      right: 0; }
    .slider .arrow-left {
      left: 0; }

/* SECTIONS */
.section-services img {
  width: 100%;
  padding: 24px; }
  @media (min-width: 768px) {
    .section-services img {
      padding: 0 24px 48px 0; } }