/* 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: ##afcee0;
    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;
}

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:24px 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;*/
}
th,td{
    text-align: left;
    /* UNCOMMENT THIS FOR DEBUGGING THE ALIGNMENT */
    /*border: 1px solid black;*/
}

/* Website Banner */
.banner {
    font-family: 'Roboto Slab', serif;
}

.top-header {
    background: #afcee0;
    text-align: center;
    padding: 20px 0;
}

.title-line {
    font-size: 3em;
    color: #505050;
    margin-bottom: 10px;
}

.subtitle-line {
    font-size: 1.7em;
    color: #505050;
    margin-top: 20px;   /* Increase spacing between line 1 and 2 */
}

.image-row {
    display: flex;
    justify-content: center;   /* center the two images */
    gap: 20px;                 /* space between images */
    margin: 40px 0;            /* spacing above and below */
}

.img-left {
    max-width: 500px;
    height: 80px;
}

.img-right {
    max-width: 320px;
    height: 80px;
}

.top-left {
    font-size: 3em;
    color: #505050;
    background: #afcee0;
    text-align: center;
    width: 100%;
    padding: 20px 0;
    position: relative;   /* no absolute */
    height: auto;         /* remove fixed height */
}

.bottom-right {
    font-size: 2em;
    color: #505050;
    text-align: right;
    padding: 15px 10px;
    position: relative;   /* remove absolute */
    width: 100%;
    height: auto;
    text-shadow: none;    /* optional: remove shadow since it's not over the image */
}

.banner img {
    width: 60%;   /* adjust this value (e.g., 70%, 60%) */
    height: auto; /* keeps aspect ratio */
    display: block;
    margin: 0 auto; /* centers the image */
}

/* Conference Title Logo */
/* --- Font size variables for conference title --- */
:root {
    --title1-size: 50px;   /* scales with viewport width */
    --title2-size: 50px;
    --year-size: 60px;
}

/* Conference Title Logo */
.title1 {
    color: #b2132e;
    text-shadow: 1px 1px 3px #c0c0c0;
    font-size: var(--title1-size);
}

.title2 {
    color: #52739e;
    text-shadow: 1px 1px 3px #c0c0c0;
    font-size: var(--title2-size);
}

.year {
    color: #505050;
    font-size: var(--year-size);
    font-weight: lighter;
}

/* Optional: min/max sizes for small/large screens */
@media (max-width: 768px) {
    :root {
        --title1-size: 24px;
        --title2-size: 20px;
        --year-size: 16px;
    }
}

@media (min-width: 1400px) {
    :root {
        --title1-size: 60px;
        --title2-size: 48px;
        --year-size: 32px;
    }
}


/* 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%}

/* Organizers Section */
table.organizers {
    width: 100%;
    margin: 40px auto;
    border-collapse: collapse;
    text-align: center; /* centers default table cell content */
}


td.organizer {
    padding: 20px;
    vertical-align: top;
    width: 33%;
}

td.organizer img {
    width: 180px;
    height: 180px;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #afcee0;
    box-shadow: 0px 4px 8px rgba(0,0,0,0.2);
    display: block;
    margin: 0 auto;
    transition: transform 0.3s ease;  /* smooth zoom */
}

td.organizer a:hover img {
    transform: scale(1.05);  /* zoom in 5% on hover */
}

.img-container {
    position: relative;
    width: 180px;
    height: 180px;
    margin: 0 auto;
}

.img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #afcee0;
    box-shadow: 0px 4px 8px rgba(0,0,0,0.2);
    transition: transform 0.3s ease;
    display: block;
}

.img-container:hover img {
    transform: scale(1.05); /* zoom on hover */
}

.img-container .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.5); /* semi-transparent overlay */
    color: #fff;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    text-align: center;
}

.img-container:hover .overlay {
    opacity: 1;
    cursor: pointer;
}

td.organizer .name {
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 12px;
    color: #813c54;
    text-align: center;
}

td.organizer .affiliation {
    font-size: 1em;
    color: #505050;
    font-weight: bold;  /* Add this line */
    text-align: center; /* optional, keeps it centered under the picture */
}

/* Schedule Section */
table.schedule {
    width: 100%;
    margin: 40px auto;
    border-collapse: collapse;
    font-family: 'Roboto Slab', serif;
    text-align: left;
}

table.schedule th, table.schedule td {
    border: 1px solid #ccc;
    padding: 12px 16px;
}

table.schedule th {
    background-color: #afcee0;
    color: #333;
    font-size: 1.2em;
    text-align: center;
}

table.schedule td {
    font-size: 1em;
    color: #505050;
}

table.schedule tr:nth-child(even) {
    background-color: #f9f9f9;
}

table.schedule th:nth-child(1),
table.schedule td:nth-child(1) {
    width: 20%;  /* Time column */
}

table.schedule th:nth-child(2),
table.schedule td:nth-child(2) {
    width: 55%;  /* Session column */
}

table.schedule th:nth-child(3),
table.schedule td:nth-child(3) {
    width: 25%;  /* Speaker column */
}


/* 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;}
}

