/* Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}
body {
    line-height: 1.4;
    color: #333;

    /* help with form validation ?  */
    scroll-behavior: smooth;
}
.container {
    width: 98%;
    max-width: 1000px;
    margin: auto;
    padding: 10px;
}
h1, h2, h3 {
    color: #37393b;
}
h1 {
    font-size: 1.8em;
    margin-bottom: 0.4em;
}
h2 {
    font-size: 1.6em;
    margin-top: 0.8em;
    margin-bottom: 0.3em;
}
p {
    margin-bottom: 0.8em;
}
img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 20px 0;
}
#mainlogo {
    flex-shrink: 0;
    margin: 0;
    position: relative;
    top: -25px;
}

/* Responsive Styles */
@media (max-width: 768px) {
    h1 {
        font-size: 1.8em;
    }
    h2 {
        font-size: 1.3em;
    }
}

/* Navigation */
nav {
    background-color: #37393b;
    color: #fff;
    padding: 10px;
    text-align: center;
    position: sticky;
    top: 0;
    z-index: 1000;
}
nav a {
    color: #fff;
    text-decoration: none;
    padding: 4px 10px;
    font-weight: bold;
    display: inline-block;
}
nav a:hover {
    background-color: #3C5C8B;
}

/* Section Styles */
.section {
    margin-top: 10px;
    padding: 10px;
    background-color: #FDFDFD; /* Darkened from #f4f4f4 */
    border-radius: 8px;
    scroll-margin-top: 60px; /* so clicking link slight gap  */
}
.why-list {
    margin-top: 20px;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    color: #333;
}
.why-list ul {
    list-style-type: none;
    padding-left: 0;
}
.why-list ul li {
    background-color: #ffffff;
    padding: 5px;
    margin-bottom: 3px;
    border-radius: 5px;
}

/* Contact Form */
.contact-form label {
    display: inline-block;
    margin-bottom: 1px;
    font-weight: bold;
    font-size: 17px; /*to prevent auto zoom on mobile on form entry*/
    /*margin-right: 10px;  Space between label and input */
}
.contact-form input,
.contact-form textarea,
.contact-form select {
    width: 95%;
    padding: 7px;
    margin-bottom: 14px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 17px; /*to prevent auto zoom on mobile on form entry*/
}
.contact-form button {
    padding: 10px 20px;
    background-color: #2E4053;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}
.contact-form textarea {
    /* empty but reserved */
}

/* Validation styles only after user interaction */
/* Remove previous input:invalid and input:valid styles */

/* Instead use .touched class on input/select/textarea */

input.touched:invalid,
select.touched:invalid,
textarea.touched:invalid {
    border: 1px solid #e99;
    background-color: #fff0f0; /* optional soft red background */
}

input.touched:valid,
select.touched:valid,
textarea.touched:valid {
    border: 1px solid #9c9;
    background-color: #f0fff0; /* optional soft green background */
}

/* Styling for button based on form validity */

form:invalid button {
    border: 2px dashed red;
    background-color: lightgray;
    color: gray;
    cursor: not-allowed;
}

form:valid button {
    border: 2px solid green;
    background-color: limegreen;
    color: white;
    cursor: pointer;
}

/* Optional focus style to emphasize invalid input */
input:focus:invalid,
select:focus:invalid,
textarea:focus:invalid {
    outline: 1px dashed red;
}

/* Placeholder style for select options */
option[value=""] {
    color: gray;
}

/* Scroll container styles */
div.scroll-container {
    /*background-color: #333;*/
    overflow: auto;
    white-space: nowrap;
    padding: 1px;

    /* Hide scrollbar in Firefox */
    scrollbar-width: none;

    /* Hide scrollbar in IE and Edge */
    -ms-overflow-style: none;
}

/* Hide scrollbar in webkit browsers */
div.scroll-container::-webkit-scrollbar {
    display: none;
}

div.scroll-container img {
    padding: 2px;
    height: 40vh;
    width: auto;
}

/* Call-to-action links */
a.cta:link,
a.cta:visited {
    background-color: #f44336;
    color: white;
    padding: 14px 25px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin-bottom: 20px;
}

a.cta:hover,
a.cta:active {
    background-color: red;
}



/*left right buttons*/
.scroll-wrapper {
  position: relative;
}

.scroll-container {
  overflow-x: auto;
  white-space: nowrap;
  padding: 1px;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

.scroll-container::-webkit-scrollbar {
  display: none;
}

.scroll-container img {
  padding: 2px;
  height: 40vh;
  width: auto;
}

/* Arrow button styles */
.scroll-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(255,255,255,0.7);
  border: none;
  font-size: 2em;
  cursor: pointer;
  z-index: 1;
  padding: 0 10px;
  border-radius: 50%;
  user-select: none;
  transition: background-color 0.2s;
}

.scroll-btn:hover {
  background-color: rgba(255,255,255,0.9);
}

.scroll-btn.left {
  left: 5px;
}

.scroll-btn.right {
  right: 5px;
}
/*end of arrow buttons*/