body {background-color: #121212; }
h1 {color: #32C1B5; font-family: Open-Sans, Arial;}
h2 {color: #32C1B5}
h4 {color: #32C1B5}
p {color: #F8F8FF; font-family: Roboto, Arial}
label {color: #32C1B5}
button {color: #32C1B5}
.yourClass { background-color: #BE5BAC; }

.card-title { color: #BE5BAC}

.altSection {
	background-color: #F8F8FF; 
}


h1 {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

li {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}



.video-background-container {
            position: relative;
            height: 100vh; /* Make the container take full viewport height */
            width: 100%;
            overflow: hidden; /* Hide any overflow from the video */
            display: flex; /* Use flexbox to center content */
            align-items: center; /* Center content vertically */
            justify-content: center; /* Center content horizontally */
            background-color: #00000000; /* Fallback background color if video fails */
        }

        .video-background-container video {
            position: absolute;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: auto;
            transform: translate(-50%, -65%); /* Center the video using transform */
            z-index: -1; /* Place video behind everything */
            object-fit: contain; /* Ensure video covers the entire container */
        }

	.video-overlay {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black overlay */
            z-index: -1; /* Place overlay between video and content */
        }

.content-on-video {
            position: relative; /* Ensure content is on top of the overlay */
            z-index: 1; /* Bring content to the front */
            color: white; /* Text color */
            text-align: center;
            padding: 20px;
            max-width: 90%; /* Limit content width */
        }

        .content-on-video img {
            border-radius: 1rem; /* Rounded corners for the image */
            box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); /* Subtle shadow */
            max-height: 50vh; /* Maintain aspect ratio and size */
            max-width: 50vw;
            object-fit: contain;
        }
		

.grid-wrapper > div {
   display: flex;
   justify-content: center;
   align-items: center;
}
.grid-wrapper > div > img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.grid-wrapper {
   display: grid;
   grid-gap: 10px;
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
   grid-auto-rows: 200px;
   grid-auto-flow: dense;
}
.grid-wrapper .wide {
   grid-column: span 2;
}
.grid-wrapper .tall {
   grid-row: span 2;
}
.grid-wrapper .big {
   grid-column: span 2;
   grid-row: span 2;
}
