@charset "utf-8";
/*
Design by http://www.templateaccess.com
Released for free under a Creative Commons Attribution 3.0 License
*/
* {
    box-sizing: border-box;
}
body {
    margin: 0;
    padding: 0;
    width: 100%;
    color: #333;
    background: #538136 url(images/header_bg.jpg) no-repeat center top;
    /*background-size: cover;*/
    font-family: Verdana, Geneva, sans-serif;
    font-size: 11px;
    font-style: normal;
    line-height: 1.8em;
    font-weight: normal;
    font-variant: normal;
}
html, .main {
    padding: 0;
    margin: 0;
}
.main { }
.clr {
    clear: both;
    padding: 0;
    margin: 0;
    width: 100%;
    font-size: 0;
    line-height: 0;
}
.logo {
    margin: 0;
    padding: 0;
    float: left;
    width: auto;
    height: auto;
    max-width: 55%;
}
h1 {
    margin: 0;
    color: #feffff;
    letter-spacing: -2px;
    padding: 15px 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(30px, 6vw, 60px);
    line-height: 1.2em;
    font-weight: bold;
}
h1 a, h1 a:hover {
    color: #feffff;
    text-decoration: none;
}
h1 small {
    display: block;
    padding-left: 3px;
    color: #edf3f6;
    letter-spacing: normal;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(14px, 3vw, 18px);
    line-height: 22px;
    font-weight: normal;
    font-variant: normal;
    text-transform: uppercase;
}
h2 {
    color: #538136;
    margin: 0;
    padding: 5px 0;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 16px;
    font-style: normal;
    line-height: 25px;
    font-weight: normal;
    font-variant: normal;
}
p {
    margin: 8px 0;
    padding: 0 0 8px 0;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 10px;
    font-style: normal;
    line-height: 1.8em;
    font-weight: normal;
    font-variant: normal;
}
p.spec {
    text-align: left;
}
a {
    color: #9bc336;
}
a.com { }
.header, .content, .menu_nav, .fbg, .footer, form, ol, ol li, ul, .content .mainbar, .content .sidebar {
    margin: 0;
    padding: 0;
}
.header { }
.header_resize {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: 970px;
    position: relative;
}
.org {
    font-family: Verdana, Geneva, sans-serif;
    color: #FFF;
    text-transform: none;
    font-size: 11px;
    line-height: 18px;
    float: right;
    width: auto;
    height: 130px;
    background-color: #548335;
    padding: 5px 15px 10px;
    margin: 0 25px 0 0;
}
.hamburger {
    display: none;
    font-size: 24px;
    cursor: pointer;
    color: #1C2B18;
    padding: 10px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1000;
}
.menu_nav {
    height: 56px;
    background-color: #f7faf6;
    margin: 0 0 6px;
    padding: 0 20px;
    width: 100%;
    clear: both;
    z-index: 999;
}
.menu_nav ul {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}
.menu_nav ul li {
    margin: 0;
    padding: 0;
    float: left;
    border-right: 1px solid #ebebeb;
}
.menu_nav ul li a {
    display: block;
    margin: 0;
    color: #1C2B18;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 12px;
    font-family: Verdana, Geneva, sans-serif;
    padding: 17px 8px;
}
.menu_nav ul li.active a, .menu_nav ul li a:hover {
    color: #9bc336;
}
.header-img {
    max-width: 100%;
    height: auto;
    display: block;
    width: 100%;
}
.content {
    padding: 6px 0 16px;
}
.content_resize {
    width: 100%;
    max-width: 970px;
    background: url(images/content_bg.gif) repeat-y center top;
    background-size: cover;
    margin: 0 auto;
    padding: 24px 0;
}
.content .mainbar {
    margin: 0;
    padding: 0;
    float: left;
    width: 670px;
}
.content .mainbar img {
    border: 1px solid #d9dcdc;
    max-width: 100%;
    height: auto;
}
.content .mainbar img.fl {
    margin: 4px 16px 4px 0;
    float: left;
}
.content .mainbar .article {
    margin: 0;
    padding: 8px 24px 8px 40px;
    border-bottom: 1px solid #efefef;
}
.content .sidebar {
    padding: 0;
    float: right;
    width: 295px;
}
.content .sidebar .gadget {
    margin: 0;
    padding: 8px 25px;
    border-bottom: 1px dotted #CEDDC1;
}
ul.sb_menu, ul.ex_menu {
    margin: 0;
    padding: 0;
    list-style: none;
    color: #333;
}
ul.sb_menu li, ul.ex_menu li {
    margin: 0;
}
ul.sb_menu li {
    padding: 4px 0;
    width: 220px;
}
ul.ex_menu li {
    padding: 4px 0;
}
ul.sb_menu li a, ul.ex_menu li a {
    color: #333;
    text-decoration: none;
    margin-left: -12px;
    padding-left: 12px;
}
ul.sb_menu li a:hover, ul.ex_menu li a:hover {
    color: #9bc336;
    font-weight: bold;
    background: url(images/li_a.gif) no-repeat left center;
}
ul.sb_menu li a:hover {
    text-decoration: underline;
}
ul.ex_menu li a:hover {
    text-decoration: none;
}
.content p.pages {
    padding: 8px 24px 8px 40px;
    font-size: 11px;
    color: #959595;
    text-align: right;
}
.content p.pages span, .content p.pages a:hover {
    padding: 5px 10px;
    color: #fff;
    background-color: #9bc336;
    border: 1px solid #9bc336;
}
.content p.pages a {
    padding: 5px 10px;
    color: #959595;
    background-color: #fff;
    border: 1px solid #edebeb;
    text-decoration: none;
}
.content p.pages small {
    font-size: 11px;
    float: left;
}
.content .mainbar .comment {
    margin: 0;
    padding: 16px 0 0;
}
.content .mainbar .comment img.userpic {
    border: 1px solid #dedede;
    margin: 10px 16px 0 0;
    padding: 0;
    float: left;
    max-width: 100%;
}
.fbg {
    background: url(images/fbg_bg.jpg) repeat-x center bottom;
}
.fbg_resize {
    margin: 0 auto;
    /*width: 100%;*/
    max-width: 970px;
    padding: 24px 40px 12px;
    background-color: #fff;
}
.fbg ul li {
    padding: 4px 0;
}
.fbg a {
    margin: 0;
    padding: 2px 4px;
}
.fbg ul li a {
    margin: 0;
    padding: 2px 4px;
    background: none;
    text-decoration: none;
}
.fbg ul li a:hover {
    text-decoration: underline;
    font-weight: normal;
}
.fbg img {
    padding: 3px;
    border: 1px solid #cfd2d4;
    max-width: 100%;
}
.fbg .col {
    margin: 0;
    float: left;
}
.fbg .c1 {
    padding: 0 16px 0 0;
    width: 266px;
}
.fbg .c2 {
    padding: 0 16px;
    width: 300px;
}
.fbg .c3 {
    padding: 0 0 0 16px;
    width: 260px;
}
.footer { }
.footer_resize {
    width: 100%;
    max-width: 970px;
    margin: 0 auto;
    padding: 5px 0;
}
.develop_resize {
    width: 100%;
    max-width: 970px;
    margin: 0 auto;
    padding: 5px 0;
    color: #FFF;
    font-size: 10px;
    font-family: Verdana, Geneva, sans-serif;
}
.footer p.lf {
    margin: 0;
    padding: 4px 0;
    float: right;
    width: auto;
    line-height: 1.5em;
    color: #fff;
}
.footer p.lf a {
    color: #9bc336;
}
ul.fmenu {
    margin: 0;
    padding: 0;
    list-style: none;
    float: left;
    width: auto;
    font-size: 9px;
    text-transform: uppercase;
}
ul.fmenu li {
    margin: 0;
    float: left;
    padding: 0 5px;
}
ul.fmenu li a {
    color: #fff;
    text-decoration: none;
}
ul.fmenu li a:hover, ul.fmenu li.active a {
    color: #9bc336;
}
ul.fmenu li a:hover {
    text-decoration: underline;
}
ol {
    list-style: none;
}
ol li {
    display: block;
    clear: both;
}
ol li label {
    display: block;
    margin: 0;
    padding: 16px 0 0;
}
ol li input.text {
    width: 100%;
    max-width: 480px;
    border: 1px solid #c0c0c0;
    margin: 2px 0;
    padding: 5px 2px;
    height: 16px;
    background: #fff;
}
ol li textarea {
    width: 100%;
    max-width: 480px;
    border: 1px solid #c0c0c0;
    margin: 2px 0;
    padding: 2px;
    background: #fff;
}
ol li .send {
    margin: 16px 0 0;
}
.searchform {
    float: right;
}
#formsearch {
    margin: 0;
    padding: 4px 0;
}
#formsearch span {
    display: block;
    margin: 6px 0;
    padding: 0;
    float: left;
    background: #fff url(images/search.gif) no-repeat top left;
}
#formsearch input.editbox_search {
    margin: 0;
    padding: 11px 6px 10px;
    float: left;
    width: 181px;
    border: none;
    background: none;
    font: normal 12px/1.5em Arial, Helvetica, sans-serif;
    color: #a8acb2;
}
#formsearch input.button_search {
    margin: 6px 0 0;
    padding: 0;
    border: none;
    float: left;
}
.photo {
    padding: 5px;
}
.contant {
    font-size: 11px;
    font-family: Verdana, Geneva, sans-serif;
    padding: 5px 0;
    text-align: justify;
}
.travels {
    font-size: 11px;
    padding: 5px;
    font-family: Verdana, Geneva, sans-serif;
}
.onlineregistration {
    border-bottom: 1px dotted #CEDDC1;
    padding: 0;
    margin: 5px 0;
}
.focus {
    padding: 10px;
    list-style-position: inside;
    list-style-type: circle;
    font-family: Verdana, Geneva, sans-serif;
    text-transform: uppercase;
    color: #538136;
    border-bottom: 1px solid #699943;
    line-height: 24px;
}
.commitees {
    background-color: #FFC;
    padding: 5px;
    font-family: Verdana, Geneva, sans-serif;
    text-transform: uppercase;
    color: #063;
    box-sizing: border-box;
    width: 100%;
    overflow-x: auto;
}
.commitees table {
    width: 100%;
    max-width: 593px;
    border-collapse: collapse;
}
.commitees td {
    padding: 5px;
    white-space: nowrap;
}
.payment {
    background-color: #FFF;
    padding: 5px 10px;
}

.with-list {
  margin-bottom: 0.3em; /* tighten gap */
}

.heading-list {
  margin-top: 0;       /* remove extra gap from list */
  margin-left: 1.2em;  /* indent a bit under heading */
  list-style-type: disc; /* keep bullets */
}


/* Places card grid */
.places-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 per row on desktop */
    gap: 25px;
    justify-items: stretch; /* stretch items to equal height */
    margin: 40px 0;
}

.place-card {
    display: flex;
    flex-direction: column; /* stack items vertically */
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    padding: 15px;
    border-radius: 10px;
    background: #fff;
    transition: transform 0.3s ease;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.place-card:hover {
    transform: translateY(-5px);
}

.place-card img {
    width: 120px;
    height: 120px;
    object-fit: cover; /* Keep square shape */
    border-radius: 8px; /* Slightly rounded corners */
    margin-bottom: 12px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.place-card h3 {
    font-size: 13px;
    margin: 8px 0 4px;
    font-family: Verdana, Geneva, sans-serif;
    flex-grow: 0;
}

.place-card h3 a {
    text-decoration: none;
    color: #0073aa; /* link color */
}

.place-card h3 a:hover {
    text-decoration: underline;
}

.place-card p {
    margin: 2px 0;
    font-size: 11px;
    color: #555;
    font-family: Verdana, Geneva, sans-serif;
    flex-grow: 1; /* pushes footer evenly */
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .places-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .places-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .places-container {
        grid-template-columns: 1fr;
    }
}

.article{
    text-align: justify;
}

/* ============================================
   GENERAL: RESPONSIVE MEDIA QUERIES
   ============================================ */
/* ⚠️ GENERAL STYLES: These media queries affect general page layout */
/* Navigation, footer, header, and other common elements */

/* Tablet and smaller desktop screens (max-width: 992px) */
/* Adjusts layout for tablets and smaller screens */
@media (max-width: 992px) {
    /* Mobile hamburger menu button - show on smaller screens */
    .hamburger {
        display: block;  /* Makes hamburger menu visible */
    }
    
    /* Navigation menu - hidden by default, shown when active class is added */
    .menu_nav {
        display: none;                    /* Hidden by default */
        position: absolute;               /* Positioned absolutely for overlay effect */
        top: 56px;                        /* Positioned below header */
        left: 0;                          /* Aligned to left edge */
        width: 100%;                      /* Full width overlay */
        background-color: #f7faf6;       /* Light green background */
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);  /* Shadow for depth */
        z-index: 999;                     /* High z-index to appear above other content */
        opacity: 1;                       /* Fully opaque when visible */
    }
    
    /* Active state: shows menu when hamburger is clicked */
    .menu_nav.active {
        display: block;  /* Displays menu when active class is present */
    }
    
    /* Navigation list - vertical layout for mobile */
    .menu_nav ul {
        flex-direction: column;          /* Stacks menu items vertically */
        padding: 10px 0;                 /* Vertical padding */
        margin: 0;                       /* Removes default margins */
        background-color: #f7faf6;       /* Matches menu background */
    }
    
    /* Individual menu items */
    .menu_nav ul li {
        float: none;                     /* Removes float layout */
        border-right: none;               /* Removes right border */
        border-bottom: 1px solid #ebebeb;  /* Adds bottom border as separator */
        width: 100%;                     /* Full width items */
    }
    
    /* Menu links */
    .menu_nav ul li a {
        padding: 15px 20px;              /* Comfortable touch target size */
        text-align: left;                /* Left-aligned text */
        background-color: #f7faf6;       /* Matches menu background */
    }
    
    /* Logo - centered on smaller screens */
    .logo {
        max-width: 100%;                 /* Prevents logo from overflowing */
        float: none;                     /* Removes float */
        margin: 0 auto;                  /* Centers logo */
        text-align: center;              /* Centers text content */
    }
    
    /* Organization section */
    .org {
        float: none;                     /* Removes float layout */
        width: 100%;                     /* Full width */
        height: auto;                    /* Auto height to maintain aspect ratio */
        margin: 10px 0;                  /* Vertical margin */
        text-align: center;              /* Centers content */
    }
    
    /* Main content area */
    .content .mainbar {
        width: 100%;                     /* Full width */
        float: none;                     /* Removes float */
    }
    
    /* Sidebar - stacks below main content */
    .content .sidebar {
        width: 100%;                     /* Full width */
        float: none;                     /* Removes float */
        margin-top: 20px;                /* Space above sidebar */
    }
    
    /* Footer background columns - stack vertically */
    .fbg .c1 {
        padding: 0 16px 0 0;            /* Right padding only */
        width: 100%;                     /* Full width */
    }
    .fbg .c2 {
        padding: 0 16px;                 /* Horizontal padding */
        width: 100%;                     /* Full width */
    }
    .fbg .c3 {
        padding: 0 0 0 16px;             /* Left padding only */
        width: 100%;                     /* Full width */
    }
    
    /* Footer resize container */
    .fbg_resize {
        padding: 24px 20px 12px;         /* Adjusted padding for mobile */
    }
    
    /* Footer menu - centered layout */
    ul.fmenu {
        text-align: center;               /* Centers footer menu */
        width: 100%;                     /* Full width */
    }
    
    /* Footer menu items */
    ul.fmenu li {
        float: none;                     /* Removes float */
        display: inline-block;           /* Inline block for horizontal layout */
        margin: 0 2px;                   /* Small horizontal spacing */
    }
    
    /* Footer left text */
    .footer p.lf {
        float: none;                     /* Removes float */
        text-align: center;              /* Centers text */
        margin-top: 10px;                /* Space above text */
    }
    
    /* Committees section - reduced padding */
    .commitees {
        padding: 3px;                    /* Minimal padding for compact display */
    }
}

/* Mobile devices (max-width: 768px) */
/* Optimizes layout for mobile phones and small tablets */
@media (max-width: 768px) {
    /* Hide header image on mobile to save space */
    .header-img {
        display: none;  /* Completely hides header image */
    }
    
    /* Header container - removes padding for edge-to-edge design */
    .header_resize {
        padding: 0;  /* No padding for full-width header */
    }
    
    /* Main heading - responsive font size using clamp() */
    /* clamp(min, preferred, max) - scales between 24px and 40px based on viewport */
    h1 {
        font-size: clamp(24px, 8vw, 40px);  /* Responsive: 24px min, 8% of viewport width, 40px max */
    }
    
    /* Subheading - smaller responsive font size */
    h1 small {
        font-size: clamp(12px, 4vw, 16px);  /* Responsive: 12px min, 4% of viewport width, 16px max */
    }
    
    /* Content container - reduced padding for mobile */
    .content_resize {
        padding: 20px 10px;  /* Less padding on mobile */
    }
    
    /* Article content - adjusted padding */
    .content .mainbar .article {
        padding: 8px 15px 8px 20px;  /* Compact padding for articles */
    }
    
    /* Sidebar gadgets - reduced padding */
    .content .sidebar .gadget {
        padding: 8px 15px;  /* Minimal padding for sidebar items */
    }
    
    /* Committees section - even more compact */
    .commitees {
        padding: 2px;  /* Very minimal padding */
    }
}

/* Small mobile devices (max-width: 600px) */
/* Further optimizations for very small screens */
@media (max-width: 600px) {
    /* Header - small horizontal padding */
    .header_resize {
        padding: 0 10px;  /* Small side padding only */
    }
    
    /* Organization section - compact padding */
    .org {
        padding: 10px;     /* Uniform padding */
        margin: 0;         /* Removes default margins */
    }
    
    /* Footer background - adjusted padding */
    .fbg_resize {
        padding: 20px 10px 10px;  /* Top padding, minimal bottom */
    }
    
    /* Committees - minimal padding */
    .commitees {
        padding: 1px;  /* Absolute minimum padding */
    }
    
    /* Form inputs - prevent overflow */
    ol li input.text, ol li textarea {
        max-width: 100%;  /* Prevents form fields from overflowing container */
    }
    
    /* Search input - fixed width for small screens */
    #formsearch input.editbox_search {
        width: 120px;  /* Compact search box width */
    }
}

/* ============================================
   GENERAL: RESPONSIVE HEADER IMAGE
   ============================================ */
/* ⚠️ GENERAL STYLE: Alternative to hiding header image - makes it responsive instead */
/* This class allows the header image to scale down gracefully on smaller screens */
/* Can be used on any page with a header image */
.responsive-header-img {
    max-width: 100%;        /* Never wider than container */
    height: auto;           /* Maintains aspect ratio */
    display: block;         /* Block-level element */
    width: 100%;           /* Full width of container */
    object-fit: cover;      /* Crops image to fill area while maintaining aspect ratio */
    max-height: 300px;      /* Limits height on larger screens to prevent oversized images */
}

/* Mobile optimization for responsive header image (max-width: 768px) */
/* Instead of hiding the image, this makes it appropriately sized for mobile */
@media (max-width: 768px) {
    /* Reduced height for mobile devices */
    .responsive-header-img {
        max-height: 180px;  /* Smaller height on mobile to save vertical space */
    }
    
    /* Note: The following styles duplicate the earlier 768px media query */
    /* They're kept here for consistency if this responsive image approach is used */
    .header_resize {
        padding: 0;
    }
    h1 {
        font-size: clamp(24px, 8vw, 40px);
    }
    h1 small {
        font-size: clamp(12px, 4vw, 16px);
    }
    .content_resize {
        padding: 20px 10px;
    }
    .content .mainbar .article {
        padding: 8px 15px 8px 20px;
    }
    .content .sidebar .gadget {
        padding: 8px 15px;
    }
    .commitees {
        padding: 2px;
    }
}

/* Very small screens (max-width: 480px) */
/* Additional optimization for extra small mobile devices */
@media (max-width: 480px) {
    /* Even smaller header image for very small screens */
    .responsive-header-img {
        max-height: 150px;  /* Minimal height to maximize content space */
    }
}

/* ============================================
   GENERAL: HORIZONTAL SCROLLING FIX
   ============================================ */
/* ⚠️ GENERAL STYLE: Prevents unwanted horizontal scrolling on mobile devices */
/* This is a common issue when elements exceed viewport width */
/* Applies to all pages to prevent horizontal scroll issues */
@media (max-width: 768px) {
    /* Root elements - prevent horizontal overflow */
    body, html, .main {
        width: 100%;              /* Constrains to viewport width */
        overflow-x: hidden;       /* Hides any horizontal overflow */
        position: relative;       /* Establishes positioning context */
    }
    
    /* Main layout sections - prevent overflow */
    .header, .content, .fbg, .footer {
        width: 100%;              /* Full width but constrained */
        overflow-x: hidden;       /* Hides horizontal scrollbar */
    }
    
    /* Resize containers - ensure they don't exceed viewport */
    .header_resize, .content_resize, .fbg_resize, .footer_resize {
        width: 100%;              /* Full width */
        max-width: 100%;          /* Never exceeds 100% */
        padding-left: 10px;       /* Small left padding */
        padding-right: 10px;      /* Small right padding */
    }
    
    /* Menu links - handle long text gracefully */
    .menu_nav ul li a {
        white-space: nowrap;      /* Prevents text wrapping */
        overflow: hidden;         /* Hides overflowing text */
        text-overflow: ellipsis;  /* Shows "..." for truncated text */
    }
}


/* Conference Schedule Styles - Programmes */
    .conference-schedule {
        max-width: 100%;
        margin: 0 auto;
        background-color: white;
        border-radius: 8px;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
        overflow: hidden;
        margin-bottom: 20px;
        border: 1px solid #ddd;
    }

    .schedule-header {
        background: linear-gradient(135deg, #0c3b2e 0%, #1a5c48 100%);
        color: white;
        padding: 15px;
        text-align: center;
    }

    .schedule-header h1 {
        font-size: 1.4rem;
        margin-bottom: 8px;
        font-weight: 700;
        font-family: Verdana, Geneva, sans-serif;
    }

    .venue {
        font-size: 0.95rem;
        opacity: 0.9;
        margin-bottom: 10px;
        font-family: Verdana, Geneva, sans-serif;
        font-weight: 600;
    }

    .dates {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 10px;
    }

    .date-badge {
        background-color: rgba(255, 255, 255, 0.15);
        padding: 4px 12px;
        border-radius: 30px;
        /* font-weight: 600;
        font-size: 0.8rem; */
        font-family: Verdana, Geneva, sans-serif;
    }

    .schedule-content {
        padding: 15px;
    }

    .day-schedule {
        margin-bottom: 20px;
        border-radius: 6px;
        overflow: hidden;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.03);
        border: 1px solid #e0e0e0;
    }

    .day-header {
        background-color: #1a5c48;
        color: white;
        padding: 10px 15px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .day-title {
        font-size: 1.rem;
        font-weight: 600;
        font-family: Verdana, Geneva, sans-serif;
    }

    .day-date {
        font-size: 0.8rem;
        opacity: 0.9;
        font-family: Verdana, Geneva, sans-serif;
    }

    .schedule-table {
        width: 100%;
        border-collapse: collapse;
        font-family: Verdana, Geneva, sans-serif;
    }

    .schedule-table th {
        background-color: #f1f8f5;
        padding: 10px 8px;
        text-align: center;
        font-weight: 600;
        color: #1a5c48;
        border-bottom: 1px solid #d1e7dd;
        font-size: 0.8rem;
    }

    .schedule-table td {
        padding: 8px 4px;
        text-align: center;
        border-bottom: 1px solid #e9ecef;
        vertical-align: middle;
        font-size: 0.8rem;
    }

    .time-slot {
        font-weight: 600;
        color: #1a5c48;
        background-color: #f8f9fa;
        width: 25%;
        font-size: 0.8rem;
    }

    .event {
        font-weight: normal;
        color: #333;
        width: 75%;
        font-size: 0.8rem;
    }

    .event-highlight {
        background-color: #e7f5ef;
        border-left: 3px solid #1a5c48;
    }

    .note {
        margin-top: 15px;
        padding: 10px 15px;
        background-color: #fff9e6;
        border-left: 3px solid #ffc107;
        border-radius: 0 6px 6px 0;
        font-style: italic;
        font-size: 0.8rem;
        font-family: Verdana, Geneva, sans-serif;
    }

    .plenary {
        background-color: #e7f5ef;
    }

    .social {
        background-color: #fff0e6;
    }

    @media (max-width: 768px) {
        .day-header {
            flex-direction: column;
            gap: 5px;
            text-align: center;
        }
        
        .schedule-table {
            display: block;
            overflow-x: auto;
        }
        
        .schedule-table th, 
        .schedule-table td {
            padding: 8px 6px;
            font-size: 0.85rem;
        }
        
        .schedule-header h1 {
            font-size: 1.2rem;
        }
        
        .dates {
            flex-direction: column;
            align-items: center;
        }
        
        .day-title {
            font-size: 1rem;
        }
        
        .time-slot {
            width: 30%;
        }
        
        .event {
            width: 70%;
        }
    }

    @media (max-width: 480px) {
        .schedule-content {
            padding: 10px;
        }
        
        .schedule-header {
            padding: 12px 10px;
        }
        
        .day-title {
            font-size: 0.95rem;
        }
        
        .time-slot {
            width: 35%;
        }
        
        .event {
            width: 65%;
        }
    }