/* Homepage*/
/* General Body Styles */

:root {
    /* Light Mode Colors */
    --soft-green: #119b0f;
    --primary-color: #00A871;
    --secondary-color: #064273;
    --background-color: #f4f8fb;
    /* Light background */
    --text-color: #333;
    /* Dark text for contrast in light mode */
    --heading-color: #064273;
    --icon-color: #00A871;
    --box-glow-color-green: rgba(0, 168, 113, 0.6);
    --box-glow-color-purple: rgba(122, 0, 237, 0.6);
    --hover-bg-color: #008456;
}

body {
    margin: 0;
    /* Remove default body margin */
    padding-top: 76px;
    /* Keep space for the fixed navbar */
    background: radial-gradient(circle at 30% 30%, rgba(76, 0, 153, 0.6), transparent 40%),
        radial-gradient(circle at 70% 70%, rgba(0, 102, 102, 0.5), transparent 60%),
        radial-gradient(circle at 50% 100%, rgba(44, 0, 64, 0.5), transparent 50%),
        #020a12;
    background-size: cover;
    background-attachment: fixed;
    /* Fixes the background in place */
    font-family: 'Roboto', sans-serif;
    font-size: 22px;
    font-weight: light;
    color: aliceblue;
    overflow-x: hidden;



}


/* Apply custom scrollbar styles globally */
body::-webkit-scrollbar,
*::-webkit-scrollbar {
    width: 12px;
    /* Width of the scrollbar */
}

body::-webkit-scrollbar-track,
*::-webkit-scrollbar-track {
    background: #f1f1f100;
    /* Background of the scrollbar track */
    border-radius: 10px;
    /* Rounded corners for the track */
}

body::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-thumb {
    background: #2a0234;
    /* Color of the scrollbar thumb */
    border-radius: 10px;
    /* Rounded corners for the thumb */
    border: 3px solid #f1f1f1;
    /* Adds padding around the thumb */
}

body::-webkit-scrollbar-thumb:hover,
*::-webkit-scrollbar-thumb:hover {
    background: var(--soft-green);
    /* Color of the scrollbar thumb on hover */
}

.caption {
    font-size: 18px;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    font-style: italic;
    margin-bottom: 20px;

}

h1,
h2,
h3,
li,
ol {
    color: aliceblue;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: 'Bahnschrift';
    font-weight: 700;
    padding: 1rem;
    text-shadow: 0px 0px 100px #ffffff00;
    text-align: left;
    margin-top: 10px;
    /*glow effect off*/
}

strong {
    font-weight: 700;
    color: rgb(122, 247, 168);
    font-weight: bold;
    text-shadow: 0 0 10px rgba(122, 247, 168, 0.8);
}

red {
    font-weight: 900;
    color: rgb(255, 3, 3);
    font-weight: bold;
    text-shadow: 0 0 15px rgba(255, 82, 82, 0.8);
}

blue_472 {
    font-weight: 700;
    color: #00b2ff;
    font-weight: bold;

}

green_broc_507 {
    font-weight: 700;
    color: #00ff38;
    font-weight: bold;
}

p,
li,
ol {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #FFFFFF !important;
}


@font-face {
    font-family: 'Bahnschrift';
    src: url('fonts/bahnschrift.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* Roboto Regular */
@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    src: url('fonts/cour.ttf') format('truetype');
    font-family: 'Courier';
    font-weight: normal;
    font-style: normal;
}




/* Media Query for Tablets */
@media (max-width: 900px) {
    body {
        font-size: 20px;
        /* Reduce base font size for tablets */
    }

    h1,
    h2,
    h3 {
        font-size: 1.8rem;
        /* Reduce heading sizes */
        padding: 0.8rem;
        /* Adjust padding */
    }

    p,
    li,
    ol {
        font-size: 20px;
        /* Reduce font size for paragraphs and lists */
    }

    strong {
        font-size: 22px;
        /* Adjust size for bold text */
    }
}

/* Media Query for Mobile Devices */
@media (max-width: 600px) {
    body {
        font-size: 16px;
        /* Reduce base font size for mobile */
    }

    h1,
    h2,
    h3 {
        font-size: 1.5rem;
        /* Further reduce heading sizes for mobile */
        padding: 0.5rem;
        /* Adjust padding */
        text-shadow: 0px 0px 50px #fff;
        /* Reduce shadow intensity for mobile */
    }

    p,
    li,
    ol {
        font-size: 16px;
        /* Reduce font size for mobile readability */
    }

    strong {
        font-size: 20px;
        /* Adjust bold text size for mobile */
        text-shadow: 0 0 5px rgba(122, 247, 168, 0.6);
        /* Reduce glow effect */
    }
}

/* Navigation and Footer */
footer {

    background-color: #083b3d;
    /* Deep Blue for the footer background */
    color: rgb(111, 0, 247);
    /* Light Gray text color */
    padding: 1rem;
}

footer a {
    color: white;
    /* White text color for links */
    text-shadow: 0 0 10px #8e8efc;
    /* Add text glow effect */
    font-weight: bold;
    text-decoration: none;
}


footer a:hover {
    color: rgb(122, 247, 168);
    /* Teal for hover effect */
    text-decoration: underline;
}

/* Callouts */

#footer_hr {
    /* margin-bottom: 0; */
    color: white;
}

.bd-callout {
    padding: 1.25rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    border: 1px solid #003366;
    /* Deep Blue border */
    border-left-width: .25rem;
    border-radius: .25rem;
    background-color: #F2F2F2;
    /* Light Gray background for callouts */
    color: Light blue;
}

.bd-cal {
    border-left: 3px solid #f1f3f5;
    border-right: 3px solid #f1f3f5;
    background-color: transparent;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;

}

/* Callouts */

#footer_hr {
    /* margin-bottom: 0; */
    color: white;
}

.bd-callout {
    padding: 1.25rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    border: 1px solid #003366;
    /* Deep Blue border */
    border-left-width: .25rem;
    border-radius: .25rem;
    background-color: #F2F2F2;
    /* Light Gray background for callouts */
    color: Light blue;
}

/* Deep Blue text color 
}
*/
.bd-callout h4 {
    margin-bottom: .25rem;
}

.bd-callout p:last-child {
    margin-bottom: 0;
}

.bd-callout code {
    border-radius: .25rem;
}

.bd-callout+.bd-callout {
    margin-top: -.25rem;
}

.bd-callout-info {
    border-left-color: rgb(111, 0, 247);
    /* Teal for info callouts */
}

.bd-callout-warning {
    border-left-color: #f0ad4e;
    /* Default warning color */
}

.bd-callout-danger {
    border-left-color: #d9534f;
    /* Default danger color */
}



/* Responsive Design for Mobile Devices */
@media (max-width: 600px) {

    /* Footer */
    #footer_hr {
        font-size: 14px;
        /* Adjust footer text size for smaller screens */
    }

    /* Callout Box */
    .bd-callout {
        padding: 1rem;
        /* Reduce padding on mobile for better spacing */
        margin-top: 0.75rem;
        margin-bottom: 0.75rem;
        font-size: 14px;
        /* Smaller font size for mobile readability */
    }

    .bd-callout h4 {
        font-size: 1.25rem;
        /* Adjust heading size */
    }

    .bd-callout code {
        font-size: 13px;
        /* Adjust code font size for mobile */
    }

    .bd-callout+.bd-callout {
        margin-top: 0.5rem;
        /* Adjust margin between stacked callouts */
    }
}

/* Background Gradients */


.bg-hero {
    background: none;
}

/* Flex Utilities */
.flex {
    display: flex;
}





/* Custom Header Styling */
.header {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    position: relative;
    background-color: radial-gradient(circle at 30% 30%, rgba(76, 0, 153, 0.6), transparent 40%),
        radial-gradient(circle at 70% 70%, rgba(0, 102, 102, 0.5), transparent 60%),
        radial-gradient(circle at 50% 100%, rgba(44, 0, 64, 0.5), transparent 50%),
        #020a12;
    /* Background color as placeholder */

}

.header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    filter: brightness(40%);
    z-index: -1;
}


/* Media Query for mobile devices */
@media (max-width: 600px) {
    .header {
        height: 80vh;
        /* Reduce height on mobile to fit content better */
        padding: 10px;
        /* Adjust padding for mobile */
        text-align: center;
        /* Ensure text stays centered */
    }

    /* Ensure the text is scaled down for smaller devices */
    .header h1,
    .header p {
        font-size: 1.5em;
        /* Adjust as needed for your specific text size */
    }

    .header::before {
        filter: brightness(30%);
    }
}

.home-page .header {
    background-image: url('https://static.igem.wiki/teams/5107/bg-integrated-human-practices.webp');
}

.text-main {
    color: #ccccff;
    font-weight: bold;
    /* Make the text bold */
    font-family: 'Roboto', sans-serif;
    /* Use a futuristic font family */
    letter-spacing: 3px;
    /* Increase spacing between letters */

    /* Additional properties to cover the screen */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 10vw;
    /* Set font size relative to the viewport width */
    text-align: center;
    width: 100%;
    /* Ensure the element takes up the full width */
    height: 500px;
    /* Ensure the element takes up the full height */
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
}


.text-secondary {
    color: white;
    /* Teal color for secondary text */
    font-style: italic;
    /* Italicize the secondary text */
    letter-spacing: 1px;
    /* Increase spacing between letters */

}

@media (min-width: 768px) {
    .custom-header {
        padding: 3rem 0;
        /* Adjust padding for larger screens */
    }
}

.py-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.mb-5 {
    margin-bottom: 3rem;
}

.mt-5 {
    margin-top: 3rem;
}

.display-4 {
    font-size: 4rem;
    font-weight: bold;
    z-index: 1;
    text-shadow: 0px 0px 100px #fff;
}




/* Wrapper */
.wrapper {
    text-align: justify;
    font-weight: normal;
    margin: 0 auto;
    width: 100%;
    /* Adjust width as necessary to fit your content */
    color: aliceblue;

}

@media (max-width: 600px) {

    /* Adjust the max-width value as needed */
    .wrapper {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        font-size: 14px;
    }
}


/* Additional Styles */
.left-aligned {
    margin-left: auto;
}

/* Navbar Container */

/* Navbar Container */

.navbar {
    background: linear-gradient(to bottom, #0d0d2b, #1a0033, #002b36);


    backdrop-filter: blur(15px);
    /* Thicker blur effect */
    display: flex;
    justify-content: center;
    /* Center the navbar content */
    align-items: center;
    /* Ensure vertical centering */
    height: 6rem;
    width: 100%;
}

/* Navbar Links */
.navbar-nav {
    display: flex;
    justify-content: center;
    /* Center the links within the navbar */
    align-items: center;
    /* Ensure vertical alignment of items */
    width: auto;
    /* Adjust width to be auto for centering */
}

.navbar-nav .nav-item {
    margin: 1rem 1rem;
    /* Adjusted margin for spacing */
    position: relative;
    /* Set position for dropdown alignment */
}

.nav-link {
    font-family: 'Bahnschrift';
    /* Use custom font for navbar links */
    position: relative;
    color: #083b3d;
    /* Light Gray for navbar links */
    font-size: 24px;
    outline: none;
    height: 4rem;
    text-decoration: none;
    transition: color 400ms ease-in-out;
    padding: 0 !important;
    line-height: 3rem;
    text-decoration: none;
    margin-top: 20px;
    margin-bottom: 1px;
}

.nav-link::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #083b3d;
    /* Light Gray underline for navbar links */
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.nav-link:hover::before {
    transform: scaleX(1);
}

.nav-link:hover,
.nav-link:focus {
    color: rgb(122, 247, 168);
    text-decoration: none;
    cursor: pointer;
    font-weight: bold;
}

.navbar-collapse {
    flex-grow: 0;
}


.navbar-collapse {
    flex-grow: 0;
}

/* Adjusted Dropdown Menu */
/* Initially hidden */
.dropdown-menu {
    font-family: 'Bahnschrift';
    /* Use custom font for dropdown items */
    display: none;
    /* Hide by default */
    flex-direction: column;
    justify-content: center;
    /* Center content */
    align-items: flex-start;
    /* Align items to the left */
    width: auto;
    /* Increased width for the dropdown */
    border: none;
    margin: 0 !important;
    padding: 10px;
    /* Padding inside the dropdown */
    top: 100%;
    /* Ensure it aligns directly below the navbar item */
    z-index: 900;
    background-color: #080822;
    backdrop-filter: blur(10px);
    /* Thicker blur effect */
    border-radius: 10px;
    /* Rounded corners */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    /* Soft shadow */
    transition: all 300ms ease-in-out;
    /* Smooth transitions for dropdown */
    position: absolute;
}

/* Show dropdown on hover */
.nav-item:hover .dropdown-menu {
    display: flex;
    /* Show the dropdown on hover */
    animation: showDropdown 300ms ease-in-out forwards;
}

/* Dropdown List Items */
.dropdown-item {
    color: aliceblue;
    /* Dark text color */
    font-size: 18px;
    /* Larger primary text */
    font-weight: bold;
    /* Bold for primary text */
    text-align: left;
    /* Align text to the left */
    margin: 0;
    /* Remove margin */
    padding: 5px 10px;
    /* Adjust padding */
    transition: all 170ms ease-in-out;
    width: 100%;
    /* Ensure the item takes full width */
    box-sizing: border-box;
    /* Include padding in width calculation */
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0);
    /* Slight background highlight on hover */
    font-weight: bold;
    /* Ensure bold text on hover */
    font-weight: 700;
    color: rgb(122, 247, 168);
    font-size: 20px;
    font-weight: bold;
    text-shadow: 0 0 10px rgba(122, 247, 168, 0.8);
}

/* Remove list bullets and ensure alignment */
.dropdown_list,
.dropdown_list li {
    padding: 0;
    margin: 0;
    list-style: none;
    text-decoration: none;
}

/* Ensure no background color on click */
.nav-link:active,
.nav-link:focus,
.dropdown-item:active,
.dropdown-item:focus {
    background-color: transparent;
    outline: none;
    font-weight: bold;
    /* Make the item bold on click */
    text-decoration: none;
}

/* Keyframe for dropdown animation */
@keyframes showDropdown {
    0% {
        max-height: 0;
        opacity: 0;
    }

    100% {
        max-height: 40rem;
        opacity: 1;
    }
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .navbar-nav .nav-item {
        margin: 1rem 0.5rem;
    }    

    .dropdown-menu {
        display: none; /* Hide dropdown by default */
        width: 100%;
        left: 0;
    }

    .navbar {
        height: auto;
        padding: 1rem 0;
    }

    .navbar-nav {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    .nav-link {
        width: 100%;
        padding: 0.5rem 1rem;
    }

    /* Remove hover effect */
    .nav-item:hover .dropdown-menu {
        display: none;
    }
}





/* Back to Top Button */
.back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
}

.back-to-top img {
    width: 50px;
    /* Adjust size as needed */
    height: 50px;
    height: auto;
}






/**/




/* LOADER */
/* Full-page overlay */

.full-page-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 30% 30%, rgba(44, 0, 64, 0.6), transparent 40%),
        radial-gradient(circle at 70% 70%, rgba(0, 51, 102, 0.5), transparent 60%),
        radial-gradient(circle at 50% 100%, rgba(20, 0, 40, 0.5), transparent 50%),
        #020a12;
    /* Solid black background */
    z-index: 9999;
    /* Ensure it appears above all other content */
    display: flex;
    align-items: center;
    justify-content: center;
}

.full-page-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0));
    z-index: 0;
    /* Make sure this stays behind the loader */
    animation: page-glow 2s infinite;
}

.loader-container {
    position: relative;
    width: 300px;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    /* Ensure it stays above the glowing background */
}

.loader {
    position: relative;
    width: 300px;
    /* Adjust the size as needed */
    height: 300px;
    /* Adjust the size as needed */
    z-index: 10;
    /* Ensure it is above the glowing background */
    background: url('https://static.igem.wiki/teams/5107/logos/endosense-logo-official-tb.png') no-repeat center center;
    background-size: contain;
    /* Ensures the image is fully visible */
    border-radius: 50%;
    /* Makes the loader circular */
    animation: loader-glow 1.5s infinite alternate;
    /* Apply a glow effect to the loader itself */
}

/* Glowing animation for the whole page */
@keyframes page-glow {
    0% {
        opacity: 0.7;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.7;
    }
}



@media (max-width: 768px) {

    .loader {
        width: 150px;
        /* Adjusted size for tablets or small screens */
        height: 150px;
    }
}

@media (max-width: 480px) {
    .loader {
        width: 150px;
        /* Adjusted size for phones */
        height: 150px;
    }
}


/* autoRotate */



.autoRotate {
    animation: autoRotateAnimation;
    animation-timeline: view();
}

@keyframes autoRotateAnimation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/*autoshow in the paragraphs*/


.autoShow {
    animation: autoShowAnimation both;
    animation-timeline: view(80% 20%);
}

@keyframes autoShowAnimation {
    from {
        opacity: 0;
        transform: translateY(200px) scale(0.3);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}



/*back to  top button    */
html {
    scroll-behavior: smooth;
}

.back-to-top {
    position: fixed;
    bottom: 40px;
    right: 50px;
    transition: transform 0.4s ease, background 0.2s ease;
    padding: 0.5rem;
    background: none;
    cursor: pointer;
}

.back-to-top img {
    width: 70px;
    height: 70px;
    /* Ensure the transform origin is at the center */
    transform-origin: center center;
}

.back-to-top:hover {
    animation: spin 0.6s linear;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.main-title.text-center {
    text-align: center;
    margin-bottom: 5rem;
    /* Adjust as needed for spacing */
}


/* Scrolling sidebar*/


.fixed-container {
    position: fixed;
    top: 1rem;
    /* Adjust the top margin if needed */
    left: 1rem;
    /* Adjust the left margin if needed */
    display: flex;
    /* Use flexbox to align children side by side */
    align-items: flex-start;
    /* Align items to the top of the container */
    gap: 1rem;
}


.content {
    padding-top: 20px;
    /* Adds some space after the header */
    text-align: justify;
    font-weight: normal;
    max-width: 900px;
}


.page-text {
    margin-bottom: 20px;
}

/* Flex container to align .wrapper2 and .toc side by side */
.main-container {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.content-wrapper {
    display: flex;
    flex-direction: row;
    width: 100%;
}

.flex-container {
    display: flex;
    align-items: flex-start;
    /* Align items to the top */
    width: 100%;
    /* Full width of the viewport */
    overflow: hidden;
    /* Ensure no horizontal scrollbar */
}

@media (max-width: 767px) {
    .content-wrapper {
        flex-direction: column;
        /* Stack items vertically on mobile */
    }

    .flex-container {
        flex-direction: column;
        /* Stack items vertically on mobile */
        align-items: stretch;
        /* Make sure items stretch to full width */
    }
}



img {
    background: none;

    border-radius: 8px;
    /* Rounded corners */
}


figure {
    margin: 0;
}

figcaption {
    text-align: center;
    font-style: italic;
    color: white;
}

.page-text {
    color: white;
    padding: 2rem;
    max-width: 100%;
    overflow-x: auto;
}


.flex-center {
    text-align: center;
    font-weight: normal;
    margin: 0 auto;
    width: 100vw;
    color: white;
    text-decoration: none;
}








.page-text {
    margin-bottom: 20px;
}


.wrapper2 {
    flex: 1;
    /* Allow .wrapper2 to take up the remaining space */
    text-align: justify;
    font-weight: normal;
    margin-left: 14rem;
    /* Adjust margin to avoid overlap with .toc */
    padding: 1em;
    color: aliceblue;
    text-decoration: none;
    overflow-x: hidden;
    overflow-y: hidden;
}



@media (max-width: 992px) {


    .wrapper2 {
        width: 100%;
        /* Full width on smaller screens */
        padding: 1em;
        /* Adjust padding if needed */
        order: 2;
        /* Ensure .wrapper2 appears after .toc */
        z-index: 1;
        /* Ensure .wrapper2 is below .toc */
    }
}


/* color transition to pictures 
.color-transition {
    animation: colorChange 5s infinite;
  }
  */
/* Keyframes for color transition */
@keyframes colorChange {
    0% {
        filter: hue-rotate(0deg);
    }

    25% {
        filter: hue-rotate(90deg);
    }

    50% {
        filter: hue-rotate(180deg);
    }

    75% {
        filter: hue-rotate(270deg);
    }

    100% {
        filter: hue-rotate(360deg);
    }
}

.parent-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    /* Full height to center vertically */
}

.button-wrapper {
    display: flex;
    justify-content: center;
    /* Center horizontally */
    align-items: center;
    /* Center vertically */
    width: 100%;
    /* Full width of the container */
    margin: 10px 0;
    /* Add space above and below */
    flex-direction: column;
    /* Stack items vertically */
}

/* Reference Button Styles */
.reference-button {
    padding: 15px 40px;
    border: none;
    outline: none;
    color: #d3d3d3;
    /* Light grey text color */
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 12px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: rgb(111, 0, 247);
    /* Dark blue background color */
    box-shadow: none;
    /* Remove shadow */
    transition: background-color 0.3s ease;
    /* Smooth transition for background color */
    margin-bottom: 20px;
    /* Add space below the button */
}

/* Button Effects */
.reference-button::after {
    content: "";
    z-index: -1;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #200640;
    /* Dark blue background color */
    left: 0;
    top: 0;
    border-radius: 10px;
    transition: background-color 0.3s ease;
    /* Smooth transition for background color */
}

.reference-button::before {
    content: "";
    background: rgb(111, 0, 247);
    position: absolute;
    top: -2px;
    left: -2px;
    background-size: 600%;
    z-index: -1;
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    filter: blur(8px);
    animation: glowing 20s linear infinite;
    transition: opacity 0.3s ease-in-out, background 0.3s ease;
    /* Smooth transition for opacity and background */
    border-radius: 10px;
    opacity: 1;
}

@keyframes glowing {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 400% 0;
    }

    100% {
        background-position: 0 0;
    }
}

/* Hover and Active States */
.reference-button:hover {
    background-color: rgb(122, 247, 168);
    /* Change background color on hover */
}

.reference-button:hover::after {
    background-color: rgb(122, 247, 168);
    /* Change background color of ::after on hover */
}

.reference-button:hover::before {
    background: rgb(122, 247, 168);
    /* Change gradient to hover color */
}

.reference-button:active::after {
    background: transparent;
}

.reference-button:active {
    color: #d3d3d3;
    /* Light grey text color */
    font-weight: bold;
}

/* Initially hide the reference list */
.hidden-references {
    display: none;
    margin-top: 20px;
    /* Add space between button and references */
    width: 100%;
    /* Ensure the references take the full width below the button */
}

/* Media Query for mobile devices */
@media (max-width: 600px) {
    .reference-button {
        width: 100%;
        font-size: 14px;
    }

    .hidden-references {
        word-wrap: break-word;
        /* Break long links onto the next line */
        overflow-wrap: break-word;
        /* Ensure the links break and don't overflow */
        max-width: 100%;
        display: inline-block;
        /* Allow wrapping of long URLs */
    }
}





/*members*/


.members .row {
    justify-content: center;
}

.members figure {
    position: relative;
    overflow: hidden;
    width: 260px;
    /* Fixed width for the card */
    height: 400px;
    /* Fixed height for the card */
    text-align: center;
    margin-bottom: 20px;
    /* Adjust this value as needed */
}

/* Ensure the image fits within the fixed dimensions of the card */
.member-card img {
    width: 100%;
    /* Ensures the image covers the full width of the card */
    height: 100%;
    /* Ensures the image covers the full height of the card */
    object-fit: cover;
    /* Ensures images are cropped to fit within the specified dimensions */
}

.members figure img {
    position: relative;
    display: block;
    min-height: 100%;
    max-width: 100%;
    opacity: 0.8;
}

.members figure figcaption {
    padding: 1em;
    color: #fff;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.members figure figcaption:before,
.members figure figcaption:after {
    pointer-events: none;
}

/* Absolute Positioning for Caption and Links */
.members figure figcaption,
.members figure figcaption>a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.members figure figcaption>a {
    z-index: 1000;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0;
}

/* Typography */
.members figure .name {
    font-family: 'Roboto', cursive;
    font-size: 25px;
    position: relative;
    top: -30px; /* Move the name higher */
    text-align: center;
}

/* Reduce space between the name and role */
.members figure .role {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    position: relative;
    top: -30px; /* Move the name higher */
}

.members figure p {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 18px;
}

/* Effect Class */
figure.effect {
    background: #e0e0e0;
    /* Replace with $main-light */
}

figure.effect img {
    opacity: 0.95;
    transition: opacity 0.35s, transform 0.35s;
    transform: scale3d(1.05, 1.05, 1);
}

figure.effect figcaption:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    content: '';
    transition: transform 0.6s;
    transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg) translate3d(0, -100%, 0);
}

figure.effect p {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 2em;
    padding: 0 1em;
    max-width: 100%;
    border-right: 4px solid #fff;
    text-align: right;
    opacity: 0;
    transition: all 0.35s ease;
    z-index: 99999;
}

figure.effect p a {
    display: inline-block;
    margin-bottom: 5px;
    border-radius: 5px;
    background-color: #0a66c2;
    padding: 6px;
    transition: all 0.25s ease;
}

/* Adjusted LinkedIn logo */
figure.effect p a img {
    opacity: 1 ;
    width: 30px; /* Set a fixed width for the LinkedIn logo */
    height: 30px; /* Set a fixed height for the LinkedIn logo */
    object-fit: contain; /* Ensures the logo retains its proportions */
    display: inline-block;
    vertical-align: middle; /* Align it vertically */
}

/* Hover effect for LinkedIn logo */
figure.effect p a:hover img {
    opacity: 0.8; /* Slightly reduce opacity on hover */
    transform: scale(1.1); /* Slightly enlarge the icon on hover */
}

figure.effect:hover img {
    opacity: 0.6;
    transform: scale3d(1, 1, 1);
}

figure.effect:hover .name {
    transform: translateY(0);
    opacity: 1;
}

figure.effect:hover .role {
    transform: translateY(0);
    opacity: 1;
}

figure.effect:hover p {
    opacity: 1 !important;
    transition-delay: 0.1s;
}

figure.effect:hover .linkedin {
    opacity: 1 !important;
    transition-delay: 0.1s;
}

figure.effect:hover figcaption::before {
    transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg) translate3d(0, 100%, 0);
}

.soft-edge {
    border-radius: 15px;
    /* Adjust the value to control the roundness */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);

    transition: border-radius 0.3s ease;
    /* Smooth transition for hover effects */
}

.soft-edge:hover {
    border-radius: 20px;

}




.background-image {
    position: relative;
    width: 300px;
    height: 300px;
    overflow: hidden;
    background: url('https://static.igem.wiki/teams/5107/mascot.png') no-repeat center center;
    background-size: cover;
}

.background-image span {
    position: absolute;
    width: 10px;
    height: 10px;
    background-image: url('https://static.igem.wiki/teams/5107/mascot.png');
    background-repeat: no-repeat;
    background-size: 400px 300px;
    animation: animate 10s linear infinite;
}

@keyframes animate {

    0%,
    10% {
        transform: translate(0, 0) scale(1);
    }

    20%,
    30% {
        transform: translate(150px, 150px) scale(0.5);
    }

    40%,
    50% {
        transform: translate(150px, 150px) scale(0.5);
    }

    60%,
    70% {
        transform: translate(-150px, -150px) scale(0.5);
    }

    80%,
    90% {
        transform: translate(0, 0) scale(2.5);
    }

    100% {
        transform: translate(0, 0) scale(1);
    }
}




/* Experiment section styling */
.experiment-section {
    margin: 10px auto;
    /* Center horizontally and add vertical margin */
    box-shadow: 0 20px 25px -5px #200640, 0 10px 10px -5px #200640;
    padding: 1em;
    background-color: rgba(0, 0, 0, 0.3);
    /* Semi-transparent black */
    backdrop-filter: blur(10px);
    /* Adjust the blur amount as needed */
    border-radius: 15px;
    /* Increase border-radius for softer edges */
    position: relative;
    border: 2px solid white;
    /* Make the borders white */
    transition: background-color 0.3s ease, border-color 0.3s ease;
    /* Smooth transition */
    color: white;
    /* Set initial text color to white */
    width: 100%;
    /* Set predefined width */
}

/* Ensure all text elements within the section have the correct color */
.experiment-section,
.experiment-section * {
    color: inherit;
    /* Inherit color from parent */
}

/* Ensure strong elements have bold formatting */
.experiment-section strong {
    font-weight: bold;
    font-weight: 700;
    color: rgb(122, 247, 168);
    font-weight: bold;
    text-shadow: 0 0 10px rgba(122, 247, 168, 0.8);
}

/* Hover and active effects */
.experiment-section:hover,
.experiment-section:active {
    background-color: rgba(0, 0, 0, 0.3);
    /* Change background to backgrouund color on hover and active */
    border-color: white;
    /* Ensure the border remains white on hover and active */
    color: white;
    /* Change text color to white on hover and active */
}

/* Ensure lists and their items are styled correctly */
.experiment-section ul {
    list-style-type: disc;
    /* List style type */
    padding-left: 20px;
    /* Padding for list items */
}

.experiment-section li {
    margin-bottom: 5px;
    /* Spacing between list items */
}

/* Title styling with arrow icons */
.experiment-section details summary {
    list-style: none;
    padding: 0.5em;
    color: inherit;
    /* Inherit color from the parent */
    position: relative;
    /* Make sure the pseudo-elements are positioned relative to the summary */
}

/* Specific styling for collapsible arrows */
.experiment-section details summary::before {
    content: '▼';
    /* Down arrow for collapsed state */
    font-size: 1.2em;
    color: inherit;
    /* Default arrow color */
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    transition: color 0.3s ease, opacity 1s ease;
    /* Transition for smooth color change */
}

/* Arrow changes when expanded */
.experiment-section details[open] summary::before {
    content: '▲';
    /* Up arrow for expanded state */
}

/* Change arrow color to black on hover */
.experiment-section:hover details summary::before {
    color: black;
}

/* Collapsible content area */
.experiment-section details {
    overflow: hidden;
    /* Hide overflow to ensure smooth transition */
}

/* Collapsible content styling */
.experiment-section details .summary-content {
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    /* Add border-bottom to match border-top */
    cursor: default;
    padding: 1em;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.5;
    margin: 0;
    /* Remove margin inside the content area */
    max-height: 0;
    /* Initially hide content */
    overflow-y: auto;
    /* Enable vertical scrolling */
    opacity: 0;
    transition: max-height 1s ease-in-out, opacity 1s ease-in-out;
    /* Adjust transitions to 1 second */
}

.experiment-section details .summary-content-hp {
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    /* Add border-bottom to match border-top */
    cursor: default;
    padding: 1em;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.5;
    margin: 0;
    /* Remove margin inside the content area */
    max-height: 0;
    /* Initially hide content */
    overflow-y: auto;
    /* Enable vertical scrolling */
    opacity: 0;
    transition: max-height 1s ease-in-out, opacity 1s ease-in-out;
    /* Adjust transitions to 1 second */
}

.hp-video-div {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: 20px;
}

.hp-video-iframe {

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Expanded section content */
.experiment-section details[open] .summary-content {
    max-height: 500px;
    /* Adjust to fit your content */
    opacity: 1;
}

.experiment-section details[open] .summary-content-hp {
    max-height: none;
    /* Adjust to fit your content */
    opacity: 1;
}

.summary-title {
    font-size: 24px;
    font-weight: 700;
}

/* Initially set the color of summary-title to white */
.experiment-section details .summary-title {
    color: white;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* Prevent text selection */
}

/* Change cursor on hover for the section */
.experiment-section:hover {
    cursor: pointer;
}

/* Change the color of summary-title to black on hover */
.experiment-section:hover details .summary-title {
    color: white;
}

/* Adjust for bullet points */
.experiment-bullets {
    list-style-type: circle;
}

/* Bullet point font size */
.experiment-bullets li {
    font-size: 15px;
}

/* Content within experiment sections */
.experiment-content {
    margin-left: 20px;
    margin-right: 20px;
}

/* Headings in experiment sections */
.experiment-content h5 {
    margin-top: 5px;
}

/* Table padding */
.experiment-section th,
td {
    padding: 10px;
}

.sequence {
    display: inline;
}

.sequence:hover {
    text-decoration: underline;
    font-weight: 550;
}

.sequence-wrap {
    word-wrap: break-word;
    max-width: 1px;
}

.experiment-section th,
td {
    padding: 10px;
}


@media (min-width: 1024px) {
    .experiment-section {
        width: 100%;
        /* Full width for large screens too */
    }
}


@media (max-width: 600px) {
    .experiment-section {
        width: 100%;
        /* Full width on small screens */
    }
}

.circular-map {
    padding-left: 15%;
}

.individual-ring:hover>* {
    font-weight: 900;
}

.individual-ring:hover>*>* {
    font-weight: 900;
}

.individual-ring:hover>*>*>* {
    font-weight: 900;
}

.individual-ring:hover>*>*>* {
    font-weight: 900;
}

textPath:hover {
    font-weight: 900;
}

.tab-pane {
    padding: 3em;
    background-color: white;
    border-color: #dee2e6 #dee2e6 #fff !important;
    border-width: 1px !important;
}

.tabs-nav-links-below>h3 {
    padding-top: 1em;
    padding-bottom: 1em;
}

.nav-link.tabs-nav-links-below.active {
    color: rgb(255, 255, 255) !important;
    background-color: #7c55f2 !important;
}

.cite_abstract {
    color: #7d7d80;
}

.cite-2 {
    color: #7d7d80;
}

.sub-sidebar {
    padding-left: 32px !important;
}

.last-section {
    margin-bottom: 200px;
}

/* scroll identification*/

#progress-container {
    position: fixed;
    top: 64px;
    z-index: 100;
    width: 100%;
    height: 1vh;
    left: 0;
}



.progress-bar {
    position: fixed;
    top: 0;
    z-index: 100000;
    width: 100%;
    height: 5px;
    left: 0;
    background-color: transparent;
}

.filled {
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to right, rgb(66, 28, 194), #128d0f);
    transition: background-image 0.3s ease;
}







/* Design Build test learn */

.cycle {
    position: -webkit-sticky;
    position: fixed;
    /* Sticky position works better than fixed for relative positioning */
    left: 1em;
    /* Position it on the far left */
    width: 400px;
    height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cycle div {
    position: absolute;
    color: white;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    /*background-color: white;*/
    border: 2px solid aliceblue;
    font-size: 1.2em;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
}

.cycle div:hover {
    color: white;
    background-color: rgb(122, 247, 168);
    box-shadow: 0 0 10px 5px rgb(122, 247, 168);
}

/* Positioning the divs in a circular pattern */
.cycle div:nth-child(1) {
    transform: rotate(0deg) translateX(52px) rotate(0deg);
}

.cycle div:nth-child(2) {
    transform: rotate(90deg) translateX(52px) rotate(-90deg);
}

.cycle div:nth-child(3) {
    transform: rotate(180deg) translateX(52px) rotate(-180deg);
}

.cycle div:nth-child(4) {
    transform: rotate(270deg) translateX(52px) rotate(-270deg);
}


/* Mobile Phone Version */
@media (max-width: 600px) {
    .cycle {
        position: absolute;
        /* Switch to absolute positioning */
        top: 50%;
        /* Center vertically */
        left: 50%;
        /* Center horizontally */
        transform: translate(-50%, -50%);
        /* Offset by 50% to perfectly center */
        width: 300px;
        /* Adjust size for mobile */
        height: 300px;
    }

    .cycle div {
        width: 80px;
        /* Adjust size for smaller screens */
        height: 80px;
        font-size: 1em;
    }

    /* Adjust positioning of the divs for the smaller container */
    .cycle div:nth-child(1) {
        transform: rotate(0deg) translateX(40px) rotate(0deg);
    }

    .cycle div:nth-child(2) {
        transform: rotate(90deg) translateX(40px) rotate(-90deg);
    }

    .cycle div:nth-child(3) {
        transform: rotate(180deg) translateX(40px) rotate(-180deg);
    }

    .cycle div:nth-child(4) {
        transform: rotate(270deg) translateX(40px) rotate(-270deg);
    }
}


.abstract-placeholder {
    background-color: rgba(36, 6, 83, 0.3);
    /* Semi-transparent black */
    backdrop-filter: blur(10px);
    /* Adjust the blur amount as needed */
    padding: 20px;
    border-radius: 15px;
    font-size: 25px;
    font-family: 'Roboto', sans-serif;
    color: aliceblue;
    /* Dark text color for contrast */
    margin: 20px auto;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    text-align: justify;
    max-width: 1000px;
    /* Maximum width for the box */
    opacity: 0;
    /* Start invisible */
    transform: translateX(-100%);
    /* Start off the screen to the left */
    border: 2px solid #fff;

}

/* Text for the placeholder */
.abstract-placeholder p {
    margin: 20px 0;
    line-height: 1.6;
}

/* Centering the button */
.software-button-container {
    text-align: center;
    margin-top: 20px;
}

/* Animation keyframes for sliding in from left */
@keyframes slide-in {
    to {
        transform: translateX(0);
        /* End at the original position (centered) */
        opacity: 1;
        /* Fully visible */
    }
}

.content img {
    display: block;
    margin: 20px auto;
    max-width: 100%;
    height: auto;
    position: center;
    text-align: center;
}

.autoShow-right {
    animation: autoShowRightAnimation both;
    animation-timeline: view(80% 20%);
    width: 80%;
    /* Cover 80% of the width */
    margin: 0 auto;
    /* Center the content horizontally */
}

@keyframes autoShowRightAnimation {
    from {
        opacity: 0;
        transform: translateX(-200px) scale(0.3);
        /* Motion from left to right */
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
        /* Final position */
    }
}


.autoShow-left {
    animation: autoShowLeftAnimation both;
    animation-timeline: view(80% 20%);
    width: 80%;
    /* Cover 80% of the width */
    margin: 0 auto;
    /* Center the content horizontally */
}

@keyframes autoShowLeftAnimation {
    from {
        opacity: 0;
        transform: translateX(200px) scale(0.3);
        /* Motion from right to left */
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
        /* Final position */
    }
}

/* Styling for the .toc element */
/* Updated Table of Contents (TOC) Styling */
.sidebar {
    flex: 0 0 20%;
    /* Sidebar takes up 25% of the width */
    margin: 0 20px;
    /* Remove extra margin to avoid pushing content down */
    padding: 0;
    position: sticky;
    height: auto;
    top: 100px;
    align-self: flex-start;
    color: #008B8B;
    font-size: 22px;
    font-weight: bold;
}

.sidebar a {
    display: block;
    color: #008B8B;
    padding: 8px;
    text-decoration: none;
    font-family: "Arial", sans-serif;
    font-size: 20px;
    /* Increased font size */
    font-weight: bold;
}

.sidebarTab {
    margin-top: 2vw;
    margin-bottom: 2vw;
    margin-left: 1em;
    margin-right: 2px;
    font-size: 22px;
    /* Increased font size */
    transition: font-weight 0.0000001s, color 0.0000001s;
    cursor: pointer;
}

.sidebarTab::before {
    content: "• ";
    color: #e3f2c1;
    display: inline-block;
}

.sidebarTab:hover {
    color: rgb(122, 247, 168);
    text-shadow: 0px 0px 1px black;
}

.sidebarTabActive {
    text-shadow: 0px 0px 1px black;
}

.sidebar a.active {
    color: rgb(122, 247, 168);
    font-size: 22px;
    /* Increased font size */
    font-weight: bold;
    text-shadow: 0 0 10px rgba(122, 247, 168, 0.8);
    /* Glow effect */
}

.sidebar a:hover {
    color: rgb(122, 247, 168);
    font-size: 24px;
    /* Increased font size */
    font-weight: bold;
    text-shadow: 0 0 10px rgba(122, 247, 168, 0.8);
    /* Glow effect */

}

/* Responsive styles for smaller screens */
@media (max-width: 768px) {

    /* Adjust this breakpoint as needed */
    .sidebar {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        /* Full width on small screens */
        height: auto;
        /* Allow height to adjust based on content */
        font-size: 14px;
        /* Adjust font size for smaller screens */
    }

    .sidebar a {
        font-size: 14px;
        /* Adjust font size */
        padding: 12px;
        /* Adjust padding */
    }

    .sidebarTab {
        font-size: 14px;
        /* Adjust font size */
        margin: 1em 0;
        /* Adjust margin */
    }

    .sidebarTab::before {
        content: "• ";
        /* Keep the bullet point */
    }

    .sidebar a:hover:not(.active) {
        font-size: 14px;
        /* Adjust font size on hover */
    }
}


.wrapper2 {
    text-align: justify;
    font-weight: normal;
    margin-left: 13rem;
    /* Adjust margin to avoid overlap with .toc */
    padding: 1em;
    color: aliceblue;
    text-decoration: none;
}



.image-placeholder {
    width: 600px;
    height: 400px;
    background-size: cover;
    background-position: center;
    opacity: 0;
}

/* AOS Animations */
.paragraph-box[data-aos="fade-right"] {
    transform: translateX(50%);
}

.paragraph-box[data-aos="fade-left"] {
    transform: translateX(-50%);
}

.image-placeholder[data-aos="fade-right"] {
    transform: translateX(50%);
}

.image-placeholder[data-aos="fade-left"] {
    transform: translateX(-50%);
}

/* After animation ends */
.aos-animate .paragraph-box[data-aos="fade-right"],
.aos-animate .paragraph-box[data-aos="fade-left"] {
    transform: translateX(0);
    opacity: 1;
}

.aos-animate .image-placeholder[data-aos="fade-right"],
.aos-animate .image-placeholder[data-aos="fade-left"] {
    transform: translateX(0);
    opacity: 1;
}

.paragraph-box,
.image-placeholder {
    width: 50%;
    position: relative;
    /* Increase the transition duration to 2.5s (adjust as needed) */
    transition: all 2.5s ease;
}

/* New section for metrics - Full-width like a navbar */
/* New section for metrics - Full-width like a navbar */
.metrics-section {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: #128d0f;
    /* Green background */
    padding: 40px 20px;
    position: relative;
    /* Full-width behavior */
    left: 0;
    right: 0;
    width: 100vw;
    /* Full viewport width */
    margin-left: calc(-50vw + 50%);
    /* Ensure it ignores any parent container margins */
    box-sizing: border-box;
    color: white;
    /* White text */
    margin-bottom: 20px;
    /* Add space below metrics section */
}

.metric-box {
    text-align: center;
    max-width: 300px;
    /* Ensure it looks good on large screens */
}

.metric-box h2 {
    font-size: 3rem;
    /* Large font for metrics */
    margin: 0 0 10px;
}

.metric-box p {
    font-size: 1.2rem;
    margin: 0;
}

/* Responsive design for smaller devices */
@media (max-width: 768px) {
    .metrics-section {
        flex-direction: column;
    }

    .metric-box {
        margin-bottom: 20px;
    }
}

/* Responsive design */
@media (max-width: 768px) {
    .flex-container {
        flex-direction: column;
    }

    .paragraph-box,
    .image-placeholder {
        width: 100%;
        margin-bottom: 20px;
        transform: none;
    }
}




/* AOS Animations */



/* New section for metrics - Full-width like a navbar */
/* New section for metrics - Full-width like a navbar */
.metrics-section {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: #128d0f;
    /* Green background */
    padding: 40px 20px;
    position: relative;
    /* Full-width behavior */
    left: 0;
    right: 0;
    width: 100vw;
    /* Full viewport width */
    margin-left: calc(-50vw + 50%);
    /* Ensure it ignores any parent container margins */
    box-sizing: border-box;
    color: white;
    /* White text */
    margin-bottom: 20px;
    /* Add space below metrics section */
}

.metric-box {
    text-align: center;
    max-width: 300px;
    /* Ensure it looks good on large screens */
}

.metric-box h2 {
    font-size: 3rem;
    /* Large font for metrics */
    margin: 0 0 10px;
}

.metric-box p {
    font-size: 1.2rem;
    margin: 0;
}

/* Responsive design for smaller devices */
@media (max-width: 768px) {
    .metrics-section {
        flex-direction: column;
    }

    .metric-box {
        margin-bottom: 20px;
    }
}

/* Responsive design */
@media (max-width: 768px) {
    .flex-container {
        flex-direction: column;
    }

    .paragraph-box,
    .image-placeholder {
        width: 100%;
        margin-bottom: 20px;
        transform: none;
    }
}


.abstract-placeholder {
    background-color: rgba(36, 6, 83, 0.3);
    /* Semi-transparent black */
    backdrop-filter: blur(10px);
    /* Adjust the blur amount as needed */
    padding: 20px;
    border-radius: 15px;
    font-size: 25px;
    font-family: 'Arial', sans-serif;
    color: aliceblue;
    /* Dark text color for contrast */
    margin: 20px auto;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    text-align: justify;
    max-width: 900px;
    /* Maximum width for the box */
    opacity: 0;
    /* Start invisible */
    transform: translateX(-100%);
    /* Start off the screen to the left */
    border: 2px solid #fff;

}

/* Text for the placeholder */
.abstract-placeholder p {
    margin: 0;
    line-height: 1.6;
}

/* Centering the button */
.software-button-container {
    text-align: center;
    margin-top: 20px;
}

/* AOS Animations */
.abstract-placeholder[data-aos="fade-right"] {
    transform: translateX(50%);
}

.abstract-placeholder[data-aos="fade-left"] {
    transform: translateX(-50%);
}

.abstract-placeholder[data-aos="fade-right"] {
    transform: translateX(50%);
}

.abstract-placeholder[data-aos="fade-left"] {
    transform: translateX(-50%);
}

/* After animation ends */

.aos-animate .abstract-placeholder[data-aos="fade-right"],
.aos-animate .abstract-placeholder[data-aos="fade-left"] {
    transform: translateX(0);
    opacity: 1;
}

.abstract-placeholder {
    width: 50%;
    position: relative;
    /* Increase the transition duration to 2.5s (adjust as needed) */
    transition: all 2.5s ease;
}


/* Media Query for Mobile Devices */
@media (max-width: 600px) {
    .abstract-placeholder {
        width: 90%;
        /* Expand the width to fit the mobile screen */
        padding: 15px;
        /* Reduce padding for smaller screens */
        font-size: 14px;
        /* Adjust font size for better readability on mobile */
    }

    /* Adjust font size for paragraphs inside the placeholder */
    .abstract-placeholder p {
        font-size: 16px;
    }

    .software-button-container {
        margin-top: 15px;
        /* Adjust margin for smaller screens */
    }
}

/* Media Query for Tablets */
@media (max-width: 900px) {
    .abstract-placeholder {
        width: 75%;
        /* Adjust width for tablet screens */
        font-size: 22px;
        /* Adjust font size for better readability on tablets */
    }

    .abstract-placeholder p {
        font-size: 20px;
    }
}

/* Animation keyframes for sliding in from left */

.content img {
    display: block;
    margin: 20px auto;
    max-width: 100%;
    height: auto;
    position: center;
    text-align: center;
}

.autoShow-right {
    animation: autoShowRightAnimation both;
    animation-timeline: view(80% 20%);
    width: 80%;
    /* Cover 80% of the width */
    margin: 0 auto;
    /* Center the content horizontally */
}

@keyframes autoShowRightAnimation {
    from {
        opacity: 0;
        transform: translateX(-200px) scale(0.3);
        /* Motion from left to right */
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
        /* Final position */
    }
}


.autoShow-left {
    animation: autoShowLeftAnimation both;
    animation-timeline: view(80% 20%);
    width: 80%;
    /* Cover 80% of the width */
    margin: 0 auto;
    /* Center the content horizontally */
}

@keyframes autoShowLeftAnimation {
    from {
        opacity: 0;
        transform: translateX(200px) scale(0.3);
        /* Motion from right to left */
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
        /* Final position */
    }
}

.homepage-blue {
    padding-top: 56px;
    max-width: 1500px;
    margin: auto;
}

.home-secleft,
.flex-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
}

.home-secleft {
    flex-direction: column;
    text-align: left;
    margin-bottom: 30px;
}

.home-secleft h2 {
    font-size: 2.5rem;
    color: white;
}

.home-secleft span {
    font-size: 1.25rem;
    color: white;
    margin-top: 10px;
    line-height: 1.6;
}




.parts-table {
    font-family: 'wikiFont', sans-serif;
    font-weight: normal;
    margin: 2rem auto;
    font-size: clamp(1rem, 1.2vw, 1.4rem);
    width: 85%;
    border-spacing: 0;
    border: 1px solid rgb(122, 247, 168);
    padding-top: 150px;
    /* Adjust to move the table further down the page */
    table-layout: auto;
    /* Makes columns flexible */
    border-radius: 10px;
    /* Rounds the corners of the table */
    overflow: hidden;
    /* Ensures the rounded corners are visible */
    border-right: white;
    border-left: white;
}



/*
.parts-table thead tr {
    background-color: rgb(122, 247, 168);
    color: white;
    text-align: center;
    border-bottom: 2px solid rgb(122, 247, 168);
}

*/

.parts-table thead tr th {
    background-color: rgb(122, 247, 168);
    color: rgb(0, 0, 0);
    text-align: center;
    border-bottom: 2px solid rgb(122, 247, 168);
    font-size: clamp(1.5rem, 1.8vw, 1.8rem);
    font-weight: 750;
}

.parts-table tbody tr {
    background-color: transparent;
    color: aliceblue;
    text-align: center;
    transition: background-color 0.2s ease;
    border: 2px solid white;
}

.parts-table tbody tr:hover {
    background-color: none;
}

.parts-table th,
.parts-table td {
    padding: 12px 15px;
    font-family: 'proximaNovaLight', sans-serif;
    word-wrap: break-word;
    border-bottom: 2px solid rgb(122, 247, 168);
    border: 2px solid white;
}

.parts-table tbody tr:last-of-type {
    border-bottom: 3px solid rgb(122, 247, 168);
}

/* Mobile Styles */
@media (max-width: 767px) {
    .parts-table {
        font-size: clamp(1rem, 3vw, 1.5rem);
        /* Responsive font size for small screens */
        width: 95%;
        /* Adjust width for smaller screens */
        overflow-x: auto;
        /* Allow horizontal scrolling */
    }

    .parts-table th,
    .parts-table td {
        padding: 10px;
        /* Reduce padding */
    }
}

.wrapper-desc {
    text-align: justify;
    color: #ccccff;
    padding: 1em;
    margin-top: 30px;
    width: 100%;
}



.engineering-table {
    font-family: 'wikiFont';
    font-weight: normal;
    margin-left: 15rem;
    /* Adjust margin to avoid overlap with .toc */
    font-size: 1vw;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin: auto 0;
    /* Center the table horizontally */
}

.engineering-table thead tr {
    background-color: rgb(122, 247, 168);
    color: white;
    text-align: center;
    border-bottom: 2px solid rgb(122, 247, 168);
}

.engineering-table tbody tr {
    background-color: transparent;
    color: #ffffff;
    text-align: center;
}

.engineering-table th,
.engineering-table td {
    padding: 12px 15px;
    font-family: 'proximaNovaLight';
    word-wrap: break-word;
    border-bottom: 1px solid rgb(122, 247, 168);
}

.engineering-table tbody tr:last-of-type {
    border-bottom: 2px solid rgb(122, 247, 168);
}

/* Mobile Styles */
@media (max-width: 767px) {
    .engineering-table {
        font-size: 3vw;
        /* Adjust font size for smaller screens */
        width: 100%;
    }

    .engineering-table th,
    .engineering-table td {
        padding: 8px 10px;
        /* Reduce padding for smaller screens */
    }

    .wrapper-desc {
        text-align: justify;
        font-weight: normal;
        width: 100%;
        /* Ensure full width */
        color: #ccccff;
        padding: 1em;
        box-sizing: border-box;
        /* Include padding and border in element's total width and height */
    }
}

.survey-img {
    width: 100%;
    transform: scale(1.4);
    margin: 0 auto;
    display: block;
    transform-origin: center;
    /* Ensure the zoom happens from the center */
    /* Smooth transition for zoom effect */
    z-index: 1;
}

/*
.survey-img:hover {
    transform: scale(2);

    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);

    transition: transform 0.3s ease, box-shadow 0.3s ease;

    background-color: #080822;
    z-index: 10;
}
*/

.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.popup-content {
    background: #131316;
    padding: 20px;
    width: 80%;
    max-width: 1000px;
    max-height: 90%;
    overflow-y: auto;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 0 25px rgba(122, 247, 168, 0.8);

}
.popup-content p{
    font-size: 1.2rem;
}

/* Custom scrollbar styles */
.popup-content::-webkit-scrollbar {
    width: 12px;
    /* Width of the scrollbar */
}

.popup-content::-webkit-scrollbar-track {
    background: #f1f1f100;
    /* Background of the scrollbar track */
    border-radius: 10px;
    /* Rounded corners for the track */
}

.popup-content::-webkit-scrollbar-thumb {
    background: #2a0234;
    /* Color of the scrollbar thumb */
    border-radius: 10px;
    /* Rounded corners for the thumb */
    border: 3px solid #f1f1f1;
    /* Adds padding around the thumb */
}

.popup-content::-webkit-scrollbar-thumb:hover {
    background: var(--soft-green);
    /* Color of the scrollbar thumb on hover */
}

.close-btn {
    background: rgb(105, 0, 0);
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 5px;
    position: absolute;
    /* Use absolute positioning */
    top: 10px;
    /* Adjust as needed */
    right: 10px;
    /* Adjust as needed */
    z-index: 1000;
    /* Ensure it stays on top */
}

.close-btn:hover {
    background: darkred;
}

.pop-up {
    display: none;
}

.no-scroll {
    overflow: hidden;
}

.pop-up-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


.pop-up-closed {
    cursor: pointer;
    /* Change cursor to pointer on hover */
    padding: 5px;
    border: 2px solid white;
    border-radius: 15px;
    transition: transform 0.3s ease;
    /* Smooth transition for hover effect */
    width: calc(33.333% - 10px);
    /* Ensure all elements are the same size */
    box-sizing: border-box;
    /* Include padding and border in element's total width and height */
    padding: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.pop-up-closed h1,
.pop-up-closed h2,
.pop-up-closed h3,
.pop-up-closed h4,
.pop-up-closed h5,
.pop-up-closed h6 {
    text-align: center;
    width: 100%;
}

.pop-up-closed:hover {
    transform: scale(1.05);
    /* Slightly increase size on hover */
    background: rgba(255, 255, 255, 0.1);
    /* Semi-transparent white background on hover */
}

.pop-up-container .pop-up-closed {
    margin-bottom: 10px;
    /* Space between rows */
}

/* Responsive design for smaller screens */
@media (max-width: 768px) {
    .pop-up-closed {
        width: calc(50% - 10px);
        /* 2 items per row */
    }
}

@media (max-width: 480px) {
    .pop-up-closed {
        width: 100%;
        /* 1 item per row */
    }
}

.pop-up-title {
    display: flex;
    flex-direction: column;
    /* Stack items vertically */
    justify-content: center;
    /* Center horizontally */
    align-items: center;
    font-size: 20px;
    font-weight: 500;
    color: white;
    margin-bottom: 10px;
    text-align: center;
}

.image-caption {
    font-size: 18px;
    color: #ccccff;
    text-align: center;
    margin-top: 3px;
    margin-bottom: 10px;
    width: 80%;
}

.text-center-manual {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.quote {
    font-size: 1.5rem;
    font-style: italic;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

.three-column-flex {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.column {
    flex: 1;
    margin: 0 10px;
    padding: 10px;
}

.column h3 {
    margin-top: 0;
}



.homepage h2 {
    font-family: 'Roboto', sans-serif;
    font-size: 2rem;
    color: #FFFFFF !important;
    /* White color for all headers */
    text-align: center;
    margin-bottom: 20px;
    font-weight: 700;
}




/* Styling for the outer box */
.homepage .box {
    background: radial-gradient(circle at 30% 50%, rgba(128, 0, 128, 0.5), transparent 70%),
        radial-gradient(circle at 70% 20%, rgba(0, 0, 128, 0.5), transparent 60%),
        radial-gradient(circle at 80% 80%, rgba(75, 0, 75, 0.5), transparent 70%),
        /* Muted dark purple */
        radial-gradient(circle at 50% 30%, rgba(0, 128, 128, 0.5), transparent 60%),
        radial-gradient(circle at 20% 70%, rgba(75, 0, 130, 0.5), transparent 60%);
    background-blend-mode: screen;


    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 0 50px rgba(0, 255, 113, 1), 0 0 100px rgba(122, 0, 237, 1);
    color: #FFFFFF !important;
    /* Ensure text inside box is white */
    max-width: 1200px;
    margin: 40px auto;
    /* Center the box */
    position: relative;
    overflow: hidden;
    animation: glow 2s infinite alternate;
}

/* Glow effect */
@keyframes glow {
    0% {
        box-shadow: 0 0 10px rgba(0, 255, 113, 0.7), 0 0 20px rgba(122, 0, 237, 0.7);
    }

    50% {
        box-shadow: 0 0 50px rgba(0, 255, 113, 1), 0 0 100px rgba(122, 0, 237, 1);
    }

    100% {
        box-shadow: 0 0 10px rgba(0, 255, 113, 0.7), 0 0 20px rgba(122, 0, 237, 0.7);
    }
}

/* Applying glow animation to an element */
.glowing-element {
    padding: 20px;
    background-color: #000;
    /* Make sure the element has a background color to see the glow */
    border-radius: 10px;
    color: #fff;
    text-align: center;
    font-size: 1.5rem;
    animation: glow 2s infinite ease-in-out;
}


/* Problem Section Styling */
.homepage .problem-section {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 30px;
}

/* Problem Box - Set a new background color */
.homepage .problem-box {
    background: linear-gradient(145deg, #003f5c, #006466, #0A9396, #94d2bd) !important;
    /* Gradient background */
    color: #FFFFFF !important;
    /* White text for the entire box */
    padding: 30px;
    border-radius: 15px;
    width: 30%;
    text-align: center;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
    /* Regular box-shadow */
    transition: box-shadow 0.3s ease-in-out, border 0.3s ease-in-out;
    /* Only transition box-shadow and border */

    border: 1px solid #7AF7A8 !important;
    /* Transparent border by default */
}


.homepage .problem-box h3 {
    font-size: 1.6rem;
    color: #7AF7A8 !important;
    text-align: center;
    /* White title */
    margin-bottom: 15px;
    font-weight: 700;
}

/* Problem Box Icons - Ensure white icons */
.homepage .problem-box i {
    font-size: 3rem;
    color: #7AF7A8 !important;
    /* White icons */
}

/* Problem Box Paragraphs - Ensure white text */
.homepage .problem-box p {
    color: #7AF7A8 !important;
    /* White paragraph text */
}

/* Responsive design for problem boxes */
@media (max-width: 768px) {
    .homepage .problem-box {
        width: 100%;
        /* Ensure boxes stack in smaller viewports */
        margin-bottom: 20px;
    }
}

/* Metrics Section */
.homepage .metrics-section {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 50px;
}

.homepage .metric-box {
    background-color: #444444;
    /* Dark gray background */
    color: #7AF7A8 !important;
    /* White text for contrast */
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    width: 30%;
    /* Responsive width */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease-in-out;
}

.homepage .metric-box:hover {
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

.homepage .metric-box h2 {
    font-size: 3rem;
    color: #00A871;
    /* Green color for metric numbers */
}

.homepage .metric-box p {
    font-size: 1.2rem;
    color: #CCCCCC;
    /* Lighter gray for text */
}

/* Call to Action Button Styling */
.homepage .action-btn {
    font-family: 'Roboto', sans-serif;
    display: inline-block;
    margin-top: 20px;
    padding: 10px 25px;
    background-color: #00A871;
    color: #064273;
    border: none;
    border-radius: 5px;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
}

.homepage .action-btn:hover {
    background-color: #008456;
    /* Darker green on hover */
}

/* Font Awesome icons */
.homepage .box i {
    font-family: 'FontAwesome';
}

/* Simple Image Section */
.simple-image-section {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 50px 0;
    /* Background color for the section */
}

.simple-image-section img {
    width: 30%;
    /* Each image takes up 30% of the container width */
    height: auto;
    /* Maintain image aspect ratio */
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
/* Simple Image Section */
.gif-image-section {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 50px 0;
    /* Background color for the section */
}

.gif-image-section img {
    width: 75%;
    /* Each image takes up 30% of the container width */
    height: auto;
    /* Maintain image aspect ratio */
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.gif-front-image-section {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 50px 0;
}

.gif-front-image-section img {
    width: 48%;

    height: auto;
    /* Maintain image aspect ratio */
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
/* Responsive Design for Smaller Screens */
@media (max-width: 768px) {
    .simple-image-section {
        flex-direction: column;
        /* Stack images vertically on small screens */
    }

    .simple-image-section img {
        width: 80%;
        /* Reduce image width on smaller screens */
        margin-bottom: 20px;
        /* Add spacing between images */
    }
}

/* Card Section Styling */
.card-section {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 40px;
}

/* Story Section Styling */
.story-section {
    background-color: #f9f9f9;
    /* Light background color */
    padding: 30px;
    border-radius: 10px;
    /* Rounded corners for a clean look */
    transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    /* Smooth transition for interaction */
}

/* Hover effect for the story section */
.story-section:hover {
    background-color: #e3f2fd;
    /* Soft blue background on hover */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    /* Subtle shadow on hover */
}

/* Headings inside the story section */
.story-section h2 {
    font-size: 1.8rem;
    color: #333333;
    margin-bottom: 15px;
    font-weight: 700;
}

/* Paragraphs inside the story section */
.story-section p {
    font-size: 1.1rem;
    color: #555555;
    line-height: 1.6;
}

/* Responsive Design for Smaller Screens */
@media (max-width: 768px) {
    .story-section {
        padding: 20px;
    }

    .story-section h2 {
        font-size: 1.5rem;
    }

    .story-section p {
        font-size: 1rem;
    }
}

/* Container for all sections */
.what-we-did-container {
    width: 100%;
    margin: 0 auto;
    padding: 50px 0;
    max-width: 900px;

}

/* Styling for each section */
.what-we-did-box {
    margin: 50px 0;
    padding: 0;
    /* No padding, since there's no box */
    position: relative;
    overflow: hidden;
}

/* Text (h2 and p) that will move in from left or right */
.what-we-did-box h2,
.what-we-did-box p {
    opacity: 0;

    transform: translateX(-100px);
    /* Initially move from the left */
    transition: transform 1s ease-out, opacity 1s ease-out;
}

/* For even sections, move text from the right */
.what-we-did-box.right-to-left h2,
.what-we-did-box.right-to-left p {
    transform: translateX(100px);
    /* Initially move from the right */
}

/* Make text visible and reset position when in the viewport */
.what-we-did-box.is-visible h2,
.what-we-did-box.is-visible p {
    opacity: 1;
    transform: translateX(0);
    /* Move to correct position */
}

/* Style for the headings */
.what-we-did-box h2 {
    font-size: 2.5rem;
    margin-bottom: 10px;
    color: #333;
    display: flex;
    align-items: center;
     text-align: center;
    gap: 10px;
}

/* Paragraph styling */
.what-we-did-box p {
    font-size: 1.2rem;
    line-height: 1.6;
    color: #555;
}

/* Icon styling */
.what-we-did-box i {
    font-size: 2rem;
    color: #4CAF50;
}

/* Horizontal line divider between sections */
.what-we-did-box:not(:last-child)::after {
    content: "";
    display: block;
    width: 50%;
    height: 2px;
    background-color: #7AF7A8 !important;
    margin: 30px auto;
}

/* Hover effect on icons */
.what-we-did-box h2 i:hover {
    color: #2e7d32;
    transition: color 0.3s ease;
}

.what-we-did-box h2:hover {
    color: #2e7d32;
    cursor: pointer;
    transition: color 0.3s ease;
}

/* Remove default link styles and make sure the link inherits h2 styles */
.what-we-did-box h2 a {
    color: inherit;
    /* Inherit the color from h2 */
    text-decoration: none;
     text-align: center;
    /* Remove the underline */
}

/* Apply hover effect to the link */
.what-we-did-box h2 a:hover {
    color: #7AF7A8
        /* Same hover effect as h2 */
}

/* Ensure the icon inside h2 link inherits the hover effect */
.what-we-did-box h2 a i:hover {
    color: #2e7d32;
}

.dna-wrapper {
    margin: 0 auto;
    width: 80%;
}

.dna-wrapper p {
    margin-top: 20px;
    margin-bottom: 3px;
}

.dna {
    width: 100%;
    font-family: "Courier New", Courier, monospace;
    background-color: #1b1b1b;
    padding: 10px;
    color: #f5f5f5;
    word-break: break-all;
    line-height: 1.2;
    /* Reduce line height to make it shorter */
}

.dna p {
    margin: 0;
}

th,
td {
    text-align: left;
    border: 1px solid #ddd;
    /* Add border to create grid effect */
    padding: 8px;
    /* Add padding for better spacing */
}

table {
    border-collapse: collapse;
    /* Ensure borders are collapsed into a single border */
    width: 100%;
    /* Make table take full width */
}


/* Initial state for scroll animation - elements start hidden */
.our-story-section h2,
.our-story-section p {
    opacity: 0;
    transform: translateY(30px);
    /* Moves the content down */
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Visible state when the user scrolls to the section */
.our-story-section.is-visible h2,
.our-story-section.is-visible p {
    opacity: 1;
    transform: translateY(0);
    /* Moves content to its natural position */
}

/* Our Story Section */
.our-story-section {
    margin: 50px auto;
    max-width: 900px;
    padding: 20px;
    /* Add padding for breathing room */
    text-align: justify;
    line-height: 1.8;
    color: #333;
    /* Darker text for better contrast */
    font-family: 'Open Sans', sans-serif;
}

/* Heading styling */
.our-story-section h2 {
    font-family: 'Roboto', sans-serif;
    /* Elegant serif font for headings */
    font-size: 3rem;
    /* Larger font size for emphasis */
    font-weight: 700;
    color: #006466;
    /* Dark teal for a modern look */
    text-align: center;
    margin-bottom: 30px;
    letter-spacing: 1px;
    position: relative;
    animation: fadeIn 1s ease-out;
}

/* Add a decorative underline to the heading */
.our-story-section h2::after {
    content: '';
    display: block;
    width: 80px;
    height: 4px;
    background-color: #94d2bd;
    /* Light teal accent */
    margin: 15px auto 0 auto;
}

/* Paragraph styling */
.our-story-section p {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.8;
    margin-bottom: 20px;
    color: #555;
    /* Lighter gray for softer readability */
    text-align: justify;
    transition: opacity 0.3s ease;
    padding: 0 10px;
    /* Padding to give more room inside the section */
}

/* Citation styling (for the references) */
.our-story-section .citation {
    font-size: 0.9rem;
    color: #006466;
    /* Accent color for citations */
    font-weight: bold;
}

/* Paragraph hover effect */
.our-story-section p:hover {
    opacity: 0.9;
}

/* Entrance animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .our-story-section h2 {
        font-size: 2.2rem;
        /* Reduce heading size on smaller screens */
    }

    .our-story-section p {
        font-size: 1.1rem;
        /* Adjust paragraph size for readability */
    }
}
/* Table styles */
.sent-table {
    width: auto; /* Let the table width adjust based on content */
    border-collapse: collapse;
    font-size: 22px;
    color: white;
    table-layout: auto; /* Automatically adjust column widths based on content */
}
/* Table header (th) and cell (td) styles */
/* Center the entire table on the page */
.sent-table {
    border: 2px solid white;
    margin: 0 auto; /* Center the table horizontally */
    width: auto; /* Ensure the table width adjusts to its content */
}

/* Table header and data cell styles */
.sent-table th,
.sent-table td {
    border: 2px solid white; /* White border */
    text-align: center; /* Center the text inside the table cells */
    padding: 10px;
}

/* Background colors for bad values */
.sent-table td.slow,
.sent-table td.unstructured,
.sent-table td.manual,
.sent-table td.no-cross,
.sent-table td.low,
.sent-table td.high-risk {
    background-color: rgba(255, 0, 0, 0.6); /* Red for bad values */
}
.sent-table td:nth-child(2) {
    width: 150px; /* Adjust this value as needed */
    word-wrap: break-word; /* Ensure long words break to a new line */
}
/* Background colors for good values */
.sent-table td.fast,
.sent-table td.structured,
.sent-table td.automated,
.sent-table td.high {
    background-color: rgba(0, 255, 0, 0.6); /* Green for good values */
}

/* Special case: "Low" in the last row should be green (Low risk is good) */
.sent-table tr:last-child td.low {
    background-color: rgba(0, 255, 0, 0.6); /* Green for Low Risk in last row */
}

/* Neutral/moderate values remain yellow */
.sent-table td.moderate {
    background-color: rgba(255, 255, 0, 0.6); /* Yellow */
}

.sent-table {
    border: 2px solid white;
}


/* Media query for responsiveness on phones */
@media screen and (max-width: 768px) {
    .sent-table {
        font-size: 14px;
        width: 100%;
    }



}

.simple-image-section {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    /* Space between images */
}

.simple-image-section img {
    width: 250px;
    /* Increase the width */
    height: auto;
    /* Maintain aspect ratio */
    margin: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 10px;
}



/* Ensure html and body take full height */
.homepage html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
}

/* Header Section */
.homepage .header {
    height: 100vh;
    /* Full viewport height */
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: #020a12;
    /* Fallback background color */
    overflow: hidden;
    /* Prevents overflow issues */
    margin: 0;
    /* Ensure no extra margins */
    padding: 0;
    /* Ensure no extra padding */
    width: 100vw;
    /* Ensure full width coverage */
}

/* Ensure the homepage header takes up the full screen */
.homepage .header {
    position: relative;
    height: 100vh;
    /* Full viewport height */
    width: 100%;
}

/* Cover image styling */
.cover-image {
    background-image: url('https://static.igem.wiki/teams/5107/frontpage-desktop.gif');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}
@media only screen and (max-width: 768px) {
    .cover-image {
        background-image: url('https://static.igem.wiki/teams/5107/fp5.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;

        height: 100vh;
        min-width: 100vw; /* Ensure the element takes at least the full viewport width */
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
}
.cover-title {
    position: absolute;
    bottom: 50px;
    left: 50px;
    font-size: 48px;
    color: white;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
}

.pages .header {
    position: relative;
    height: 75vh;
    /* Full viewport height */
    width: 100%;
}

.contribution-image {
    background-image: url('https://static.igem.wiki/teams/5107/bg-contributions.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}
.education-image {
    background-image: url('https://static.igem.wiki/teams/5107/biobricks2.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.page-title {
    position: absolute;
    top: 50%;
    /* Center vertically */
    left: 50%;
    /* Center horizontally */
    transform: translate(-50%, -50%);
    /* Adjust for the element's own width/height */
    font-size: 48px;
    color: white;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
    text-align: center;
    /* Center text within its own container */
}

.experiment-image {
    background-image: url('https://static.igem.wiki/teams/5107/bg-experiments.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.description-image {
    background-image: url('https://static.igem.wiki/teams/5107/screenshot-2024-09-25-at-11-20-54-pm.png');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.team-image {
    background-image: url('https://static.igem.wiki/teams/5107/bg-team-atributions-3.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.results-image {
    background-image: url('https://static.igem.wiki/teams/5107/bg-results.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.engineering-image {
    background-image: url('https://static.igem.wiki/teams/5107/eng.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.model-image {
    background-image: url('https://static.igem.wiki/teams/5107/model-bg.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.parts-image {
    background-image: url('https://static.igem.wiki/teams/5107/bg-parts2.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.notebook-image {
    background-image: url('https://static.igem.wiki/teams/5107/notebook.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.safety-image {
    background-image: url('https://static.igem.wiki/teams/5107/safetyjpg.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.hp-image {
    background-image: url('https://static.igem.wiki/teams/5107/hpbg.webp');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

.sw-image {
    background-image: url('https://static.igem.wiki/teams/5107/bg-sw.jpg');
    /* Replace with the actual path to your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    /* Full height of the header */
    width: 100%;
    position: relative;
}

/* Responsive styles for tablet */
@media (max-width: 768px) {

    .homepage .header,
    .pages .header {
        height: 80vh;
        /* Slightly smaller height */
    }

    .cover-title,
    .page-title {
        font-size: 36px;
        /* Reduce font size */
    }

    .cover-title {
        bottom: 30px;
        left: 30px;
    }
}

/* Responsive styles for phones */
@media (max-width: 480px) {

    .homepage .header,
    .pages .header {
        height: 70vh;
        /* Smaller height for phones */
    }

    .cover-image,
    .contribution-image,
    .experiment-image,
    .description-image,
    .team-image,
    .results-image,
    .engineering-image,
    .model-image,
    .parts-image,
    .notebook-image,
    .safety-image,
    .hp-image,
    .sw-image {
        background-size: cover;
        /* Ensures cover scaling on smaller screens */
        background-position: center;
    }

    .cover-title,
    .page-title {
        font-size: 24px;
        /* Further reduce font size */
    }

    .cover-title {
        bottom: 20px;
        left: 20px;
    }
}

@media (max-width: 480px) {
    .our-story-section h2 {
        font-size: 24px;
        /* Adjust heading size for smaller screens */
    }

    .our-story-section p {
        font-size: 16px;
        /* Adjust paragraph font size for readability */
        line-height: 1.5;
    }

    .our-story-section {
        padding: 10px;
        /* Add padding to improve appearance on smaller screens */
    }
}

.btn-custom-green {
    background-color: rgba(0, 168, 113, 0.6);
    color: white;
}

.tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 2px;
    gap: 2px; /* Add space between buttons */
}

.tab-link {
    background-color: #f1f1f133;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 15px 30px; /* Increase padding for bigger buttons */
    transition: background-color 0.3s, transform 0.3s;
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */
    font-family: 'Roboto', sans-serif; /* Use a modern font */
    font-size: 1.2rem; /* Increase font size */
    color: #e0e0e0
}

.tab-link:hover {
    background-color: rgba(0, 168, 113, 0.6);
    color: black;
    transform: translateY(-2px); /* Slight lift on hover */
}

.tab-link.active {
    font-weight: bold;
    color: black;
    background-color: rgba(122, 247, 168);
    box-shadow: 0 0 10px rgba(122, 247, 168, 0.8); /* Slightly larger shadow */
}

.tab-content {
    display: none;
    border-top: 2px solid #ccc; /* Add top border */
    border-bottom: 2px solid #ccc; /* Add bottom border */
    padding: 20px 0; /* Add 20px padding to top and bottom, 0 to left and right */
    width: 100%;
}

.tab-content.active {
    display: block;
}

.box-highlight {
    border-radius: 20px; /* Increase border radius for more rounded corners */
    padding: 20px; /* Increase padding for more space inside the box */
    margin: 15px; /* Increase margin for more space outside the box */
    box-shadow: 0 0 20px rgba(122, 247, 168, 0.8); /* Increase shadow size for a more pronounced effect */
    border: 3px solid #7AF7A8; /* Increase border width for better visibility */
    height: 100%;
    background-color: rgba(122, 247, 168, 0.1); /* Add a subtle background color for a nicer look */
}

.box-highlight h3 {
    text-align: center;
}

.styled-table {
    width: 100%;
    border-collapse: collapse;
    background-color: rgb(185, 185, 185);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    color: black;
}

.styled-table th, .styled-table td {
    padding: 12px 15px;
    text-align: left;
}

.styled-table thead tr {
    background-color: #009879;
    color: #ffffff;
    text-align: left;
    font-weight: bold;
}

.styled-table tbody tr {
    border-bottom: 1px solid #dddddd;
}

/* .styled-table tbody tr:nth-of-type(even) {
    background-color: #f3f3f3;
} */

.styled-table tbody tr:last-of-type {
    border-bottom: 2px solid #009879;
}

.styled-table tbody tr:hover {
    background-color: #f1f1f1;
}

.assumption-table thead tr{
    background-color: #cc0000;
    color: #f1f1f1;
    text-align: left;
    font-weight: bold;
}
/* Remove default body margin and set background color */
body {
    margin: 0;
    background-color: #000; /* Set your desired background color */
}

/* Container for both GIFs */
.gif-container {
    display: flex;
    justify-content: space-around; /* Space between GIFs */
    align-items: center;
    padding: 20px;
    background-color: transparent; /* Transparent background for the container */
    max-width: 100%; /* Make sure the container doesn't overflow */
    margin: 0 auto; /* Center the container */
}

/* Styling each GIF section */
.gif-item {
    text-align: center; /* Center the title and GIF */
    margin: 0 10px; /* Adjust margin to control spacing between GIFs */
}

/* Styling the title */
.gif-item h2 {
    margin-bottom: 10px; /* Space between title and GIF */
    font-family: Arial, sans-serif;
    font-size: 1.4em;
    color: #fff; /* Title color */
}

/* Styling the GIF */
.gif-item img {
    width: 500px; /* Set width for the GIFs */
    height: auto; /* Keep aspect ratio */
    border: 2px solid transparent; /* Remove border or make it transparent */
    border-radius: 10px; 
}

/* Responsive design for smaller screens */
@media (max-width: 768px) {
    .gif-container {
        flex-direction: column;
        gap: 20px; /* Space between GIFs when stacked vertically */
    }

    .gif-item img {
        width: 90%; /* GIFs take full width on mobile */
    }
}
.main-title {
    text-align: center;
    font-size: 2em; /* Set title size */
    margin: 20px 0; /* Space around the title */
    color: #fff; /* White title color */
}
.image-container {
    display: flex;
    justify-content: center; /* Center the image horizontally */
    align-items: center;
    flex-direction: column; /* Ensure the caption stays below the image */
    margin: 20px 0; /* Add some margin around the image */
}

.responsive-image {
    max-width: 100%; /* Ensure the image is responsive */
    width: 600px; /* Default width */
    height: auto; /* Keep the aspect ratio */
}

.text-center-manual {
    text-align: center;
    margin-top: 10px;
    font-size: 14px; 
}



@media (max-width: 768px) {
    .cover-image {
        max-width: 90%; /* Image width scales for tablets */
    }
}

@media (max-width: 480px) {
    .cover-image {
        max-width: 80%; /* Image width scales for mobile phones */
    }
}


/* Model Page */ 
.description-left {
    position: relative;
    left: 14rem;

  }

  @media (max-width: 767px) {
    .description-left {
      position: relative;
      left: 50px;
    }
  }

  @media (max-width: 480px) {
    .description-left {
      position: relative;
      left: -5px;
    }
  }
  .nav-tabs {
    z-index: 1000;
    padding: 15px 10px; /* Sets padding to 15px top and bottom, 20px left and right */
    margin-bottom: 15px; /* Adds space below the tabs */
}



  .tabs-nav-links-below > h3 {
    padding: 15px 10px; /* Sets padding to 15px top and bottom, 20px left and right */
    margin-bottom: 15px;
    font-size: 25px;
    
  }

  .nav-link.tabs-nav-links-below.active {
    color: rgb(255,255,255) !important;
    background-color:rgb(111, 0, 247)  !important;
    padding: 15px 1px; /* Sets padding to 15px top and bottom, 20px left and right */

    
  }

  .tabs-nav-links-below:hover {
    background-color: rgb(111, 0, 247);
    
  }

  .tabs-nav-links-below:hover > * {
    color: rgb(122,247,168);

  }
  .tab-pane {
    padding: 3em;
    background-color: rgba(0, 0, 0, 0.3); /* Semi-transparent black */
    backdrop-filter: blur(10px); /* Adjust the blur amount as needed */   
    border-width: 1px !important;
    
  }

  .jumper {
    position: relative;
    top: -105px;
  }

  @media (max-width: 460px) {
    .jumper {
      position: relative;
      top: -125px;
    }
  }

  .model-equation {
    margin-top: 3em !important;
    margin-bottom: 3em;
  }

  .model-equation > img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
    .tab-pane {
    padding: 2em;
    background-color: rgba(0, 0, 0, 0.3); /* Semi-transparent black */
    backdrop-filter: blur(10px); /* Adjust the blur amount as needed */
    border: 1px solid #dee2e6;
  }
  .resources-section details .summary-title {
    -webkit-user-select: none;
      -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .resources-section details:hover {
    cursor: pointer;
    .resources-section details .summary-content {
    border-top: 1px solid #e2e8f0;
    cursor: default;
    padding: 1em;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5;
    margin: 20px;
  }
  .resources-section details summary {
    list-style: none;
    padding: 1em;
  }
  .resources-section details summary:focus {
    outline: none;
  }
  .resources-section details summary:hover .summary-chevron-up svg {
    opacity: 1;
  }
  .resources-section details .summary-chevron-up svg {
    opacity: 0.5;
  }
  .resources-section details .summary-chevron-up,
  .resources-section details .summary-chevron-down {
    pointer-events: none;
    position: absolute;
    top: 19px;
    right: 1em;
    background: #ffffff;
  }
  .resources-section details .summary-chevron-up svg,
  .resources-section details .summary-chevron-down svg {
    display: block;
  }
  .resources-section details summary::-webkit-details-marker {
    display: none;
  }
  .summary-title {
    -webkit-user-select: none;
      -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .resources-section details .summary-chevron-up svg,
  .resources-section details .summary-chevron-down svg {
    display: block;
  }
  .resources-section details summary::-webkit-details-marker {
    display: none;
  }
  }
  
  .centered-equation {
    text-align: center;
    font-size: 16px;
    font-style: italic;
  }
  
  .fraction {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
  }
  
  .fraction > span {
    display: block;
    padding: 0;
  }
  
  .fraction .top {
    border-bottom: 1px solid;
    padding-bottom: 2px;
  }
  
  .fraction .bottom {
    padding-top: 2px;
  }

  
  .superscript {
    vertical-align: super;
    font-size: smaller;
  }

  .dot {
    font-weight: bold;
    vertical-align: middle;
  }
/* Our Impact Section Styling */
.our-impact-section {
    padding: 30px 0; /* Only padding for spacing, no background */
    border-radius: 0; /* No rounded corners */
    margin: 0 auto; /* Center the section */
    max-width: 900px;
}

/* Headings in the Our Impact Section */
.our-impact-section h2 {
    font-size: 2.3rem;
    color: #333333;
    margin-bottom: 15px;
    font-weight: 700;
    text-align: center; /* Centered heading */
    text-decoration: underline;
}

/* Paragraphs in the Our Impact Section */
.our-impact-section p {
    font-size: 1.1rem;
    color: #555555;
    line-height: 1.6;
    text-align: left; /* Centered text */
    margin-bottom: 20px; /* Add some space after the paragraph */
}




/* Responsive Design for Smaller Screens */
@media (max-width: 768px) {
    .our-impact-section {
        padding: 20px 0;
    }

    .our-impact-section h2 {
        font-size: 2rem;
    }

    .our-impact-section p {
        font-size: 1rem;
    }

    .our-impact-section ul li {
        font-size: 1rem;
    }
}
