.cell-height1 { height: 30px; }
.cell-height2 { height: 57px; }
.cell-height3 { height: 87px; }
.cell-height4 { height: 117px; }
.cell-height5 { height: 147px; }
.cell-height6 { height: 177px; }
.cell-height7 { height: 207px; }
.cell-height8 { height: 237px; }
.cell-height9 { height: 267px; }
.cell-height10 { height: 297px; }
.cell-height11 { height: 327px; }
.cell-height12 { height: 357px; }
.cell-height13 { height: 387px; }
.cell-height14 { height: 417px; }
.cell-height15 { height: 447px; }
.cell-height16 { height: 477px; }
.cell-height17 { height: 507px; }
.cell-height18 { height: 537px; }
.cell-height19 { height: 567px; }
.cell-height20 { height: 597px; }
.cell-height21 { height: 627px; }
.cell-height22 { height: 657px; }
.cell-height23 { height: 687px; }
.cell-height24 { height: 717px; }
.cell-height25 { height: 747px; }
.cell-height26 { height: 777px; }
.cell-height27 { height: 807px; }
.cell-height28 { height: 837px; }
.cell-height29 { height: 867px; }
.cell-height30 { height: 897px; }
.cell-height31 { height: 927px; }
.cell-height32 { height: 957px; }
.cell-height33 { height: 987px; }
.cell-height34 { height: 1017px; }
.cell-height35 { height: 1047px; }
.cell-height36 { height: 1077px; }
.cell-height37 { height: 1107px; }
.cell-height38 { height: 1137px; }
.cell-height39 { height: 1167px; }
.cell-height40 { height: 1197px; }


.event.track-default {
  background-color: #1ca5bd;
  border-color: #1ca5bd;
}

.event.track-default div.event-header {
  background-color: #1ca5bd;
}

.event.track-default div.event-header a {
  color: #fff;
}

.conference-background {
  background-color: #1ca5bd;
}


.event.track-art-culture {
  background-color: #F9B000;
  border-color: #F9B000;
}
.event.track-art-culture div.event-header {
  background-color: #F9B000;
}

.event.track-art-culture div.event-header a {
  color: #000;
}

#colorkeys .track-art-culture {
  background-color: #F9B000;
}

.label .track-art-culture {
  background-color: #F9B000;
}

.event.track-ccc {
  background-color: #4d4d4c;
  border-color: #4d4d4c;
}
.event.track-ccc div.event-header {
  background-color: #4d4d4c;
}

.event.track-ccc div.event-header a {
  color: #fff;
}

#colorkeys .track-ccc {
  background-color: #4d4d4c;
}

.label .track-ccc {
  background-color: #4d4d4c;
}

.event.track-entertainment {
  background-color: #4d4d4c;
  border-color: #4d4d4c;
}
.event.track-entertainment div.event-header {
  background-color: #4d4d4c;
}

.event.track-entertainment div.event-header a {
  color: #fff;
}

#colorkeys .track-entertainment {
  background-color: #4d4d4c;
}

.label .track-entertainment {
  background-color: #4d4d4c;
}

.event.track-ethics-society-politics {
  background-color: #E40429;
  border-color: #E40429;
}
.event.track-ethics-society-politics div.event-header {
  background-color: #E40429;
}

.event.track-ethics-society-politics div.event-header a {
  color: #fff;
}

#colorkeys .track-ethics-society-politics {
  background-color: #E40429;
}

.label .track-ethics-society-politics {
  background-color: #E40429;
}

.event.track-hardware-making {
  background-color: #44357E;
  border-color: #44357E;
}
.event.track-hardware-making div.event-header {
  background-color: #44357E;
}

.event.track-hardware-making div.event-header a {
  color: #fff;
}

#colorkeys .track-hardware-making {
  background-color: #44357E;
}

.label .track-hardware-making {
  background-color: #44357E;
}

.event.track-resilience-sustainability {
  background-color: #F9B000;
  border-color: #F9B000;
}
.event.track-resilience-sustainability div.event-header {
  background-color: #F9B000;
}

.event.track-resilience-sustainability div.event-header a {
  color: #000;
}

#colorkeys .track-resilience-sustainability {
  background-color: #F9B000;
}

.label .track-resilience-sustainability {
  background-color: #F9B000;
}

.event.track-science {
  background-color: #00A356;
  border-color: #00A356;
}
.event.track-science div.event-header {
  background-color: #00A356;
}

.event.track-science div.event-header a {
  color: #fff;
}

#colorkeys .track-science {
  background-color: #00A356;
}

.label .track-science {
  background-color: #00A356;
}

.event.track-security {
  background-color: #18386B;
  border-color: #18386B;
}
.event.track-security div.event-header {
  background-color: #18386B;
}

.event.track-security div.event-header a {
  color: #fff;
}

#colorkeys .track-security {
  background-color: #18386B;
}

.label .track-security {
  background-color: #18386B;
}

#colorkeys {
  font-size: .8em;
  opacity: .85;
}

#colorkeys ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

#colorkeys ul li {
  margin: 0 .2em;
  float: right;
}

#colorkeys ul li div {
  padding: 0;
}

/* Custom Conference CSS */

#header {
    text-align: center;
    padding: 6px;
}
.cell-time {
    word-break: normal;
}
#main-content {
    overflow: unset;
    position: relative;
    word-break: break-word;
    hyphens: auto;
    max-width: 1111px;
    margin: auto;
    margin-top: 20px;
    padding-bottom: 20px;
}
.rooms-table {
    margin: auto;
}

.list {
    width: 100%
}
.list td {
    min-width: 70px;
    word-break: initial;
}
td:first-of-type {
    min-width: 0;
}

#main-content:after {
    content: '';
    display: block;
}
#footer {
    box-sizing: border-box;
    clear: both;
    padding: 10px;
    width: 100%;
    text-align: center;
    color: grey;
}
.column#basic {
    min-width: 340px;
}
table.rooms-table tbody:before {
    content: "@";
    display: block;
    line-height: 20px;
    text-indent: -99999px;
}
thead th {
    position: sticky;
    top: 0;
}
th {
    background: white;
    box-shadow: 0px 17px 12px -12px rgba(0, 0, 0, 0.23);
    z-index: 2;
}
tbody {
    margin-top: 20px;
}

th:first-of-type {
    box-shadow: none;
    border: none !important;
}

p.release {
    background-color: #e7f5ff !important;
    font-size: 12px !important;
    padding: 3px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    color: grey !important;
}

tr h2 {
    padding: 0 !important;
}


table.rooms-table,
table.list {
    background-color: white;
}

table.rooms-table *,
table.list * {
    border: none
}

table.rooms-table th,
table.list th {
    color: black !important;
    background-color: white !important;
}
table.list td {
    color: black !important;
    background-color: white !important;
}
table.list td {
    border-bottom: 1px solid #e9e9e9;
}
table.rooms-table td {
    border-bottom: 1px solid #e9e9e9;
}

table.list th {
    text-align: left !important;
    padding: 10px;
}


.event-wrapper {
    background: rgba(255, 255, 255, .56);
}
.event-wrapper .event-details,
.event-wrapper .event-header {
    padding: 7px !important;
    box-sizing: border-box;
}

p.tracks {
    font-style: italic;
    margin-bottom: -5px;
}
p.tracks::after {
    content: ":"
}


.tracks .event {
    box-sizing: border-box;
    padding: 3px;
    margin-bottom: 4px;
    color: white
}


.track-art-culture,
.event.track-art-culture div.event-header {
    background-color: #e08241 !important;
    border-color: #e08241 !important;
}
.track-ccc,
.track-ccc div.event-header {
    background-color: #c2b519 !important;
    border-color: #c2b519 !important;
}
.track-entertainment,
.track-entertainment div.event-header {
    background-color: #57b73a !important;
    border-color: #57b73a !important;
}
.track-ethics-society-politics,
.track-ethics-society-politics div.event-header {
    background-color: #3caea5 !important;
    border-color: #3caea5 !important;
}
.track-hardware-making,
.track-hardware-making div.event-header {
    background-color: #3fafd8 !important;
    border-color: #3fafd8 !important;
}
.track-resilience-sustainability,
.track-resilience-sustainability div.event-header {
    background-color: #8194e6 !important;
    border-color: #8194e6 !important;
}
.track-science,
.track-science div.event-header {
    background-color: #cf87d9 !important;
    border-color: #cf87d9 !important;
}
.track-security,
.track-security div.event-header {
    background-color: #de697e !important;
    border-color: #de697e !important;
}


.event.track-art-culture div.event-header a,
.event.track-resilience-sustainability div.event-header a {
    color: white;
}

.favor_favable::after {
    content: " ★";
    display: inline-block;
    color: #fff;
    opacity: .5;
}
.favor_faved::after {
    content: " ★";
    color: #ffea00;
}
.favor_favable,
.favor_faved {
    font-size: 1rem;
    box-sizing: border-box;
    display: inline-block;
    margin-top: -20px;
    margin-left: .2rem;
    text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
    transform: translateY(5%);
}
#main-content > h2 {

    display: inline-block;
}
#main-content > .favor_favable,
#main-content > .favor_faved {
    font-size: 3em;
}

.event-navigation ul li {
    background: #e8f5fe;
}



/********* Flexbox **********/
#wrapper {
    display: flex;
    flex-wrap: wrap;
}
#header,
#banner {
    flex: 1 100%;
}
#navigation {
    flex: 0;
}
#main-content {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
}
#main-content > * {
    flex: 1 100%;
    float: none !important;
}
#main-content > p.release {
    flex: 0;
    white-space: nowrap;
    height: 1rem;
    order: -1;
}
#main-content > h2:first-of-type {
    order: -2;
    flex: 0;
    flex-grow: 1;
}

#main-content > h2 ~ #details.column {
    order: -1;
    flex: 1 100%;
}
#main-content > h3 ~ #details.column {
    order: 0;
    flex: 0;
    flex-basis: 20%;
}

#main-content > .favor_favable,
#main-content > .favor_faved {
    flex: 0;
    order: -3;
    margin-top: 0px;
}

#main-content > .column {
    flex: 0;
    flex-basis: 20%;
}
#main-content > .column:first-of-type {
    flex: 1;
}

.event-book {
    height: auto;
}

/*this only fires on events*/
/* #main-content h3 ~ #basic.column {
background-color: red;
flex: 1;
flex-basis: 20%;
}*/
#main-content > .event-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    position: relative;
}
.event-list > * {
    height: auto !important;
    float: none !important;
    flex: 0;
    flex-basis: 182px;
    margin: 0;
    min-width: 22%;
    box-sizing: border-box;
}
.event-list .event-wrapper {
    max-height: 200px;
}
.qr {
    flex: 0 !important;
    margin: auto;
    padding: 20px;
}
table.rooms-table {
    min-width: 615px;
}
.qr table td {
    min-width: 0px;
}
/********* Mobile (below 980px width) ***********/
@media only screen and (max-width: 980px) {
    #main-content {
        border: none;
    }


    #main-content > .column {
        flex: 1;
    }
    #main-content > .column:first-of-type {
        flex: 1 100%;
    }


    #navigation > * {
        display: none;
    }
    #navigation {
        flex: 1 100%;
        height: 0;
        padding: 0;
    }
    #navigation:active > *,
    #navigation:hover > * {
        display: block;
    }
    #navigation:active,
    #navigation:hover {
        height: auto;
        display: inline-block;
        position: fixed;
        top: 0px;
        bottom: 0px;
        left: 0px;
        padding: 30px;
        z-index: 3;
        overflow: auto;
        background-color: white;
        box-shadow: -7px 0px 58px 0px rgba(0, 0, 0, 0.54);
    }
    #header,
    #banner {
        box-sizing: border-box;
        padding-left: 110px;
    }
    #header {
        box-shadow: 320px 0px 0px 0px #41afff;
    }
    #navigation::before {
        content: "☰";
        text-align: center;
        white-space: pre;
        display: block;
        font-weight: bold;
        font-size: 30px;
        position: fixed;
        top: 0px;
        left: 22px;
        z-index: 3;
        margin-bottom: -220px;
    }
    #navigation:hover:before {
        content: "[menu]";
        font-size: 20px;
        top: 3px;
        left: 14px;
    }

    #main-content > h3 ~ #details.column {
        flex: 1;
    }


    /*disable nice menu on ios-safari:*/
    _::-webkit-full-page-media,
    _:future,
    :root #navigation > * {
        display: block;
        height: auto;
    }
    _::-webkit-full-page-media,
    _:future,
    :root #navigation {
        position: relative !important;
        flex: 1 100%;
        display: block;
        height: auto;
        font-weight: bold;
        padding: 15px !important;
        box-shadow: none !important;
    }
    _::-webkit-full-page-media,
    _:future,
    :root #navigation:before {
        display: none;
    }
    _::-webkit-full-page-media,
    _:future,
    :root #header,
    _::-webkit-full-page-media,
    _:future,
    :root #banner {
        padding-left: 0px;
    }
    _::-webkit-full-page-media,
    _:future,
    :root .tracks {
        display: none !important;
    }
}
