* { box-sizing: border-box; }
body
{
    font-family: sans-serif;
    font-size: 10pt;
    margin: 0px;
    padding: 2px;
    cursor: default;
    user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;
    margin-bottom: 40px;
}

#header
{
    font-size: 16pt;
    background-color: #333;
    background: url('images/palmtree.svg') 5px 5px no-repeat, linear-gradient(0deg, #0000b4, #0000e7 70%);
    background-size: 40px, auto;
    color: #fff;
    margin: 0;
    margin-left: auto; margin-right: auto;
    padding: 5px 30px 5px 50px;
    text-align: center;
    max-width: 800px;
    min-height: 40px;
}
#header div { font-size: 75%; }
#full-header { position: relative; max-width: 800px; margin-left: auto; margin-right: auto; }
#navbar
{
    text-align: center;
    background-color: #444;
    background: linear-gradient(0deg, #000091, #0000b4 70%);
    color: #fff;
    padding: 2px;
    padding-bottom: 4px;
    max-width: 800px;

    margin-left: auto; margin-right: auto;
}
#navbar a, #navbar span, #profile_button
{
    color: #fff;
    text-shadow: -1px -1px #555;
    background-color: #0000c5;
    background: linear-gradient(0deg, #0000c5, #0000f7 70%);
    text-decoration: none;
    display: inline-block;
    text-align: center;
    padding: 2px;
    border: solid 1px #0000c6;
    border-radius: 5px;
    cursor: pointer;
}
#navbar img { vertical-align: middle; margin-right: 2px; max-width: 16px; }
#profile_button img { vertical-align: middle; max-width: 16px; }
#profile_button { position: absolute; top: 5px; right: 5px; }
#footer {
    line-height: 50px;
	height: 50px;
	text-align: center;
	width: 100%;
    max-width: 100%;
}

.bottom_toolbar {
    position: relative;
    background-color: inherit;
    border-top: none;
    height: auto;
    padding: inherit;
}

.top_right
{
    position: absolute;
    top: 2px;
    right: 2px;
}


#content
{
    border: solid 1px #666;
    padding: 2px;
    max-width: 800px;
    margin-left: auto; margin-right: auto;
    position: relative;
}
#content div.subtitle
{
    background-color: #932300;
    background: linear-gradient(0deg, #e8e6b0, #eae8b0 70%);
    padding: 3px;
    font-weight: bold;
    color: #000;
    text-shadow: 1px 1px #fff;
    margin-bottom: 2px;
    white-space: nowrap;
}
#content div.title, thead th
{
    background-color: #600;
    background: linear-gradient(0deg, #e8e6b0, #eae8b0 70%);
    padding: 3px;
    font-weight: bold;
    color: #000;
    text-shadow: 1px 1px #fff;
    margin-bottom: 2px;
    white-space: nowrap;
}
#content tbody th
{
    text-align: left;
}

#content h1
{
    margin: 0;
    margin-bottom: 2px;
    border-bottom: solid 1px #ccc;
}
#content label { font-weight: bold; }

form { margin-bottom: 1em; }

form label
{
    display: inline-block;
    min-width: 125px;
}
form label img { vertical-align: middle; margin: 1px; }

form textarea
{
    font-family: sans-serif;
    font-size: 10pt;
}

#errmsg, .errmsg { color: #f00; }
.goodmsg { color: #090; }

.left { text-align: left; }
.center { text-align: center; }
.right { text-align: right; }
.justify { text-align: justify; }

.separator_top { border-top :solid 1px #666; padding-top: 2px; }
.border_top { border-top: solid 1px #666; }
.border_bottom { border-top: solid 1px #666; }
.empty_border { border-top: solid 1px #666; height: 4px !important; overflow:hidden; margin-top: 2px; margin-bottom: 2px; }
.empty_spacer { height: 4px !important; margin-top: 2px; margin-bottom: 2px; }

input[type="submit"]
{
    border: solid 2px #ccc;
    color: #fff;
    text-shadow: -1px -1px #000;
    background-color: #000;
    background: linear-gradient(0deg, #000, #555 70%);
    cursor: pointer;
    padding: 5px;
    border-radius: 10px;
    font-weight: bold;
}
input[type="submit"].disabled
{
    background-color: #eee;
    color: #e5e5e5;
}
input[type="number"]
{
    width: 80px;
    text-align: right;
}

tr.bottom_row td, td.bottom_row
{
    border-bottom: dotted 1px #ccc;
}

.default_bike
{
    background-color: #cfc;
}

td
{
    padding: 2px;
}
td.money, th.money { text-align: right; }

tfoot tr { background-color: #f0f0f0; } 

.linkimg
{
    cursor:pointer;
}
.link { text-decoration: underline; color: blue; }

#note
{
    display: none;
    position: absolute;
    background-color: #efefef;
    border: solid 1px #333;
    padding: 2px;
}

#note span
{
    float: right;
    margin-left: 2px;
}
#note form { display: inline; }
#note textarea { width: 95%; height: 1.25em; border: 0; display: inline; background-color: #f4f4f4; }

#preset-name { display: none; }
#preset-list
{
    margin-top: 4px; margin-bottom: 4px;
}
.preset
{
    padding: 4px;
    cursor: pointer;
    color: #00f;
    text-decoration: underline;
    border: dashed 1px #666;
    margin-bottom: 2px;
    display: inline-block;
}
.preset img { vertical-align: middle; padding-left: 5px; }

.float_right { float: right; margin-left: 1px; }
.float_left { float: left; margin-right: 1px; }

table.hovertable tbody tr:hover
{
    background-color: #eee;
}

.bikemsg, .profilemsg, .logmsg
{
    display: block;
    padding: 2px;
    border: solid 1px #666;
    margin: 2px 0px;
}

#calendar { overflow: hidden; }
.calendar_head, .calendar_head_small
{
    border: solid 1px #333;
    border-right: 0; 
    text-align: center;
    margin: 0;
    box-sizing: border-box;
    float:left;
}
.calendar_head_small { display: none; }

@media only screen and (max-width: 640px)
{
    .calendar_head { display: none; }
    .calendar_head_small { display: inline-block; }
    input[type="text"], textarea { display: block; width: 100%; }
    #login_page input[type="text"] { display: inline; width: auto; }
    table.hovertable td { padding: 3px 1px; }
    table.hovertable img { min-width: 20px; min-height: 20px; }
    #content div.subtitle { padding: 8px 3px; }
    .bottom_toolbar {
        position: fixed;
        left: 0; width: 100%;
        bottom: 0;
        background-color: #fff;
        border-top: solid 1px #ccc;
        height: 40px;
        padding-top: 2px;
        padding-bottom: 2px;
    }
}

.g-recaptcha div:first-child { margin-left: auto; margin-right: auto; }
.nowrap { white-space: nowrap; }
.nowrapta
{
    overflow-x: scroll;
    white-space: nowrap;
    padding: 0;
}

.calendar_day
{
    border-left: solid 1px #333;
    border-bottom: solid 1px #333;
    border-right: 0;
    position: relative;
    width: 50px; height: 50px;
    margin: 0px;
    box-sizing: border-box;
    float: left;
    overflow: hidden;
    white-space: nowrap;
}
.calendar_day .entries
{
    font-size: 8pt;
    margin-top: 2em;
}
.today { background-color: #efe; }
.border_right {
    border-right: solid 1px #333;
}
.empty
{
    background-color: #ddd;
}
.calendar_day .date_label
{
    position: absolute;
    right: 2px; top: 2px;
    font-weight: bold;
    cursor: pointer;
    border-bottom: dotted 1px #666;;
}
.calendar_day.empty .date_label { border: 0; cursor: default; }
.calnav { margin: 2px 5px; }
.calnav a { color: #fff; text-decoration: none; font-weight: bold; }

.bold { font-weight: bold; }
.tabbed { padding-left: 1em !important; }
.tabbed2 { padding-left: 2em !important; }

.graph { max-width: 100%; }
.paging_box { padding: 4px; }
.page_button, .subnav a
{
    background-color: #ddd;
    background: linear-gradient(0deg, #ddd, #f0f0f0 70%);
    border: solid 1px #333;
    border-radius: 5px;
    padding: 2px 4px;
    text-decoration: none;
    text-shadow: 1px 1px #fff;
    color: black;
    cursor: pointer;
}

#entry_note { max-width: 100%; max-height: 800px; }

#header-bg { background-color: #fff; }

.extra_margin { margin: 10px; }
.extra_padding { padding: 10px; }
.small_padding { padding: 5px; }

.small_button
{
    padding: 0px 2px;
    border: solid 1px #67674f;
    border-radius: 5px;
    background-color: #c5c496;
    color: #000;
    cursor: pointer;
    text-decoration: none;
    font-size: smaller;
}

.button
{
    cursor: pointer;
    font-weight: bold;
    padding: 4px 8px;
    text-decoration: none;
    border: solid 1px #333;
    border-radius: 10px;
    background-color: #ddd;
    color: #000;
}
.button.blue
{
    padding: 4px 8px;
    background-color: #006;
    background: linear-gradient(0deg, #006, #33c 60%);
    color: #fff;
    text-shadow: -1px -1px #006;
    border: solid 2px #66b;
}
.button.grey
{
    background-color: #666;
    background: linear-gradient(0deg, #333, #666 60%);
    color: #fff;
    text-shadow: -1px -1px #333;
    border: solid 2px #666;
}

.ad:before
{ content: 'A word from our sponsors: '; font-size: 8pt; }

.smaller { font-size: 90%; }
.patreon_button { width: 256px; max-width: 90%; border: 0; }
.inline { display: inline; }

#loading { background-color: rgba(255,255,255,.8); box-sizing: border-box; border: solid 1px #333; text-align: center; font-size: 14pt; }
#track-details
{
    position: fixed;
    background-color: rgba(255,255,255,.9);
    border: solid 1px #333;
    box-sizing: border-box;
}
#track-details-content { margin: 2px; padding: 3px; overflow: auto; }
#track-details label
{
    display: inline-block;
    min-width: 125px;
}
#track-details label img { vertical-align: middle; margin: 1px; }

.hidden
{
    display: none;
}

.toggler { position: relative; cursor: pointer; }
.toggler .total_distance { position: absolute; right: 2px; }
.toggler img { margin-left: 2px; margin-right: 4px; vertical-align: text-top; }

.subnav { min-height: 24px; text-align: center; margin-top: 4px; }
.anchor { display: block; position: relative; top: -100px; visibility: hidden; }
.imagetd img { margin-right: 2px; }

#entries .entry
{
    position: relative;
    min-height: 90px;
    padding-left: 64px;
    border-bottom: dotted 1px #ccc;
}
#entries .entry:hover
{
    background-color: #f5f5f5;
}

#entries .entry label
{
    display: inline-block;
    min-width: 100px;
    font-weight: bold;
}

#entries .entry .icon
{
    position: absolute;
    left: 0; top: 0;
    width: 64px; height: 64px;
    text-align: center;
    font-weight: bold;
    padding: 5px;
    box-sizing: border-box;
}
#entries .entry .icon img
{
    max-width: 80%;
}
#entries .entry .costs
{
    position: absolute;
    right: 2px; top: 2px;
    text-align: right;
}

#usermenu {
    display: none;
    background-color: #eee;
    border: solid 1px #ccc;
    box-shadow: 5px 5px 10px #333;
    padding: 2px;
    width: auto;
    position: fixed;
}

#usermenu a {
    display: block;
    text-decoration: none;
    color: #000;
    padding: 4px;
    white-space: nowrap;
}
#usermenu a:hover {
    background-color: #ccc;
}
.menuhead
{
    font-weight: bold;
    background-color: #ddd;
    padding: 4px;
    text-align: center;
}

.secret_link
{
    text-decoration: none;
    color: #000;
}

h2 { margin: 0; }

tr.filter_row td { border-bottom: solid 1px #999; }

.pre
{
    font-family: monospace;
    border: solid 1px #333;
    border-bottom: solid 1px #999;
    border-right: solid 1px #999;
    background-color: #eee;
    user-select: text; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text;
}

@media only screen and (min-width: 640px) {
#header { border: solid 1px #555; border-bottom: 0;  border-top-left-radius: 1em; border-top-right-radius: 1em; padding-left: 5px; }
#profile_button { position: absolute; top: 5px; right: 10px; }
#navbar a, #navbar span
{
    background: none;
    border: 0;
}
#navbar a:first-child:before
{
    content: "";
}
#navbar a:before
{
    content: '\2022\A0';
}
#navbar a:hover { background-color: inherit !important; }
#navbar a { border: 0; }

.hidden { display: block; }
.toggler { cursor: default; }
.toggler .total_distance { display: none; }
.toggler img { display: none; }
.anchor { display: inline; position: relative; top: auto; visibility: hidden; }
}
