/*                          ---                          */
/* -------------------- Fonts MAIN --------------------- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;600;700;800;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;800&display=swap');



@import url('https://fonts.googleapis.com/css2?family=Onest:wght@100..900&display=swap');


/* ----------------------------------------------------- */

/*                          ---                          */
/* ------------------ Dimensions MAIN ------------------ */
:root {

  /* -- Main navigation */
  --nav-height:     70px;

  --margin-inner: 50px;
  
  --padding-inner: 50px;

  --max-width:  1440px;
}

@media screen and (min-width: 1241px) {
  :root {
  }
}
@media screen and (max-width: 1240px) {
  :root {

  }
}
@media screen and (max-width: 744px) {
  :root {
    --padding-inner: 25px;
  }
}
@media screen and (max-width: 428px) {
  :root {
    --padding-inner: 15px;
  }
}
@media only screen and (max-width: 320px) {
  :root {
    --padding-inner: 10px;
  }
}
/* ----------------------------------------------------- */

/*                          ---                          */
/* -------------------- Colors MAIN -------------------- */
:root {
  --white:            #ffffff;
  --black:            #000000;
  --red:              #ff0000;

  --primary:          #421B4E;
  --secondary:        #2CA8A0;
}
/* ----------------------------------------------------- */

/*                          ---                          */
/* ------------------- Settings MAIN ------------------- */
* {
  font-family: 'Onest', Arial, sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
*, *::before, *::after {
  box-sizing: border-box;
}
*:focus {
  outline: none;
}
html {
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
  overflow-x: hidden;
  scroll-behavior: smooth;
  background-color: var(--white);
}
body {
  width: 100%;
  height: 100%;
  min-height: 100% !important;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  /* font-size: clamp(16px, 4vw, 24px);
  font-size: 4vw; */
}
body.disable-scrollbar {
  overflow: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
body.disable-scrollbar::-webkit-scrollbar {
  display: none;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}
h1 {
  display: none;
}
a, img, strong, button, svg, span {
  -webkit-transition: all 500ms ease-out;
  -moz-transition: all 500ms ease-out;
  -ms-transition: all 500ms ease-out;
  -o-transition: all 500ms ease-out;
  transition: all 500ms ease-out;
}
a {
  text-decoration: none;
}
p, ul, li {
  margin: 0;
  padding: 0;
}
ul {
  list-style: none;
}
img {
  border-style: none;
  width: 100%;
  height:  100%;
  display: block;
  object-fit: cover;
  transform-origin: center;
}
svg {
  display: block;
}
button {
  border: 0;
}
/* ---------------------------------------------------- */

/*                          ---                         */
/* xxx ------------------------------------------------ */
/* ---------------------------------------------------- */

/*                          ---                         */
/* xxx ------------------------------------------------ */
/* ---------------------------------------------------- */





/*                          ---                         */
/* Nav Bar -------------------------------------------- */
nav.nav-index {
  width: 100%;
  height: var(--nav-height);
  padding: 0 var(--padding-inner);
  display: flex;
  justify-content: center;
}
.nav-wrapper {
  width: 100%;
  height: 100%;
  max-width: var(--max-width);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--primary);
  padding: 0 20px;
}

.nav-logo-wrapper .nav-logo {
  width: 120px;
  fill: var(--white);
}

.nav-facebook-wrapper {
  width: 50px;
  color: var(--white);
  display: flex;
  justify-content: center;
}
.nav-facebook-wrapper a {
  color: var(--white);
}
.nav-facebook {
  width: 30px;
  height: 30px;
  fill: #b088bb;
  display: block;
}
.nav-facebook-wrapper a:hover .nav-facebook {
  fill: var(--white);
}

.nav-email-wrapper a {
  color: #b088bb;
}
.nav-email-wrapper a:hover {
  color: var(--white);
}
/* ---------------------------------------------------- */






/*                          ---                         */
/* Header --------------------------------------------- */
header.header-index {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 var(--padding-inner);
}
.header-wrapper {
  width: 100%;
  height: 100%;
  max-width: var(--max-width);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: var(--margin-inner);
  margin-bottom: var(--margin-inner);
}
.header-text-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.header-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--primary);
}
.header-text h2 {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}
.header-text h3 {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
}
/* ---------------------------------------------------- */






/*                          ---                         */
/* Slider --------------------------------------------- */
.header-slider-wrapper {
  width: 100%;
  margin-top: var(--margin-inner);
  background-color: #ff0000;
  position: relative;
  overflow: hidden;
}

.slider {
  display: flex;
  transition: transform 0.4s ease-in-out;
}

.slide {
  min-width: 100%;
  display: none;
}

.slide.active {
  display: block;
}

.slider img {
  width: 100%;
  display: block;
}

.slider-nav button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #00000088;
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 2;
}

.prev {
  left: 10px;
}

.next {
  right: 10px;
}

.dots {
  text-align: center;
  margin-top: 15px;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
}

.dot {
  display: inline-block;
  height: 10px;
  width: 10px;
  background-color: #ccc;
  border-radius: 50%;
  margin: 0 5px;
  cursor: pointer;
}

.dot.active {
  background-color: #333;
}




















/* ---------------------------------------------------- */






/*                          ---                         */
/* Main ----------------------------------------------- */
main.main-index {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 var(--padding-inner);
}
.main-wrapper {
  width: 100%;
  max-width: var(--max-width);
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--white);
}

/* ---------------------------------------------------- */






/*                          ---                         */
/* Map Preview ---------------------------------------- */
.main-map-preview {
  width: 100%;
  margin-bottom: var(--margin-inner);
  display: flex;
  align-items: center;
  justify-content: center;
}
.main-map-preview img {
  width: 100%;
  max-width: 700px;
}
/* ---------------------------------------------------- */






/*                          ---                         */
/* Area Grids ----------------------------------------- */
.main-grid-wrapper {
  width: 100%;
  max-width: 700px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.main-grid-item {
  width: 100%;
  perspective: 1000px;
}
.main-grid-item a {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 20px;
  border-radius: 20px;
  transition: transform 0.4s ease, color 0.4s ease, background-color 0.4s ease;
  transform-style: preserve-3d;
}
.main-grid-item a:hover {
  transform: rotateX(-30deg);
}
.main-grid-item.volny a {
  color: var(--black);
  background-color: #b8f41d;
}
.main-grid-item.predany a {
  color: var(--white);
  background-color: #ff0000;
}
.main-grid-item.rezervovany a {
  color: var(--white);
  background-color: #e60077;
}

.main-grid-item.volny a:hover,
.main-grid-item.predany a:hover,
.main-grid-item.rezervovany a:hover {
  color: var(--white);
  background-color: var(--black);
}



.main-grid-item h3 {
  font-size: 4rem;
  font-weight: 800;
}
.main-grid-item-left {
}
.main-grid-item-right {
  font-size: 0.9rem;
  line-height: 1.2rem;
  font-weight: 600;
  text-align: right;
  display: flex;
  flex-direction: column;
  justify-content: center;
}




@media screen and (max-width: 800px) {
  .main-grid-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 540px) {
  .main-grid-wrapper {
    max-width: 220px;
  }
  .main-grid-wrapper {
    grid-template-columns: repeat(1, 1fr);
  }
}
/* ---------------------------------------------------- */






/*                          ---                         */
/* Podmienky ------------------------------------------ */
.main-podmienky-wrapper {
  width: 100%;
  margin-top: var(--margin-inner);
  background-color: #f5eef8;
  padding: 20px;
  color: var(--black);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: left;
  padding: var(--padding-inner) calc(var(--padding-inner) * 2);
}
.main-podmienky-wrapper h3 {
  text-align: left;
  color: var(--primary);
  font-size: 1.5rem;
  margin-bottom: 20px;
}
.main-podmienky-wrapper p {
  text-align: left;
}
.main-podmienky-wrapper ul {
  list-style-type: square;
  margin-bottom: 20px;
}
.main-podmienky-wrapper ul li::marker {
  color: var(--primary);
  font-size: 20px;
}
/* ---------------------------------------------------- */






/*                          ---                         */
/* More Info ------------------------------------------ */
.main-more-info-wrapper {
  width: 100%;
  margin-top: var(--margin-inner);
  margin-bottom: var(--margin-inner);
}

.main-more-info-wrapper a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--white);
  padding: 20px;
  background-color: var(--primary);
}
.main-more-info-wrapper a:hover {
  background-color: var(--secondary);
}
.main-more-info-wrapper a h3 {
  font-size: 1.5rem;
}
.main-more-info-wrapper a h5 {
  font-size: 2rem;
}
/* ---------------------------------------------------- */





/*                          ---                         */
/* Fotogaleria ---------------------------------------- */
.main-fotogaleria-wrapper {
  width: 100%;
  margin-bottom: var(--margin-inner);
  background-color: #cecece;
  padding: 20px;
  color: var(--black);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
/* ---------------------------------------------------- */






/*                          ---                         */
/* Partners ------------------------------------------- */
.main-partners-wrapper {
  width: 100%;
  max-width: 1000px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 10px;
  justify-items: center;
  margin-bottom: var(--margin-inner);
}
.partner-item {
  width: 100%;
}


.partner-item a {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-content: space-between;
  gap: 10px;
  padding: 20px 20px;
  border-radius: 20px;
  text-align: center;
  color: #6b6b6b;
  background-color: rgb(211, 211, 211);
}
.partner-item a h4 {
  font-size: 1rem;
  line-height: 1.5rem;
}
.partner-item a h5 {
  font-size: 1.5rem;
  line-height: 2rem;
}
.partner-item a:hover {
  color: var(--white);
  background-color: var(--black);
}
@media screen and (max-width: 1080px) {
  .main-partners-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 650px) {
  .main-partners-wrapper {
    grid-template-columns: repeat(1, 1fr);
  }
  .partner-item {
    max-width: 350px;
  }
}
/* ---------------------------------------------------- */






/*                          ---                         */
/* Footer --------------------------------------------- */
footer.footer-index {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 var(--padding-inner);
}
.footer-wrapper {
  width: 100%;
  max-width: var(--max-width);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background-color: var(--primary);
  padding: 20px;
  color: var(--white);
}
.footer-wrapper a {
  color: var(--white);
}
.footer-wrapper p {
  text-align: center;
}
/* ---------------------------------------------------- */