/* Global Body Styling (Default background white) */
body {
  font-family: Arial, sans-serif;
  margin: 0; /* Ensure no extra margin around the body */
  padding: 
    var(--body-padding-top, 0px) 
    var(--body-padding-right, 0px) 
    var(--body-padding-bottom, 0px) 
    var(--body-padding-left, 0px); /* Adjust padding to suit */
  background-color: white; /* Set the default background to white */
  min-height: 100vh; /* Ensure the body takes up at least the full viewport height */
  display: flex;
  flex-direction: column; /* Align content vertically */
  justify-content: space-between; /* Ensure footer is pushed down */
  text-align: center; /* Ensure text is centered inside all elements */
  overflow-x: hidden;  /* Prevent horizontal scrolling */
  max-width: 100%; /* Ensure no horizontal overflow */
}

/* Header */
header {
  background-color: #003e69; /* Updated background color */
  color: white;
  padding: 10px 15px; /* Adjusted padding for mobile-friendliness */
  display: flex; /* Use flexbox to align items */
  align-items: center; /* Vertically center the items */
  justify-content: center; /* Horizontally center the items */
  width: 100%; /* Ensure the header stretches full width */
  margin: 0; /* Remove any margin */
  flex-wrap: wrap; /* Allow header elements to wrap on smaller screens */
  box-sizing: border-box;
}

header img.logo {
  max-width: 100%; /* Make logo responsive */
  height: auto; /* Maintain aspect ratio */
  margin-right: 5px; /* Space between logo and title */
}

/* Footer */
footer {
  background-color: #003e69; /* Updated background color */
  color: white;
  padding: 20px; /* Standard padding */
  text-align: center;
  width: 100%; /* Ensure footer stretches full width */
  margin: 0; /* Remove any margin */
  box-sizing: border-box;
}

/* Main Content Styling */
main {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 0; /* Ensure content takes full space */
  margin: 0; /* Remove margin */
  box-sizing: border-box;
}

/* Iframe Styling */
iframe {
  width: 100%; /* Make iframe width fill its container */
  height: 100%; /* Make iframe height fill its container */
  border: none; /* Remove iframe border */
}

/* Button Styling */
button {
  padding: var(--button-padding, 30px 30px); /* Customize button padding (default 15px top/bottom, 30px left/right) */
  font-size: var(--button-text-size, 18px); /* Customize button text size */
  background-color: var(--button-bg-color, #67a9da); /* Customize button background color */
  color: var(--button-text-color, white); /* Customize button text color */
  border: var(--button-border, none); /* Button border (none by default) */
  border-radius: var(--button-border-radius, 10px); /* Customize button border radius */
  cursor: pointer; /* Pointer cursor on hover */
  transition: background-color 0.3s ease; /* Smooth hover transition */
  margin: var(--button-margin, 5px); /* Margin between buttons */
}

/* Media Query for Mobile */
@media (max-width: 1024px) {
  button {
    display: block; /* Make buttons block-level elements */
    width: 100%; /* Ensure buttons take up full width */
    margin: 10px 0; /* Adjust margin for spacing between stacked buttons */
  }
}

/* Button Hover */
button:hover {
  background-color: var(--button-hover-color, #FFD700); /* Customize button hover color */
}

/* Button Focus (when clicked or selected) */
button:focus {
  outline: none; /* Remove the outline when the button is focused */
}

/* Body settings */
body.no-bg {
  margin: 0;
  padding: 0;
}

/* The main content container */
.container {
  max-width: 960px;  /* Max width for content */
  margin: 0 auto;    /* Center it horizontally */
  padding: 1.5rem;   /* Adds padding around the content */
}

/* Header and footer remain full width */
header, footer {
  width: 100%;
}

/* Optionally, style the back button and map button */
.map-button, #back-btn {
  padding: 10px 20px;
  background-color: #1DA1F2; /* Twitter blue, change if needed */
  color: white;
  border: none;
  cursor: pointer;
  border-radius: 5px;
  text-decoration: none;
}

.map-button:hover, #back-btn:hover {
  background-color: #0d95e8; /* Darker blue on hover */
}

.slider {
  width: 100%;
  max-width: 600px;
  margin: 0 auto 20px;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0,0,0,0.15);
}

.slides {
  display: flex;
  width: 100%;
  transition: all 0.5s ease;
}

.slides input {
  display: none;
}

.slide {
  width: 100%;
  flex-shrink: 0;
}

.slide img {
  width: 100%;
  display: block;
}

.navigation-manual {
  text-align: center;
  margin-top: 10px;
}

.manual-btn {
  cursor: pointer;
  border: 2px solid #333;
  padding: 5px;
  border-radius: 50%;
  margin: 0 5px;
  display: inline-block;
}

#radio1:checked ~ .first {
  margin-left: 0;
}

#radio2:checked ~ .first {
  margin-left: -100%;
}

#radio3:checked ~ .first {
  margin-left: -200%;
}

#message-board {
  background: #f8f8f8;
  border-top: 1px solid #ddd;
  border-radius: 10px;
  padding-top: 20px; /* Add top padding */
}

#message-board .post {
  margin-bottom: 20px;
  padding: 20px;
  background: white;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Prevent horizontal scrolling for mobile view */
@media (max-width: 768px) {
  body {
    background-attachment: scroll; /* Disable fixed background attachment for smaller screens */
  }

  header {
    padding: 10px 5px; /* Adjust header padding for mobile */
  }

  header img {
    max-width: 150px !important; /* Adjust logo size for small screens */
  }

  h1 {
    font-size: 1.2rem; /* Adjust header title font size */
  }
}


