zoukankan      html  css  js  c++  java
  • js模拟浏览器加载效果 pace.js 中文官方文档

    2017年2月20日12:11:25 

    官网URL:http://github.hubspot.com/pace/docs/welcome/

    文档 http://github.hubspot.com/pace/ 

    本人测试,是兼容手机的,所以放心使用

    pace

    在你的页面上包含pace.js和你选择的主题css(尽可能早),你就完成了!

    Pace将自动监视您的ajax请求,事件循环滞后,文档就绪状态和页面上的元素以决定进度。 在ajax导航它会再次开始!

    如果你使用AMD或Browserify,需要在pace.js和调用pace.start()早在加载过程是可能的。

    安装在Wordpress上

    您可以通过安装Wordpress插件添加PACE到您的Wordpress网站。

    实例

    <head>
      <script src="/pace/pace.js"></script>
      <link href="/pace/themes/pace-theme-barber-shop.css" rel="stylesheet" />
    </head>

    配置

    速度是完全自动的,没有配置是必要的开始。

    如果你想做一些调整,这里是如何:

    您可以在引入文件之前设置window.paceOptions:

    paceOptions = {
      // Disable the 'elements' source
      elements: false,
    
      // Only show the progress on regular and ajax-y page navigation,
      // not every request
      restartOnRequestAfter: false
    }

    您还可以在脚本标记上放置选项:

    <script data-pace-options='{ "ajax": false }' src='pace.js'></script>

    如果您使用AMD或Browserify,您可以传递您的选项开始:

    define(['pace'], function(pace){
      pace.start({
        document: false
      });
    });

    主题

    Pace包括一大堆主题,让你开始。 只需包括适当的css文件。 向我们发送公关与您创建的任何有趣的主题。

    http://github.hubspot.com/pace/docs/welcome/ 里面有主题模板注意

    收集器

    收集器是收集进度信息的代码位。 Pace包括四个默认收集器:

    • Ajax

      监控页面上所有的Ajax请求

    • Elements

      对于页面上的特定元素的存在性检查

    • Document

      检查Document元素状态

    • Event Lag

      检查事件循环滞后信号,表明正在执行javascript

    它们可以通过相同名称的配置选项配置或禁用。

    paceOptions = {
      ajax: false, // disabled
      document: false, // disabled
      eventLag: false, // disabled
      elements: {
        selectors: ['.my-page']
      }
    };

    将您自己的类添加到paceOptions.extraSources以添加更多源。 每个源应该有一个.progress属性,或者一个.elements属性,它是带有.progress属性的对象的列表。 Pace将自动处理所有缩放,使进度更改对用户看起来流畅。

    元素

    正在呈现到屏幕的元素是我们决定页面被呈现的一种方式。 如果要使用该信息源(根本不需要),请指定一个或多个选择器。 您可以逗号分隔选择器以适当地处理错误状态,其中进度条应该消失,但是我们正在寻找的元素可能永远不会出现:

    paceOptions = {
      elements: {
        selectors: ['.timeline,.timeline-error', '.user-profile,.profile-error']
      }
    }

    当每个选择器匹配什么时,Pace会考虑元素测试成功。 对于此示例,如果存在.timeline或.timeline错误,并且存在.user-profile或.profile-error。

    重新启动规则

    大多数用户希望进度条在pushState事件发生时自动重新启动(通常意味着ajax导航正在发生)。 您可以禁用此功能:

    paceOptions = {
      restartOnPushState: false
    }

    您还可以对每个持续时间超过x ms的ajax请求重新启动步速。 你想禁用这个,如果你使ajax请求用户不需要知道,像预缓存:

    paceOptions = {
      restartOnRequestAfter: false
    }

    您可以随时通过调用Pace.restart()手动触发重新启动,

    有关所有选项的完整列表,请参阅源代码。

    API

    Pace公开了以下方法:

    • Pace.start:显示进度条并开始更新。 如果不使用AMD或CommonJS,则自动调用。

    • Pace.restart: 如果进度条已隐藏,则显示进度条,并开始从头开始报告进度。 在默认情况下调用pushState或replaceState时自动调用。

    • Pace.stop: 隐藏进度条并停止更新。

    • Pace.track: 显式跟踪一个或多个请求,请参阅下面的跟踪

    • Pace.ignore: 显式忽略一个或多个请求,请参阅下面的跟踪

    Events事件

    Pace触发以下事件:

    • start: 当pace初始化开始时,或作为重新启动的一部分
    • stop: 当pace手动停止时,或作为重新启动的一部分
    • restart: 当重新启动pace(手动,或通过新的AJAX请求)
    • done: 当pace完成时
    • hide: 当pace被隐藏时(可以晚于,基于ghostTime和minTime)

    您可以使用on,off和once方法绑定到事件:

    • Pace.on(event, handler, [context]): 事件触发时的调用处理程序(可选择使用上下文)
    • Pace.off(event, [handler]): 取消绑定提供的事件和处理程序组合。
    • Pace.once(event, handler, [context]): 绑定处理程序到下一个(而且只有下一个)事件发生率

    跟踪

    默认情况下,Pace会显示任何ajax请求,它们作为正常或ajax-y页面加载的一部分开始,或者持续时间超过500ms。

    您可以通过使用ajax为false禁用所有的ajax跟踪:

    Pace.options = {
      ajax: false
    }

    您可以通过将restartOnRequestAfter设置为false来禁用ajax跟踪(页面导航除外):

    Pace.options = {
      restartOnRequestAfter: false
    }

    您可以通过在Pace.ignorecallback中触发对特定请求或请求手动禁用跟踪:

    Pace.ignore(function(){
      $.ajax(...)
    });

    您可以通过在Pace.trackcallback内触发进度条来强制显示特定请求的进度条:

    Pace.track(function(){
      $.ajax(...)
    });

    您也可以根据模式忽略网址:

    Pace.options = {
      ajax: {
        ignoreURLs: ['some-substring', /some-regexp/]
      }
    }

    依赖

    没有!

    支持

    Pace旨在支持IE8 +(标准模式),FF 3.5+,Chrome,Safari 4+,Opera 10.5+和所有现代移动浏览器。 如果您遇到兼容性问题,或者可以提供支持其他功能的情况,请创建一个问题。

    文件大小

    pace.js是4kb缩小和gzipped。 主题介于0.5和4kb之间。

    问题

    我们显然没有在每个网站上测试这个。 如果您遇到问题,或找到自动检测可能更好的方法,请创建一个问题。 如果你可以包括一个测试用例,那就更好了。

    贡献

    PRs 欢迎!

    构建需要node.js.

    npm install
    grunt

    您也可以运行grunt watch,让它在您进行更改时自动构建。

    没有必要在PRs中包括编译的文件。

     

     支持的一些其他主题,其实也就是一些css,直接引用就行了pace.css

     

    主题css代码  

    Flash
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    }
    
    .pace-inactive {
      display: none;
    }
    
    .pace .pace-progress {
      background: #29d;
      position: fixed;
      z-index: 2000;
      top: 0;
      right: 100%;
      width: 100%;
      height: 2px;
    }
    
    .pace .pace-progress-inner {
      display: block;
      position: absolute;
      right: 0px;
      width: 100px;
      height: 100%;
      box-shadow: 0 0 10px #29d, 0 0 5px #29d;
      opacity: 1.0;
      -webkit-transform: rotate(3deg) translate(0px, -4px);
      -moz-transform: rotate(3deg) translate(0px, -4px);
      -ms-transform: rotate(3deg) translate(0px, -4px);
      -o-transform: rotate(3deg) translate(0px, -4px);
      transform: rotate(3deg) translate(0px, -4px);
    }
    
    .pace .pace-activity {
      display: block;
      position: fixed;
      z-index: 2000;
      top: 15px;
      right: 15px;
      width: 14px;
      height: 14px;
      border: solid 2px transparent;
      border-top-color: #29d;
      border-left-color: #29d;
      border-radius: 10px;
      -webkit-animation: pace-spinner 400ms linear infinite;
      -moz-animation: pace-spinner 400ms linear infinite;
      -ms-animation: pace-spinner 400ms linear infinite;
      -o-animation: pace-spinner 400ms linear infinite;
      animation: pace-spinner 400ms linear infinite;
    }
    
    @-webkit-keyframes pace-spinner {
      0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
      100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
    }
    @-moz-keyframes pace-spinner {
      0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
      100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
    }
    @-o-keyframes pace-spinner {
      0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
      100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
    }
    @-ms-keyframes pace-spinner {
      0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
      100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
    }
    @keyframes pace-spinner {
      0% { transform: rotate(0deg); transform: rotate(0deg); }
      100% { transform: rotate(360deg); transform: rotate(360deg); }
    }
    
    
    Barber Shop
    
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    
      overflow: hidden;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 2000;
      width: 100%;
      height: 12px;
      background: #fff;
    }
    
    .pace-inactive {
      display: none;
    }
    
    .pace .pace-progress {
      background-color: #29d;
      position: fixed;
      top: 0;
      bottom: 0;
      right: 100%;
      width: 100%;
      overflow: hidden;
    }
    
    .pace .pace-activity {
      position: fixed;
      top: 0;
      right: -32px;
      bottom: 0;
      left: 0;
    
      -webkit-transform: translate3d(0, 0, 0);
      -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
      -o-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    
      background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
      background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
      background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
      background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
      background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
      -webkit-background-size: 32px 32px;
      -moz-background-size: 32px 32px;
      -o-background-size: 32px 32px;
      background-size: 32px 32px;
    
      -webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite;
      -moz-animation: pace-theme-barber-shop-motion 500ms linear infinite;
      -ms-animation: pace-theme-barber-shop-motion 500ms linear infinite;
      -o-animation: pace-theme-barber-shop-motion 500ms linear infinite;
      animation: pace-theme-barber-shop-motion 500ms linear infinite;
    }
    
    @-webkit-keyframes pace-theme-barber-shop-motion {
      0% { -webkit-transform: none; transform: none; }
      100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }
    }
    @-moz-keyframes pace-theme-barber-shop-motion {
      0% { -moz-transform: none; transform: none; }
      100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }
    }
    @-o-keyframes pace-theme-barber-shop-motion {
      0% { -o-transform: none; transform: none; }
      100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }
    }
    @-ms-keyframes pace-theme-barber-shop-motion {
      0% { -ms-transform: none; transform: none; }
      100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }
    }
    @keyframes pace-theme-barber-shop-motion {
      0% { transform: none; transform: none; }
      100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
    }
    
    
    Mac OSX
    
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    
      overflow: hidden;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 2000;
      width: 100%;
      height: 12px;
      background: #fff;
    }
    
    .pace-inactive {
      display: none;
    }
    
    .pace .pace-progress {
      background-color: #0087E1;
      position: fixed;
      top: 0;
      right: 100%;
      width: 100%;
      height: 12px;
      overflow: hidden;
    
      -webkit-border-radius: 0 0 4px 0;
      -moz-border-radius: 0 0 4px 0;
      -o-border-radius: 0 0 4px 0;
      border-radius: 0 0 4px 0;
    
      -webkit-box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
      -moz-box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
      -o-box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
      box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
    }
    
    .pace .pace-activity {
      position: fixed;
      top: 0;
      left: 0;
      right: -28px;
      bottom: 0;
    
      -webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
      -moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
      -o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
      background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
    
      -webkit-background-size: 28px 100%;
      -moz-background-size: 28px 100%;
      -o-background-size: 28px 100%;
      background-size: 28px 100%;
    
      -webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite;
      -moz-animation: pace-theme-mac-osx-motion 500ms linear infinite;
      -ms-animation: pace-theme-mac-osx-motion 500ms linear infinite;
      -o-animation: pace-theme-mac-osx-motion 500ms linear infinite;
      animation: pace-theme-mac-osx-motion 500ms linear infinite;
    }
    
    @-webkit-keyframes pace-theme-mac-osx-motion {
      0% { -webkit-transform: none; transform: none; }
      100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); }
    }
    @-moz-keyframes pace-theme-mac-osx-motion {
      0% { -moz-transform: none; transform: none; }
      100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); }
    }
    @-o-keyframes pace-theme-mac-osx-motion {
      0% { -o-transform: none; transform: none; }
      100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); }
    }
    @-ms-keyframes pace-theme-mac-osx-motion {
      0% { -ms-transform: none; transform: none; }
      100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); }
    }
    @keyframes pace-theme-mac-osx-motion {
      0% { transform: none; transform: none; }
      100% { transform: translate(-28px, 0); transform: translate(-28px, 0); }
    }
    
    
    
    Fill Left
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    }
    
    .pace-inactive {
      display: none;
    }
    
    .pace .pace-progress {
      background-color: rgba(0, 0, 0, 0.19999999999999996);
      position: fixed;
      z-index: -1;
      top: 0;
      right: 100%;
      bottom: 0;
      width: 100%;
    }
    
    
    
    
    
    Flat Top
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
    
      -webkit-transform: translate3d(0, -50px, 0);
      -ms-transform: translate3d(0, -50px, 0);
      transform: translate3d(0, -50px, 0);
    
      -webkit-transition: -webkit-transform .5s ease-out;
      -ms-transition: -webkit-transform .5s ease-out;
      transition: transform .5s ease-out;
    }
    
    .pace.pace-active {
      -webkit-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    
    .pace .pace-progress {
      display: block;
      position: fixed;
      z-index: 2000;
      top: 0;
      right: 100%;
      width: 100%;
      height: 10px;
      background: #29d;
    
      pointer-events: none;
    }
    
    
    
    
    
    Big Counter
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    }
    
    .pace.pace-inactive .pace-progress {
      display: none;
    }
    
    .pace .pace-progress {
      position: fixed;
      z-index: 2000;
      top: 0;
      right: 0;
      height: 5rem;
      width: 5rem;
    
      -webkit-transform: translate3d(0, 0, 0) !important;
      -ms-transform: translate3d(0, 0, 0) !important;
      transform: translate3d(0, 0, 0) !important;
    }
    
    .pace .pace-progress:after {
      display: block;
      position: absolute;
      top: 0;
      right: .5rem;
      content: attr(data-progress-text);
      font-family: "Helvetica Neue", sans-serif;
      font-weight: 100;
      font-size: 5rem;
      line-height: 1;
      text-align: right;
      color: rgba(0, 0, 0, 0.19999999999999996);
    }
    
    
    
    
    
    Corner Indicator
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    }
    
    .pace .pace-activity {
      display: block;
      position: fixed;
      z-index: 2000;
      top: 0;
      right: 0;
      width: 300px;
      height: 300px;
      background: #29d;
      -webkit-transition: -webkit-transform 0.3s;
      transition: transform 0.3s;
      -webkit-transform: translateX(100%) translateY(-100%) rotate(45deg);
      transform: translateX(100%) translateY(-100%) rotate(45deg);
      pointer-events: none;
    }
    
    .pace.pace-active .pace-activity {
      -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
      transform: translateX(50%) translateY(-50%) rotate(45deg);
    }
    
    .pace .pace-activity::before,
    .pace .pace-activity::after {
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        position: absolute;
        bottom: 30px;
        left: 50%;
        display: block;
        border: 5px solid #fff;
        border-radius: 50%;
        content: '';
    }
    
    .pace .pace-activity::before {
        margin-left: -40px;
        width: 80px;
        height: 80px;
        border-right-color: rgba(0, 0, 0, .2);
        border-left-color: rgba(0, 0, 0, .2);
        -webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite;
        animation: pace-theme-corner-indicator-spin 3s linear infinite;
    }
    
    .pace .pace-activity::after {
        bottom: 50px;
        margin-left: -20px;
        width: 40px;
        height: 40px;
        border-top-color: rgba(0, 0, 0, .2);
        border-bottom-color: rgba(0, 0, 0, .2);
        -webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite;
        animation: pace-theme-corner-indicator-spin 1s linear infinite;
    }
    
    @-webkit-keyframes pace-theme-corner-indicator-spin {
      0% { -webkit-transform: rotate(0deg); }
      100% { -webkit-transform: rotate(359deg); }
    }
    @keyframes pace-theme-corner-indicator-spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(359deg); }
    }
    
    
    
    
    
    Bounce
    
    .pace {
      width: 140px;
      height: 300px;
      position: fixed;
      top: -90px;
      right: -20px;
      z-index: 2000;
      -webkit-transform: scale(0);
      -moz-transform: scale(0);
      -ms-transform: scale(0);
      -o-transform: scale(0);
      transform: scale(0);
      opacity: 0;
      -webkit-transition: all 2s linear 0s;
      -moz-transition: all 2s linear 0s;
      transition: all 2s linear 0s;
    }
    
    .pace.pace-active {
      -webkit-transform: scale(.25);
      -moz-transform: scale(.25);
      -ms-transform: scale(.25);
      -o-transform: scale(.25);
      transform: scale(.25);
      opacity: 1;
    }
    
    .pace .pace-activity {
      width: 140px;
      height: 140px;
      border-radius: 70px;
      background: #29d;
      position: absolute;
      top: 0;
      z-index: 1911;
      -webkit-animation: pace-bounce 1s infinite;
      -moz-animation: pace-bounce 1s infinite;
      -o-animation: pace-bounce 1s infinite;
      -ms-animation: pace-bounce 1s infinite;
      animation: pace-bounce 1s infinite;
    }
    
    .pace .pace-progress {
      position: absolute;
      display: block;
      left: 50%;
      bottom: 0;
      z-index: 1910;
      margin-left: -30px;
      width: 60px;
      height: 75px;
      background: rgba(20, 20, 20, .1);
      box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
      border-radius: 30px / 40px;
      -webkit-transform: scaleY(.3) !important;
      -moz-transform: scaleY(.3) !important;
      -ms-transform: scaleY(.3) !important;
      -o-transform: scaleY(.3) !important;
      transform: scaleY(.3) !important;
      -webkit-animation: pace-compress .5s infinite alternate;
      -moz-animation: pace-compress .5s infinite alternate;
      -o-animation: pace-compress .5s infinite alternate;
      -ms-animation: pace-compress .5s infinite alternate;
      animation: pace-compress .5s infinite alternate;
    }
    
    @-webkit-keyframes pace-bounce {
      0% {
        top: 0;
        -webkit-animation-timing-function: ease-in;
      }
      40% {}
      50% {
        top: 140px;
        height: 140px;
        -webkit-animation-timing-function: ease-out;
      }
      55% {
        top: 160px;
        height: 120px;
        border-radius: 70px / 60px;
        -webkit-animation-timing-function: ease-in;
      }
      65% {
        top: 120px;
        height: 140px;
        border-radius: 70px;
        -webkit-animation-timing-function: ease-out;
      }
      95% {
        top: 0;
        -webkit-animation-timing-function: ease-in;
      }
      100% {
        top: 0;
        -webkit-animation-timing-function: ease-in;
      }
    }
    
    @-moz-keyframes pace-bounce {
      0% {
        top: 0;
        -moz-animation-timing-function: ease-in;
      }
      40% {}
      50% {
        top: 140px;
        height: 140px;
        -moz-animation-timing-function: ease-out;
      }
      55% {
        top: 160px;
        height: 120px;
        border-radius: 70px / 60px;
        -moz-animation-timing-function: ease-in;
      }
      65% {
        top: 120px;
        height: 140px;
        border-radius: 70px;
        -moz-animation-timing-function: ease-out;}
      95% {
        top: 0;
        -moz-animation-timing-function: ease-in;
      }
      100% {top: 0;
        -moz-animation-timing-function: ease-in;
      }
    }
    
    @keyframes pace-bounce {
      0% {
        top: 0;
        animation-timing-function: ease-in;
      }
      50% {
        top: 140px;
        height: 140px;
        animation-timing-function: ease-out;
      }
      55% {
        top: 160px;
        height: 120px;
        border-radius: 70px / 60px;
        animation-timing-function: ease-in;
      }
      65% {
        top: 120px;
        height: 140px;
        border-radius: 70px;
        animation-timing-function: ease-out;
      }
      95% {
        top: 0;
        animation-timing-function: ease-in;
      }
      100% {
        top: 0;
        animation-timing-function: ease-in;
      }
    }
    
    @-webkit-keyframes pace-compress {
      0% {
        bottom: 0;
        margin-left: -30px;
        width: 60px;
        height: 75px;
        background: rgba(20, 20, 20, .1);
        box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
        border-radius: 30px / 40px;
        -webkit-animation-timing-function: ease-in;
      }
      100% {
        bottom: 30px;
        margin-left: -10px;
        width: 20px;
        height: 5px;
        background: rgba(20, 20, 20, .3);
        box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
        border-radius: 20px / 20px;
        -webkit-animation-timing-function: ease-out;
      }
    }
    
    @-moz-keyframes pace-compress {
      0% {
        bottom: 0;
        margin-left: -30px;
        width: 60px;
        height: 75px;
        background: rgba(20, 20, 20, .1);
        box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
        border-radius: 30px / 40px;
        -moz-animation-timing-function: ease-in;
      }
      100% {
        bottom: 30px;
        margin-left: -10px;
        width: 20px;
        height: 5px;
        background: rgba(20, 20, 20, .3);
        box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
        border-radius: 20px / 20px;
        -moz-animation-timing-function: ease-out;
      }
    }
    
    @keyframes pace-compress {
      0% {
        bottom: 0;
        margin-left: -30px;
        width: 60px;
        height: 75px;
        background: rgba(20, 20, 20, .1);
        box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
        border-radius: 30px / 40px;
        animation-timing-function: ease-in;
      }
      100% {
        bottom: 30px;
        margin-left: -10px;
        width: 20px;
        height: 5px;
        background: rgba(20, 20, 20, .3);
        box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
        border-radius: 20px / 20px;
        animation-timing-function: ease-out;
      }
    }
    
    
    
    
    Loading Bar
    
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      box-sizing: border-box;
    
      -webkit-border-radius: 10px;
      -moz-border-radius: 10px;
      border-radius: 10px;
    
      -webkit-background-clip: padding-box;
      -moz-background-clip: padding;
      background-clip: padding-box;
    
      z-index: 2000;
      position: fixed;
      margin: auto;
      top: 12px;
      left: 0;
      right: 0;
      bottom: 0;
      width: 200px;
      height: 50px;
      overflow: hidden;
    }
    
    .pace .pace-progress {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      box-sizing: border-box;
    
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      border-radius: 2px;
    
      -webkit-background-clip: padding-box;
      -moz-background-clip: padding;
      background-clip: padding-box;
    
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    
      display: block;
      position: absolute;
      right: 100%;
      margin-right: -7px;
      width: 93%;
      top: 7px;
      height: 14px;
      font-size: 12px;
      background: #29d;
      color: #29d;
      line-height: 60px;
      font-weight: bold;
      font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
    
      -webkit-box-shadow: 120px 0 #fff, 240px 0 #fff;
      -ms-box-shadow: 120px 0 #fff, 240px 0 #fff;
      box-shadow: 120px 0 #fff, 240px 0 #fff;
    }
    
    .pace .pace-progress:after {
      content: attr(data-progress-text);
      display: inline-block;
      position: fixed;
      width: 45px;
      text-align: right;
      right: 0;
      padding-right: 16px;
      top: 4px;
    }
    
    .pace .pace-progress[data-progress-text="0%"]:after { right: -200px }
    .pace .pace-progress[data-progress-text="1%"]:after { right: -198.14px }
    .pace .pace-progress[data-progress-text="2%"]:after { right: -196.28px }
    .pace .pace-progress[data-progress-text="3%"]:after { right: -194.42px }
    .pace .pace-progress[data-progress-text="4%"]:after { right: -192.56px }
    .pace .pace-progress[data-progress-text="5%"]:after { right: -190.7px }
    .pace .pace-progress[data-progress-text="6%"]:after { right: -188.84px }
    .pace .pace-progress[data-progress-text="7%"]:after { right: -186.98px }
    .pace .pace-progress[data-progress-text="8%"]:after { right: -185.12px }
    .pace .pace-progress[data-progress-text="9%"]:after { right: -183.26px }
    .pace .pace-progress[data-progress-text="10%"]:after { right: -181.4px }
    .pace .pace-progress[data-progress-text="11%"]:after { right: -179.54px }
    .pace .pace-progress[data-progress-text="12%"]:after { right: -177.68px }
    .pace .pace-progress[data-progress-text="13%"]:after { right: -175.82px }
    .pace .pace-progress[data-progress-text="14%"]:after { right: -173.96px }
    .pace .pace-progress[data-progress-text="15%"]:after { right: -172.1px }
    .pace .pace-progress[data-progress-text="16%"]:after { right: -170.24px }
    .pace .pace-progress[data-progress-text="17%"]:after { right: -168.38px }
    .pace .pace-progress[data-progress-text="18%"]:after { right: -166.52px }
    .pace .pace-progress[data-progress-text="19%"]:after { right: -164.66px }
    .pace .pace-progress[data-progress-text="20%"]:after { right: -162.8px }
    .pace .pace-progress[data-progress-text="21%"]:after { right: -160.94px }
    .pace .pace-progress[data-progress-text="22%"]:after { right: -159.08px }
    .pace .pace-progress[data-progress-text="23%"]:after { right: -157.22px }
    .pace .pace-progress[data-progress-text="24%"]:after { right: -155.36px }
    .pace .pace-progress[data-progress-text="25%"]:after { right: -153.5px }
    .pace .pace-progress[data-progress-text="26%"]:after { right: -151.64px }
    .pace .pace-progress[data-progress-text="27%"]:after { right: -149.78px }
    .pace .pace-progress[data-progress-text="28%"]:after { right: -147.92px }
    .pace .pace-progress[data-progress-text="29%"]:after { right: -146.06px }
    .pace .pace-progress[data-progress-text="30%"]:after { right: -144.2px }
    .pace .pace-progress[data-progress-text="31%"]:after { right: -142.34px }
    .pace .pace-progress[data-progress-text="32%"]:after { right: -140.48px }
    .pace .pace-progress[data-progress-text="33%"]:after { right: -138.62px }
    .pace .pace-progress[data-progress-text="34%"]:after { right: -136.76px }
    .pace .pace-progress[data-progress-text="35%"]:after { right: -134.9px }
    .pace .pace-progress[data-progress-text="36%"]:after { right: -133.04px }
    .pace .pace-progress[data-progress-text="37%"]:after { right: -131.18px }
    .pace .pace-progress[data-progress-text="38%"]:after { right: -129.32px }
    .pace .pace-progress[data-progress-text="39%"]:after { right: -127.46px }
    .pace .pace-progress[data-progress-text="40%"]:after { right: -125.6px }
    .pace .pace-progress[data-progress-text="41%"]:after { right: -123.74px }
    .pace .pace-progress[data-progress-text="42%"]:after { right: -121.88px }
    .pace .pace-progress[data-progress-text="43%"]:after { right: -120.02px }
    .pace .pace-progress[data-progress-text="44%"]:after { right: -118.16px }
    .pace .pace-progress[data-progress-text="45%"]:after { right: -116.3px }
    .pace .pace-progress[data-progress-text="46%"]:after { right: -114.44px }
    .pace .pace-progress[data-progress-text="47%"]:after { right: -112.58px }
    .pace .pace-progress[data-progress-text="48%"]:after { right: -110.72px }
    .pace .pace-progress[data-progress-text="49%"]:after { right: -108.86px }
    .pace .pace-progress[data-progress-text="50%"]:after { right: -107px }
    .pace .pace-progress[data-progress-text="51%"]:after { right: -105.14px }
    .pace .pace-progress[data-progress-text="52%"]:after { right: -103.28px }
    .pace .pace-progress[data-progress-text="53%"]:after { right: -101.42px }
    .pace .pace-progress[data-progress-text="54%"]:after { right: -99.56px }
    .pace .pace-progress[data-progress-text="55%"]:after { right: -97.7px }
    .pace .pace-progress[data-progress-text="56%"]:after { right: -95.84px }
    .pace .pace-progress[data-progress-text="57%"]:after { right: -93.98px }
    .pace .pace-progress[data-progress-text="58%"]:after { right: -92.12px }
    .pace .pace-progress[data-progress-text="59%"]:after { right: -90.26px }
    .pace .pace-progress[data-progress-text="60%"]:after { right: -88.4px }
    .pace .pace-progress[data-progress-text="61%"]:after { right: -86.53999999999999px }
    .pace .pace-progress[data-progress-text="62%"]:after { right: -84.68px }
    .pace .pace-progress[data-progress-text="63%"]:after { right: -82.82px }
    .pace .pace-progress[data-progress-text="64%"]:after { right: -80.96000000000001px }
    .pace .pace-progress[data-progress-text="65%"]:after { right: -79.1px }
    .pace .pace-progress[data-progress-text="66%"]:after { right: -77.24px }
    .pace .pace-progress[data-progress-text="67%"]:after { right: -75.38px }
    .pace .pace-progress[data-progress-text="68%"]:after { right: -73.52px }
    .pace .pace-progress[data-progress-text="69%"]:after { right: -71.66px }
    .pace .pace-progress[data-progress-text="70%"]:after { right: -69.8px }
    .pace .pace-progress[data-progress-text="71%"]:after { right: -67.94px }
    .pace .pace-progress[data-progress-text="72%"]:after { right: -66.08px }
    .pace .pace-progress[data-progress-text="73%"]:after { right: -64.22px }
    .pace .pace-progress[data-progress-text="74%"]:after { right: -62.36px }
    .pace .pace-progress[data-progress-text="75%"]:after { right: -60.5px }
    .pace .pace-progress[data-progress-text="76%"]:after { right: -58.64px }
    .pace .pace-progress[data-progress-text="77%"]:after { right: -56.78px }
    .pace .pace-progress[data-progress-text="78%"]:after { right: -54.92px }
    .pace .pace-progress[data-progress-text="79%"]:after { right: -53.06px }
    .pace .pace-progress[data-progress-text="80%"]:after { right: -51.2px }
    .pace .pace-progress[data-progress-text="81%"]:after { right: -49.34px }
    .pace .pace-progress[data-progress-text="82%"]:after { right: -47.480000000000004px }
    .pace .pace-progress[data-progress-text="83%"]:after { right: -45.62px }
    .pace .pace-progress[data-progress-text="84%"]:after { right: -43.76px }
    .pace .pace-progress[data-progress-text="85%"]:after { right: -41.9px }
    .pace .pace-progress[data-progress-text="86%"]:after { right: -40.04px }
    .pace .pace-progress[data-progress-text="87%"]:after { right: -38.18px }
    .pace .pace-progress[data-progress-text="88%"]:after { right: -36.32px }
    .pace .pace-progress[data-progress-text="89%"]:after { right: -34.46px }
    .pace .pace-progress[data-progress-text="90%"]:after { right: -32.6px }
    .pace .pace-progress[data-progress-text="91%"]:after { right: -30.740000000000002px }
    .pace .pace-progress[data-progress-text="92%"]:after { right: -28.880000000000003px }
    .pace .pace-progress[data-progress-text="93%"]:after { right: -27.02px }
    .pace .pace-progress[data-progress-text="94%"]:after { right: -25.16px }
    .pace .pace-progress[data-progress-text="95%"]:after { right: -23.3px }
    .pace .pace-progress[data-progress-text="96%"]:after { right: -21.439999999999998px }
    .pace .pace-progress[data-progress-text="97%"]:after { right: -19.58px }
    .pace .pace-progress[data-progress-text="98%"]:after { right: -17.72px }
    .pace .pace-progress[data-progress-text="99%"]:after { right: -15.86px }
    .pace .pace-progress[data-progress-text="100%"]:after { right: -14px }
    
    
    .pace .pace-activity {
      position: absolute;
      width: 100%;
      height: 28px;
      z-index: 2001;
      box-shadow: inset 0 0 0 2px #29d, inset 0 0 0 7px #FFF;
      border-radius: 10px;
    }
    
    .pace.pace-inactive {
      display: none;
    }
    
    
    
    
    Center Circle
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    
      -webkit-perspective: 12rem;
      -moz-perspective: 12rem;
      -ms-perspective: 12rem;
      -o-perspective: 12rem;
      perspective: 12rem;
    
      z-index: 2000;
      position: fixed;
      height: 6rem;
      width: 6rem;
      margin: auto;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
    }
    
    .pace.pace-inactive .pace-progress {
      display: none;
    }
    
    .pace .pace-progress {
      position: fixed;
      z-index: 2000;
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      height: 6rem;
      width: 6rem !important;
      line-height: 6rem;
      font-size: 2rem;
      border-radius: 50%;
      background: rgba(34, 153, 221, 0.8);
      color: #fff;
      font-family: "Helvetica Neue", sans-serif;
      font-weight: 100;
      text-align: center;
    
      -webkit-animation: pace-theme-center-circle-spin linear infinite 2s;
      -moz-animation: pace-theme-center-circle-spin linear infinite 2s;
      -ms-animation: pace-theme-center-circle-spin linear infinite 2s;
      -o-animation: pace-theme-center-circle-spin linear infinite 2s;
      animation: pace-theme-center-circle-spin linear infinite 2s;
    
      -webkit-transform-style: preserve-3d;
      -moz-transform-style: preserve-3d;
      -ms-transform-style: preserve-3d;
      -o-transform-style: preserve-3d;
      transform-style: preserve-3d;
    }
    
    .pace .pace-progress:after {
      content: attr(data-progress-text);
      display: block;
    }
    
    @-webkit-keyframes pace-theme-center-circle-spin {
      from { -webkit-transform: rotateY(0deg) }
      to { -webkit-transform: rotateY(360deg) }
    }
    
    @-moz-keyframes pace-theme-center-circle-spin {
      from { -moz-transform: rotateY(0deg) }
      to { -moz-transform: rotateY(360deg) }
    }
    
    @-ms-keyframes pace-theme-center-circle-spin {
      from { -ms-transform: rotateY(0deg) }
      to { -ms-transform: rotateY(360deg) }
    }
    
    @-o-keyframes pace-theme-center-circle-spin {
      from { -o-transform: rotateY(0deg) }
      to { -o-transform: rotateY(360deg) }
    }
    
    @keyframes pace-theme-center-circle-spin {
      from { transform: rotateY(0deg) }
      to { transform: rotateY(360deg) }
    }
    
    
    
    
    Center Atom
    
    .pace.pace-inactive {
      display: none;
    }
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    
      z-index: 2000;
      position: fixed;
      height: 60px;
      width: 100px;
      margin: auto;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
    }
    
    .pace .pace-progress {
      z-index: 2000;
      position: absolute;
      height: 60px;
      width: 100px;
    
      -webkit-transform: translate3d(0, 0, 0) !important;
      -ms-transform: translate3d(0, 0, 0) !important;
      transform: translate3d(0, 0, 0) !important;
    }
    
    .pace .pace-progress:before {
      content: attr(data-progress-text);
      text-align: center;
      color: #fff;
      background: #29d;
      border-radius: 50%;
      font-family: "Helvetica Neue", sans-serif;
      font-size: 14px;
      font-weight: 100;
      line-height: 1;
      padding: 20% 0 7px;
      width: 50%;
      height: 40%;
      margin: 10px 0 0 30px;
      display: block;
      z-index: 999;
      position: absolute;
    }
    
    .pace .pace-activity {
      font-size: 15px;
      line-height: 1;
      z-index: 2000;
      position: absolute;
      height: 60px;
      width: 100px;
    
      display: block;
      -webkit-animation: pace-theme-center-atom-spin 2s linear infinite;
      -moz-animation: pace-theme-center-atom-spin 2s linear infinite;
      -o-animation: pace-theme-center-atom-spin 2s linear infinite;
      animation: pace-theme-center-atom-spin 2s linear infinite;
    }
    
    .pace .pace-activity {
      border-radius: 50%;
      border: 5px solid #29d;
      content: ' ';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      height: 60px;
      width: 100px;
    }
    
    .pace .pace-activity:after {
      border-radius: 50%;
      border: 5px solid #29d;
      content: ' ';
      display: block;
      position: absolute;
      top: -5px;
      left: -5px;
      height: 60px;
      width: 100px;
    
      -webkit-transform: rotate(60deg);
      -moz-transform: rotate(60deg);
      -o-transform: rotate(60deg);
      transform: rotate(60deg);
    }
    
    .pace .pace-activity:before {
      border-radius: 50%;
      border: 5px solid #29d;
      content: ' ';
      display: block;
      position: absolute;
      top: -5px;
      left: -5px;
      height: 60px;
      width: 100px;
    
      -webkit-transform: rotate(120deg);
      -moz-transform: rotate(120deg);
      -o-transform: rotate(120deg);
      transform: rotate(120deg);
    }
    
    @-webkit-keyframes pace-theme-center-atom-spin {
      0%   { -webkit-transform: rotate(0deg) }
      100% { -webkit-transform: rotate(359deg) }
    }
    @-moz-keyframes pace-theme-center-atom-spin {
      0%   { -moz-transform: rotate(0deg) }
      100% { -moz-transform: rotate(359deg) }
    }
    @-o-keyframes pace-theme-center-atom-spin {
      0%   { -o-transform: rotate(0deg) }
      100% { -o-transform: rotate(359deg) }
    }
    @keyframes pace-theme-center-atom-spin {
      0%   { transform: rotate(0deg) }
      100% { transform: rotate(359deg) }
    }
    
    
    
    
    Center Radar
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    
      z-index: 2000;
      position: fixed;
      height: 90px;
      width: 90px;
      margin: auto;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
    }
    
    .pace.pace-inactive .pace-activity {
      display: none;
    }
    
    .pace .pace-activity {
      position: fixed;
      z-index: 2000;
      display: block;
      position: absolute;
      left: -30px;
      top: -30px;
      height: 90px;
      width: 90px;
      display: block;
      border-width: 30px;
      border-style: double;
      border-color: #29d transparent transparent;
      border-radius: 50%;
    
      -webkit-animation: spin 1s linear infinite;
      -moz-animation: spin 1s linear infinite;
      -o-animation: spin 1s linear infinite;
      animation: spin 1s linear infinite;
    }
    
    .pace .pace-activity:before {
      content: ' ';
      position: absolute;
      top: 10px;
      left: 10px;
      height: 50px;
      width: 50px;
      display: block;
      border-width: 10px;
      border-style: solid;
      border-color: #29d transparent transparent;
      border-radius: 50%;
    }
    
    @-webkit-keyframes spin {
      100% { -webkit-transform: rotate(359deg); }
    }
    
    @-moz-keyframes spin {
      100% { -moz-transform: rotate(359deg); }
    }
    
    @-o-keyframes spin {
      100% { -moz-transform: rotate(359deg); }
    }
    
    @keyframes spin {
      100% {  transform: rotate(359deg); }
    }
    
    
    
    
    Center Simple
    
    
    .pace {
      -webkit-pointer-events: none;
      pointer-events: none;
    
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    
      z-index: 2000;
      position: fixed;
      margin: auto;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      height: 5px;
      width: 200px;
      background: #fff;
      border: 1px solid #29d;
    
      overflow: hidden;
    }
    
    .pace .pace-progress {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      box-sizing: border-box;
    
      -webkit-transform: translate3d(0, 0, 0);
      -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
      -o-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    
      max-width: 200px;
      position: fixed;
      z-index: 2000;
      display: block;
      position: absolute;
      top: 0;
      right: 100%;
      height: 100%;
      width: 100%;
      background: #29d;
    }
    
    .pace.pace-inactive {
      display: none;
    }

    Flash
    .pace {  -webkit-pointer-events: none;  pointer-events: none;  -webkit-user-select: none;  -moz-user-select: none;  user-select: none;}
    .pace-inactive {  display: none;}
    .pace .pace-progress {  background: #29d;  position: fixed;  z-index: 2000;  top: 0;  right: 100%;  100%;  height: 2px;}
    .pace .pace-progress-inner {  display: block;  position: absolute;  right: 0px;  100px;  height: 100%;  box-shadow: 0 0 10px #29d, 0 0 5px #29d;  opacity: 1.0;  -webkit-transform: rotate(3deg) translate(0px, -4px);  -moz-transform: rotate(3deg) translate(0px, -4px);  -ms-transform: rotate(3deg) translate(0px, -4px);  -o-transform: rotate(3deg) translate(0px, -4px);  transform: rotate(3deg) translate(0px, -4px);}
    .pace .pace-activity {  display: block;  position: fixed;  z-index: 2000;  top: 15px;  right: 15px;  14px;  height: 14px;  border: solid 2px transparent;  border-top-color: #29d;  border-left-color: #29d;  border-radius: 10px;  -webkit-animation: pace-spinner 400ms linear infinite;  -moz-animation: pace-spinner 400ms linear infinite;  -ms-animation: pace-spinner 400ms linear infinite;  -o-animation: pace-spinner 400ms linear infinite;  animation: pace-spinner 400ms linear infinite;}
    @-webkit-keyframes pace-spinner {  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }}@-moz-keyframes pace-spinner {  0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }  100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }}@-o-keyframes pace-spinner {  0% { -o-transform: rotate(0deg); transform: rotate(0deg); }  100% { -o-transform: rotate(360deg); transform: rotate(360deg); }}@-ms-keyframes pace-spinner {  0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }  100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }}@keyframes pace-spinner {  0% { transform: rotate(0deg); transform: rotate(0deg); }  100% { transform: rotate(360deg); transform: rotate(360deg); }}

    Barber Shop

    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;
      overflow: hidden;  position: fixed;  top: 0;  left: 0;  z-index: 2000;  100%;  height: 12px;  background: #fff;}
    .pace-inactive {  display: none;}
    .pace .pace-progress {  background-color: #29d;  position: fixed;  top: 0;  bottom: 0;  right: 100%;  100%;  overflow: hidden;}
    .pace .pace-activity {  position: fixed;  top: 0;  right: -32px;  bottom: 0;  left: 0;
      -webkit-transform: translate3d(0, 0, 0);  -moz-transform: translate3d(0, 0, 0);  -ms-transform: translate3d(0, 0, 0);  -o-transform: translate3d(0, 0, 0);  transform: translate3d(0, 0, 0);
      background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);  -webkit-background-size: 32px 32px;  -moz-background-size: 32px 32px;  -o-background-size: 32px 32px;  background-size: 32px 32px;
      -webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite;  -moz-animation: pace-theme-barber-shop-motion 500ms linear infinite;  -ms-animation: pace-theme-barber-shop-motion 500ms linear infinite;  -o-animation: pace-theme-barber-shop-motion 500ms linear infinite;  animation: pace-theme-barber-shop-motion 500ms linear infinite;}
    @-webkit-keyframes pace-theme-barber-shop-motion {  0% { -webkit-transform: none; transform: none; }  100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }}@-moz-keyframes pace-theme-barber-shop-motion {  0% { -moz-transform: none; transform: none; }  100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }}@-o-keyframes pace-theme-barber-shop-motion {  0% { -o-transform: none; transform: none; }  100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }}@-ms-keyframes pace-theme-barber-shop-motion {  0% { -ms-transform: none; transform: none; }  100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }}@keyframes pace-theme-barber-shop-motion {  0% { transform: none; transform: none; }  100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }}

    Mac OSX

    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;
      overflow: hidden;  position: fixed;  top: 0;  left: 0;  z-index: 2000;  100%;  height: 12px;  background: #fff;}
    .pace-inactive {  display: none;}
    .pace .pace-progress {  background-color: #0087E1;  position: fixed;  top: 0;  right: 100%;  100%;  height: 12px;  overflow: hidden;
      -webkit-border-radius: 0 0 4px 0;  -moz-border-radius: 0 0 4px 0;  -o-border-radius: 0 0 4px 0;  border-radius: 0 0 4px 0;
      -webkit-box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);  -moz-box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);  -o-box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);  box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);}
    .pace .pace-activity {  position: fixed;  top: 0;  left: 0;  right: -28px;  bottom: 0;
      -webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);  -moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);  -o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);  background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
      -webkit-background-size: 28px 100%;  -moz-background-size: 28px 100%;  -o-background-size: 28px 100%;  background-size: 28px 100%;
      -webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite;  -moz-animation: pace-theme-mac-osx-motion 500ms linear infinite;  -ms-animation: pace-theme-mac-osx-motion 500ms linear infinite;  -o-animation: pace-theme-mac-osx-motion 500ms linear infinite;  animation: pace-theme-mac-osx-motion 500ms linear infinite;}
    @-webkit-keyframes pace-theme-mac-osx-motion {  0% { -webkit-transform: none; transform: none; }  100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); }}@-moz-keyframes pace-theme-mac-osx-motion {  0% { -moz-transform: none; transform: none; }  100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); }}@-o-keyframes pace-theme-mac-osx-motion {  0% { -o-transform: none; transform: none; }  100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); }}@-ms-keyframes pace-theme-mac-osx-motion {  0% { -ms-transform: none; transform: none; }  100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); }}@keyframes pace-theme-mac-osx-motion {  0% { transform: none; transform: none; }  100% { transform: translate(-28px, 0); transform: translate(-28px, 0); }}


    Fill Left
    .pace {  -webkit-pointer-events: none;  pointer-events: none;  -webkit-user-select: none;  -moz-user-select: none;  user-select: none;}
    .pace-inactive {  display: none;}
    .pace .pace-progress {  background-color: rgba(0, 0, 0, 0.19999999999999996);  position: fixed;  z-index: -1;  top: 0;  right: 100%;  bottom: 0;  100%;}




    Flat Top
    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;
      position: fixed;  top: 0;  left: 0;  100%;
      -webkit-transform: translate3d(0, -50px, 0);  -ms-transform: translate3d(0, -50px, 0);  transform: translate3d(0, -50px, 0);
      -webkit-transition: -webkit-transform .5s ease-out;  -ms-transition: -webkit-transform .5s ease-out;  transition: transform .5s ease-out;}
    .pace.pace-active {  -webkit-transform: translate3d(0, 0, 0);  -ms-transform: translate3d(0, 0, 0);  transform: translate3d(0, 0, 0);}
    .pace .pace-progress {  display: block;  position: fixed;  z-index: 2000;  top: 0;  right: 100%;  100%;  height: 10px;  background: #29d;
      pointer-events: none;}




    Big Counter
    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;}
    .pace.pace-inactive .pace-progress {  display: none;}
    .pace .pace-progress {  position: fixed;  z-index: 2000;  top: 0;  right: 0;  height: 5rem;  5rem;
      -webkit-transform: translate3d(0, 0, 0) !important;  -ms-transform: translate3d(0, 0, 0) !important;  transform: translate3d(0, 0, 0) !important;}
    .pace .pace-progress:after {  display: block;  position: absolute;  top: 0;  right: .5rem;  content: attr(data-progress-text);  font-family: "Helvetica Neue", sans-serif;  font-weight: 100;  font-size: 5rem;  line-height: 1;  text-align: right;  color: rgba(0, 0, 0, 0.19999999999999996);}




    Corner Indicator
    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;}
    .pace .pace-activity {  display: block;  position: fixed;  z-index: 2000;  top: 0;  right: 0;  300px;  height: 300px;  background: #29d;  -webkit-transition: -webkit-transform 0.3s;  transition: transform 0.3s;  -webkit-transform: translateX(100%) translateY(-100%) rotate(45deg);  transform: translateX(100%) translateY(-100%) rotate(45deg);  pointer-events: none;}
    .pace.pace-active .pace-activity {  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);  transform: translateX(50%) translateY(-50%) rotate(45deg);}
    .pace .pace-activity::before,.pace .pace-activity::after {    -moz-box-sizing: border-box;    box-sizing: border-box;    position: absolute;    bottom: 30px;    left: 50%;    display: block;    border: 5px solid #fff;    border-radius: 50%;    content: '';}
    .pace .pace-activity::before {    margin-left: -40px;    80px;    height: 80px;    border-right-color: rgba(0, 0, 0, .2);    border-left-color: rgba(0, 0, 0, .2);    -webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite;    animation: pace-theme-corner-indicator-spin 3s linear infinite;}
    .pace .pace-activity::after {    bottom: 50px;    margin-left: -20px;    40px;    height: 40px;    border-top-color: rgba(0, 0, 0, .2);    border-bottom-color: rgba(0, 0, 0, .2);    -webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite;    animation: pace-theme-corner-indicator-spin 1s linear infinite;}
    @-webkit-keyframes pace-theme-corner-indicator-spin {  0% { -webkit-transform: rotate(0deg); }  100% { -webkit-transform: rotate(359deg); }}@keyframes pace-theme-corner-indicator-spin {  0% { transform: rotate(0deg); }  100% { transform: rotate(359deg); }}




    Bounce
    .pace {  140px;  height: 300px;  position: fixed;  top: -90px;  right: -20px;  z-index: 2000;  -webkit-transform: scale(0);  -moz-transform: scale(0);  -ms-transform: scale(0);  -o-transform: scale(0);  transform: scale(0);  opacity: 0;  -webkit-transition: all 2s linear 0s;  -moz-transition: all 2s linear 0s;  transition: all 2s linear 0s;}
    .pace.pace-active {  -webkit-transform: scale(.25);  -moz-transform: scale(.25);  -ms-transform: scale(.25);  -o-transform: scale(.25);  transform: scale(.25);  opacity: 1;}
    .pace .pace-activity {  140px;  height: 140px;  border-radius: 70px;  background: #29d;  position: absolute;  top: 0;  z-index: 1911;  -webkit-animation: pace-bounce 1s infinite;  -moz-animation: pace-bounce 1s infinite;  -o-animation: pace-bounce 1s infinite;  -ms-animation: pace-bounce 1s infinite;  animation: pace-bounce 1s infinite;}
    .pace .pace-progress {  position: absolute;  display: block;  left: 50%;  bottom: 0;  z-index: 1910;  margin-left: -30px;  60px;  height: 75px;  background: rgba(20, 20, 20, .1);  box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);  border-radius: 30px / 40px;  -webkit-transform: scaleY(.3) !important;  -moz-transform: scaleY(.3) !important;  -ms-transform: scaleY(.3) !important;  -o-transform: scaleY(.3) !important;  transform: scaleY(.3) !important;  -webkit-animation: pace-compress .5s infinite alternate;  -moz-animation: pace-compress .5s infinite alternate;  -o-animation: pace-compress .5s infinite alternate;  -ms-animation: pace-compress .5s infinite alternate;  animation: pace-compress .5s infinite alternate;}
    @-webkit-keyframes pace-bounce {  0% {    top: 0;    -webkit-animation-timing-function: ease-in;  }  40% {}  50% {    top: 140px;    height: 140px;    -webkit-animation-timing-function: ease-out;  }  55% {    top: 160px;    height: 120px;    border-radius: 70px / 60px;    -webkit-animation-timing-function: ease-in;  }  65% {    top: 120px;    height: 140px;    border-radius: 70px;    -webkit-animation-timing-function: ease-out;  }  95% {    top: 0;    -webkit-animation-timing-function: ease-in;  }  100% {    top: 0;    -webkit-animation-timing-function: ease-in;  }}
    @-moz-keyframes pace-bounce {  0% {    top: 0;    -moz-animation-timing-function: ease-in;  }  40% {}  50% {    top: 140px;    height: 140px;    -moz-animation-timing-function: ease-out;  }  55% {    top: 160px;    height: 120px;    border-radius: 70px / 60px;    -moz-animation-timing-function: ease-in;  }  65% {    top: 120px;    height: 140px;    border-radius: 70px;    -moz-animation-timing-function: ease-out;}  95% {    top: 0;    -moz-animation-timing-function: ease-in;  }  100% {top: 0;    -moz-animation-timing-function: ease-in;  }}
    @keyframes pace-bounce {  0% {    top: 0;    animation-timing-function: ease-in;  }  50% {    top: 140px;    height: 140px;    animation-timing-function: ease-out;  }  55% {    top: 160px;    height: 120px;    border-radius: 70px / 60px;    animation-timing-function: ease-in;  }  65% {    top: 120px;    height: 140px;    border-radius: 70px;    animation-timing-function: ease-out;  }  95% {    top: 0;    animation-timing-function: ease-in;  }  100% {    top: 0;    animation-timing-function: ease-in;  }}
    @-webkit-keyframes pace-compress {  0% {    bottom: 0;    margin-left: -30px;    60px;    height: 75px;    background: rgba(20, 20, 20, .1);    box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);    border-radius: 30px / 40px;    -webkit-animation-timing-function: ease-in;  }  100% {    bottom: 30px;    margin-left: -10px;    20px;    height: 5px;    background: rgba(20, 20, 20, .3);    box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);    border-radius: 20px / 20px;    -webkit-animation-timing-function: ease-out;  }}
    @-moz-keyframes pace-compress {  0% {    bottom: 0;    margin-left: -30px;    60px;    height: 75px;    background: rgba(20, 20, 20, .1);    box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);    border-radius: 30px / 40px;    -moz-animation-timing-function: ease-in;  }  100% {    bottom: 30px;    margin-left: -10px;    20px;    height: 5px;    background: rgba(20, 20, 20, .3);    box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);    border-radius: 20px / 20px;    -moz-animation-timing-function: ease-out;  }}
    @keyframes pace-compress {  0% {    bottom: 0;    margin-left: -30px;    60px;    height: 75px;    background: rgba(20, 20, 20, .1);    box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);    border-radius: 30px / 40px;    animation-timing-function: ease-in;  }  100% {    bottom: 30px;    margin-left: -10px;    20px;    height: 5px;    background: rgba(20, 20, 20, .3);    box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);    border-radius: 20px / 20px;    animation-timing-function: ease-out;  }}



    Loading Bar

    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;
      -webkit-box-sizing: border-box;  -moz-box-sizing: border-box;  -ms-box-sizing: border-box;  -o-box-sizing: border-box;  box-sizing: border-box;
      -webkit-border-radius: 10px;  -moz-border-radius: 10px;  border-radius: 10px;
      -webkit-background-clip: padding-box;  -moz-background-clip: padding;  background-clip: padding-box;
      z-index: 2000;  position: fixed;  margin: auto;  top: 12px;  left: 0;  right: 0;  bottom: 0;  200px;  height: 50px;  overflow: hidden;}
    .pace .pace-progress {  -webkit-box-sizing: border-box;  -moz-box-sizing: border-box;  -ms-box-sizing: border-box;  -o-box-sizing: border-box;  box-sizing: border-box;
      -webkit-border-radius: 2px;  -moz-border-radius: 2px;  border-radius: 2px;
      -webkit-background-clip: padding-box;  -moz-background-clip: padding;  background-clip: padding-box;
      -webkit-transform: translate3d(0, 0, 0);  transform: translate3d(0, 0, 0);
      display: block;  position: absolute;  right: 100%;  margin-right: -7px;  93%;  top: 7px;  height: 14px;  font-size: 12px;  background: #29d;  color: #29d;  line-height: 60px;  font-weight: bold;  font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
      -webkit-box-shadow: 120px 0 #fff, 240px 0 #fff;  -ms-box-shadow: 120px 0 #fff, 240px 0 #fff;  box-shadow: 120px 0 #fff, 240px 0 #fff;}
    .pace .pace-progress:after {  content: attr(data-progress-text);  display: inline-block;  position: fixed;  45px;  text-align: right;  right: 0;  padding-right: 16px;  top: 4px;}
    .pace .pace-progress[data-progress-text="0%"]:after { right: -200px }.pace .pace-progress[data-progress-text="1%"]:after { right: -198.14px }.pace .pace-progress[data-progress-text="2%"]:after { right: -196.28px }.pace .pace-progress[data-progress-text="3%"]:after { right: -194.42px }.pace .pace-progress[data-progress-text="4%"]:after { right: -192.56px }.pace .pace-progress[data-progress-text="5%"]:after { right: -190.7px }.pace .pace-progress[data-progress-text="6%"]:after { right: -188.84px }.pace .pace-progress[data-progress-text="7%"]:after { right: -186.98px }.pace .pace-progress[data-progress-text="8%"]:after { right: -185.12px }.pace .pace-progress[data-progress-text="9%"]:after { right: -183.26px }.pace .pace-progress[data-progress-text="10%"]:after { right: -181.4px }.pace .pace-progress[data-progress-text="11%"]:after { right: -179.54px }.pace .pace-progress[data-progress-text="12%"]:after { right: -177.68px }.pace .pace-progress[data-progress-text="13%"]:after { right: -175.82px }.pace .pace-progress[data-progress-text="14%"]:after { right: -173.96px }.pace .pace-progress[data-progress-text="15%"]:after { right: -172.1px }.pace .pace-progress[data-progress-text="16%"]:after { right: -170.24px }.pace .pace-progress[data-progress-text="17%"]:after { right: -168.38px }.pace .pace-progress[data-progress-text="18%"]:after { right: -166.52px }.pace .pace-progress[data-progress-text="19%"]:after { right: -164.66px }.pace .pace-progress[data-progress-text="20%"]:after { right: -162.8px }.pace .pace-progress[data-progress-text="21%"]:after { right: -160.94px }.pace .pace-progress[data-progress-text="22%"]:after { right: -159.08px }.pace .pace-progress[data-progress-text="23%"]:after { right: -157.22px }.pace .pace-progress[data-progress-text="24%"]:after { right: -155.36px }.pace .pace-progress[data-progress-text="25%"]:after { right: -153.5px }.pace .pace-progress[data-progress-text="26%"]:after { right: -151.64px }.pace .pace-progress[data-progress-text="27%"]:after { right: -149.78px }.pace .pace-progress[data-progress-text="28%"]:after { right: -147.92px }.pace .pace-progress[data-progress-text="29%"]:after { right: -146.06px }.pace .pace-progress[data-progress-text="30%"]:after { right: -144.2px }.pace .pace-progress[data-progress-text="31%"]:after { right: -142.34px }.pace .pace-progress[data-progress-text="32%"]:after { right: -140.48px }.pace .pace-progress[data-progress-text="33%"]:after { right: -138.62px }.pace .pace-progress[data-progress-text="34%"]:after { right: -136.76px }.pace .pace-progress[data-progress-text="35%"]:after { right: -134.9px }.pace .pace-progress[data-progress-text="36%"]:after { right: -133.04px }.pace .pace-progress[data-progress-text="37%"]:after { right: -131.18px }.pace .pace-progress[data-progress-text="38%"]:after { right: -129.32px }.pace .pace-progress[data-progress-text="39%"]:after { right: -127.46px }.pace .pace-progress[data-progress-text="40%"]:after { right: -125.6px }.pace .pace-progress[data-progress-text="41%"]:after { right: -123.74px }.pace .pace-progress[data-progress-text="42%"]:after { right: -121.88px }.pace .pace-progress[data-progress-text="43%"]:after { right: -120.02px }.pace .pace-progress[data-progress-text="44%"]:after { right: -118.16px }.pace .pace-progress[data-progress-text="45%"]:after { right: -116.3px }.pace .pace-progress[data-progress-text="46%"]:after { right: -114.44px }.pace .pace-progress[data-progress-text="47%"]:after { right: -112.58px }.pace .pace-progress[data-progress-text="48%"]:after { right: -110.72px }.pace .pace-progress[data-progress-text="49%"]:after { right: -108.86px }.pace .pace-progress[data-progress-text="50%"]:after { right: -107px }.pace .pace-progress[data-progress-text="51%"]:after { right: -105.14px }.pace .pace-progress[data-progress-text="52%"]:after { right: -103.28px }.pace .pace-progress[data-progress-text="53%"]:after { right: -101.42px }.pace .pace-progress[data-progress-text="54%"]:after { right: -99.56px }.pace .pace-progress[data-progress-text="55%"]:after { right: -97.7px }.pace .pace-progress[data-progress-text="56%"]:after { right: -95.84px }.pace .pace-progress[data-progress-text="57%"]:after { right: -93.98px }.pace .pace-progress[data-progress-text="58%"]:after { right: -92.12px }.pace .pace-progress[data-progress-text="59%"]:after { right: -90.26px }.pace .pace-progress[data-progress-text="60%"]:after { right: -88.4px }.pace .pace-progress[data-progress-text="61%"]:after { right: -86.53999999999999px }.pace .pace-progress[data-progress-text="62%"]:after { right: -84.68px }.pace .pace-progress[data-progress-text="63%"]:after { right: -82.82px }.pace .pace-progress[data-progress-text="64%"]:after { right: -80.96000000000001px }.pace .pace-progress[data-progress-text="65%"]:after { right: -79.1px }.pace .pace-progress[data-progress-text="66%"]:after { right: -77.24px }.pace .pace-progress[data-progress-text="67%"]:after { right: -75.38px }.pace .pace-progress[data-progress-text="68%"]:after { right: -73.52px }.pace .pace-progress[data-progress-text="69%"]:after { right: -71.66px }.pace .pace-progress[data-progress-text="70%"]:after { right: -69.8px }.pace .pace-progress[data-progress-text="71%"]:after { right: -67.94px }.pace .pace-progress[data-progress-text="72%"]:after { right: -66.08px }.pace .pace-progress[data-progress-text="73%"]:after { right: -64.22px }.pace .pace-progress[data-progress-text="74%"]:after { right: -62.36px }.pace .pace-progress[data-progress-text="75%"]:after { right: -60.5px }.pace .pace-progress[data-progress-text="76%"]:after { right: -58.64px }.pace .pace-progress[data-progress-text="77%"]:after { right: -56.78px }.pace .pace-progress[data-progress-text="78%"]:after { right: -54.92px }.pace .pace-progress[data-progress-text="79%"]:after { right: -53.06px }.pace .pace-progress[data-progress-text="80%"]:after { right: -51.2px }.pace .pace-progress[data-progress-text="81%"]:after { right: -49.34px }.pace .pace-progress[data-progress-text="82%"]:after { right: -47.480000000000004px }.pace .pace-progress[data-progress-text="83%"]:after { right: -45.62px }.pace .pace-progress[data-progress-text="84%"]:after { right: -43.76px }.pace .pace-progress[data-progress-text="85%"]:after { right: -41.9px }.pace .pace-progress[data-progress-text="86%"]:after { right: -40.04px }.pace .pace-progress[data-progress-text="87%"]:after { right: -38.18px }.pace .pace-progress[data-progress-text="88%"]:after { right: -36.32px }.pace .pace-progress[data-progress-text="89%"]:after { right: -34.46px }.pace .pace-progress[data-progress-text="90%"]:after { right: -32.6px }.pace .pace-progress[data-progress-text="91%"]:after { right: -30.740000000000002px }.pace .pace-progress[data-progress-text="92%"]:after { right: -28.880000000000003px }.pace .pace-progress[data-progress-text="93%"]:after { right: -27.02px }.pace .pace-progress[data-progress-text="94%"]:after { right: -25.16px }.pace .pace-progress[data-progress-text="95%"]:after { right: -23.3px }.pace .pace-progress[data-progress-text="96%"]:after { right: -21.439999999999998px }.pace .pace-progress[data-progress-text="97%"]:after { right: -19.58px }.pace .pace-progress[data-progress-text="98%"]:after { right: -17.72px }.pace .pace-progress[data-progress-text="99%"]:after { right: -15.86px }.pace .pace-progress[data-progress-text="100%"]:after { right: -14px }

    .pace .pace-activity {  position: absolute;  100%;  height: 28px;  z-index: 2001;  box-shadow: inset 0 0 0 2px #29d, inset 0 0 0 7px #FFF;  border-radius: 10px;}
    .pace.pace-inactive {  display: none;}



    Center Circle
    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;
      -webkit-perspective: 12rem;  -moz-perspective: 12rem;  -ms-perspective: 12rem;  -o-perspective: 12rem;  perspective: 12rem;
      z-index: 2000;  position: fixed;  height: 6rem;  6rem;  margin: auto;  top: 0;  left: 0;  right: 0;  bottom: 0;}
    .pace.pace-inactive .pace-progress {  display: none;}
    .pace .pace-progress {  position: fixed;  z-index: 2000;  display: block;  position: absolute;  left: 0;  top: 0;  height: 6rem;  6rem !important;  line-height: 6rem;  font-size: 2rem;  border-radius: 50%;  background: rgba(34, 153, 221, 0.8);  color: #fff;  font-family: "Helvetica Neue", sans-serif;  font-weight: 100;  text-align: center;
      -webkit-animation: pace-theme-center-circle-spin linear infinite 2s;  -moz-animation: pace-theme-center-circle-spin linear infinite 2s;  -ms-animation: pace-theme-center-circle-spin linear infinite 2s;  -o-animation: pace-theme-center-circle-spin linear infinite 2s;  animation: pace-theme-center-circle-spin linear infinite 2s;
      -webkit-transform-style: preserve-3d;  -moz-transform-style: preserve-3d;  -ms-transform-style: preserve-3d;  -o-transform-style: preserve-3d;  transform-style: preserve-3d;}
    .pace .pace-progress:after {  content: attr(data-progress-text);  display: block;}
    @-webkit-keyframes pace-theme-center-circle-spin {  from { -webkit-transform: rotateY(0deg) }  to { -webkit-transform: rotateY(360deg) }}
    @-moz-keyframes pace-theme-center-circle-spin {  from { -moz-transform: rotateY(0deg) }  to { -moz-transform: rotateY(360deg) }}
    @-ms-keyframes pace-theme-center-circle-spin {  from { -ms-transform: rotateY(0deg) }  to { -ms-transform: rotateY(360deg) }}
    @-o-keyframes pace-theme-center-circle-spin {  from { -o-transform: rotateY(0deg) }  to { -o-transform: rotateY(360deg) }}
    @keyframes pace-theme-center-circle-spin {  from { transform: rotateY(0deg) }  to { transform: rotateY(360deg) }}



    Center Atom
    .pace.pace-inactive {  display: none;}
    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;
      z-index: 2000;  position: fixed;  height: 60px;  100px;  margin: auto;  top: 0;  left: 0;  right: 0;  bottom: 0;}
    .pace .pace-progress {  z-index: 2000;  position: absolute;  height: 60px;  100px;
      -webkit-transform: translate3d(0, 0, 0) !important;  -ms-transform: translate3d(0, 0, 0) !important;  transform: translate3d(0, 0, 0) !important;}
    .pace .pace-progress:before {  content: attr(data-progress-text);  text-align: center;  color: #fff;  background: #29d;  border-radius: 50%;  font-family: "Helvetica Neue", sans-serif;  font-size: 14px;  font-weight: 100;  line-height: 1;  padding: 20% 0 7px;  50%;  height: 40%;  margin: 10px 0 0 30px;  display: block;  z-index: 999;  position: absolute;}
    .pace .pace-activity {  font-size: 15px;  line-height: 1;  z-index: 2000;  position: absolute;  height: 60px;  100px;
      display: block;  -webkit-animation: pace-theme-center-atom-spin 2s linear infinite;  -moz-animation: pace-theme-center-atom-spin 2s linear infinite;  -o-animation: pace-theme-center-atom-spin 2s linear infinite;  animation: pace-theme-center-atom-spin 2s linear infinite;}
    .pace .pace-activity {  border-radius: 50%;  border: 5px solid #29d;  content: ' ';  display: block;  position: absolute;  top: 0;  left: 0;  height: 60px;  100px;}
    .pace .pace-activity:after {  border-radius: 50%;  border: 5px solid #29d;  content: ' ';  display: block;  position: absolute;  top: -5px;  left: -5px;  height: 60px;  100px;
      -webkit-transform: rotate(60deg);  -moz-transform: rotate(60deg);  -o-transform: rotate(60deg);  transform: rotate(60deg);}
    .pace .pace-activity:before {  border-radius: 50%;  border: 5px solid #29d;  content: ' ';  display: block;  position: absolute;  top: -5px;  left: -5px;  height: 60px;  100px;
      -webkit-transform: rotate(120deg);  -moz-transform: rotate(120deg);  -o-transform: rotate(120deg);  transform: rotate(120deg);}
    @-webkit-keyframes pace-theme-center-atom-spin {  0%   { -webkit-transform: rotate(0deg) }  100% { -webkit-transform: rotate(359deg) }}@-moz-keyframes pace-theme-center-atom-spin {  0%   { -moz-transform: rotate(0deg) }  100% { -moz-transform: rotate(359deg) }}@-o-keyframes pace-theme-center-atom-spin {  0%   { -o-transform: rotate(0deg) }  100% { -o-transform: rotate(359deg) }}@keyframes pace-theme-center-atom-spin {  0%   { transform: rotate(0deg) }  100% { transform: rotate(359deg) }}



    Center Radar
    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;
      z-index: 2000;  position: fixed;  height: 90px;  90px;  margin: auto;  top: 0;  left: 0;  right: 0;  bottom: 0;}
    .pace.pace-inactive .pace-activity {  display: none;}
    .pace .pace-activity {  position: fixed;  z-index: 2000;  display: block;  position: absolute;  left: -30px;  top: -30px;  height: 90px;  90px;  display: block;  border- 30px;  border-style: double;  border-color: #29d transparent transparent;  border-radius: 50%;
      -webkit-animation: spin 1s linear infinite;  -moz-animation: spin 1s linear infinite;  -o-animation: spin 1s linear infinite;  animation: spin 1s linear infinite;}
    .pace .pace-activity:before {  content: ' ';  position: absolute;  top: 10px;  left: 10px;  height: 50px;  50px;  display: block;  border- 10px;  border-style: solid;  border-color: #29d transparent transparent;  border-radius: 50%;}
    @-webkit-keyframes spin {  100% { -webkit-transform: rotate(359deg); }}
    @-moz-keyframes spin {  100% { -moz-transform: rotate(359deg); }}
    @-o-keyframes spin {  100% { -moz-transform: rotate(359deg); }}
    @keyframes spin {  100% {  transform: rotate(359deg); }}



    Center Simple

    .pace {  -webkit-pointer-events: none;  pointer-events: none;
      -webkit-user-select: none;  -moz-user-select: none;  user-select: none;
      z-index: 2000;  position: fixed;  margin: auto;  top: 0;  left: 0;  right: 0;  bottom: 0;  height: 5px;  200px;  background: #fff;  border: 1px solid #29d;
      overflow: hidden;}
    .pace .pace-progress {  -webkit-box-sizing: border-box;  -moz-box-sizing: border-box;  -ms-box-sizing: border-box;  -o-box-sizing: border-box;  box-sizing: border-box;
      -webkit-transform: translate3d(0, 0, 0);  -moz-transform: translate3d(0, 0, 0);  -ms-transform: translate3d(0, 0, 0);  -o-transform: translate3d(0, 0, 0);  transform: translate3d(0, 0, 0);
      max- 200px;  position: fixed;  z-index: 2000;  display: block;  position: absolute;  top: 0;  right: 100%;  height: 100%;  100%;  background: #29d;}
    .pace.pace-inactive {  display: none;}

  • 相关阅读:
    CODE[VS] 2506 可恶的体育老师
    CODE[VS] 3411 洪水
    CODE[VS] 2692 小明过生日
    CODE[VS] 2291 糖果堆
    CODE[VS] 2008 你已经爱我多久了
    忽然之间
    Amazing grace 奇异恩典
    无处安放
    AC日记
    AC日记
  • 原文地址:https://www.cnblogs.com/zx-admin/p/6418942.html
Copyright © 2011-2022 走看看