/* vim: set ts=4 sw=4 ft=css ai et: */

html {
  height: 100%;
}
body {
  height: 100%;
}
table tbody h3 {
  margin: 0;
}
#navigation .nav-header {
  margin-top: 0 !important;
}
.sidebar-nav {
  padding: 9px 0;
}
.interview-license {
  margin-top: 3em;
}
.interview-license img, #infoblock img {
  float: left;
  margin: 0.3em 1em 0.3em 0.3em;
}
#infoblock {
  background: inherit;
}
table#s td {
  vertical-align: top;
}
table#s img {
  padding-left: 2em;
}
ul.horizontal-list {
  margin: 0;
  padding: 0;
}
ul.horizontal-list li {
  list-style-type: none;
  display: inline;
}
ul.horizontal-list li:before {
  content: " | ";
}
ul.horizontal-list li:first-child:before {
  content: none;
}
.sidebar-nav {
  margin-left: 0 !important;
}
img.s-logo {
  float: right;
  margin-left: 3em;
  margin-bottom: 4ex;
}
img.s-box-logo {
  padding: 0.1em 0.05em;
}
#s-box {
  padding: 0;
  border-top: none;
  background: #fff;
}
#s-box .nav-header {
  padding: 0 0.2em 0 0.2em !important;
  text-align: center;
  border: 1px solid #ddd;
  border-left: none;
  border-right: none;
  background-color: #eee;
}
div.s-unit {
  margin-bottom: 2em;
  padding-bottom: 2em;
  border-bottom: 1px dashed #ccc;
}
div.s-unit-last {
  border-bottom: none;
}
div.hotel {
  margin-bottom: 1.5em;
}
#refine-search {
  padding: 0;
}
ul.search-results {
  padding: 0;
  margin: 0;
}
.search-results li {
  padding-bottom: 0.1em;
  list-style: none;
  padding-bottom: 1em;
}
.search-results li.odd {
  background-color: #f9f9f9;
}
.search-results em {
  font-style: normal;
  background-color: yellow;
  font-weight: bold;
}
.search-results p {
  color: #999;
  padding: 0 0 0 3em;
  margin: 0;
}
.search-results p em {
  color: #000;
  padding: 0 0.1em;
}
.search-results .shiny-stars { color: orange; font-size: small; }
.search-results .dead-stars { color: #ccc; font-size: small; }
.search-results .search-result-kind {
  color: #999;
  text-decoration: underline;
}
a.quiet {
  color: inherit;
}
.speaker-photo {
  float: left;
  margin-right: 1em;
  margin-bottom: 0.3em;
}
q { font-style: italic; }
q:before { content: "‘"; }
q:after { content: "’"; }
.degraded-hint {
  display: none;
}
#schedule-grid,
#schedule-grid a {
    font-size: 80%;
}

#schedule-grid tr.odd  td { background-color: white; }
#schedule-grid tr.even td { background-color: #eee; }

#schedule-grid table { border-collapse: collapse; border: 1px solid #ccc; empty-cells: show; }
#schedule-grid td, #schedule-grid th { padding: 2px 4px; border: 1px solid #000; }
#schedule-grid th { background: #dddddd; color: #3399cc; border: 1px solid #000; }
#schedule-grid td p { padding: 0; margin: 0; }
#schedule-grid td.title { font-size: 120%; font-weight: bold; text-align: center; padding: 4px 2em; }

#schedule-grid .time { font-family: monospace; /*font-size: 80%;*/ text-align: right; vertical-align: top; }
#schedule-grid .hour td { border-top: 2px solid #3399cc !important; }
#schedule-grid table { border-spacing: 1px; }
#schedule-grid table td, #schedule-grid table th { margin: 0 1px 1px 0; }
#schedule-grid .empty { background: #ccc; }
#schedule-grid .room p { margin: 0px; padding: 0px; }
#schedule-grid td { border: 1px solid #ccc; }

#schedule-grid tr.separator,
#schedule-grid tr.separator td {
    border: 1px solid #000 !important;
    border-left: 1px solid white !important;
    border-right: 1px solid white !important;
}
#schedule-grid .schedule-day {
    font-size: 200%;
    font-weight: bold;
    text-align: center;
    padding: 4px 2em;
}
#schedule-grid .event-grid-detail { text-align: left; }
#schedule-grid .event-grid-detail a { font-weight: normal; font-size: 90%; font-variant: normal; }

#schedule-grid a.trackref { font-variant: small-caps; font-style: normal !important; }

.timetable {
    table-layout: auto;
    font-size: xx-small;
}

table.timetable-head {
    position: fixed;
    top: 0;
    left: 0;
    height: 2.1em;
    margin: 0;
}
table.timetable-body {
    /* We need some padding here because the head table uses fixed/absolute positioning */
    padding-top: 2.5em !important;
    margin-top: 5em !important;
}

.timetable thead {
    background-color: #2c2c2c;
}
.timetable thead th {
    background-color: #2c2c2c;
    color: #999999;
    font-weight: normal;
    text-align: center;
    padding: 0.1em;
    border-color: #444444;
    position: sticky;
    top: 0;
}
.timetable thead th a,
.timetable thead th a:visited {
    /* Don't underline links in event cells, we're already short on space */
    text-decoration: none;
    /* And use the regular text color or we can't read anything (blue text) */
    color: inherit;
}
.timetable thead th a:hover {
    /* But when hovering a link to a room in the header, paint it bla^H^H^Hwhite */
    color: #ffffff;
}

.timetable tbody td {
    vertical-align: middle;
    text-align: center;
    text-overflow: ellipsis;
    overflow: hidden;
    padding: 0.1em;
    line-height: 1.1em;
}
.timetable tbody td.tiny {
    white-space: nowrap;
    padding: 0;
    line-height: 1em;
}
.timetable tbody td a {
    /* Don't underline links in event cells, we're already short on space */
    text-decoration: none;
    /* And use the regular text color or we can't read anything (blue text) */
    color: inherit;
}

.timetable tbody th {
    text-align: right;
    padding: 0;
    height: 2em;
    min-height: 2em;
    max-height: 2em;
    font-family: monospace;
    font-weight: normal;
    line-height: 1.1em;
    background-color: #2c2c2c;
    border-color: #444444;
    position: sticky;
    left: 0;
}
.timetable tbody th.time {
  color: #999999;
}
.timetable.table-striped tbody tr:nth-child(odd) th {
  background-color: #363636;
}

<% $colormap.each do |css_class, color| %>
.<%= css_class %> { background-color: <%= color %> !important; }
<% end %>

.roomtracks .other-track {
  color: #999;
  background-color: #f9f9f9;
}

.timetable tbody td.event:hover {
    background-color: pink !important;
    font-weight: bold;
}

body.fullpage {
    /*
    override bootstrap setting a top padding on the body
    when using the fullpage layout
    */
    padding-top: 0 !important;
}

.roomtracks {
    table-layout: fixed;
}

.roomtracks td {
    line-height: 1.2em;
    vertical-align: middle;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    padding: 0.1em 0.2em;
}
.roomtracks td a {
    color: inherit;
}

.roomtracks th.building {
    width: 4%;
    text-align: right;
    padding: 0.1em;
    line-height: 1em;
    font-weight: bold;
    font-size: large;
    text-align: right;
    vertical-align: middle;
}
.roomtracks th.room {
    width: 16%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.roomtracks th.day {
    width: 7%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.roomtracks tbody th.room {
    text-align: left;
}
.roomtracks tbody th.day {
    text-align: right;
}
.roomtracks tbody th.room, .roomtracks tbody th.day {
    padding: 0.1em;
    line-height: 1em;
    font-weight: normal;
}
.roomtracks tbody th a {
    color: inherit;
}
.roomtracks tbody tr.section_start th,
.roomtracks tbody tr.section_start td {
    border-top: 2px solid #000;
}

.roomtracks tbody tr.subsection_start td,
.roomtracks tbody tr.subsection_start th.room {
    border-top: 1px solid #000;
}
.roomtracks tbody tr.subsection_end td, 
.roomtracks tbody tr.subsection_start th.room {
    border-bottom: 1px solid #000;
}

.roomtracks td.t00 {
    border-left: 1px dashed #000;
}

body.wide p {
    width: 70%;
}

img.thumb {
    padding-right: 1em;
}

th.building {
    vertical-align: middle;
    text-align: right;
    font-weight: bold;
    font-size: large;
}
tbody th.title {
    text-align: right;
    padding-right: 0.5em;
}

ul.side-box {
  display: block;
  margin-left: 0;
  list-style: none;
}
.side-box {
  float: right;
  padding-left: 0.5em;
  border-left: 1px dotted #000;
}
.schedule-track #pagetitles,
.schedule-event #pagetitles,
.schedule-room  #pagetitles {
  float: left;
}

#main p {
    line-height: 1.4;
}

.event-logo {
  float: left;
  margin-right: 1em;
  margin-bottom: 0.3em;
}
.readmore {
  padding-top: 1.5em;
  text-align: right;
}
.readmore:after  { content: " \2026"; }

#all-news .readmore {
  text-align: left;
}

#all-news li.news-item {
  border-bottom: 1px solid #ddd;
  margin-bottom: 2em;
  list-style-type: none;
}
#all-news .date {
  font-family: Lato, "DejaVu Sans", Arial, Helvetica, sans-serif;
  font-size: 125%;
  font-weight: bold;
  line-height: 1.6;
}
#all-news .date-separator {
  color: #ddd;
}
#all-news h2 {
  margin-top: 0;
}

.stands-table-index {
  font-family: monospace;
  width: 3em;
  text-align: right !important;
}
.stands-table-project {
  vertical-align: middle !important;
}
.stands-table-project a {
  color: inherit;
}
.stands-table-color-code {
  width: 1em;
  text-align: center;
  border: 1px solid #000;
}
.h-number {
  color: #999999;
  display: inline-block;
  text-indent: -10em;
  text-align: right;
}
.h-number:after {
  content: ".\00A0";
}

.license-info {
    margin-top: 26px;
	overflow:hidden;
	text-shadow:0 1px 0 #fff;
	font-size:12px;
	padding:0 0 24px 122px;
}
.license-info-logo {
	background:url(sprite.png) no-repeat;
    float: left;
    margin-top: 0.7em;
    margin-left: -110px;
}
pre.sh {
    background-color: #000;
    color: #e2e2e2;
    padding: 0.5em 1em;
    border: 1px solid #ddd;
    border-left: 1em solid #ddd;
}

.floating-image-container-left {
    float: left;
    margin: 0 1em 0.5em 0;
}
.floating-image-container-right {
    float: right;
    margin: 0 0 0.5em 1em;
}
.floating-image-container-left span,
.floating-image-container-right span {
    color: #998;
    font-size: 80%;
    font-style: italic;
    display: block;
    margin-top: 0.3em;
}
.floating-image-container-right span {
    text-align: right;
}
.floating-image-container-left span a,
.floating-image-container-right span a {
    color: inherit;
    text-decoration: none;
}

#s-quick-links a {
    padding-left: 1.2em;
}

.name-index {
    margin-bottom: 0;
    line-height: 1;
}
.name-index-items {
    margin-left: 0;
    list-style-type: none;
}
.name-index-items li:before {
    content: "\00B7\00A0";
}

@media (max-width: 767px) {
  /* breakpoint in line with bootstraps "phones to tablets" */

  #main {
    padding: 18px;
  }

  .container-fluid .row-fluid [class*="span"] {
    width: 100%;
    margin-left: 0;
  }
  .container-fluid .row-fluid [class*="span"] ul {
    margin-bottom: 0;
  }
}
