/* 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
 *   #00629B; IEEE Blue, "Workshop" in the logo, current page in navigation, special titles in the Program
 *   #C4122F; IEEE Red, "ROS" 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;
}

a{color: #b8860b; text-decoration:none;}
a.current{color: #00629B;}
a.current:hover{color: #e82945;}
a:hover{color: #C4122F;}
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 {position: relative; font-family:'Roboto Slab',serif; width: 1000px; overflow: hidden; max-height: 180px;}
.banner img {display: block; width: 100%;}
.top-left {font-size:2.67em; color: #505050; background: #fafafa; text-align: center; width: 1000px; height: 55px; position: absolute; padding: 12px 0 0 0; top: 0px;}
.bottom-right {font-size:1.67em; color: #fafafa; line-height: 1.4em; width: auto; padding: 0px 20px 12px 0px; text-align: right; position: absolute; bottom: 0px; right: 0px; text-shadow: 0px 0px 6px #000000;}

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

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

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

/* Call to action buttons */
.cta-center{text-align:center;}
.cta-button{
    display:inline-block;
    background:#00629B;
    color:#fafafa;
    padding:0.8em 1.8em;
    border:2px solid #00629B;
    border-radius:6px;
    font-weight:bold;
    font-size:1em;
    text-decoration:none;
    letter-spacing:0.02em;
    text-transform:uppercase;
    box-shadow:0 4px 12px rgba(0, 98, 155, 0.22);
    transition:background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.highlight-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:1.2rem;
    width:900px;
    margin:1.5rem auto 2rem auto;
}

.highlight-card{
    background:#ffffff;
    border:1px solid #e3e3e3;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(80, 80, 80, 0.08);
}

.highlight-card img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
}

.highlight-card figcaption{
    padding:0.9rem 1rem 1rem 1rem;
    color:#505050;
    font-size:0.95em;
    line-height:1.4em;
}

.cta-button:hover{
    color:#fafafa;
    background:#004a75;
    border-color:#004a75;
    transform:translateY(-1px);
    box-shadow:0 8px 16px rgba(0, 74, 117, 0.28);
}

.cta-button:active{
    color:#fafafa;
    transform:translateY(0);
}

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

/* Photo album gallery */
.album-status{width:900px; margin:1rem auto 1.25rem auto; font-style:italic; color:#813c54;}
.album-grid{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem; width:900px; margin:0 auto 2rem auto;}
.album-card{background:#ffffff; border:1px solid #e3e3e3; border-radius:10px; overflow:hidden; box-shadow:0 6px 18px rgba(80, 80, 80, 0.08);}
.album-card img{display:block; width:100%; height:220px; object-fit:cover;}
.album-card figcaption{padding:0.8rem 0.9rem 1rem 0.9rem; color:#505050; font-size:0.9em; line-height:1.4em;}

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.2em; padding:0px 12px 0px 12px;}
    table.footer{font-size:0.33em;}
}
