* {
  box-sizing: border-box;
}

:root {
  --page-padding: 20px 20px 20px 20px;
}

html,
body {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  height: 100dvh;
  width: 100dvw;
}

body {
  display: grid;
  overflow: hidden;
  grid-template-rows: 90px 1fr;
  scroll-snap-type: y mandatory;
}

.menu_container {
  grid-row: 1;
  height: 100%;
  width: 100%;
  background-color: rgb(200, 200, 200);
  overflow: hidden;
  z-index: 30;
}

.menu_container > * {
  z-index: 100;
}

.page_content_container {
  position: relative;
  grid-row: 2;
  height: 100%;
  width: 100%;
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
  scrollbar-width: none;
  scroll-behavior: smooth;
}

.hero_section {
  width: 100%;
  padding: var(--page-padding);
  background-color: white;
  scroll-snap-align: start;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

.services_content_container {
  width: 100%;
  padding: var(--page-padding);
  background-color: rgb(225, 225, 225);
  scroll-snap-align: start;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
}

.book_time_section {
  width: 100%;
  padding: var(--page-padding);
  background-color: white;
  scroll-snap-align: start;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.prices_section {
  width: 100%;
  height: 100%;
  padding: var(--page-padding);
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
  text-align: left;
  background-color: rgb(225, 225, 225);
}

.about_us {
  width: 100%;
  height: 100%;
  padding: var(--page-padding);
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 30px;
}

.contact_us_section {
  background-color: rgb(225, 225, 225);
  width: 100%;
  height: 100%;
  scroll-snap-align: start;
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  flex-direction: column;
  font-family: "Times New Roman", Times, serif;
  padding: var(--page-padding);
}
