menu {
    color: red;
}

navigation {
    background-color: #333 /* darkgrey */;
}

@font-face {
    font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto Light'),local('Roboto-Light'),url(Roboto300.ttf) format('truetype');
}

@font-face {
    font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Medium'),local('Roboto-Medium'),url(Roboto500.ttf) format('truetype');
}

@font-face {
    font-family:Oswald;font-style:normal;font-weight:400;src:local('Oswald Regular'),local('Oswald-Regular'),url(Oswald400.ttf) format('truetype');
}

html {
    font-family: Roboto,sans-serif;
    font-weight: 400;
    color: #000;
    background: #fff;
    width: 100%;
    overflow-y: scroll;
}

body {
    margin: 8px;
}

strong,b {
    font-weight: 700;
}

h1,h2,h3,h4,h5,.new_day {
    font-family: Oswald;
    font-weight: 400;
}

h1 {
    font-size: 25px;
    margin: 0 0 8px;
    padding: 0;
}

h1 a {
    text-decoration: none;
}

hr {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
    border: none;
    padding: 0;
    height: 2px;
    background: maroon;
}

a {
    color: #000;
    outline: 0;
}

.js-link {
    text-decoration: underline;
    cursor: pointer;
}

form {
    position: relative;
    clear: left;
    z-index: 1;
    overflow: auto;
}

input {
    margin: 0 4px 4px 0;
    border: 2px solid #ccc5bb;
    border-radius: 5px;
    padding: 3px;
    background: #fff;
}

input[type=text] {
    box-shadow: none!important;
}

.discreet {
    font-size: .875em;
    color: #736f68;
}

.disabled {
    color: #ccc5bb!important;
    cursor: auto!important;
}

.selected {
    font-weight: 700;
    border-color: maroon!important;
}

.hint {
    position: relative;
    z-index: 3;
    clear: left;
    max-width: 705px;
    background: #fff;
    color: #88847d;
    font-size: .8em;
    padding-top: 5px;
}

.popup-wrap {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: #fff;
    background: rgba(255,255,255,.85);
}

.popup-title {
    font-family: Oswald;
    font-weight: 400;
    font-size: 1.5em;
    margin-top: 20px;
}

.popup {
    display: none!important;
    position: relative;
    top: 20px;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 90%;
    max-height: 90%;
    overflow: auto;
    border: 2px solid maroon;
    border-radius: 5px;
    padding: 5px;
    text-align: left;
    background: #fff;
    background: rgba(255,255,255,.9);
}

.popup-wrap .popup {
    display: inline-block!important;
}

.popup-title+.popup {
    top: 0;
}

img.popup {
    position: absolute;
    top: 0;
    bottom: 0;
}

ul.popup,.popup ul {
    width: 300px;
    list-style-type: none;
    margin-top: 0;
}

ul.popup li,.popup ul li {
    width: 150px;
    display: inline-block;
    padding-bottom: 5px;
    line-height: 1;
    cursor: pointer;
}

.filters {
    position: relative;
    z-index: 4;
    clear: both;
    padding: 20px 0;
    max-width: 705px;
    text-align: center;
    background: #fff;
}

.filters>* {
    padding-left: 20px;
}

.filters ul {
    list-style-type: none;
    margin-top: 0;
}

.filters li {
    cursor: pointer;
}

#top {
    position: absolute;
    top: 0;
}

#load_disable {
    position: fixed;
    z-index: 5;
    background-color: #fff;
    opacity: .7;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

#time,#scroll {
    position: fixed;
    z-index: 2;
    margin: 0;
    min-width: 65px;
    text-align: center;
    color: #ccc5bb;
}

#time {
    top: 8px;
    white-space: pre;
}

#scroll {
    bottom: 8px;
    display: none;
    max-width: 65px;
    font-size: .8em;
}

#scroll a {
    color: #ccc5bb;
    text-decoration: none;
}

#banner {
    position: relative;
    z-index: 5;
    background: #fff;
    padding-top: 0;
}

#login-links {
    color: #88847d;
}

#login-links span {
    text-decoration: underline;
    cursor: pointer;
}

#login-links span:hover {
    color: #000;
}

#login-popup {
    width: 300px;
    padding-left: 8px;
}

#login-popup ul {
    margin: 5px 0;
    padding: 0;
}

#login-popup li {
    line-height: 1;
    padding-bottom: 5px;
    text-align: center;
}

#server_connect {
    font-size: 14px;
    text-align: center;
    margin: 10px 0;
}

#server_info {
    color: #ccc5bb;
}

#server_info a {
    color: #88847d;
}

#server_info a:hover {
    color: #000;
}

#server_error {
    display: none;
    position: fixed;
    z-index: 6;
    top: 2px;
    left: 50%;
}

#server_error>div {
    position: relative;
    left: -50%;
    background: #ffbaba;
    color: #d80000;
    border: 2px solid maroon;
    border-radius: 5px;
    padding: 2px;
    cursor: pointer;
}

#server_error>div code {
    font-size: 1.2em;
}

#tabs {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

#tabs li {
    padding: 0;
    margin: 0;
    cursor: pointer;
}

#tabs a {
    display: block;
    padding: 6px;
    text-decoration: none;
}

#tabs.no-people #tap_part {
    display: none;
}

.next #tab_next,.star #tab_star,.prog #tab_prog,.part #tab_part,.info #tab_info {
    font-weight: 700;
    border: 2px solid maroon;
}

.sub-side ul {
    margin: -3px 0 3px 0;
    font-size: .8em;
    font-weight: 400;
}

.sub-side li {
    border: none!important;
    padding: 3px 6px!important;
}

.sub-side li:after {
    content: " «";
}

.sub-narrow {
    display: table;
    width: 100%;
}

.sub-narrow ul {
    display: table-row!important;
    margin-top: 20px!important;
    padding-left: 0;
}

.sub-narrow li {
    display: table-cell;
    text-align: center;
    text-decoration: none;
    padding: 6px;
    cursor: pointer;
}

.sub-narrow li:before {
    content: "» ";
}

#refresh {
    display: none;
}

#refresh.enabled {
    display: inline-block;
    position: fixed;
    border: 2px solid maroon;
    border-radius: 5px;
    background: #fff;
    padding: 5px;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    opacity: .5;
}

#refresh.enabled:hover {
    opacity: 1;
}

.refresh_icon {
    background: url(icons.png) 0 -94px no-repeat;
    width: 39px;
    height: 40px;
    display: inline-block;
    vertical-align: top;
    padding-right: 5px;
}

@media (max-width:699px) {
    .wide-only {
        display: none;
    }

    #time,#scroll {
        left: 8px;
    }

    #refresh.enabled {
        bottom: 20px;
        right: 20px;
    }

    #banner {
        text-align: center;
        margin: 10px 0;
    }

    #title {
        display: none!important;
    }

    #tabs {
        padding-top: 5px!important;
    }

    #tabs li {
        display: inline-block;
        border-bottom: 2px solid maroon;
    }

    .next #tab_next,.star #tab_star,.prog #tab_prog,.part #tab_part,.info #tab_info {
        margin: 0 -2px;
        border-bottom-color: #fff;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }

    .sub-side {
        display: none!important;
    };
}

@media (min-width:700px) {
    #time,#scroll {
        left: 228px;
    }

    #refresh.enabled {
        bottom: 20px;
        left: 20px;
    }

    #banner {
        width: 200px;
        float: left;
        position: fixed;
    }

    #title-small {
        display: none;
    }

    #title {
        display: block!important;
    }

    #tabs {
        font-size: 1.2em;
    }

    #tabs li {
        display: block;
        text-align: right;
        border-right: 2px solid maroon;
    }

    .next #tab_next,.star #tab_star,.prog #tab_prog,.part #tab_part,.info #tab_info {
        margin: -2px 0;
        border-right-color: #fff;
        border-top-left-radius: 5px;
        border-bottom-left-radius: 5px;
    }

    .sub-narrow {
        display: none!important;
    }

    #main {
        position: absolute;
        top: 0;
        left: 228px;
        right: 10px;
    }

    #main p {
        max-width: 600px;
    };
}

.ls {
    clear: both;
}

.ls_loading {
    width: 100%;
    max-width: 685px;
    text-align: center;
}

.day-link {
    display: block;
    max-width: 665px;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    cursor: pointer;
}

.day-link:before {
    content: "» ";
}

.day-link:hover {
    text-decoration: underline;
}

.day-link:last-child {
    padding: 100px 10px;
}

.item_expander {
    width: 100%;
    max-width: 685px;
    text-align: right;
    position: absolute;
    z-index: 3;
    padding-top: 50px;
}

@media (max-width:699px) {
    .ls_loading,.item_expander {
        margin-left: -16px;
    };
}

.new_day {
    padding-top: 40px;
    background: #fff;
    border-bottom: 5px solid maroon;
    font-size: 2em;
    width: 100%;
}

.new_day,.new_time {
    position: relative;
    z-index: 2;
}

.new_day+hr {
    display: none;
}

.new_time {
    padding: 13px 0 0;
    height: 70px;
    margin-bottom: -78px;
    width: 65px;
    text-align: center;
    background: #fff;
    background: transparent -webkit-linear-gradient(top,#fff 50%,rgba(255,255,255,0));
    background: transparent -moz-linear-gradient(top,#fff 50%,rgba(255,255,255,0));
    background: transparent -ms-linear-gradient(top,#fff 50%,rgba(255,255,255,0));
    background: transparent linear-gradient(top,#fff 50%,rgba(255,255,255,0));
}

.item_frame {
    position: relative;
    margin: 0 0 10px 65px;
}

.item_star {
    position: absolute;
    width: 20px;
    height: 20px;
    top: 10px;
    left: 10px;
    background: #f5e6c3;
    cursor: pointer;
}

.item_star.has_star {
    background: maroon!important;
}

.show_set .item_star {
    width: 14px;
    height: 14px;
    border: 3px solid #f5e6c3;
}

.show_set .item_star.in_set {
    border-color: maroon;
}

@media screen and (-ms-high-contrast:active) {
    .item_star {
        background: #f5e6c3;
    }

    .item_star.has_star {
        background: maroon!important;
    };
}

.item {
    clear: both;
    display: block;
    overflow: auto;
    padding: 5px 10px 0 30px;
    margin-bottom: 5px;
    cursor: pointer;
}

.item>div {
    margin: 0 10px;
}

.item .title {
    margin: 3px 0 3px 10px;
}

.item .loc,.item>.item-people {
    display: inline-block;
    color: #88847d;
    font-size: .875em;
}

.item .loc a,.item>.item-people a {
    color: #88847d;
}

.extra {
    display: none;
    clear: left;
}

.extra div {
    float: none;
}

.extra p {
    margin-bottom: 0;
}

.extra .item-people {
    max-width: 600px;
    margin: 1em 0;
}

.permalink {
    background: url(icons.png) -21px -135px no-repeat;
    width: 17px;
    height: 17px;
    display: block;
    position: absolute;
    top: 42px;
    left: 13px;
    opacity: .3;
}

.permalink:hover {
    opacity: 1;
}

.votes {
    display: none;
    color: #ccc5bb;
    font-size: .875em;
}

.votes a {
    display: inline-block;
    color: #ccc5bb;
}

.has_votes,.expanded .votes {
    display: inline-block;
}

.v_pos.voted {
    color: #e79e9e;
}

.v_neg.voted {
    color: #9e9ee7;
}

.num-comments {
    display: inline-block;
    color: #ccc5bb;
    font-size: .875em;
}

.expanded {
    background: #f5e6c3;
}

.expanded .item_star {
    background: #f0d79d;
}

.expanded .item {
    padding-bottom: 1em;
}

.expanded .title {
    font-weight: 700;
}

.expanded .loc {
    color: #736f68!important;
}

.expanded .item>.item-people {
    display: none;
}

.expanded .extra,.expanded .vote,.expanded .comments-wrap {
    display: block;
}

.expanded .num-comments {
    display: none;
}

.expanded .votes {
    color: #736f68!important;
}

.expanded .votes a {
    background-repeat: no-repeat;
    height: 15px;
    opacity: .5;
    color: #000;
}

.logged-in .expanded .votes a {
    background-image: url(icons.png);
    padding-left: 18px;
}

.logged-in .expanded .votes a.voted,.logged-in .expanded .votes a:hover {
    opacity: 1;
}

.expanded .v_pos {
    background-position: 0 -32px;
    margin-left: 3px;
}

.expanded .v_neg {
    background-position: 0 -48px;
}

.expanded .v_pos.voted:hover {
    background-position: 0 -16px;
}

.expanded .v_pos.v2 {
    background-position: 0 0!important;
}

.expanded .v_pos.voted {
    color: #ce3d3d;
    font-weight: 700;
}

.expanded .v_neg.voted {
    color: #3d3dce;
    font-weight: 700;
}

.comments-wrap {
    display: none;
    margin-top: 1em!important;
}

.comments-wrap form {
    display: block;
    max-width: 600px;
    margin-bottom: 1em;
}

.comments-wrap form textarea {
    width: 100%;
    width: calc(100% - 6px);
}

.comments-wrap form input[type=submit],.comments-wrap form input[type=reset] {
    float: right;
    margin: 0 0 0 4px;
}

.comments-wrap form label {
    display: block;
    clear: left;
}

.comments {
    margin-bottom: 1em;
}

.comment {
    border-bottom: 1px solid #ccc5bb;
    padding: 1em 0;
    font-size: .875em;
}

.comment>span {
    color: #736f68;
}

.comment>div {
    margin-top: .5em;
    max-width: 600px;
    white-space: pre-line;
}

.comment-author {
    font-weight: 700;
}

.comment-author:after {
    font-family: Roboto,sans-serif;
    font-weight: 400;
    content: " | ";
}

#main p {
    white-space: pre-line;
}

#info_view p {
    white-space: initial;
}

.view {
    display: none;
}

.star #star_view {
    display: block;
}

.star #prog_ls .new_day:first-child {
    padding-top: 20px;
}

#star_links,#star_data {
    text-align: center;
}

.prog #prog_view {
    display: block;
}

.day-list {
    display: none;
}

.prog .day-list {
    display: block;
}

#prog_filters {
    margin-left: -20px;
}

#prog_filters ul {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 0 0 20px;
    padding-left: 20px;
    text-align: left;
    vertical-align: top;
}

#prog_filters ul:focus {
    z-index: 3;
}

#prog_filters li {
    line-height: 1;
    padding-bottom: 5px;
}

#prog_filters input {
    margin: 0 4px 0 0;
}

#q,#q_ctrl {
    display: inline-block;
}

#q {
    max-width: 150px;
}

#q_ctrl input,#q_fix {
    cursor: pointer;
}

#q:valid {
    background: #f5e6c3;
}

#q:valid+#q_ctrl input {
    border-color: maroon;
}

#q_fix b {
    color: maroon;
}

#q_clear {
    margin-left: 14px!important;
}

#filter_sum {
    clear: left;
    max-width: 681px;
    margin: 20px 0 0 20px;
    border: 2px solid maroon;
    border-radius: 5px;
    padding: 10px;
    background: #f0d79d;
    text-align: center;
}

#filter_sum a {
    font-weight: 700;
    text-decoration: none;
}

#filter_sum a:hover {
    text-decoration: line-through;
}

.part #part_view {
    display: block;
}

#part_view {
    position: relative;
    z-index: 3;
    padding-top: 0;
    margin-bottom: 1em;
    background: #fff;
}

#name_sort li {
    display: inline-block;
    padding: 0 10px;
}

.name-list {
    display: none;
}

.part .name-list {
    display: block;
}

#part_names {
    list-style-type: none;
    margin: 20px 0 0 10px;
    padding: 0;
    -webkit-column-width: 260px;
    -moz-column-width: 260px;
    column-width: 260px;
}

#part_names li {
    cursor: auto;
}

#part_names a {
    text-decoration: none;
}

#part_names.fn-only,#part_names.ln-only {
    -webkit-column-width: 180px;
    -moz-column-width: 180px;
    column-width: 180px;
}

#part_names.fn-only .fn,#part_names.ln-only .fn {
    display: none;
}

#part_names.fn-only .ln,#part_names.ln-only .ln {
    display: inline;
    width: auto;
    float: none;
}

.fn,.ln {
    display: block;
    width: 128px;
    width: calc(48%);
    min-height: 1px;
    float: left;
}

.fn {
    text-align: right;
    vertical-align: top;
    clear: both;
    padding-right: 2px;
}

.ln {
    vertical-align: bottom;
    padding-left: 2px;
}

.part_img {
    display: block;
    float: right;
    margin: 0 0 5px 10px;
    border: 2px solid maroon;
    border-radius: 5px;
    overflow: hidden;
    width: 184px;
    height: 184px;
}

.part_img img {
    width: 184px;
    height: 184px;
}

.part_list_link {
    display: block;
    text-decoration: none;
    padding-bottom: 10px;
}

#part_info {
    clear: both;
}

#part_info h2 {
    font-size: 2em;
    margin: 0 0 10px;
    border-bottom: 2px solid maroon;
}

#part_info p {
    margin-bottom: 0;
}

.linklist {
    max-width: 705px;
}

.linklist dt {
    float: left;
    width: 100px;
    text-align: right;
    margin-right: 6px;
}

.linklist dd {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.linklist a {
    text-decoration: none;
    font-weight: 700;
}

.linklist a:hover {
    text-decoration: underline;
}

.info #info_view {
    display: block;
    max-width: 600px;
}

.info #time,.info #scroll {
    display: none!important;
}

#info_view h3 {
    margin: 20px 0 5px;
    border-bottom: 2px solid #ccc5bb;
    padding-bottom: 2px;
}

#info_view h3+p {
    margin-top: 5px;
}

#info_view h2 {
    font-size: 2em;
    margin-top: 40px;
    border-bottom: 2px solid maroon;
}

#info_view .collapse,#info_view .collapse-open {
    cursor: pointer;
}

#info_view .collapse:before,#info_view .collapse-open:before {
    content: "» ";
}

#info_view .collapse {
    border: none;
}

#info_view .collapse+* {
    display: none;
}

#info_view table {
    width: 100%;
    border-spacing: 0;
}

#info_view tr:hover {
    background: #f5e6c3;
}

#info_view td {
    text-align: center;
}

#info_view td:first-child {
    text-align: left;
}

#info_view ol {
    margin: 5px 0;
}

#info_view #last-updated {
    display: none;
}

#info_view #last-updated span {
    border-bottom: 1px dotted;
    cursor: pointer;
}

#install-instructions p,#install-instructions h4 {
    display: inline;
    margin: 0;
}

.compact-dl {
    padding-top: 10px;
}

.compact-dl dt {
    width: 165px;
    float: left;
    clear: left;
    text-align: right;
    color: #88847d;
}

.compact-dl dd {
    margin-left: 175px;
    padding-bottom: 10px;
}

.ios_share_icon {
    background: url(icons.png) 0 -67px no-repeat;
    width: 10px;
    height: 14px;
    background-size: 25px;
    display: inline-block;
    width: 10px!important;
    vertical-align: baseline;
    margin: 0 3px!important;
}

.android_menu_icon {
    display: inline-block;
    position: relative;
    left: 5px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.android_menu_icon:before {
    content: "…";
}

.ie_menu_icon {
    position: relative;
    bottom: 4px;
}

.ie_menu_icon:before {
    content: "…";
}

@media print {
    #banner,#prog_lists,#search,.item_expander {
        display: none!important;
    };
}
