@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Anton&family=Antonio:wght@100..700&display=swap");
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-decoration: none;
  font-family: "Antonio", sans-serif;
  scroll-behavior: smooth;
}

html {
  font-size: 10px;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: #000;
  font-family: "Antonio", sans-serif;
}

p {
  font-family: "Antonio", sans-serif;
}

h1, h2, h3 {
  font-family: "Anton", sans-serif;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

body {
  background: rgb(244, 244, 244);
}

header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: fixed;
  z-index: 4;
  top: 0;
  padding: 0.25rem 15rem;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
header .socials, header nav {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
header .socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.5rem;
  z-index: 4;
  position: relative;
}
header .socials a svg {
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  width: 3.5rem;
  height: 3.5rem;
  fill: white;
}
header .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 4;
  position: relative;
}
header .logo img {
  width: 12rem;
  aspect-ratio: 1;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
header nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
}
header nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.5rem;
  position: relative;
}
header nav ul li {
  position: relative;
  line-height: 1;
}
header nav ul li a {
  font-size: 2.5rem;
  text-transform: uppercase;
  color: #ffffff;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  line-height: 1;
  font-family: "Anton", sans-serif;
  font-weight: 400;
}
header nav ul li a:hover {
  color: rgb(16, 109, 65);
}
header nav ul li.has-submenu .submenu {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem 0;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  z-index: 999;
  background: transparent;
  gap: 0;
}
header nav ul li.has-submenu .submenu li {
  width: 100%;
  background: white;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  line-height: 1;
}
header nav ul li.has-submenu .submenu li a {
  width: 100%;
  color: #000000;
  padding: 0.8rem 2rem;
  font-size: 2.5rem;
  text-transform: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  font-family: "Antonio", sans-serif;
}
header nav ul li.has-submenu .submenu li a:hover {
  width: 100%;
  background: rgb(16, 109, 65);
  color: #ffffff;
}
header nav ul li.has-submenu:hover .submenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#hero-slider {
  width: 100%;
  min-height: 100dvh;
  position: relative;
  padding: 0;
}
#hero-slider .swiper {
  position: absolute;
  width: 100%;
  height: 100%;
}
#hero-slider .swiper .swiper-wrapper .swiper-slide {
  position: relative;
}
#hero-slider .swiper .swiper-wrapper .swiper-slide .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 10rem 15rem;
}
#hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .overlay-txt h1 {
  font-size: 8rem;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 1rem;
  font-weight: 400;
}
#hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .overlay-txt h3 {
  font-size: 3rem;
  color: #ffffff;
  font-weight: 300;
  font-family: "Antonio", sans-serif;
  margin-bottom: 3rem;
}
#hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .overlay-txt .btn-next {
  margin-bottom: 10rem;
}
#hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .adress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-self: flex-end;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
#hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .adress p {
  color: #ffffff;
  font-size: 2.5rem;
}
#hero-slider .swiper .swiper-button-next,
#hero-slider .swiper .swiper-button-prev {
  color: white;
}
#hero-slider .swiper .swiper-button-next::after,
#hero-slider .swiper .swiper-button-prev::after {
  font-size: 3rem;
}
#hero-slider .swiper .swiper-button-prev {
  left: 7.5rem;
}
#hero-slider .swiper .swiper-button-next {
  right: 7.5rem;
}
#hero-slider .swiper .swiper-pagination {
  bottom: 5rem !important;
}
#hero-slider .swiper .swiper-pagination .swiper-pagination-bullet {
  width: 3rem;
  height: 0.5rem;
  border-radius: 0;
  background-color: white;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#hero-slider .swiper .swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

.scrolled {
  background: #ffffff;
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
.scrolled nav ul li a {
  color: #000000;
}
.scrolled .socials svg {
  fill: #000000;
}
.scrolled .logo img {
  width: 10rem;
}
.scrolled #toggle svg {
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  fill: #000000 !important;
}

.scrolled-fix {
  background: #ffffff;
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
.scrolled-fix nav ul li a {
  color: #000000;
}
.scrolled-fix .socials svg {
  fill: #000000;
}
.scrolled-fix .logo img {
  width: 10rem;
}
.scrolled-fix #toggle svg {
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  fill: #000000 !important;
}

#toggle {
  display: none;
}

.btn-next {
  background: #ffffff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 2rem;
  line-height: 1;
  font-size: 2.5rem;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
  -webkit-box-shadow: 5px 4px 15px 0px rgba(0, 0, 0, 0.25);
          box-shadow: 5px 4px 15px 0px rgba(0, 0, 0, 0.25);
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  cursor: pointer;
}
.btn-next svg {
  width: 3rem;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
.btn-next:hover {
  background: rgb(16, 109, 65);
  color: #ffffff;
}
.btn-next:hover svg path {
  stroke: #ffffff;
}

section {
  padding: 10rem 15rem;
}

#prolog {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
#prolog h3 {
  font-size: 3rem;
  color: rgb(16, 109, 65);
  letter-spacing: 8px;
  text-transform: uppercase;
  font-weight: 400;
}
#prolog h2 {
  font-size: 5rem;
  text-transform: uppercase;
  letter-spacing: 4px;
  font-weight: 400;
  margin-bottom: 1rem;
}
#prolog p {
  font-size: 2.2rem;
  max-width: 100rem;
  margin-bottom: 1rem;
}
#prolog .deco {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  margin: 1rem 0;
}
#prolog .deco .circle {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  background: rgb(16, 109, 65);
}

#logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3rem;
  padding-top: 0;
}
#logos a {
  width: 25rem;
  height: 25rem;
}
#logos a img {
  width: 25rem;
  height: 25rem;
  aspect-ratio: 1;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
#logos a img:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}

#videos {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 0;
}
#videos video {
  width: 80%;
  margin: 0 auto;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  cursor: pointer;
}
#videos .btn-next {
  margin-top: 5rem;
  cursor: pointer;
}

#banner {
  width: 100%;
  padding: 0;
  width: 100%;
  min-height: 50rem;
  position: relative;
}
#banner .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 3rem;
  background: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  padding: 10rem 15rem;
}
#banner .overlay h2 {
  font-size: 4rem;
  color: #ffffff;
  text-align: center;
}

#reviews {
  width: 100%;
  min-height: 40rem;
  background: rgb(16, 109, 65);
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#reviews h2 {
  text-align: center;
  font-size: 5rem;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 8px;
  font-weight: 400;
  margin-bottom: 2rem;
}
#reviews .swiper2 {
  width: 80%;
  height: 100%;
  margin: 0 auto;
}
#reviews .swiper2 .swiper-wrapper {
  width: 100%;
}
#reviews .swiper2 .swiper-wrapper .swiper-slide {
  width: 100%;
  padding: 5rem 10rem;
  padding-top: 0;
}
#reviews .swiper2 .swiper-wrapper .swiper-slide h3 {
  font-size: 3rem;
  color: #ffffff;
  margin-bottom: 2rem;
  font-weight: 400;
  font-family: "Antonio", sans-serif;
  text-align: center;
}
#reviews .swiper2 .swiper-wrapper .swiper-slide p {
  font-size: 2.2rem;
  text-align: center;
  color: #ffffff;
}
#reviews .swiper2 .swiper-button-next,
#reviews .swiper2 .swiper-button-prev {
  color: white;
}
#reviews .swiper2 .swiper-button-next::after,
#reviews .swiper2 .swiper-button-prev::after {
  font-size: 3rem;
}
#reviews .swiper2 .swiper-pagination .swiper-pagination-bullet {
  background-color: white;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#reviews .swiper2 .swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: rgb(16, 109, 65);
  padding: 1.5rem 15rem;
  border-top: 3px solid #ffffff;
  gap: 1rem;
}
footer p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
  color: #ffffff;
  font-size: 2.2rem;
}
footer p a {
  color: #ffffff;
}
footer p svg {
  width: 2.2rem;
  fill: #ffffff;
}
footer p:nth-child(1) {
  text-align: start;
}
footer p:nth-child(2) {
  text-align: center;
}
footer p:nth-child(3) {
  text-align: end;
}

.active-link {
  color: rgb(16, 109, 65) !important;
  text-shadow: -1px -1px 0 white, 1px -1px 0 white, -1px 1px 0 white, 1px 1px 0 white;
}

#inner-menu {
  width: 100%;
  padding-top: 0;
}
#inner-menu .grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
}
#inner-menu .grid-container .grid-link {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  position: relative;
  background: rgb(16, 109, 65);
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
#inner-menu .grid-container .grid-link:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
#inner-menu .grid-container .grid-link a img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
#inner-menu .grid-container .grid-link a .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
  padding: 2rem;
}
#inner-menu .grid-container .grid-link a .overlay h3 {
  font-size: 3rem;
  color: #ffffff;
  text-transform: uppercase;
}

#socials-links {
  width: 100%;
  padding-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
#socials-links h3 {
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 4px;
  margin-bottom: 2rem;
}
#socials-links .socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
}
#socials-links .socials a svg {
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  width: 3.5rem;
  height: 3.5rem;
  fill: #000000;
}

#gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
  padding-top: 0;
}
#gallery a {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
}
#gallery a img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}

.first-section {
  padding-top: 15.5rem;
}

#contact {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 0;
}
#contact .form-tranform {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#contact .form-tranform .contact-details {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  min-height: 35rem;
}
#contact .form-tranform .contact-details .map {
  height: auto !important;
}
#contact .form-tranform .contact-details .details {
  height: auto !important;
}
#contact .contact-wrapper {
  width: 80%;
  margin: 0 auto;
  background: #ffffff;
  -webkit-box-shadow: 0px 20px 100px 0px rgba(0, 0, 0, 0.2509803922);
          box-shadow: 0px 20px 100px 0px rgba(0, 0, 0, 0.2509803922);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#contact .contact-wrapper .contact-form {
  -ms-flex-preferred-size: 65%;
      flex-basis: 65%;
}
#contact .contact-wrapper .contact-form form {
  width: 100%;
  height: 100%;
  padding: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
#contact .contact-wrapper .contact-form form h2 {
  font-size: 4rem;
  color: rgb(16, 109, 65);
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 4px;
  margin-bottom: 2rem;
}
#contact .contact-wrapper .contact-form form .row {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2rem;
}
#contact .contact-wrapper .contact-form form .row .column {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#contact .contact-wrapper .contact-form form .row .column label {
  font-size: 2rem;
}
#contact .contact-wrapper .contact-form form .row .column input {
  width: 100%;
}
#contact .contact-wrapper .contact-form form .row input {
  width: 50%;
  background: none;
  border: none;
  border-bottom: 2px solid #969696;
  padding: 0.5rem;
  outline: none;
  font-size: 2rem;
}
#contact .contact-wrapper .contact-form form .row input[type=checkbox] {
  width: 2rem;
  height: 2rem;
}
#contact .contact-wrapper .contact-form form select {
  width: 100%;
  background: none;
  border: none;
  border: 2px solid #969696;
  padding: 0.5rem;
  outline: none;
  font-size: 2rem;
}
#contact .contact-wrapper .contact-form form textarea {
  width: 100%;
  height: 15rem;
  resize: vertical;
  background: none;
  border: 2px solid #969696;
  padding: 0.5rem;
  outline: none;
  font-size: 2rem;
}
#contact .contact-wrapper .contact-form form input {
  width: 50%;
  background: none;
  border: none;
  border-bottom: 2px solid #969696;
  padding: 0.5rem;
  outline: none;
  font-size: 2rem;
}
#contact .contact-wrapper .contact-form form input[type=submit] {
  cursor: pointer;
  background: rgb(16, 109, 65);
  color: #ffffff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 6rem;
  padding-bottom: 1.2rem;
  line-height: 1;
  font-size: 2.5rem;
  text-transform: uppercase;
  -webkit-box-shadow: 5px 4px 15px 0px rgba(0, 0, 0, 0.25);
          box-shadow: 5px 4px 15px 0px rgba(0, 0, 0, 0.25);
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  border: none;
}
#contact .contact-wrapper .contact-form form input[type=submit]:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
#contact .contact-wrapper .contact-form form label {
  font-size: 2rem;
}
#contact .contact-wrapper .contact-details {
  -ms-flex-preferred-size: 35%;
      flex-basis: 35%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#contact .contact-wrapper .contact-details .details {
  height: 50%;
  width: 100%;
  background: rgb(16, 109, 65);
  padding: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#contact .contact-wrapper .contact-details .details .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
#contact .contact-wrapper .contact-details .details .row svg {
  width: 3rem;
  height: 3rem;
  -o-object-fit: contain;
     object-fit: contain;
  fill: #ffffff;
}
#contact .contact-wrapper .contact-details .details .row p {
  font-size: 2.5rem;
  color: white;
}
#contact .contact-wrapper .contact-details .details .socials-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
#contact .contact-wrapper .contact-details .details .socials-contact a {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#contact .contact-wrapper .contact-details .details .socials-contact a svg {
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  width: 3rem;
  height: 3rem;
  fill: rgb(16, 109, 65);
}
#contact .contact-wrapper .contact-details .map {
  width: 100%;
  height: 50%;
}
#contact .contact-wrapper .contact-details .map iframe {
  width: 100%;
  height: 100%;
}

#inner-hero {
  width: 100%;
  position: relative;
  min-height: 45dvh;
  margin-bottom: 5rem;
}
#inner-hero .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 10.4rem;
}
#inner-hero .overlay h2 {
  font-size: 5rem;
  color: #ffffff;
  text-transform: uppercase;
  margin-bottom: 1rem;
  padding: 0 3rem;
  text-align: center;
}
#inner-hero .overlay h3 {
  font-size: 3rem;
  padding: 0 3rem;
  color: #ffffff;
  text-align: center;
}

#sticky-gallery {
  width: 100%;
  padding-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#sticky-gallery .sub-gallery {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  scroll-margin-top: 10.5rem;
}
#sticky-gallery .sub-gallery .sticky-txt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 35%;
          flex: 0 0 35%;
  position: -webkit-sticky;
  position: sticky;
  top: 10.5rem;
  padding-right: 10rem;
}
#sticky-gallery .sub-gallery .sticky-txt h2 {
  text-transform: uppercase;
  font-size: 3rem;
  color: #000000;
  margin-bottom: 1rem;
  padding-top: 2rem;
}
#sticky-gallery .sub-gallery .sticky-txt p {
  font-size: 2rem;
  color: #000000;
}
#sticky-gallery .sub-gallery .gallery {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 65%;
          flex: 0 0 65%;
  width: 100%;
  /* žádný display: flex, Masonry to rozloží */
}
#sticky-gallery .sub-gallery .gallery .grid-sizer {
  width: 50%;
}
#sticky-gallery .sub-gallery .gallery .masonry-item {
  width: 50%;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
}
#sticky-gallery .sub-gallery .gallery .masonry-item a {
  display: block;
}
#sticky-gallery .sub-gallery .gallery .masonry-item a img {
  width: 100%;
  height: auto;
  display: block;
  padding: 1rem;
}

#equipment {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 0;
}
#equipment .grid-container {
  display: grid;
  grid-template-columns: repeat(2, 60rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10rem;
}
#equipment .grid-container .grid-item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#equipment .grid-container .grid-item .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
#equipment .grid-container .grid-item .row h2 {
  font-size: 4rem;
  font-weight: 400;
  color: #000000;
}
#equipment .grid-container .grid-item .row img {
  width: 5rem;
  height: 5rem;
  -o-object-fit: contain;
     object-fit: contain;
}
#equipment .grid-container .grid-item ol {
  list-style-type: disc;
  list-style-position: inside;
  font-size: 2.5rem;
}
#equipment .grid-container .grid-item ol li {
  margin-bottom: 0.5rem;
}

#calendar {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 0;
}
#calendar .legend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 5rem;
}
#calendar .legend h2 {
  text-align: center;
  font-size: 3rem;
  margin-bottom: 2rem;
  letter-spacing: 4px;
  font-weight: 400;
  color: #000000;
  text-transform: uppercase;
}
#calendar .legend .row-legend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#calendar .legend .row-legend .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
}
#calendar .legend .row-legend .row p {
  font-size: 2rem;
}
#calendar .legend .row-legend .row img {
  width: 3.5rem;
  height: 3.5rem;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}
#calendar .calendar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 2rem;
}
#calendar .calendar table.month {
  width: 100%;
  border-collapse: collapse;
  background-color: white;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 0.8rem;
  overflow: hidden;
  position: relative;
}
#calendar .calendar table.month caption {
  background-color: rgb(16, 109, 65);
  color: white;
  font-weight: bold;
  font-size: 2rem;
  padding: 1rem;
  text-align: center;
  text-transform: uppercase;
}
#calendar .calendar table.month thead th {
  background-color: #e0f2f1;
  padding: 0.8rem;
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
  border-bottom: 1px solid #ccc;
}
#calendar .calendar table.month tbody td {
  padding: 0.8rem;
  text-align: center;
  font-size: 1.6rem;
  border: 1px solid #eee;
  height: 3.5rem;
  position: relative;
  z-index: 1;
}
#calendar .calendar table.month tbody td.full {
  background-color: #ffcdd2;
}
#calendar .calendar table.month tbody td.leaving {
  background-color: transparent;
}
#calendar .calendar table.month tbody td.leaving::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffcdd2;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
  pointer-events: none;
  border-radius: 0.3rem;
  z-index: -1;
}
#calendar .calendar table.month tbody td.enter {
  background-color: transparent;
}
#calendar .calendar table.month tbody td.enter::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #ffcdd2;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
          clip-path: polygon(100% 0, 100% 100%, 0 100%);
  pointer-events: none;
  border-radius: 0 0 0.3rem 0.3rem;
  z-index: -1;
}

#vouchers {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8rem;
  padding-top: 0;
}
#vouchers .voucher {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#vouchers .voucher table {
  width: 100%;
  border: none;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
#vouchers .voucher table tr:nth-child(odd) {
  background-color: #ffffff;
}
#vouchers .voucher table tr:nth-child(even) {
  background-color: rgb(162, 198, 181);
}
#vouchers .voucher table thead {
  background: rgb(16, 109, 65);
  color: #ffffff;
  font-size: 3rem;
  text-align: center;
}
#vouchers .voucher table thead tr {
  background: rgb(16, 109, 65) !important;
}
#vouchers .voucher table thead tr td {
  padding: 2rem;
}
#vouchers .voucher table tbody tr {
  background: #ffffff;
  color: #000000;
  font-size: 2.5rem;
  text-align: center;
}
#vouchers .voucher table tbody tr td {
  padding: 1rem;
}

#rules {
  width: 100%;
}
#rules .rules-content {
  width: 85%;
  margin: 0 auto;
}
#rules .rules-content h2 {
  font-size: 4rem;
  letter-spacing: 4px;
  font-weight: 400;
  margin-bottom: 2rem;
}
#rules .rules-content p {
  font-size: 2.5rem;
  margin-bottom: 2rem;
}

.cookies {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-self: center;
  bottom: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.8);
  padding: 2rem;
  padding-bottom: 0;
  width: 42.5rem;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  z-index: 2;
}
.cookies p {
  font-size: 1.6rem;
}
.cookies a {
  color: rgb(16, 109, 65);
  font-weight: bold;
}
.cookies .row {
  width: 50%;
  margin: 2rem;
}
.cookies .row .btn-g {
  font-size: 1.8rem;
  margin: 0rem 2rem;
  color: #ffffff;
  background: rgb(16, 109, 65);
  padding: 0.7rem 2.5rem;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  font-weight: 400;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
.cookies .row .btn-g:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
.cookies .row .btn-b {
  font-size: 1.8rem;
  margin: 0rem 2rem;
  color: #ffffff;
  background: #000000;
  padding: 0.7rem 2.5rem;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  font-weight: 400;
}
.cookies .row .btn-b:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}

@media (min-width: 2560px) {
  html {
    font-size: 14px;
  }
}
@media (max-width: 1600px) {
  html {
    font-size: 9.5px;
  }
  header {
    padding: 0.25rem 12.5rem;
  }
  header .logo img {
    width: 11rem;
  }
  header nav ul {
    gap: 1.5rem;
  }
  header nav ul li a {
    font-size: 2.2rem;
  }
  header nav ul li.has-submenu .submenu li a {
    font-size: 2.2rem;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay {
    padding: 10rem 12.5rem;
  }
  section {
    padding: 10rem 12.5rem;
  }
  #banner .overlay {
    padding: 10rem 12.5rem;
  }
  footer {
    padding: 1.5rem 12.5rem;
  }
}
@media (max-width: 1440px) {
  html {
    font-size: 9px;
  }
  header {
    padding: 0.25rem 10rem;
  }
  header .logo img {
    width: 10rem;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay {
    padding: 10rem;
  }
  section {
    padding: 5rem 10rem;
  }
  #banner .overlay {
    padding: 5rem 10rem;
  }
  footer {
    padding: 1.5rem 10rem;
  }
  #contact .contact-wrapper {
    width: 100%;
  }
  #sticky-gallery .sub-gallery .sticky-txt {
    padding-right: 5rem;
  }
  #equipment .grid-container {
    grid-template-columns: repeat(2, 60rem);
    gap: 5rem;
  }
}
@media (max-width: 1336px) {
  html {
    font-size: 8.5px;
  }
  header {
    padding: 0.25rem 8rem;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay {
    padding: 8rem;
  }
  #hero-slider .swiper .swiper-button-prev {
    left: 5rem;
  }
  #hero-slider .swiper .swiper-button-next {
    right: 5rem;
  }
  #hero-slider .swiper .swiper-pagination {
    bottom: 3rem !important;
  }
  section {
    padding: 5rem 8rem;
  }
  #banner .overlay {
    padding: 5rem 8rem;
  }
  footer {
    padding: 1.5rem 8rem;
  }
  #equipment .grid-container {
    grid-template-columns: repeat(2, 40rem);
    gap: 3rem;
  }
  #equipment .grid-container .grid-item .row h2 {
    font-size: 3rem;
  }
}
@media (max-width: 1024px) {
  header {
    padding: 0.25rem 5rem;
    z-index: 4;
  }
  header nav {
    position: absolute;
    width: 42rem;
    height: 100dvh;
    background: #ffffff;
    top: 0;
    right: 0;
    z-index: -1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transition: ease 0.3s all;
    transition: ease 0.3s all;
    padding-top: 9rem;
  }
  header nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.5rem;
    position: relative;
  }
  header nav ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  header nav ul li a {
    font-size: 3rem;
    color: #000000;
  }
  header nav ul li .submenu {
    display: none !important;
  }
  header #toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    padding-right: 0.5rem;
  }
  header #toggle .icon-wrapper {
    position: relative;
    width: 3.5rem;
    height: 3.5rem;
    margin-left: auto;
  }
  header #toggle .icon-wrapper .icon {
    position: absolute;
    inset: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  header #toggle .icon-wrapper .icon svg {
    width: 3.5rem;
    height: 3.5rem;
    cursor: pointer;
  }
  header #toggle .icon-wrapper .icon-hamburger {
    opacity: 1;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    fill: #ffffff !important;
  }
  header #toggle .icon-wrapper .icon-close {
    opacity: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    fill: #000000 !important;
  }
  header #toggle .icon-wrapper.opened .icon-hamburger {
    opacity: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  header #toggle .icon-wrapper.opened .icon-close {
    opacity: 1;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  .active-menu {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-transition: ease 0.3s all;
    transition: ease 0.3s all;
  }
  .not-active-menu {
    -webkit-transform: translateX(42rem);
            transform: translateX(42rem);
    -webkit-transition: ease 0.3s all;
    transition: ease 0.3s all;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay {
    padding: 5rem;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .overlay-txt {
    padding: 0 2rem;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .adress {
    margin-bottom: 1rem;
  }
  #hero-slider .swiper .swiper-button-prev {
    left: 2rem;
  }
  #hero-slider .swiper .swiper-button-next {
    right: 2rem;
  }
  #hero-slider .swiper .swiper-pagination {
    bottom: 3rem !important;
  }
  section {
    padding: 5rem;
  }
  #videos video {
    width: 100%;
  }
  #reviews .swiper2 {
    width: 100%;
  }
  #banner .overlay {
    padding: 5rem;
  }
  footer {
    padding: 1.5rem 5rem;
  }
  #inner-menu .grid-container {
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
  #gallery {
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
  #contact .contact-wrapper {
    width: 100%;
  }
  #contact .contact-wrapper .contact-form form {
    padding: 3rem;
  }
  #contact .contact-wrapper .contact-details .details {
    padding: 3rem;
  }
  #calendar .calendar {
    grid-template-columns: repeat(3, 1fr);
  }
  #vouchers {
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
  }
  #rules .rules-content {
    width: 100%;
  }
}
@media (max-width: 800px) {
  #equipment .grid-container {
    grid-template-columns: repeat(2, 35rem);
    gap: 3rem;
  }
  #equipment .grid-container .grid-item {
    width: 100%;
  }
  #equipment .grid-container .grid-item .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #calendar .calendar {
    grid-template-columns: repeat(2, 1fr);
  }
  #vouchers {
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
  }
}
@media (max-width: 768px) {
  header nav ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  header nav ul li {
    width: 100%;
  }
  header nav ul li .submenu {
    position: static;
    display: none;
    width: 100%;
    -webkit-box-shadow: none;
            box-shadow: none;
    background: transparent;
    padding: 0;
  }
  header nav ul li .submenu a {
    padding: 1rem 2rem;
  }
  header nav ul li.open .submenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #reviews .swiper2 {
    width: 100%;
  }
  #reviews .swiper2 .swiper-wrapper .swiper-slide {
    padding: 5rem;
    padding-top: 0;
  }
  footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #inner-menu .grid-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
  #gallery {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
  #contact .form-tranform {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  #contact .form-tranform .contact-details {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  #contact .contact-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #contact .contact-wrapper .contact-form form {
    padding: 3rem;
  }
  #contact .contact-wrapper .contact-details .details {
    padding: 3rem;
  }
  #contact .contact-wrapper .contact-details .map {
    min-height: 25rem;
    position: relative;
  }
  #contact .contact-wrapper .contact-details .map iframe {
    position: absolute;
    width: 100%;
    height: 100%;
  }
  #sticky-gallery .sub-gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 3rem;
  }
  #sticky-gallery .sub-gallery .sticky-txt {
    padding-right: 0rem;
    position: relative;
    top: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-bottom: 3rem;
  }
  #sticky-gallery .sub-gallery .sticky-txt h2 {
    padding-top: 0;
  }
  #sticky-gallery .sub-gallery .gallery {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    height: 40rem;
  }
}
@media (max-width: 720px) {
  #equipment .grid-container {
    grid-template-columns: repeat(1, 40rem);
    gap: 3rem;
  }
}
@media (max-width: 425px) {
  header {
    padding: 0.25rem 3rem;
  }
  header .socials {
    gap: 0.5rem;
  }
  header .logo img {
    width: 8rem;
  }
  header nav {
    width: 100%;
  }
  .scrolled .logo img {
    width: 8rem;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay {
    padding: 3rem;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .overlay-txt h1 {
    font-size: 5rem;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .overlay-txt h3 {
    margin-bottom: 2rem;
    font-size: 2.5rem;
  }
  #hero-slider .swiper .swiper-wrapper .swiper-slide .overlay .overlay-txt .btn-next {
    margin-bottom: 10rem;
  }
  #hero-slider .swiper .swiper-button-prev {
    left: 1rem;
  }
  #hero-slider .swiper .swiper-button-next {
    right: 1rem;
  }
  #hero-slider .swiper .swiper-pagination {
    bottom: 1rem !important;
  }
  .active-menu {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-transition: ease 0.3s all;
    transition: ease 0.3s all;
  }
  .not-active-menu {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: ease 0.3s all;
    transition: ease 0.3s all;
  }
  .no-scroll {
    overflow: hidden;
    height: 100vh;
  }
  section {
    padding: 5rem 3rem;
  }
  #logos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
  #logos a {
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
  }
  #logos a img {
    width: 100%;
    aspect-ratio: 1;
    height: 100%;
  }
  #banner {
    min-height: 40rem;
  }
  #banner .overlay {
    padding: 3rem;
  }
  #banner .overlay h2 {
    font-size: 3.5rem;
  }
  #reviews {
    padding: 3rem 0;
  }
  #reviews h2 {
    font-size: 3.5rem;
    padding: 0 3rem;
  }
  #reviews .swiper2 {
    width: 100%;
    position: relative;
  }
  #reviews .swiper2 .swiper-wrapper .swiper-slide {
    padding: 4rem;
    padding-top: 0;
  }
  #reviews .swiper2 .swiper-wrapper .swiper-slide h3 {
    font-size: 2.5rem;
  }
  footer {
    padding: 1.5rem 3rem;
  }
  #inner-menu .grid-container {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
  }
  #gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
  #contact .contact-wrapper .contact-form form h2 {
    text-align: center;
  }
  #contact .contact-wrapper .contact-form form .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #contact .contact-wrapper .contact-form form .row input {
    width: 100%;
  }
  #contact .contact-wrapper .contact-form form .row label {
    text-align: center;
  }
  #equipment .grid-container {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
  }
  #calendar .calendar {
    grid-template-columns: repeat(1, 1fr);
  }
  #vouchers {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
  }
  .cookies {
    width: 100%;
  }
}