* {
  margin: 0;
  padding: 0;
}

body {
  font: 16px/1.2 sans-serif;
}

ul {
  list-style: none;
}

.clearfix:after {
  content: "."; 
  visibility: hidden; 
  display: block; 
  height: 0; 
  clear: both;
}

a {
  text-decoration: none;
  color: #008;
}

/* page header */

#title {
  font-size: 1.5em;
  padding: 0.5em 0 0 1em;
  font-weight: bold;
  display: block;
}

#byline {
  font-size: 0.9em;
  padding: 0.1em 0 0 3em;
  font-weight: normal;
  font-style: italic;
  display: block;
}

#support {
  font-size: 0.9em;
  padding: 0.5em 0 0 1em;
  font-weight: normal;
  display: block;
}

div#logos {
  float: right;
  padding: 1em;
}

div#logosleft {
  float: left;
  padding: 1em;
}

/* main menu */

#navigation {
  background: #d8ffd2;
  padding: 0.2em 1.25em 0;
  font-size: 0.8em;
  line-height: 1.5;
  border-bottom: 1px solid #484;
}

ul#menu li {
  text-align: center;
  display: inline-block;
  border-right: 1px solid #484;
  width: 7em;
  background: #b7dcb0;
}

#login {
  float: right;
}

/* messages */

#messages {
  list-style: none;
}

#messages li.success {
  padding: .5em 1em;
  background: #afa;
  border-bottom: 2px solid #aca;
}

#messages li.error {
  padding: .5em 1em;
  background: #faa;
  border-bottom: 2px solid #caa;
}

/* filter options */

#navbox {
  padding: 5px;
}

#searchbox {
  display: inline-block;
  float: right;
}

#searchbox #searchbox_query {
  font-size: 14px;
  line-height: 20px;
  border-radius: 12px;
  border: 2px solid #aaa;
  padding-left: 20px;
  padding-right: 22px;
  width: 10em;
  background: no-repeat left center url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABVklEQVQ4jbWSsUsDMRSHU0HFRbSDQxcdXZwq6H8iOriIboqCoJSinVQcO0hvKpS7Jr8P/Bc6uSmKuLg4i4ODFXGzLjk42rurFHwQCMmXL3nvxZj/ilarNQecSLoBXoBHSQ1r7fKfJcAG0AV6KeMHCICJYZI1D/eAN0kXwI6kQ+AuFkqyuelI+vBgp9lszvQhBUmVhGw9VSSp6qHXMAynsy6UFHruPgvoeOAyL33n3GqiXsUBAHj2T97OEwHFRPGX0oBbL6rkidrt9mIsstaW0kRXHngwxhSyRJJOPfeeyllrV+LWS6pmpFUGvjxzlvlsSY1Ee0OgHEXRbBRF88Ax8JnYT73MGGNMvV6fBK4zfvXAkHSQKTPGFJxzm5Ke+g52gXNJR4nfP1QW160ElK21C7VabSxed87tJmXOuf2hsqxIyiR9A1MjyyTt+S5ujSyJIwiC8Xj+C7XVZJFmRh10AAAAAElFTkSuQmCC');
}

#searchbox button {
  border: 0px;
  width: 24px;
  height: 24px;
  margin-left: -28px;
  vertical-align: middle;
  background-color: transparent;
  cursor: pointer;
}

#searchbox button.reset:before {
  content: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABFklEQVQ4ja2UQU7DMBBFpwpqAodC9BaAOAsN6p4WL4pCEV4m769BILVwlIqblAUpihwnEMDSbOyZN54/Y5tFlqQEmAAz4La2WVmWJ5KSWEwMci5pK2nXYduqqk77AGPgoQcQ2r2kccgZ6XP9FLI3mdnoiwJchE7AHHhp7D0D84jfmZmZ5Xl+IOk9OMzNzJxzKfAk6dE5l9ZJ81AzSYkBk+Bg0azZOZfuIY0KboLExybpKgBtvPdZV1O895mkTRBzacAqUvc6BvPeZ8A64n9ndRtbIEmHIagoiqPIbXbAKlbaawzShAFvAWjaEhuYfye2pEVL7I72Twe3v2cgrwcNZOO6y188kWVLRP3To20C//aNBLDBH9sHMdZ1UkI4Z40AAAAASUVORK5CYII=');
}

#faves-switcher {
  display: inline-block;
  float: left;
}

#faves-switcher img {
  vertical-align: middle;
}

/* ics link */

#ics-link {
  float: right;
}

#ics-link > a:before {
  content: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAASCAYAAAC9+TVUAAAAjklEQVQ4je2SMQqFQBBD57JWXsdLvJzCzkt4AsXiN1sIizZRFotF/rew+AMDITsbJkMiIgJoJG2SNqCLSgFdMdscZCtpOR4kJUl9pVMxuwBtFMTX/ZhIbfVbXbvh/XrVTZ4RAQZnJgOjbSZgNj9LSsYjkI2HUuTjS59hs+BqvAL5Erbe//52Xm9n+tHOtAONIAbI+u7oQwAAAABJRU5ErkJggg==');
  display: inline-block;
  height: 18px; /* img height */
  vertical-align: middle;
  margin-right: .5em;
}

#ics-link .popup {
  padding: 5px;
  font-size: small;
  background-color: #d8ffd2;
  font-size: small;
  display: none;
  right: 1em;
  position: absolute;
  margin-top: .5em;
}

#ics-link .popup p {
  margin: 0; /* override #content p */
  line-height: 1.5em;
}

#ics-link .popup input {
  width: 20em;
}

/* pager */

.pager {
  display: block;
  font-size: 0.9em;
}

.pager.prev {
  float: left;
}

.pager.next {
  float: right;
}

/* deadline list */

.deadline-past {
  color: #888;
}

.deadline-soon {
  color: #f44;
}

.deadline-upcoming {
  color: #c68400;
}

.deadline-future {
  color: inherit;
}

/* main content */

#content {
  padding: 1em;
}

body.about #content {
  width: 50em;
}

h3 {
  margin-top: 1em;
}

p {
  margin-top: 1em;
}

#content ul {
  margin-top: .5em;
  margin-left: 2em;
}

#content ul li {
  line-height: 1.5;
}

/* series detail */

body.series.detail #content h2:first-child {
  display: inline-block;
}

/* conference detail */

body.conference.detail #content h2:first-child {
  display: inline-block;
}

/* calendar */

div.year-block {
  float: left; 
}

div.year-block div.month { 
  display: inline-block;
  width: 15em;
  height: 12em;
  border: 1px solid grey;
  margin: 0.2em;
  padding: 0.2em;
  overflow: hidden;
}

div.month {
  float: left;
}

div.year-block div.current {
  color: #ccc;
}

div.ml,
div.daylist { 
  display: inline-block; 
  font-size: 0.5em; 
  /* white-space: nowrap; */
  margin: auto; 
  border: none; 
}

div.daylist div.day {
  overflow: hidden;
  overflow-y: scroll;
  display: inline-block;
  background: #ccc;
  border: 1px solid rgba(0,0,0,0.25);
  width: 15em;
  height: 8em;
  padding: 0.2em;
  margin: 1px;
  float: left;
  position: relative;
}

div.ml div.day { 
  overflow: hidden;
  display: inline-block;
  background: #ccc;
  border: 1px solid rgba(0,0,0,0.125);
  width: 3.4em;
  height: 2.5em;
}

div.ml div.day.weekend,
div.daylist div.day.weekend { 
  background: #ecc;
}

div.daylist div.day.weekend.hidden { 
  background: #fee;
}

div.ml div.day.deadline { 
  background: #f00;
}

div.ml div.confmarker {
  display: block;
  width: 100%; 
  height: 0.35em;
  background: #00f;
  bottom: 0; 
}

div.daylist div.confmarker,
div.daylist div.deadlinemarker {
  position: relative;
  display: block;
  width: 95%; 
  padding: 1px;
  margin: 1px;
  bottom: 0; 
  z-index: 2;
}

div.daylist div.confmarker {
  border: 1px solid blue;
  background: rgba(170,170,255,0.5);
}

div.daylist div.deadlinemarker {
  border: 1px solid red;
  background: rgba(255,170,170,0.5);
}

/*
div.year-block div div.ml div.day.conference { 
  background: #00f;
}

div.year-block div div.ml div.day.conference.deadline { 
  background: #f0f;
}
*/

div.ml div.day.current { 
  background: #eee;
}

div.ml div.day.hidden { 
  visibility: hidden;
}

div.ml div.day.current { 
  background: #eee;
}

div.daylist div.day.hidden { 
  background: #fff;
  visibility: hidden;
}

div.daylabel {
  position: relative;
  display: block;
  text-align: right;
  height: 0;
  color: rgba(0,0,0,.5);
}

div.daylist div.daylabel {
  position: absolute;
  right: 10px;
  top: 2px;
  font-size: 6em;
}

div.ml div.daylabel {
  right: 2px;
  top: 3px;
  width: 30px;
  font-size: 1.5em;
}

.header {
  margin: auto;
}

.header .prev,
.header .next {
  display: inline-block;
  color: #888;
}

.header .next {
  text-align: right;
}

.header.year .prev,
.header.year .next {
  min-width: 10ex;
}

.header.month .prev,
.header.month .next {
  min-width: 20ex;
}

.header .now {
  display: inline-block;
  text-align: center;
  font-size: 1.5em;
  width: 10em;
}

/* calendar - tooltips */

.ui-widget.ui-tooltip {
  font-size: 75%;
  background-color: white;
}

.ui-widget.ui-tooltip a {
  text-decoration: none;
  color: #008;
}

/* bookmark forms */

.bookmarks_form {
  display: inline-block;
}

.bookmarks_toggle {
  margin-left: 1em;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

