/* ********** LAYOUT ********** */
* {
  max-width: 1030px;
  margin: auto; }

html {
  background-color: #ffffff;
  background-size: cover; }

body {
  font-size: 20px; }

.site_container {
  margin: auto;
  padding-bottom: 100px; }

div.container-fluid {
  padding: 0; }

button.back-button, a.back-button {
  font-size: 22px;
  padding: 10px 35px;
  background-color: #ffffff;
  color: #16c1f3;
  z-index: 1;
  border-radius: 0;
  float: right; }

button.back-button.showing, a.back-button.showing {
  font-size: 12px;
  padding: 10px 30px;
  background-color: #AAAAAA;
  z-index: 1;
  display: inline-block;
  border-radius: 0;
  font-weight: bold; }

.btn-group {
  float: right; }

.small-spacer {
  margin: 3%; }

.med-spacer {
  margin: 20px; }

.bold {
  font-weight: bold; }

/* ********** NAV BAR ********** */
.nav-bar {
  position: absolute !important;
  bottom: 20px !important;
  right: 25px;
  text-align: right;
  font-size: 1.3em; }

.nav-bar ul {
  list-style-type: none;
  margin: 0; }

.nav-bar ul li {
  display: inline; }

.nav-bar ul li a {
  color: #848484;
  text-decoration: none; }

.nav_bar a {
  background-color: #33302c;
  font-weight: bold;
  font-size: 10px;
  padding: 5px 14px; }

.active a {
  background-color: #16c1f3; }

@media (min-width: 1024px) {
  #index {
    margin-left: 40px; } }
@media (min-width: 760px) {
  #general, #event_details, #maps, #abc, #agenda, #transportation {
    margin-top: 5px;
    margin-right: 30px;
    margin-left: 30px; }

  #index {
    margin-top: 5px;
    margin-left: 45px;
    margin-right: 10px; }

  #index .col-sm-12 {
    padding-left: 0px !important;
    padding-right: 0px !important; }

  #index .col-sm-4 {
    padding-left: 0px !important;
    padding-right: 0px !important; } }
/* ********** PAGES ********** */
.page-headline a {
  text-decoration: none;
  color: #000000; }

.page-headline a:hover {
  text-decoration: none;
  color: #000000; }

.page-headline {
  margin-top: 20px;
  padding-bottom: 20px; }

.title {
  text-align: center;
  display: inline-block;
  width: 75%; }

.title h1 {
  color: #e53e76;
  text-align: left;
  margin-top: 5px;
  font-size: 34px; }

.page-headline h1 {
  color: white;
  font-size: 50px;
  font-weight: normal;
  padding-right: 3em;
  line-height: 1em;
  margin-bottom: 1em; }

.title-agenda {
  color: #e53e76;
  text-align: left; }

.page-content h2 {
  font-size: 26px;
  color: white;
  font-weight: normal; }

.page-content {
  margin-left: -20px;
  margin-right: -20px; }

.page-content a, .page-content a:active, .page-content a:focus {
  display: block;
  text-decoration: none;
  color: #848484;
  font-size: 22px;
  padding-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #16c1f3;
  position: relative; }

.page-content a span {
  display: block;
  margin: 0 20px;
  position: relative; }

.page-content a:first-child {
  border-top: 1px solid #16c1f3; }

.page-content a img.next-page-icon {
  width: 60px;
  position: absolute;
  right: 0;
  top: -15px; }

/* ********** SUBPAGES ********** */
.sub-page a {
  text-decoration: none;
  color: #16c1f3; }

.sub-page a:hover {
  text-decoration: none;
  color: #000000; }

.sub-page p a, .sub-page ul li a {
  color: #16c1f3; }

.sub-page-headline {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-bottom: 20px; }

.sub-page h3 {
  padding-bottom: 10px; }

.sub-page table {
  width: 100%; }

.sub-page table tr.border_top {
  border-top: 1px solid #000; }

.sub-page table td.borderless {
  border: 0; }

.sub-page table th {
  padding: 10px 20px;
  /* border-top: 1px solid #000;
  border-bottom: 1px solid #000; */
  background-color: #16c1f3;
  color: #fff; }

.sub-page table td {
  padding: 10px 20px;
  border-bottom: 1px solid #000;
  vertical-align: top; }

@media (min-width: 760px) {
  .sub-page {
    margin-top: 5px;
    margin-left: 30px;
    margin-right: 30px; }

  .sub-page.group {
    margin-top: 0px; } }
.a-line {
  background-color: #16c1f3;
  padding: 15px;
  margin-right: 10px;
  margin-bottom: 10px; }

.b-line {
  background-color: #70bd52;
  padding: 15px;
  margin-right: 10px;
  margin-bottom: 10px; }

.hotel-line {
  background-color: #575757;
  padding: 15px;
  margin-bottom: 10px; }

.line-heading {
  color: #FFFFFF;
  font-size: 18px; }

.numberCircleA {
  border-radius: 50%;
  width: 36px;
  height: 36px;
  padding: 3px;
  font-size: 18px;
  background-color: #FFFFFF;
  border: 1px solid #FFFFFF;
  color: #16c1f3;
  text-align: center; }

.numberCircleB {
  border-radius: 50%;
  width: 36px;
  height: 36px;
  padding: 3px;
  font-size: 18px;
  background-color: #FFFFFF;
  border: 1px solid #FFFFFF;
  color: #70bd52;
  text-align: center; }

.numberCircleColorA {
  border-radius: 50%;
  width: 36px;
  height: 36px;
  padding: 3px;
  font-size: 18px;
  background-color: #16c1f3;
  border: 1px solid #16c1f3;
  color: #FFFFFF;
  text-align: center; }

.numberCircleColorB {
  border-radius: 50%;
  width: 36px;
  height: 36px;
  padding: 3px;
  font-size: 18px;
  background-color: #70bd52;
  border: 1px solid #70bd52;
  color: #FFFFFF;
  text-align: center; }

.numberCircleColorC {
  border-radius: 50%;
  width: 36px;
  height: 36px;
  padding: 3px;
  font-size: 18px;
  background-color: #1a488d;
  border: 1px solid #1a488d;
  color: #FFFFFF;
  text-align: center; }

.ps {
  color: #16c1f3; }

.mv {
  color: #6CC04A; }

.parent {
  width: 100%; }

/* ********** INDEX ********** */
#index .row {
  width: 100%;
  padding: 0; }

.index_tile {
  float: left;
  width: 31%;
  border: 2px #ffffff solid;
  margin: 5px;
  background: rgba(255, 255, 255, 0.15); }

.index_tile p {
  height: 100px;
  padding-top: 6%;
  text-align: center;
  font-size: 28px;
  color: #ffffff;
  margin-bottom: 0; }

/* ********** TABLE COLUMNS ********** */
.col-10 {
  width: 10%; }

.col-20 {
  width: 20%; }

.col-30 {
  width: 30%; }

.col-35 {
  width: 35%; }

.col-40 {
  width: 40%; }

.col-45 {
  width: 45%; }

.col-50 {
  width: 50%; }

.col-55 {
  width: 55%; }

.col-60 {
  width: 60%; }

.col-65 {
  width: 65%; }

.col-70 {
  width: 70%; }

.borderless {
  border: none !important; }

.badge_split {
  border-bottom: 1px solid #FFFFFF !important; }

/*======== Agenda Table Topper =============*/
.tab-reg {
  padding: 5px 0;
  background: #16c1f3;
  color: #FFFFFF; }

.tab-collab {
  padding: 5px 0;
  background: #68BDE2;
  color: #FFFFFF; }

.tab-eco {
  padding: 5px 0;
  background: #097DBC;
  color: #FFFFFF; }

.tab-exec {
  padding: 5px 0;
  background: #6CC04A;
  color: #FFFFFF; }

#menu {
  background-color: black;
  color: white;
  position: fixed;
  right: -400px;
  width: 400px;
  top: 0;
  bottom: 0;
  z-index: 100;
  font-size: 26px;
  overflow-y: scroll; }

input#menuCheckbox:checked + #menu {
  right: 0; }

label.menu {
  width: 4em; }

#header {
  padding-top: 0px;
  margin-bottom: 0px; }

#header label.menu {
  position: absolute;
  top: 3em;
  right: 1.7em; }

#menu label.menu {
  float: right; }

#menu > .img-responsive {
  width: 50%;
  margin: 0 auto; }

.nav > li > a, .nav > li > span {
  color: white;
  padding: 10px 30px;
  display: block; }

.nav > li > hr {
  border-color: #303030; }

.nav > li > a:hover {
  background: none;
  background-color: transparent !important; }

html.white-content {
  background: #ffffff; }

html.white-content button.back-button, a.back-button {
  background-color: #16c1f3;
  color: #ffffff; }

.img-responsive.blue-lockup {
  display: none; }

html.white-content .img-responsive.white-lockup {
  display: block; }

html.white-content .page-headline h1 {
  color: #16c1f3; }

/* Agenda Tabs */
div.agenda-tab {
  height: 8.5em; }

div.agenda-tab p {
  line-height: 1em;
  padding: .5em .5em 0 1em; }

/* SVG hacks */
.svg-container {
  position: relative;
  margin-bottom: 2px; }

.stretcher-bar {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%; }

.content-svg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  max-width: 100%;
  max-height: 100%; }

a {
  color: rgba(0, 0, 0, 0.7); }
  a:focus, a:hover {
    color: rgba(0, 0, 0, 0.6); }

.middleman-logo {
  margin-bottom: 1rem;
  width: 10rem; }

/* phone */
#menuCheckbox {
  display: none; }

@media screen and (max-width: 765px) {
  #index .row {
    margin: 0; }

  .page-headline h1 {
    padding-right: 0;
    font-size: 36px; }

  .sub-page-headline {
    margin: 0px; }

  #general, #event_details, #maps, #abc, #agenda, #transportation {
    margin-top: 5px;
    margin-right: 15px;
    margin-left: 15px; }

  #menu {
    width: 100%; }

  .site_container {
    position: relative; }
    .site_container #header {
      padding-top: 0px;
      padding-bottom: 0px;
      margin-bottom: 0;
      z-index: 50;
      position: relative; }
      .site_container #header label.menu {
        -ms-touch-action: manipulation;
            touch-action: manipulation;
        height: 50px;
        width: 50px;
        position: absolute;
        bottom: 0;
        right: 0; }
      .site_container #header .row {
        margin-top: 0; }
        .site_container #header .row .header_img {
          float: none;
          position: static;
          width: 90px;
          text-align: center;
          margin: 0 0 0 1em; }
        .site_container #header .row .nav-bar {
          position: static !important; }
          .site_container #header .row .nav-bar ul {
            padding-left: 0; }
            .site_container #header .row .nav-bar ul li.nav_bar {
              display: block; }
              .site_container #header .row .nav-bar ul li.nav_bar a {
                display: block;
                font-size: 13px;
                padding-top: 10px;
                padding-bottom: 10px; }

  .index_tile {
    width: 50%;
    display: table-row; }
    .index_tile p {
      height: 100px;
      padding-top: .5em;
      text-align: center;
      font-size: 1.1em;
      color: #ffffff;
      margin-bottom: 0; }

  .event-details {
    padding-top: 0; }

  button.back-button, a.back-button {
    font-size: .75em;
    float: right; }

  button.back-button.showing, a.back-button.showing {
    font-size: .75em; }

  .sub-page {
    margin: 0px 15px;
    overflow-x: scroll; }
    .sub-page .title {
      text-align: left;
      display: block; }

  .page-content a span {
    padding-right: 15%; } }
