@import url("https://fonts.googleapis.com/css?family=Lato");
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css");

body {
  font: normal 16px/1.4em "Lato", sans-serif;
  color: #444;
}

a {
  color: #2980b9;
  text-decoration: none;
  -webkit-transition: color 300ms;
  -moz-transition: color 300ms;
  -o-transition: color 300ms;
  -ms-transition: color 300ms;
  transition: color 300ms;
}

a:hover {
  color: #2c3e50;
}

.main-image-bg {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  padding: 10rem 3rem;
  height: 100vh;
}

.main-image-bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(211, 164, 73, 0.28);
}

.main-image-bg h1 {
  color: #fff;
  font-size: 4rem;
  text-align: center;
  text-transform: uppercase;
  margin: 0;
  z-index: 10000;
  opacity: 0;
  transform: translateY(50px);
  animation: fadeInUp 1s ease-out forwards;
  position: fixed;
}

@media (max-width: 768px) {
  .main-image-bg h1 {
    font-size: 2rem;
    margin: auto;
    width: 100%;
  }
}

/* Fade-in Animation */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/**/
.header {
  position: absolute;
  z-index: 100;
  width: 100%;
}

.header h1 {
  text-align: center;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  padding: 0.5rem 0;
}

.header .langs {
  background-color: rgba(0, 0, 0, 0.3);
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: space-between;
}

.header .langs ul {
  list-style: none;
  display: flex;
  margin: 0;
}

.header .langs li {
  margin: 0 1rem;
  font-size: 0.8rem;
  text-shadow: 1px 1px 10px #383838;
  color: #fff;
  font-weight: 100;
}

.header .langs a {
  color: #fff;
  text-decoration: none;
}

.header .main-nav ul {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  width: 100%;
}
.header .main-nav ul li {
  margin: 0 2rem;
}
.header .main-nav ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 1rem;
  text-shadow: 1px 1px 10px #383838;
}
.header .main-nav ul li a:hover {
  text-shadow: 1px 1px 10px #000;
}

@media (max-width: 768px) {
  .header h1 {
    width: 100%;
  }

  .header .navbar-toggler {
    background: #ebd99f;
  }

  .header .langs {
    flex-direction: column;
    align-items: center;
  }

  .header .langs > ul {
    margin-top: 0.5rem;
  }

  .header .langs img {
    display: none;
  }

  .header .langs li {
    margin: 0 0.5rem;
    font-weight: 300;
  }
  .header .main-nav ul {
    display: block;
    background: rgba(0, 0, 0, 0.6);
    padding: 1rem 0.3rem;
  }
  .header .main-nav ul li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding: 0.3rem 0;
  }
}

.content {
  margin-bottom: 10px;
}

.content li {
  list-style-type: square;
}

.content a {
  font-weight: bold;
}

.content strong {
  color: #000;
}

.content h2 {
  color: #c0392b;
}

/**/
.footer {
  padding-top: 2rem;
  background: #ecf0f1;
  border-top: 5px solid #bdc3c7;
  color: #7f8c8d;
  font-size: 13px;
}

.footer h3 {
  color: #383838;
  text-shadow: 1px 1px 1px solid #fff;
  font-size: 20px;
}

.footer address {
  font-size: 14px;
  line-height: 1.5em;
}

.footer .menu li {
  display: inline;
  margin-right: 3px;
}

.footer-last {
  background: #bdc3c7;
  color: #95a5a6;
  font-size: 14px;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: 20px;
}

.footer-last a {
  color: #95a5a6;
  text-decoration: none;
}

.footer-lasta: hover {
  color: #2c3e50;
}

.social a.facebook {
  color: #3b5998;
}
.social a.facebook:hover {
  color: #2980b9;
}
.social a.instagram {
  color: #555;
}
.social a.instagram:hover {
  color: #000;
}
.front .social a.instagram {
  color: #ccc;
}
.front .social a.instagram:hover {
  color: #fff;
}
.social a.whatsapp {
  color: #1ebea5;
}
.social a.whatsapp:hover {
  color: #12aa91;
}
.social a.google {
  color: #d44132;
}
.social a.google:hover {
  color: #af2e23;
}
.social a.tripadvisor {
  color: #1abc9c;
}
.social a.tripadvisor:hover {
  color: #16a085;
}
.social a {
  color: #fff !important;
}
footer .social a {
  color: #868686 !important;
}
@media (max-width: 768px) {
  .footer {
    text-align: center;
  }
}

.page-contact .content {
  margin-top: 20px;
}

.contact-image img {
  width: 100%;
}

.slider-book {
  position: absolute;
  z-index: 0;
}

.slider-book img {
  width: 100%;
}

.node-type-webform .bx-wrapper {
  border: 0 !important;
  box-shadow: 0 0 0 transparent !important;
}

.node-type-webform .content {
  position: relative;
}

.node-type-webform .fr {
  position: relative;
}

.form-container {
  position: absolute;
  top: 0;
  z-index: 100;
  right: 10%;
  padding: 20px;
  background: rgba(255, 255, 255, 0.8);
}

@media (min-width: 768px) {
  .attractions {
    /*column-count: 5;*/
  }
}

.at-container {
  margin-bottom: 20px;
  border-bottom: 1px solid #cdcaca;
}

.attraction {
  position: relative;
  transition: background 300ms;
  margin-bottom: 20px;
}

.attraction:after {
  content: "";
  background: rgba(0, 0, 0, 0.3);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.attraction:hover:after {
  background: rgba(0, 0, 0, 0.2);
}

.attraction h3 {
  position: absolute;
  top: 40%;
  width: 100%;
  text-align: center;
  z-index: 4;
  text-transform: uppercase;
  transition: all 0.2s;
}

.attraction:hover h3 {
  top: 37%;
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
}

.attraction h3:after {
  content: "";
  width: 20%;
  height: 3px;
  background: #b05336;
  display: block;
  margin: auto;
  margin-top: 10px;
}

.attraction:hover h3:after {
  width: 27%;
  background: #fff;
}

.attraction a {
  color: #fff;
  text-decoration: none;
}

.attraction img {
  width: 100%;
}

.node-type-webform .content {
  margin-top: 20px;
}

.contact-image img {
  width: 100%;
}

section.awards {
  margin: 1rem 0;
  padding-top: 1rem;
  border-top: 5px solid #cdcaca;
}

section.awards p {
  margin-bottom: 0 !important;
  margin-top: 0;
  padding-bottom: 0;
  padding-top: 0;
  display: flex;
  justify-content: space-between;
}

section.awards img {
  width: 130px;
}

@media (max-width: 768px) {
  section.awards p {
    display: block;
    text-align: center !important;
  }

  section.awards p img {
    display: inline-block;
  }
}
