body {
  padding: 0;
  line-height: 1.5em; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Titillium Web', sans-serif;
  line-height: 1.3em; }

h1 {
  font-size: 200%; }
  h1:before {
    display: block;
    content: " ";
    margin-top: -40px;
    height: 40px;
    visibility: hidden; }

h2 {
  font-size: 160%; }

h3 {
  font-size: 120%; }

iframe {
  border: none; }

img {
  width: 100% !important;
  max-width: inherit !important; }

table {
  width: 100%;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  margin-bottom: 10px; }

thead {
  background-color: #eee;
  border-bottom: 1px solid #333; }

th {
  text-align: left;
  padding: 4px; }

td {
  padding: 4px; }

td.title {
  font-weight: bold; }

form {
  margin-top: 30px;
  min-height: 400px; }
  form input, form button {
    vertical-align: top !important; }
  form h4 {
    border-bottom: 1px solid #eee; }

::selection {
  background-color: #ffe675; }

.left {
  float: left; }

.right {
  float: right; }

.if-small {
  display: none; }

.dropdown-menu {
  left: inherit; }

.container-fluid {
  padding-bottom: 20px; }

span.uneditable-input {
  width: 206px !important; }

.container-fluid.heading {
  padding-bottom: 0; }
  .container-fluid.heading h1 {
    margin-bottom: 0; }

/* background colors */
.yellow {
  background-color: #ffe675; }

.orange {
  background-color: #f0781e;
  color: #fff; }
  .orange a {
    color: #a4001d; }

.red {
  background-color: #a4001d;
  color: #fff; }
  .red a {
    color: #ff8b9f; }

.blue {
  background-color: #001575;
  color: #fff; }
  .blue a {
    color: #a8b8ff; }
  .blue table {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff; }
  .blue thead {
    background-color: #001ea8;
    border-bottom: 1px solid #fff; }

label.valid {
  width: 24px;
  height: 24px;
  background: url(../img/valid.png) center center no-repeat;
  display: inline-block;
  text-indent: -9999px;
  vertical-align: top; }

label.error {
  color: red; }

header {
  top: 0;
  width: 100%;
  color: #f0781e;
  padding: 0; }
  header .top {
    height: 75px;
    overflow: hidden;
    background-color: #ffe675; }
  header .left {
    padding: 20px; }
  header .right {
    position: relative; }
    header .right img {
      right: 0;
      top: 0;
      height: auto; }
  header .caption {
    font-size: 100%;
    line-height: 140%;
    padding: 8px 0 8px 0;
    font-weight: bold; }
  header .title {
    font-size: 225%; }
  header .date {
    padding: 10px 20px; }
    header .date .caption {
      display: none; }

nav#navbar-std {
  width: 100%;
  padding: 0;
  color: #fff;
  background-color: #555555; }
  nav#navbar-std .navbar-inner {
    background: none;
    border: none;
    padding: 0 5px; }
  nav#navbar-std.navbar .nav > li > a, nav#navbar-std.navbar .nav > li > a:hover, nav#navbar-std.navbar .nav > li > a:active, nav#navbar-std.navbar .nav > li > a:focus {
    color: #fff;
    text-shadow: none; }
  nav#navbar-std .nav .dropdown-toggle .caret, nav#navbar-std .nav .dropdown-toggle:hover .caret, nav#navbar-std .nav .dropdown-toggle:focus .caret {
    border-top-color: #fff; }

.navbar .btn-navbar {
  background-color: #ffd40f;
  *background-color: #ffd40f;
  background-image: -moz-linear-gradient(top, #ffd40f, #c29e00);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffd40f), to(#c29e00));
  background-image: -webkit-linear-gradient(top, #ffd40f, #c29e00);
  background-image: -o-linear-gradient(top, #ffd40f, #c29e00);
  background-image: linear-gradient(to bottom, #ffd40f, #c29e00);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='ie_hex_str($col1)', endColorstr='ie_hex_str($col2)', GradientType=0); }
  .navbar .btn-navbar:hover, .navbar .btn-navbar:focus {
    background-color: #c29e00;
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
  background-color: #ffd40f;
  background-image: -moz-linear-gradient(top, #ffd40f, #c29e00);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffd40f), to(#c29e00));
  background-image: -webkit-linear-gradient(top, #ffd40f, #c29e00);
  background-image: -o-linear-gradient(top, #ffd40f, #c29e00);
  background-image: linear-gradient(to bottom, #ffd40f, #c29e00);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='ie_hex_str($col1)', endColorstr='ie_hex_str($col2)', GradientType=0); }

#navbar-std-sticky-wrapper {
  position: relative;
  z-index: 999; }

.welcome-image {
  background-image: url("../img/lugano01.jpg");
  background-size: auto 100%;
  background-position: 100% 0;
  background-repeat: no-repeat; }
  .welcome-image > span {
    width: 80%;
    max-width: 600px;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.3);
    font-size: 250%;
    line-height: 1.2em;
    position: absolute;
    right: 5%;
    padding: 20px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    text-shadow: 2px 2px 8px #000;
    font-family: 'Titillium Web', sans-serif; }

footer {
  width: 100%;
  color: #fff;
  background-color: #333;
  padding: 20px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box; }

.sched1, .sched2, .sched3, .sched4 {
  margin: 0 0 8px 1%;
  padding: 1em;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  display: inline-block;
  vertical-align: top; }
  .sched1:first-child, .sched2:first-child, .sched3:first-child, .sched4:first-child {
    margin-left: 0; }
  .sched1 h2, .sched2 h2, .sched3 h2, .sched4 h2 {
    font-weight: normal;
    margin: 0 0 0.3em 0; }
  .sched1 input[type=checkbox], .sched2 input[type=checkbox], .sched3 input[type=checkbox], .sched4 input[type=checkbox] {
    display: none; }
  .sched1 img, .sched2 img, .sched3 img, .sched4 img {
    width: inherit !important; }
  .sched1.orange img, .sched1.red img, .sched2.orange img, .sched2.red img, .sched3.orange img, .sched3.red img, .sched4.orange img, .sched4.red img {
    -webkit-filter: invert(100%);
    -moz-filter: invert(100%);
    -ms-filter: invert(100%);
    -o-filter: invert(100%);
    filter: invert(100%);
    -webkit-transform: translateZ(0); }

.sched1 {
  width: 100%; }

.sched2 {
  width: 49.5%; }

.sched3 {
  width: 32.66%; }

.sched4 {
  width: 24.25%; }

.session-info ul {
  list-style: none;
  margin: 0 0 1em 0;
  padding: 0; }
.session-info dt {
  display: inline; }
  .session-info dt::after {
    content: ":"; }
.session-info dd {
  display: inline; }

.abstract {
  display: none;
  margin-bottom: 1em; }
  .abstract img {
    max-width: 100% !important; }
  .abstract p {
    max-width: 600px; }

input:checked ~ .abstract {
  display: block; }

/**
 * very large screens
 */
@media screen and (min-width: 1200px) {
  .container-fluid {
    font-size: 125%;
    line-height: 1.8em;
    padding-left: 50px;
    padding-right: 50px; }
    .container-fluid li {
      line-height: 1.8em; }

  header .top .left {
    padding-left: 50px; }
  header div.date {
    padding-left: 50px; }

  footer {
    padding-left: 50px;
    padding-right: 50px; }

  div.navbar-inner {
    padding-left: 35px !important;
    padding-right: 35px !important; }

  h1 {
    margin-bottom: 20px !important; }

  h2, h3 {
    padding-top: 20px;
    padding-bottom: 10px; }

  ul, ol {
    padding-top: 10px;
    padding-bottom: 10px; }

  ul.nav {
    padding-top: 0;
    padding-bottom: 0; }

  label {
    font-size: 90%; }

  .abstract-title, .abstract {
    font-size: 90%;
    line-height: 1.4; } }
/**
 * medium screens
 */
@media screen and (max-width: 780px) {
  header .left {
    padding-top: 30px; }
  header .caption {
    display: none; }
  header .date {
    padding-bottom: 12px; }
    header .date .caption {
      font-weight: bold;
      display: block; }

  .container-fluid {
    padding-left: 20px;
    padding-right: 20px; } }
@media screen and (max-width: 640px) {
  .sched1, .sched2, .sched3, .sched4 {
    width: 100%;
    margin-left: 0; } }
/**
 * small screens
 */
@media screen and (max-width: 420px) {
  .if-small {
    display: inherit; }

  table.rwd {
    display: none; }

  div.table-rwd div.title {
    margin-top: 10px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    font-weight: bold; }

  header {
    height: inherit; }
    header .top {
      height: inherit; }
    header .left {
      width: 100%;
      float: none;
      padding-top: 20px;
      padding-bottom: 0; }
    header .right {
      display: none;
      width: 100%;
      height: inherit;
      float: none; }
      header .right img {
        position: relative;
        width: 100%;
        max-width: inherit; }
    header .date {
      background-color: #ffe675; }

  #navbar-std-sticky-wrapper {
    display: none; }

  nav#navbar-small {
    position: fixed;
    top: 0;
    width: 100%;
    padding: 0;
    color: #f0781e;
    padding-bottom: 5px;
    z-index: 999; }
    nav#navbar-small .title {
      display: none;
      float: left;
      padding: 8px 0 5px 5px; }
    nav#navbar-small.visible-navbar {
      background-color: #ffe675;
      box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
      nav#navbar-small.visible-navbar .title {
        display: block; }

  .nav-menu-small {
    display: none;
    position: absolute;
    top: 39px;
    width: 100%;
    background-color: #555555;
    z-index: 999; }
    .nav-menu-small ul.nav li {
      padding: 0;
      width: 100%; }
      .nav-menu-small ul.nav li a {
        display: block;
        width: 100%;
        padding: 5px;
        color: #fff; }
        .nav-menu-small ul.nav li a b.caret {
          display: none; }
      .nav-menu-small ul.nav li a:hover {
        background-color: inherit; }
    .nav-menu-small ul.nav > li {
      background-color: #000; }
      .nav-menu-small ul.nav > li > a {
        font-weight: bold; }
      .nav-menu-small ul.nav > li ul {
        width: 100%;
        background-color: #555555;
        list-style: none;
        margin: 0; }

  .welcome-image > span {
    width: 90%;
    font-size: 120%; } }
