/* About "vertical rythm": */
/* http://webtypography.net/2.2.2 */
/* http://joshnh.com/2011/08/03/how-to-set-up-a-baseline-grid/ */
/* https://drewish.com/tools/vertical-rhythm/ */
/* About fonts: */
/* http://cssfontstack.com */
/* Import partials from `sass_dir` (defaults to `_sass`) */
/* Reset some basic elements */
/* http://www.cssreset.com */
body, p, blockquote, pre, ul, ol, dl, dd, figure { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 200; line-height: 18px; margin: 9px 0; padding: 0; }

h1 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 24px; font-weight: normal; line-height: 24px; margin: 12px 0; padding: 0; margin-top: 18px; }

h2 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-weight: normal; line-height: 18px; margin: 9px 0; padding: 0; margin-top: 18px; }

h3, h4, h5, h6 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: bold; line-height: 18px; margin: 9px 0; padding: 0; }
h3 a, h4 a, h5 a, h6 a { font-weight: bold; }

pre, code { font-family: "Lucida Console", "Lucida Sans Typewriter", Monaco, "Bitstream Vera Sans Mono", monospace; font-size: 12px; font-weight: normal; line-height: 18px; margin: 9px 0; padding: 0; }

.page-content, .header-content, .footer-content { margin: 0 5%; }

/* About footer at bottom of page: */
/* http://www.cssreset.com/how-to-keep-footer-at-bottom-of-page-with-css/ */
/* http://matthewjamestaylor.com/blog/keeping-footers-at-the-bottom-of-the-page */
html, body { height: 100%; margin: 0; padding: 0; }

.page-container { min-height: 100%; position: relative; }

.page-content { padding-bottom: 71px; }

.site-footer { position: absolute; bottom: 0; width: 100%; height: 47px; }

.page-content { max-width: 50em; }

hr.content-divisor { width: 100%; margin: 0; border: 0; color: #0363D6; background-color: #0363D6; height: 5px; }

/* Colors */
body { background-color: #e4f0ff; color: black; }

.page-container { background-color: #fdfdfd; }

.site-header, .site-footer { background-color: #e4f0ff; }

h1, h2 { color: #024ca4; }

a { color: #0363D6; text-decoration: none; font-weight: normal; }
a:visited { color: #024ca4; }
a:hover, a:focus { color: black; text-decoration: underline; }

/* Lists */
ul, ol { margin-left: 24px; }

li > ul, li > ol { margin-top: 0; }

dt { font-weight: bold; float: left; margin-right: 1ex; }

dt:after { content: ":"; }

/* Tables */
table { border-collapse: collapse; }
table th { padding: 0px 16px; }
table td { padding: 4px; }
table td, table th { border: 2px solid #d5dde6; }
table th, table tr:nth-child(even) { background-color: #d5dde6; }

/* Schedule */
table.schedule { border-collapse: collapse; }
table.schedule td { border: 1px solid black; }
table.schedule .time { white-space: nowrap; }
table.schedule tr { vertical-align: top; }
table.schedule .extra { background-color: #e4f0ff; }
table.schedule .session { background-color: #eff6d6; }
table.schedule .talk, table.schedule .sessiontalk { background-color: #ffffcc; }
table.schedule p { margin: 4px; }

.session, .talkinfo { cursor: pointer; }

.sessiontitle, .sessionprefix, .talkprefix, .sessiontalkprefix { font-weight: bold; }

.talktitle, .sessiontalktitle { font-style: italic; }

.talkabstract p { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 200; line-height: 14px; margin: 7px 0; padding: 0; margin: 4px 14px; }

/* Blockquotes */
blockquote { color: #4e6683; padding-left: 24px; font-style: italic; }

/* Code formatting */
pre, code { border-radius: 5px; background-color: #d5dde6; }

code { padding: 3px 5px 1px 5px; }

pre { padding: 8px 12px; overflow-x: scroll; }
pre > code { padding-right: 0; padding-left: 0; }

/* Clearfix */
/* Sponsor logos */
.sponsorlogo { margin: 18px 36px 18px; }

/* SVG icons */
.icon > svg { display: inline-block; width: 16px; height: 16px; vertical-align: middle; }
.icon > svg path { fill: #4e6683; }

/* Site banner */
.site-banner { width: 100%; height: 75px; position: relative; overflow: hidden; }
.site-banner img { position: absolute; height: 75px; }
.site-banner .site-banner-logo { padding-left: 5%; }

/* This will resize the banner depending on the width of the window */
/* TODO: doesn't look well on WP */
@media only screen and (min-width: 1px) and (max-width: 100px) { .site-banner, .site-banner img { height: 18.75px; } }
@media only screen and (min-width: 101px) and (max-width: 200px) { .site-banner, .site-banner img { height: 25px; } }
@media only screen and (min-width: 201px) and (max-width: 300px) { .site-banner, .site-banner img { height: 31.25px; } }
@media only screen and (min-width: 301px) and (max-width: 400px) { .site-banner, .site-banner img { height: 37.5px; } }
@media only screen and (min-width: 401px) and (max-width: 500px) { .site-banner, .site-banner img { height: 43.75px; } }
@media only screen and (min-width: 501px) and (max-width: 600px) { .site-banner, .site-banner img { height: 50px; } }
@media only screen and (min-width: 601px) and (max-width: 700px) { .site-banner, .site-banner img { height: 56.25px; } }
@media only screen and (min-width: 701px) and (max-width: 800px) { .site-banner, .site-banner img { height: 62.5px; } }
@media only screen and (min-width: 801px) and (max-width: 900px) { .site-banner, .site-banner img { height: 68.75px; } }
@media only screen and (min-width: 901px) and (max-width: 1000px) { .site-banner, .site-banner img { height: 75px; } }
/* Navigation menu */
.site-navigation ul, .site-navigation li { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 24px; margin: 12px 0; padding: 0; margin: 0; }
.site-navigation .site-menu { display: inline; }
.site-navigation .site-menu > li { display: inline; list-style: none; padding-right: 18px; position: relative; top: 0; left: 0; cursor: pointer; }
.site-navigation .site-menu ul { position: absolute; top: 18px; left: 0; margin: 0; padding: 2px 5px; border-radius: 5px; border: solid 2px #0363D6; background-color: #e4f0ff; z-index: 10; }
.site-navigation .site-menu ul > li { list-style: none; white-space: nowrap; }
.site-navigation li, .site-navigation a, .site-navigation a:visited { color: #024ca4; text-decoration: none; }
.site-navigation a:hover, .site-navigation a:focus { color: black; text-decoration: underline; }

/* Site footer */
.footer-content { color: #4e6683; }
.footer-content div, .footer-content p, .footer-content ul, .footer-content ol, .footer-content li, .footer-content h3, .footer-content h4 { font-size: 12px; line-height: 12px; margin: 0; }

.horizontal-blocks-table { width: 100%; }
.horizontal-blocks-table .horizontal-blocks-list td { border: 0; vertical-align: top; padding-top: 5px; }
.horizontal-blocks-table .horizontal-blocks-list td li { display: inline-block; list-style: none; white-space: nowrap; }
.horizontal-blocks-table .horizontal-blocks-list td li img { vertical-align: top; }
.horizontal-blocks-table .horizontal-blocks-list .sponsor-block { text-align: right; width: 100%; }
.horizontal-blocks-table .horizontal-blocks-list .sponsor-block li { padding-left: 20px; padding-bottom: 20px; }
.horizontal-blocks-table .horizontal-blocks-list .social-media-block { text-align: left; padding-right: 40px; }
.horizontal-blocks-table .horizontal-blocks-list .license-block { padding-top: 18px; white-space: normal; }

/* Table of contents */
#markdown-toc { background-color: #e4f0ff; border: 1px #0363D6 solid; border-radius: 5px; margin: 0; padding: 2px 18px; }
#markdown-toc li { display: inline; list-style: none; }
#markdown-toc a { padding: 0 9px; }
#markdown-toc li ul { display: none; }
