/*
### 01 TYPOGRAPHY SYSTEM


- FONT SIZE SYSTEM (px)
10 / 12 / 14 / 16 / 18 / 20 / 24 / 30 / 36 / 44 / 52 / 62 / 74 / 86 / 98

- Line heights
Default: 1

- Font Weight
Default: 400


### 02 COLORS

- Primary colors:	#239f40 , #da0000
- Tints:
- Shades: 
- Accents:
- Greys: #555, #333


### 05 SHADOWS


### 06 BORDER-RADIUS


### 07 WHITESPACE

SPACING SYSTEM (px)
2 / 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 80 / 96 / 128


/********************************/
/* UNIVERSAL RESET */
/********************************/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  line-height: 1;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  color: #555;
}
html {
  font-size: 62.5%;
}

/********************************/
/* GENERAL REUSABLE ELEMENTS */
/********************************/
.bottom-ribbon {
  height: 1rem;
  width: 100%;
  background-color: #087f5b;
  border-radius: 4px;
  position: absolute;
}

.container {
  max-width: 130rem;
  margin: 0 auto;
  padding: 0 4.2rem;
}
.grid {
  display: grid;
  gap: 9.6rem;
}
.grid--2-cols {
  grid-template-columns: repeat(2, 1fr);
}
.grid--3-cols {
  grid-template-columns: repeat(3, 1fr);
}

.align-text-centre {
  text-align: center;
}

.heading-primary {
  font-size: 5.2rem;
  color: #333;
  line-height: 1;
  letter-spacing: -0.5px;
  margin-bottom: 3.2rem;
  font-weight: 700;
}

.heading-secondary {
  font-size: 4.4rem;
  color: #333;
  line-height: 1;
  letter-spacing: -0.5px;
  margin-top: 9.2rem;
  margin-bottom: 9.2rem;
  font-weight: 600;
}
.heading-tertiary {
  font-size: 3.2rem;
  color: #333;
  line-height: 1;
  letter-spacing: -0.5px;
  margin-bottom: 3.2rem;
  font-weight: 600;
}
.heading-quaternary {
  font-size: 2.4rem;
  color: #333;
  line-height: 1;
  letter-spacing: -0.6px;
  font-weight: 600;
  margin: 1.2rem 0 1.8rem 0;
}
.subheading {
  display: inline-block;
  font-size: 1.2rem;
  letter-spacing: 0.3px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
}
.btn:link,
.btn:visited {
  display: inline-block;
  padding: 1.6rem 3.2rem;
  font-size: 2rem;
  font-weight: 600;
  text-decoration: none;
  background-color: #239f40;
  color: #fff;
  border-radius: 9px;
  transition: background-color 0.3s;
}
.btn:hover,
.btn:active {
  background-color: #208f3a;
}
/********************************/
/* HERO SECTION */
/********************************/

/* ######## */
/* GENERAL CONFIG */
.hero {
  margin: 0 auto;
  max-width: 130rem;
  padding: 0 4.2rem;
}

.section-hero {
  padding: 9.2rem 0;
  display: flex;
  align-items: center;
  /* background-color: #d3ecd9; */
  /* background-image: linear-gradient(#a7d9b3, #e9f5ec); */
}

.hero-description {
  font-size: 2rem;
  line-height: 1.7;
  margin-bottom: 4.8rem;
  font-weight: 500;
}

.hero-img {
  width: 100%;
}

/* ######### */
/* Home Hero */
.hero--home {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9.2em;
}
.section-hero--home {
  background-color: #d3ecd9;
  height: calc(100vh - 12rem);
}

/* ######## */
/* Attractions Hero */
.section-hero--attarctions {
  height: calc(100vh - 12rem);
  background-image: linear-gradient(
      rgba(68, 68, 68, 0.466),
      rgba(68, 68, 68, 0.466)
    ),
    url(../img/Attraction-hero-img.jpg);
  background-size: cover;
  display: grid;
  align-items: center;
}
.heading-primary--attractions {
  color: #e9f5ec;
  background-color: #07200d75;
  padding: 4rem;
}
.hero-attracion {
  grid-template-columns: 3fr 1fr;
}
/* Nature hero */
.section-hero--nature {
  height: calc(100vh - 12rem);
  background-image: linear-gradient(
      rgba(68, 68, 68, 0.466),
      rgba(68, 68, 68, 0.466)
    ),
    url(../img/nature-hero.jpg);
  background-size: cover;
  display: grid;
  align-items: center;
}
.hero-nature {
  grid-template-columns: 3fr 2fr;
}
/* Seasons Hero */
.section-hero--seasons {
  height: calc(100vh - 12rem);
  background-image: linear-gradient(
      rgba(68, 68, 68, 0.466),
      rgba(68, 68, 68, 0.466)
    ),
    url(../img/seasons_hero.jpg);
  background-size: cover;
  display: grid;
  grid-template-rows: 1fr 0.4fr 0.5fr;
  align-items: center;
}
.heading-primary--seasons {
  color: #e9f5ec;
  background-color: #07200d75;
  padding: 4rem;
}
.hero-seasons {
  grid-template-columns: 3fr 1fr;
}
.hero-text-box-seasons {
  grid-column: 1/-1;
}

/********************************/
/* SEASONS SECTION */
/********************************/
.seasons-list {
  display: grid;
  grid-template-rows: 1fr 1fr 1fr 1fr;
  row-gap: 0.8rem;
  padding: 0.8rem 0;
  background-color: #333;
}
.season-sections {
  height: 100vh;
}
.season-spring {
  background-image: linear-gradient(
      rgba(68, 68, 68, 0.466),
      rgba(68, 68, 68, 0.466)
    ),
    url(../img/seasons/spring-season.jpg);
  background-size: cover;
}
.season-summer {
  background-image: linear-gradient(
      rgba(68, 68, 68, 0.466),
      rgba(68, 68, 68, 0.466)
    ),
    url(../img/seasons/summer-season.jpg);
  background-size: cover;
}
.season-fall {
  background-image: linear-gradient(
      rgba(68, 68, 68, 0.466),
      rgba(68, 68, 68, 0.466)
    ),
    url(../img/seasons/fall-season.jpg);
  background-size: cover;
}
.season-winter {
  background-image: linear-gradient(
      rgba(68, 68, 68, 0.466),
      rgba(68, 68, 68, 0.466)
    ),
    url(../img/seasons/winter-season.jpg);
  background-size: cover;
}

.summer--heading {
  background: -webkit-linear-gradient(180deg, #f2d50f, #c40925, #f2d50f);
}
.spring--heading {
  background: -webkit-linear-gradient(180deg, #f2d50f, #56c04c, #f2d50f);
}
.autumn--heading {
  background: -webkit-linear-gradient(180deg, #f2d50f, #ff640a, #cf5300);
}
.winter--heading {
  background: -webkit-linear-gradient(180deg, #1572ff, #1100ff, #0066ff);
}
.season--heading-secondary {
  text-align: center;
  height: 7rem;
  font-weight: 700;
  /* background-image: linear-gradient(#f2d50f, #a1051d);
  background: -webkit-linear-gradient(180deg, #f2d50f, #a1051d, #f2d50f); */
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.season-description {
  font-size: 2rem;
  line-height: 1.6;
  color: #e9f5ec;
  background-color: #07200d75;
  grid-column: 2/3;
  padding: 1.2rem;
}
.season-description-div {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
}

/********************************/
/* FOOTER */
/********************************/
footer {
  margin-top: 3.6rem;
  background-color: #d7eeda;
  position: relative;
}
.page-footer {
  padding-top: 2.4rem;
  height: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
  column-gap: 4.6rem;
}
.copy-right {
  grid-column: 1/-1;
}
.social-media-list {
  display: flex;
  gap: 2.6rem;
  /* margin-left: 2.6rem; */
}
.social-media-logo {
  height: 2.8rem;
  width: 2.8rem;
  color: #087f5b;
}
.contacts {
  font-size: 1.6rem;
  line-height: 1.4;
}
.copy-right {
  margin-top: 3.2rem;
  margin-bottom: 1.2rem;
  text-align: center;
  font-size: 1.4rem;
  color: #73797e;
  font-weight: 500;
}
.links-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  list-style: none;
}
.links-group a:link,
.links-group a:visited {
  text-decoration: none;
  font-size: 1.6rem;
  line-height: 2;
  color: #333;
  font-weight: 500;
  padding: 0.3rem 0.6rem;
  border-radius: 7px;
  transition: all 0.3s;
}
.links-group a:hover,
.links-group a:active {
  background-color: #da0000;
  color: #fff;
}
.footer-ribbon {
  height: 0.2rem;
  width: 100%;
  background-color: #087f5b;
  border-radius: 4px;
  position: absolute;
  top: 0;
}

/********************************/
/* Gallary */
/********************************/
.section-galary {
  background-color: #a7d9b39f;
  padding: 5rem 0;
}
.galary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
.galary-img {
  width: 100%;
  height: 100%;
  transition: all 0.4s;
}
.galary-img:hover {
  transform: scale(1.1);
}
.galary-item {
  overflow: hidden;
  border-radius: 9px;
  box-shadow: 0 2.4rem 4.4rem rgba(51, 51, 51, 0.301);
}

.nature-audio-box {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  margin-top: 2rem;
}
.nature-audio-box .heading-tertiary {
  margin: 0;
}
/********************************/
/* HEADER */
/********************************/
/* .header-red-upper-bound {
  height: 1.2rem;
  background-color: #da0000;
}
.header-green-lower-bound {
  height: 1.2rem;
  background-color: #239f40;
} */

.header {
  height: 12rem;
  background-image: linear-gradient(
    #239f40 0.1%,
    #fff 20%,
    #fff 80%,
    #da0000 99.9%
  );
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 3.2rem;
  position: relative;
}
.flag-logo {
  height: 5rem;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}

.logo {
  width: 10rem;
}

/********************************/
/* NAVIGATION */
/********************************/

.main-nav-list {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 3.2rem;
}
.main-nav-link:link,
.main-nav-link:visited {
  display: inline-block;
  text-decoration: none;
  color: #333;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 0.6rem 1.2rem;
  border-radius: 9px;
  transition: all 0.3s;
}
.main-nav-link:hover,
.main-nav-link:active {
  background-color: #da0000;
  color: #fff;
}
.main-nav-link.main-cta:link,
.main-nav-link.main-cta:visited {
  background-color: #239f40;
  color: #fff;
  padding: 1.2rem 2.2rem;
}
.main-nav-link.main-cta:hover,
.main-nav-link.main-cta:active {
  background-color: #208f3a;
}
/* Mobile NAV */
.btn-nav-pop-up {
  height: 3rem;
  width: 3rem;
  background: none;
  border: none;
  display: none;
}
.icon-nav-open,
.icon-nav-close {
  height: 3rem;
  width: 3rem;
}
.icon-nav-close {
  display: none;
}

/********************************/
/* ATTRACTION FEATURES */
/********************************/

.feature-img {
  width: 100%;
}

.feature-description {
  font-size: 1.8rem;
  line-height: 1.7;
  margin-bottom: 4.8rem;
  font-weight: 500;
}

/**************************/
/* CTA SECTION */
/**************************/

.section-cta {
  padding: 4.8rem 0 12.8rem;
}

.cta {
  display: grid;
  grid-template-columns: 1fr;
  box-shadow: 0 2.4rem 4.8rem rgba(0, 0, 0, 0.15);
  border-radius: 11px;
  background-color: #239f40;
}

.cta-text-box {
  padding: 4.8rem 6.4rem 6.4rem 6.4rem;
  color: #ebfbee;
}

.cta .heading-secondary {
  color: inherit;
  margin-bottom: 3.2rem;
}

.cta-text {
  font-size: 2rem;
  line-height: 1.7;
  margin-bottom: 4.8rem;
}

.cta-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 3.2rem;
  row-gap: 2.4rem;
}

.cta-form label {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 1.2rem;
}

.cta-form input,
.cta-form select {
  width: 100%;
  padding: 1.2rem;
  font-size: 1.8rem;
  font-family: inherit;
  color: #333;
  border: none;
  background-color: #fdf2e9;
  border-radius: 9px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.cta-form input::placeholder {
  color: #8f8e8e;
}
.btn--form {
  background-color: #55de75;
  color: #333;
  align-self: end;
  padding: 1.2rem;
  border-radius: 11px;
  transition: all 0.3s;
  cursor: pointer;
}

.btn--form:hover {
  background-color: #208f3a;
  color: #fff;
}

/* Summary section */
details summary {
  font-size: 2.8rem;
  color: #333;
  line-height: 1;
  letter-spacing: -0.5px;
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
  font-weight: 600;
}
details p {
  font-size: 2rem;
  line-height: 1.7;
  margin-bottom: 4.8rem;
  font-weight: 500;
}
.section-FAQ {
  margin-bottom: 10rem;
}

/* PAGINATION */

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  margin-top: 3.6rem;
  margin-bottom: 3.6rem;
}
.page-link-navigator:link,
.page-link-navigator:visited {
  font-size: 1.6rem;
  font-weight: 500;
  color: #343a40;
  text-decoration: none;
  height: 4rem;
  width: 14rem;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-link-navigator:hover,
.page-link-navigator:active,
.page-link-navigator.page-link--current {
  background-color: #087f5b;
  color: #fff;
}

/* ARTICLE */
article {
  border: 3px solid #087f5b;
  border-radius: 30px;
  padding: 2.4rem;
  margin: 2.4rem 3.6rem;
}
.article-post-img {
  width: 100%;
  border-radius: 9px;
  margin: 1.2rem 0;
}
.article-paragraph {
  font-size: 1.8rem;
  line-height: 1.7;
  font-weight: 500;
}
.heading-primary.article {
  padding-left: 3.6rem;
  color: #044e38;
}
.heading-secondary.article {
  margin: 0 0 3.2rem 0;
  color: #044e38;
}
.heading-tertiary.article {
  margin: 1.8rem 0 1.2rem 0;
  color: #044e38;
}
/**********###################################**********************/
/* Media Queries */
/**********###################################**********************/

/* at 1280 px on normal circumstances */
@media (max-width: 95em) {
  .flag-logo {
    display: none;
  }
}
/* Smaller desktops */
/* at 1080 px on normal circumstances */
@media (max-width: 67.7em) {
  html {
    font-size: 56.25%;
  }
}

/* at 1080 px on normal circumstances */
@media (max-width: 67.7em) {
  html {
    font-size: 56.25%;
  }
}
/* at 1080 px on normal circumstances */
@media (max-width: 59em) {
  html {
    font-size: 50%;
  }
  .heading-primary {
    font-size: 5rem;
  }

  .heading-secondary {
    font-size: 3.6rem;
  }
  .heading-tertiary {
    font-size: 2.8rem;
  }
  .hero-attracion {
    grid-template-columns: 9fr 1fr;
    gap: 4.2rem;
  }
  .grid {
    gap: 4.2rem;
  }
  .hero-img {
    width: 70%;
  }
  .hero--home {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6.2em;
  }
  .hero-img-box {
    text-align: center;
  }
}
@media (max-width: 40em) {
  .btn-nav-pop-up {
    display: block;
  }
  .open-nav .icon-nav-close {
    display: block;
  }
  .open-nav .icon-nav-open {
    display: none;
  }
  .main-nav-list {
    display: none;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.89);
    right: 0;
    top: 0;
    height: 80vh;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 6.2rem;
  }
  .main-nav-link:link,
  .main-nav-link:visited {
    font-size: 2.4rem;
  }
  .open-nav .main-nav-list {
    display: flex;
    flex-direction: column;
  }
  .main-nav-list {
    display: none;
  }
  .cta-form {
    grid-template-columns: 1fr;
  }
  .page-footer {
    grid-template-columns: 1fr;
    height: auto;
    grid-template-rows: auto 1fr auto;
  }
  .galary {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 28em) {
  .galary {
    grid-template-columns: repeat(1, 1fr);
  }
  .links-container {
    grid-template-columns: 1fr;
  }
}
