From ebde3cbdd324b8ece65cbe06c92b80b68c899932 Mon Sep 17 00:00:00 2001 From: blavenie <benoit.lavenier@e-is.pro> Date: Wed, 13 Apr 2016 13:18:18 +0200 Subject: [PATCH] Fix ionic-material CSS (used compiled SCSS) --- www/index.html | 11 +- www/lib/ionic/css/ionic.material.css | 2933 ++++++++++++++++++++ www/lib/ionic/css/ionic.material.min.css | 12 + www/lib/ionic/js/ionic.material.js | 957 +++++++ www/lib/ionic/js/ionic.material.min.js | 14 + www/lib/ionic/js/ionic.material.min.js.map | 1 + 6 files changed, 3918 insertions(+), 10 deletions(-) create mode 100644 www/lib/ionic/css/ionic.material.css create mode 100644 www/lib/ionic/css/ionic.material.min.css create mode 100644 www/lib/ionic/js/ionic.material.js create mode 100644 www/lib/ionic/js/ionic.material.min.js create mode 100644 www/lib/ionic/js/ionic.material.min.js.map diff --git a/www/index.html b/www/index.html index 3f56984a4..e80f051e6 100644 --- a/www/index.html +++ b/www/index.html @@ -7,29 +7,20 @@ <link href="lib/ionic/css/ionic.css" rel="stylesheet"> - <!--<link href="lib/ion-md-input/css/ion-md-input.css" rel="stylesheet">--> - <link href="lib/ionic-material/dist/ionic.material.min.css" rel="stylesheet"> - - <!--<link rel="stylesheet" type="text/css" href="lib/ionic-material-design-lite/dist/css/ionic.material-design-lite.min.css">--> <!-- compiled css output --> <link href="css/ionic.app.css" rel="stylesheet"> - <!--<link rel="stylesheet" href="https://cdn.rawgit.com/mhartington/ion-md-input/master/css/ion-md-input.css" />--> - <link href="css/style.css" rel="stylesheet"> <link href="css/style.market.css" rel="stylesheet"> <!-- ionic/angularjs js --> <script src="lib/ionic/js/ionic.bundle.js"></script> + <script src="lib/ionic/js/ionic.material.min.js"></script> <script src="lib/ionic/js/angular/angular-resource.min.js"></script> <script src="lib/ionic/js/angular/angular-translate.min.js"></script> <script src="lib/ionic/js/angular/angular-translate-loader-static-files.min.js"></script> <script src="lib/ionic/js/angular/angular-messages.min.js"></script> - <script src="lib/ionic-material/dist/ionic.material.min.js"></script> - <!--<script src="https://cdn.rawgit.com/mhartington/ion-md-input/master/js/ion-md-input.js">--> - <!--</script>--> - <!--<script src="lib/ionic-material-design-lite/dist/js/ionic.material-design-lite.min.js"></script>--> <script src="js/vendor/moment.min.js"></script> <script src="js/vendor/numeral.js"></script> diff --git a/www/lib/ionic/css/ionic.material.css b/www/lib/ionic/css/ionic.material.css new file mode 100644 index 000000000..acfce890b --- /dev/null +++ b/www/lib/ionic/css/ionic.material.css @@ -0,0 +1,2933 @@ +/* Directives : MD Label +==================================*/ +.item-md-label { + display: block; + background: transparent; + box-shadow: none; + margin-left: 12px; + margin-right: 12px; + padding: 30px 0 0; } + +.item-md-label .input-label { + position: absolute; + padding: 5px 0 0; + z-index: 2; + -webkit-transform: translate3d(0, -30px, 0) scale(1); + transform: translate3d(0, -30px, 0) scale(1); + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; + color: #fff; + opacity: 0.5; + filter: alpha(opacity=50); + -webkit-transform-origin: 0; + -ms-transform-origin: 0; + transform-origin: 0; } + +.item-md-label input { + background-color: rgba(0, 0, 0, 0.6); + bottom: 0; + color: #fff; + letter-spacing: 0.25rem; + padding: 20px 10px; + position: relative; + z-index: 1; } + +.item-md-label .highlight { + position: absolute; + bottom: 0; + height: 2px; + left: 0; + width: 100%; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + -webkit-transition: all 0.15s ease; + transition: all 0.15s ease; + z-index: 1; } + +.item-md-label .highlight-light { + background: #fff; } + +.item-md-label .highlight-stable { + background: #f8f8f8; } + +.item-md-label .highlight-positive { + background: #387ef5; } + +.item-md-label .highlight-calm { + background: #11c1f3; } + +.item-md-label .highlight-balanced { + background: #33cd5f; } + +.item-md-label .highlight-energized { + background: #ffc900; } + +.item-md-label .highlight-assertive { + background: #ef473a; } + +.item-md-label .highlight-royal { + background: #886aea; } + +.item-md-label .highlight-dark { + background: #444; } + +.item-md-label .input-label { + letter-spacing: 0.25rem; + padding: 0 10px; } + +.item-md-label input:focus ~ .input-label, .item-md-label input.used ~ .input-label { + font-weight: bold; + opacity: 0.7; + filter: alpha(opacity=70); + padding: 0; + text-transform: uppercase; + -webkit-transform: translate3d(0, -60px, 0) scale(0.9); + transform: translate3d(0, -60px, 0) scale(0.9); } + +.item-md-label input:focus ~ .highlight { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +/* Bar - Header - Expanded +==================================*/ +.expanded .bar.bar-header, +.bar.bar-header.expanded { + height: 75px; } + +.expanded.bar.bar-header .title, +.bar.bar-header.expanded .title { + bottom: 0; + top: initial; + padding-left: 16px; } + +.expanded .bar.bar-header .title.fab-left, +.bar.bar-header.expanded .title.fab-left { + bottom: 0; + left: 90px; + position: absolute; + right: initial; + top: initial; } + +.expanded .bar.bar-header .title.fab-right, +.bar.bar-header.expanded .title.fab-right { + bottom: 0; + left: 4px; + position: absolute; + top: initial; + right: initial; } + +.expanded .bar.bar-header + .button-fab, +.bar.bar-header.expanded + .button-fab { + top: 50px; } + +.expanded .bar.bar-header.push-down, +.bar.bar-header.expanded.push-down { + height: 44px; + overflow: hidden; } + +.expanded .bar.bar-header, +.bar.bar-header.expanded { + -webkit-transition: height 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: height 1s cubic-bezier(0.55, 0, 0.1, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.expanded .bar.bar-header + .button-fab, +.bar.bar-header.expanded + .button-fab { + -webkit-transition: all 1.1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1.1s cubic-bezier(0.55, 0, 0.1, 1); + -webkit-transform: translate3d(0, 0, 0) scale(1); + transform: translate3d(0, 0, 0) scale(1); } + +.expanded .bar.bar-header.push-down + .button-fab, +.bar.bar-header.expanded.push-down + .button-fab { + top: 0; + -webkit-transform: translate3d(-100px, -100px, 0) scale(2.5); + transform: translate3d(-100px, -100px, 0) scale(2.5); } + +.expanded .bar.bar-header.push-down .title, +.bar.bar-header.expanded.push-down .title { + opacity: 0; + filter: alpha(opacity=0); + left: initial; + right: initial; } + +.expanded .bar.bar-header .title, +.bar.bar-header.expanded .title { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transition: all 2s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 2s cubic-bezier(0.55, 0, 0.1, 1); } + +.expanded .bar.bar-header .title, .bar.bar-header.expanded .title { + bottom: 0; + left: 42px !important; + top: initial; } + +.expanded.has-header-fab-left .bar.bar-header .title, .bar.bar-header.expanded.has-header-fab-left .title { + left: 76px !important; } + +/* Bar +==================================*/ +.bar { + z-index: 2; + font-size: 1.3em; + width: 100%; + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); } + +.bar .button { + min-width: 38px; + z-index: 3; } + +.bar .no-text span.back-text { + display: none; } + +.bar .title sup { + opacity: 0.7; } + +.bar.bar-header .button + .title { + text-align: left; + left: 35px; + line-height: 46px; } + +/* Button Bar +==================================*/ +.button-bar { + box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15); } + +.button-bar > .button { + box-shadow: none; + /* line-height: initial; */ } + +.button-bar > .button .icon:before, +.button-bar > .button:before { + line-height: initial; } + +.bar-footer .button-fab { + position: absolute; + top: -26px; + bottom: initial; } + +.bar-footer .buttons-left .button-fab { + left: 8px; } + +.bar-footer .buttons-right .button-fab { + right: 8px; } + +.bar .button.button-clear { + box-shadow: none; } + +.left-buttons .button-fab { + left: 8px; + top: 16px; } + +.right-buttons .button-fab { + right: 8px; + top: 16px; } + +.fab-left.title-left, +.fab-left.title.title-left { + left: 68px; } + +/* Button : FAB +==================================*/ +.button.button-fab, +.bar .button.button-fab { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + z-index: 9999; + width: 56px; + height: 56px; + max-height: initial; + max-width: initial; + border-radius: 50%; + border-radius: 50%; + overflow: hidden; + padding: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition: 0.3s fade-in-out; + transition: 0.3s fade-in-out; + -webkit-transition-property: -webkit-transform, box-shadow; + transition-property: transform, box-shadow; } + +.button.button-fab.button-fab-bottom-right, +.bar .button.button-fab.button-fab-bottom-right { + top: auto; + right: 16px; + bottom: 16px; + left: auto; + position: absolute; } + +.button.button-fab.button-fab-bottom-left, +.bar .button.button-fab.button-fab-bottom-left { + top: auto; + right: auto; + bottom: 16px; + left: 16px; + position: absolute; } + +.button.button-fab.button-fab-top-right, +.bar .button.button-fab.button-fab-top-right { + top: 32px; + right: 16px; + bottom: auto; + left: auto; + position: absolute; } + +.button.button-fab.button-fab-top-left, +.bar .button.button-fab.button-fab-top-left { + top: 32px; + right: auto; + bottom: auto; + left: 16px; + position: absolute; } + +.button.button-fab.button-fab-top-left.expanded, +.button.button-fab.button-fab-top-right.expanded, +.bar .button.button-fab.button-fab-top-left.expanded, +.bar .button.button-fab.button-fab-top-right.expanded { + top: 48px; } + +.button.button-fab i, +.bar .button.button-fab i { + font-size: 2.5rem; + margin-top: 0; } + +.button.button-fab.mini, +.bar .button.button-fab.mini { + width: 40px; + height: 40px; } + +.button.button-fab.mini i, +.bar .button.button-fab.mini i { + font-size: 2rem; } + +/* Motion */ +.motion { + -webkit-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; } + +.fade { + opacity: 0; + filter: alpha(opacity=0); + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spin-back { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(360deg) scale(0) !important; + transform: translateZ(0) rotate(360deg) scale(0) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spiral { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(-360deg) scale(0) translate(-120px) !important; + transform: translateZ(0) rotate(-360deg) scale(0) translate(-120px) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spiral-back { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(360deg) scale(0) translate(120px) !important; + transform: translateZ(0) rotate(360deg) scale(0) translate(120px) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.menu-open .avatar { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transform: translateZ(0) rotate(0) scale(1) !important; + transform: translateZ(0) rotate(0) scale(1) !important; + -webkit-transition: all 0.3s ease-out !important; + transition: all 0.3s ease-out !important; } + +.button.button-fab.button-fab-top-left.motion { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translate3d(-120px, 60px, 0); + transform: translate3d(-120px, 60px, 0); + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + +.button.button-fab.button-fab-top-right.motion { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translate3d(120px, 60px, 0); + transform: translate3d(120px, 60px, 0); + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + +.button.button-fab.button-fab-bottom-left.motion { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translate3d(-120px, 60px, 0); + transform: translate3d(-120px, 60px, 0); + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + +.button.button-fab.button-fab-bottom-right.motion { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translate3d(120px, 60px, 0); + transform: translate3d(120px, 60px, 0); + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + +.spin { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(0) scale(0) !important; + transform: translateZ(0) rotate(0) scale(0) !important; + -webkit-transition: all 0.3s ease-out !important; + transition: all 0.3s ease-out !important; } + +.spin.on { + -webkit-transform: translateZ(0) rotate(-360deg) scale(1) !important; + transform: translateZ(0) rotate(-360deg) scale(1) !important; } + +.flap { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotateX(0) scale(0) translate(-120px) !important; + transform: translateZ(0) rotateX(0) scale(0) translate(-120px) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flap.on { + -webkit-transform: translateZ(0) rotateX(-720deg) scale(1) translate(0) !important; + transform: translateZ(0) rotateX(-720deg) scale(1) translate(0) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.drop { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) scale(3) !important; + transform: translateZ(0) scale(3) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.drop.on { + -webkit-transform: translateZ(0) scale(1) !important; + transform: translateZ(0) scale(1) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flip { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotateY(0) scale(0) !important; + transform: translateZ(0) rotateY(0) scale(0) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flip.on { + -webkit-transform: translateZ(0) rotateY(-720deg) scale(1) !important; + transform: translateZ(0) rotateY(-720deg) scale(1) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +/* Button : Floating +==================================*/ +.button.button-floating, .bar .button.button-floating { + display: inline-block; + color: #FFF; + position: relative; + z-index: 1; + width: 37px; + height: 37px; + line-height: 37px; + padding: 0; + border-radius: 50%; + background-clip: padding-box; + -webkit-transition: 0.3s; + transition: 0.3s; + cursor: pointer; } + +.button.button-floating i, .bar .button.button-floating i { + width: inherit; + display: inline-block; + text-align: center; + color: #FFF; + font-size: 1.6rem; + line-height: 37px; } + +.button.button-floating.button-large, .bar .button.button-floating.button-large { + width: 55.5px; + height: 55.5px; } + +.button.button-floating.button-large i, .bar .button.button-floating.button-large i { + line-height: 55.5px; } + +/* Button +==================================*/ +.button, +.button.button-large, +.button.button-flat, +.bar .button, +.bar .button.button-large, +.bar .button.button-flat { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + display: inline-block; + height: 36px; + padding: 0 2rem; + border-radius: 2px; + background-clip: padding-box; + text-transform: uppercase; + border: none; + outline: 0; + -webkit-tap-highlight-color: transparent; } + +.button.disabled, +.button.disabled.button-large, +.button.button-floating.disabled, +.button.button-large.disabled, +.button.button:disabled, +.button.button-large:disabled, +.button.button-large:disabled, +.button.button-floating:disabled, +.bar .button.disabled, +.bar .button.disabled.button-large, +.bar .button.button-floating.disabled, +.bar .button.button-large.disabled, +.bar .button.button:disabled, +.bar .button.button-large:disabled, +.bar .button.button-large:disabled, +.bar .button.button-floating:disabled { + background-color: #DFDFDF; + box-shadow: none; + color: #9F9F9F; } + +.button.disabled:hover, +.button.disabled.button-large:hover, +.button.button-floating.disabled:hover, +.button.button-large.disabled:hover, +.button.button:disabled:hover, +.button.button-large:disabled:hover, +.button.button-large:disabled:hover, +.button.button-floating:disabled:hover, +.bar .button.disabled:hover, +.bar .button.disabled.button-large:hover, +.bar .button.button-floating.disabled:hover, +.bar .button.button-large.disabled:hover, +.bar .button.button:disabled:hover, +.bar .button.button-large:disabled:hover, +.bar .button.button-large:disabled:hover, +.bar .button.button-floating:disabled:hover { + background-color: #DFDFDF; + color: #9F9F9F; } + +.button i, +.button.button-large i, +.button.button-floating i, +.button.button-large i, +.button.button-flat i, +.bar .button i, +.bar .button.button-large i, +.bar .button.button-floating i, +.bar .button.button-large i, +.bar .button.button-flat i { + font-size: 1.3rem; } + +.button-bar .button { + border-radius: 0; } + +.button, +.button-large, +.bar .button, +.bar .button-large { + text-decoration: none; + text-align: center; + letter-spacing: 0.5px; + -webkit-transition: 0.2s ease-out; + transition: 0.2s ease-out; + cursor: pointer; } + +.button { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + position: relative; + outline: none; + margin: 0; + /* background: transparent; */ + white-space: nowrap; + text-align: center; + text-transform: uppercase; + font-weight: 500; + font-style: inherit; + font-variant: inherit; + font-size: inherit; + text-decoration: none; + cursor: pointer; + overflow: hidden; + -webkit-transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + +.button:focus { + outline: none; } + +.button.ng-hide { + -webkit-transition: none; + transition: none; } + +.button.cornered { + border-radius: 0; } + +.button.raised { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.button-outline, +.button-outline:hover, +.button-outline:active { + border-style: solid; + border-width: 1px; } + +.button.button-outline.button-assertive, +.button.button-outline.button-balanced, +.button.button-outline.button-calm, +.button.button-outline.button-dark, +.button.button-outline.button-energized, +.button.button-outline.button-light, +.button.button-outline.button-positive, +.button.button-outline.button-royal, +.button.button-outline.button-stable, +.button.button-outline { + border-color: rgba(0, 0, 0, 0.1); } + +.button-flat, +.bar .button-flat { + box-shadow: none; + background-color: transparent; + color: #343434; + cursor: pointer; } + +.button.button-flat.disabled, +.bar .button.button-flat.disabled { + color: #b3b3b3; } + +.button.button-large i, +.bar .button.button-large i { + font-size: 1.6rem; } + +.button-pin-header.button-floating { + position: absolute; + z-index: 1000; } + +.button-pin-header.button-pin-left { + left: 24px; + top: -24px; } + +.button-pin-header.button-pin-right { + right: 24px; + top: -24px; } + +.button:not([disabled]).raised:focus, +.button:not([disabled]).raised:hover, +.button:not([disabled]).floating:focus, +.button:not([disabled]).floating:hover { + -webkit-transform: translate3d(0, -1px, 0); + transform: translate3d(0, -1px, 0); } + +.button.button-flat { + box-shadow: none; + /* background: transparent; */ + color: inherit; } + +.button.button-flat:hover { + color: inherit; } + +.button.button-flat, +.button.button-flat:hover, +.button.button-flat:active { + color: #fff; } + +.button.button-clear, +.button.button-clear:hover, +.button.button-clear:active { + background: transparent; } + +.button-full.ink, +.button-block.ink { + display: block; } + +/* Card +==================================*/ +.card-item.item { + border: none; + padding-bottom: 4px; + padding-top: 4px; } + +.card-item.item:first-child { + padding-top: 16px; } + +.card { + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); + display: block; + margin: 8px; + padding: 0; + position: relative; } + +.card .image { + display: block; + margin-top: 10px; + margin-bottom: 5px; } + +.card img { + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); + display: block; + max-width: 100%; + max-height: initial; + position: static; } + +.card.card-gallery img { + border: none; + box-shadow: none; + display: block; } + +.card .card-footer { + font-size: 90%; + opacity: 0.8; + filter: alpha(opacity=80); + padding-top: 10px; } + +.card > .item { + border: none; } + +.card.card-gallery > .item { + background: inherit; } + +.card .icon + .icon { + padding-left: 1rem; } + +.card.animate-fade-in { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transform: translate3d(-30px, 1px, 0); + -webkit-transition: all 1s ease-in-out; } + +.card.animate-fade-in.done { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transform: translate3d(0, 0, 0); } + +.card .item.item-avatar { + min-height: 88px; + padding-left: 88px; } + +/* Hero +==================================*/ +.hero { + background-size: cover; + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); + color: #fff; + height: 200px; + position: relative; + text-align: center; + -webkit-transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + width: 100%; } + +.hero > * { + -webkit-transition: opacity 2.5s cubic-bezier(0.55, 0, 0.1, 1); + transition: opacity 2.5s cubic-bezier(0.55, 0, 0.1, 1); + opacity: 1; + filter: alpha(opacity=100); } + +.hero + .mid-bar { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + height: initial; + opacity: 1; + filter: alpha(opacity=100); } + +.hero .hero-icon { + box-shadow: 0px 0 2px 0 rgba(0, 0, 0, 0.26); + border-radius: 50%; + display: inline-block; + font-size: 65px; + height: 150px; + padding: 10px 30px; + line-height: 136px; + width: 150px; } + +.hero.no-header { + height: 244px; } + +.hero > .content { + bottom: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: 1; } + +.hero > .content > .avatar { + background-position: center; + background-size: cover; + border: solid 1px rgba(255, 255, 255, 0.8); + border-radius: 50%; + display: inline-block; + height: 88px; + left: auto; + margin-bottom: 10px; + position: relative; + width: 88px; } + +.hero h1 .hero h2, .hero h3, .hero h4, .hero h5, .hero h6 { + color: #fff; + margin: 0; } + +.hero h4 { + color: rgba(255, 255, 255, 0.7); + margin: 3px 0 16px; } + +.hero h1 > a, .hero h2 > a, .hero h3 > a, .hero h4 > a, .hero h5 > a, .hero h6 > a { + text-decoration: none; } + +.hero + .button-bar { + border-radius: 0; + margin-top: 0; } + +.hero + .button-bar > .button:first-child, .hero + .button-bar > .button:last-child { + border-radius: 0; } + +.hero .hero-icon { + color: #fff; + font-size: 96px; } + +.hero .hero-icon + h1 { + color: white; + letter-spacing: 0.15rem; } + +.hero .button, .hero .button.button-large, .hero .button.button-flat { + margin: 0; } + +.hero h1.title { + color: #fff; + font-size: 23px; + margin: 0; + text-align: left; + padding-left: 80px; + line-height: 59px; } + +.hero + .mid-bar { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + height: initial; + opacity: 1; + filter: alpha(opacity=100); } + +.hero > * { + -webkit-transition: opacity 2.5s cubic-bezier(0.55, 0, 0.1, 1); + transition: opacity 2.5s cubic-bezier(0.55, 0, 0.1, 1); + opacity: 1; + filter: alpha(opacity=100); } + +/* Item +==================================*/ +.item { + font-size: 14px; + width: 100%; } + +.item-icon-left .icon { + left: 16px; } + +.item-icon-right .icon { + right: 16px; } + +/* +.list .item.item-icon-right { + padding-right: 60px; +} +*/ +.item-thumbnail-left > img:first-child, .item-thumbnail-left .item-image, .item-thumbnail-left .item-content > img:first-child, .item-thumbnail-left .item-content .item-image { + border-radius: 50%; } + +.tab-item.activated { + height: calc(100% + 3px); + /* Stretch */ } + +/* List +==================================*/ +.content + .list { + padding-top: 0; } + +.list .item { + border: none; + /* + padding-left: 16px; + padding-right: 16px; + */ + min-height: 48px; + text-align: left; } + +.list .item.tabs { + padding: initial; } + +.list .item.item-bg-image { + max-height: 150px; + min-height: 150px; } + +.list .item.item-bg-image > img { + height: 100%; + left: 0; + max-width: initial; + opacity: 0.65; + filter: alpha(opacity=65); + position: absolute; + top: 0; + width: 100%; + z-index: 0; } + +.list a.item { + opacity: 1; + filter: alpha(opacity=100); } + +.list .item.item-bg-image h1, .list .item.item-bg-image h2, .list .item.item-bg-image h3, .list .item.item-bg-image h4, .list .item.item-bg-image h5, .list .item.item-bg-image h6 { + color: #fff; + font-weight: bold; + position: relative; + text-shadow: 0 0 3px rgba(0, 0, 0, 0.95); + z-index: 1; } + +.list .item.item-bg-image h2 { + font-size: 24px; } + +.list .item.item-bg-image h2 { + font-size: 24px; } + +.list .item.item-bg-image p { + color: white; + font-size: 17px; + position: relative; + text-shadow: 0 0 4px rgba(0, 0, 0, 0.95); + z-index: 1; } + +.item-avatar, .item-avatar .item-content, .item-avatar-left, .item-avatar-left .item-content { + min-height: 80px; } + +/* List: Thumbnails +==================================*/ +.item-thumbnail-left, .card > .item.item-thumbnail-left, .item-thumbnail-left .item-content { + padding-left: 106px; } + +.item-thumbnail-right, .card > .item.item-thumbnail-right, .item-thumbnail-right .item-content { + padding-right: 106px; } + +/* List: Avatar +==================================*/ +.item-avatar > img:first-child, .item-avatar .item-image, .item-avatar .item-content > img:first-child, .item-avatar .item-content .item-image, .item-avatar-left > img:first-child, .item-avatar-left .item-image, .item-avatar-left .item-content > img:first-child, .item-avatar-left .item-content .item-image { + border-radius: 50%; + left: 16px; + max-height: 40px; + max-width: 40px; } + +/* +.item-avatar, .list .item-avatar { + padding-left: 100px; +} +*/ +.avatar, .item-avatar .avatar { + background-position: center; + background-size: cover; + border-radius: 50%; + display: inline-block; + height: 56px; + left: 16px; + position: absolute; + width: 56px; } + +/* List: Gallery +==================================*/ +.list.half { + display: inline-block; + float: left; + margin: 0; + padding: 0; + width: 50%; } + +.list.half:first-child { + padding: 16px 8px 16px 16px; } + +.list.half:last-child { + padding: 16px 16px 16px 8px; } + +.list.half:first-child .card.card-gallery { + margin-left: 0; + margin-right: 0; } + +.list.half:last-child .card.card-gallery { + margin-left: 0; + margin-right: 0; } + +.list.condensed-space > .card, .list.condensed-space > .item { + margin: 0px 0px 2px; } + +.list .card.card-gallery { + display: block; + float: left; + margin: 0 0 0 13px; + padding: 0; + width: auto; } + +.list.half .item { + width: 100%; } + +.list.half .item.card { + margin-bottom: 16px; } + +.list .card.card-gallery.item h2 { + padding: 12px; } + +.list .item.item-gallery img { + width: 100%; } + +.item.item-divider { + border-top: solid 1px rgba(0, 0, 0, 0.12); + font-size: 14px; + font-weight: bold; + height: 48px; + line-height: 48px; + color: rgba(0, 0, 0, 0.54); } + .item.item-divider:first-child { + border: none; } + +.item-avatar, .item-avatar .item-content, .item-avatar-left, .item-avatar-left .item-content, .card > .item-avatar { + padding-left: 72px; } + +.item.active, .item.activated, .item-complex.active .item-content, .item-complex.activated .item-content, .item .item-content.active, .item .item-content.activated { + background-color: transparent; } + +.list-inset { + margin: 20px 30px; + border-left: solid 1px #ccc; + border-radius: 0; + background-color: #fff; } + +.list .item.item-floating-label, +.item-floating-label { + border-bottom: solid 1px #ccc; } + +.loader { + position: relative; + margin: 0px auto; + width: 100px; + height: 100px; + zoom: 1.7; } + +.circular { + -webkit-animation: rotate 2s linear infinite; + animation: rotate 2s linear infinite; + height: 100px; + position: relative; + width: 100px; } + +.path { + stroke-dasharray: 1,200; + stroke-dashoffset: 0; + -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite; + animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite; + stroke-linecap: round; } + +@-webkit-keyframes rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@-webkit-keyframes dash { + 0% { + stroke-dasharray: 1,200; + stroke-dashoffset: 0; } + 50% { + stroke-dasharray: 89,200; + stroke-dashoffset: -35; } + 100% { + stroke-dasharray: 89,200; + stroke-dashoffset: -124; } } + +@keyframes dash { + 0% { + stroke-dasharray: 1,200; + stroke-dashoffset: 0; } + 50% { + stroke-dasharray: 89,200; + stroke-dashoffset: -35; } + 100% { + stroke-dasharray: 89,200; + stroke-dashoffset: -124; } } + +@-webkit-keyframes color { + 100%, 0% { + stroke: #d62d20; } + 40% { + stroke: #0057e7; } + 66% { + stroke: #008744; } + 80%, 90% { + stroke: #ffa700; } } + +@keyframes color { + 100%, 0% { + stroke: #d62d20; } + 40% { + stroke: #0057e7; } + 66% { + stroke: #008744; } + 80%, 90% { + stroke: #ffa700; } } + +/* Layouts: Login +==================================*/ +.login { + background-position: 25% 25%; + background-size: 180% 180%; + height: 100%; + -webkit-transition: all 1.5s ease-in-out; + transition: all 1.5s ease-in-out; } + +.login .item { + margin: 0 12px; + padding-left: 0; + padding-right: 0; + width: initial; } + +.login .button-bar { + bottom: 0; + margin: 28px 12px 0; + width: initial; } + +.login .light-bg { + background-color: #fff; } + +.icon.hero-icon:before { + line-height: 130px; } + +/* Mask +==================================*/ +.hero.has-mask:after, .item.has-mask:after, .card.has-mask:after { + content: ''; + background: -webkit-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.6) 100%); + height: 100%; + left: 0; + position: absolute; + top: 0; + z-index: 0; + width: 100%; } + +.hero.has-mask-reverse:after, .item.has-mask-reverse:after, .card.has-mask-reverse:after { + content: ''; + background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.6) 0%, transparent 100%); + height: 100%; + left: 0; + position: absolute; + top: 0; + z-index: 0; + width: 100%; } + +/* Menu */ +.menu-bottom { + bottom: 16px; + left: 16px; + right: 16px; + position: absolute; } + +.menu-top { + top: 16px; + left: 16px; + right: 16px; + position: absolute; } + +.menu .avatar { + top: 16px; + left: 16px; + height: 65px; + width: 65px; } + +.menu .bar.bar-header.expanded { + box-shadow: none; + min-height: 150px; + color: #fff; } + +.menu-open .bar.bar-header.expanded { + background-position: 0; + background-size: 100%; } + +.has-expanded-header { + top: 150px !important; } + +.motion { + -webkit-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; } + +.fade { + opacity: 0; + filter: alpha(opacity=0); + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spin-back { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(360deg) scale(0) !important; + transform: translateZ(0) rotate(360deg) scale(0) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spiral { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(-360deg) scale(0) translate(-120px) !important; + transform: translateZ(0) rotate(-360deg) scale(0) translate(-120px) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spiral-back { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(360deg) scale(0) translate(120px) !important; + transform: translateZ(0) rotate(360deg) scale(0) translate(120px) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.menu-open .avatar { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transform: translateZ(0) rotate(0) scale(1) !important; + transform: translateZ(0) rotate(0) scale(1) !important; + -webkit-transition: all 0.3s ease-out !important; + transition: all 0.3s ease-out !important; } + +.spin { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(0) scale(0) !important; + transform: translateZ(0) rotate(0) scale(0) !important; + -webkit-transition: all 0.3s ease-out !important; + transition: all 0.3s ease-out !important; } + +.spin.on { + -webkit-transform: translateZ(0) rotate(-360deg) scale(1) !important; + transform: translateZ(0) rotate(-360deg) scale(1) !important; } + +.flap { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotateX(0) scale(0) translate(-120px) !important; + transform: translateZ(0) rotateX(0) scale(0) translate(-120px) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flap.on { + -webkit-transform: translateZ(0) rotateX(-720deg) scale(1) translate(0) !important; + transform: translateZ(0) rotateX(-720deg) scale(1) translate(0) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.drop { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) scale(3) !important; + transform: translateZ(0) scale(3) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.drop.on { + -webkit-transform: translateZ(0) scale(1) !important; + transform: translateZ(0) scale(1) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flip { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotateY(0) scale(0) !important; + transform: translateZ(0) rotateY(0) scale(0) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flip.on { + -webkit-transform: translateZ(0) rotateY(-720deg) scale(1) !important; + transform: translateZ(0) rotateY(-720deg) scale(1) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +/* Utilities +==================================*/ +.bold { + font-weight: bold; } + +.static { + position: static; } + +.pull-left { + float: left; } + +.pull-right { + float: right; } + +.double-padding, .ionic-content.double-padding { + padding: 16px; } + +.double-padding-x { + padding-left: 16px; + padding-right: 16px; } + +.double-padding-y { + padding-top: 16px; + padding-bottom: 16px; } + +.outline { + border-style: solid; + border-width: 1px; } + +.border-top { + border-top: solid 1px #ccc; + padding-top: 30px; } + +.no-border { + border: none; } + +.circle { + border-radius: 50%; } + +.no-padding, .list.no-padding, .bar.no-padding, .button-bar.no-padding, .card.no-padding, .button.no-padding, .item.no-padding { + padding: 0; } + +.flat, .flat.tabs, .flat.button, .flat.button.icon, .flat.hero { + box-shadow: none; + -webkit-box-shadow: none; } + +/* Utilities : Padding +==================================*/ +.im-wrapper, .padding { + padding: 16px !important; } + +.padding-bottom { + padding-bottom: 16px !important; } + +.padding-top { + padding-top: 16px !important; } + +.padding-left { + padding-left: 16px !important; } + +.padding-right { + padding-right: 16px !important; } + +.no-padding-bottom { + padding-bottom: 0 !important; } + +.no-padding-top { + padding-top: 0 !important; } + +.no-padding-left { + padding-left: 0 !important; } + +.no-padding-right { + padding-right: 0 !important; } + +/* Utilities : Depth +==================================*/ +.z1 { + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); } + +/* Utilities : Color +==================================*/ +.bar.bar-positive.darker { + background-color: #164FAB; } + +/* TODO: Expand to other colors */ +.bar.bar-positive.dark-positive-bg { + background-color: #2C5CAD; } + +/* TODO: Expand to other colors */ +.muted { + color: #C3C3C3; } + +.clear-bg { + background: transparent; } + +/* Motion: Blinds +==================================*/ +.animate-blinds .item, +.animate-blinds .item { + visibility: hidden; } + +.animate-blinds .item, +.animate-blinds .item { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +.animate-blinds .item-bg-image > img.background, +.animate-blinds .item-bg-image > img.background { + box-shadow: none; + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-blinds .in, +.animate-blinds.done > *, +.animate-blinds .in, +.animate-blinds.done > * { + -ms-transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.animate-blinds .in, +.animate-blinds.done .item, +.animate-blinds .in, +.animate-blinds.done .item { + visibility: visible; } + +.animate-blinds .item, +.animate-blinds .item { + visibility: hidden; } + +.animate-blinds .item, +.animate-blinds .item { + opacity: 0; + filter: alpha(opacity=0); } + +.animate-blinds .in, +.animate-blinds.done, +.animate-blinds .in, +.animate-blinds.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; + opacity: 1; + filter: alpha(opacity=100); } + +.animate-blinds .in, +.animate-blinds.done, +.animate-blinds .in, +.animate-blinds.done { + visibility: visible; } + +.animate-blinds.done .in, +.animate-blinds.done .in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-blinds .has-mask-reverse:after, +.animate-blinds .has-mask-reverse:after { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-blinds.done .has-mask-reverse:after, +.animate-blinds.done .has-mask-reverse:after { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-blinds .out, +.animate-blinds .out { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); } + +/* Motion: Pan In Left +==================================*/ +.animate-pan-in-left, +.animate-pan-in-left { + background-position: 0% 0%; } + +/* Motion: Ripple +==================================*/ +.animate-ripple .done, +.animate-ripple .done { + visibility: hidden; } + +.animate-ripple .done, +.animate-ripple .done { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +.animate-ripple .item-bg-image img.background, +.animate-ripple .item-bg-image img.background { + box-shadow: none; + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-ripple .in, .animate-ripple.done, +.animate-ripple .in, .animate-ripple.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-ripple .in, .animate-ripple.done, +.animate-ripple .in, .animate-ripple.done { + visibility: visible; } + +.animate-ripple .item { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); + opacity: 0; + filter: alpha(opacity=0); } + +.animate-ripple .item.in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-ripple .done { + visibility: hidden; } + +.animate-ripple .done, +.animate-ripple .done { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +/* Uncomment if you want images to fade in after the card + + .animate-ripple .in .item-bg-image img:last-child, + .animate-ripple .in .item-bg-image img:last-child { + opacity: 0; + } + + .animate-ripple.done .item-bg-image img:last-child, + .animate-ripple.done .item-bg-image img:last-child { + opacity: 1; + -moz-transition: all 1s ease-in-out; + -o-transition: all 1s ease-in-out; + -webkit-transition: all 1s ease-in-out; + transition: all 1s ease-in-out; + } + + .animate-ripple .item-bg-image img:last-child, + .animate-ripple .item-bg-image img:last-child { + box-shadow: none; + -moz-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + .animate-ripple .in .item-bg-image img:last-child, + .animate-ripple .in .item-bg-image img:last-child { + opacity: 0; + } + +.animate-ripple.done .item-bg-image img:last-child, +.animate-ripple.done .item-bg-image img:last-child { + opacity: 1; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.animate-ripple .in, +.animate-ripple .in { + opacity: 0.6; +} +*/ +.animate-ripple .in, .animate-ripple.done, .animate-ripple .in, .animate-ripple.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-ripple .in, .animate-ripple.done, .animate-ripple .in, .animate-ripple.done { + visibility: visible; } + +.animate-ripple.done .in, .animate-ripple.done .in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-ripple .has-mask-reverse:after, .animate-ripple .has-mask-reverse:after { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-ripple.done .has-mask-reverse:after, .animate-ripple.done .has-mask-reverse:after { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-ripple .out, .animate-ripple .out { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); } + +/* Motion: Slide / Fade In +==================================*/ +.animate-fade-slide-in .item, +.animate-fade-slide-in .item { + visibility: hidden; } + +.animate-fade-slide-in .item, +.animate-fade-slide-in .item { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +.animate-fade-slide-in .item-bg-image img.background, +.animate-fade-slide-in .item-bg-image img.background { + box-shadow: none; + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-fade-slide-in .in, +.animate-fade-slide-in.done .item, +.animate-fade-slide-in .in, +.animate-fade-slide-in.done .item { + -ms-transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.animate-fade-slide-in .in, +.animate-fade-slide-in.done .item, +.animate-fade-slide-in .in, +.animate-fade-slide-in.done .item { + visibility: visible; } + +.list .item.item-bg-image, +.list .item.item-bg-image { + max-height: 150px; } + +.animate-fade-slide-in .item, +.animate-fade-slide-in .item { + visibility: hidden; } + +.animate-fade-slide-in .item, +.animate-fade-slide-in .item { + -ms-transform: translate3d(-250px, 250px, 0); + -webkit-transform: translate3d(-250px, 250px, 0); + transform: translate3d(-250px, 250px, 0); + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1); + opacity: 0; + filter: alpha(opacity=0); } + +.animate-fade-slide-in .in, +.animate-fade-slide-in.done, +.animate-fade-slide-in .in, +.animate-fade-slide-in.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out; + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in .in, +.animate-fade-slide-in.done, +.animate-fade-slide-in .in, +.animate-fade-slide-in.done { + visibility: visible; } + +.animate-fade-slide-in.done .in, +.animate-fade-slide-in.done .in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in .has-mask-reverse:after, +.animate-fade-slide-in .has-mask-reverse:after { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-fade-slide-in.done .has-mask-reverse:after, +.animate-fade-slide-in.done .has-mask-reverse:after { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in .out, +.animate-fade-slide-in .out { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); } + +/* Motion: Slide In Right +==================================*/ +.animate-fade-slide-in-right .item, +.animate-fade-slide-in-right .item { + visibility: hidden; } + +.animate-fade-slide-in-right .item, +.animate-fade-slide-in-right .item { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +.animate-fade-slide-in-right .item-bg-image > img.background, +.animate-fade-slide-in-right .item-bg-image > img.background { + box-shadow: none; + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done > *, +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done > * { + -ms-transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done .item, +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done .item { + visibility: visible; } + +.animate-fade-slide-in-right .item, +.animate-fade-slide-in-right .item { + visibility: hidden; } + +.animate-fade-slide-in-right .item, +.animate-fade-slide-in-right .item { + -ms-transform: translate3d(250px, 250px, 0); + -webkit-transform: translate3d(250px, 250px, 0); + transform: translate3d(250px, 250px, 0); + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1); + opacity: 0; + filter: alpha(opacity=0); } + +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done, +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done, +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done { + visibility: visible; } + +.animate-fade-slide-in-right.done .in, +.animate-fade-slide-in-right.done .in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in-right .has-mask-reverse:after, +.animate-fade-slide-in-right .has-mask-reverse:after { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-fade-slide-in-right.done .has-mask-reverse:after, +.animate-fade-slide-in-right.done .has-mask-reverse:after { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in-right .out, +.animate-fade-slide-in-right .out { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); } + +/* Motion: Slide Up +==================================*/ +.slide-up, +.slide-up, +.hero.slide-up { + height: 100%; + overflow: hidden; + text-align: center; } + +.slide-up { + -webkit-transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.slide-up *, +.slide-up *, +.hero.slide-up * { + opacity: 0; + filter: alpha(opacity=0); } + +.hero.slide-up + .mid-bar, +.slide-up + .mid-bar, +.slide-up + .mid-bar { + height: 100%; + opacity: 0.7; + filter: alpha(opacity=70); + -webkit-transform: translate3d(100%, -240px, 0); + transform: translate3d(100%, -240px, 0); } + +/*! + * Waves v0.5.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * Forked by Zach Fitzgerald and other contributors for Ionic Material + * + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + * + */ +.ink, .button-fab, .button-flat, .button-raised, .button-clear, .popup .button { + position: relative; + cursor: pointer; + /*display: inline-block;*/ + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: transparent; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; } + +.ink-ripple { + position: absolute; + border-radius: 50%; + width: 100px; + height: 100px; + margin-top: -50px; + margin-left: -50px; + opacity: 0; + background-color: rgba(255, 255, 255, 0.4); + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + -o-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; + -webkit-transition-property: -webkit-transform, opacity; + -moz-transition-property: -moz-transform, opacity; + -o-transition-property: -o-transform, opacity; + transition-property: transform, opacity; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); + pointer-events: none; } + +.ink-notransition { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + transition: none !important; } + +.button-fab, +.button-flat, +.button-clear, +.button-raised, +.ink-button, +.ink-circle { + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + -o-transform: translateZ(0); + transform: translateZ(0); } + +.button-fab.activated, +.button-flat.activated, +.button-raised.activated, +.button-clear.activated, +.ink-button.activated, +.ink.activated, +.ink-circle.activated, +.popup .button.activated, +.button-fab:active, +.button-flat:active, +.button-raised:active, +.button-clear:active, +.ink-button:active, +.ink:active, +.ink-circle:active, +.popup .button:active { + -webkit-mask-image: -webkit-radial-gradient(circle, #ffffff 100%, #000000 100%); } + +.ink-button, +.ink-button:visited, +.ink-button:link, +.button-fab, +.button-fab:visited, +.button-fab:link, +.button-flat, +.button-flat:visited, +.button-flat:link, +.button-raised, +.button-raised:visited, +.button-raised:link, +.button-clear, +.button-clear:visited, +.button-clear:link, +.ink-button-input { + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border: none; + outline: none; + /* color: inherit; */ + /* background-color: rgba(0, 0, 0, 0); */ + font-size: 14px; + text-align: center; + text-decoration: none; + z-index: 1; } + +.ink-button { + padding: 10px 15px; + border-radius: 2px; } + +.ink-button-input { + margin: 0; + padding: 10px 15px; } + +.ink-input-wrapper { + border-radius: 2px; + vertical-align: bottom; } + +.ink-input-wrapper.ink-button { + padding: 0; } + +.ink-input-wrapper .ink-button-input { + position: relative; + top: 0; + left: 0; + z-index: 1; } + +.ink-circle { + text-align: center; + width: 2.5em; + height: 2.5em; + line-height: 2.5em; + border-radius: 50%; } + +.ink-float { + -webkit-mask-image: none; + -webkit-box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12); + box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12); } + +.ink-float:active { + -webkit-box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3); + box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3); } + +.ink-block { + display: block; } + +.ink-ripple { + z-index: 0; + /* Firefox Bug: link not triggered unless -1 z-index */ } + +/* Handled elsewhere +.button-fab,.button-raised,.button-flat,.ink-circle,.list a.item { + -webkit-mask-image: none; +} +*/ +.button-clear .ink-ripple, +*[class$="-clear"] > .ink-ripple, +*[class$="-light"] > .ink-ripple, +*[class$="-stable"] > .ink-ripple, +*[class$="-100"] > .ink-ripple, +.list .ink-ripple, +.ink-dark .ink-ripple { + background-color: rgba(0, 0, 0, 0.2); } + +.tab-item { + position: relative; + /* for Ink */ } + +/* Ionic Overrides +==================================*/ +* { + font-family: "RobotoDraft","Roboto","Helvetica Neue", "Segoe UI", sans-serif; } + +.rounded { + border-radius: 4px; } + +a { + cursor: pointer; } + +.has-header.expanded { + /* Expanded modifier */ + top: 76px; } + +/* Bar Overrides +==================================*/ +.bar { + border-bottom: none; + padding: 0; } + +.bar .button { + min-height: 44px; + min-width: 44px; + max-width: 48px; + margin-bottom: 0; + max-height: 44px; + width: 48px; } + +.bar .title + .buttons.buttons-right { + right: 0; + top: 0; } + +/* Title Overrides +==================================*/ +.title-left, +.title.title-left { + left: 48px; } + +.title-right, +.title.title-right { + left: 48px; } + +/* Background Colors +==================================*/ +.positive-bg, +.button-positive, +.bar .button-positive, +.header-positive, +.button-bar-positive, +.bar-positive, +.positive-border, +.positive-bg:hover, +.bar .button-positive:hover, +.button-positive:hover, +.header-positive:hover, +.button-bar-positive:hover, +.bar-positive:hover, +.positive-border:hover, +.positive-bg:active, +.bar .button-positive:active, +.button-positive:active, +.header-positive:active, +.button-bar-positive:active, +.bar-positive:active, +.positive-border:active, +.positive-bg.activated, +.bar .button-positive.activated, +.button-positive.activated, +.header-positive.activated, +.button-bar-positive.activated, +.bar-positive.activated, +.positive-border.activated { + background-color: #3F51B5; + color: #fff; } + +.positive-900-bg, +.button-positive-900, +.bar .button-positive-900, +.header-positive-900, +.button-bar-positive-900, +.bar-positive-900, +.positive-900-border, +.positive-900-bg:hover, +.button-positive-900:hover, +.bar .button-positive-900:hover, +.header-positive-900:hover, +.button-bar-positive-900:hover, +.bar-positive-900:hover, +.positive-900-border:hover, +.positive-900-bg:active, +.bar .button-positive-900:active, +.button-positive-900:active, +.header-positive-900:active, +.button-bar-positive-900:active, +.bar-positive-900:active, +.positive-900-border:active, +.positive-900-bg.activated, +.button-positive-900.activated, +.bar .button-positive-900.activated, +.header-positive-900.activated, +.button-bar-positive-900.activated, +.bar-positive-900.activated, +.positive-900-border.activated { + background-color: #1A237E; + color: #fff; } + +.positive-100-bg, +.button-positive-100, +.bar .button-positive-100, +.header-positive-100, +.button-bar-positive-100, +.bar-positive-100, +.positive-100-border, +.positive-100-bg:hover, +.button-positive-100:hover, +.bar .button-positive-100:hover, +.header-positive-100:hover, +.button-bar-positive-100:hover, +.bar-positive-100:hover, +.positive-100-border:hover, +.positive-100-bg:active, +.button-positive-100:active, +.bar .button-positive-100:active, +.header-positive-100:active, +.button-bar-positive-100:active, +.bar-positive-100:active, +.positive-100-border:active, +.positive-100-bg.activated, +.button-positive-100.activated, +.bar .button-positive-100.activated, +.header-positive-100.activated, +.button-bar-positive-100.activated, +.bar-positive-100.activated, +.positive-100-border.activated { + background-color: #C5CAE9; + color: #fff; } + +.calm-bg, +.button-calm, +.bar .button-calm, +.header-calm, +.button-bar-calm, +.bar-calm, +.calm-border, +.calm-bg:hover, +.button-calm:hover, +.bar .button-calm:hover, +.header-calm:hover, +.button-bar-calm:hover, +.bar-calm:hover, +.calm-border:hover, +.calm-bg:active, +.button-calm:active, +.bar .button-calm:active, +.header-calm:active, +.button-bar-calm:active, +.bar-calm:active, +.calm-border:active, +.calm-bg.activated, +.button-calm.activated, +.bar .button-calm.activated, +.header-calm.activated, +.button-bar-calm.activated, +.bar-calm.activated, +.calm-border.activated { + background-color: #2196F3; + color: #fff; } + +.calm-900-bg, +.button-calm-900, +.bar .button-calm-900, +.header-calm-900, +.button-bar-calm-900, +.bar-calm-900, +.calm-900-border, +.calm-900-bg:hover, +.button-calm-900:hover, +.bar .button-calm-900:hover, +.header-calm-900:hover, +.button-bar-calm-900:hover, +.bar-calm-900:hover, +.calm-900-border:hover, +.calm-900-bg:active, +.button-calm-900:active, +.bar .button-calm-900:active, +.header-calm-900:active, +.button-bar-calm-900:active, +.bar-calm-900:active, +.calm-900-border:active, +.calm-900-bg.activated, +.button-calm-900.activated, +.bar .button-calm-900.activated, +.header-calm-900.activated, +.button-bar-calm-900.activated, +.bar-calm-900.activated, +.calm-900-border.activated { + background-color: #0D47A1; + color: #fff; } + +.calm-100-bg, +.button-calm-100, +.bar .button-calm-100, +.header-calm-100, +.button-bar-calm-100, +.bar-calm-100, +.calm-100-border, +.calm-100-bg:hover, +.button-calm-100:hover, +.bar .button-calm-100:hover, +.header-calm-100:hover, +.button-bar-calm-100:hover, +.bar-calm-100:hover, +.calm-100-border:hover, +.calm-100-bg:active, +.button-calm-100:active, +.bar .button-calm-100:active, +.header-calm-100:active, +.button-bar-calm-100:active, +.bar-calm-100:active, +.calm-100-border:active, +.calm-100-bg.activated, +.button-calm-100.activated, +.bar .button-calm-100.activated, +.header-calm-100.activated, +.button-bar-calm-100.activated, +.bar-calm-100.activated, +.calm-100-border.activated { + background-color: #BBDEFB; + color: #fff; } + +.royal-bg, +.button-royal, +.bar .button-royal, +.header-royal, +.button-bar-royal, +.bar-royal, +.royal-border, +.royal-bg:hover, +.button-royal:hover, +.bar .button-royal:hover, +.header-royal:hover, +.button-bar-royal:hover, +.bar-royal:hover, +.royal-border:hover, +.royal-bg:active, +.button-royal:active, +.bar .button-royal:active, +.header-royal:active, +.button-bar-royal:active, +.bar-royal:active, +.royal-border:active, +.royal-bg.activated, +.button-royal.activated, +.bar .button-royal.activated, +.header-royal.activated, +.button-bar-royal.activated, +.bar-royal.activated, +.royal-border.activated { + background-color: #673AB7; + color: #fff; } + +.royal-900-bg, +.button-royal-900, +.bar .button-royal-900, +.header-royal-900, +.button-bar-royal-900, +.bar-royal-900, +.royal-900-border, +.royal-900-bg:hover, +.button-royal-900:hover, +.bar .button-royal-900:hover, +.header-royal-900:hover, +.button-bar-royal-900:hover, +.bar-royal-900:hover, +.royal-900-border:hover, +.royal-900-bg:active, +.button-royal-900:active, +.bar .button-royal-900:active, +.header-royal-900:active, +.button-bar-royal-900:active, +.bar-royal-900:active, +.royal-900-border:active, +.royal-900-bg.activated, +.button-royal-900.activated, +.bar .button-royal-900.activated, +.header-royal-900.activated, +.button-bar-royal-900.activated, +.bar-royal-900.activated, +.royal-900-border.activated { + background-color: #311B92; + color: #fff; } + +.royal-100-bg, +.button-royal-100, +.bar .button-royal-100, +.header-royal-100, +.button-bar-royal-100, +.bar-royal-100, +.royal-100-border, +.royal-100-bg:hover, +.button-royal-100:hover, +.bar .button-royal-100:hover, +.header-royal-100:hover, +.button-bar-royal-100:hover, +.bar-royal-100:hover, +.royal-100-border:hover, +.royal-100-bg:active, +.button-royal-100:active, +.bar .button-royal-100:active, +.header-royal-100:active, +.button-bar-royal-100:active, +.bar-royal-100:active, +.royal-100-border:active, +.royal-100-bg.activated, +.button-royal-100.activated, +.bar .button-royal-100.activated, +.header-royal-100.activated, +.button-bar-royal-100.activated, +.bar-royal-100.activated, +.royal-100-border.activated { + background-color: #D1C4E9; + color: #fff; } + +.balanced-bg, +.button-balanced, +.bar .button-balanced, +.header-balanced, +.button-bar-balanced, +.bar-balanced, +.balanced-border, +.balanced-bg:hover, +.button-balanced:hover, +.bar .button-balanced:hover, +.header-balanced:hover, +.button-bar-balanced:hover, +.bar-balanced:hover, +.balanced-border:hover, +.balanced-bg:active, +.button-balanced:active, +.bar .button-balanced:active, +.header-balanced:active, +.button-bar-balanced:active, +.bar-balanced:active, +.balanced-border:active, +.balanced-bg.activated, +.button-balanced.activated, +.bar .button-balanced.activated, +.header-balanced.activated, +.button-bar-balanced.activated, +.bar-balanced.activated, +.balanced-border.activated { + background-color: #4CAF50; + color: #fff; } + +.balanced-900-bg, +.button-balanced-900, +.bar .button-balanced-900, +.header-balanced-900, +.button-bar-balanced-900, +.bar-balanced-900, +.balanced-900-border, +.balanced-900-bg:hover, +.button-balanced-900:hover, +.bar .button-balanced-900:hover, +.header-balanced-900:hover, +.button-bar-balanced-900:hover, +.bar-balanced-900:hover, +.balanced-900-border:hover, +.balanced-900-bg:active, +.button-balanced-900:active, +.bar .button-balanced-900:active, +.header-balanced-900:active, +.button-bar-balanced-900:active, +.bar-balanced-900:active, +.balanced-900-border:active, +.balanced-900-bg.activated, +.button-balanced-900.activated, +.bar .button-balanced-900.activated, +.header-balanced-900.activated, +.button-bar-balanced-900.activated, +.bar-balanced-900.activated, +.balanced-900-border.activated { + background-color: #1B5E20; + color: #fff; } + +.balanced-100-bg, +.button-balanced-100, +.bar .button-balanced-100, +.header-balanced-100, +.button-bar-balanced-100, +.bar-balanced-100, +.balanced-100-border, +.balanced-100-bg:hover, +.button-balanced-100:hover, +.bar .balanced-100-bg:hover, +.header-balanced-100:hover, +.button-bar-balanced-100:hover, +.bar-balanced-100:hover, +.balanced-100-border:hover, +.balanced-100-bg:active, +.button-balanced-100:active, +.bar .button-balanced-100:active, +.header-balanced-100:active, +.button-bar-balanced-100:active, +.bar-balanced-100:active, +.balanced-100-border:active, +.balanced-100-bg.activated, +.button-balanced-100.activated, +.bar .button-balanced-100.activated, +.header-balanced-100.activated, +.button-bar-balanced-100.activated, +.bar-balanced-100.activated, +.balanced-100-border.activated { + background-color: #C8E6C9; + color: #fff; } + +.energized-bg, +.button-energized, +.bar .button-energized, +.header-energized, +.button-bar-energized, +.bar-energized, +.energized-border, +.energized-bg:hover, +.button-energized:hover, +.bar .button-energized:hover, +.header-energized:hover, +.button-bar-energized:hover, +.bar-energized:hover, +.energized-border:hover, +.energized-bg:active, +.button-energized:active, +.bar .button-energized:active, +.header-energized:active, +.button-bar-energized:active, +.bar-energized:active, +.energized-border:active, +.energized-bg.activated, +.button-energized.activated, +.bar .button-energized.activated, +.header-energized.activated, +.button-bar-energized.activated, +.bar-energized.activated, +.energized-border.activated { + background-color: #FF9800; + color: #fff; } + +.energized-900-bg, +.button-energized-900, +.bar .button-energized-900, +.header-energized-900, +.button-bar-energized-900, +.bar-energized-900, +.energized-900-border, +.energized-900-bg:hover, +.button-energized-900:hover, +.bar .button-energized-900:hover, +.header-energized-900:hover, +.button-bar-energized-900:hover, +.bar-energized-900:hover, +.energized-900-border:hover, +.energized-900-bg:active, +.button-energized-900:active, +.bar .button-energized-900:active, +.header-energized-900:active, +.button-bar-energized-900:active, +.bar-energized-900:active, +.energized-900-border:active, +.energized-900-bg.activated, +.button-energized-900.activated, +.bar .button-energized-900.activated, +.header-energized-900.activated, +.button-bar-energized-900.activated, +.bar-energized-900.activated, +.energized-900-border.activated { + background-color: #E65100; + color: #fff; } + +.energized-100-bg, +.button-energized-100, +.bar .button-energized-100, +.header-energized-100, +.button-bar-energized-100, +.bar-energized-100, +.energized-100-border, +.energized-100-bg:hover, +.button-energized-100:hover, +.bar .button-energized-100:hover, +.header-energized-100:hover, +.button-bar-energized-100:hover, +.bar-energized-100:hover, +.energized-100-border:hover, +.energized-100-bg:active, +.button-energized-100:active, +.bar .button-energized-100:active, +.header-energized-100:active, +.button-bar-energized-100:active, +.bar-energized-100:active, +.energized-100-border:active, +.energized-100-bg.activated, +.button-energized-100.activated, +.bar .button-energized-100.activated, +.header-energized-100.activated, +.button-bar-energized-100.activated, +.bar-energized-100.activated, +.energized-100-border.activated { + background-color: #FFE0B2; } + +.assertive-bg, +.button-assertive, +.bar .button-assertive, +.header-assertive, +.button-bar-assertive, +.bar-assertive, +.assertive-border, +.assertive-bg:hover, +.button-assertive:hover, +.bar .button-assertive:hover, +.header-assertive:hover, +.button-bar-assertive:hover, +.bar-assertive:hover, +.assertive-border:hover, +.assertive-bg:active, +.button-assertive:active, +.bar .button-assertive:active, +.header-assertive:active, +.button-bar-assertive:active, +.bar-assertive:active, +.assertive-border:active, +.assertive-bg.activated, +.button-assertive.activated, +.bar .button-assertive.activated, +.header-assertive.activated, +.button-bar-assertive.activated, +.bar-assertive.activated, +.assertive-border.activated { + background-color: #F44336; + color: #fff; } + +.assertive-900-bg, +.button-assertive-900, +.bar .button-assertive-900, +.header-assertive-900, +.button-bar-assertive-900, +.bar-assertive-900, +.assertive-900-border, +.assertive-900-bg:hover, +.button-assertive-900:hover, +.bar .button-assertive-900:hover, +.header-assertive-900:hover, +.button-bar-assertive-900:hover, +.bar-assertive-900:hover, +.assertive-900-border:hover, +.assertive-900-bg:active, +.button-assertive-900:active, +.bar .button-assertive-900:active, +.header-assertive-900:active, +.button-bar-assertive-900:active, +.bar-assertive-900:active, +.assertive-900-border:active, +.assertive-900-bg.activated, +.button-assertive-900.activated, +.bar .button-assertive-900.activated, +.header-assertive-900.activated, +.button-bar-assertive-900.activated, +.bar-assertive-900.activated, +.assertive-900-border.activated { + background-color: #B71C1C; + color: #fff; } + +.assertive-100-bg, +.button-assertive-100, +.bar .button-assertive-100, +.header-assertive-100, +.button-bar-assertive-100, +.bar-assertive-100, +.assertive-100-border, +.assertive-100-bg:hover, +.button-assertive-100:hover, +.bar .button-assertive-100:hover, +.header-assertive-100:hover, +.button-bar-assertive-100:hover, +.bar-assertive-100:hover, +.assertive-100-border:hover, +.assertive-100-bg:active, +.button-assertive-100:active, +.bar .button-assertive-100:active, +.header-assertive-100:active, +.button-bar-assertive-100:active, +.bar-assertive-100:active, +.assertive-100-border:active, +.assertive-100-bg.activated, +.bar .button-assertive-100.activated, +.button-assertive-100.activated, +.header-assertive-100.activated, +.button-bar-assertive-100.activated, +.bar-assertive-100.activated, +.assertive-100-border.activated { + background-color: #FFCDD2; + color: #fff; } + +.stable-bg, +.button-stable, +.bar .button-stable, +.header-stable, +.button-bar-stable, +.bar-stable, +.stable-border, +.stable-bg:hover, +.button-stable:hover, +.bar .button-stable:hover, +.header-stable:hover, +.button-bar-stable:hover, +.bar-stable:hover, +.stable-border:hover, +.stable-bg:active, +.button-stable:active, +.bar .button-stable:active, +.header-stable:active, +.button-bar-stable:active, +.bar-stable:active, +.stable-border:active, +.stable-bg.activated, +.button-stable.activated, +.bar .button-stable.activated, +.header-stable.activated, +.button-bar-stable.activated, +.bar-stable.activated, +.stable-border.activated { + background-color: #E0E0E0; + color: #fff; } + +/* Text Colors +==================================*/ +.positive, +.positive *, +*.positive, +.positive:hover, +.positive:hover *, +*.positive:hover, +.positive:active, +.positive:active *, +*.positive:active { + color: #3F51B5; } + +.positive-900, +.positive-900 *, +*.positive-900, +.positive-900:hover, +.positive-900:hover *, +*.positive-900:hover, +.positive-900:active, +.positive-900:active *, +*.positive-900:active { + color: #3F51B5; } + +.positive-100, +.positive-100 *, +*.positive-100, +.positive-100:hover, +.positive-100:hover *, +*.positive-100:hover, +.positive-100:active, +.positive-100:active *, +*.positive-100:active { + color: #C5CAE9; } + +.calm-100, +.calm-100 *, +*.calm-100, +.calm-100:hover, +.calm-100:hover *, +*.calm-100:hover, +.calm-100:active, +.calm-100:active *, +*.calm-100:active { + color: #2196F3; } + +.calm-900, +.calm-900 *, +*.calm-900, +.calm-900:hover, +.calm-900:hover *, +*.calm-900:hover, +.calm-900:active, +.calm-900:active *, +*.calm-900:active { + color: #0D47A1; } + +.calm-100, +.calm-100 *, +*.calm-100, +.calm-100:hover, +.calm-100:hover *, +*.calm-100:hover, +.calm-100:active, +.calm-100:active *, +*.calm-100:active { + color: #BBDEFB; } + +.royal, +.royal *, +*.royal, +.royal:hover, +.royal:hover *, +*.royal:hover, +.royal:active, +.royal:active *, +*.royal:active { + color: #673AB7; } + +.royal-900, +.royal-900 *, +*.royal-900, +.royal-900:hover, +.royal-900:hover *, +*.royal-900:hover, +.royal-900:active, +.royal-900:active *, +*.royal-900:active { + color: #311B92; } + +.royal-100, +.royal-100 *, +*.royal-100, +.royal-100:hover, +.royal-100:hover *, +*.royal-100:hover, +.royal-100:active, +.royal-100:active *, +*.royal-100:active { + color: #D1C4E9; } + +.balanced, +.balanced *, +*.balanced, +.balanced:hover, +.balanced:hover *, +*.balanced:hover, +.balanced:active, +.balanced:active *, +*.balanced:active { + color: #4CAF50; } + +.balanced-900, +.balanced-900 *, +*.balanced-900, +.balanced-900:hover, +.balanced-900:hover *, +*.balanced-900:hover, +.balanced-900:active, +.balanced-900:active *, +*.balanced-900:active { + color: #1B5E20; } + +.balanced-100, +.balanced-100 *, +*.balanced-100, +.balanced-100:hover, +.balanced-100:hover *, +*.balanced-100:hover, +.balanced-100:active, +.balanced-100:active *, +*.balanced-100:active { + color: #C8E6C9; } + +.energized, +.energized *, +*.energized, +.energized:hover, +.energized:hover *, +*.energized:hover, +.energized:active, +.energized:active *, +*.energized:active { + color: #FF9800; } + +.energized-900, +.energized-900 *, +*.energized-900, +.energized-900:hover, +.energized-900:hover *, +*.energized-900:hover, +.energized-900:active, +.energized-900:active *, +*.energized-900:active { + color: #E65100; } + +.energized-100, +.energized-100 *, +*.energized-100, +.energized-100:hover, +.energized-100:hover *, +*.energized-100:hover, +.energized-100:active, +.energized-100:active *, +*.energized-100:active { + color: #FFE0B2; } + +.assertive, +.assertive *, +*.assertive, +.assertive:hover, +.assertive:hover *, +*.assertive:hover, +.assertive:active, +.assertive:active *, +*.assertive:active { + color: #F44336; } + +.assertive-900, +.assertive-900 *, +*.assertive-900, +.assertive-900:hover, +.assertive-900:hover *, +*.assertive-900:hover, +.assertive-900:active, +.assertive-900:active *, +*.assertive-900:active { + color: #B71C1C; } + +.assertive-100, +.assertive-100 *, +*.assertive-100, +.assertive-100:hover, +.assertive-100:hover *, +*.assertive-100:hover, +.assertive-100:active, +.assertive-100:active *, +*.assertive-100:active { + color: #FFCDD2; } + +.stable, +.stable *, +*.stable, +.stable:hover, +.stable:hover *, +*.stable:hover, +.stable:active, +.stable:active *, +*.stable:active { + color: #E0E0E0; } + +.light, +.light *, +*.light, +.light:hover, +.light:hover *, +*.light:hover, +.light:active, +.light:active *, +*.light:active { + color: #fff; } + +.dark, +.dark *, +*.dark, +.dark:hover, +.dark:hover *, +*.dark:hover, +.dark:active, +.dark:active *, +*.dark:active { + color: #444; } + +.light-border { + border-color: #ddd; } + +.navbar-default .navbar-nav > li > a { + margin: 0; + padding-right: 26px; + padding-left: 26px; + border-top: 3px solid transparent; + color: #BFD5C9; + opacity: 1; } + +/* Mid-Bar +==================================*/ +.mid-bar { + padding: 16px; } + +.mid-bar h1, +.mid-bar h2, +.mid-bar h3, +.mid-bar h4, +.mid-bar h5, +.mid-bar h6 { + color: #fff; + margin-bottom: 5px; } + +.mid-bar p { + color: rgba(255, 255, 255, 0.5); + margin-bottom: 0; } + +/* Item +==================================*/ +.item-avatar, +.item-avatar .item-content, +.item-avatar-left, +.item-avatar-left .item-content, +.card > .item-avatar { + padding-left: 95px; } + +.item, +.item-complex .item-content, +.item-radio .item-content { + background-color: transparent; } + +.dark-bg h2, +.item.dark-bg h2 { + color: #fff; } + +.tabs-striped .tabs { + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); } + +.bar .button.button-clear { + color: #fff; } + +.bar .button.button-icon .icon:before, +.bar .button.button-icon.icon-left:before, +.bar .button.button-icon.icon-right:before, +.bar .button.button-icon:before { + vertical-align: top; + font-size: 24px; } + +.menu { + background-color: transparent; } + +.button-icon.button.active, +.button-icon.button.activated { + opacity: initial; } + +/* Popover +==================================*/ +.popover { + opacity: 0; + position: absolute; + right: 8px; + transform: translate(50%, -50%) scale(0, 0); + transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; + top: 8px; } + +.popover.ng-enter { + opacity: 1; + transform: translate(0, -14px) scale(1, 1); + transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; } + +.popover.ng-leave { + opacity: 0; + transform: translate(50%, -50%) scale(0, 0); + transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; } + +/* Button +==================================*/ +.button { + overflow: hidden !important; } diff --git a/www/lib/ionic/css/ionic.material.min.css b/www/lib/ionic/css/ionic.material.min.css new file mode 100644 index 000000000..7b6eb5cb9 --- /dev/null +++ b/www/lib/ionic/css/ionic.material.min.css @@ -0,0 +1,12 @@ +.item-md-label{display:block;background:0 0;box-shadow:none;margin-left:12px;margin-right:12px;padding:30px 0 0}.item-md-label .input-label{position:absolute;z-index:2;-webkit-transform:translate3d(0,-30px,0) scale(1);transform:translate3d(0,-30px,0) scale(1);-webkit-transition:all .2s ease;transition:all .2s ease;color:#fff;opacity:.5;filter:alpha(opacity=50);-webkit-transform-origin:0;-ms-transform-origin:0;transform-origin:0}.item-md-label input{background-color:rgba(0,0,0,.6);bottom:0;color:#fff;letter-spacing:.25rem;padding:20px 10px;position:relative;z-index:1}.item-md-label .highlight{position:absolute;bottom:0;height:2px;left:0;width:100%;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);-webkit-transition:all .15s ease;transition:all .15s ease;z-index:1}.item-md-label .highlight-light{background:#fff}.item-md-label .highlight-stable{background:#f8f8f8}.item-md-label .highlight-positive{background:#387ef5}.item-md-label .highlight-calm{background:#11c1f3}.item-md-label .highlight-balanced{background:#33cd5f}.item-md-label .highlight-energized{background:#ffc900}.item-md-label .highlight-assertive{background:#ef473a}.item-md-label .highlight-royal{background:#886aea}.item-md-label .highlight-dark{background:#444}.item-md-label .input-label{letter-spacing:.25rem;padding:0 10px}.item-md-label input.used~.input-label,.item-md-label input:focus~.input-label{font-weight:700;opacity:.7;filter:alpha(opacity=70);padding:0;text-transform:uppercase;-webkit-transform:translate3d(0,-60px,0) scale(.9);transform:translate3d(0,-60px,0) scale(.9)}.item-md-label input:focus~.highlight{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bar.bar-header.expanded,.expanded .bar.bar-header{height:75px}.bar.bar-header.expanded .title,.expanded.bar.bar-header .title{bottom:0;top:initial;padding-left:16px}.bar.bar-header.expanded .title.fab-left,.expanded .bar.bar-header .title.fab-left{bottom:0;left:90px;position:absolute;right:initial;top:initial}.bar.bar-header.expanded .title.fab-right,.expanded .bar.bar-header .title.fab-right{bottom:0;left:4px;position:absolute;top:initial;right:initial}.bar.bar-header.expanded+.button-fab,.expanded .bar.bar-header+.button-fab{top:50px}.bar.bar-header.expanded.push-down,.expanded .bar.bar-header.push-down{height:44px;overflow:hidden}.bar.bar-header.expanded,.expanded .bar.bar-header{-webkit-transition:height 1s cubic-bezier(.55,0,.1,1);transition:height 1s cubic-bezier(.55,0,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bar.bar-header.expanded+.button-fab,.expanded .bar.bar-header+.button-fab{-webkit-transition:all 1.1s cubic-bezier(.55,0,.1,1);transition:all 1.1s cubic-bezier(.55,0,.1,1);-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.bar.bar-header.expanded.push-down+.button-fab,.expanded .bar.bar-header.push-down+.button-fab{top:0;-webkit-transform:translate3d(-100px,-100px,0) scale(2.5);transform:translate3d(-100px,-100px,0) scale(2.5)}.bar.bar-header.expanded.push-down .title,.expanded .bar.bar-header.push-down .title{opacity:0;filter:alpha(opacity=0);left:initial;right:initial}.bar.bar-header.expanded .title,.expanded .bar.bar-header .title{opacity:1;filter:alpha(opacity=100);-webkit-transition:all 2s cubic-bezier(.55,0,.1,1);transition:all 2s cubic-bezier(.55,0,.1,1);bottom:0;left:42px!important;top:initial}.bar.bar-header.expanded.has-header-fab-left .title,.expanded.has-header-fab-left .bar.bar-header .title{left:76px!important}.bar{z-index:2;font-size:1.3em;width:100%;box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.bar .button{z-index:3}.bar .no-text span.back-text{display:none}.bar .title sup{opacity:.7}.bar.bar-header .button+.title{text-align:left;left:35px;line-height:46px}.button-bar{box-shadow:0 1px 3px rgba(0,0,0,.15)}.button-bar>.button{box-shadow:none}.button-bar>.button .icon:before,.button-bar>.button:before{line-height:initial}.bar-footer .button-fab{position:absolute;top:-26px;bottom:initial}.bar-footer .buttons-left .button-fab{left:8px}.bar-footer .buttons-right .button-fab{right:8px}.bar .button.button-clear{box-shadow:none}.left-buttons .button-fab{left:8px;top:16px}.right-buttons .button-fab{right:8px;top:16px}.fab-left.title-left,.fab-left.title.title-left{left:68px}.bar .button.button-fab,.button.button-fab{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);z-index:9999;width:56px;height:56px;max-height:initial;max-width:initial;border-radius:50%;border-radius:50%;overflow:hidden;padding:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:.3s fade-in-out;transition:.3s fade-in-out;-webkit-transition-property:-webkit-transform,box-shadow;transition-property:transform,box-shadow}.bar .button.button-fab.button-fab-bottom-right,.button.button-fab.button-fab-bottom-right{top:auto;right:16px;bottom:16px;left:auto;position:absolute}.bar .button.button-fab.button-fab-bottom-left,.button.button-fab.button-fab-bottom-left{top:auto;right:auto;bottom:16px;left:16px;position:absolute}.bar .button.button-fab.button-fab-top-right,.button.button-fab.button-fab-top-right{top:32px;right:16px;bottom:auto;left:auto;position:absolute}.bar .button.button-fab.button-fab-top-left,.button.button-fab.button-fab-top-left{top:32px;right:auto;bottom:auto;left:16px;position:absolute}.bar .button.button-fab.button-fab-top-left.expanded,.bar .button.button-fab.button-fab-top-right.expanded,.button.button-fab.button-fab-top-left.expanded,.button.button-fab.button-fab-top-right.expanded{top:48px}.bar .button.button-fab i,.button.button-fab i{font-size:2.5rem;margin-top:0}.bar .button.button-fab.mini,.button.button-fab.mini{width:40px;height:40px}.bar .button.button-fab.mini i,.button.button-fab.mini i{font-size:2rem}.button.button-fab.button-fab-top-left.motion{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(-120px,60px,0);transform:translate3d(-120px,60px,0);-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.button.button-fab.button-fab-top-right.motion{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(120px,60px,0);transform:translate3d(120px,60px,0);-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.button.button-fab.button-fab-bottom-left.motion{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(-120px,60px,0);transform:translate3d(-120px,60px,0);-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.button.button-fab.button-fab-bottom-right.motion{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(120px,60px,0);transform:translate3d(120px,60px,0);-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.bar .button.button-floating,.button.button-floating{display:inline-block;color:#FFF;position:relative;z-index:1;width:37px;height:37px;line-height:37px;padding:0;border-radius:50%;background-clip:padding-box;-webkit-transition:.3s;transition:.3s;cursor:pointer}.bar .button.button-floating i,.button.button-floating i{width:inherit;display:inline-block;text-align:center;color:#FFF;line-height:37px}.bar .button.button-floating.button-large,.button.button-floating.button-large{width:55.5px;height:55.5px}.bar .button.button-floating.button-large i,.button.button-floating.button-large i{line-height:55.5px}.bar .button,.bar .button.button-flat,.bar .button.button-large,.button,.button.button-flat,.button.button-large{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);display:inline-block;height:36px;padding:0 2rem;border-radius:2px;background-clip:padding-box;text-transform:uppercase;border:none;outline:0;-webkit-tap-highlight-color:transparent}.bar .button.button-floating.disabled,.bar .button.button-floating:disabled,.bar .button.button-large.disabled,.bar .button.button-large:disabled,.bar .button.button:disabled,.bar .button.disabled,.bar .button.disabled.button-large,.button.button-floating.disabled,.button.button-floating:disabled,.button.button-large.disabled,.button.button-large:disabled,.button.button:disabled,.button.disabled,.button.disabled.button-large{background-color:#DFDFDF;box-shadow:none;color:#9F9F9F}.bar .button.button-floating.disabled:hover,.bar .button.button-floating:disabled:hover,.bar .button.button-large.disabled:hover,.bar .button.button-large:disabled:hover,.bar .button.button:disabled:hover,.bar .button.disabled.button-large:hover,.bar .button.disabled:hover,.button.button-floating.disabled:hover,.button.button-floating:disabled:hover,.button.button-large.disabled:hover,.button.button-large:disabled:hover,.button.button:disabled:hover,.button.disabled.button-large:hover,.button.disabled:hover{background-color:#DFDFDF;color:#9F9F9F}.bar .button i,.bar .button.button-flat i,.bar .button.button-floating i,.bar .button.button-large i,.button i,.button.button-flat i,.button.button-floating i,.button.button-large i{font-size:1.3rem}.button-bar .button{border-radius:0}.bar .button,.bar .button-large,.button,.button-large{text-decoration:none;text-align:center;letter-spacing:.5px;-webkit-transition:.2s ease-out;transition:.2s ease-out;cursor:pointer}.button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;outline:0;margin:0;white-space:nowrap;text-align:center;text-transform:uppercase;font-weight:500;font-style:inherit;font-variant:inherit;font-size:inherit;text-decoration:none;cursor:pointer;-webkit-transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),transform .4s cubic-bezier(.25,.8,.25,1)}.button:focus{outline:0}.button.ng-hide{-webkit-transition:none;transition:none}.button.cornered{border-radius:0}.button.raised{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.button-outline,.button-outline:active,.button-outline:hover{border-style:solid;border-width:1px}.button.button-outline,.button.button-outline.button-assertive,.button.button-outline.button-balanced,.button.button-outline.button-calm,.button.button-outline.button-dark,.button.button-outline.button-energized,.button.button-outline.button-light,.button.button-outline.button-positive,.button.button-outline.button-royal,.button.button-outline.button-stable{border-color:rgba(0,0,0,.1)}.bar .button-flat,.button-flat{box-shadow:none;background-color:transparent;color:#343434;cursor:pointer}.bar .button.button-flat.disabled,.button.button-flat.disabled{color:#b3b3b3}.bar .button.button-large i,.button.button-large i{font-size:1.6rem}.button-pin-header.button-floating{position:absolute;z-index:1000}.button-pin-header.button-pin-left{left:24px;top:-24px}.button-pin-header.button-pin-right{right:24px;top:-24px}.button:not([disabled]).floating:focus,.button:not([disabled]).floating:hover,.button:not([disabled]).raised:focus,.button:not([disabled]).raised:hover{-webkit-transform:translate3d(0,-1px,0);transform:translate3d(0,-1px,0)}.button.button-flat{box-shadow:none}.button.button-flat,.button.button-flat:active,.button.button-flat:hover{color:#fff}.button.button-clear,.button.button-clear:active,.button.button-clear:hover{background:0 0}.button-block.ink,.button-full.ink{display:block}.card-item.item{border:none;padding-bottom:4px;padding-top:4px}.card-item.item:first-child{padding-top:16px}.card{box-shadow:0 2px 5px 0 rgba(0,0,0,.26);display:block;margin:8px;padding:0;position:relative}.card .image{display:block;margin-top:10px;margin-bottom:5px}.card img{box-shadow:0 2px 5px 0 rgba(0,0,0,.26);display:block;max-width:100%;max-height:initial;position:static}.card.card-gallery img{border:none;box-shadow:none;display:block}.card .card-footer{font-size:90%;opacity:.8;filter:alpha(opacity=80);padding-top:10px}.card>.item{border:none}.card.card-gallery>.item{background:inherit}.card .icon+.icon{padding-left:1rem}.card.animate-fade-in{opacity:0;filter:alpha(opacity=0);-webkit-transform:translate3d(-30px,1px,0);-webkit-transition:all 1s ease-in-out}.card.animate-fade-in.done{opacity:1;filter:alpha(opacity=100);-webkit-transform:translate3d(0,0,0)}.card .item.item-avatar{min-height:88px;padding-left:88px}.hero{background-size:cover;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);color:#fff;height:200px;position:relative;text-align:center;-webkit-transition:all 1s cubic-bezier(.55,0,.1,1);transition:all 1s cubic-bezier(.55,0,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);width:100%}.hero .hero-icon{box-shadow:0 0 2px 0 rgba(0,0,0,.26);border-radius:50%;display:inline-block;height:150px;padding:10px 30px;line-height:136px;width:150px}.hero.no-header{height:244px}.hero>.content{bottom:0;position:absolute;text-align:center;width:100%;z-index:1}.hero>.content>.avatar{background-position:center;background-size:cover;border:solid 1px rgba(255,255,255,.8);border-radius:50%;display:inline-block;height:88px;left:auto;margin-bottom:10px;position:relative;width:88px}.hero h1 .hero h2,.hero h3,.hero h4,.hero h5,.hero h6{color:#fff;margin:0}.hero h4{color:rgba(255,255,255,.7);margin:3px 0 16px}.hero h1>a,.hero h2>a,.hero h3>a,.hero h4>a,.hero h5>a,.hero h6>a{text-decoration:none}.hero+.button-bar{border-radius:0;margin-top:0}.hero+.button-bar>.button:first-child,.hero+.button-bar>.button:last-child{border-radius:0}.hero .hero-icon{color:#fff;font-size:96px}.hero .hero-icon+h1{color:#fff;letter-spacing:.15rem}.hero .button,.hero .button.button-flat,.hero .button.button-large{margin:0}.hero h1.title{color:#fff;font-size:23px;margin:0;text-align:left;padding-left:80px;line-height:59px}.hero+.mid-bar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:all 1s cubic-bezier(.55,0,.1,1);transition:all 1s cubic-bezier(.55,0,.1,1);height:initial;opacity:1;filter:alpha(opacity=100)}.hero>*{-webkit-transition:opacity 2.5s cubic-bezier(.55,0,.1,1);transition:opacity 2.5s cubic-bezier(.55,0,.1,1);opacity:1;filter:alpha(opacity=100)}.item{font-size:14px;width:100%}.item-icon-left .icon{left:16px}.item-icon-right .icon{right:16px}.item-thumbnail-left .item-content .item-image,.item-thumbnail-left .item-content>img:first-child,.item-thumbnail-left .item-image,.item-thumbnail-left>img:first-child{border-radius:50%}.tab-item.activated{height:calc(100% + 3px)}.content+.list{padding-top:0}.list .item{border:none;min-height:48px;text-align:left}.list .item.tabs{padding:initial}.list .item.item-bg-image{min-height:150px}.list .item.item-bg-image>img{height:100%;left:0;max-width:initial;opacity:.65;filter:alpha(opacity=65);position:absolute;top:0;width:100%;z-index:0}.list a.item{opacity:1;filter:alpha(opacity=100)}.list .item.item-bg-image h1,.list .item.item-bg-image h2,.list .item.item-bg-image h3,.list .item.item-bg-image h4,.list .item.item-bg-image h5,.list .item.item-bg-image h6{color:#fff;font-weight:700;position:relative;text-shadow:0 0 3px rgba(0,0,0,.95);z-index:1}.list .item.item-bg-image h2{font-size:24px}.list .item.item-bg-image p{color:#fff;font-size:17px;position:relative;text-shadow:0 0 4px rgba(0,0,0,.95);z-index:1}.item-avatar,.item-avatar .item-content,.item-avatar-left,.item-avatar-left .item-content{min-height:80px}.card>.item.item-thumbnail-left,.item-thumbnail-left,.item-thumbnail-left .item-content{padding-left:106px}.card>.item.item-thumbnail-right,.item-thumbnail-right,.item-thumbnail-right .item-content{padding-right:106px}.item-avatar .item-content .item-image,.item-avatar .item-content>img:first-child,.item-avatar .item-image,.item-avatar-left .item-content .item-image,.item-avatar-left .item-content>img:first-child,.item-avatar-left .item-image,.item-avatar-left>img:first-child,.item-avatar>img:first-child{border-radius:50%;left:16px;max-height:40px;max-width:40px}.avatar,.item-avatar .avatar{background-position:center;background-size:cover;border-radius:50%;display:inline-block;height:56px;left:16px;position:absolute;width:56px}.list.half{display:inline-block;float:left;margin:0;padding:0;width:50%}.list.half:first-child{padding:16px 8px 16px 16px}.list.half:last-child{padding:16px 16px 16px 8px}.list.half:first-child .card.card-gallery,.list.half:last-child .card.card-gallery{margin-left:0;margin-right:0}.list.condensed-space>.card,.list.condensed-space>.item{margin:0 0 2px}.list .card.card-gallery{display:block;float:left;margin:0 0 0 13px;padding:0;width:auto}.list.half .item{width:100%}.list.half .item.card{margin-bottom:16px}.list .card.card-gallery.item h2{padding:12px}.list .item.item-gallery img{width:100%}.item.item-divider{border-top:solid 1px rgba(0,0,0,.12);font-size:14px;font-weight:700;height:48px;line-height:48px;color:rgba(0,0,0,.54)}.item.item-divider:first-child{border:none}.item .item-content.activated,.item .item-content.active,.item-complex.activated .item-content,.item-complex.active .item-content,.item.activated,.item.active{background-color:transparent}.list-inset{margin:20px 30px;border-left:solid 1px #ccc;border-radius:0;background-color:#fff}.item-floating-label,.list .item.item-floating-label{border-bottom:solid 1px #ccc}.loader{position:relative;margin:0 auto;width:100px;height:100px;zoom:1.7}.circular{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100px;position:relative;width:100px}.path{stroke-dasharray:1,200;stroke-dashoffset:0;-webkit-animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;stroke-linecap:round}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}100%{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}100%{stroke-dasharray:89,200;stroke-dashoffset:-124}}@-webkit-keyframes color{0%,100%{stroke:#d62d20}40%{stroke:#0057e7}66%{stroke:#008744}80%,90%{stroke:#ffa700}}@keyframes color{0%,100%{stroke:#d62d20}40%{stroke:#0057e7}66%{stroke:#008744}80%,90%{stroke:#ffa700}}.login{background-position:25% 25%;background-size:180% 180%;height:100%;-webkit-transition:all 1.5s ease-in-out;transition:all 1.5s ease-in-out}.login .item{margin:0 12px;padding-left:0;padding-right:0;width:initial}.login .button-bar{bottom:0;margin:28px 12px 0;width:initial}.login .light-bg{background-color:#fff}.icon.hero-icon:before{line-height:130px}.card.has-mask:after,.hero.has-mask:after,.item.has-mask:after{content:'';background:-webkit-linear-gradient(top,transparent 0,rgba(0,0,0,.6) 100%);height:100%;left:0;position:absolute;top:0;z-index:0;width:100%}.card.has-mask-reverse:after,.hero.has-mask-reverse:after,.item.has-mask-reverse:after{content:'';background:-webkit-linear-gradient(top,rgba(0,0,0,.6) 0,transparent 100%);height:100%;left:0;position:absolute;top:0;z-index:0;width:100%}.menu-bottom{bottom:16px;left:16px;right:16px;position:absolute}.menu-top{top:16px;left:16px;right:16px;position:absolute}.menu .avatar{top:16px;left:16px;height:65px;width:65px}.menu .bar.bar-header.expanded{box-shadow:none;min-height:150px;color:#fff}.menu-open .bar.bar-header.expanded{background-position:0;background-size:100%}.has-expanded-header{top:150px!important}.motion{-webkit-transition:all .5s ease-out;transition:all .5s ease-out}.fade{opacity:0;filter:alpha(opacity=0);-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transition:all .1s ease-out!important;transition:all .1s ease-out!important}.spin-back{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotate(360deg) scale(0)!important;transform:translateZ(0) rotate(360deg) scale(0)!important;-webkit-transition:all .1s ease-out!important;transition:all .1s ease-out!important}.spiral{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotate(-360deg) scale(0) translate(-120px)!important;transform:translateZ(0) rotate(-360deg) scale(0) translate(-120px)!important;-webkit-transition:all .1s ease-out!important;transition:all .1s ease-out!important}.spiral-back{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotate(360deg) scale(0) translate(120px)!important;transform:translateZ(0) rotate(360deg) scale(0) translate(120px)!important;-webkit-transition:all .1s ease-out!important;transition:all .1s ease-out!important}.menu-open .avatar{opacity:1;filter:alpha(opacity=100);-webkit-transform:translateZ(0) rotate(0) scale(1)!important;transform:translateZ(0) rotate(0) scale(1)!important;-webkit-transition:all .3s ease-out!important;transition:all .3s ease-out!important}.spin{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotate(0) scale(0)!important;transform:translateZ(0) rotate(0) scale(0)!important;-webkit-transition:all .3s ease-out!important;transition:all .3s ease-out!important}.spin.on{-webkit-transform:translateZ(0) rotate(-360deg) scale(1)!important;transform:translateZ(0) rotate(-360deg) scale(1)!important}.flap{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotateX(0) scale(0) translate(-120px)!important;transform:translateZ(0) rotateX(0) scale(0) translate(-120px)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.flap.on{-webkit-transform:translateZ(0) rotateX(-720deg) scale(1) translate(0)!important;transform:translateZ(0) rotateX(-720deg) scale(1) translate(0)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.drop{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) scale(3)!important;transform:translateZ(0) scale(3)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.drop.on{-webkit-transform:translateZ(0) scale(1)!important;transform:translateZ(0) scale(1)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.flip{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotateY(0) scale(0)!important;transform:translateZ(0) rotateY(0) scale(0)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.flip.on{-webkit-transform:translateZ(0) rotateY(-720deg) scale(1)!important;transform:translateZ(0) rotateY(-720deg) scale(1)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.bold{font-weight:700}.static{position:static}.pull-left{float:left}.pull-right{float:right}.double-padding,.ionic-content.double-padding{padding:16px}.double-padding-x{padding-left:16px;padding-right:16px}.double-padding-y{padding-top:16px;padding-bottom:16px}.outline{border-style:solid;border-width:1px}.border-top{border-top:solid 1px #ccc;padding-top:30px}.no-border{border:none}.circle{border-radius:50%}.bar.no-padding,.button-bar.no-padding,.button.no-padding,.card.no-padding,.item.no-padding,.list.no-padding,.no-padding{padding:0}.flat,.flat.button,.flat.button.icon,.flat.hero,.flat.tabs{box-shadow:none;-webkit-box-shadow:none}.im-wrapper,.padding{padding:16px!important}.padding-bottom{padding-bottom:16px!important}.padding-top{padding-top:16px!important}.padding-left{padding-left:16px!important}.padding-right{padding-right:16px!important}.no-padding-bottom{padding-bottom:0!important}.no-padding-top{padding-top:0!important}.no-padding-left{padding-left:0!important}.no-padding-right{padding-right:0!important}.z1{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.bar.bar-positive.darker{background-color:#164FAB}.bar.bar-positive.dark-positive-bg{background-color:#2C5CAD}.muted{color:#C3C3C3}.clear-bg{background:0 0}.animate-blinds .item{-ms-transform:scale3d(.8,0,1);-webkit-transform:scale3d(.8,0,1);transform:scale3d(.8,0,1);-webkit-transition:-webkit-transform .3s cubic-bezier(.55,0,.1,1);transition:transform .3s cubic-bezier(.55,0,.1,1)}.animate-blinds .item-bg-image>img.background{box-shadow:none;-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.animate-blinds .in,.animate-blinds.done>*{-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.animate-blinds .in,.animate-blinds.done .item{visibility:visible}.animate-blinds .item{visibility:hidden;opacity:0;filter:alpha(opacity=0)}.animate-blinds .in,.animate-blinds.done{-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:1;filter:alpha(opacity=100);visibility:visible}.animate-blinds.done .in{opacity:1;filter:alpha(opacity=100)}.animate-blinds .has-mask-reverse:after{opacity:0;filter:alpha(opacity=0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.animate-blinds.done .has-mask-reverse:after{opacity:1;filter:alpha(opacity=100)}.animate-blinds .out{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-pan-in-left{background-position:0 0}.animate-ripple .item-bg-image img.background{box-shadow:none;-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.animate-ripple .item{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1);opacity:0;filter:alpha(opacity=0)}.animate-ripple .item.in{opacity:1;filter:alpha(opacity=100)}.animate-ripple .done{visibility:hidden;-ms-transform:scale3d(.8,0,1);-webkit-transform:scale3d(.8,0,1);transform:scale3d(.8,0,1);-webkit-transition:-webkit-transform .3s cubic-bezier(.55,0,.1,1);transition:transform .3s cubic-bezier(.55,0,.1,1)}.animate-ripple .in,.animate-ripple.done{-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;visibility:visible}.animate-ripple.done .in{opacity:1;filter:alpha(opacity=100)}.animate-ripple .has-mask-reverse:after{opacity:0;filter:alpha(opacity=0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.animate-ripple.done .has-mask-reverse:after{opacity:1;filter:alpha(opacity=100)}.animate-ripple .out{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-fade-slide-in .item{-ms-transform:scale3d(.8,0,1);-webkit-transform:scale3d(.8,0,1);transform:scale3d(.8,0,1)}.animate-fade-slide-in .item-bg-image img.background{box-shadow:none;-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.animate-fade-slide-in .in,.animate-fade-slide-in.done .item{-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:visible}.list .item.item-bg-image{max-height:150px}.animate-fade-slide-in .item{visibility:hidden;-ms-transform:translate3d(-250px,250px,0);-webkit-transform:translate3d(-250px,250px,0);transform:translate3d(-250px,250px,0);-webkit-transition:-webkit-transform .5s cubic-bezier(.55,0,.1,1);transition:transform .5s cubic-bezier(.55,0,.1,1);opacity:0;filter:alpha(opacity=0)}.animate-fade-slide-in .in,.animate-fade-slide-in.done{-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out;opacity:1;filter:alpha(opacity=100);visibility:visible}.animate-fade-slide-in.done .in{opacity:1;filter:alpha(opacity=100)}.animate-fade-slide-in .has-mask-reverse:after{opacity:0;filter:alpha(opacity=0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.animate-fade-slide-in.done .has-mask-reverse:after{opacity:1;filter:alpha(opacity=100)}.animate-fade-slide-in .out{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-fade-slide-in-right .item{-ms-transform:scale3d(.8,0,1);-webkit-transform:scale3d(.8,0,1);transform:scale3d(.8,0,1)}.animate-fade-slide-in-right .item-bg-image>img.background{box-shadow:none;-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.animate-fade-slide-in-right .in,.animate-fade-slide-in-right.done>*{-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.animate-fade-slide-in-right .in,.animate-fade-slide-in-right.done .item{visibility:visible}.animate-fade-slide-in-right .item{visibility:hidden;-ms-transform:translate3d(250px,250px,0);-webkit-transform:translate3d(250px,250px,0);transform:translate3d(250px,250px,0);-webkit-transition:-webkit-transform .5s cubic-bezier(.55,0,.1,1);transition:transform .5s cubic-bezier(.55,0,.1,1);opacity:0;filter:alpha(opacity=0)}.animate-fade-slide-in-right .in,.animate-fade-slide-in-right.done{-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:1;filter:alpha(opacity=100);visibility:visible}.animate-fade-slide-in-right.done .in{opacity:1;filter:alpha(opacity=100)}.animate-fade-slide-in-right .has-mask-reverse:after{opacity:0;filter:alpha(opacity=0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.animate-fade-slide-in-right.done .has-mask-reverse:after{opacity:1;filter:alpha(opacity=100)}.animate-fade-slide-in-right .out{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.hero.slide-up,.slide-up{height:100%;overflow:hidden;text-align:center}.slide-up{-webkit-transition:all 1s cubic-bezier(.55,0,.1,1);transition:all 1s cubic-bezier(.55,0,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.hero.slide-up *,.slide-up *{opacity:0;filter:alpha(opacity=0)}.hero.slide-up+.mid-bar,.slide-up+.mid-bar{height:100%;opacity:.7;filter:alpha(opacity=70);-webkit-transform:translate3d(100%,-240px,0);transform:translate3d(100%,-240px,0)}/*! + * Waves v0.5.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * Forked by Zach Fitzgerald and other contributors for Ionic Material + * + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + * + */.button-clear,.button-fab,.button-flat,.button-raised,.ink,.popup .button{position:relative;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.ink-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background-color:rgba(255,255,255,.4);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);pointer-events:none}.ink-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.button-clear,.button-fab,.button-flat,.button-raised,.ink-button,.ink-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.button-clear.activated,.button-clear:active,.button-fab.activated,.button-fab:active,.button-flat.activated,.button-flat:active,.button-raised.activated,.button-raised:active,.ink-button.activated,.ink-button:active,.ink-circle.activated,.ink-circle:active,.ink.activated,.ink:active,.popup .button.activated,.popup .button:active{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.button-clear,.button-clear:link,.button-clear:visited,.button-fab,.button-fab:link,.button-fab:visited,.button-flat,.button-flat:link,.button-flat:visited,.button-raised,.button-raised:link,.button-raised:visited,.ink-button,.ink-button-input,.ink-button:link,.ink-button:visited{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;font-size:14px;text-align:center;text-decoration:none;z-index:1}.ink-button{padding:10px 15px;border-radius:2px}.ink-button-input{margin:0;padding:10px 15px}.ink-input-wrapper{border-radius:2px;vertical-align:bottom}.ink-input-wrapper.ink-button{padding:0}.ink-input-wrapper .ink-button-input{position:relative;top:0;left:0;z-index:1}.ink-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.ink-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12)}.ink-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.ink-block{display:block}.ink-ripple{z-index:0}.button-clear .ink-ripple,.ink-dark .ink-ripple,.list .ink-ripple,[class$="-clear"]>.ink-ripple,[class$="-light"]>.ink-ripple,[class$="-stable"]>.ink-ripple,[class$="-100"]>.ink-ripple{background-color:rgba(0,0,0,.2)}.tab-item{position:relative}*{font-family:RobotoDraft,Roboto,"Helvetica Neue","Segoe UI",sans-serif}.rounded{border-radius:4px}a{cursor:pointer}.has-header.expanded{top:76px}.bar{border-bottom:none;padding:0}.bar .button{min-height:44px;min-width:44px;max-width:48px;margin-bottom:0;max-height:44px;width:48px}.bar .title+.buttons.buttons-right{right:0;top:0}.title-left,.title-right,.title.title-left,.title.title-right{left:48px}.bar .button-positive,.bar .button-positive.activated,.bar .button-positive:active,.bar .button-positive:hover,.bar-positive,.bar-positive.activated,.bar-positive:active,.bar-positive:hover,.button-bar-positive,.button-bar-positive.activated,.button-bar-positive:active,.button-bar-positive:hover,.button-positive,.button-positive.activated,.button-positive:active,.button-positive:hover,.header-positive,.header-positive.activated,.header-positive:active,.header-positive:hover,.positive-bg,.positive-bg.activated,.positive-bg:active,.positive-bg:hover,.positive-border,.positive-border.activated,.positive-border:active,.positive-border:hover{background-color:#3F51B5;color:#fff}.bar .button-positive-900,.bar .button-positive-900.activated,.bar .button-positive-900:active,.bar .button-positive-900:hover,.bar-positive-900,.bar-positive-900.activated,.bar-positive-900:active,.bar-positive-900:hover,.button-bar-positive-900,.button-bar-positive-900.activated,.button-bar-positive-900:active,.button-bar-positive-900:hover,.button-positive-900,.button-positive-900.activated,.button-positive-900:active,.button-positive-900:hover,.header-positive-900,.header-positive-900.activated,.header-positive-900:active,.header-positive-900:hover,.positive-900-bg,.positive-900-bg.activated,.positive-900-bg:active,.positive-900-bg:hover,.positive-900-border,.positive-900-border.activated,.positive-900-border:active,.positive-900-border:hover{background-color:#1A237E;color:#fff}.bar .button-positive-100,.bar .button-positive-100.activated,.bar .button-positive-100:active,.bar .button-positive-100:hover,.bar-positive-100,.bar-positive-100.activated,.bar-positive-100:active,.bar-positive-100:hover,.button-bar-positive-100,.button-bar-positive-100.activated,.button-bar-positive-100:active,.button-bar-positive-100:hover,.button-positive-100,.button-positive-100.activated,.button-positive-100:active,.button-positive-100:hover,.header-positive-100,.header-positive-100.activated,.header-positive-100:active,.header-positive-100:hover,.positive-100-bg,.positive-100-bg.activated,.positive-100-bg:active,.positive-100-bg:hover,.positive-100-border,.positive-100-border.activated,.positive-100-border:active,.positive-100-border:hover{background-color:#C5CAE9;color:#fff}.bar .button-calm,.bar .button-calm.activated,.bar .button-calm:active,.bar .button-calm:hover,.bar-calm,.bar-calm.activated,.bar-calm:active,.bar-calm:hover,.button-bar-calm,.button-bar-calm.activated,.button-bar-calm:active,.button-bar-calm:hover,.button-calm,.button-calm.activated,.button-calm:active,.button-calm:hover,.calm-bg,.calm-bg.activated,.calm-bg:active,.calm-bg:hover,.calm-border,.calm-border.activated,.calm-border:active,.calm-border:hover,.header-calm,.header-calm.activated,.header-calm:active,.header-calm:hover{background-color:#2196F3;color:#fff}.bar .button-calm-900,.bar .button-calm-900.activated,.bar .button-calm-900:active,.bar .button-calm-900:hover,.bar-calm-900,.bar-calm-900.activated,.bar-calm-900:active,.bar-calm-900:hover,.button-bar-calm-900,.button-bar-calm-900.activated,.button-bar-calm-900:active,.button-bar-calm-900:hover,.button-calm-900,.button-calm-900.activated,.button-calm-900:active,.button-calm-900:hover,.calm-900-bg,.calm-900-bg.activated,.calm-900-bg:active,.calm-900-bg:hover,.calm-900-border,.calm-900-border.activated,.calm-900-border:active,.calm-900-border:hover,.header-calm-900,.header-calm-900.activated,.header-calm-900:active,.header-calm-900:hover{background-color:#0D47A1;color:#fff}.bar .button-calm-100,.bar .button-calm-100.activated,.bar .button-calm-100:active,.bar .button-calm-100:hover,.bar-calm-100,.bar-calm-100.activated,.bar-calm-100:active,.bar-calm-100:hover,.button-bar-calm-100,.button-bar-calm-100.activated,.button-bar-calm-100:active,.button-bar-calm-100:hover,.button-calm-100,.button-calm-100.activated,.button-calm-100:active,.button-calm-100:hover,.calm-100-bg,.calm-100-bg.activated,.calm-100-bg:active,.calm-100-bg:hover,.calm-100-border,.calm-100-border.activated,.calm-100-border:active,.calm-100-border:hover,.header-calm-100,.header-calm-100.activated,.header-calm-100:active,.header-calm-100:hover{background-color:#BBDEFB;color:#fff}.bar .button-royal,.bar .button-royal.activated,.bar .button-royal:active,.bar .button-royal:hover,.bar-royal,.bar-royal.activated,.bar-royal:active,.bar-royal:hover,.button-bar-royal,.button-bar-royal.activated,.button-bar-royal:active,.button-bar-royal:hover,.button-royal,.button-royal.activated,.button-royal:active,.button-royal:hover,.header-royal,.header-royal.activated,.header-royal:active,.header-royal:hover,.royal-bg,.royal-bg.activated,.royal-bg:active,.royal-bg:hover,.royal-border,.royal-border.activated,.royal-border:active,.royal-border:hover{background-color:#673AB7;color:#fff}.bar .button-royal-900,.bar .button-royal-900.activated,.bar .button-royal-900:active,.bar .button-royal-900:hover,.bar-royal-900,.bar-royal-900.activated,.bar-royal-900:active,.bar-royal-900:hover,.button-bar-royal-900,.button-bar-royal-900.activated,.button-bar-royal-900:active,.button-bar-royal-900:hover,.button-royal-900,.button-royal-900.activated,.button-royal-900:active,.button-royal-900:hover,.header-royal-900,.header-royal-900.activated,.header-royal-900:active,.header-royal-900:hover,.royal-900-bg,.royal-900-bg.activated,.royal-900-bg:active,.royal-900-bg:hover,.royal-900-border,.royal-900-border.activated,.royal-900-border:active,.royal-900-border:hover{background-color:#311B92;color:#fff}.bar .button-royal-100,.bar .button-royal-100.activated,.bar .button-royal-100:active,.bar .button-royal-100:hover,.bar-royal-100,.bar-royal-100.activated,.bar-royal-100:active,.bar-royal-100:hover,.button-bar-royal-100,.button-bar-royal-100.activated,.button-bar-royal-100:active,.button-bar-royal-100:hover,.button-royal-100,.button-royal-100.activated,.button-royal-100:active,.button-royal-100:hover,.header-royal-100,.header-royal-100.activated,.header-royal-100:active,.header-royal-100:hover,.royal-100-bg,.royal-100-bg.activated,.royal-100-bg:active,.royal-100-bg:hover,.royal-100-border,.royal-100-border.activated,.royal-100-border:active,.royal-100-border:hover{background-color:#D1C4E9;color:#fff}.balanced-bg,.balanced-bg.activated,.balanced-bg:active,.balanced-bg:hover,.balanced-border,.balanced-border.activated,.balanced-border:active,.balanced-border:hover,.bar .button-balanced,.bar .button-balanced.activated,.bar .button-balanced:active,.bar .button-balanced:hover,.bar-balanced,.bar-balanced.activated,.bar-balanced:active,.bar-balanced:hover,.button-balanced,.button-balanced.activated,.button-balanced:active,.button-balanced:hover,.button-bar-balanced,.button-bar-balanced.activated,.button-bar-balanced:active,.button-bar-balanced:hover,.header-balanced,.header-balanced.activated,.header-balanced:active,.header-balanced:hover{background-color:#4CAF50;color:#fff}.balanced-900-bg,.balanced-900-bg.activated,.balanced-900-bg:active,.balanced-900-bg:hover,.balanced-900-border,.balanced-900-border.activated,.balanced-900-border:active,.balanced-900-border:hover,.bar .button-balanced-900,.bar .button-balanced-900.activated,.bar .button-balanced-900:active,.bar .button-balanced-900:hover,.bar-balanced-900,.bar-balanced-900.activated,.bar-balanced-900:active,.bar-balanced-900:hover,.button-balanced-900,.button-balanced-900.activated,.button-balanced-900:active,.button-balanced-900:hover,.button-bar-balanced-900,.button-bar-balanced-900.activated,.button-bar-balanced-900:active,.button-bar-balanced-900:hover,.header-balanced-900,.header-balanced-900.activated,.header-balanced-900:active,.header-balanced-900:hover{background-color:#1B5E20;color:#fff}.balanced-100-bg,.balanced-100-bg.activated,.balanced-100-bg:active,.balanced-100-bg:hover,.balanced-100-border,.balanced-100-border.activated,.balanced-100-border:active,.balanced-100-border:hover,.bar .balanced-100-bg:hover,.bar .button-balanced-100,.bar .button-balanced-100.activated,.bar .button-balanced-100:active,.bar-balanced-100,.bar-balanced-100.activated,.bar-balanced-100:active,.bar-balanced-100:hover,.button-balanced-100,.button-balanced-100.activated,.button-balanced-100:active,.button-balanced-100:hover,.button-bar-balanced-100,.button-bar-balanced-100.activated,.button-bar-balanced-100:active,.button-bar-balanced-100:hover,.header-balanced-100,.header-balanced-100.activated,.header-balanced-100:active,.header-balanced-100:hover{background-color:#C8E6C9;color:#fff}.bar .button-energized,.bar .button-energized.activated,.bar .button-energized:active,.bar .button-energized:hover,.bar-energized,.bar-energized.activated,.bar-energized:active,.bar-energized:hover,.button-bar-energized,.button-bar-energized.activated,.button-bar-energized:active,.button-bar-energized:hover,.button-energized,.button-energized.activated,.button-energized:active,.button-energized:hover,.energized-bg,.energized-bg.activated,.energized-bg:active,.energized-bg:hover,.energized-border,.energized-border.activated,.energized-border:active,.energized-border:hover,.header-energized,.header-energized.activated,.header-energized:active,.header-energized:hover{background-color:#FF9800;color:#fff}.bar .button-energized-900,.bar .button-energized-900.activated,.bar .button-energized-900:active,.bar .button-energized-900:hover,.bar-energized-900,.bar-energized-900.activated,.bar-energized-900:active,.bar-energized-900:hover,.button-bar-energized-900,.button-bar-energized-900.activated,.button-bar-energized-900:active,.button-bar-energized-900:hover,.button-energized-900,.button-energized-900.activated,.button-energized-900:active,.button-energized-900:hover,.energized-900-bg,.energized-900-bg.activated,.energized-900-bg:active,.energized-900-bg:hover,.energized-900-border,.energized-900-border.activated,.energized-900-border:active,.energized-900-border:hover,.header-energized-900,.header-energized-900.activated,.header-energized-900:active,.header-energized-900:hover{background-color:#E65100;color:#fff}.bar .button-energized-100,.bar .button-energized-100.activated,.bar .button-energized-100:active,.bar .button-energized-100:hover,.bar-energized-100,.bar-energized-100.activated,.bar-energized-100:active,.bar-energized-100:hover,.button-bar-energized-100,.button-bar-energized-100.activated,.button-bar-energized-100:active,.button-bar-energized-100:hover,.button-energized-100,.button-energized-100.activated,.button-energized-100:active,.button-energized-100:hover,.energized-100-bg,.energized-100-bg.activated,.energized-100-bg:active,.energized-100-bg:hover,.energized-100-border,.energized-100-border.activated,.energized-100-border:active,.energized-100-border:hover,.header-energized-100,.header-energized-100.activated,.header-energized-100:active,.header-energized-100:hover{background-color:#FFE0B2}.assertive-bg,.assertive-bg.activated,.assertive-bg:active,.assertive-bg:hover,.assertive-border,.assertive-border.activated,.assertive-border:active,.assertive-border:hover,.bar .button-assertive,.bar .button-assertive.activated,.bar .button-assertive:active,.bar .button-assertive:hover,.bar-assertive,.bar-assertive.activated,.bar-assertive:active,.bar-assertive:hover,.button-assertive,.button-assertive.activated,.button-assertive:active,.button-assertive:hover,.button-bar-assertive,.button-bar-assertive.activated,.button-bar-assertive:active,.button-bar-assertive:hover,.header-assertive,.header-assertive.activated,.header-assertive:active,.header-assertive:hover{background-color:#F44336;color:#fff}.assertive-900-bg,.assertive-900-bg.activated,.assertive-900-bg:active,.assertive-900-bg:hover,.assertive-900-border,.assertive-900-border.activated,.assertive-900-border:active,.assertive-900-border:hover,.bar .button-assertive-900,.bar .button-assertive-900.activated,.bar .button-assertive-900:active,.bar .button-assertive-900:hover,.bar-assertive-900,.bar-assertive-900.activated,.bar-assertive-900:active,.bar-assertive-900:hover,.button-assertive-900,.button-assertive-900.activated,.button-assertive-900:active,.button-assertive-900:hover,.button-bar-assertive-900,.button-bar-assertive-900.activated,.button-bar-assertive-900:active,.button-bar-assertive-900:hover,.header-assertive-900,.header-assertive-900.activated,.header-assertive-900:active,.header-assertive-900:hover{background-color:#B71C1C;color:#fff}.assertive-100-bg,.assertive-100-bg.activated,.assertive-100-bg:active,.assertive-100-bg:hover,.assertive-100-border,.assertive-100-border.activated,.assertive-100-border:active,.assertive-100-border:hover,.bar .button-assertive-100,.bar .button-assertive-100.activated,.bar .button-assertive-100:active,.bar .button-assertive-100:hover,.bar-assertive-100,.bar-assertive-100.activated,.bar-assertive-100:active,.bar-assertive-100:hover,.button-assertive-100,.button-assertive-100.activated,.button-assertive-100:active,.button-assertive-100:hover,.button-bar-assertive-100,.button-bar-assertive-100.activated,.button-bar-assertive-100:active,.button-bar-assertive-100:hover,.header-assertive-100,.header-assertive-100.activated,.header-assertive-100:active,.header-assertive-100:hover{background-color:#FFCDD2;color:#fff}.bar .button-stable,.bar .button-stable.activated,.bar .button-stable:active,.bar .button-stable:hover,.bar-stable,.bar-stable.activated,.bar-stable:active,.bar-stable:hover,.button-bar-stable,.button-bar-stable.activated,.button-bar-stable:active,.button-bar-stable:hover,.button-stable,.button-stable.activated,.button-stable:active,.button-stable:hover,.header-stable,.header-stable.activated,.header-stable:active,.header-stable:hover,.stable-bg,.stable-bg.activated,.stable-bg:active,.stable-bg:hover,.stable-border,.stable-border.activated,.stable-border:active,.stable-border:hover{background-color:#E0E0E0;color:#fff}.positive,.positive *,.positive-900,.positive-900 *,.positive-900:active,.positive-900:active *,.positive-900:hover,.positive-900:hover *,.positive:active,.positive:active *,.positive:hover,.positive:hover *{color:#3F51B5}.positive-100,.positive-100 *,.positive-100:active,.positive-100:active *,.positive-100:hover,.positive-100:hover *{color:#C5CAE9}.calm-900,.calm-900 *,.calm-900:active,.calm-900:active *,.calm-900:hover,.calm-900:hover *{color:#0D47A1}.calm-100,.calm-100 *,.calm-100:active,.calm-100:active *,.calm-100:hover,.calm-100:hover *{color:#BBDEFB}.royal,.royal *,.royal:active,.royal:active *,.royal:hover,.royal:hover *{color:#673AB7}.royal-900,.royal-900 *,.royal-900:active,.royal-900:active *,.royal-900:hover,.royal-900:hover *{color:#311B92}.royal-100,.royal-100 *,.royal-100:active,.royal-100:active *,.royal-100:hover,.royal-100:hover *{color:#D1C4E9}.balanced,.balanced *,.balanced:active,.balanced:active *,.balanced:hover,.balanced:hover *{color:#4CAF50}.balanced-900,.balanced-900 *,.balanced-900:active,.balanced-900:active *,.balanced-900:hover,.balanced-900:hover *{color:#1B5E20}.balanced-100,.balanced-100 *,.balanced-100:active,.balanced-100:active *,.balanced-100:hover,.balanced-100:hover *{color:#C8E6C9}.energized,.energized *,.energized:active,.energized:active *,.energized:hover,.energized:hover *{color:#FF9800}.energized-900,.energized-900 *,.energized-900:active,.energized-900:active *,.energized-900:hover,.energized-900:hover *{color:#E65100}.energized-100,.energized-100 *,.energized-100:active,.energized-100:active *,.energized-100:hover,.energized-100:hover *{color:#FFE0B2}.assertive,.assertive *,.assertive:active,.assertive:active *,.assertive:hover,.assertive:hover *{color:#F44336}.assertive-900,.assertive-900 *,.assertive-900:active,.assertive-900:active *,.assertive-900:hover,.assertive-900:hover *{color:#B71C1C}.assertive-100,.assertive-100 *,.assertive-100:active,.assertive-100:active *,.assertive-100:hover,.assertive-100:hover *{color:#FFCDD2}.stable,.stable *,.stable:active,.stable:active *,.stable:hover,.stable:hover *{color:#E0E0E0}.light,.light *,.light:active,.light:active *,.light:hover,.light:hover *{color:#fff}.dark,.dark *,.dark:active,.dark:active *,.dark:hover,.dark:hover *{color:#444}.light-border{border-color:#ddd}.navbar-default .navbar-nav>li>a{margin:0;padding-right:26px;padding-left:26px;border-top:3px solid transparent;color:#BFD5C9;opacity:1}.mid-bar{padding:16px}.mid-bar h1,.mid-bar h2,.mid-bar h3,.mid-bar h4,.mid-bar h5,.mid-bar h6{color:#fff;margin-bottom:5px}.mid-bar p{color:rgba(255,255,255,.5);margin-bottom:0}.card>.item-avatar,.item-avatar,.item-avatar .item-content,.item-avatar-left,.item-avatar-left .item-content{padding-left:95px}.item,.item-complex .item-content,.item-radio .item-content{background-color:transparent}.dark-bg h2,.item.dark-bg h2{color:#fff}.tabs-striped .tabs{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.bar .button.button-clear{color:#fff}.bar .button.button-icon .icon:before,.bar .button.button-icon.icon-left:before,.bar .button.button-icon.icon-right:before,.bar .button.button-icon:before{vertical-align:top;font-size:24px}.menu{background-color:transparent}.button-icon.button.activated,.button-icon.button.active{opacity:initial}.popover{opacity:0;position:absolute;right:8px;transform:translate(50%,-50%) scale(0,0);transition:transform .3s ease-in-out,opacity .3s ease-in-out;top:8px}.popover.ng-enter{opacity:1;transform:translate(0,-14px) scale(1,1);transition:transform .3s ease-in-out,opacity .3s ease-in-out}.popover.ng-leave{opacity:0;transform:translate(50%,-50%) scale(0,0);transition:transform .3s ease-in-out,opacity .3s ease-in-out}.button{overflow:hidden!important} +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvbWQtbGFiZWwuc2NzcyIsImVsZW1lbnRzL2Jhci1oZWFkZXItZXhwYW5kZWQuc2NzcyIsImVsZW1lbnRzL2Jhci5zY3NzIiwiZWxlbWVudHMvYnV0dG9uLWJhci5zY3NzIiwiZWxlbWVudHMvYnV0dG9uLWZhYi5zY3NzIiwiZWxlbWVudHMvYnV0dG9uLWZsb2F0aW5nLnNjc3MiLCJlbGVtZW50cy9idXR0b24uc2NzcyIsImVsZW1lbnRzL2NhcmQuc2NzcyIsImVsZW1lbnRzL2hlcm8uc2NzcyIsImVsZW1lbnRzL2l0ZW0uc2NzcyIsImVsZW1lbnRzL2xpc3Quc2NzcyIsImVsZW1lbnRzL2xvYWRpbmcuc2NzcyIsImVsZW1lbnRzL2xvZ2luLnNjc3MiLCJlbGVtZW50cy9tYXNrLnNjc3MiLCJlbGVtZW50cy9tZW51LnNjc3MiLCJlbGVtZW50cy9tb3Rpb24tZWxlbWVudHMuc2NzcyIsImhlbHBlcnMvdXRpbGl0aWVzLnNjc3MiLCJtb3Rpb24vYmxpbmRzLnNjc3MiLCJtb3Rpb24vcGFuLWluLWxlZnQuc2NzcyIsIm1vdGlvbi9yaXBwbGUuc2NzcyIsIm1vdGlvbi9zbGlkZS1mYWRlLWluLnNjc3MiLCJtb3Rpb24vc2xpZGUtaW4tcmlnaHQuc2NzcyIsIm1vdGlvbi9zbGlkZS11cC5zY3NzIiwib3ZlcnJpZGVzL2luay5zY3NzIiwib3ZlcnJpZGVzL2lvbmljLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsZUFDSSxjQUNBLGVBQ0EsZ0JBQ0EsaUJBQ0Esa0JBQ0EsaUJBRVcsNEJBQ1gsa0JBRUEsVUFDQSxrREFDQSwwQ0FDQSxnQ0FDQSx3QkFDQSxXQUNBLFdBQ0EseUJBQ0EsMkJBQ0EsdUJBQ0EsbUJBRVcscUJBQ1gsZ0NBQ0EsU0FDQSxXQUNBLHNCQUNBLGtCQUNBLGtCQUNBLFVBRVcsMEJBQ1gsa0JBQ0EsU0FDQSxXQUNBLE9BQ0EsV0FDQSx5Q0FDQSxpQ0FDQSxpQ0FDQSx5QkFDQSxVQUVXLGdDQUNYLGdCQUVXLGlD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QUpBLGdCQUNBLGtCQUhJLGNBcUJVLGNBQ2QsZ0JBS0EscUJBQ0EsdUJBSkEsb0JBQ0Esc0JBSEksY0FxQk0sVUFDVixZQUtBLGlCQUNBLG1CQUpBLGdCQUNBLGtCQUhJLGNBVU0sVUFDVixZQUtBLGlCQUNBLG1CQUpBLGdCQUNBLGtCQUhJLGNBVUcsT0FDUCxTQUtBLGNBQ0EsZ0JBSkEsYUFDQSxlQUhJLGNBVU8sV0FDWCxhQUtBLGtCQUNBLG9CQUpBLGlCQUNBLG1CQUhJLGNBVU8sV0FDWCxhQUtBLGtCQUNBLG9CQUpBLGlCQUNBLG1CQUhJLGNBVU0sVUFDVixZQUtBLGlCQUNBLG1CQUpBLGdCQUNBLGtCQUhJLGNBVVUsY0FDZCxnQkFLQSxxQkFDQSx1QkFKQSxvQkFDQSxzQkFISSxjQVVVLGNBQ2QsZ0JBS0EscUJBQ0EsdUJBSkEsb0JBQ0Esc0JBSEksY0FVTyxXQUNYLGFBS0Esa0JBQ0Esb0JBSkEsaUJBQ0EsbUJBSEksY0FVVyxlQUNmLGlCQUtBLHNCQUNBLHdCQUpBLHFCQUNBLHVCQUhJLGNBVVcsZUFDZixpQkFLQSxzQkFDQSx3QkFKQSxxQkFDQSx1QkFISSxjQVVPLFdBQ1gsYUFLQSxrQkFDQSxvQkFKQSxpQkFDQSxtQkFISSxjQVVXLGVBQ2YsaUJBS0Esc0JBQ0Esd0JBSkEscUJBQ0EsdUJBSEksY0FVVyxlQUNmLGlCQUtBLHNCQUNBLHdCQUpBLHFCQUNBLHVCQUhJLGNBVUksUUFDUixVQUtBLGVBQ0EsaUJBSkEsY0FDQSxnQkFISSxjQVVHLE9BQ1AsU0FLQSxjQUNBLGdCQUpBLGFBQ0EsZUFISSxXQVVFLE1BQ04sUUFLQSxhQUNBLGVBSkEsWUFDQSxjQUhJLFdBU0osY0FDSSxrQkFHK0IsaUNBQy9CLFNBQ0EsbUJBQ0Esa0JBQ0EsaUNBQ0EsY0FDQSxVQU9KLFNBQ0ksYUFRSyxZQUNULFlBQ0EsWUFDQSxZQUNBLFlBQ0EsWUFKSSxXQUNBLGtCQUdLLFdBQ0wsMkJBQ0EsZ0JBY0osbUJBSlEsYUFDUiwyQkFDQSxrQkFDQSxnQ0FGSSxrQkFLUSxNQUNaLDRCQUNBLDBCQURJLDZCQUlVLFlBQ2QsaUJBQUksV0FHVSxvQkFDVix1Q0FHUSwwQkFDUixXQU1vQixzQ0FDeEIsMENBQ0EsMkNBQ0EsZ0NBRkksbUJBQ0EsZUFHSixNQUNJLDZCQUtKLDhCQURtQiwyQkFDZixnQkFNSixTQUNJLFVBQ0Esa0JBQ0EsVUFDQSx5Q0FDQSw2REFDQSxRQUVJLGtCQUNKLFVBQ0Esd0NBQ0EsNkRBR0ksa0JBQ0osVUFDQSx5Q0FDQSw2REFNSixRQUNJIiwiZmlsZSI6ImlvbmljLm1hdGVyaWFsLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6W10sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ \ No newline at end of file diff --git a/www/lib/ionic/js/ionic.material.js b/www/lib/ionic/js/ionic.material.js new file mode 100644 index 000000000..cc39d3b68 --- /dev/null +++ b/www/lib/ionic/js/ionic.material.js @@ -0,0 +1,957 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory((function webpackLoadOptionalExternalModule() { try { return require("angular"); } catch(e) {} }())); + else if(typeof define === 'function' && define.amd) + define(["angular"], factory); + else if(typeof exports === 'object') + exports["ionicMaterial"] = factory((function webpackLoadOptionalExternalModule() { try { return require("angular"); } catch(e) {} }())); + else + root["ionicMaterial"] = factory(root["angular"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Ionic Material + * "Bundle Index" / "Entryfile" + * https://github.com/zachsoft/ionic-material + * + * Recommended: use a compiled version, especially in production! + */ + + 'use strict'; + + module.exports = (function(){ + + var angular; + + try { + angular = __webpack_require__(1); + } catch(err){ } + + if(!angular || !angular.version){ + /*global window: true*/ + angular = window.angular; + /*global window: false*/ + } + + if(!angular || !angular.version){ + throw new Error('ionic-material could not load angular module :('); + } + + // set up angular module + var app = angular.module('ionic-material', ['ionic']); + + // Import Dependencies + __webpack_require__(2)(app); + __webpack_require__(3)(app); + + return 'ionic-material'; + })(); + + +/***/ }, +/* 1 */ +/***/ function(module, exports, __webpack_require__) { + + if(typeof __WEBPACK_EXTERNAL_MODULE_1__ === 'undefined') {var e = new Error("Cannot find module \"angular\""); e.code = 'MODULE_NOT_FOUND'; throw e;} + module.exports = __WEBPACK_EXTERNAL_MODULE_1__; + +/***/ }, +/* 2 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + /*! + * Fork by Zach Fitzgerald and other contributors of Ionic Material + * + * Waves v0.5.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + * + */ + module.exports = function (angularApp) { + + angularApp.factory('ionicMaterialInk', ink); + + function ink (){ + /*global document*/ + var Ink = Ink || {}; + + // all DOM nodes + var $$; + + // phantomJS throws an error when you try to use document.querySelectorAll.bind + if(document && document.querySelectorAll && document.querySelectorAll.bind){ + try{ + // all DOM nodes + $$ = document.querySelectorAll.bind(document); + + } catch(e){} + } else if (window && window.angular && window.angular.element) { + // we can use angular.element instead + $$ = window.angular.element; + } else { + + + /** + * mout.js 0.11.0 bind and slice polyfills (substitutes?) + * TODO: pull out mout.js bind and slice molyfills and inject into material.ink + */ + + /** + * Create slice of source array or array-like object + */ + var slicePolyfill = function moutslicePolyfill(arr, start, end){ + var len = arr.length; + /*jshint eqnull:true */ + if (start == null) { + start = 0; + } else if (start < 0) { + start = Math.max(len + start, 0); + } else { + start = Math.min(start, len); + } + + + if (end == null) { + + end = len; + } else if (end < 0) { + end = Math.max(len + end, 0); + } else { + end = Math.min(end, len); + } + + var result = []; + while (start < end) { + result.push(arr[start++]); + } + + return result; + }; + + + + /** + * Return a function that will execute in the given context, optionally adding any additional supplied parameters to the beginning of the arguments collection. + * @param {Function} fn Function. + * @param {object} context Execution context. + * @param {rest} args Arguments (0...n arguments). + * @return {Function} Wrapped Function. + */ + var bindPolyfill = function moutBind(fn, context, args){ + var argsArr = slicePolyfill(arguments, 2); //curried args + return function(){ + return fn.apply(context, argsArr.concat(slicePolyfill(arguments))); + }; + }; + + $$ = bindPolyfill(document.querySelectorAll, document); + /*jshint ignore:end */ + } + + if (!$$){ + throw new Error('ionic material ink module could not create reference of DOM nodes'); + } + + // Find exact position of element + function isWindow(obj) { + return obj !== null && obj === obj.window; + } + + function getWindow(elem) { + return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView; + } + + function offset(elem) { + var docElem, win, + box = { + top: 0, + left: 0 + }, + doc = elem && elem.ownerDocument; + + docElem = doc.documentElement; + + if (typeof elem.getBoundingClientRect !== typeof undefined) { + box = elem.getBoundingClientRect(); + } + win = getWindow(doc); + return { + top: box.top + win.pageYOffset - docElem.clientTop, + left: box.left + win.pageXOffset - docElem.clientLeft + }; + } + + function hexToRgb(hex) { + var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); + return result ? { + r: parseInt(result[1], 16), + g: parseInt(result[2], 16), + b: parseInt(result[3], 16) + } : null; + } + + function convertStyle(obj) { + var style = ''; + + for (var a in obj) { + if (obj.hasOwnProperty(a)) { + style += (a + ':' + obj[a] + ';'); + } + } + + return style; + } + + var Effect = { + + // Effect delay + duration: 500, + + show: function(e) { + + // Disable right click + if (e.button === 2) { + return false; + } + + var el = this; + + // Create ripple + var ripple = document.createElement('div'); + var customColor = this.dataset.inkColor; + var customOpacity = this.dataset.inkOpacity; + var hasCustomRipple = customColor || customOpacity; + ripple.className = 'ink-ripple'; + el.appendChild(ripple); + + // Get click coordinate and element witdh + var pos = offset(el); + var relativeY = (e.pageY - pos.top); + var relativeX = (e.pageX - pos.left); + var scale = 'scale(' + ((el.clientWidth / 100) * 2.5) + ')'; + + // Support for touch devices + if ('touches' in e) { + relativeY = (e.touches[0].pageY - pos.top); + relativeX = (e.touches[0].pageX - pos.left); + } + + // Attach data to element + ripple.setAttribute('data-hold', Date.now()); + ripple.setAttribute('data-scale', scale); + ripple.setAttribute('data-x', relativeX); + ripple.setAttribute('data-y', relativeY); + + // Set ripple position + var rippleStyle = { + 'top': relativeY + 'px', + 'left': relativeX + 'px' + }; + + ripple.className = ripple.className + ' ink-notransition'; + + if (hasCustomRipple) { + var colorRgb; + if (customColor) { + var fromHex = hexToRgb(customColor); + colorRgb = fromHex.r + ',' + fromHex.g + ',' + fromHex.b; + } else { + colorRgb = '0,0,0'; + } + if (!customOpacity) { + customOpacity = 0.2; + } + var bg = 'rgba(' + colorRgb + ',' + customOpacity + ')'; + rippleStyle['background-color'] = bg; + } + + ripple.setAttribute('style', convertStyle(rippleStyle)); + ripple.className = ripple.className.replace('ink-notransition', ''); + + // Scale the ripple + rippleStyle['-webkit-transform'] = scale; + rippleStyle['-moz-transform'] = scale; + rippleStyle['-ms-transform'] = scale; + rippleStyle['-o-transform'] = scale; + rippleStyle.transform = scale; + rippleStyle.opacity = '1'; + + rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms'; + rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms'; + rippleStyle['-o-transition-duration'] = Effect.duration + 'ms'; + rippleStyle['transition-duration'] = Effect.duration + 'ms'; + + ripple.setAttribute('style', convertStyle(rippleStyle)); + }, + + hide: function() { + + var el = this; + + var width = el.clientWidth * 1.4; + + // Get first ripple + var ripple = null; + + var childrenLength = el.children.length; + + for (var a = 0; a < childrenLength; a++) { + if (el.children[a].className.indexOf('ink-ripple') !== -1) { + ripple = el.children[a]; + continue; + } + } + + if (!ripple) { + return false; + } + + var relativeX = ripple.getAttribute('data-x'); + var relativeY = ripple.getAttribute('data-y'); + var scale = ripple.getAttribute('data-scale'); + + // Get delay beetween mousedown and mouse leave + var diff = Date.now() - Number(ripple.getAttribute('data-hold')); + var delay = 500 - diff; + + if (delay < 0) { + delay = 0; + } + + // Fade out ripple after delay + setTimeout(function() { + + var style = { + 'top': relativeY + 'px', + 'left': relativeX + 'px', + 'opacity': '0', + + // Duration + '-webkit-transition-duration': Effect.duration + 'ms', + '-moz-transition-duration': Effect.duration + 'ms', + '-o-transition-duration': Effect.duration + 'ms', + 'transition-duration': Effect.duration + 'ms', + '-webkit-transform': scale, + '-moz-transform': scale, + '-ms-transform': scale, + '-o-transform': scale, + 'transform': scale, + }; + + ripple.setAttribute('style', convertStyle(style)); + + setTimeout(function() { + try { + el.removeChild(ripple); + } catch (e) { + return false; + } + }, Effect.duration); + }, delay); + }, + + // Little hack to make <input> can perform ink effect + wrapInput: function(elements) { + + for (var a = 0; a < elements.length; a++) { + + var el = elements[a]; + + if (el.tagName.toLowerCase() === 'input') { + + var parent = el.parentNode; + + // If input already have parent just pass through + if (parent.tagName.toLowerCase() === 'i' && + parent.className.indexOf('ink') !== -1 && + parent.className.indexOf('tab-item') !== -1 && + parent.className.indexOf('button-fab') !== -1 && + parent.className.indexOf('button-raised') !== -1 && + parent.className.indexOf('button-flat') !== -1 && + parent.className.indexOf('button-clear') !== -1 && + parent.className.indexOf('button') !== -1 && + parent.className.indexOf('item') !== -1) { + return false; + } + + // Put element class and style to the specified parent + var wrapper = document.createElement('i'); + wrapper.className = el.className + ' ink-input-wrapper'; + + var elementStyle = el.getAttribute('style'); + + if (!elementStyle) { + elementStyle = ''; + } + + wrapper.setAttribute('style', elementStyle); + + el.className = 'ink-button-input'; + el.removeAttribute('style'); + + // Put element as child + parent.replaceChild(wrapper, el); + wrapper.appendChild(el); + } + } + } + }; + + Ink.displayEffect = function(options) { + options = options || {}; + + if ('duration' in options) { + Effect.duration = options.duration; + } + + //Wrap input inside <i> tag + var selectors = '.ink,.tab-item,.button-fab,.button-raised,.button-flat,.button-clear,a.item,.popup .button'; + Effect.wrapInput($$(selectors)); + + Array.prototype.forEach.call($$(selectors), function(i) { + if ('ontouchstart' in window) { + i.addEventListener('touchstart', Effect.show, false); + i.addEventListener('touchend', Effect.hide, false); + i.addEventListener('touchcancel', Effect.hide, false); + } else { + i.addEventListener('mousedown', Effect.show, false); + i.addEventListener('mouseup', Effect.hide, false); + i.addEventListener('mouseleave', Effect.hide, false); + } + }); + }; + + return Ink; + } + + ink.inject = []; + }; + + +/***/ }, +/* 3 */ +/***/ function(module, exports, __webpack_require__) { + + module.exports = function(angularApp) { + angularApp.factory('ionicMaterialMotion', Motion); + + function Motion() { + /*global document, window*/ + + 'use strict'; + + /*============================================================================*/ + /* HELPERS (non-exports) + /=============================================================================* + / Abstract common lookups and manipulations in case better alternatives + / arise or future cross-platform differences warrant separate handling + /=============================================================================*/ + + function getViewportHeight() { + return window.innerHeight; + } + + function getBoundingClientRect(domNode) { + return domNode.getBoundingClientRect; + } + + function showNotAnimatedElements(elements, total) { + // Load the elements without effect + for (var i = 0; i < total; i++) { + var child = elements[i]; + child.className += ' in'; + child.className += ' done'; + } + } + + + + /*============================================================================*/ + /* MOTION (EXPORT) + /=============================================================================* + / Animation methods for the library + /=============================================================================*/ + + var motion = { + blinds: blinds, + fadeSlideIn: fadeSlideIn, + fadeSlideInRight: fadeSlideInRight, + panInLeft: panInLeft, + pushDown: pushDown, + ripple: ripple, + slideUp: slideUp + }; + + function blinds(options) { + + // Declare our defaults + var defaults = { + finishDelayThrottle: 2, + finishSpeedPercent: 0.5, + leftOffsetPercentage: 0.8, + selector: '.animate-blinds .item', + startVelocity: 1100 + }; + + // Apply defaults if properties are not passed + if (typeof options === 'undefined') { + options = {}; + } + + options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle; + options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent; + options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage; + options.startVelocity = options.startVelocity || defaults.startVelocity; + + if (typeof options.selector == 'undefined') { + options.selector = defaults.selector; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid blinds selector'); + return false; + } + + var animateBlindsDom = document.querySelectorAll(options.selector); + var elementsCount = animateBlindsDom.length; + var elementAnimationCount = 0; + + // Count the elements within the starting viewport so we're not exacting + // more effort than required... + // + // We use css visiblity: hidden instead of display: none so the elements + // maintain their DOM flow + + var viewportHeight = getViewportHeight(); + for (var i = 0; i < elementsCount; i++) { + if (animateBlindsDom[i].offsetTop < viewportHeight) { + elementAnimationCount += 1; + continue; + } + break; + } + + // Sequentially animate with a delay based on proximity + var speed = options.startVelocity; + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateBlindsDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed).toFixed(2); + child.style.webkitTransitionDelay = delay + "s"; + child.style.transitionDelay = delay + "s"; + child.className += ' in'; + } + + // When we're done animating, switch the class to 'done' + setTimeout(function() { + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateBlindsDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed / options.finishDelayThrottle).toFixed(2); + //child.querySelector('img').style.webkitTransitionDelay = delay + "s"; + //child.querySelector('img').style.transitionDelay = delay + "s"; + //child.querySelector('img').className += ' in'; + animateBlindsDom[i].className += ' done'; + } + + }, speed * options.finishSpeedPercent); + + // Load the elements without effect + showNotAnimatedElements(animateBlindsDom, elementsCount); + } + + function fadeSlideIn(options) { + + // Declare our defaults + var defaults = { + finishDelayThrottle: 2, + finishSpeedPercent: 0.72, + leftOffsetPercentage: 0.8, + selector: '.animate-fade-slide-in .item', + startVelocity: 1100 + }; + + // Apply defaults if properties are not passed + if (typeof options === 'undefined') { + options = {}; + } + + options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle; + options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent; + options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage; + options.startVelocity = options.startVelocity || defaults.startVelocity; + + if (typeof options.selector == 'undefined') { + options.selector = defaults.selector; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid fadeSlideIn selector'); + return false; + } + + var animateFadeSlideInDom = document.querySelectorAll(options.selector); + var elementsCount = animateFadeSlideInDom.length; + var elementAnimationCount = 0; + + // Count the elements within the starting viewport so we're not exacting + // more effort than required... + // + // We use css visiblity: hidden instead of display: none so the elements + // maintain their DOM flow + + var viewportHeight = getViewportHeight(); + for (var i = 0; i < elementsCount; i++) { + if (animateFadeSlideInDom[i].offsetTop < viewportHeight) { + elementAnimationCount += 1; + continue; + } + break; + } + + // Sequentially animate with a delay based on proximity + var speed = options.startVelocity; + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateFadeSlideInDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed).toFixed(2); + child.style.webkitTransitionDelay = delay + "s"; + child.style.transitionDelay = delay + "s"; + child.className += ' in'; + } + + // When we're done animating, switch the class to 'done' + setTimeout(function() { + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateFadeSlideInDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delayValue = offset / speed / options.finishDelayThrottle; + var delay = parseFloat(delayValue).toFixed(2); + } + animateFadeSlideInDom[0].className += ' done'; + + }, speed * options.finishSpeedPercent); + + // Load the elements without effect + showNotAnimatedElements(animateFadeSlideInDom, elementsCount); + } + + function fadeSlideInRight(options) { + + // Declare our defaults + var defaults = { + finishDelayThrottle: 2, + finishSpeedPercent: 0.72, + leftOffsetPercentage: 0.8, + selector: '.animate-fade-slide-in-right .item', + startVelocity: 1100 + }; + + // Apply defaults if properties are not passed + if (typeof options === 'undefined') { + options = {}; + } + + options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle; + options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent; + options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage; + options.startVelocity = options.startVelocity || defaults.startVelocity; + + if (typeof options.selector == 'undefined') { + options.selector = defaults.selector; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid fadeSlideInRight selector'); + return false; + } + + var animateSlideInRightDom = document.querySelectorAll(options.selector); + var elementsCount = animateSlideInRightDom.length; + var elementAnimationCount = 0; + + // Count the elements within the starting viewport so we're not + // exacting more effort than required... + // + // We use css visiblity: hidden instead of display: none so the + // elements maintain their DOM flow + + var viewportHeight = getViewportHeight(); + for (var i = 0; i < elementsCount; i++) { + if (animateSlideInRightDom[i].offsetTop < viewportHeight) { + elementAnimationCount += 1; + continue; + } + break; + } + + // Sequentially animate with a delay based on proximity + var speed = options.startVelocity; + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateSlideInRightDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed).toFixed(2); + child.style.webkitTransitionDelay = delay + "s"; + child.style.transitionDelay = delay + "s"; + child.className += ' in'; + } + + // When we're done animating, switch the class to 'done' + setTimeout(function() { + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateSlideInRightDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delayValue = offset / speed / options.finishDelayThrottle; + var delay = parseFloat(delayValue).toFixed(2); + } + animateSlideInRightDom[0].className += ' done'; + + }, speed * options.finishSpeedPercent); + + // Load the elements without effect + showNotAnimatedElements(animateSlideInRightDom, elementsCount); + + } + + function ripple(options) { + + // Declare our defaults + var defaults = { + finishDelayThrottle: 2, + finishSpeedPercent: 0.72, + leftOffsetPercentage: 0.8, + selector: '.animate-ripple .item', + startVelocity: 1100 + }; + + // Apply defaults if properties are not passed + if (typeof options === 'undefined') { + options = {}; + } + + options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle; + options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent; + options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage; + options.startVelocity = options.startVelocity || defaults.startVelocity; + + if (typeof options.selector == 'undefined') { + options.selector = defaults.selector; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid ripple selector'); + return false; + } + + var animateRippleDom = document.querySelectorAll(options.selector); + var elementsCount = animateRippleDom.length; + var elementAnimationCount = 0; + + // Count the elements within the starting viewport so we're not + // exacting more effort than required... + // + // We use css visiblity: hidden instead of display: none so the + // elements maintain their DOM flow + + var viewportHeight = getViewportHeight(); + for (var i = 0; i < animateRippleDom.length; i++) { + if (animateRippleDom[i].offsetTop < viewportHeight) { + elementAnimationCount += 1; + continue; + } + break; + } + + // Sequentially animate with a delay based on proximity + var speed = options.startVelocity; + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateRippleDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed).toFixed(2); + child.style.webkitTransitionDelay = delay + "s"; + child.style.transitionDelay = delay + "s"; + child.className += ' in'; + } + + // When we're done animating, switch the class to 'done' + setTimeout(function() { + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateRippleDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delayValue = offset / speed / options.finishDelayThrottle; + var delay = parseFloat(delayValue).toFixed(2); + } + animateRippleDom[0].className += ' done'; + + }, speed * options.finishSpeedPercent); + + // Load the elements without effect + showNotAnimatedElements(animateRippleDom, elementsCount); + } + + function panInLeft(options) { + + // We have a single option, so it may be passed as a string or property + if (typeof options === 'string') { + options = { + selector: options + }; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid pushDown selector'); + return false; + } + + var animatePanInLeftDom = document.querySelectorAll(options.selector); + var elementAnimationCount = animatePanInLeftDom.length; + for (var i = 0; i < elementAnimationCount; i++) { + var element = animatePanInLeftDom[i]; + var classNameToRemove = 'animate-pan-in-left'; + var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove); + element.className = element.className.substr(0, indexOfClassNameToRemove); + } + } + + function pushDown(options) { + + // We have a single option, so it may be passed as a string or property + if (typeof options === 'string') { + options = { + selector: options + }; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid pushDown selector'); + return false; + } + + var animatePushDownDom = document.querySelectorAll(options.selector); + var elementAnimationCount = animatePushDownDom.length; + for (var i = 0; i < elementAnimationCount; i++) { + var element = animatePushDownDom[i]; + var classNameToRemove = options.selector.split('.')[1]; + var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove); + element.className = element.className.substr(0, indexOfClassNameToRemove); + } + } + + function slideUp(options) { + + // We have a single option, so it may be passed as a string or property + if (typeof options === 'string') { + options = { + selector: options + }; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid pushDown selector'); + return false; + } + + var animateSlideUpDom = document.querySelectorAll(options.selector); + var elementAnimationCount = animateSlideUpDom.length; + for (var i = 0; i < elementAnimationCount; i++) { + var element = animateSlideUpDom[i]; + var classNameToRemove = options.selector.split('.')[1]; + var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove); + element.className = element.className.substr(0, indexOfClassNameToRemove); + } + } + + /* Export object + /============================================================================*/ + return motion; + } + + Motion.$inject = []; + }; + + +/***/ } +/******/ ]) +}); +; +//# sourceMappingURL=ionic.material.min.js.map \ No newline at end of file diff --git a/www/lib/ionic/js/ionic.material.min.js b/www/lib/ionic/js/ionic.material.min.js new file mode 100644 index 000000000..a53b4430f --- /dev/null +++ b/www/lib/ionic/js/ionic.material.min.js @@ -0,0 +1,14 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(function(){try{return require("angular")}catch(e){}}()):"function"==typeof define&&define.amd?define(["angular"],t):"object"==typeof exports?exports.ionicMaterial=t(function(){try{return require("angular")}catch(e){}}()):e.ionicMaterial=t(e.angular)}(this,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";e.exports=function(){var e;try{e=n(1)}catch(t){}if(e&&e.version||(e=window.angular),!e||!e.version)throw new Error("ionic-material could not load angular module :(");var r=e.module("ionic-material",["ionic"]);return n(2)(r),n(3)(r),"ionic-material"}()},function(t,n,r){if("undefined"==typeof e){var i=new Error('Cannot find module "angular"');throw i.code="MODULE_NOT_FOUND",i}t.exports=e},function(e,t,n){"use strict";/*! + * Fork by Zach Fitzgerald and other contributors of Ionic Material + * + * Waves v0.5.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + * + */ +e.exports=function(e){function t(){function e(e){return null!==e&&e===e.window}function t(t){return e(t)?t:9===t.nodeType&&t.defaultView}function n(e){var n,r,i={top:0,left:0},o=e&&e.ownerDocument;return n=o.documentElement,"undefined"!=typeof e.getBoundingClientRect&&(i=e.getBoundingClientRect()),r=t(o),{top:i.top+r.pageYOffset-n.clientTop,left:i.left+r.pageXOffset-n.clientLeft}}function r(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function i(e){var t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+":"+e[n]+";");return t}var o,a=a||{};if(document&&document.querySelectorAll&&document.querySelectorAll.bind)try{o=document.querySelectorAll.bind(document)}catch(l){}else if(window&&window.angular&&window.angular.element)o=window.angular.element;else{var s=function(e,t,n){var r=e.length;t=null==t?0:0>t?Math.max(r+t,0):Math.min(t,r),n=null==n?r:0>n?Math.max(r+n,0):Math.min(n,r);for(var i=[];n>t;)i.push(e[t++]);return i},f=function(e,t,n){var r=s(arguments,2);return function(){return e.apply(t,r.concat(s(arguments)))}};o=f(document.querySelectorAll,document)}if(!o)throw new Error("ionic material ink module could not create reference of DOM nodes");var c={duration:500,show:function(e){if(2===e.button)return!1;var t=this,o=document.createElement("div"),a=this.dataset.inkColor,l=this.dataset.inkOpacity,s=a||l;o.className="ink-ripple",t.appendChild(o);var f=n(t),u=e.pageY-f.top,d=e.pageX-f.left,p="scale("+t.clientWidth/100*2.5+")";"touches"in e&&(u=e.touches[0].pageY-f.top,d=e.touches[0].pageX-f.left),o.setAttribute("data-hold",Date.now()),o.setAttribute("data-scale",p),o.setAttribute("data-x",d),o.setAttribute("data-y",u);var m={top:u+"px",left:d+"px"};if(o.className=o.className+" ink-notransition",s){var h;if(a){var y=r(a);h=y.r+","+y.g+","+y.b}else h="0,0,0";l||(l=.2);var g="rgba("+h+","+l+")";m["background-color"]=g}o.setAttribute("style",i(m)),o.className=o.className.replace("ink-notransition",""),m["-webkit-transform"]=p,m["-moz-transform"]=p,m["-ms-transform"]=p,m["-o-transform"]=p,m.transform=p,m.opacity="1",m["-webkit-transition-duration"]=c.duration+"ms",m["-moz-transition-duration"]=c.duration+"ms",m["-o-transition-duration"]=c.duration+"ms",m["transition-duration"]=c.duration+"ms",o.setAttribute("style",i(m))},hide:function(){for(var e=this,t=(1.4*e.clientWidth,null),n=e.children.length,r=0;n>r;r++)-1===e.children[r].className.indexOf("ink-ripple")||(t=e.children[r]);if(!t)return!1;var o=t.getAttribute("data-x"),a=t.getAttribute("data-y"),l=t.getAttribute("data-scale"),s=Date.now()-Number(t.getAttribute("data-hold")),f=500-s;0>f&&(f=0),setTimeout(function(){var n={top:a+"px",left:o+"px",opacity:"0","-webkit-transition-duration":c.duration+"ms","-moz-transition-duration":c.duration+"ms","-o-transition-duration":c.duration+"ms","transition-duration":c.duration+"ms","-webkit-transform":l,"-moz-transform":l,"-ms-transform":l,"-o-transform":l,transform:l};t.setAttribute("style",i(n)),setTimeout(function(){try{e.removeChild(t)}catch(n){return!1}},c.duration)},f)},wrapInput:function(e){for(var t=0;t<e.length;t++){var n=e[t];if("input"===n.tagName.toLowerCase()){var r=n.parentNode;if("i"===r.tagName.toLowerCase()&&-1!==r.className.indexOf("ink")&&-1!==r.className.indexOf("tab-item")&&-1!==r.className.indexOf("button-fab")&&-1!==r.className.indexOf("button-raised")&&-1!==r.className.indexOf("button-flat")&&-1!==r.className.indexOf("button-clear")&&-1!==r.className.indexOf("button")&&-1!==r.className.indexOf("item"))return!1;var i=document.createElement("i");i.className=n.className+" ink-input-wrapper";var o=n.getAttribute("style");o||(o=""),i.setAttribute("style",o),n.className="ink-button-input",n.removeAttribute("style"),r.replaceChild(i,n),i.appendChild(n)}}}};return a.displayEffect=function(e){e=e||{},"duration"in e&&(c.duration=e.duration);var t=".ink,.tab-item,.button-fab,.button-raised,.button-flat,.button-clear,a.item,.popup .button";c.wrapInput(o(t)),Array.prototype.forEach.call(o(t),function(e){"ontouchstart"in window?(e.addEventListener("touchstart",c.show,!1),e.addEventListener("touchend",c.hide,!1),e.addEventListener("touchcancel",c.hide,!1)):(e.addEventListener("mousedown",c.show,!1),e.addEventListener("mouseup",c.hide,!1),e.addEventListener("mouseleave",c.hide,!1))})},a}e.factory("ionicMaterialInk",t),t.inject=[]}},function(e,t,n){e.exports=function(e){function t(){"use strict";function e(){return window.innerHeight}function t(e,t){for(var n=0;t>n;n++){var r=e[n];r.className+=" in",r.className+=" done"}}function n(n){var r={finishDelayThrottle:2,finishSpeedPercent:.5,leftOffsetPercentage:.8,selector:".animate-blinds .item",startVelocity:1100};"undefined"==typeof n&&(n={}),n.finishDelayThrottle=n.finishDelayThrottle||r.finishDelayThrottle,n.finishSpeedPercent=n.finishSpeedPercent||r.finishSpeedPercent,n.leftOffsetPercentage=n.leftOffsetPercentage||r.leftOffsetPercentage,n.startVelocity=n.startVelocity||r.startVelocity,"undefined"==typeof n.selector&&(n.selector=r.selector);var i="undefined"==typeof n.selector||""===n.selector;if(i)return console.log("invalid blinds selector"),!1;for(var o=document.querySelectorAll(n.selector),a=o.length,l=0,s=e(),f=0;a>f&&o[f].offsetTop<s;f++)l+=1;for(var c=n.startVelocity,f=0;l>f;f++){var u=o[f],d=u.getBoundingClientRect(),p=d.left*n.leftOffsetPercentage+d.top,m=parseFloat(p/c).toFixed(2);u.style.webkitTransitionDelay=m+"s",u.style.transitionDelay=m+"s",u.className+=" in"}setTimeout(function(){for(var e=0;l>e;e++){var t=o[e],r=t.getBoundingClientRect(),i=r.left*n.leftOffsetPercentage+r.top;parseFloat(i/c/n.finishDelayThrottle).toFixed(2);o[e].className+=" done"}},c*n.finishSpeedPercent),t(o,a)}function r(n){var r={finishDelayThrottle:2,finishSpeedPercent:.72,leftOffsetPercentage:.8,selector:".animate-fade-slide-in .item",startVelocity:1100};"undefined"==typeof n&&(n={}),n.finishDelayThrottle=n.finishDelayThrottle||r.finishDelayThrottle,n.finishSpeedPercent=n.finishSpeedPercent||r.finishSpeedPercent,n.leftOffsetPercentage=n.leftOffsetPercentage||r.leftOffsetPercentage,n.startVelocity=n.startVelocity||r.startVelocity,"undefined"==typeof n.selector&&(n.selector=r.selector);var i="undefined"==typeof n.selector||""===n.selector;if(i)return console.log("invalid fadeSlideIn selector"),!1;for(var o=document.querySelectorAll(n.selector),a=o.length,l=0,s=e(),f=0;a>f&&o[f].offsetTop<s;f++)l+=1;for(var c=n.startVelocity,f=0;l>f;f++){var u=o[f],d=u.getBoundingClientRect(),p=d.left*n.leftOffsetPercentage+d.top,m=parseFloat(p/c).toFixed(2);u.style.webkitTransitionDelay=m+"s",u.style.transitionDelay=m+"s",u.className+=" in"}setTimeout(function(){for(var e=0;l>e;e++){var t=o[e],r=t.getBoundingClientRect(),i=r.left*n.leftOffsetPercentage+r.top,a=i/c/n.finishDelayThrottle;parseFloat(a).toFixed(2)}o[0].className+=" done"},c*n.finishSpeedPercent),t(o,a)}function i(n){var r={finishDelayThrottle:2,finishSpeedPercent:.72,leftOffsetPercentage:.8,selector:".animate-fade-slide-in-right .item",startVelocity:1100};"undefined"==typeof n&&(n={}),n.finishDelayThrottle=n.finishDelayThrottle||r.finishDelayThrottle,n.finishSpeedPercent=n.finishSpeedPercent||r.finishSpeedPercent,n.leftOffsetPercentage=n.leftOffsetPercentage||r.leftOffsetPercentage,n.startVelocity=n.startVelocity||r.startVelocity,"undefined"==typeof n.selector&&(n.selector=r.selector);var i="undefined"==typeof n.selector||""===n.selector;if(i)return console.log("invalid fadeSlideInRight selector"),!1;for(var o=document.querySelectorAll(n.selector),a=o.length,l=0,s=e(),f=0;a>f&&o[f].offsetTop<s;f++)l+=1;for(var c=n.startVelocity,f=0;l>f;f++){var u=o[f],d=u.getBoundingClientRect(),p=d.left*n.leftOffsetPercentage+d.top,m=parseFloat(p/c).toFixed(2);u.style.webkitTransitionDelay=m+"s",u.style.transitionDelay=m+"s",u.className+=" in"}setTimeout(function(){for(var e=0;l>e;e++){var t=o[e],r=t.getBoundingClientRect(),i=r.left*n.leftOffsetPercentage+r.top,a=i/c/n.finishDelayThrottle;parseFloat(a).toFixed(2)}o[0].className+=" done"},c*n.finishSpeedPercent),t(o,a)}function o(n){var r={finishDelayThrottle:2,finishSpeedPercent:.72,leftOffsetPercentage:.8,selector:".animate-ripple .item",startVelocity:1100};"undefined"==typeof n&&(n={}),n.finishDelayThrottle=n.finishDelayThrottle||r.finishDelayThrottle,n.finishSpeedPercent=n.finishSpeedPercent||r.finishSpeedPercent,n.leftOffsetPercentage=n.leftOffsetPercentage||r.leftOffsetPercentage,n.startVelocity=n.startVelocity||r.startVelocity,"undefined"==typeof n.selector&&(n.selector=r.selector);var i="undefined"==typeof n.selector||""===n.selector;if(i)return console.log("invalid ripple selector"),!1;for(var o=document.querySelectorAll(n.selector),a=o.length,l=0,s=e(),f=0;f<o.length&&o[f].offsetTop<s;f++)l+=1;for(var c=n.startVelocity,f=0;l>f;f++){var u=o[f],d=u.getBoundingClientRect(),p=d.left*n.leftOffsetPercentage+d.top,m=parseFloat(p/c).toFixed(2);u.style.webkitTransitionDelay=m+"s",u.style.transitionDelay=m+"s",u.className+=" in"}setTimeout(function(){for(var e=0;l>e;e++){var t=o[e],r=t.getBoundingClientRect(),i=r.left*n.leftOffsetPercentage+r.top,a=i/c/n.finishDelayThrottle;parseFloat(a).toFixed(2)}o[0].className+=" done"},c*n.finishSpeedPercent),t(o,a)}function a(e){"string"==typeof e&&(e={selector:e});var t="undefined"==typeof e.selector||""===e.selector;if(t)return console.log("invalid pushDown selector"),!1;for(var n=document.querySelectorAll(e.selector),r=n.length,i=0;r>i;i++){var o=n[i],a="animate-pan-in-left",l=o.className.lastIndexOf(a);o.className=o.className.substr(0,l)}}function l(e){"string"==typeof e&&(e={selector:e});var t="undefined"==typeof e.selector||""===e.selector;if(t)return console.log("invalid pushDown selector"),!1;for(var n=document.querySelectorAll(e.selector),r=n.length,i=0;r>i;i++){var o=n[i],a=e.selector.split(".")[1],l=o.className.lastIndexOf(a);o.className=o.className.substr(0,l)}}function s(e){"string"==typeof e&&(e={selector:e});var t="undefined"==typeof e.selector||""===e.selector;if(t)return console.log("invalid pushDown selector"),!1;for(var n=document.querySelectorAll(e.selector),r=n.length,i=0;r>i;i++){var o=n[i],a=e.selector.split(".")[1],l=o.className.lastIndexOf(a);o.className=o.className.substr(0,l)}}var f={blinds:n,fadeSlideIn:r,fadeSlideInRight:i,panInLeft:a,pushDown:l,ripple:o,slideUp:s};return f}e.factory("ionicMaterialMotion",t),t.$inject=[]}}])}); +//# sourceMappingURL=ionic.material.min.js.map \ No newline at end of file diff --git a/www/lib/ionic/js/ionic.material.min.js.map b/www/lib/ionic/js/ionic.material.min.js.map new file mode 100644 index 000000000..b582062aa --- /dev/null +++ b/www/lib/ionic/js/ionic.material.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///ionic.material.min.js","webpack:///webpack/bootstrap aca4d68e3e47af1bef6a","webpack:///./src/js/ionic-material.js","webpack:///external \"angular\"","webpack:///./src/js/lib/_ink.js","webpack:///./src/js/lib/_motion.js"],"names":["root","factory","exports","module","require","e","define","amd","this","__WEBPACK_EXTERNAL_MODULE_1__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","angular","err","version","window","Error","app","code","angularApp","ink","isWindow","obj","getWindow","elem","nodeType","defaultView","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","hexToRgb","hex","result","exec","r","parseInt","g","b","convertStyle","style","a","hasOwnProperty","$$","Ink","document","querySelectorAll","bind","element","slicePolyfill","arr","start","end","len","length","Math","max","min","push","bindPolyfill","fn","context","args","argsArr","arguments","apply","concat","Effect","duration","show","button","el","ripple","createElement","customColor","dataset","inkColor","customOpacity","inkOpacity","hasCustomRipple","className","appendChild","pos","relativeY","pageY","relativeX","pageX","scale","clientWidth","touches","setAttribute","Date","now","rippleStyle","colorRgb","fromHex","bg","replace","transform","opacity","hide","childrenLength","children","indexOf","getAttribute","diff","Number","delay","setTimeout","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","removeChild","wrapInput","elements","tagName","toLowerCase","parent","parentNode","wrapper","elementStyle","removeAttribute","replaceChild","displayEffect","options","selectors","Array","prototype","forEach","i","addEventListener","inject","Motion","getViewportHeight","innerHeight","showNotAnimatedElements","total","child","blinds","defaults","finishDelayThrottle","finishSpeedPercent","leftOffsetPercentage","selector","startVelocity","isInvalidSelector","console","log","animateBlindsDom","elementsCount","elementAnimationCount","viewportHeight","offsetTop","speed","childOffset","parseFloat","toFixed","webkitTransitionDelay","transitionDelay","fadeSlideIn","animateFadeSlideInDom","delayValue","fadeSlideInRight","animateSlideInRightDom","animateRippleDom","panInLeft","animatePanInLeftDom","classNameToRemove","indexOfClassNameToRemove","lastIndexOf","substr","pushDown","animatePushDownDom","split","slideUp","animateSlideUpDom","motion","$inject"],"mappings":"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","file":"ionic.material.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"angular\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ionicMaterial\"] = factory((function webpackLoadOptionalExternalModule() { try { return require(\"angular\"); } catch(e) {} }()));\n\telse\n\t\troot[\"ionicMaterial\"] = factory(root[\"angular\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"angular\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ionicMaterial\"] = factory((function webpackLoadOptionalExternalModule() { try { return require(\"angular\"); } catch(e) {} }()));\n\telse\n\t\troot[\"ionicMaterial\"] = factory(root[\"angular\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Ionic Material\n\t * \"Bundle Index\" / \"Entryfile\"\n\t * https://github.com/zachsoft/ionic-material\n\t *\n\t * Recommended: use a compiled version, especially in production!\n\t */\n\t\n\t'use strict';\n\t\n\tmodule.exports = (function(){\n\t\n\t var angular;\n\t\n\t try {\n\t angular = __webpack_require__(1);\n\t } catch(err){ }\n\t\n\t if(!angular || !angular.version){\n\t /*global window: true*/\n\t angular = window.angular;\n\t /*global window: false*/\n\t }\n\t\n\t if(!angular || !angular.version){\n\t throw new Error('ionic-material could not load angular module :(');\n\t }\n\t\n\t // set up angular module\n\t var app = angular.module('ionic-material', ['ionic']);\n\t\n\t // Import Dependencies\n\t __webpack_require__(2)(app);\n\t __webpack_require__(3)(app);\n\t\n\t return 'ionic-material';\n\t})();\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tif(typeof __WEBPACK_EXTERNAL_MODULE_1__ === 'undefined') {var e = new Error(\"Cannot find module \\\"angular\\\"\"); e.code = 'MODULE_NOT_FOUND'; throw e;}\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*!\n\t * Fork by Zach Fitzgerald and other contributors of Ionic Material\n\t *\n\t * Waves v0.5.4\n\t * http://fian.my.id/Waves\n\t *\n\t * Copyright 2014 Alfiana E. Sibuea and other contributors\n\t *\n\t * Released under the MIT license\n\t * https://github.com/fians/Waves/blob/master/LICENSE\n\t *\n\t */\n\tmodule.exports = function (angularApp) {\n\t\n\t angularApp.factory('ionicMaterialInk', ink);\n\t\n\t function ink (){\n\t /*global document*/\n\t var Ink = Ink || {};\n\t\n\t // all DOM nodes\n\t var $$;\n\t\n\t // phantomJS throws an error when you try to use document.querySelectorAll.bind\n\t if(document && document.querySelectorAll && document.querySelectorAll.bind){\n\t try{\n\t // all DOM nodes\n\t $$ = document.querySelectorAll.bind(document);\n\t\n\t } catch(e){}\n\t } else if (window && window.angular && window.angular.element) {\n\t // we can use angular.element instead\n\t $$ = window.angular.element;\n\t } else {\n\t\n\t\n\t /**\n\t * mout.js 0.11.0 bind and slice polyfills (substitutes?)\n\t * TODO: pull out mout.js bind and slice molyfills and inject into material.ink\n\t */\n\t\n\t /**\n\t * Create slice of source array or array-like object\n\t */\n\t var slicePolyfill = function moutslicePolyfill(arr, start, end){\n\t var len = arr.length;\n\t /*jshint eqnull:true */\n\t if (start == null) {\n\t start = 0;\n\t } else if (start < 0) {\n\t start = Math.max(len + start, 0);\n\t } else {\n\t start = Math.min(start, len);\n\t }\n\t\n\t\n\t if (end == null) {\n\t\n\t end = len;\n\t } else if (end < 0) {\n\t end = Math.max(len + end, 0);\n\t } else {\n\t end = Math.min(end, len);\n\t }\n\t\n\t var result = [];\n\t while (start < end) {\n\t result.push(arr[start++]);\n\t }\n\t\n\t return result;\n\t };\n\t\n\t\n\t\n\t /**\n\t * Return a function that will execute in the given context, optionally adding any additional supplied parameters to the beginning of the arguments collection.\n\t * @param {Function} fn Function.\n\t * @param {object} context Execution context.\n\t * @param {rest} args Arguments (0...n arguments).\n\t * @return {Function} Wrapped Function.\n\t */\n\t var bindPolyfill = function moutBind(fn, context, args){\n\t var argsArr = slicePolyfill(arguments, 2); //curried args\n\t return function(){\n\t return fn.apply(context, argsArr.concat(slicePolyfill(arguments)));\n\t };\n\t };\n\t\n\t $$ = bindPolyfill(document.querySelectorAll, document);\n\t /*jshint ignore:end */\n\t }\n\t\n\t if (!$$){\n\t throw new Error('ionic material ink module could not create reference of DOM nodes');\n\t }\n\t\n\t // Find exact position of element\n\t function isWindow(obj) {\n\t return obj !== null && obj === obj.window;\n\t }\n\t\n\t function getWindow(elem) {\n\t return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView;\n\t }\n\t\n\t function offset(elem) {\n\t var docElem, win,\n\t box = {\n\t top: 0,\n\t left: 0\n\t },\n\t doc = elem && elem.ownerDocument;\n\t\n\t docElem = doc.documentElement;\n\t\n\t if (typeof elem.getBoundingClientRect !== typeof undefined) {\n\t box = elem.getBoundingClientRect();\n\t }\n\t win = getWindow(doc);\n\t return {\n\t top: box.top + win.pageYOffset - docElem.clientTop,\n\t left: box.left + win.pageXOffset - docElem.clientLeft\n\t };\n\t }\n\t\n\t function hexToRgb(hex) {\n\t var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\t return result ? {\n\t r: parseInt(result[1], 16),\n\t g: parseInt(result[2], 16),\n\t b: parseInt(result[3], 16)\n\t } : null;\n\t }\n\t\n\t function convertStyle(obj) {\n\t var style = '';\n\t\n\t for (var a in obj) {\n\t if (obj.hasOwnProperty(a)) {\n\t style += (a + ':' + obj[a] + ';');\n\t }\n\t }\n\t\n\t return style;\n\t }\n\t\n\t var Effect = {\n\t\n\t // Effect delay\n\t duration: 500,\n\t\n\t show: function(e) {\n\t\n\t // Disable right click\n\t if (e.button === 2) {\n\t return false;\n\t }\n\t\n\t var el = this;\n\t\n\t // Create ripple\n\t var ripple = document.createElement('div');\n\t var customColor = this.dataset.inkColor;\n\t var customOpacity = this.dataset.inkOpacity;\n\t var hasCustomRipple = customColor || customOpacity;\n\t ripple.className = 'ink-ripple';\n\t el.appendChild(ripple);\n\t\n\t // Get click coordinate and element witdh\n\t var pos = offset(el);\n\t var relativeY = (e.pageY - pos.top);\n\t var relativeX = (e.pageX - pos.left);\n\t var scale = 'scale(' + ((el.clientWidth / 100) * 2.5) + ')';\n\t\n\t // Support for touch devices\n\t if ('touches' in e) {\n\t relativeY = (e.touches[0].pageY - pos.top);\n\t relativeX = (e.touches[0].pageX - pos.left);\n\t }\n\t\n\t // Attach data to element\n\t ripple.setAttribute('data-hold', Date.now());\n\t ripple.setAttribute('data-scale', scale);\n\t ripple.setAttribute('data-x', relativeX);\n\t ripple.setAttribute('data-y', relativeY);\n\t\n\t // Set ripple position\n\t var rippleStyle = {\n\t 'top': relativeY + 'px',\n\t 'left': relativeX + 'px'\n\t };\n\t\n\t ripple.className = ripple.className + ' ink-notransition';\n\t\n\t if (hasCustomRipple) {\n\t var colorRgb;\n\t if (customColor) {\n\t var fromHex = hexToRgb(customColor);\n\t colorRgb = fromHex.r + ',' + fromHex.g + ',' + fromHex.b;\n\t } else {\n\t colorRgb = '0,0,0';\n\t }\n\t if (!customOpacity) {\n\t customOpacity = 0.2;\n\t }\n\t var bg = 'rgba(' + colorRgb + ',' + customOpacity + ')';\n\t rippleStyle['background-color'] = bg;\n\t }\n\t\n\t ripple.setAttribute('style', convertStyle(rippleStyle));\n\t ripple.className = ripple.className.replace('ink-notransition', '');\n\t\n\t // Scale the ripple\n\t rippleStyle['-webkit-transform'] = scale;\n\t rippleStyle['-moz-transform'] = scale;\n\t rippleStyle['-ms-transform'] = scale;\n\t rippleStyle['-o-transform'] = scale;\n\t rippleStyle.transform = scale;\n\t rippleStyle.opacity = '1';\n\t\n\t rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms';\n\t rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms';\n\t rippleStyle['-o-transition-duration'] = Effect.duration + 'ms';\n\t rippleStyle['transition-duration'] = Effect.duration + 'ms';\n\t\n\t ripple.setAttribute('style', convertStyle(rippleStyle));\n\t },\n\t\n\t hide: function() {\n\t\n\t var el = this;\n\t\n\t var width = el.clientWidth * 1.4;\n\t\n\t // Get first ripple\n\t var ripple = null;\n\t\n\t var childrenLength = el.children.length;\n\t\n\t for (var a = 0; a < childrenLength; a++) {\n\t if (el.children[a].className.indexOf('ink-ripple') !== -1) {\n\t ripple = el.children[a];\n\t continue;\n\t }\n\t }\n\t\n\t if (!ripple) {\n\t return false;\n\t }\n\t\n\t var relativeX = ripple.getAttribute('data-x');\n\t var relativeY = ripple.getAttribute('data-y');\n\t var scale = ripple.getAttribute('data-scale');\n\t\n\t // Get delay beetween mousedown and mouse leave\n\t var diff = Date.now() - Number(ripple.getAttribute('data-hold'));\n\t var delay = 500 - diff;\n\t\n\t if (delay < 0) {\n\t delay = 0;\n\t }\n\t\n\t // Fade out ripple after delay\n\t setTimeout(function() {\n\t\n\t var style = {\n\t 'top': relativeY + 'px',\n\t 'left': relativeX + 'px',\n\t 'opacity': '0',\n\t\n\t // Duration\n\t '-webkit-transition-duration': Effect.duration + 'ms',\n\t '-moz-transition-duration': Effect.duration + 'ms',\n\t '-o-transition-duration': Effect.duration + 'ms',\n\t 'transition-duration': Effect.duration + 'ms',\n\t '-webkit-transform': scale,\n\t '-moz-transform': scale,\n\t '-ms-transform': scale,\n\t '-o-transform': scale,\n\t 'transform': scale,\n\t };\n\t\n\t ripple.setAttribute('style', convertStyle(style));\n\t\n\t setTimeout(function() {\n\t try {\n\t el.removeChild(ripple);\n\t } catch (e) {\n\t return false;\n\t }\n\t }, Effect.duration);\n\t }, delay);\n\t },\n\t\n\t // Little hack to make <input> can perform ink effect\n\t wrapInput: function(elements) {\n\t\n\t for (var a = 0; a < elements.length; a++) {\n\t\n\t var el = elements[a];\n\t\n\t if (el.tagName.toLowerCase() === 'input') {\n\t\n\t var parent = el.parentNode;\n\t\n\t // If input already have parent just pass through\n\t if (parent.tagName.toLowerCase() === 'i' &&\n\t parent.className.indexOf('ink') !== -1 &&\n\t parent.className.indexOf('tab-item') !== -1 &&\n\t parent.className.indexOf('button-fab') !== -1 &&\n\t parent.className.indexOf('button-raised') !== -1 &&\n\t parent.className.indexOf('button-flat') !== -1 &&\n\t parent.className.indexOf('button-clear') !== -1 &&\n\t parent.className.indexOf('button') !== -1 &&\n\t parent.className.indexOf('item') !== -1) {\n\t return false;\n\t }\n\t\n\t // Put element class and style to the specified parent\n\t var wrapper = document.createElement('i');\n\t wrapper.className = el.className + ' ink-input-wrapper';\n\t\n\t var elementStyle = el.getAttribute('style');\n\t\n\t if (!elementStyle) {\n\t elementStyle = '';\n\t }\n\t\n\t wrapper.setAttribute('style', elementStyle);\n\t\n\t el.className = 'ink-button-input';\n\t el.removeAttribute('style');\n\t\n\t // Put element as child\n\t parent.replaceChild(wrapper, el);\n\t wrapper.appendChild(el);\n\t }\n\t }\n\t }\n\t };\n\t\n\t Ink.displayEffect = function(options) {\n\t options = options || {};\n\t\n\t if ('duration' in options) {\n\t Effect.duration = options.duration;\n\t }\n\t\n\t //Wrap input inside <i> tag\n\t var selectors = '.ink,.tab-item,.button-fab,.button-raised,.button-flat,.button-clear,a.item,.popup .button';\n\t Effect.wrapInput($$(selectors));\n\t\n\t Array.prototype.forEach.call($$(selectors), function(i) {\n\t if ('ontouchstart' in window) {\n\t i.addEventListener('touchstart', Effect.show, false);\n\t i.addEventListener('touchend', Effect.hide, false);\n\t i.addEventListener('touchcancel', Effect.hide, false);\n\t } else {\n\t i.addEventListener('mousedown', Effect.show, false);\n\t i.addEventListener('mouseup', Effect.hide, false);\n\t i.addEventListener('mouseleave', Effect.hide, false);\n\t }\n\t });\n\t };\n\t\n\t return Ink;\n\t }\n\t\n\t ink.inject = [];\n\t};\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = function(angularApp) {\n\t angularApp.factory('ionicMaterialMotion', Motion);\n\t\n\t function Motion() {\n\t /*global document, window*/\n\t\n\t 'use strict';\n\t\n\t /*============================================================================*/\n\t /* HELPERS (non-exports)\n\t /=============================================================================*\n\t / Abstract common lookups and manipulations in case better alternatives\n\t / arise or future cross-platform differences warrant separate handling\n\t /=============================================================================*/\n\t\n\t function getViewportHeight() {\n\t return window.innerHeight;\n\t }\n\t\n\t function getBoundingClientRect(domNode) {\n\t return domNode.getBoundingClientRect;\n\t }\n\t\n\t function showNotAnimatedElements(elements, total) {\n\t // Load the elements without effect\n\t for (var i = 0; i < total; i++) {\n\t var child = elements[i];\n\t child.className += ' in';\n\t child.className += ' done';\n\t }\n\t }\n\t\n\t\n\t\n\t /*============================================================================*/\n\t /* MOTION (EXPORT)\n\t /=============================================================================*\n\t / Animation methods for the library\n\t /=============================================================================*/\n\t\n\t var motion = {\n\t blinds: blinds,\n\t fadeSlideIn: fadeSlideIn,\n\t fadeSlideInRight: fadeSlideInRight,\n\t panInLeft: panInLeft,\n\t pushDown: pushDown,\n\t ripple: ripple,\n\t slideUp: slideUp\n\t };\n\t\n\t function blinds(options) {\n\t\n\t // Declare our defaults\n\t var defaults = {\n\t finishDelayThrottle: 2,\n\t finishSpeedPercent: 0.5,\n\t leftOffsetPercentage: 0.8,\n\t selector: '.animate-blinds .item',\n\t startVelocity: 1100\n\t };\n\t\n\t // Apply defaults if properties are not passed\n\t if (typeof options === 'undefined') {\n\t options = {};\n\t }\n\t\n\t options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n\t options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n\t options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n\t options.startVelocity = options.startVelocity || defaults.startVelocity;\n\t\n\t if (typeof options.selector == 'undefined') {\n\t options.selector = defaults.selector;\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid blinds selector');\n\t return false;\n\t }\n\t\n\t var animateBlindsDom = document.querySelectorAll(options.selector);\n\t var elementsCount = animateBlindsDom.length;\n\t var elementAnimationCount = 0;\n\t\n\t // Count the elements within the starting viewport so we're not exacting\n\t // more effort than required...\n\t //\n\t // We use css visiblity: hidden instead of display: none so the elements\n\t // maintain their DOM flow\n\t\n\t var viewportHeight = getViewportHeight();\n\t for (var i = 0; i < elementsCount; i++) {\n\t if (animateBlindsDom[i].offsetTop < viewportHeight) {\n\t elementAnimationCount += 1;\n\t continue;\n\t }\n\t break;\n\t }\n\t\n\t // Sequentially animate with a delay based on proximity\n\t var speed = options.startVelocity;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateBlindsDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed).toFixed(2);\n\t child.style.webkitTransitionDelay = delay + \"s\";\n\t child.style.transitionDelay = delay + \"s\";\n\t child.className += ' in';\n\t }\n\t\n\t // When we're done animating, switch the class to 'done'\n\t setTimeout(function() {\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateBlindsDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed / options.finishDelayThrottle).toFixed(2);\n\t //child.querySelector('img').style.webkitTransitionDelay = delay + \"s\";\n\t //child.querySelector('img').style.transitionDelay = delay + \"s\";\n\t //child.querySelector('img').className += ' in';\n\t animateBlindsDom[i].className += ' done';\n\t }\n\t\n\t }, speed * options.finishSpeedPercent);\n\t\n\t // Load the elements without effect\n\t showNotAnimatedElements(animateBlindsDom, elementsCount);\n\t }\n\t\n\t function fadeSlideIn(options) {\n\t\n\t // Declare our defaults\n\t var defaults = {\n\t finishDelayThrottle: 2,\n\t finishSpeedPercent: 0.72,\n\t leftOffsetPercentage: 0.8,\n\t selector: '.animate-fade-slide-in .item',\n\t startVelocity: 1100\n\t };\n\t\n\t // Apply defaults if properties are not passed\n\t if (typeof options === 'undefined') {\n\t options = {};\n\t }\n\t\n\t options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n\t options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n\t options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n\t options.startVelocity = options.startVelocity || defaults.startVelocity;\n\t\n\t if (typeof options.selector == 'undefined') {\n\t options.selector = defaults.selector;\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid fadeSlideIn selector');\n\t return false;\n\t }\n\t\n\t var animateFadeSlideInDom = document.querySelectorAll(options.selector);\n\t var elementsCount = animateFadeSlideInDom.length;\n\t var elementAnimationCount = 0;\n\t\n\t // Count the elements within the starting viewport so we're not exacting\n\t // more effort than required...\n\t //\n\t // We use css visiblity: hidden instead of display: none so the elements\n\t // maintain their DOM flow\n\t\n\t var viewportHeight = getViewportHeight();\n\t for (var i = 0; i < elementsCount; i++) {\n\t if (animateFadeSlideInDom[i].offsetTop < viewportHeight) {\n\t elementAnimationCount += 1;\n\t continue;\n\t }\n\t break;\n\t }\n\t\n\t // Sequentially animate with a delay based on proximity\n\t var speed = options.startVelocity;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateFadeSlideInDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed).toFixed(2);\n\t child.style.webkitTransitionDelay = delay + \"s\";\n\t child.style.transitionDelay = delay + \"s\";\n\t child.className += ' in';\n\t }\n\t\n\t // When we're done animating, switch the class to 'done'\n\t setTimeout(function() {\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateFadeSlideInDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delayValue = offset / speed / options.finishDelayThrottle;\n\t var delay = parseFloat(delayValue).toFixed(2);\n\t }\n\t animateFadeSlideInDom[0].className += ' done';\n\t\n\t }, speed * options.finishSpeedPercent);\n\t\n\t // Load the elements without effect\n\t showNotAnimatedElements(animateFadeSlideInDom, elementsCount);\n\t }\n\t\n\t function fadeSlideInRight(options) {\n\t\n\t // Declare our defaults\n\t var defaults = {\n\t finishDelayThrottle: 2,\n\t finishSpeedPercent: 0.72,\n\t leftOffsetPercentage: 0.8,\n\t selector: '.animate-fade-slide-in-right .item',\n\t startVelocity: 1100\n\t };\n\t\n\t // Apply defaults if properties are not passed\n\t if (typeof options === 'undefined') {\n\t options = {};\n\t }\n\t\n\t options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n\t options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n\t options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n\t options.startVelocity = options.startVelocity || defaults.startVelocity;\n\t\n\t if (typeof options.selector == 'undefined') {\n\t options.selector = defaults.selector;\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid fadeSlideInRight selector');\n\t return false;\n\t }\n\t\n\t var animateSlideInRightDom = document.querySelectorAll(options.selector);\n\t var elementsCount = animateSlideInRightDom.length;\n\t var elementAnimationCount = 0;\n\t\n\t // Count the elements within the starting viewport so we're not\n\t // exacting more effort than required...\n\t //\n\t // We use css visiblity: hidden instead of display: none so the\n\t // elements maintain their DOM flow\n\t\n\t var viewportHeight = getViewportHeight();\n\t for (var i = 0; i < elementsCount; i++) {\n\t if (animateSlideInRightDom[i].offsetTop < viewportHeight) {\n\t elementAnimationCount += 1;\n\t continue;\n\t }\n\t break;\n\t }\n\t\n\t // Sequentially animate with a delay based on proximity\n\t var speed = options.startVelocity;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateSlideInRightDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed).toFixed(2);\n\t child.style.webkitTransitionDelay = delay + \"s\";\n\t child.style.transitionDelay = delay + \"s\";\n\t child.className += ' in';\n\t }\n\t\n\t // When we're done animating, switch the class to 'done'\n\t setTimeout(function() {\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateSlideInRightDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delayValue = offset / speed / options.finishDelayThrottle;\n\t var delay = parseFloat(delayValue).toFixed(2);\n\t }\n\t animateSlideInRightDom[0].className += ' done';\n\t\n\t }, speed * options.finishSpeedPercent);\n\t\n\t // Load the elements without effect\n\t showNotAnimatedElements(animateSlideInRightDom, elementsCount);\n\t\n\t }\n\t\n\t function ripple(options) {\n\t\n\t // Declare our defaults\n\t var defaults = {\n\t finishDelayThrottle: 2,\n\t finishSpeedPercent: 0.72,\n\t leftOffsetPercentage: 0.8,\n\t selector: '.animate-ripple .item',\n\t startVelocity: 1100\n\t };\n\t\n\t // Apply defaults if properties are not passed\n\t if (typeof options === 'undefined') {\n\t options = {};\n\t }\n\t\n\t options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n\t options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n\t options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n\t options.startVelocity = options.startVelocity || defaults.startVelocity;\n\t\n\t if (typeof options.selector == 'undefined') {\n\t options.selector = defaults.selector;\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid ripple selector');\n\t return false;\n\t }\n\t\n\t var animateRippleDom = document.querySelectorAll(options.selector);\n\t var elementsCount = animateRippleDom.length;\n\t var elementAnimationCount = 0;\n\t\n\t // Count the elements within the starting viewport so we're not\n\t // exacting more effort than required...\n\t //\n\t // We use css visiblity: hidden instead of display: none so the\n\t // elements maintain their DOM flow\n\t\n\t var viewportHeight = getViewportHeight();\n\t for (var i = 0; i < animateRippleDom.length; i++) {\n\t if (animateRippleDom[i].offsetTop < viewportHeight) {\n\t elementAnimationCount += 1;\n\t continue;\n\t }\n\t break;\n\t }\n\t\n\t // Sequentially animate with a delay based on proximity\n\t var speed = options.startVelocity;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateRippleDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed).toFixed(2);\n\t child.style.webkitTransitionDelay = delay + \"s\";\n\t child.style.transitionDelay = delay + \"s\";\n\t child.className += ' in';\n\t }\n\t\n\t // When we're done animating, switch the class to 'done'\n\t setTimeout(function() {\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateRippleDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delayValue = offset / speed / options.finishDelayThrottle;\n\t var delay = parseFloat(delayValue).toFixed(2);\n\t }\n\t animateRippleDom[0].className += ' done';\n\t\n\t }, speed * options.finishSpeedPercent);\n\t\n\t // Load the elements without effect\n\t showNotAnimatedElements(animateRippleDom, elementsCount);\n\t }\n\t\n\t function panInLeft(options) {\n\t\n\t // We have a single option, so it may be passed as a string or property\n\t if (typeof options === 'string') {\n\t options = {\n\t selector: options\n\t };\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid pushDown selector');\n\t return false;\n\t }\n\t\n\t var animatePanInLeftDom = document.querySelectorAll(options.selector);\n\t var elementAnimationCount = animatePanInLeftDom.length;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var element = animatePanInLeftDom[i];\n\t var classNameToRemove = 'animate-pan-in-left';\n\t var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n\t element.className = element.className.substr(0, indexOfClassNameToRemove);\n\t }\n\t }\n\t\n\t function pushDown(options) {\n\t\n\t // We have a single option, so it may be passed as a string or property\n\t if (typeof options === 'string') {\n\t options = {\n\t selector: options\n\t };\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid pushDown selector');\n\t return false;\n\t }\n\t\n\t var animatePushDownDom = document.querySelectorAll(options.selector);\n\t var elementAnimationCount = animatePushDownDom.length;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var element = animatePushDownDom[i];\n\t var classNameToRemove = options.selector.split('.')[1];\n\t var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n\t element.className = element.className.substr(0, indexOfClassNameToRemove);\n\t }\n\t }\n\t\n\t function slideUp(options) {\n\t\n\t // We have a single option, so it may be passed as a string or property\n\t if (typeof options === 'string') {\n\t options = {\n\t selector: options\n\t };\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid pushDown selector');\n\t return false;\n\t }\n\t\n\t var animateSlideUpDom = document.querySelectorAll(options.selector);\n\t var elementAnimationCount = animateSlideUpDom.length;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var element = animateSlideUpDom[i];\n\t var classNameToRemove = options.selector.split('.')[1];\n\t var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n\t element.className = element.className.substr(0, indexOfClassNameToRemove);\n\t }\n\t }\n\t\n\t /* Export object\n\t /============================================================================*/\n\t return motion;\n\t }\n\t\n\t Motion.$inject = [];\n\t};\n\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ionic.material.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap aca4d68e3e47af1bef6a\n **/","/**\n * Ionic Material\n * \"Bundle Index\" / \"Entryfile\"\n * https://github.com/zachsoft/ionic-material\n *\n * Recommended: use a compiled version, especially in production!\n */\n\n'use strict';\n\nmodule.exports = (function(){\n\n var angular;\n\n try {\n angular = require('angular');\n } catch(err){ }\n\n if(!angular || !angular.version){\n /*global window: true*/\n angular = window.angular;\n /*global window: false*/\n }\n\n if(!angular || !angular.version){\n throw new Error('ionic-material could not load angular module :(');\n }\n\n // set up angular module\n var app = angular.module('ionic-material', ['ionic']);\n\n // Import Dependencies\n require('./lib/_ink')(app);\n require('./lib/_motion')(app);\n\n return 'ionic-material';\n})();\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/js/ionic-material.js\n ** module id = 0\n ** module chunks = 0\n **/","if(typeof __WEBPACK_EXTERNAL_MODULE_1__ === 'undefined') {var e = new Error(\"Cannot find module \\\"angular\\\"\"); e.code = 'MODULE_NOT_FOUND'; throw e;}\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"angular\"\n ** module id = 1\n ** module chunks = 0\n **/","'use strict';\n\n/*!\n * Fork by Zach Fitzgerald and other contributors of Ionic Material\n *\n * Waves v0.5.4\n * http://fian.my.id/Waves\n *\n * Copyright 2014 Alfiana E. Sibuea and other contributors\n *\n * Released under the MIT license\n * https://github.com/fians/Waves/blob/master/LICENSE\n *\n */\nmodule.exports = function (angularApp) {\n\n angularApp.factory('ionicMaterialInk', ink);\n\n function ink (){\n /*global document*/\n var Ink = Ink || {};\n\n // all DOM nodes\n var $$;\n\n // phantomJS throws an error when you try to use document.querySelectorAll.bind\n if(document && document.querySelectorAll && document.querySelectorAll.bind){\n try{\n // all DOM nodes\n $$ = document.querySelectorAll.bind(document);\n\n } catch(e){}\n } else if (window && window.angular && window.angular.element) {\n // we can use angular.element instead\n $$ = window.angular.element;\n } else {\n\n\n /**\n * mout.js 0.11.0 bind and slice polyfills (substitutes?)\n * TODO: pull out mout.js bind and slice molyfills and inject into material.ink\n */\n\n /**\n * Create slice of source array or array-like object\n */\n var slicePolyfill = function moutslicePolyfill(arr, start, end){\n var len = arr.length;\n /*jshint eqnull:true */\n if (start == null) {\n start = 0;\n } else if (start < 0) {\n start = Math.max(len + start, 0);\n } else {\n start = Math.min(start, len);\n }\n\n\n if (end == null) {\n\n end = len;\n } else if (end < 0) {\n end = Math.max(len + end, 0);\n } else {\n end = Math.min(end, len);\n }\n\n var result = [];\n while (start < end) {\n result.push(arr[start++]);\n }\n\n return result;\n };\n\n\n\n /**\n * Return a function that will execute in the given context, optionally adding any additional supplied parameters to the beginning of the arguments collection.\n * @param {Function} fn Function.\n * @param {object} context Execution context.\n * @param {rest} args Arguments (0...n arguments).\n * @return {Function} Wrapped Function.\n */\n var bindPolyfill = function moutBind(fn, context, args){\n var argsArr = slicePolyfill(arguments, 2); //curried args\n return function(){\n return fn.apply(context, argsArr.concat(slicePolyfill(arguments)));\n };\n };\n\n $$ = bindPolyfill(document.querySelectorAll, document);\n /*jshint ignore:end */\n }\n\n if (!$$){\n throw new Error('ionic material ink module could not create reference of DOM nodes');\n }\n\n // Find exact position of element\n function isWindow(obj) {\n return obj !== null && obj === obj.window;\n }\n\n function getWindow(elem) {\n return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView;\n }\n\n function offset(elem) {\n var docElem, win,\n box = {\n top: 0,\n left: 0\n },\n doc = elem && elem.ownerDocument;\n\n docElem = doc.documentElement;\n\n if (typeof elem.getBoundingClientRect !== typeof undefined) {\n box = elem.getBoundingClientRect();\n }\n win = getWindow(doc);\n return {\n top: box.top + win.pageYOffset - docElem.clientTop,\n left: box.left + win.pageXOffset - docElem.clientLeft\n };\n }\n\n function hexToRgb(hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n }\n\n function convertStyle(obj) {\n var style = '';\n\n for (var a in obj) {\n if (obj.hasOwnProperty(a)) {\n style += (a + ':' + obj[a] + ';');\n }\n }\n\n return style;\n }\n\n var Effect = {\n\n // Effect delay\n duration: 500,\n\n show: function(e) {\n\n // Disable right click\n if (e.button === 2) {\n return false;\n }\n\n var el = this;\n\n // Create ripple\n var ripple = document.createElement('div');\n var customColor = this.dataset.inkColor;\n var customOpacity = this.dataset.inkOpacity;\n var hasCustomRipple = customColor || customOpacity;\n ripple.className = 'ink-ripple';\n el.appendChild(ripple);\n\n // Get click coordinate and element witdh\n var pos = offset(el);\n var relativeY = (e.pageY - pos.top);\n var relativeX = (e.pageX - pos.left);\n var scale = 'scale(' + ((el.clientWidth / 100) * 2.5) + ')';\n\n // Support for touch devices\n if ('touches' in e) {\n relativeY = (e.touches[0].pageY - pos.top);\n relativeX = (e.touches[0].pageX - pos.left);\n }\n\n // Attach data to element\n ripple.setAttribute('data-hold', Date.now());\n ripple.setAttribute('data-scale', scale);\n ripple.setAttribute('data-x', relativeX);\n ripple.setAttribute('data-y', relativeY);\n\n // Set ripple position\n var rippleStyle = {\n 'top': relativeY + 'px',\n 'left': relativeX + 'px'\n };\n\n ripple.className = ripple.className + ' ink-notransition';\n\n if (hasCustomRipple) {\n var colorRgb;\n if (customColor) {\n var fromHex = hexToRgb(customColor);\n colorRgb = fromHex.r + ',' + fromHex.g + ',' + fromHex.b;\n } else {\n colorRgb = '0,0,0';\n }\n if (!customOpacity) {\n customOpacity = 0.2;\n }\n var bg = 'rgba(' + colorRgb + ',' + customOpacity + ')';\n rippleStyle['background-color'] = bg;\n }\n\n ripple.setAttribute('style', convertStyle(rippleStyle));\n ripple.className = ripple.className.replace('ink-notransition', '');\n\n // Scale the ripple\n rippleStyle['-webkit-transform'] = scale;\n rippleStyle['-moz-transform'] = scale;\n rippleStyle['-ms-transform'] = scale;\n rippleStyle['-o-transform'] = scale;\n rippleStyle.transform = scale;\n rippleStyle.opacity = '1';\n\n rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms';\n rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms';\n rippleStyle['-o-transition-duration'] = Effect.duration + 'ms';\n rippleStyle['transition-duration'] = Effect.duration + 'ms';\n\n ripple.setAttribute('style', convertStyle(rippleStyle));\n },\n\n hide: function() {\n\n var el = this;\n\n var width = el.clientWidth * 1.4;\n\n // Get first ripple\n var ripple = null;\n\n var childrenLength = el.children.length;\n\n for (var a = 0; a < childrenLength; a++) {\n if (el.children[a].className.indexOf('ink-ripple') !== -1) {\n ripple = el.children[a];\n continue;\n }\n }\n\n if (!ripple) {\n return false;\n }\n\n var relativeX = ripple.getAttribute('data-x');\n var relativeY = ripple.getAttribute('data-y');\n var scale = ripple.getAttribute('data-scale');\n\n // Get delay beetween mousedown and mouse leave\n var diff = Date.now() - Number(ripple.getAttribute('data-hold'));\n var delay = 500 - diff;\n\n if (delay < 0) {\n delay = 0;\n }\n\n // Fade out ripple after delay\n setTimeout(function() {\n\n var style = {\n 'top': relativeY + 'px',\n 'left': relativeX + 'px',\n 'opacity': '0',\n\n // Duration\n '-webkit-transition-duration': Effect.duration + 'ms',\n '-moz-transition-duration': Effect.duration + 'ms',\n '-o-transition-duration': Effect.duration + 'ms',\n 'transition-duration': Effect.duration + 'ms',\n '-webkit-transform': scale,\n '-moz-transform': scale,\n '-ms-transform': scale,\n '-o-transform': scale,\n 'transform': scale,\n };\n\n ripple.setAttribute('style', convertStyle(style));\n\n setTimeout(function() {\n try {\n el.removeChild(ripple);\n } catch (e) {\n return false;\n }\n }, Effect.duration);\n }, delay);\n },\n\n // Little hack to make <input> can perform ink effect\n wrapInput: function(elements) {\n\n for (var a = 0; a < elements.length; a++) {\n\n var el = elements[a];\n\n if (el.tagName.toLowerCase() === 'input') {\n\n var parent = el.parentNode;\n\n // If input already have parent just pass through\n if (parent.tagName.toLowerCase() === 'i' &&\n parent.className.indexOf('ink') !== -1 &&\n parent.className.indexOf('tab-item') !== -1 &&\n parent.className.indexOf('button-fab') !== -1 &&\n parent.className.indexOf('button-raised') !== -1 &&\n parent.className.indexOf('button-flat') !== -1 &&\n parent.className.indexOf('button-clear') !== -1 &&\n parent.className.indexOf('button') !== -1 &&\n parent.className.indexOf('item') !== -1) {\n return false;\n }\n\n // Put element class and style to the specified parent\n var wrapper = document.createElement('i');\n wrapper.className = el.className + ' ink-input-wrapper';\n\n var elementStyle = el.getAttribute('style');\n\n if (!elementStyle) {\n elementStyle = '';\n }\n\n wrapper.setAttribute('style', elementStyle);\n\n el.className = 'ink-button-input';\n el.removeAttribute('style');\n\n // Put element as child\n parent.replaceChild(wrapper, el);\n wrapper.appendChild(el);\n }\n }\n }\n };\n\n Ink.displayEffect = function(options) {\n options = options || {};\n\n if ('duration' in options) {\n Effect.duration = options.duration;\n }\n\n //Wrap input inside <i> tag\n var selectors = '.ink,.tab-item,.button-fab,.button-raised,.button-flat,.button-clear,a.item,.popup .button';\n Effect.wrapInput($$(selectors));\n\n Array.prototype.forEach.call($$(selectors), function(i) {\n if ('ontouchstart' in window) {\n i.addEventListener('touchstart', Effect.show, false);\n i.addEventListener('touchend', Effect.hide, false);\n i.addEventListener('touchcancel', Effect.hide, false);\n } else {\n i.addEventListener('mousedown', Effect.show, false);\n i.addEventListener('mouseup', Effect.hide, false);\n i.addEventListener('mouseleave', Effect.hide, false);\n }\n });\n };\n\n return Ink;\n }\n\n ink.inject = [];\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/js/lib/_ink.js\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = function(angularApp) {\n angularApp.factory('ionicMaterialMotion', Motion);\n\n function Motion() {\n /*global document, window*/\n\n 'use strict';\n\n /*============================================================================*/\n /* HELPERS (non-exports)\n /=============================================================================*\n / Abstract common lookups and manipulations in case better alternatives\n / arise or future cross-platform differences warrant separate handling\n /=============================================================================*/\n\n function getViewportHeight() {\n return window.innerHeight;\n }\n\n function getBoundingClientRect(domNode) {\n return domNode.getBoundingClientRect;\n }\n\n function showNotAnimatedElements(elements, total) {\n // Load the elements without effect\n for (var i = 0; i < total; i++) {\n var child = elements[i];\n child.className += ' in';\n child.className += ' done';\n }\n }\n\n\n\n /*============================================================================*/\n /* MOTION (EXPORT)\n /=============================================================================*\n / Animation methods for the library\n /=============================================================================*/\n\n var motion = {\n blinds: blinds,\n fadeSlideIn: fadeSlideIn,\n fadeSlideInRight: fadeSlideInRight,\n panInLeft: panInLeft,\n pushDown: pushDown,\n ripple: ripple,\n slideUp: slideUp\n };\n\n function blinds(options) {\n\n // Declare our defaults\n var defaults = {\n finishDelayThrottle: 2,\n finishSpeedPercent: 0.5,\n leftOffsetPercentage: 0.8,\n selector: '.animate-blinds .item',\n startVelocity: 1100\n };\n\n // Apply defaults if properties are not passed\n if (typeof options === 'undefined') {\n options = {};\n }\n\n options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n options.startVelocity = options.startVelocity || defaults.startVelocity;\n\n if (typeof options.selector == 'undefined') {\n options.selector = defaults.selector;\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid blinds selector');\n return false;\n }\n\n var animateBlindsDom = document.querySelectorAll(options.selector);\n var elementsCount = animateBlindsDom.length;\n var elementAnimationCount = 0;\n\n // Count the elements within the starting viewport so we're not exacting\n // more effort than required...\n //\n // We use css visiblity: hidden instead of display: none so the elements\n // maintain their DOM flow\n\n var viewportHeight = getViewportHeight();\n for (var i = 0; i < elementsCount; i++) {\n if (animateBlindsDom[i].offsetTop < viewportHeight) {\n elementAnimationCount += 1;\n continue;\n }\n break;\n }\n\n // Sequentially animate with a delay based on proximity\n var speed = options.startVelocity;\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateBlindsDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed).toFixed(2);\n child.style.webkitTransitionDelay = delay + \"s\";\n child.style.transitionDelay = delay + \"s\";\n child.className += ' in';\n }\n\n // When we're done animating, switch the class to 'done'\n setTimeout(function() {\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateBlindsDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed / options.finishDelayThrottle).toFixed(2);\n //child.querySelector('img').style.webkitTransitionDelay = delay + \"s\";\n //child.querySelector('img').style.transitionDelay = delay + \"s\";\n //child.querySelector('img').className += ' in';\n animateBlindsDom[i].className += ' done';\n }\n\n }, speed * options.finishSpeedPercent);\n\n // Load the elements without effect\n showNotAnimatedElements(animateBlindsDom, elementsCount);\n }\n\n function fadeSlideIn(options) {\n\n // Declare our defaults\n var defaults = {\n finishDelayThrottle: 2,\n finishSpeedPercent: 0.72,\n leftOffsetPercentage: 0.8,\n selector: '.animate-fade-slide-in .item',\n startVelocity: 1100\n };\n\n // Apply defaults if properties are not passed\n if (typeof options === 'undefined') {\n options = {};\n }\n\n options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n options.startVelocity = options.startVelocity || defaults.startVelocity;\n\n if (typeof options.selector == 'undefined') {\n options.selector = defaults.selector;\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid fadeSlideIn selector');\n return false;\n }\n\n var animateFadeSlideInDom = document.querySelectorAll(options.selector);\n var elementsCount = animateFadeSlideInDom.length;\n var elementAnimationCount = 0;\n\n // Count the elements within the starting viewport so we're not exacting\n // more effort than required...\n //\n // We use css visiblity: hidden instead of display: none so the elements\n // maintain their DOM flow\n\n var viewportHeight = getViewportHeight();\n for (var i = 0; i < elementsCount; i++) {\n if (animateFadeSlideInDom[i].offsetTop < viewportHeight) {\n elementAnimationCount += 1;\n continue;\n }\n break;\n }\n\n // Sequentially animate with a delay based on proximity\n var speed = options.startVelocity;\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateFadeSlideInDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed).toFixed(2);\n child.style.webkitTransitionDelay = delay + \"s\";\n child.style.transitionDelay = delay + \"s\";\n child.className += ' in';\n }\n\n // When we're done animating, switch the class to 'done'\n setTimeout(function() {\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateFadeSlideInDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delayValue = offset / speed / options.finishDelayThrottle;\n var delay = parseFloat(delayValue).toFixed(2);\n }\n animateFadeSlideInDom[0].className += ' done';\n\n }, speed * options.finishSpeedPercent);\n\n // Load the elements without effect\n showNotAnimatedElements(animateFadeSlideInDom, elementsCount);\n }\n\n function fadeSlideInRight(options) {\n\n // Declare our defaults\n var defaults = {\n finishDelayThrottle: 2,\n finishSpeedPercent: 0.72,\n leftOffsetPercentage: 0.8,\n selector: '.animate-fade-slide-in-right .item',\n startVelocity: 1100\n };\n\n // Apply defaults if properties are not passed\n if (typeof options === 'undefined') {\n options = {};\n }\n\n options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n options.startVelocity = options.startVelocity || defaults.startVelocity;\n\n if (typeof options.selector == 'undefined') {\n options.selector = defaults.selector;\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid fadeSlideInRight selector');\n return false;\n }\n\n var animateSlideInRightDom = document.querySelectorAll(options.selector);\n var elementsCount = animateSlideInRightDom.length;\n var elementAnimationCount = 0;\n\n // Count the elements within the starting viewport so we're not\n // exacting more effort than required...\n //\n // We use css visiblity: hidden instead of display: none so the\n // elements maintain their DOM flow\n\n var viewportHeight = getViewportHeight();\n for (var i = 0; i < elementsCount; i++) {\n if (animateSlideInRightDom[i].offsetTop < viewportHeight) {\n elementAnimationCount += 1;\n continue;\n }\n break;\n }\n\n // Sequentially animate with a delay based on proximity\n var speed = options.startVelocity;\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateSlideInRightDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed).toFixed(2);\n child.style.webkitTransitionDelay = delay + \"s\";\n child.style.transitionDelay = delay + \"s\";\n child.className += ' in';\n }\n\n // When we're done animating, switch the class to 'done'\n setTimeout(function() {\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateSlideInRightDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delayValue = offset / speed / options.finishDelayThrottle;\n var delay = parseFloat(delayValue).toFixed(2);\n }\n animateSlideInRightDom[0].className += ' done';\n\n }, speed * options.finishSpeedPercent);\n\n // Load the elements without effect\n showNotAnimatedElements(animateSlideInRightDom, elementsCount);\n\n }\n\n function ripple(options) {\n\n // Declare our defaults\n var defaults = {\n finishDelayThrottle: 2,\n finishSpeedPercent: 0.72,\n leftOffsetPercentage: 0.8,\n selector: '.animate-ripple .item',\n startVelocity: 1100\n };\n\n // Apply defaults if properties are not passed\n if (typeof options === 'undefined') {\n options = {};\n }\n\n options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n options.startVelocity = options.startVelocity || defaults.startVelocity;\n\n if (typeof options.selector == 'undefined') {\n options.selector = defaults.selector;\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid ripple selector');\n return false;\n }\n\n var animateRippleDom = document.querySelectorAll(options.selector);\n var elementsCount = animateRippleDom.length;\n var elementAnimationCount = 0;\n\n // Count the elements within the starting viewport so we're not\n // exacting more effort than required...\n //\n // We use css visiblity: hidden instead of display: none so the\n // elements maintain their DOM flow\n\n var viewportHeight = getViewportHeight();\n for (var i = 0; i < animateRippleDom.length; i++) {\n if (animateRippleDom[i].offsetTop < viewportHeight) {\n elementAnimationCount += 1;\n continue;\n }\n break;\n }\n\n // Sequentially animate with a delay based on proximity\n var speed = options.startVelocity;\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateRippleDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed).toFixed(2);\n child.style.webkitTransitionDelay = delay + \"s\";\n child.style.transitionDelay = delay + \"s\";\n child.className += ' in';\n }\n\n // When we're done animating, switch the class to 'done'\n setTimeout(function() {\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateRippleDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delayValue = offset / speed / options.finishDelayThrottle;\n var delay = parseFloat(delayValue).toFixed(2);\n }\n animateRippleDom[0].className += ' done';\n\n }, speed * options.finishSpeedPercent);\n\n // Load the elements without effect\n showNotAnimatedElements(animateRippleDom, elementsCount);\n }\n\n function panInLeft(options) {\n\n // We have a single option, so it may be passed as a string or property\n if (typeof options === 'string') {\n options = {\n selector: options\n };\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid pushDown selector');\n return false;\n }\n\n var animatePanInLeftDom = document.querySelectorAll(options.selector);\n var elementAnimationCount = animatePanInLeftDom.length;\n for (var i = 0; i < elementAnimationCount; i++) {\n var element = animatePanInLeftDom[i];\n var classNameToRemove = 'animate-pan-in-left';\n var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n element.className = element.className.substr(0, indexOfClassNameToRemove);\n }\n }\n\n function pushDown(options) {\n\n // We have a single option, so it may be passed as a string or property\n if (typeof options === 'string') {\n options = {\n selector: options\n };\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid pushDown selector');\n return false;\n }\n\n var animatePushDownDom = document.querySelectorAll(options.selector);\n var elementAnimationCount = animatePushDownDom.length;\n for (var i = 0; i < elementAnimationCount; i++) {\n var element = animatePushDownDom[i];\n var classNameToRemove = options.selector.split('.')[1];\n var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n element.className = element.className.substr(0, indexOfClassNameToRemove);\n }\n }\n\n function slideUp(options) {\n\n // We have a single option, so it may be passed as a string or property\n if (typeof options === 'string') {\n options = {\n selector: options\n };\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid pushDown selector');\n return false;\n }\n\n var animateSlideUpDom = document.querySelectorAll(options.selector);\n var elementAnimationCount = animateSlideUpDom.length;\n for (var i = 0; i < elementAnimationCount; i++) {\n var element = animateSlideUpDom[i];\n var classNameToRemove = options.selector.split('.')[1];\n var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n element.className = element.className.substr(0, indexOfClassNameToRemove);\n }\n }\n\n /* Export object\n /============================================================================*/\n return motion;\n }\n\n Motion.$inject = [];\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/js/lib/_motion.js\n ** module id = 3\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file -- GitLab