:root {
  --main-color_1: #cef7fe;
  --main-color_2: #f9cfcf;
  --main-color_3: #ffff;
  --font-color_1: black;
  --hover-color_1: #f0f0f0;
  --shadow: rgba(0, 0, 0, 0.05);
  --map-placeholder-color: aqua;

  --content-width: min(90%, 1200px);
  --section-padding: clamp(1rem, 3vw, 2rem);
}

a:link {
  text-decoration: none;
}

.font_1 {
  font-size: large;
  font-weight: bold;
  font-family: "Noto Sans", sans-serif;
  color: var(--font-color_1);
}

.title_font_left {
  font-size: xx-large;
  margin-left: 20%;
  margin-top: 3%;
}

.title_font_right {
  font-size: xx-large;
  margin-left: 60%;
  margin-top: 3%;
}

.title_font {
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  margin: 2rem 5%;
  flex-basis: 45%;
}

.title_left {
  text-align: left;
}

.title_right {
  text-align: right;
}

.frame_1 {
  width: 30%;
  height: auto;
}

.motto_1 {
  position: absolute;

  left: 8%;
  top: 50%;
  transform: translateY(-50%);

  width: min(90%, 28rem);

  padding: 1rem;

  background: var(--main-color_1);

  font-size: clamp(1.2rem, 2vw, 2rem);
}

.page-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

.tbframe_1 {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.facts_section {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.card-column {
  display: flex;
  flex-direction: column-reverse;
  gap: 16px;
  flex: 1 1 0;
  align-items: stretch;
}

.shrinkable {
  min-width: 0;
}

.frame_2 {
  width: 30%;
  height: auto;
  object-fit: cover;
}

.facts_section {
  flex-direction: row;
  width: 100%;
}

.fact_picture {
  width: 30%;
  height: auto;
  object-fit: cover;
}

.fact_textbox {
  background-color: var(--main-color_2);
}

.intro_textbox {
  background-color: var(--main-color_1);
}

.common_textbox {
  height: 240px;
  width: 70%;
  padding: 30px 25px;
}

.infocard_navbar {
  flex-direction: column;
  align-items: center;
  background-color: var(--main-color_2);
}

.pictures {
  flex-direction: row;
  justify-content: space-between;
  margin-top: 30px;
  order: 1;
  width: 80%;
}

.buttons {
  flex-direction: row;
  justify-content: space-between;
  order: 2;
  width: 80%;
  padding: 20px 0;
}

.pic_content {
  width: 100%;
  max-width: 200px;
  height: 160px;
  object-fit: cover;
  border-radius: 20px;
}

.forest_trail {
  order: 1;
}

.cultural_sites {
  order: 2;
  object-fit: cover;
}

.restaurants {
  order: 3;
  object-fit: cover;
}

.activities {
  order: 4;
  object-fit: cover;
}

.hotels_n_camping {
  order: 5;
  object-fit: cover;
}

.hover_1 :hover {
  background-color: var(--hover-color_1);
}

.button_content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  width: 200px;
  border-radius: 50px;
  background-color: var(--main-color_3);
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.2s ease;
}

.infocard_list_template {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.infocard_list {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px;
  background-color: var(--main-color_1);
}

.placeholder_item {
  display: flex;
  align-items: center;
  flex-direction: row;
  padding: 20px;
  width: 100%;
  max-width: 800px;
  background-color: var(--main-color_3);
  box-shadow: 0 2px 4px var(--shadow);
  border-radius: 20px;
}

.placeholder_img {
  order: 1;
  border-radius: 20%;
}

.placeholder_separator {
  margin-left: 5%;
  flex-direction: column;
  order: 2;
}

.placeholder_main_text {
  order: 2;
  font-size: small;
}

.event_template {
  margin-top: 2%;
  display: flex;
  flex-direction: row;
  width: 100%;
}

.event_textbox {
  display: flex;
  width: 40%;
  height: 300px;
  background-color: var(--main-color_2);
}

.event {
  width: 30%;
  display: flex;
}

.dot {
  height: 25px;
  width: 25px;
  border-radius: 50%;
  display: inline-block;
}

.main-image {
  position: relative;
  width: 100%;
  min-height: 40vh;
  height: 60vh;
  max-height: 700px;

  background-image: url("../pictures/riihimakibirdseyeview.jpeg");
  background-size: cover;
  background-position: center;
}

.contact_template {
  padding: 20px;
}

@media (max-width: 1440px) {
  .mobile-column {
    flex-direction: column;
    gap: 20px;
  }

  .responsive-full {
    width: 100%;
    max-width: 100%;
  }

  .responsive-cover {
    height: 160px;
    object-fit: cover;
  }

  .responsive-box {
    height: auto;
    padding: 20px;
  }


  .motto_1 {
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: min(90%, 32rem);
  }

  .main-image {
    min-height: 30vh;
    height: 45vh;
  }

  .page-content {
    padding: 0 0.75rem 1rem;
  }

  .map_placeholder {
    height: min(55vh, 360px);
  }

  .pictures {
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
  }

  .title_font {
    flex-basis: 0;
    max-width: 100%;
  }

  .button_content {
    justify-content: center;
    align-items: center;
    min-height: 48px;
    max-width: 320px;
    padding: 0 1rem;
  }

  .placeholder_item {
    flex-direction: column;
    align-items: stretch;
    padding: 18px;
  }

  .placeholder_img {
    order: 1;
    height: auto;
    max-width: 100%;
    margin-bottom: 1rem;
    border-radius: 16px;
  }

  .placeholder_separator {
    margin-left: 0;
  }

  .event_picture {
    height: auto;
  }
}

@media (max-width: 768px) {
  .font-mobile {
    text-align: center;
    margin: 1.2rem 3%;
    width: auto;
  }

  .title_font {
    flex-basis: 0;
    max-width: 100%;
  }

  .motto_1 {
    font-size: clamp(1rem, 4vw, 1.6rem);
    padding: 0.85rem 1rem;
    width: min(90%, 28rem);
  }

  .common_textbox {
    padding: 16px;
  }

  .pic_content {
    max-width: 100%;
  }

  .button_content {
    width: 100%;
    max-width: 100%;
    border-radius: 30px;
  }

  .infocard_list {
    padding: 14px;
  }

  .placeholder_main_text {
    font-size: 0.95rem;
  }

  .event_template {
    padding: 14px;
  }

  .font_1 {
    font-size: medium;
  }
}
