        html, body {
            margin: 0;
            padding: 0;
            width: 100%;
            min-height: 100%;
            overflow-x: hidden;
        }
        body {
            font-family: 'Roboto', sans-serif;
            font-weight: 300;
            background: black;

        }


        .banner_back {
            position: relative; /* Ensures elements inside are positioned relative to this */
            width: 100%;        
            background: url('images/banner_back.jpg') no-repeat center center;
            background-size: cover; /* Ensures full coverage */
            background-attachment: fixed; /* Makes it slide on scroll (parallax effect) */
            z-index: -1;
        }

        /* Adding an overlay for opacity effect */
        .banner_back::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.8); 
            z-index: -1;
        }


        .banner_sub {
            height:100px;        
        }

        .logo {
            width: 80%;  /* Set banner width to 80% */
            margin: 0 auto;  /* Center it */
            color: white;
        }

        .logo img {
            width: 100%;  /* Ensure the image scales within the banner */
            height: auto; /* Maintain aspect ratio */
            max-height:300px

        }
        .logo_sub{
            width:160px;
            margin-left: 30px;
        }
        .hero {
            color: white;
            width: 90%;  /* Set text container width to 80% */
            margin: 20px auto;  /* Center it with spacing */
            text-align: center; /* Center align text */
            white-space: nowrap; /* Ensure text stays on one line */
            overflow: hidden; /* Prevent wrapping */
            margin-top:5px;
            margin-bottom: 0px;
            padding-bottom: 100px;
        }

        .herosub{

        }
        .hero h1 {
            font-size: clamp(18px, 3.4vw, 24px);  /* Min: 18px, Flexible: 2.5vw, Max: 48px */
            max-width: 100%;  /* Prevent overflow */
            font-weight: 200;
            white-space: normal;
            word-break: break-word; /* Ensures proper word breaking */
        }

        .hero p {
            margin-top:40px;
            font-size: clamp(12px, 3vw, 30px);  /* Min: 18px, Flexible: 2.5vw, Max: 48px */
            font-weight: 500;
            white-space: normal;
        }

        .section_dark {
            background: #222222;
            color: white;
        }

        .section_light {
            background: #FFFFFF;
            color: black;
        }

        .section {
            padding: 80px 20px;
            max-width: 1100px;
            margin: auto;
            text-align: justify;
            font-size: 20px;
            font-weight: 200;

        }

        .board_section {
            max-width: 1800px;
            margin: auto;
            align-items: center;
            justify-content: center;
            background: #FFFFFF;
            display: flex;
            flex-wrap: wrap;
            width:100%

        }

        .board_section h2 {
            font-size: 36px;
            margin-bottom: 30px;
        }

        .board_section-box {
            padding: 30px;
            margin: 10px 0;
            width: 400px;
            text-align: left;
            
        }


        .image-placeholder {
            background: #AAAAAA;
            border-radius: 10px;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #777;
            font-size: 18px;
        }

         img, .board_section-box img, .block-img img {
            max-width: 100%;
            max-height: 45vh;
            height: auto;
            border-radius: 8px;
        }

         .block-img {
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            justify-content: center;
            align-items: center;
            text-align: justify;
            height:100%;
            margin-bottom: 100px;
        }

        .modal_section{
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            margin:30px;
        }
    

        @media (min-width: 768px) {
            .modal_section_image {
                display: flex;
                flex-wrap: nowrap;
                height: 50vh;
                max-width: 100%;
                }
        

            .text-content-left {
                align-items: flex-end; /* Aligns text and links against the image */
            }

        }

        .block-img a {
            max-width: 40%;
        }

        .block-img img:hover {
            transform: scale(1.1);
            transition: transform 0.25s ease;
        }
        .block-img.no_link img:hover {
            transform: scale(1);
        }
        .block-img .text-content, .block-img .text-content-left {
            flex: 1 1 50%;
            padding: 10px;
            display: flex;
            flex-direction: column;
        }


        .block-img h2 {
            font-size: 40px;
            margin-bottom: 5px;
            font-weight: 300;
        }


        .generic h2 {
            font-size: 40px;
            margin-bottom: 5px;
            font-weight: 300;
        }

        .block-img p {
            font-size: 18px;
            color: #222222;
        }
        .block-img.no_link img{
            max-width: 40%;
        }
        .contact {
            background: #1a1a1a;
            color: white;
            text-align: center;
            padding: 60px;
        }
        .contact a {
            color: white;
            font-weight: 500;
        }
        .contact h1{
            font-size: 20px;
            font-weight: 300;

        }
        .formcontainer {
            max-width: 100%;
            display: flex;
            justify-content: center; /* horizontal centering */
            }
        .contact form {

            background-color: #fff;
            padding: 10px 10px;
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            width: 100%;
            max-width: 500px;
            text-align: center;

        }

        .contact h2 {
            text-align: center;
            margin-bottom: 20px;
            font-size: 36px;

        }

        .contact input, textarea {
            width: 90%;
            padding: 10px;
            margin: 5px 0 15px 0;
            border: 1px solid #ccc;
            border-radius: 5px;
        }



        .learn_more{
            background: #1a1a1a;
            color: white;
            text-align: left;
            padding: 20px;
            padding-left:60px
        }
        .learn_more a {
            color: white;
            font-weight: 500;
        }

        .logo-banner {
            width: 100%;
            background: #1a1a1a;
            color: white;    
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
        }

              /* Logo Container */
        .logo-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap; /* Allows wrapping on small screens */
            width: 80%; /* Adjust banner width */
            gap: 20px; /* Space between logos */
        }

        /* Logos */
        .logo-container img {
            max-width: 200px; /* Set max width for logos */
            height: auto;
        }
        .logo-banner p{
            font-weight: 200;
            text-align: center;
            width:80%;
            margin-top:40px;
            margin-bottom: 0px;
            font-size: 20px;
        }
        .logo-banner a {
            color: white;
            font-weight: 500;
        }
.btn {
    align-self: center;
    display: inline-block;
    padding: 15px 15px;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-size: 20px;
    font-weight: 300;
    margin:10px;
    transition: background 0.3s, transform 0.2s;
}

/* Add a slight "lift" effect on hover for all buttons */
.btn:hover {
    transform: translateY(-2px);
}

/* Primary button */
.btn-secondary {
    background: #585d61;
}

.btn-secondary:hover {
    background: #7a8085;
}

/* Secondary button (purple variant) */
.btn-primary {
    background: #8A2BE2;
}

.btn-primary:hover {
    background: #9B47E8; /* a slightly lighter purple for hover */
}

        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            background-color: rgba(0, 0, 0, 0.5);
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s, visibility 0.3s;
            z-index: 9999;
            height: 100%;
            width: 100%;
        }

        .modal.active {
            opacity: 1;
            visibility: visible;
        }

        .modal__window {
            background-color: white;
            color: #222222;
            padding: 4em 2em;
            border-radius: 8px;
            transition: transform 0.3s;
            z-index: 10000;
            max-width: 80%;
            max-height: 80vh;
            font-size: 16px;
            overflow-x: auto;
            overflow-y: auto;
        }

        .modal__window h2 {
            font-size: 40px;
            margin-bottom: 15px;
            margin-top: 0;
            font-weight: 300;
        }

        .modal__close {
            position: absolute;
            top: 15px;
            right: 15px;
            font-size: 24px;
            cursor: pointer;
            color: black;
            transition: color 0.3s;
        }

        .modal__close:hover {
            color: red;
        }

        .text-content_modal {
            flex: 1 1 40%;
            padding: 10px;
            font-size: 18px;

        }
        .modal_section_legend{
            margin-left:10px
        }

        @media (max-width: 768px) {

            .hero h1 {
                margin-top:0;
                font-size: 3.4vw; /* Increase size to keep readable */
                white-space: normal; /* Allow wrapping */
            }

            .hero p {
                font-size: 4vw; /* Adjust paragraph size */
            }


            .section h2 {
                font-size: 28px;
            }

             .text-content, .text-content-left  {
                flex: 1 1 100%;
                max-width: 100%;
                text-align: left
            }

            .block-img {
                flex-direction: column;
                text-align: center;
                width:100%;
                gap: 0rem;

            }
            .block-img.reverse {
                flex-direction: column-reverse;
            }
            .text-content-left h2, .text-content h2 {
                text-align: left;
            }

            .block-img.no_link img{
            max-width: 100%;
        }
            .block-img a {
            max-width: 100%;
        }

        .btn {
            display: inline-block;
            align-self: flex-end;
            padding: 10px 10px;
            margin: 10px;
            border-radius: 5px;
            font-size: 12px;
        }



        .modal_section{
                margin:5px;
            }
        .modal_section img{
            width:100%
        }
        .logo-container {
            flex-wrap: wrap; /* Allows wrapping on small screens */
            justify-content: center;
        }
        
        .logo-container img {
            max-width: 150px; /* Reduce logo size for mobile */
        }



        }

.carousel-container {
    margin-top: -30px;
    aspect-ratio: 4 / 1;
  width: 100%;
  min-height:300px;
  overflow: hidden;
  cursor: pointer;

}

.carousel-track {
    height:100%;
    width:100%;
  display: flex;
  gap: -5px; /* images slightly touch */
  animation: scroll 20s linear infinite;
}




.carousel-item {
  position: relative;
  flex: 0 0 auto;
  height: 100%;
  margin-right: -1px; /* slightly touch other images */
  overflow: hidden;
}


.carousel-item img {
  height: 100%;
  display: block;
  transition: transform 0.3s;
   border-radius: 0px;

}

.carousel-item:hover img {
  transform: scale(1.15); /* optional zoom effect */
}

/* Overlay */
.overlay {
    position:absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0)); /* black gradient */
  color: white;
  opacity: 0;
  transition: opacity 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 10px;
  padding-right:20px;
  padding-left:20px;
  box-sizing: border-box;
}

.carousel-item:hover .overlay {
  opacity: 1;
}

.overlay h3 {
  margin: 0;
  font-size: 24px;
}

.overlay p {
    text-align: justify;
    font-size: 18px;
    font-weight: 300;

}

.clickanddrag{
margin-top: -80px;
  width:100%;
  color: white;
  text-align: end;
font-weight: 400;

}
.clickanddrag p{
    padding: 20px;
}
