@media (max-width: 900px) {
  body {
    background-color: #ffffff;
    margin: 0;
    color: #4a4949;
    font-family: "Segoe UI semibold";
  }

  #header {
    position: sticky;
    top: 0;
    background-color: white;
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    height: 10vh;
    align-items: center;
    z-index: 2;
    box-shadow: #00000044 0px 0px 10px;
    justify-content: space-between;
  }

  #logo img {
    margin-left: 5vw;
    height: 7vh;
  }

  .menu_button {
    height: 3.5vh;
    width: 3.5vh;
    margin-right: 2vh;
    padding: 2vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .menu_button div {
    background: #4a4949;
    height: 0.6vh;
    width: 4vh;
    border-radius: 2px;
  }

  .hidden {
    position: absolute;
    height: 15vh;
    right: 1vh;
    float: right;
  }

  #hidden i {
    line-height: 15vh;
  }

  .menu {
    display: none;
    text-align: center;
  }

  .menu a {
    text-decoration: none;
    color: #256a11;
    font-size: 3vh;
    margin-left: 2vh;
    display: block;
    line-height: 8vh;
  }

  #hidden:hover .menu {
    position: absolute;
    left: 0;
    top: 10vh;
    display: block;
    z-index: 1;
    background-color: white;
    box-shadow: 0px 5px 10px -5px #00000044;
    width: 100vw;
    padding-bottom: 3vh;
  }

  #map {
    position: absolute;
    margin-top: 20vh;
    width: 100%;
    height: 67vh;
    z-index: -1;
  }

  #address {
    text-align: center;
    font-size: 2.5vh;
    height: 20vh;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
  }

  #address p {
    padding: 0;
    margin: 0;
  }

  #footer {
    text-align: center;
    width: 100%;
    height: 4vh;
    line-height: 4vh;
    box-shadow: #00000044 0px 0px 10px;
    margin-top: 67vh;
    background: white;
  }

  /* MAIN IMAGE */

  #main_image {
    width: 100%;
    margin-bottom: 10vh;
  }

  #main_image img {
    max-width: 100%;
  }

  /* MAIN PAGE */

  .desc_header {
    width: 100%;
    text-align: center;
    font-size: 2.5vh;
  }

  .description {
    width: 90%;
    text-align: center;
    font-size: 2.5vh;
    margin: 0 5% 0 5%;
  }

  .desc_image {
    display: none;
  }

  #gallery_desc {
    width: 90%;
    text-align: center;
    font-size: 2.5vh;
    margin: 0 5% 0 5%;
  }

  #slideshow {
    margin-top: 5vh;
    width: 100%;
    height: 40vh;
    box-shadow: #00000044 0px 0px 10px;
    overflow: hidden;
  }

  .link {
    width: 100%;
    text-align: center;
    margin: 5vh 0 5vh 0;
  }

  .link a {
    text-decoration: none;
    font-size: 2.5vh;
    color: #4a4949;
  }

  /* SUBPAGES */

  .subcontent {
    margin: 5vh 5vw 5vh 5vw;
  }

  .subdesc h1 {
    font-size: 3.5vh;
  }

  .subdesc h2 {
    font-size: 3vh;
    margin-top: 3vh;
    margin-left: 4vw;
  }

  .subdesc h3 {
    font-size: 2.5vh;
    margin-top: 3vh;
    margin-left: 4vw;
  }

  .subdesc p {
    font-size: 2.5vh;
    text-align: center;
  }

  .subdesc ul {
    list-style-type: disc;
  }

  .subdesc ul li {
    font-size: 2.5vh;
    line-height: 6vh;
    margin-left: 1vh;
  }

  .subphoto {
    display: none;
  }

  .floating_photo {
    display: none;
  }

  h1#gallery {
    margin: 5vh 0 0 5vw;
    font-size: 3.5vh;
  }

  .gallery {
    margin: 5vh 5vw 5vh 5vw;
  }

  .gallery img {
    width: 90vw;
    margin: 0 0 2vh 0;
  }
}

@media (min-width: 900px) {
  /* CONSTANT */

  body {
    background-color: #ffffff;
    margin: 0;
    color: #4a4949;
    font-family: "Segoe UI semibold";
  }

  #header {
    position: sticky;
    top: 0;
    background-color: #ffffff;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-evenly;
    height: 8vh;
    width: 100%;
    box-shadow: #00000044 0px 0px 10px;
    z-index: 2;
  }

  #logo {
    text-align: center;
  }

  #logo img {
    height: 5vh;
  }

  #hidden {
    display: none;
  }

  .menu {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    width: 40%;
  }

  .menu a {
    display: block;
    font-size: 2.5vh;
    color: #256a11;
    text-decoration: none;
  }

  .menu a:hover {
    color: rgb(46, 141, 20);
  }

  #contact {
    display: flex;
    flex-flow: row nowrap;
    margin-top: 5vh;
    align-items: center;
    justify-content: center;
  }

  #map {
    width: 100%;
    height: 88vh;
    min-width: 50vw;
  }

  #address {
    margin: 0 5vw 0 5vw;
    white-space: nowrap;
    font-size: 2vh;
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
    height: 88vh;
    text-align: center;
  }

  #address p {
    padding: 0;
    margin: 0;
  }

  #footer {
    position: relative;
    width: 100%;
    height: 4vh;
    text-align: center;
    font-size: 2vh;
    line-height: 4vh;
    bottom: 0px;
    color: #256a11;
    box-shadow: #00000044 0px 0px 10px;
  }

  /* MAIN IMAGE */

  #main_image {
    margin-bottom: 10vh;
    text-align: center;
    overflow: hidden;
  }

  #main_image img {
    object-fit: contain;
    max-height: 92vh;
    width: 100vw;
  }

  /* MAIN PAGE */

  .desc_header {
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    justify-content: center;
    align-items: center;
  }

  .line {
    width: 100%;
    height: 1px;
    background-color: #4a4949;
  }

  .desc_header h1 {
    white-space: nowrap;
    margin: 0 2% 0 2%;
    font-size: 3vh;
  }

  .content {
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    padding: 5vh 0 5vh 0;
    align-items: center;
    justify-content: center;
    max-height: 30vh;
  }

  .description {
    text-align: center;
    overflow: auto;
    font-size: 2vh;
    height: 30vh;
  }

  .description:nth-of-type(1) {
    margin: 0 10vw 0 10vw;
  }

  .description:nth-of-type(2) {
    margin: 0 10vw 0 10vw;
  }

  .desc_image:nth-child(1) {
    margin-left: 10vw;
  }

  .desc_image:nth-child(2) {
    margin-right: 10vw;
  }

  .desc_image img {
    height: 30vh;
    border-radius: 5px;
    box-shadow: #00000022 2px 2px 14px;
  }

  #gallery_desc {
    padding: 5vh 0 5vh 0;
    align-items: center;
    margin: 0 10vw 0 10vw;
    font-size: 2vh;
    text-align: center;
  }

  #slideshow {
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    margin-bottom: 5vh;
    box-shadow: #00000044 0px 0px 14px;
    overflow: hidden;
  }

  .link {
    font-size: 2vh;
    text-align: center;
    margin-bottom: 5vh;
  }

  #gallery_link {
    text-decoration: none;
    color: #4a4949;
  }

  #gallery_link:hover {
    color: #256a11;
  }

  #gallery_link::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 800;
    content: "\f0c1";
    margin-left: 5px;
  }

  /* SUBPAGES */

  .subcontent {
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
  }

  .subdesc {
    margin: 0 10% 10vh 10%;
    min-width: 40%;
  }

  .subdesc h1 {
    font-size: 3vh;
    margin-top: 5vh;
  }

  .subdesc h2 {
    font-size: 2.5vh;
    margin-top: 5vh;
    margin-left: 4vw;
  }

  .subdesc h3 {
    font-size: 2.5vh;
    margin-top: 5vh;
    margin-left: 4vw;
  }

  .subdesc p {
    font-size: 2vh;
    margin-top: 5vh;
    margin-left: 8vw;
  }

  .subdesc ul {
    list-style-type: disc;
  }

  .subdesc ul li {
    font-size: 2.5vh;
    margin-top: 5vh;
    margin-left: 8vw;
  }

  .subphoto {
    margin-top: 19vh;
    margin-right: 10%;
  }

  .subphoto img {
    width: 20vw;
    margin-bottom: 5vh;
    box-shadow: #00000044 0px 2px 10px;
    border-radius: 5px;
  }

  .floating_photo {
    position: absolute;
    margin-top: 31vh;
    left: 50vw;
  }

  .floating_photo img {
    width: 45vw;
    box-shadow: #00000044 0px 2px 10px;
    border-radius: 5px;
  }

  h1#gallery {
    font-size: 3vh;
    margin-top: 5vh;
    margin-left: 10%;
  }

  .gallery {
    display: flex;
    flex-flow: row nowrap;
    width: 72%;
    padding: 5vh 14vw 5vh 14vw;
    align-content: center;
    justify-content: center;
  }

  .column {
    width: 24vw;
  }

  .column img {
    width: 23vw;
    margin-bottom: 1.5vh;
  }

  .column a {
    width: 23vw;
    margin-bottom: 1.5vh;
  }
}
