html
{
    font-size: 62.5%;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#eeeeee+0,eeeeee+100;Grey+Flat */
    background: rgb(238,238,238); /* Old browsers */
    background: -moz-linear-gradient(-45deg,  rgba(238,238,238,1) 0%, rgba(238,238,238,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#eeeeee',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

body
{
    font-family: "Droid Serif Pro Bold Italic Font", "Courier New", Courier, monospace;    
    margin: 0;
    padding: 0;
    font-size: 1rem;
}

/* Smartwatch */
@media only all and (min-device-width: 272px)
{
    html
    {
        font-size: 50%;
    }    
}

/* Mobile device */
@media only all and (min-device-width: 320px)
{
    html
    {
        font-size: 62.5%;
    }    
}

/* Tablets */
@media only all and (min-device-width: 768px)
{
    html
    {
        font-size: 100%;
    }    
}

/* HD */
@media only all and (min-width: 1920px) and (orientation: landscape), only all and (min-height: 1920px) and (orientation: portrait)
{
    html
    {
        font-size: 125%;
    }    
}

/* Ultra-HD */
@media only all and (min-width: 2560px) and (orientation: landscape), only all and (min-height: 2560px) and (orientation: portrait)
{
    html
    {
        font-size: 200%;
    }    
}

*
{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/**************************************************************/
.invisible
{
    display: none;
}

h2 
{
    font-weight: bold;
    font-size: 1.4rem;
    text-align: center;
}

h3
{
    font-weight: bold;
    font-size: 1.2rem;
    text-align: center;
}

td,th
{
    padding: 0.25rem;    
}

td>input, td>select
{
    width: 100%;   
}

.wrapper
{    
    width: 99%;
    margin: 0 auto;
}

.center
{
    text-align: center;
}

.right
{
    text-align: right;
}

.label
{
    font-weight: bold;
}

input, select
{    
    min-height: 1rem;
}

input[type=number], input[type=text]
{
    text-align: right;
}

.button 
{
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#3b679e+0,2b88d9+50,207cca+51,7db9e8+100;Blue+Gloss+%232 */
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#006e2e+0,006e2e+100;Green+Flat+%233 */
    background: rgb(0,110,46); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgba(0,110,46,1) 0%, rgba(0,110,46,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(0,110,46,1) 0%,rgba(0,110,46,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(0,110,46,1) 0%,rgba(0,110,46,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#006e2e', endColorstr='#006e2e',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    
    margin: 0 auto;
    color: #FFFFFF;
    font-weight: bold;
    cursor: pointer;
    border-radius:  0.25rem;
    -webkit-border-radius:  0.25rem;
    -moz-border-radius:     0.25rem;
    font-size: 1.5rem;
}

.button:hover
{
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#299a0b+0,299a0b+100;Green+Flat+%231 */
    background: rgb(41,154,11); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgba(41,154,11,1) 0%, rgba(41,154,11,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(41,154,11,1) 0%,rgba(41,154,11,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(41,154,11,1) 0%,rgba(41,154,11,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#299a0b', endColorstr='#299a0b',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

.backButton, .resetButton
{
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#a90329+0,8f0222+44,6d0019+100;Brown+Red+3D */
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#cc0000+0,cc0000+100;Red+Flat */
    background: rgb(204,0,0); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgba(204,0,0,1) 0%, rgba(204,0,0,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(204,0,0,1) 0%,rgba(204,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(204,0,0,1) 0%,rgba(204,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc0000', endColorstr='#cc0000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */

    margin: 0 auto;
    color: #FFFFFF;
    font-weight: bold;
    cursor: pointer;
    border-radius:  0.25rem;
    -webkit-border-radius:  0.25rem;
    -moz-border-radius:     0.25rem;
    font-size: 1.5rem;
}

.backButton
{
    position: fixed;
    top: 0;
}

.backButton:hover, .resetButton:hover
{
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ff1a00+0,ff1a00+100;Red+Flat+%231 */
    background: rgb(255,26,0); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgba(255,26,0,1) 0%, rgba(255,26,0,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(255,26,0,1) 0%,rgba(255,26,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(255,26,0,1) 0%,rgba(255,26,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff1a00', endColorstr='#ff1a00',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

.flexContainer
{
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
}

.flexItem
{
    flex: 1;
}

a:link, a:visited
{
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#006e2e+0,006e2e+100;Green+Flat+%233 */
    background: rgb(0,110,46); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgba(0,110,46,1) 0%, rgba(0,110,46,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(0,110,46,1) 0%,rgba(0,110,46,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(0,110,46,1) 0%,rgba(0,110,46,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#006e2e', endColorstr='#006e2e',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    margin: 0 auto;
    color: #FFFFFF;
    font-weight: bold;
    cursor: pointer;
    border-radius:  0.25rem;
    -webkit-border-radius:  0.25rem;
    -moz-border-radius:     0.25rem;
    font-size: 1.5rem;
    
    text-align: center; 
    text-decoration: none;
    /*display: inline-block;*/
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

a:hover, a:active 
{
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#299a0b+0,299a0b+100;Green+Flat+%231 */
    background: rgb(41,154,11); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgba(41,154,11,1) 0%, rgba(41,154,11,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(41,154,11,1) 0%,rgba(41,154,11,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(41,154,11,1) 0%,rgba(41,154,11,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#299a0b', endColorstr='#299a0b',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
} 

/* IScroll stuff START */
.iScroll.wrapper
{
    position:   relative; 
    z-index: 1;
    overflow: hidden;
}

.iScroll.scroller
{
    z-index: 1;
    width: 100%;
}

.iScroll.scroller, .iScroll.scrollerX, .iScroll.scrollerY
{
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.iScroll.leftScroll
{
    direction: rtl;
}

.iScroll.leftScroll *
{
    direction: ltr;
}

.iScroll.scroller
{
    overflow-x: scroll;
    overflow-y: scroll;
}

.iScroll.scrollerX
{
    overflow-x: scroll;   
    overflow-y: hidden;
}

.iScroll.scrollerY
{
    overflow-x: hidden;
    overflow-y: scroll;
}

.iScroll.scroller::-webkit-scrollbar, .iScroll.scrollerX::-webkit-scrollbar, .iScroll.scrollerY::-webkit-scrollbar
{
    /*display: none;*/
    -webkit-appearance: none;
    /* was 14px */
    width: 8px;
    height: 8px;
}

.iScroll.scroller::-webkit-scrollbar-thumb, .iScroll.scrollerX::-webkit-scrollbar-thumb, .iScroll.scrollerY::-webkit-scrollbar-thumb
{
    border-radius: 8px;
    border: 1px solid #fff;
    background-color: rgba(33, 33, 33, .8);
}

.iScroll.scroller.noscrollbar::-webkit-scrollbar, .iScroll.scrollerX.noscrollbar::-webkit-scrollbar, .iScroll.scrollerY.noscrollbar::-webkit-scrollbar
{
    display: none;
}

/*.iScroll.scroller>*
{*/
    /* http://cubiq.org/you-shall-not-flicker */
    /*-webkit-transform: translate3d(0, 0, 0);*/
    /* https://github.com/watusi/jquery-mobile-iscrollview */
    /*-webkit-transform: translateZ(0);
}*/
/* IScroll stuff END */ 
/* IScroll stuff START */
.iScroll.wrapper
{
    position:   relative; 
    z-index: 1;
    overflow: hidden;
}

.iScroll.scroller
{
    z-index: 1;
    width: 100%;
}

.iScroll.scroller, .iScroll.scrollerX, .iScroll.scrollerY
{
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.iScroll.leftScroll
{
    direction: rtl;
}

.iScroll.leftScroll *
{
    direction: ltr;
}

.iScroll.scroller
{
    overflow-x: scroll;
    overflow-y: scroll;
}

.iScroll.scrollerX
{
    overflow-x: scroll;   
    overflow-y: hidden;
}

.iScroll.scrollerY
{
    overflow-x: hidden;
    overflow-y: scroll;
}

.iScroll.scroller::-webkit-scrollbar, .iScroll.scrollerX::-webkit-scrollbar, .iScroll.scrollerY::-webkit-scrollbar
{
    /*display: none;*/
    -webkit-appearance: none;
    /* was 14px */
    width: 8px;
    height: 8px;
}

.iScroll.scroller::-webkit-scrollbar-thumb, .iScroll.scrollerX::-webkit-scrollbar-thumb, .iScroll.scrollerY::-webkit-scrollbar-thumb
{
    border-radius: 8px;
    border: 1px solid #fff;
    background-color: rgba(33, 33, 33, .8);
}

.iScroll.scroller.noscrollbar::-webkit-scrollbar, .iScroll.scrollerX.noscrollbar::-webkit-scrollbar, .iScroll.scrollerY.noscrollbar::-webkit-scrollbar
{
    display: none;
}

/*.iScroll.scroller>*
{*/
    /* http://cubiq.org/you-shall-not-flicker */
    /*-webkit-transform: translate3d(0, 0, 0);*/
    /* https://github.com/watusi/jquery-mobile-iscrollview */
    /*-webkit-transform: translateZ(0);
}*/
/* IScroll stuff END */
/* ON/OFF buttons START */
.onoffWrapper
{
    display: inline-block;
}

input.onoff
{
    position: absolute;
    /*left: -9999px;*/
    display: none;
}

label.onoff
{
    display: block;
    position: relative;    
    border: 0.1rem solid #fff;
    border-radius: 0.25rem;
    color: #fff;
    background-color: #6a8494;
    box-shadow: 0 0 2rem rgba(0, 0, 0, .2);
    white-space: nowrap;
    cursor: pointer;
    overflow: hidden;
    user-select: none;
    transition: background-color .2s, box-shadow .2s;
    min-height: 2rem;
    min-width: 3.5rem;
    text-align: center;
}

input.onoff:not(:checked) + label.onoff
{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 2.5rem; /* 1.5rem from "checkbox" width + 0.5rem padding (checkbox to border) + 0.5rem */
    padding-right: 0.5rem;
}

input.onoff:checked + label.onoff
{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 2.5rem; /* 1.5rem from "checkbox" width + 0.5rem padding (checkbox to border) + 0.5rem */
}

/* 
    item height is font-size+top padding+bottom padding
    so it's 1rem (font)+0.5rem+0.5rem = 2rem by default
    for symbol labels, we should make the font part of it larger, e.g.
    1.5rem (font)+0.25rem+0.25rem = 2rem
*/    
input.onoff:not(:checked) + label.onoff.symbol
{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

input.onoff:checked + label.onoff.symbol
{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

label.onoff:hover, input.onoff:focus + label 
{
    box-shadow: 0 0 2rem rgba(0, 0, 0, .6);
}

input.onoff:checked + label.onoff 
{
    background-color: #4b9500;
}

input.onoff.deleteStyle:checked + label.onoff 
{
    background-color: #fc3c3c;
}

input.onoff:disabled + label.onoff
{
    background-color: #aaaaaa;
    font-style: italic;
}

input.onoff:not(:checked) + label.onoff::before,
input.onoff:checked + label.onoff::after
{
    content: '';
    display: block;
    position: absolute;   
    top: 0.25rem;
    bottom: 0.25rem;
    width: 1.5rem;
    border: 0.1rem solid #fff;
    border-radius: 0.25rem;
    transition: background-color .2s;
}

input.onoff:not(:checked) + label.onoff::before
{        
    left: 0.25rem;    
}

input.onoff:checked + label.onoff::after
{
    right: 0.25rem;
    background-color: #fff;
}
/* ON/OFF buttons END */