/* Basic reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: clamp(12px, 2vh, 48px)
}

body {
    font-family: 'Arial', sans-serif;
    background-color: #121212;
    color: #fff;
    line-height: 1.6;
}

a:link {
color: #00a0fc;
background-color: transparent;
text-decoration: none;
}
a:visited {
color: #00a0fc;
background-color: transparent;
text-decoration: none;
}
a:hover {
color: #00a0fc;
background-color: transparent;
text-decoration: underline;
}
a:active {
color: blue;
background-color: transparent;
text-decoration: underline;
}

/* Container for content */
.container {
    width: 85%;
    max-width: 1800px;
    margin: 0 auto;
}

/* Header */
header {
    background-color: #1f1f1f;
    padding: 20px 0;
    text-align: center;
}

header h1 {
    font-size: 1em;
    color: #fff;
}

header p {
    color: #ccc;
}


/* Navbar */
.navbar {
    position: fixed;
    width: 100%;
    top: 0;
    background-color: rgba(51, 51, 51, 0.5); /* Half-transparent background */
    z-index: 10;
    padding: 0.3rem 0.53em;
    backdrop-filter: blur(0.1rem); /* Optional: Adds a blur effect for better visuals */
}

/* Flex container for logo, title, and navbar links */
.navbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 0.2rem;
}

/* Logo and Title Section */
.logo-title {
    display: flex;
    align-items: center;
    gap: 0.8rem; /* Space between the logo and the title */
}

.logo {
    width: 1.6rem; /* Adjust logo size */
    height: auto;
}

.title {
    font-size: 0.8rem;
    font-weight: bold;
    color: #fff;
    margin: 0; /* Remove default margin */
}

.navbar ul {
    display: flex;
    justify-content: flex-start; /* Items take space as needed */
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: hidden; /* Ensure no overflow */
}

.navbar ul li {
    margin: 0 0.5rem;
}

.navbar ul li a {
    font-size: 0.8rem; /* Responsive font size */
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    padding: 0.25rem 0.5rem;
    transition: color 0.3s ease; /* Smooth hover effect */
}

.navbar ul li a:hover {
    color: #ffd700;
}


/* Dropdown Button */
.dropbtn {
    background-color:rgba(51, 51, 51, 0.5);
    color: white;
    padding: 0.5rem;
    font-size: 0.5rem;
    border: none;
    cursor: pointer;
  }
  
  /* Dropdown button on hover & focus */
  .dropbtn:hover, .dropbtn:focus {
    background-color: #91969a;
  }
  
  /* The container <div> - needed to position the dropdown content */
  .dropdown {
    position: relative;
    display: inline-block;
  }
  
  /* Dropdown Content (Hidden by Default) */
  .dropdown-content {
    display: none;
    position: sticky;
    background-color: #f1f1f1;
    min-width: 4rem;
    box-shadow: 0px 0.3rem 0.7rem 0px rgba(0,0,0,0.2);
    z-index: 1;
    overflow: auto;
  }
  
  /* Links inside the dropdown */
  .dropdown-content a {
    color: black;
    padding: 0.5rem 0.6rem;
    text-decoration: none;
    display: block;
  }
  
  /* Change color of dropdown links on hover */
  .dropdown-content a:hover {background-color: #ddd;}
  
  /* Show the dropdown menu (use JS to add this class to the .dropdown-content container when the user clicks on the dropdown button) */
  .show {display:block;}

/* Cover section */
.cover {
    position: relative;
    width: 100%;
}

.cover img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover; /* Ensures the image covers the container without distortion */
}


.cover-text {
    position: absolute;
    top: 50%;
    left: 1.5rem;
    transform: translateY(-50%); /* Vertically center the text */
    color: #fff;
    max-width: 90%; /* Ensure title has enough space to wrap into two lines */
}

.cover-text h1 {
    font-size: 3.5rem; /* Responsive font size */
    margin: 0;
    word-wrap: break-word; /* Ensure text breaks into multiple lines if needed */
    white-space: normal; /* Allow text to break into multiple lines */
    line-height: 1.2; /* Control line height for better spacing between lines */
}

.cover-text p {
    padding-top: 1.6rem;
    font-size: 1.2rem; /* Subtitle font size */
    color: #ffd900bf;
    font-weight: bold;
}

/* Section styles */
.section {
    padding: 2rem 0;
    font-size: 1rem;
}

.section h1 {
    text-align: center;
    padding-bottom: 2%;
    font-size: 1.8rem;
}

.section h3 {
    font-size: 1.2rem;
    padding-bottom: 0.8rem;
}

.section ul {
    padding-left: 1rem;
}


.timeline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 100%;
    /* max-width: 1200px; */
    padding: 1rem;
}

.timeline::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 0.2rem;
    background: linear-gradient(90deg, #00ffcc, #ff00cc);
    z-index: 1;
    box-shadow: 0 0 0.5rem #00ffcc, 0 0 1rem #ff00cc;
}

.date {
    padding-bottom: 0.5rem;
    text-shadow: 0 0 0.2rem #00ffe1ba;
    text-align: center;
}

.timestamp {
    position: relative;
    z-index: 2;
    background: #1a1a1a;
    padding: 0.5rem;
    border-radius: 50%;
    border: 0.1rem solid rgba(84, 235, 246, 0.73);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1vh;
    height: 1vh;
    box-shadow: 0 0 0.5rem rgba(84, 235, 246, 0.73), inset 0 0 0.5rem #ff00cc;
    margin: 0 0.5rem;
}

.timestamp span {
    font-size: 0.8rem;
    font-weight: bold;
    color: #fff;
}

.label {
    margin-top: 0.25rem;
    font-size: 1rem;
    color: #00ffee;
    text-shadow: 0 0 0.2rem #ff00cc;
    text-align: center;
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
}


/* Schedule styles */
table {
    width: 100%;
    border-collapse: collapse;
}

table, th, td {
    border: 0.1rem solid white;
    color: white;
}

th, td {
    padding: 0.4rem;
    text-align: left;
}

th {
    font-weight: bold;
}

.timezone-select {
    display: block;
    margin: 1rem auto;
    padding: 0.5rem;
    background-color: #333;
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 0.8rem;
}

select {
    background-color: #333;
    color: #fff;
    border: 0.1rem solid #fff;
    font-size: 0.8rem;
    padding: 0.4rem;
}

/* Committee section */

.speaker-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 4 columns */
    gap: 3rem; /* Space between grid items */
    text-align: center;
}

/* Profile image styling */
.speaker-profile-img {
    width: 100%;  /* Make the image fill the container */
    height: 100%;
    padding-bottom: 0%; /* Aspect ratio of 1:1 (square) */
    border-radius: 60%;
    object-fit: cover;
    margin-bottom: 0.5rem;
    max-width: 13rem;  /* Ensure a max size */
}

.committee-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 4 columns */
    gap: 1rem; /* Space between grid items */
    text-align: center;
}

/* Style for individual committee members */
.committee-member {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Profile image styling */
.profile-img {
    width: 100%;  /* Make the image fill the container */
    height: 100%;
    padding-bottom: 0%; /* Aspect ratio of 1:1 (square) */
    border-radius: 60%;
    object-fit: cover;
    margin-bottom: 0.5rem;
    max-width: 10rem;  /* Ensure a max size */
}

.committee-member a:link {
    color: #fff;
    background-color: transparent;
    text-decoration: none;
}
.committee-member a:visited {
    color: #fff;
    background-color: transparent;
    text-decoration: none;
}
.committee-member a:hover {
    color: #fff;
    background-color: transparent;
    text-decoration: underline;
}
.committee-member a:active {
    color: blue;
    background-color: transparent;
    text-decoration: underline;
}

/* Responsive design for smaller devices */
@media (max-width: 768px) {
    
    .cover-text h1 {
        font-size: 3rem; /* Responsive font size */
    }

    .cover-text p {
        padding-top: 1rem;
        font-size: 1rem; /* Responsive font size */
    }
    

    .committee-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns on medium screens */
    }
}

@media (max-width: 480px) {
    .committee-grid {
        grid-template-columns: 1fr; /* 1 column on small screens */
    }

    .cover-text h1 {
        font-size: 2rem; /* Responsive font size */
    }

    .cover-text p {
        padding-top: 0.8rem;
        font-size: 0.8rem; /* Responsive font size */
    }
}

@media only screen and (max-width: 480px) {
    .dropbtn {
        display: block;
    }

    .navlist {
        display: none;
    }

    .navbar {
        position: sticky;
    }
}

@media (min-width: 480px) {
    .dropbtn {
        display: none;
    }

    .dropdown-content {
        display: none;
    }

    .navlist {
        display: block;
    }
}

/* Back to Latest Edition Banner */
.back-to-latest {
    background: linear-gradient(135deg, rgba(255, 217, 0, 0.15) 0%, rgba(255, 152, 0, 0.15) 100%);
    padding: 0.8rem 1rem;
    text-align: center;
    border-bottom: 2px solid rgba(255, 217, 0, 0.5);
    margin-top: 3.5rem; /* Space below fixed navbar */
}

.back-to-latest a {
    color: rgba(255, 217, 0, 0.95);
    font-weight: bold;
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.3s ease;
}

.back-to-latest a:hover {
    color: #fff;
    text-decoration: none;
}

/* Footer */
footer {
    background-color: #1f1f1f;
    padding: 0.6rem 0;
    text-align: center;
}

footer p {
    color: #ccc;
}
