x-appbar {
  padding: 0;
  width: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
x-appbar,
x-appbar * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
x-appbar > * {
  border: none;
  vertical-align: middle;
  text-align: center;
  -webkit-flex-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  text-align: center;
}
x-appbar > header {
  min-width: auto;
  min-height: auto;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  box-flex: 1;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}

x-calendar {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -moz-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0;
  max-width: 100%;
  font-size: 1em;
  text-align: center;
  overflow: hidden;
}
x-calendar,
x-calendar * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
x-calendar .calendar {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
x-calendar .month {
  display: inline-block;
  margin: 0;
  padding: 0;
  vertical-align: top;
  white-space: nowrap;
  width: 224px;
  max-width: 100%;
}
x-calendar .week,
x-calendar .weekday-labels {
  margin: 1px 0;
  overflow: visible;
  width: 100%;
  white-space: nowrap;
}
x-calendar .day,
x-calendar .prev,
x-calendar .next,
x-calendar .weekday-label {
  display: inline-block;
  width: 32px;
}
x-calendar .month-label,
x-calendar .weekday-labels,
x-calendar .week,
x-calendar .prev,
x-calendar .next {
  height: 2em;
  line-height: 2em;
}
x-calendar .weekday-label {
  opacity: 0.8;
  font-size: 0.8em;
}
x-calendar .weekday-label,
x-calendar .day {
  height: 100%;
  line-height: inherit;
  margin: 0 auto;
}
x-calendar .month-label {
  width: 100%;
}
x-calendar .day {
  position: relative;
  white-space: nowrap;
}
x-calendar .badmonth {
  opacity: 0.5;
}
x-calendar:not([controls]) .controls {
  display: none !important;
}
x-calendar[controls] .controls {
  display: block;
}
x-calendar .prev,
x-calendar .next {
  position: absolute;
  top: 0px;
  max-width: 3em;
}
x-calendar .prev {
  left: 0px;
}
x-calendar .next {
  right: 0px;
}
x-calendar:not([active]) .day:hover,
x-calendar:not([active]) .prev:hover,
x-calendar:not([active]) .next:hover {
  cursor: pointer;
}

x-deck {
  display: block;
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 100%;
}
x-deck > x-card {
  display: none;
  position: absolute !important;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  z-index: 0;
  opacity: 1;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: translate(0%, 0%) scale(1);
  -moz-transform: translate(0%, 0%) scale(1);
  -ms-transform: translate(0%, 0%) scale(1);
  -o-transform: translate(0%, 0%) scale(1);
  transform: translate(0%, 0%) scale(1);
}
x-deck > x-card[selected],
x-deck > x-card[transition] {
  display: block;
}
/*** Default Transition ***/
x-deck:not([transition-type]) > x-card:not([transition-type]),
x-deck[transition-type="fade-scale"] > x-card,
x-deck > x-card[transition-type="fade-scale"] {
  opacity: 0;
  -webkit-transform: scale(0.85);
  -moz-transform: scale(0.85);
  -ms-transform: scale(0.85);
  -o-transform: scale(0.85);
  transform: scale(0.85);
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  -moz-transition: opacity 0.5s ease, -moz-transform 0.5s ease;
  -ms-transition: opacity 0.5s ease, -ms-transform 0.5s ease;
  -o-transition: opacity 0.5s ease, -o-transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease;
}
x-deck > x-card[show][transition] {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
/*** General Slide Setup ***/
x-deck[transition-type^="slide"] > x-card,
x-deck > x-card[transition-type^="slide"] {
  z-index: 1;
}
x-deck[transition-type^="slide"] > x-card[transition-direction="reverse"],
x-deck > x-card[transition-type^="slide"][transition-direction="reverse"] {
  z-index: 2;
}
x-deck[transition-type^="slide"] > x-card[show],
x-deck > x-card[show][transition-type^="slide"],
x-deck[transition-type^="slide"] > x-card[hide],
x-deck > x-card[hide][transition-type^="slide"] {
  -webkit-transition: -webkit-transform 0.6s ease;
  -moz-transition: -moz-transform 0.6s ease;
  -ms-transition: -ms-transform 0.6s ease;
  -o-transition: -o-transform 0.6s ease;
  transition: transform 0.6s ease;
}
/*** Right/Left Slide Styles ***/
x-deck[transition-type="slide-right"] > x-card[show][transition-direction="forward"],
x-deck > x-card[show][transition-direction="forward"][transition-type="slide-right"],
x-deck[transition-type="slide-right"] > x-card[hide][transition-direction="reverse"],
x-deck > x-card[hide][transition-direction="reverse"][transition-type="slide-right"],
x-deck[transition-type="slide-left"] > x-card[show][transition-direction="reverse"],
x-deck > x-card[show][transition-direction="reverse"][transition-type="slide-left"],
x-deck[transition-type="slide-left"] > x-card[hide][transition-direction="forward"],
x-deck > x-card[hide][transition-direction="forward"][transition-type="slide-left"] {
  -webkit-transform: translate(-100%, 0);
  -moz-transform: translate(-100%, 0);
  -ms-transform: translate(-100%, 0);
  -o-transform: translate(-100%, 0);
  transform: translate(-100%, 0);
}
x-deck[transition-type="slide-right"] > x-card[show][transition-direction="reverse"],
x-deck > x-card[show][transition-direction="reverse"][transition-type="slide-right"],
x-deck[transition-type="slide-right"] > x-card[hide][transition-direction="forward"],
x-deck > x-card[hide][transition-direction="forward"][transition-type="slide-right"],
x-deck[transition-type="slide-left"] > x-card[show][transition-direction="forward"],
x-deck > x-card[show][transition-direction="forward"][transition-type="slide-left"],
x-deck[transition-type="slide-left"] > x-card[hide][transition-direction="reverse"],
x-deck > x-card[hide][transition-direction="reverse"][transition-type="slide-left"] {
  -webkit-transform: translate(100%, 0);
  -moz-transform: translate(100%, 0);
  -ms-transform: translate(100%, 0);
  -o-transform: translate(100%, 0);
  transform: translate(100%, 0);
}
/*** Up/Down Slide Styles ***/
x-deck[transition-type="slide-up"] > x-card[show][transition-direction="reverse"],
x-deck > x-card[show][transition-direction="reverse"][transition-type="slide-up"],
x-deck[transition-type="slide-up"] > x-card[hide][transition-direction="forward"],
x-deck > x-card[hide][transition-direction="forward"][transition-type="slide-up"],
x-deck[transition-type="slide-down"] > x-card[show][transition-direction="forward"],
x-deck > x-card[show][transition-direction="forward"][transition-type="slide-down"],
x-deck[transition-type="slide-down"] > x-card[hide][transition-direction="reverse"],
x-deck > x-card[hide][transition-direction="reverse"][transition-type="slide-down"] {
  -webkit-transform: translate(0, -100%);
  -moz-transform: translate(0, -100%);
  -ms-transform: translate(0, -100%);
  -o-transform: translate(0, -100%);
  transform: translate(0, -100%);
}
x-deck[transition-type="slide-up"] > x-card[show][transition-direction="forward"],
x-deck > x-card[show][transition-direction="forward"][transition-type="slide-up"],
x-deck[transition-type="slide-up"] > x-card[hide][transition-direction="reverse"],
x-deck > x-card[hide][transition-direction="reverse"][transition-type="slide-up"],
x-deck[transition-type="slide-down"] > x-card[show][transition-direction="reverse"],
x-deck > x-card[show][transition-direction="reverse"][transition-type="slide-down"],
x-deck[transition-type="slide-down"] > x-card[hide][transition-direction="forward"],
x-deck > x-card[hide][transition-direction="forward"][transition-type="slide-down"] {
  -webkit-transform: translate(0, 100%);
  -moz-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  transform: translate(0, 100%);
}
/*** General Slide Show State ***/
x-deck[transition-type^="slide"] > x-card[show][transition],
x-deck > x-card[show][transition][transition-type^="slide"] {
  -webkit-transform: translate(0%, 0%);
  -moz-transform: translate(0%, 0%);
  -ms-transform: translate(0%, 0%);
  -o-transform: translate(0%, 0%);
  transform: translate(0%, 0%);
}

x-flipbox {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: relative;
  height: 100%;
  width: 100%;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
x-flipbox > * {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  -ms-transition-property: -ms-transform;
  -o-transition-property: -o-transform;
  transition-property: transform;
  -webkit-transition-duration: 0.25s;
  -moz-transition-duration: 0.25s;
  -ms-transition-duration: 0.25s;
  -o-transition-duration: 0.25s;
  transition-duration: 0.25s;
  -webkit-transition-timing-function: linear;
  -moz-transition-timing-function: linear;
  -ms-transition-timing-function: linear;
  -o-transition-timing-function: linear;
  transition-timing-function: linear;
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -ms-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
/* DO NOT ERASE THESE TRANSFORM-STYLES; they fix a flickering issue in FFOS*/
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
x-flipbox > *:first-child {
  -webkit-transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 2px);
  -moz-transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 2px);
  -ms-transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 2px);
  -o-transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 2px);
  transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 2px);
  z-index: 2;
}
x-flipbox > *:last-child {
  -webkit-transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 1px);
  -moz-transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 1px);
  -ms-transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 1px);
  -o-transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 1px);
  transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 1px);
  z-index: 1;
}
x-flipbox[_anim-direction="up"] > *:first-child,
x-flipbox[_anim-direction="down"] > *:first-child {
  -webkit-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 2px);
  -moz-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 2px);
  -ms-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 2px);
  -o-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 2px);
  transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 2px);
}
x-flipbox[_anim-direction="up"] > *:last-child {
  -webkit-transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 1px);
  -moz-transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 1px);
  -ms-transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 1px);
  -o-transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 1px);
  transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 1px);
}
x-flipbox[_anim-direction="down"] > *:last-child {
  -webkit-transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 1px);
  -moz-transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 1px);
  -ms-transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 1px);
  -o-transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 1px);
  transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 1px);
}
x-flipbox[flipped]:after {
/* DO NOT ERASE THIS :after SELECTOR */
  content: "";
  display: none;
}
x-flipbox[flipped] > *:first-child {
  -webkit-transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 2px);
  -moz-transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 2px);
  -ms-transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 2px);
  -o-transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 2px);
  transform: perspective(800px) rotateY(180deg) translate3d(0px, 0px, 2px);
  z-index: 1;
}
x-flipbox[flipped] > *:last-child {
  -webkit-transform: perspective(800px) rotateY(360deg) translate3d(0px, 0px, 1px);
  -moz-transform: perspective(800px) rotateY(360deg) translate3d(0px, 0px, 1px);
  -ms-transform: perspective(800px) rotateY(360deg) translate3d(0px, 0px, 1px);
  -o-transform: perspective(800px) rotateY(360deg) translate3d(0px, 0px, 1px);
  transform: perspective(800px) rotateY(360deg) translate3d(0px, 0px, 1px);
  z-index: 2;
}
x-flipbox[_anim-direction="left"][flipped] > *:first-child {
  -webkit-transform: perspective(800px) rotateY(-180deg) translate3d(0px, 0px, 2px);
  -moz-transform: perspective(800px) rotateY(-180deg) translate3d(0px, 0px, 2px);
  -ms-transform: perspective(800px) rotateY(-180deg) translate3d(0px, 0px, 2px);
  -o-transform: perspective(800px) rotateY(-180deg) translate3d(0px, 0px, 2px);
  transform: perspective(800px) rotateY(-180deg) translate3d(0px, 0px, 2px);
}
x-flipbox[_anim-direction="left"][flipped] > *:last-child {
  -webkit-transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 1px);
  -moz-transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 1px);
  -ms-transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 1px);
  -o-transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 1px);
  transform: perspective(800px) rotateY(0deg) translate3d(0px, 0px, 1px);
}
x-flipbox[_anim-direction="up"][flipped] > *:first-child {
  -webkit-transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 2px);
  -moz-transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 2px);
  -ms-transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 2px);
  -o-transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 2px);
  transform: perspective(800px) rotateX(180deg) translate3d(0px, 0px, 2px);
}
x-flipbox[_anim-direction="up"][flipped] > *:last-child {
  -webkit-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
  -moz-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
  -ms-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
  -o-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
  transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
}
x-flipbox[_anim-direction="down"][flipped] > *:first-child {
  -webkit-transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 2px);
  -moz-transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 2px);
  -ms-transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 2px);
  -o-transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 2px);
  transform: perspective(800px) rotateX(-180deg) translate3d(0px, 0px, 2px);
}
x-flipbox[_anim-direction="down"][flipped] > *:last-child {
  -webkit-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
  -moz-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
  -ms-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
  -o-transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
  transform: perspective(800px) rotateX(0deg) translate3d(0px, 0px, 1px);
}

x-layout {
/* relative positioning is important because x-layout should really be
  * placed in a parent container for it to fill;
  * also, setting position:absolute causes older flexbox implementations,
  * such as Firefox 18 (which is the version in FirefoxOS) to render
  * flex items in a way such that it won't override a height:0 declaration,
  * which is important for allowing the flex item to shrink past its
  * content size */
  position: relative !important;
  display: -webkit-box;
/* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
/* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
/* TWEENER - IE 10 */
  display: -webkit-flex;
/* NEW - Chrome */
  display: flex;
/* NEW, Spec - Opera 12.1, Firefox 20+ */
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -ms-box-orient: vertical;
  box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
x-layout > header,
x-layout > footer {
  margin: 0 !important;
  overflow: hidden;
  z-index: 1;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
x-layout > header,
x-layout > footer {
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  -moz-transition: -moz-transform 0.2s ease-in-out;
  -ms-transition: -ms-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
}
x-layout > section {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-transition: margin 0.2s ease-in-out;
  -moz-transition: margin 0.2s ease-in-out;
  -ms-transition: margin 0.2s ease-in-out;
  transition: margin 0.2s ease-in-out;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  overflow: auto;
/* DON'T ERASE THIS: although this gets overridden by the flex display
  * render, this fixes an issue with older browsers (ex: FF18) where unless
  * a flex item was height 0, it would refuse to shrink past the auto
  * height of the content, preventing the scrollbar from appearing */
  height: 0;
  position: relative;
}
x-layout:not([content-maximizing]):not([maxcontent]) > section {
  margin: 0 !important;
}
x-layout > section > *:only-child {
/* fix for issue where 100% height children of flex items render as zero
  * height in Webkit
  * see: http://stackoverflow.com/a/15389545
  */
  height: 100%;
  position: absolute;
}
x-layout[content-maximizing] > header,
x-layout[content-maximized] > header,
x-layout[maxcontent] > header {
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}
x-layout[content-maximizing] > footer,
x-layout[content-maximized] > footer,
x-layout[maxcontent] > footer {
  -webkit-transform: translateY(100%);
  -moz-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
}

x-slider {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
}
x-slider > input {
  margin: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
  vertical-align: middle;
  width: 100%;
  min-height: 100%;
}
x-slider .slider-track {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  height: 4px;
  margin: auto;
  pointer-events: none;
}
x-slider .slider-thumb {
  cursor: default;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -moz-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  vertical-align: middle;
  position: absolute !important;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
}
x-slider[polyfill] {
  cursor: default;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -moz-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}
x-slider[polyfill] > input {
  cursor: default;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -moz-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  display: block;
  position: relative;
}
x-slider[polyfill] > input::-webkit-slider-thumb {
  visibility: hidden;
}
x-slider[polyfill] > input::-moz-range-thumb {
  width: 0px;
  height: 0px;
}
x-slider[polyfill] > input::-moz-range-track {
  height: 0;
  width: 0;
}
x-slider:not([polyfill]) > .slider-thumb {
  visibility: hidden !important;
}

x-tabbar {
  display: block;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-align: center;
}
x-tabbar > x-tabbar-tab {
  min-width: auto;
  min-height: auto;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  box-flex: 1;
  flex: 1;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  min-width: auto;
  min-height: auto;
  vertical-align: middle;
}
x-tabbar > x-tabbar-tab > *:only-child {
  vertical-align: top;
  height: 100%;
  width: 100%;
  margin: 0 !important;
}

x-toggle {
  display: inline-block;
  cursor: pointer;
}
x-toggle[focus] {
  outline: 1px dashed rgba(0,0,0,0.3);
}
x-toggle[no-box] .x-toggle-check {
  display: none;
}
x-toggle input:checked + .x-toggle-check {
  background: #000;
}
x-toggle[type="radio"] .x-toggle-check {
  -webkit-border-radius: 1em;
  -moz-border-radius: 1em;
  border-radius: 1em;
}
x-toggle:after {
  content: attr(label);
  display: inline-block;
  vertical-align: middle;
}
x-toggle .x-toggle-check {
  display: inline-block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  margin: 0px 3px 0px 0px;
  color: #000;
  vertical-align: middle;
  border: 1px solid;
  overflow: hidden !important;
}
x-toggle input {
  position: absolute;
  outline: none;
  z-index: -1;
/* do not remove visibility or display because we still want tab-ability */
  opacity: 0.0001 !important;
}
x-togglebar {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  border: 1px solid #000;
  border-radius: 4px;
  clear: both;
}
x-togglebar x-toggle {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  padding: 1px 4px 2px;
  border-left: inherit;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  box-flex: 1;
  flex: 1;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
x-togglebar x-toggle:first-child {
  border-left-color: transparent;
}
x-togglebar x-toggle[checked] {
  background: rgba(0,0,0,0.2);
}
x-togglebar x-toggle[focus] {
  -webkit-box-shadow: 0 0 2px 0 transparent;
  -moz-box-shadow: 0 0 2px 0 transparent;
  box-shadow: 0 0 2px 0 transparent;
}
x-togglebar x-toggle .x-toggle-check {
  height: 10px;
  width: 10px;
}
x-togglebar x-toggle[type="checkbox"] .x-toggle-check {
  display: none;
}
x-togglebar[orientation="vertical"] {
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -ms-box-orient: vertical;
  box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
x-togglebar[orientation="vertical"] x-toggle {
  border-top: inherit;
  border-left: none;
}
x-togglebar[orientation="vertical"] x-toggle:first-child {
  border-top: none;
}

x-appbar {
  background-color: #00202f;
  color: #fff;
  font-family: "Fira Sans", "Fira Sans", "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  height: 45px;
  line-height: 45px;
}
x-appbar > header {
  font-weight: 600;
}
x-appbar > * {
  color: #fff;
  font-family: "Fira Sans", "Fira Sans", "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: inherit;
  line-height: inherit;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
x-appbar > button {
  cursor: pointer;
  padding-left: 2px;
  padding-right: 2px;
  min-width: 45px;
  background: transparent;
}
x-appbar > button:hover {
  background-color: #00405d;
}
x-appbar > button::-moz-focus-inner {
  border: 0;
  padding: 0;
}
x-appbar > header:after {
  padding-left: 6px;
  font-size: 60%;
}

x-calendar {
  border: 1px solid #cecece;
  border-radius: 3px;
  font-size: 1em;
  font-family: "Fira Sans", "Fira Sans", "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
  background-color: #fff;
  color: #444;
}
x-calendar .weekday-label {
  opacity: 0.8;
}
x-calendar .month-label {
  border-bottom: 1px solid #cecece;
}
x-calendar .day[active] {
  border-color: #ffa500;
}
x-calendar .day.chosen {
  background: #0095dd;
  color: #fff;
}
x-calendar .day.today {
  font-weight: bold;
}
x-calendar:not([active]) .prev:hover,
x-calendar:not([active]) .next:hover {
  background-color: #f9f9f9;
  opacity: 0.7;
}
x-calendar:not([active]) .day:not(.chosen):hover {
  background: #ccc;
}

html,
body {
  min-height: 100%;
}

x-slider {
  height: 27px;
}
x-slider:not([polyfill]) .slider-thumb {
  display: none;
}
x-slider:not([polyfill]) input {
  z-index: 1;
}
x-slider[polyfill] input {
  visibility: hidden;
}
x-slider .slider-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 3px;
  background: #0095dd;
}
x-slider .slider-thumb,
x-slider input[type='range']::-webkit-slider-thumb {
  background: #fff;
  -webkit-appearance: none;
  border-radius: 13px;
  border: 1px solid #acacac;
  box-shadow: 0px 0.5px 1px 0px rgba(0,0,0,0.2);
  cursor: pointer;
  display: block;
  height: 25px;
  width: 25px;
}
x-slider .slider-thumb,
x-slider input[type='range']::-moz-range-thumb {
  background: #fff;
  -moz-appearance: none;
  border-radius: 13px;
  border: 1px solid #acacac;
  box-shadow: 0px 0.5px 1px 0px rgba(0,0,0,0.2);
  cursor: pointer;
  display: block;
  height: 25px;
  width: 25px;
}
x-slider .slider-track {
  background: #d8d8d8;
  border-radius: 3px;
  height: 2px;
  overflow: hidden;
}
x-slider input[type=range]::-moz-range-track {
  -moz-appearance: none;
  background: #d8d8d8;
  border: 0 !important;
  outline: 0;
  border-radius: 3px;
  height: 2px;
  box-shadow: 0 none;
}
x-slider input[type=range]::-moz-range-progress {
  background: #0095dd;
  border-radius: 3px;
}
x-slider input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: 0px solid transparent;
  color: transparent;
}

x-tabbar {
  background: #00202f;
  color: #fff;
  font-family: "Fira Sans", "Fira Sans", "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
  height: 45px;
  line-height: 45px;
}
x-tabbar > x-tabbar-tab {
  letter-spacing: normal;
  overflow: hidden;
  cursor: pointer;
}
x-tabbar > x-tabbar-tab:hover {
  background-color: #00405d;
  color: #eaeaea;
}
x-tabbar > x-tabbar-tab:active {
  color: #f2f2f2;
}
x-tabbar > x-tabbar-tab > x-iconbutton:only-child {
  border: 0;
}

x-toggle[focus] {
  outline: 0;
}
x-toggle .x-toggle-content {
  min-height: 22px;
  line-height: 24px;
}
x-toggle .x-toggle-check {
  width: 22px;
  height: 22px;
  border-radius: 3px;
  margin: 0px 3px 0px 0px;
  color: #000;
  vertical-align: middle;
  border: 1px solid #00202f;
  position: relative;
  background: #fff;
}
x-toggle[no-box] .x-toggle-check {
  display: none !important;
}
x-toggle[type="radio"] input:checked + .x-toggle-check {
  background: #fff;
}
x-toggle[type="radio"] input:checked + .x-toggle-check:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  background: #0095dd;
}
x-toggle[type="checkbox"] input:checked + .x-toggle-check {
  border-width: 0;
  background: #0095dd;
}
x-toggle[type="checkbox"] input:checked + .x-toggle-check:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 3.2px;
  right: 0;
  margin: auto;
  width: 10px;
  height: 5px;
  border: solid #fff;
  border-width: 0 0 2px 2px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
