/* styles.css */
/* Basic reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;

}

html {
  scroll-behavior: smooth;

}

body,
html {
  overflow-x: hidden;
  width: 100vw;
  margin: 0;
  padding: 0;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ 明朝", serif;
}
/* Other styles for your page */

/* Header styling */
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px;
  /*border-bottom: px solid #ddd;*/
}

/* Header Container styling */
.header-container {
  display: flex;
  flex-direction: row;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.header-container-logo {
  text-align: left;
  margin-bottom: 1rem;
  margin-left: 0;
}

.header-container-nav {
  width: auto;
  margin-left: auto;
  padding-bottom: 15px;
}

/* Logo styling */
.logo {
  display: flex;
  align-items: center;
  gap: 15px;
  color: rgb(98, 121, 148);

}

.logo img {
  max-width: 100%; /* Make images responsive */
  height: 50px;
  border-radius: 6px;
}

/* Tabs styling */
.tabs {
  display: flex;
  gap: 15px;
}

.tabs a {
  text-decoration: none;
  color: rgb(98, 121, 148);
  font-size: 16px;
  padding: 5px 10px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ 明朝", serif;

}

.tabs a:hover {
  background-color: #ddd;
}

/*-------------------------------------------------------------------------*/
/* Banner styling */

.banner-container{
  position: relative;
  width: 100%;
  overflow: hidden;
}

.banner-image {
  /*padding: 0px;*/
  /*text-align: center;*/
  /*width: 100%;*/
  /*max-width: 100%;*/
  /*margin-left: auto;
  margin-right: auto;*/
  /*display: block;  Make the image a block-level element */

  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.banner-image img {
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);

}

.banner-image.active{
  opacity: 1;
}

/* Announcement styling */

.announcements {
  padding: 20px;
  font-size: 24px;
  text-align: center;
}

/*About Section Styling*/

h1 {
  text-align: center;
  padding-top: 15px;
  padding-bottom: 15px;
  color: rgb(98, 121, 148);
}

p {
  text-align: center;
  padding-top: 15px;
  padding-bottom: 15px;
}

/*-------------------------------------------------------------------------*/

/* Two Column Container styling */
.column-container {

}



.text-body-container {
  line-height: 1.6;
  max-width: 50%;
}

.image-container-1 img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 20px;
  display: block; 
  padding-left: 5%;
  padding-right: 5%;
}

.image-container-2 img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 20px;
  display: block; 
  padding-left: 5%;
  padding-right: 5%;
}


.image-container-3 {
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}
.image-container-3 img {
  border-radius: 20px;
  margin: 0 10px;
  width: 45%; /* Ensure images are side by side */
  height: auto; /* Maintain aspect ratio */
  max-height: 100%; /* NEW: Set a maximum height */
  object-fit: contain; /* NEW: Ensure images fit within their container */

}

.image-container-4 img {
  text-align: center;
}

.image-container-5 img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 20px;
  display: block; 
  padding-left: 20%;
  padding-right: 20%;
}

.image-container-6 img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 20px;
  display: block; 
  padding-left: 5%;
  padding-right: 5%;
}

.image-container-6 img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 20px;
  display: block; 
  padding-left: 5%;
  padding-right: 5%;
}

.image-container-7 img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 20px;
  display: block; 
  padding-left: 15%;
  padding-right: 15%;
}

.text-body-content p {
  /*max-width: 50%;*/
  padding-top: 15px;
  padding-bottom: 15px;
}

/*-------------------------------------------------------------------------*/

/* Services Section Styling */

.services-container {
  display: grid;
  grid-template-columns: repeat(3, auto); /* Size columns based on content */
  justify-content: center; /* Center the grid columns horizontally */
  gap: 20px; /* Spacing between image-item groups */
  align-items: start; /* Align grid items to the top */
  padding-left: 10%;
  padding-right: 10%;
  
}

.services-image-container {
  display: grid; /* Make each item a grid for vertical stacking */
  grid-template-rows: auto auto; /* Auto height for image and text */
  justify-items: center; /* Center content horizontally within each item */
  text-align: center; /* Center text within its container */
  padding-left: 10%;
  padding-right: 10%;
}

.services-image-container img {
  width: 600px;
  height: 360px;
  margin-bottom: 5px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
}

.services-image-container p {
  margin-top: 0;
  font-size: 28px;
  color: rgb(98, 121, 148);
  font-weight: bold;
  text-align: center; /* Ensure text within each item is centered */
}

.services-image-container p1 {
  color: rgb(98, 121, 148);
  margin-top: 0;
  font-size: 28px;
  padding: 20px;
  padding-left: 15%;
  padding-right: 15%;
}

/*-------------------------------------------------------------------------*/
/* Information/Access Container styling */

.info-container img {
  /*max-width: 100%; /* Make images responsive */
  max-width: 453px;
  height: auto;
  border-radius: 10px;
}

.contact-container {
  margin-left: 10px;
  margin-right: 10px;
}

.contact-container img {
  margin-left: 20px;
  margin-right: 20px;
  max-width: 100%;
  border-radius: 30px;
}

.contact-container-social img {
  border-radius: 30px;
  display: block; /* Make the image a block-level element */
  max-width: 30%;
  margin-left: auto;
  margin-right: auto;
}

.contact-container p {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: rgb(60, 84, 86);
  max-width: 400px;
  text-align: center;
}

/*-------------------------------------------------------------------------*/

.map-container {
  display: block;
  position: relative; /* Needed for absolute positioning of the iframe */
  width: 100%;      /* Make the container take up the full width of its parent */
  overflow: hidden;
  padding-bottom: 100%; /* Adjust this value to control the aspect ratio (height/width * 100%) */
  
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important; /* Important to override inline width */
  height: 100% !important; /* Important to override inline height */
}

/*-------------------------------------------------------------------------*/

/* Footer styling */
footer {
  background-color: #ffffff;
  color: rgb(60, 84, 86);
  padding: 20px;
  text-align: center;
}

footer h3 {
  margin-bottom: 10px;
  font-size: 24px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ 明朝", serif;

}

footer p {
  margin-bottom: 5px;
  font-size: 16px;
  color: #ffffff;
}

footer a {
  color: #f4c10f;
  text-decoration: none;
  padding: 10px 20px;
}

footer a:hover {
  text-decoration: underline;
}

.copyright {
  align-items: center;
  text-align: center;
  font-size: 18px;
  padding: 15px;
  margin-right: auto;
  margin-left: auto;
}


/*Titles*/
.title-image-container{
  justify-content: center;
  align-items: center;
  text-align: center;

}

.title-image-container img{
  max-width: 50%;
  height: auto;
  display: block; /* Make the image a block-level element */
  margin-left: auto;
  margin-right: auto;
  
}
/*-------------------------------------------------------------------------*/

/* Mobile Nav Bar Styling*/
body {
  margin: 0;
}

.content {
  padding: 20px;
  margin-bottom: 60px; /* Add margin to prevent content overlap */
}

.mobile-nav {
  position: fixed; /* Make it stick to the viewport */
  bottom: 0; /* Position it at the bottom */
  left: 0;
  width: 100%;
  background-color: rgb(98, 121, 148);
  color: #e1edf4;
  padding: 10px 0;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2); /* Subtle shadow */
  z-index: 100; /* Ensure it stays on top of other content */
}

.mobile-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex; /* Arrange items horizontally */
  justify-content: space-around; /* Distribute items evenly */
}

.mobile-nav li {
  flex-grow: 1; /* Make list items take equal width */
  text-align: center;
}

.mobile-nav a {
  display: block; /* Make the entire list item clickable */
  color: white;
  text-decoration: none;
  padding: 10px 0;
}

.mobile-nav a:hover {
  background-color: #abb5bf; /* Slightly lighter on hover */
}

@media (min-width: 3840px) {
  .mobile-nav {
    display: none; /* Hide on larger screens */
  }

  .content {
    margin-bottom: 0; /* Adjust content margin for larger screens */
  }
}

/*DESKTOP 4K*/
@media (max-width: 3840px) {
  .logo p {
    font-size: 28px;
  }

  .tabs a {
    font-size: 28px;
  }

  .announcements a {
    font-size: 42px;
  }

  .center-text {
    font-size: 30px;
  }

  p {
    font-size: 32px;
  }
  h1 {
    font-size: 32px;
  }

  .column-container {
  
  }

  .column-container p {
    font-size: 32px;
  }

  .contact-container img {
    max-width: 800px;
    height: auto;
  }

  .contact-container-social img {
    max-width: 400px;
    height: auto;

  }

  .image-container {
    max-width: 100%;
  }

  .services-container {
    display: grid; /* Make each item a grid for vertical stacking */
  }

  .services-image-container p {
    font-size: 22px;
  }

  .services-image-container p1 {
    font-size: 22px;
  }

  .services-image-container img {
    max-width: 100;
    height: auto;
  }

  .map iframe {
  
  }
}

/*DESKTOP 2K*/

@media (max-width: 2561px) {
  .logo p {
    font-size: 28px;
  }

  .tabs a {
    font-size: 28px;
  }

  .announcements a {
    font-size: 42px;
  }

  .center-text {
    font-size: 30px;
  }

  p {
    font-size: 32px;
  }
  h1 {
    font-size: 32px;
  }

  .column-container {
 
  }

  .column-container p {
    font-size: 32px;
  }

  .contact-container img {
    max-width: 800px;
    height: auto;
  }

  .contact-container-social img {
    max-width: 400px;
    height: auto;
  }

  .image-container {
    max-width: 100%;
  }

  .services-container {
    display: grid; /* Make each item a grid for vertical stacking */
  }

  .services-image-container p {
    font-size: 22px;
  }

  .services-image-container p1 {
    font-size: 22px;
  }

  .services-image-container img {
    max-width: 100;
    height: auto;
  }

  .map iframe {
  
  }
}

/*DESKTOP HD*/

@media (max-width: 1921px) {
  .logo p {
    font-size: 28px;
  }

  .tabs a {
    font-size: 28px;
  }

  .announcements a {
    font-size: 42px;
  }

  .center-text {
    font-size: 30px;
  }

  p {
    font-size: 32px;
  }
  h1 {
    font-size: 32px;
  }

  .column-container {
  
  }

  .column-container p {
    font-size: 32px;
  }

  .contact-container img {
    max-width: 800px;
    height: auto;
  }

  .contact-container-social img {
    max-width: 400px;
    height: auto;
  }

  .image-container {
    max-width: 100%;
  }

  .services-container {
    display: grid; /* Make each item a grid for vertical stacking */
  }

  .services-image-container p {
    font-size: 22px;
  }

  .services-image-container p1 {
    font-size: 22px;
  }

  .services-image-container img {
    max-width: 100;
    height: auto;
  }

  .map iframe {

  }
}

/*LARGE TABLETS*/

@media (max-width: 1280px) {
  .logo p {
    font-size: 28px;
  }

  .tabs a {
    font-size: 28px;
  }

  .announcements a {
    font-size: 42px;
  }

  .center-text {
    font-size: 30px;
  }

  p {
    font-size: 32px;
  }
  h1 {
    font-size: 32px;
  }

  .column-container {
    flex-direction: column;
    text-align: center;
    max-width: 100%;
    font-family: minch;
  }

  .main-container{
    display:flex;
    text-align: center;
    justify-content: center;
    align-items: center;

  }

  .image-container-3{
    flex-direction: column;
    height: auto ;
  }

  .image-container-3 img{
    max-width: 90%
  }

  .column-container p {
    font-size: 32px;
  }

  .contact-container img {
    max-width: 800px;
    height: auto;
  }

  .contact-container-social img {
    max-width: 400px;
    height: auto;
  }

  .image-container {
    max-width: 100%;
  }


  .services-container {
    display: block;
  }

  .services-image-container p {
    font-size: 22px;
  }

  .services-image-container p1 {
    font-size: 22px;
  }

  .services-image-container img {
    max-width: 100;
    height: auto;
  }

  .map iframe {

  }
}

/*MEDIUM TABLETS*/

@media (max-width: 1025px) {
  .logo p {
    font-size: 28px;
  }

  .tabs a {
    font-size: 28px;
  }

  .announcements a {
    font-size: 42px;
  }

  .center-text {
    font-size: 30px;
  }

  p {
    font-size: 32px;
  }
  h1 {
    font-size: 32px;
  }

  .column-container {
    flex-direction: column;
    text-align: center;
    max-width: 100%;
    font-family: minch;
  }

  .main-container{
    display:flex;
    text-align: center;
    justify-content: center;
    align-items: center;

  }

  .image-container-3{
    flex-direction: column;
    height: auto ;
  }

  .image-container-3 img{
    width:auto;
  }

  .column-container p {
    font-size: 32px;
  }

  .contact-container img {
    max-width: 800px;
    height: auto;
  }

  .contact-container-social img {
    max-width: 400px;
    height: auto;
  }

  .image-container {
    max-width: 100%;
  }

  .services-container {
    display: block;
  }

  .services-image-container p {
    font-size: 22px;
  }

  .services-image-container p1 {
    font-size: 22px;
  }

  .services-image-container img {
    max-width: 100;
    height: auto;
  }

  .map iframe {
  
  }
}

/*SMALL TABLETS*/

@media (max-width: 769px) {
  .logo p {
    font-size: 24px;
  }

  .tabs a {
    font-size: 20px;
  }

  .announcements a {
    font-size: 34px;
  }

  .center-text {
    font-size: 20px;
  }

  p {
    font-size: 22px;
  }
  h1 {
    font-size: 22px;
  }

  .column-container {
    flex-direction: column;
    text-align: center;
    max-width: 100%;
  }

  .main-container{
    display:flex;
    text-align: center;
    justify-content: center;
    align-items: center;

  }

  .image-container-3{
    flex-direction: column;
    height: auto ;
  }

  .image-container-3 img{
    max-width:80%;
  }

  .column-container p {
    font-size: 22px;
    padding: 20px;
  }

  .contact-container img {
    max-width: 600px;
    height: auto;
  }

  .contact-container-social img {
    max-width: 400px;
    height: auto;
  }

  .image-container {
    max-width: 100%;
  }

  .services-container {
    display: block;
  }

  .services-image-container p {
    font-size: 18px;
  }

  .services-image-container p1 {
    font-size: 18px;
  }

  .services-image-container img {
    max-width: 400px;
    height: auto;
  }

  .map iframe {

  }
}

/*LARGE DEVICES*/

@media (max-width: 430px) {
  body {
    font-size: 17px;
  }

  header {
    padding: 6px;
  }

  .header-container-logo {
    margin-bottom: 5px;
    display: flex;
  }

  .header-container-nav {
    padding-bottom: 8px;
  }

  .logo {
    gap: 12px;
  }
  .logo p {
    font-size: 14px;
  }

  .tabs {
    gap: 7.5px;
  }

  .tabs a {
    padding: 0px 0px;
    font-size: 14px;
  }

  .announcements a {
    font-size: 34px;
  }

  body {
    font-size: 17px;
  }

  .center-text {
    font-size: 17px;
  }

  p {
    font-size: 17px;
  }
  h1 {
    font-size: 17px;
  }

  .column-container {
    flex-direction: column;
    text-align: center;
    max-width: 100%;
  }

  .main-container{
    display:flex;
    text-align: center;
    justify-content: center;
    align-items: center;

  }

  .image-container-3{
    flex-direction: column;
    height: auto ;
  }

  .image-container-3 img{
    max-width: 70%;  
}

  .column-container p {
    font-size: 17px;
    padding: 20px;
  }

  .contact-container img {
    max-width: 360px;
    height: auto;
  }

  .contact-container-social img {
    max-width: 360px;
    height: auto;
  }

  .image-container {
    max-width: 100%;
  }

  .services-container {
    display: block;
  }

  .services-image-container p {
    font-size: 12px;
  }

  .services-image-container p1 {
    font-size: 12px;
  }

  .services-image-container img {
    max-width: 300px;
    height: auto;
  }

  .map iframe {

  }
}

/*MEDIUM DEVICES*/

@media (max-width: 390px) {
  body {
    font-size: 17px;
  }

  header {
    padding: 5px;
  }

  .header-container-logo {
    margin-bottom: 5px;
    display: flex;
  }

  .header-container-nav {
    padding-bottom: 6px;
  }

  .logo {
    gap: 12px;
  }
  .logo p {
    font-size: 12px;
  }

  .tabs {
    gap: 7.5px;
  }

  .tabs a {
    padding: 0px 0px;
    font-size: 12px;
  }

  .announcements a {
    font-size: 34px;
  }

  body {
    font-size: 14px;
  }

  .center-text {
    font-size: 14px;
  }

  p {
    font-size: 14px;
  }
  h1 {
    font-size: 14px;
  }

  .column-container {
    flex-direction: column;
    text-align: center;
    max-width: 100%;
  }

  .column-container p {
    font-size: 14px;
    padding: 20px;
  }

  .contact-container img {
    max-width: 340px;
    height: auto;
  }

  .contact-container-social img {
    max-width: 340px;
    height: auto;
  }

  .image-container {
    max-width: 100%;
  }

  .services-container {
    display: block;
  }

  .services-image-container p {
    font-size: 12px;
  }

  .services-image-container p1 {
    font-size: 12px;
  }

  .services-image-container img {
    max-width: 300px;
    height: auto;
  }

  .map iframe {
 
  }
}

/*EXTRA SMALL*/

@media (max-width: 375px) {
  body {
    font-size: 17px;
  }

  header {
    padding: 5px;
  }

  .header-container-logo {
    margin-bottom: 5px;
    display: flex;
  }

  .logo p {
    font-size: 12px;

  }

  .tabs a {
    padding: 0px 0px;
    font-size: 12px;
  }

  .announcements a {
    font-size: 34px;
  }

  body {
    font-size: 14px;
  }

  .center-text {
    font-size: 14px;
  }

  p {
    font-size: 14px;
  }
  h1 {
    font-size: 14px;
  }

  .column-container {
    flex-direction: column;
    text-align: center;
    max-width: 100%;
  }

  .column-container p {
    font-size: 17px;
    padding: 20px;
  }

  .contact-container img {
    max-width: 300px;
    height: auto;
  }

  .contact-container-social img {
    max-width: 300px;
    height: auto;
  }

  .image-container {
    max-width: 100%;
  }

  .text-body-container {
    max-width: 100%;
  }

  .services-container {
    display: block;
  }

  .services-image-container p {
    font-size: 12px;
  }

  .services-image-container p1 {
    font-size: 12px;
  }

  .services-image-container img {
    max-width: 300px;
    height: auto;
  }

  .map iframe {
   
  }
}