/* 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: 0px;
     padding: 0px;
     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: 10px auto;
     width: 70%;
     max-width: 1200px;
     padding: 0 10px;
 }
 
 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.67rem;
     text-align: center;
 }
 
 h2 {
     font-size: 2.00em;
     text-align: center;
 }
 
 h3 {
     font-size: 1.67em;
 }
 
 h4 {
     font-size: 1em;
 }
 
 p {
     list-style: none;
     margin: 24px auto;
     padding: 0px;
     width: 100%;
     max-width: 900px;
     text-align: left;
 }
 
 li a, p a {
     text-decoration: underline;
     text-decoration-color: #b8860b;
 }
 
 ul {
     list-style: none;
     margin: 24px auto;
     padding: 0px;
     width: 100%;
     max-width: 800px;
     text-align: left;
 }
 
 ul li {
     list-style: none;
     margin: 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: 100%;
     padding-bottom: 1.5em;
     table-layout: fixed;
     border-spacing: 0;
 }
 
 td {
     padding: 8px;
     text-align: left;
 }
 
 .table1 {
     display: flex;
     flex-direction: column;
     text-align: center;
 }
 
 .table1-row {
     display: flex;
 }
 
 .table1-col {
     flex: 1;
     padding: 5px 0;
 }
 
 /* Website Banner */
 .banner {
     color: darkblue;
     position: relative;
     font-family: 'Roboto Slab', serif;
 }
 
 .bannerImg {
     display: block;
     position: relative;
     width: 100%;
     height: 50vh;
     object-fit: cover;
     border-radius: 7px;
     opacity: 0.4;
 }
 
 .top-left {
     font-size: 4em;
     color: darkblue;
     text-align: center;
     /* width: 100%; */
     height: auto;
     position: absolute;
     padding: 18px 8px;
     top: 0px;
 }
 
 .bottom-right {
     font-size: 1.7em;
     color: #b2132e;
     line-height: 1.5em;
     width: 100%;
     height: 80px;
     padding: 0px 17px 4% 0px;
     text-align: right;
     position: absolute;
     bottom: 0px;
     right: 0px;
 }
 
 #countdown {
     text-align: right;
     font-size: 1em;
     margin-bottom: 0.5em;
 }
 
 /* Conference Title Logo */
 .title1 {
     color: darkblue;
     text-shadow: 1px 1px 4px #c0c0c0;
     font-size: 2.7rem;
 }
 
 .title2 {
     display: flex;
     flex-wrap: wrap;
     color: darkblue;
     text-shadow: 1px 1px 3px #c0c0c0;
     font-size: 1.8rem;
 }
 
 .year {
     color: #505050;
     font-size: 0.67em;
     font-weight: lighter;
 }
 
 /* Navigation Links (Home, Registration, etc) */
 table.navigation {
     display: flex;
     flex-wrap: wrap;
     background-color: #333;
     justify-content: space-around;
 }
 
 td.navigation {
     font-size: 1.7em;
     padding: 10px;
 }
 
 @media only screen and (max-width: 768px) {
     table.navigation {
         flex-direction: column;
     }
     td.navigation {
         font-size: 1.2em;
         text-align: center;
         width: 100%;
         padding: 12px 0;
     }
 }
 
 /* Sponsor Images */
 td.sponsor {
     white-space: nowrap;
     width: 33%;
     text-align: center;
     vertical-align: middle;
     padding: 0;
 }
 
 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;
 }
 
 td.abstract {
     padding: 4px 12px 12px 4px;
     font-size: 1em;
 }
 
 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: 0;
 }
 
 td.sponsor img {
     width: 100%;
 }
 
 /* Keynotes styles */
 .container {
     display: flex;
     align-items: center;
     padding: 0px;
     height: fit-content;
 }
 
 .author-info {
     flex: 1;
     padding-right: 20px;
 }
 
 .author-info h1 {
     margin-top: 0;
     margin-bottom: 5px;
 }
 
 .author-info p {
     margin-top: 0;
 }
 
 .author-image {
     flex: 1;
     text-align: right;
 }
 
 .author-image img {
     width: 14em;
     height: 15em;
 }
 
 /* Paper Submission Style */
 form {
     max-width: 500px;
     margin: 0 auto;
 }
 
 input[type="text"],
 input[type="email"],
 textarea {
     width: 100%;
     padding: 10px;
     margin-bottom: 10px;
     border: 1px solid #ccc;
     border-radius: 4px;
     box-sizing: border-box;
 }
 
 input[type="submit"] {
     background-color: #d4a732;
     color: white;
     padding: 10px 20px;
     border: none;
     border-radius: 4px;
     cursor: pointer;
 }
 
 input[type="submit"]:hover {
     background-color: #b8860b;
 }
 
 footer {
     font-size: 1em;
     margin-top: 10em;
     margin-bottom: 2em;
     text-align: center;
 }
 
 /* Responsive Design */
 @media only screen and (max-width: 768px) {
     h1 {
         font-size: 2.2rem;
     }
     h2 {
         font-size: 1.6rem;
     }
     h3 {
         font-size: 1.5rem;
     }
     h4 {
         font-size: 1.2rem;
     }
     body {
         font-size: 0.95em;
     }
     p {
         font-size: 1.2em;
     }
     table {
         width: 100%;
     }
     td.date,
     td.room,
     td.title,
     td.speaker {
         font-size: 1em;
     }
     td.navigation {
         font-size: 1.2em;
         text-align: center;
         width: 100%;
         padding: 12px 0;
     }
     footer {
         font-size: 0.9em;
     }
 }
  
 /* 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.3em;
        line-height: 1.5em;
    }
    td.date {
        font-size: 1em;
        padding-top: 0.5em;
    }
    td.navigation {
        font-size: 1.7em;
        padding: 0px 10px;
    }
    table.footer {
        font-size: 0.33em;
    }
}
