/* main.css */

/* Color system for the 5th NLP Symposium site, mixed from the banner (deep green + gold)
 * and the flyer (navy blue + teal + purple + gold) artwork so the whole site reads as one
 * family with those assets. Defined as CSS custom properties so they're easy to swap later
 * if the official Isra University Department of Computer Science brand colors differ.
 *
 *   --navy    #14235e   Primary heading/brand color (from flyer "ISRA UNIVERSITY" wordmark)
 *   --teal    #0f9488   Speakers / expert-talk accent (flyer's "Industry Expert Talks" box)
 *   --purple  #6a2f8f   Panel discussion accent (flyer's "Panel Discussions" box)
 *   --blue    #1c4fa0   General info accent (flyer's "Innovation & Networking" box)
 *   --gold    #c9a227   Links, hover states, highlights (shared accent in banner + flyer)
 *   --green   #1b5e3f   Deep green from the banner artwork, used sparingly for depth
 *
 *   '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
 */

:root {
    --navy: #14235e;
    --teal: #0f9488;
    --purple: #6a2f8f;
    --blue: #1c4fa0;
    --gold: #c9a227;
    --green: #1b5e3f;
}

@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: var(--gold); text-decoration:none;}
a.current{color: var(--navy);}
a.current:hover{color: var(--gold);}
a:hover{color: var(--teal);}
a:active{color: var(--gold);}
h1,h2,h3,h4{clear:left; color: var(--navy); 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:var(--gold);}
ul{list-style:none; margin:24px auto 24px auto; padding:0px; width:800px; text-align:left;}
ul li{list-style:none; margin:0px auto 8px auto; padding:0px 0px 0px 20px; text-align:left; position:relative;}
ul li::before{content:"\25AA"; color:var(--gold); position:absolute; left:0;}
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 */
/* The banner image now has the symposium title, date and university branding baked
 * into the artwork itself, so it's displayed on its own (no text overlay). The image
 * scales to the full 1000px content width, whatever its native resolution is. */
.banner {position: relative; font-family:'Roboto Slab',serif; line-height: 0;}
.banner img {width: 100%; height: auto; display: block;}

/* Unused now that the banner is a single branded image, but kept here in case you
 * revert to a plain photo + text-overlay banner (add back the .top-left/.bottom-right
 * <div>s in the HTML to use these again). */
.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 (used only by the .top-left text overlay above) */
.title1{color: var(--gold); text-shadow: 1px 1px 3px #c0c0c0;}
.title2{color: var(--navy); 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.4em; white-space:nowrap; text-align:center; vertical-align:middle; padding:0px 6px 0px 6px;}

/* "Pill" section headings, styled after the flyer's rounded colored bars, so key sections
 * (Speakers, Panelists, Program items) read as clearly branded blocks rather than plain
 * text headers. Apply as a class on an h2/h3, e.g. <h2 class="section-heading teal">. */
.section-heading{
    display:inline-block;
    color:#ffffff;
    background:var(--navy);
    padding:10px 28px;
    border-radius:30px;
    font-size:1.5em;
    text-shadow:none;
    box-shadow:0 2px 6px rgba(0,0,0,0.18);
    margin:1.5em 0 0.75em 0;
}
.section-heading.teal{background:linear-gradient(90deg, var(--teal), #0b6b60);}
.section-heading.purple{background:linear-gradient(90deg, var(--purple), #4a1f66);}
.section-heading.blue{background:linear-gradient(90deg, var(--blue), var(--navy));}
.section-heading.gold{background:linear-gradient(90deg, #a9821e, var(--gold));}

/* 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: var(--navy); 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: var(--navy); 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: var(--navy); 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;}

/* Panel discussion gets its own accent (purple, matching the flyer's panel-discussion box) */
table.panel td.title-special{color: var(--purple);}

/* Expert talks get a teal accent (matching the flyer's "Industry Expert Talks" box) */
table.expert-talk td.title{color: var(--teal);}

/* 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 button (e.g. "Register Now" linking to the Google Form) */
a.cta-button{
    display:inline-block;
    background:linear-gradient(90deg, var(--gold), #a9821e);
    color:#ffffff;
    font-weight:bold;
    text-decoration:none;
    padding:14px 36px;
    border-radius:30px;
    font-size:1.25em;
    margin:1em 0 2em 0;
    box-shadow:0 2px 6px rgba(0,0,0,0.2);
}
a.cta-button:hover{background:linear-gradient(90deg, #a9821e, var(--gold)); color:#ffffff;}

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

/* Speaker Cards (Speakers page) — every card is the same fixed size regardless of the
 * source flyer's own aspect ratio, so the grid lines up cleanly; images are "contain"-fit
 * (never cropped or stretched) inside a shared card frame. */
.speaker-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:28px;
    width:1000px;
    margin:1em auto 2em auto;
}
.speaker-card{
    display:block;
    width:260px;
    background:#ffffff;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 2px 10px rgba(0,0,0,0.15);
    transition:transform 0.15s ease, box-shadow 0.15s ease;
}
a.speaker-card:hover{transform:translateY(-4px); box-shadow:0 6px 16px rgba(0,0,0,0.22);}
.speaker-card .speaker-photo{
    width:260px;
    height:340px;
    background:#0b1e42;
    display:flex;
    align-items:center;
    justify-content:center;
}
.speaker-card .speaker-photo img{max-width:100%; max-height:100%; display:block;}
.speaker-card .speaker-caption{
    padding:12px 14px;
    text-align:center;
    font-size:0.95em;
    color:var(--navy);
    font-weight:bold;
    border-top:3px solid var(--gold);
}
span.speaker-card .speaker-caption{color:#505050;}

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;}
    .section-heading{font-size:2em;}
}
