/* main.css */

/* These are the colors and fonts used throughout the webpage.
 * I've listed them here so that a user may easily
 * do a search-and-replace for these to change the site theme.
 *   'Roboto',sans-serif; Font for the title text
 *   'Roboto-Slab',serif; Font for the body text 
 *   #fafafa; Background color of the site
 *   #505050; Foreground (text) color of the site
 *   #52739e; Navy, "Template" in the logo, current page in navigation, special titles in the Program
 *   #b2132e; Reddish, "Conference" in the logo, hover color for links
 *   #813c54; Heading color, titles in the Program
 *   #b8860b; Dark Goldenrod, color for links
 */

@import url('https://fonts.googleapis.com/css?family=Roboto%7CRoboto+Slab');

*{
    border:0;
    font:inherit;
    font-size:1em;
    margin:0;
    padding:0;
    vertical-align:baseline;
}

body{
    background-color: #fafafa;
    background-size: cover;
    background-attachment: fixed;
    color: #505050; 
    text-align:left;
    font-family:'Roboto',sans-serif;
    font-size:1em;
    line-height:1.5em;
    margin: 60px auto;
    width: 1000px;
}

/* Styles for the logo placed above the banner */
.header-logo-container {
    width: 100%;
    text-align: center; /* Horizontally center the logo */
}

.header-logo {
    max-width: 100%; /* Ensures the logo never exceeds the banner width */
    height: auto; /* Maintains the logo's aspect ratio */
}

a{color: #b8860b; text-decoration:none;}
a.current{color: #52739e;}
a.current:hover{color: #e82945;}
a:hover{color: #b2132e;}
a:active{color: #e82945;}
h1,h2,h3,h4{clear:left; color: #813c54; margin:1.5em 0em 1em 0em; font-family:'Roboto Slab',serif; text-shadow: 1px 1px 2px #d0d0d0;}
h1{font-size:2.67em;}
h2{font-size:2.00em;}
h3{font-size:1.67em;}
h4{font-size:1.33em;}
p{list-style:none; margin:0 auto 24px auto; padding:0px; width:900px; text-align:left;}
li a, p a {text-decoration:underline; text-decoration-color:#b8860b;}
ul{list-style:none; margin:24px auto 24px auto; padding:0px; width:800px; text-align:left;}
ul li{list-style:none; margin:0px auto 0px auto; padding:0px; text-align:left;}
i,em{font-style:italic;}
b,strong{font-weight:bold;}
sup{
    vertical-align: super;
    font-size: 0.8em;
    line-height: 0;
}
sub{
    vertical-align: sub;
    font-size: 0.8em;
    line-height: 0;
}
table{
    width: 1000px;
    margin: 12px auto 24px auto;
    float: center;
    /* UNCOMMENT THIS FOR DEBUGGING THE ALIGNMENT */
    /*border: 1px solid black;*/
}

/* Ensure the banner itself allows for relative positioning of its children */
.banner {
    position: relative; /* Essential for positioning content inside it */
    width: 100%;
    height: 250px; /* Adjust height as needed to fit content + image */
    overflow: hidden; /* Ensures content doesn't spill out */
}

/* Style for the banner background image */
.banner img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures the image covers the banner area without distortion */
    position: absolute; /* Allows text to overlay it */
    top: 0;
    left: 0;
    z-index: 1; /* Puts the image behind text */
}

/* Styling for the logo within the banner */
.banner-logo {
    height: 70px; /* Adjust this value to control the logo's size */
    width: auto; /* Maintain aspect ratio */
    position: absolute;
    top: 20px; /* Distance from the top of the banner */
    left: 20px; /* Distance from the left of the banner */
    z-index: 2; /* Puts the logo in front of the banner image */
}

/* Styling for the main YMMOR 2026 title */
.top-left {
    position: absolute;
    top: 20px; /* Aligns with the logo's top */
    left: 100px; /* Adjust to move title next to logo, or further right */
    padding: 10px;
    color: white; /* Make text visible on banner image */
    font-size: 3em; /* Adjust font size as needed */
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* Adds readability */
    z-index: 2;
    display: flex; /* Use flexbox to align logo and title horizontally */
    align-items: center; /* Vertically center items in top-left */
}

/* Specific styling for the YMMOR part of the title */
.top-left .title1 {
    font-size: 1.2em; /* Makes YMMOR larger than 2026 if desired */
    margin-right: 10px; /* Space between logo and text */
}

/* Styling for the year part of the title */
.top-left .year {
    font-size: 1em; /* Adjust size relative to title1 */
    margin-left: 5px; /* Space between YMMOR and 2026 */
}

/* Styling for the "Young Mathematicians in Model Order Reduction" subtitle */
.subtitle {
    position: absolute; /* Position relative to the banner */
    top: 100px; /* Adjust to position below YMMOR 2026 */
    left: 100px; /* Align with the main title */
    color: white;
    font-size: 1.5em; /* Adjust font size */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    z-index: 2;
    width: fit-content; /* Helps prevent text wrapping unexpectedly */
}

/* Styling for the bottom-right date/location text */
.bottom-right {
    position: absolute;
    bottom: 20px;
    right: 20px;
    padding: 10px;
    color: white;
    font-size: 1.2em;
    text-align: right;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    z-index: 2;
}

/* Remove or comment out any old .header-logo-container or .header-logo styles you previously added */
/* as they are no longer needed with this approach. */

/* You might want to remove or adjust the previous .title-logo CSS if it's still there */
/* If you want to keep the "YMMOR 2026" text from the banner and just have the logo above it, */
/* you can keep the .top-left and .bottom-right styles for the banner text. */

/* CSS for the Important Dates Section */
        .dates-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 20px;
            padding: 10px 0;
        }

        .date-card {
            flex-basis: 400px; /* Base width for each card */
            flex-grow: 1;
            max-width: 450px; /* Max width to prevent stretching too much */
            padding: 25px;
            border-radius: 8px;
            color: #fafafa;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            transition: transform 0.2s;
        }

        .date-card:hover {
            transform: translateY(-5px); /* Add a little hover effect */
        }

        /* Using colors from your main.css file */
        .date-card.color1 { background-color: #813c54; } /* Heading color */
        .date-card.color2 { background-color: #52739e; } /* Navy */
        .date-card.color3 { background-color: #b2132e; } /* Reddish */
        .date-card.color4 { background-color: #b8860b; } /* Dark Goldenrod */
        .date-card.color5 { background-color: #505050; } /* Foreground color */


        .date-card h4 {
            color: #fafafa;
            margin: 0 0 10px 0;
            font-size: 1.25em;
            text-shadow: none; /* Remove shadow for readability on dark background */
        }

        .date-card .date-prominent {
            font-family: 'Roboto Slab', serif;
            font-size: 2.2em;
            font-weight: bold;
            line-height: 1.2;
            margin-bottom: 10px;
            color: #ffffff;
        }

        /* Overriding the default paragraph styling from main.css */
        .date-card p {
            width: auto;
            margin: 0;
            padding: 0;
            font-size: 1em;
            line-height: 1.4;
            color: #f0f0f0;
        }


 /* CSS for the new Directions Layout */
        .directions-section-container {
            display: flex;
            flex-wrap: wrap;
            gap: 30px;
            background-color: #ffffff;
            padding: 20px;
            border-radius: 8px;
            border: 1px solid #e0e0e0;
        }
        .directions-info {
            flex: 1;
            min-width: 280px;
        }
        .directions-map-container {
            flex: 2;
            min-width: 300px;
            min-height: 350px;
        }
        .directions-map {
            width: 100%;
            height: 100%;
            border: 0;
            border-radius: 8px;
        }
        .directions-info h3 {
            margin-top: 0;
            font-size: 1.8em;
            color: #505050;
            text-shadow: none;
        }
        .info-item {
            display: flex;
            align-items: flex-start;
            gap: 15px;
            margin-bottom: 1em;
            font-size: 1.1em;
        }
        .info-item svg {
            width: 24px;
            height: 24px;
            fill: #505050;
            margin-top: 3px;
            flex-shrink: 0;
        }
        .get-directions-btn {
            display: inline-block;
            background-color: #52739e; /* Navy color from theme */
            color: #ffffff;
            padding: 12px 25px;
            border-radius: 5px;
            font-weight: bold;
            text-decoration: none;
            margin-top: 1em;
            transition: background-color 0.3s;
        }
        .get-directions-btn:hover {
            background-color: #3b5374;
            color: #ffffff;
        }

        /* CSS for the new Directions Layout */
        .directions-section-container {
            display: flex;
            flex-wrap: wrap;
            gap: 30px;
            background-color: #ffffff;
            padding: 20px;
            border-radius: 8px;
            border: 1px solid #e0e0e0;
        }
        .directions-info {
            flex: 1;
            min-width: 280px;
        }
        .directions-map-container {
            flex: 2;
            min-width: 300px;
            min-height: 350px;
        }
        .directions-map {
            width: 100%;
            height: 100%;
            border: 0;
            border-radius: 8px;
        }
        .directions-info h3 {
            margin-top: 0;
            font-size: 1.8em;
            color: #505050;
            text-shadow: none;
        }
        .info-item {
            display: flex;
            align-items: flex-start;
            gap: 15px;
            margin-bottom: 1em;
            font-size: 1.1em;
        }
        .info-item svg {
            width: 24px;
            height: 24px;
            fill: #505050;
            margin-top: 3px;
            flex-shrink: 0;
        }
        .get-directions-btn {
            display: inline-block;
            background-color: #52739e; /* Navy color from theme */
            color: #ffffff;
            padding: 12px 25px;
            border-radius: 5px;
            font-weight: bold;
            text-decoration: none;
            margin-top: 1em;
            transition: background-color 0.3s;
        }
        .get-directions-btn:hover {
            background-color: #3b5374;
            color: #ffffff;
        }




/* Adjust banner image width */
.banner img {
    width: 100%;      /* Makes the image fill the banner width */
    height: auto;     /* Maintains aspect ratio */
    display: block;   /* Removes inline gap */
    max-width: 1000px; /* Optional: limit to banner width */
    margin: 0 auto;   /* Center the image if smaller than banner */
}
th,td{
    text-align: left;
    /* UNCOMMENT THIS FOR DEBUGGING THE ALIGNMENT */
    /*border: 1px solid black;*/
}

/* Website Banner */
.banner {position: relative; font-family:'Roboto Slab',serif;}
.top-left {font-size:5.33em; color: #505050; background: #fafafa; text-align: center; width: 1000px; height: 67px; position: absolute; padding: 36px 0 0 0; top: 0px;}
.bottom-right {font-size:2.33em; color: #fafafa; line-height: 1.5em; width: auto; height: 100px; padding: 0px 27px 27px 0px; text-align: right; position: absolute; bottom: 0px; right: 0px; text-shadow: 0px 0px 6px #000000;}

/* Conference Title Logo */
.title1{color: #b2132e; text-shadow: 1px 1px 3px #c0c0c0;} 
.title2{color: #52739e; text-shadow: 1px 1px 3px #c0c0c0;}
.year{color: #505050; font-size:0.67em; font-weight: lighter;}

/* Navigation Links (Home, Registration, etc) */
table.navigation{width:800px;}
td.navigation{font-size:1.67em; white-space:nowrap; width:20%; text-align:center; vertical-align:middle; padding:0px 0px 0px 0px;}

/* Sponsor Images */
table.sponsors{width:800px;}
td.sponsor{white-space:nowrap; width:33%; text-align:center; vertical-align:middle; padding:0px 0px 0px 0px;}
td.sponsor img{width: 100%}

/* The Table on the Program Page */
td.room{padding: 4px 12px 4px 4px; width: 90%; vertical-align:bottom; font-size:1.67em; color: #52739e; height:32px;}
td.date{white-space:nowrap; width:130px; text-align:right; vertical-align:top; padding:4px 16px 0px 0px;}
td.title{padding: 4px 12px 4px 4px; width: 90%; vertical-align:top; font-size:1.5em; color: #813c54; height:32px; font-family:'Roboto Slab',serif; text-shadow: 1px 1px 2px #d0d0d0; }
td.title-special{padding: 4px 12px 4px 4px; width: 90%; vertical-align:top; font-size:1.67em; color: #52739e; height:32px; font-family:'Roboto Slab',serif; text-shadow: 1px 1px 2px #d0d0d0;}
td.speaker{padding: 4px 12px 4px 4px; font-style: italic; font-size:1em; max-height:999999px}
td.abstract{padding: 4px 12px 12px 4px; font-size:1em; max-height:999999px}
td.abstract img{display: block; margin: 4px auto 8px auto}
table.plenary{padding-top: 8px; background: #ffffff;}

/* Registration and Directions iframes and Images */
iframe.registration{display:block; margin:1em auto 2em auto; width:700px; height:1400px; border:none;}
iframe.directions{display:block; margin:1em auto 2em auto; width:800px; height:400px; border:none;}
img.center{display:block; width:67%; margin:1em auto 2em auto;}

/* Flyer Images */
table.flyers{width:800px;}
td.flyer{white-space:nowrap; width:50%; text-align:center; vertical-align:middle; padding:0px 0px 0px 0px;}
td.sponsor img{width: 100%}

footer{font-size:0.875em; margin-top:12em; text-align:center;}

/* My hacky way of making the site mobile-friendly */
@media only screen and (max-width: 1100px) {
    h2{font-size:3.00em;}
    p{font-size:1.5em; line-height:1.5em;}
    th,td,tr{font-size:1.5em; line-height:1.5em;}
    td.date{font-size:1em; padding-top:0.5em;}
    td.navigation{font-size:1.5em; padding:0px 20px 0px 20px;}
    table.footer{font-size:0.33em;}
}