Build mobile apps with simple HTML, CSS, and JS components. http://goratchet.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1112 lines
20 KiB

/*
* =====================================================
* Ratchet v2.0.0
* Copyright 2013 Connor Sears, Dave Gamache, and Jacob Thornton
* Licensed under http://www.opensource.org/licenses/MIT
*
* Designed and built by @connors, @dhg, and @fat.
* =====================================================
*/
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
audio,
canvas,
video {
display: inline-block;
}
audio:not([controls]) {
display: none;
height: 0;
}
[hidden],
template {
display: none;
}
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
a {
background: transparent;
}
a:focus {
outline: thin dotted;
}
a:active,
a:hover {
outline: 0;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
abbr[title] {
border-bottom: 1px dotted;
}
b,
strong {
font-weight: bold;
}
dfn {
font-style: italic;
}
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
mark {
background: #ff0;
color: #000;
}
code,
kbd,
pre,
samp {
font-family: monospace, serif;
font-size: 1em;
}
pre {
white-space: pre-wrap;
}
q {
quotes: "\201C" "\201D" "\2018" "\2019";
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
img {
border: 0;
}
svg:not(:root) {
overflow: hidden;
}
figure {
margin: 0;
}
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
border: 0;
padding: 0;
}
button,
input,
select,
textarea {
font-family: inherit;
font-size: 100%;
margin: 0;
}
button,
input {
line-height: normal;
}
button,
select {
text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button;
cursor: pointer;
}
button[disabled],
html input[disabled] {
cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
padding: 0;
}
input[type="search"] {
-webkit-appearance: textfield;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
textarea {
overflow: auto;
vertical-align: top;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
font-family: "Helvetica Neue", Helvetica, sans-serif;
font-size: 17px;
line-height: 21px;
color: #000;
background-color: #fff;
}
a {
color: #007aff;
text-decoration: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.content {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: auto;
background-color: #efeff4;
-webkit-transition-property: top, bottom;
transition-property: top, bottom;
-webkit-transition-duration: .2s, .2s;
transition-duration: .2s, .2s;
-webkit-transition-timing-function: linear, linear;
transition-timing-function: linear, linear;
-webkit-overflow-scrolling: touch;
}
.content > * {
-webkit-transform: translateZ(0px);
transform: translateZ(0px);
}
.content-padded {
padding: 10px;
}
.bar-title ~ .content {
padding-top: 44px;
}
.bar-tab ~ .content {
padding-bottom: 51px;
}
.bar-header-secondary ~ .content {
padding-top: 88px;
}
[class*="bar-"] {
position: fixed;
right: 0;
left: 0;
z-index: 10;
height: 44px;
padding: 5px 10px;
background-color: rgba(247, 247, 247, 0.98);
box-shadow: 0 0 1px rgba(0, 0, 0, 0.85);
}
[class*="bar-"].bar-header-secondary {
top: 44px;
}
[class*="bar-"].bar-footer {
bottom: 0;
}
[class*="bar-"].bar-footer.bar-standard, [class*="bar-"].bar-footer-secondary.bar-standard {
box-shadow: 0 0 1px rgba(0, 0, 0, 0.85);
}
.bar-title {
top: 0;
display: -webkit-box;
display: box;
-webkit-box-orient: horizontal;
box-orient: horizontal;
}
.title {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
padding: 0;
margin: 0;
font-size: 17px;
font-weight: 500;
line-height: 44px;
color: #000;
text-align: center;
white-space: nowrap;
}
> a:not([class*="button"]) {
display: block;
width: 100%;
height: 100%;
}
.title a {
color: inherit;
}
.bar-tab {
bottom: 0;
height: 50px;
padding: 0;
box-shadow: 0 0px 1px rgba(0, 0, 0, 0.85);
}
.tab-inner {
display: -webkit-box;
display: box;
height: 100%;
padding: 0;
margin: 0;
list-style: none;
-webkit-box-orient: horizontal;
box-orient: horizontal;
}
.tab-item {
height: 100%;
padding-top: 9px;
text-align: center;
-webkit-box-flex: 1;
box-flex: 1;
}
.tab-icon {
display: block;
height: 18px;
margin: 0 auto;
}
.tab-label {
margin-top: 1px;
font-size: 11px;
font-weight: 400;
color: #929292;
}
.tab-item.active .tab-label {
color: #007aff;
}
.table-view {
padding: 0;
margin: 0;
list-style: none;
background-color: #fff;
}
.table-view li {
position: relative;
padding: 11px 60px 11px 0;
margin-left: 15px;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.table-view li:last-child {
border-bottom: 0;
}
.table-view li > a:not([class*="button"]) {
position: relative;
display: block;
padding: inherit;
margin: -11px -60px -11px 0;
color: inherit;
}
.table-view li > a:not([class*="button"]):active {
background-color: #eee;
}
.table-view li p {
margin: 0;
}
.table-view.inset {
width: auto;
margin-right: 10px;
margin-left: 10px;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 6px;
}
.table-view.inset li:first-child {
border-top-width: 0;
}
.table-view.inset li:last-child {
border-bottom-width: 0;
}
.table-view .table-view-divider {
position: relative;
top: -1px;
padding-top: 6px;
padding-bottom: 6px;
padding-left: 15px;
margin-left: 0;
font-weight: 500;
background-color: #f8f8f8;
border-top: 1px solid rgba(0, 0, 0, 0.1);
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
opacity: .4;
}
.table-view .table-view-divider:first-child {
top: 0;
border-top-width: 0;
border-radius: 6px 6px 0 0;
}
.table-view .table-view-divider:last-child {
border-radius: 0 0 6px 6px;
}
.table-view .chevron,
.table-view [class*="button"],
.table-view [class*="count"],
.table-view .toggle {
position: absolute;
top: 50%;
right: 10px;
}
.table-view .chevron,
.table-view [class*="count"] {
margin-top: -10px;
}
.table-view .chevron + [class*="count"] {
right: 30px;
}
.table-view [class*="button"] {
left: auto;
margin-top: -14px;
}
.table-view .toggle {
margin-top: -15px;
}
input,
textarea,
button,
select {
font-family: "Helvetica Neue", Helvetica, sans-serif;
font-size: 17px;
}
select,
textarea,
input[type="text"],
input[type=search],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="color"],
.input-group {
width: 100%;
height: 40px;
padding: 10px;
margin-bottom: 10px;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 3px;
-webkit-appearance: none;
outline: none;
}
input[type=search] {
height: 34px;
padding: 0 10px;
font-size: 16px;
text-align: center;
border-radius: 6px;
border-width: 0;
background-color: rgba(0, 0, 0, 0.1);
box-sizing: border-box;
}
input[type=search]:focus {
text-align: left;
}
textarea {
height: auto;
}
select {
height: auto;
font-size: 14px;
background-color: #f8f8f8;
background-image: -webkit-linear-gradient(top, #f8f8f8 0%, #d4d4d4 100%);
background-image: linear-gradient(to bottom, #f8f8f8 0%, #d4d4d4 100%);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
}
.input-group {
width: auto;
height: auto;
padding: 0;
border-left: 0;
border-right: 0;
border-radius: 0;
}
.input-group input {
margin-bottom: 0;
background-color: transparent;
border: 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 0;
box-shadow: none;
}
.input-group input:last-child {
border-bottom-width: 0;
}
.input-row {
overflow: hidden;
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.input-row:last-child {
border-bottom-width: 0;
}
.input-row label {
float: left;
width: 35%;
padding: 11px 10px 9px 13px;
font-family: "Helvetica Neue", Helvetica, sans-serif;
font-weight: 500;
}
.input-row label + input {
float: right;
width: 65%;
padding-left: 0;
margin-bottom: 0;
border-bottom: 0;
}
[class*="bar-"] input[type=search] {
height: 29px;
margin: 2px 0;
}
[class*="button"] {
position: relative;
display: inline-block;
padding: 5px 10px 7px;
margin: 0;
font-size: 14px;
font-weight: 400;
line-height: 1;
color: #929292;
text-align: center;
vertical-align: top;
cursor: pointer;
background-color: transparent;
border: 1px solid #929292;
border-radius: 4px;
}
[class*="button"]:active, [class*="button"].active, [class*="button"].button-filled {
color: #fff;
background-color: #929292;
-webkit-transition: background-color .1s linear, opacity .1s linear;
transition: background-color .1s linear, opacity .1s linear;
}
[class*="button"]:disabled, [class*="button"].disabled, [class*="button"].button-filled:active {
opacity: .6;
}
.button-primary {
color: #007aff;
border: 1px solid #007aff;
}
.button-primary:active, .button-primary.active, .button-primary.button-filled {
background-color: #007aff;
}
.button-positive {
color: #4cd964;
border: 1px solid #4cd964;
}
.button-positive:active, .button-positive.active, .button-positive.button-filled {
background-color: #4cd964;
}
.button-negative {
color: #dd524d;
border: 1px solid #dd524d;
}
.button-negative:active, .button-negative.active, .button-negative.button-filled {
background-color: #dd524d;
}
.button-block {
display: block;
padding: 12px 0;
margin-bottom: 10px;
font-size: 16px;
}
.bar-title [class*="button"] {
position: relative;
z-index: 10;
padding: 0;
margin-top: -5px;
font-size: 16px;
font-weight: 400;
line-height: 44px;
color: #007aff;
border: 0;
-webkit-transition: opacity .2s linear;
transition: opacity .2s linear;
-webkit-box-flex: 0;
box-flex: 0;
}
.bar-title .title + [class*="button"]:last-child,
.bar-title .button + [class*="button"]:last-child,
.bar-title [class*="button"].pull-right {
position: absolute;
top: 5px;
right: 10px;
}
.bar-title .button:active,
.bar-title .button.active,
.bar-title .button-prev:active,
.bar-title .button-prev.active,
.bar-title .button-next:active,
.bar-title .button-next.active,
.bar-title .button-primary:active,
.bar-title .button-primary.active {
color: #007aff;
background-color: transparent;
opacity: .3;
}
.bar-title .button-primary {
font-weight: 500;
}
.bar-title .button-prev:before,
.bar-title .button-prev:after,
.bar-title .button-next:before,
.bar-title .button-next:after {
position: absolute;
display: block;
width: 15px;
height: 3px;
background-color: #007aff;
content: '';
}
.bar-title .button-prev {
padding-left: 20px;
margin-left: -5px;
}
.bar-title .button-next {
padding-right: 20px;
margin-right: -5px;
}
.bar-title .button-prev:before,
.bar-title .button-prev:after {
left: 0;
}
.bar-title .button-next:before,
.bar-title .button-next:after {
right: 0;
}
.bar-title .button-prev:before,
.bar-title .button-next:before {
top: 16px;
}
.bar-title .button-prev:after,
.bar-title .button-next:after {
top: 25px;
}
.bar-title .button-prev:before,
.bar-title .button-next:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.bar-title .button-prev:after,
.bar-title .button-next:before {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
[class*="bar"] .button-block {
padding: 7px 0;
margin-top: 1px;
}
input[type="submit"],
input[type="reset"],
input[type="button"] {
width: 100%;
}
.chevron {
display: block;
height: 20px;
}
.chevron:before, .chevron:after {
position: relative;
display: block;
width: 10px;
height: 3px;
background-color: #c7c7cc;
content: '';
}
.chevron:before {
top: 6px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.chevron:after {
top: 8px;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
[class*="count"] {
display: inline-block;
color: #929292;
}
[class*="count"].count-filled {
padding: 2px 9px;
color: #fff;
font-size: 13px;
line-height: 1;
background-color: #929292;
border-radius: 100px;
}
.count-primary {
color: #007aff;
}
.count-primary.count-filled {
background-color: #007aff;
}
.count-positive {
color: #4cd964;
}
.count-positive.count-filled {
background-color: #4cd964;
}
.count-negative {
color: #dd524d;
}
.count-negative.count-filled {
background-color: #dd524d;
}
[class*="button"] [class*="count"] {
font-size: 12px;
padding-top: 2px;
padding-bottom: 2px;
margin: -2px -4px -2px 4px;
}
.button-filled .count-filled,
[class*="button"]:active .count-filled {
background-color: rgba(0, 0, 0, 0.2);
}
.button-block [class*="count"] {
position: absolute;
right: 0;
margin-right: 10px;
}
.segmented-controller {
display: -webkit-box;
display: box;
padding: 0;
margin: 0 0 10px 0;
overflow: hidden;
font-size: 12px;
font-weight: 400;
list-style: none;
background-color: transparent;
border: 1px solid #007aff;
border-radius: 4px;
-webkit-box-orient: horizontal;
box-orient: horizontal;
}
.segmented-controller li {
overflow: hidden;
text-align: center;
white-space: nowrap;
border-left: 1px solid #007aff;
-webkit-box-flex: 1;
box-flex: 1;
}
.segmented-controller li > a {
display: block;
padding: 6px 16px 7px;
overflow: hidden;
line-height: 1;
color: #007aff;
text-overflow: ellipsis;
}
.segmented-controller li:first-child {
border-left-width: 0;
}
.segmented-controller li.active {
background-color: #007aff;
transition: background-color .2s linear;
}
.segmented-controller li.active > a {
color: #fff;
}
.segmented-controller-item {
display: none;
}
.segmented-controller-item.active {
display: block;
}
[class*="bar-"] .segmented-controller {
margin: 3px 0;
-webkit-box-flex: 1;
box-flex: 1;
}
.bar-title .segmented-controller {
margin-bottom: 4px;
}
[class*="bar-"] .segmented-controller + [class*="button"],
[class*="bar-"] [class*="button"] + .segmented-controller {
margin-left: 10px;
}
.popover {
position: fixed;
top: 55px;
left: 50%;
z-index: 20;
display: none;
width: 280px;
padding: 5px;
margin-left: -140px;
background-color: rgba(247, 247, 247, 0.98);
border-radius: 6px;
opacity: 0;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
.popover:after {
position: absolute;
top: -19px;
left: 50%;
width: 0;
height: 0;
margin-left: -20px;
content: '';
border-right: 20px solid transparent;
border-bottom: 20px solid rgba(247, 247, 247, 0.98);
border-left: 20px solid transparent;
}
.popover-header {
display: -webkit-box;
display: box;
height: 34px;
margin-bottom: 5px;
}
.popover-header .title {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
font-size: 16px;
font-weight: 500;
line-height: 45px;
color: #000;
text-align: center;
}
.popover-header [class*="button"] {
z-index: 25;
font-size: 16px;
font-weight: 400;
line-height: 29px;
color: #007aff;
border: 0;
transition: opacity .2s linear;
-webkit-box-flex: 0;
box-flex: 0;
}
.popover-header .title + [class*="button"]:last-child,
.popover-header .button + [class*="button"]:last-child,
.popover-header [class*="button"].pull-right {
position: absolute;
top: 5px;
right: 5px;
}
.popover-header .button:active {
color: #007aff;
background-color: transparent;
opacity: .3;
}
.popover.visible {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 10;
background-color: rgba(0, 0, 0, 0.15);
}
.popover .button-block {
margin-bottom: 5px;
}
.popover .button-block:last-child {
margin-bottom: 0;
}
.popover .table-view {
width: auto;
max-height: 250px;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
overflow: auto;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 3px;
-webkit-overflow-scrolling: touch;
}
.modal {
position: fixed;
top: 0;
opacity: 0;
z-index: 11;
width: 100%;
min-height: 100%;
overflow: hidden;
background-color: #fff;
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
-webkit-transition: -webkit-transform .25s, opacity 1ms .25s;
transition: transform .25s, opacity 1ms .25s;
-webkit-transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1);
}
.modal.active {
opacity: 1;
height: 100%;
-webkit-transition: -webkit-transform .25s;
transition: transform .25s;
-webkit-transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1);
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.slider,
.slider > li {
width: 100%;
height: 200px;
}
.slider {
overflow: hidden;
background-color: #000;
}
.slider > ul {
position: relative;
padding: 0;
font-size: 0;
white-space: nowrap;
-webkit-transition: all 0 linear;
transition: all 0 linear;
}
.slider > ul > li {
display: inline-block;
vertical-align: top;
width: 100%;
height: 100%;
}
.slider > ul > li > * {
font-size: 14px;
}
.toggle {
position: relative;
width: 47px;
height: 30px;
background-color: #fff;
border: 2px solid #e6e6e6;
border-radius: 20px;
}
.toggle .toggle-handle {
position: absolute;
top: -1px;
left: -1px;
z-index: 2;
width: 28px;
height: 28px;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 100px;
box-shadow: 0 3px 3px rgba(0, 0, 0, 0.08);
-webkit-transition: -webkit-transform 0.1s ease-in-out, border 0.1s ease-in-out;
transition: transform 0.1s ease-in-out, border 0.1s ease-in-out;
}
.toggle.active {
background-color: #4cd964;
border: 2px solid #4cd964;
}
.toggle.active .toggle-handle {
border-color: #4cd964;
-webkit-transform: translate3d(17px, 0, 0);
transform: translate3d(17px, 0, 0);
}
.content.fade {
left: 0;
opacity: 0;
-webkit-transition: opacity .2s ease-in-out;
transition: opacity .2s ease-in-out;
}
.content.fade.in {
opacity: 1;
}
.content.slide {
z-index: 2;
-webkit-transition: -webkit-transform .5s;
transition: transform .5s;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1);
}
.content.slide.sliding-in, .content.slide.right:not([class*="sliding-in"]) {
-webkit-animation-name: fadeOverlay;
animation-name: fadeOverlay;
-webkit-animation-duration: .4s;
animation-duration: .4s;
}
.content.slide.right:not([class*="sliding-in"]) {
-webkit-animation-direction: reverse;
animation-direction: reverse;
}
.content.slide.left {
z-index: 1;
-webkit-transform: translate3d(-20%, 0, 0);
transform: translate3d(-20%, 0, 0);
}
.content.slide.right {
z-index: 3;
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
@-webkit-keyframes fadeOverlay {
from {
box-shadow: 0 0 10px rgba(0, 0, 0, 0), -320px 0 0 rgba(0, 0, 0, 0);
}
to {
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3), -320px 0 0 rgba(0, 0, 0, 0.1);
}
}