/* RESET STYLES*/
*, *::before, *::after {
  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, input, 
textarea, select, label, button, picture {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
img, picture, svg, video, canvas, article, aside, details, figcaption, figure, footer, 
header, hgroup, menu, nav, section, summary {
  display: block;
}
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
body {
  min-height: 100vh;
  line-height: 1.3;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}
a {
  text-decoration: none;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}
a img, img, picture, svg, video, canvas {
  border: 0;
}
img, picture, svg, video, canvas {
  max-width: 100%;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}
/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}
/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em
}
/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* GENERAL STYLES */
:root {
  --color-white-chocolate: #ece7db;
  --color-pale-brown: #91754e;
  --color-pastel-grey: #dcd3bd;
  --color-dark-gunmetal: #152330;
  --color-white: #fff;
  --color-gold-fusion: #8c734b;
  --color-police-blue: #286162;
}

html { scroll-behavior: smooth; }

html, body {
  width: 100%;
  font: normal 400 16px "Montserrat", sans-serif;
  font-optical-sizing: auto;
  background-color: #fff;
}

html, body,
input, textarea,
a, a:active, a:visited {
  color: var(--color-dark-gunmetal);
}

/* STRUCTURE, BEHAVIOUR & APPEARANCE */
.language-switcher,
.wrapper,
.logo-footer-vrm,
.nav.open,
.localizacion-hero,
.localizacion-map,
.vrm-logo,
.contact-form__submit-btn {
  display: block;
}

.header,
.menu-wrapper,
.footer-menu,
.footer-menu-secondary,
.social-media-icons,
.amenities-columns,
.button-group,
.amenities-map-container,
.localizacion-columns,
.contact-form__field-group {
  display: flex;
}

.header,
.menu-wrapper,
.button-group,
.amenities-map-container {
  justify-content: space-between;
}

.footer-menu,
.footer-menu-secondary,
.social-media-icons,
.contact-form__field-chkbox-group {
  justify-content: center; 
}

.menu-wrapper,
.footer-menu,
.footer-menu-secondary,
.social-media-icons,
.amenities-map-container,
.contact-form__field-group {
  align-items: center;
}

.nav__close,
.menu-wrapper,
.contact-form__submit-btn {
  cursor: pointer;
}

.wrapper,
.cta-home,
.riviera-hills-slider,
.amenities-slider-container,
.button-group,
.amenities-map-container,
.localizacion-hero,
.localizacion-columns,
.localizacion-icon-list,
.localizacion-map,
.vrm-logo,
.vrm-companies-slider-container,
.contact-form,
.contact-form__submit-btn {
  margin-left: auto;
  margin-right: auto;
}

.wrapper {
  max-width: 1100px;
}

body,
.home,
.footer {
  background-color: var(--color-white-chocolate);
}

/* TEXT FORMATTING AND TYPOGRAPHY */

.medium,
.nav__menu > li {
  font-weight: 500;
}

strong {
  font-weight: 700;
}

.semibold {
  font-weight: 600;
}

.black,
.amenities-map__list > li::marker {
  font-weight: 900;
}

em {
  font-style: italic;
}

.align-center,
.contact-form__field-label.contact-form__chkbx-group-label,
.button-group__btn {
  text-align: center;
}

.text-pale-brown, .text-pale-brown:active, .text-pale-brown:visited,
.text-pale-brown a, .text-pale-brown a:active, .text-pale-brown a:visited,
.localizacion-amenities .amenities-slider-title strong,
.localizacion-map-title strong,
.vrm-companies-title, .amenities-slider-title.vrm-companies-title strong,
.contactanos-title {
  color: var(--color-pale-brown);
}

.menu-caption,
.amenities-list,
.amenities-title,
.amenities-map__text,
.amenities-map__list > li,
.contact-form__legend {
  font-size: 1.1875rem;
}

.body-text,
.body-list,
.contact-form__field-label,
.contact-form__submit-btn,
.contact-form__field-input,
.contact-form__radio-label,
#contact-form__message-summary {
  font-size: 1.125rem;
  line-height: 1.5rem;
}

.footer-menu > li > a, .footer-menu > li > a:active, .footer-menu > li > a:visited,
.footer-menu-secondary > li > a, .footer-menu-secondary > li > a:active, .footer-menu-secondary > li > a:visited {
  color: var(--color-dark-gunmetal);
}

.footer-menu > li > a, .footer-menu > li > a:active, .footer-menu > li > a:visited,
.footer-menu-secondary > li > a, .footer-menu-secondary > li > a:active, .footer-menu-secondary > li > a:visited,
.price,
.amenities-title,
.contactanos-title {
  letter-spacing: 2px;
}

.footer-menu > li > a, .footer-menu > li > a:active, .footer-menu > li > a:visited,
.button-group__btn,
.amenities-slider-title,
.contactanos-title,
.vrm-info-details,
.localizacion-icon-list > li > strong,
.btn-coordina-cita,
.cta-home {
  text-transform: uppercase;
}

.price,
.vrm-info-details,
.amenities-slider-title,
.contactanos-title {
  font-size: 1.625rem;
}

/* BLOCKS */
.nav,
#loader {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
}

.nav,
.nav__submenu {
  overflow: hidden;
}

.nav {
  width: 0;
  max-width: 500px;
  background-color: var(--color-pale-brown);
  z-index: 95;
}

.nav.open,
#loader,
.contact-form__chkbx-group-label,
.contact-form__legend,
.home-video {
  width: 100%;
}

.nav.open {
  padding: 3.125rem;
}

.nav__close,
.nav__menu > li > a,
.nav__submenu > li > a,
.amenities-map__list > li,
.amenities-map__text,
.racquet-club-map .body-text,
.btn-coordina-cita, .btn-coordina-cita:active, .btn-coordina-cita:visited,
.contact-form__legend,
.amenities-map .legal,
.amenities-map .amenities-slider-title,
.amenities-map .amenities-slider-title strong {
  color: var(--color-white);
}

.nav__close,
.footer-menu-secondary > li,
.nav__submenu > li,
.button-group__btn {
  font-size: 1rem;
}

.nav__close {
  padding-left: 1.25rem;
  margin-bottom: 3.125rem;
  background: transparent url(../img/icon-close-X-white.svg) no-repeat left center;
  background-size: 1rem;
}


.nav__menu > li,
.nav__submenu > li {
  padding-left: 1rem;
  background: transparent url(../img/icon-menu-dot.svg) no-repeat left center;
  background-size: auto 0.75rem;
  line-height: 2.4375rem;
}

.nav__menu > li {
  font-size: 1.25rem;
}

.nav__menu > li.open {
  margin-bottom: 5rem;
}

.amenities-columns,
.button-group {
  margin-bottom: 2.5rem;
}

.nav__submenu,
.riviera-hills-slider .slick-arrow,
.amenities-slider-container .slick-arrow,
.vrm-companies-slider-container .slick-arrow {
  position: absolute;
}

.nav__submenu {
  height: 0;
}

.open > .nav__submenu {
  height: auto;
}

.amenities-columns__left-col {
  width: 54%;
}

.amenities-columns__right-col {
  width: 46%;
}

.button-group {
  max-width: 740px;
}

.button-group__btn {
  width: 27.70%;
  padding: 1rem 0.5rem;

  -webkit-border-radius: 0.75rem;
  -moz-border-radius: 0.75rem;
  -o-border-radius: 0.75rem;
  border-radius: 0.75rem;
}

.button-group__btn, .button-group__btn:active, .button-group__btn:visited {
  color: var(--color-gold-fusion);
}

/* ELEMENTS */
#loader {
  z-index: 99;
  background: rgba(255, 255, 255, 0.7) url(../img/ajax-loader.gif) no-repeat center center;
}

.header {
  align-items: flex-start;
  padding: 2rem;
}

body {
  background-image: url(../img/bg-palmas-creme.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 108% auto;
}

.menu-wrapper {
  width: 8rem;
}

.menu-icon {
  width: 45px;
}

.header-logo {
  width: 60%;
  max-width: 350px;
  margin-top: 3.5rem;
  margin-left: -45px;
}

.language-switcher {
  width: 25px;
  margin-left: 103px;
}

/* SECTION SPECIFIC */
/* HOME */
.home .wrapper,
.cta-banner {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.cta-banner,
.button-group__btn,
.riviera-hills,
.amenities-slider {
  background-color: var(--color-pastel-grey);
}

.cta-home {
  width: fit-content;
  max-width: 43.75rem;
  padding-right: 2.75rem;
  background: transparent url(../img/icon-arrow-circle-right.svg) no-repeat right center;
  background-size: auto 2.125rem;
  font-size: 1.5rem;
  line-height: 2.5rem;
}

/* FOOTER */
.footer,
.riviera-hills,
.riviera-hills-amenities,
.amenities-slider,
.amenities-map,
.localizacion,
.politica-privacidad,
.localizacion-amenities,
.vrm-companies,
.vrm-info,
.contactanos-info,
.contact-form-section {
  padding: 3.5rem 1.5%;
}

.footer-menu {
  margin-bottom: 3rem;
}

.footer-menu > li,
.legal {
  font-size: 0.75rem;
  line-height: 1.2;
}

.footer-menu > li {
  padding: 1rem 2.5rem;
}

.footer-menu-secondary > li {
  padding: 1.5rem;
}

.logo-footer-vrm {
  width: 14.625rem;
}

.social-media-icons > a,
.body-list > li, .body-list .body-list > li {
  margin: 0.5rem;
}

/* RIVIERA HILLS */
.amenities-map,
.vrm-companies-slider,
.btn-coordina-cita,
.contact-form-section {
  background-color: var(--color-gold-fusion);
}

.riviera-hills-slider,
.amenities-slider-container,
.localizacion-hero,
.localizacion-icon-list,
.vrm-companies-slider-container,
.contact-form,
.localizacion-map {
  width: 90%;
}

.riviera-hills-slider {
  max-width: 930px;
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.riviera-hills-slider .slick-arrow,
.amenities-slider-container .slick-arrow,
.vrm-companies-slider-container .slick-arrow {
  width: 3.125rem;
  height: 3.125rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent url(../img/icon-slider-arrows-brown.svg) no-repeat;
  background-size: auto 3.125rem;
  font-size: 0;
}

.vrm-companies-slider-container .slick-arrow {
  background-image: url(../img/icon-slider-arrows-creme.svg);
}

.riviera-hills-slider .slick-prev,
.amenities-slider-container .slick-prev,
.vrm-companies-slider-container .slick-prev {
  left: -8%;
  background-position: left center;
}

.riviera-hills-slider .slick-next,
.amenities-slider-container .slick-next,
.vrm-companies-slider-container .slick-next {
  right: -8%;
  background-position: right center;
}

.amenities-list,
.amenities-map__list,
.amenities-map__list > li > ul {
  margin-left: 1.25rem;
}

.body-list,
.amenities-list,
.amenities-map__list > li > ul,
.localizacion-list, .localizacion-list > li > ul {
  list-style-type: disc;
}

.body-list .body-list {
  list-style-type: circle;
}

.amenities-list > li {
  margin: 0.5rem 0;
}

.amenities-list > li::marker,
.localizacion-list > li::marker,
.localizacion-list > li > ul > li::marker {
  color: var(--color-police-blue);
  font-size: 1.2em;
}

.amenities-slider-container {
  max-width: 1326px;
}

.amenities-slider-title strong {
  color: var(--color-police-blue);
}

.amenities-map-container {
  max-width: 1450px;
}

.amenities-map__list {
  list-style-type: decimal;
}

.amenities-map__list > li,
.contact-form__chkbx-group-label {
  margin-bottom: 1.5rem;
}

.amenities-map__list > li > ul > li,
.localizacion-list > li > ul > li {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.amenities-map__img {
  width: 61.31%;
}

.amenities-map__content {
  width: 33.10%;
}

/* LOCALIZACION */
.localizacion-hero {
  max-width: 1550px;
}

.localizacion-columns {
  max-width: 43.75rem;
}

.localizacion-list > li,
.localizacion-list > li > ul > li {
  margin: 0.5rem 0;
}

.localizacion-list,
.localizacion-list > li > ul,
.body-list,
.body-list .body-list {
  margin-left: 1rem;
}

.localizacion-list > li > ul > li::marker {
  font-size: 0.75em;
}

@media (min-width: 992px) {
  .localizacion-columns__col-left,
  .localizacion-columns__col-right {
    width: 50%;
  }
}

.localizacion-icon-list {
  max-width: 625px;
}

.localizacion-icon-list > li {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.icon-sunset,
.icon-hospital,
.icon-shopping-bag,
.icon-shopping-cart,
.icon-graduation-cap,
.icon-airplane {
  padding-left: 5rem;
}

.icon-sunset {
  background: transparent url(../img/icon-sunset-64.svg) no-repeat left center;
  background-size: 4rem;
}

.icon-hospital {
  background: transparent url(../img/icon-hospital-40.svg) no-repeat 0.75rem center;
  background-size: 2.5rem;
}

.icon-shopping-cart {
  background: transparent url(../img/icon-shop-cart-48.svg) no-repeat 0.25rem center;
  background-size: 3rem;
}

.icon-shopping-bag {
  background: transparent url(../img/icon-shop-bag-31.svg) no-repeat 1rem center;
  background-size: 1.9375rem;
}

.icon-graduation-cap {
  background: transparent url(../img/icon-graduation-cap-55.svg) no-repeat 0.5rem center;
  background-size: 3.4375rem;
}

.icon-airplane {
  background: transparent url(../img/icon-airplane-41.svg) no-repeat 0.75rem center;
  background-size: 2.5625rem;
}

.localizacion-map-title strong,
.localizacion-map-title img,
.contact-form__radio-label {
  display: inline-block;
  vertical-align: middle;
}

.localizacion-map-title img {
  height: 2rem;
  line-height: 2rem;
  margin-right: 0.5rem;
}

.localizacion-map-title strong {
  padding-top: 0.25rem;
}

.localizacion-map {
  max-width: 698px;
}

/* VRM COMPANIES */
.vrm-logo {
  width: 200px;
}

.vrm-companies-slider-container {
  max-width: 953px;
}

/* CONTACTO */
.phone-link,
.email-link {
  padding: 0.5rem 0 0.5rem 2.5rem;
  background: transparent url(../img/icon-phone-29.svg) no-repeat left center;
  background-size: auto 98%;
}

.email-link {
  background-image: url(../img/icon-envelope-49.svg);
  padding-left: 4rem;
}

.btn-coordina-cita,
.contact-form__field-input,
.contact-form__submit-btn {
  padding: 0.5rem 1rem;
}

.btn-coordina-cita,
.contact-form__submit-btn {
  -moz-border-radius: 1.125rem;
  -webkit-border-radius: 1.125rem;
  -o-border-radius: 1.125rem;
  border-radius: 1.125rem;
}

.contact-form {
  max-width: 700px;
}

.contact-form__field-group {
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.contact-form__field-label:not(.contact-form__chkbx-group-label) {
  width: 37.57%;
}

.contact-form__field-label,
.contact-form__submit-btn,
.contact-form__radio-label {
  color: var(--color-white-chocolate);
}

.contact-form__field-label {
  padding-right: 1rem;
  text-align: right;
}

.localizacion-amenities,
.vrm-info,
.contact-form__field-input,
#contact-form__message-summary {
  background-color: var(--color-white);
}

.contact-form__field-input {
  width: 47%;
}

.contact-form__radio-label {
  margin: 8px;
}

.contact-form__submit-btn {
  background-color: var(--color-dark-gunmetal);
}

.contact-form__chkbx-group-label {
  margin-top: 1.5rem;
}

#contact-form__message-summary.success,
#contact-form__message-summary.error {
  padding: 2rem;
  
  -moz-border-radius: 1.25rem;
  -webkit-border-radius: 1.25rem;
  -o-border-radius: 1.25rem;
  border-radius: 1.25rem;
}

#contact-form__message-summary.success {
  border: 2px solid #7bae37;
  color: #7bae37;
}

#contact-form__message-summary.error {
  border: 2px solid #b14e46;
  color: #b14e46;
}

@media (max-width: 1600px) {
  html,body {
    font-size: 14px;
  }

  .riviera-hills-slider .slick-prev,
  .amenities-slider-container .slick-prev,
  .vrm-companies-slider-container .slick-prev {
    left: -6%;
  }

  .riviera-hills-slider .slick-next,
  .amenities-slider-container .slick-next,
  .vrm-companies-slider-container .slick-next {
    right: -6%;
  }
}

@media (max-width: 1200px) {
  html,body {
    font-size: 12px;
  }

  .amenities-map__text br {
    display: none;
  }
}

@media (max-width: 992px) {
  .header {
    padding-top: 20px;
    padding-bottom: 20px;
    background-position: left top;
    background-size: 1200px auto;
  }

  .header,
  .amenities-columns {
    align-items: center;
  }

  .header-logo {
    width: 150px;
    margin-top: 0;
    margin-left: 0;
  }

  .amenities-map-container,
  .amenities-columns {
    flex-direction: column;
  }

  .amenities-map__content {
    width: 400px;
  }

  .amenities-map__img {
    width: 476px;
    margin-bottom: 25px;
  }

  .amenities-columns__left-col,
  .amenities-columns__right-col {
    width: 436px;
  }

  .footer-menu,
  .footer-menu-secondary {
    flex-wrap: wrap;
  }
}

@media (max-width: 768px) {
  .header {
    background-size: 960px auto;
  }

  .menu-caption,
  .riviera-hills .body-text br,
  .riviera-hills-amenities .legal br,
  .racquet-club-map .body-text br,
  .home .wrapper .body-text br,
  .localizacion .wrapper .body-text br,
  .localizacion-amenities .body-text br,
  .localizacion-icon-list > li br,
  .contact-form__legend br,
  .vrm-companies .wrapper .body-text br,
  .amenities-map .legal br,
  .vrm-companies .wrapper .body-text br,
  .politica-privacidad .wrapper .body-text br,
  .politica-privacidad .wrapper .amenities-slider-title br {
    display: none;
  }

  .menu-wrapper {
    width: 45px;
  }

  .language-switcher {
    margin-left: 0;
  }

  .button-group,
  .localizacion-columns {
    flex-direction: column;
    align-items: center;
  }

  .button-group__btn {
    margin-bottom: 25px;
  }

  .amenities-columns__left-col,
  .amenities-columns__right-col,
  .localizacion-list {
    width: 300px;
  }

  .amenities-map__content {
    width: 300px;
  }

  .racquet-club-map .amenities-map__content {
    width: 200px;
  }

  .amenities-map__img {
    width: 315px;
  }

  .contact-form__field-label:not(.contact-form__chkbx-group-label),
  .contact-form__field-input {
    width: 100%;
  }

  .contact-form__field-label {
    padding-right: 0;
    margin-bottom: 8px;
    text-align: center;
  }

  .riviera-hills-slider,
  .amenities-slider-container,
  .vrm-companies-slider-container {
    width: 80%;
  }

  .riviera-hills-slider .slick-prev,
  .amenities-slider-container .slick-prev,
  .vrm-companies-slider-container .slick-prev {
    left: -10%;
  }

  .riviera-hills-slider .slick-next,
  .amenities-slider-container .slick-next,
  .vrm-companies-slider-container .slick-next {
    right: -10%;
  }

  .riviera-hills-slider .slick-arrow,
  .amenities-slider-container .slick-arrow,
  .vrm-companies-slider-container .slick-arrow {
    background-size: auto 2.25rem;
  }

  .vrm-logo {
    width: 140px;
  }

  .localizacion-columns__col-right .localizacion-list > li:first-of-type {
    margin-top: 0;
  }

  .cta-home {
    font-size: 1.25rem;
  }
}

@media (max-width: 600px) {
  .home .wrapper {
    padding-left: 1.5%;
    padding-right: 1.5%;
  }

  .riviera-hills-slider .slick-prev,
  .amenities-slider-container .slick-prev,
  .vrm-companies-slider-container .slick-prev {
    left: -12%;
  }

  .riviera-hills-slider .slick-next,
  .amenities-slider-container .slick-next,
  .vrm-companies-slider-container .slick-next {
    right: -12%;
  }
}

@media (max-width: 450px) {
  .contact-form__field-chkbox-group,
  .footer-menu-secondary {
    flex-direction: column;
  }

  .contact-form__radio-label {
    width: 150px;
  }

  .cta-home {
    font-size: 1rem;
  }
}