diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html deleted file mode 100644 index ee3c3fe..0000000 --- a/src/main/resources/static/index.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - RocketMQ-Dashboard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/static/src/acl.js b/src/main/resources/static/src/acl.js deleted file mode 100644 index 879412e..0000000 --- a/src/main/resources/static/src/acl.js +++ /dev/null @@ -1,540 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var module = app; - -module.controller('aclController', ['$scope', 'ngDialog', '$http', 'Notification', '$window', function ($scope, ngDialog, $http, Notification, $window) { - $scope.paginationConf = { - currentPage: 1, - totalItems: 0, - itemsPerPage: 10, - pagesLength: 15, - perPageOptions: [10], - rememberPerPage: 'perPageItems', - onChange: function () { - $scope.showPlainAccessConfigs(this.currentPage, this.totalItems); - } - }; - - $scope.plainAccessConfigs = []; - $scope.allPlainAccessConfigs = []; - $scope.globalWhiteAddrs = []; - $scope.allGlobalWhiteAddrs = []; - $scope.userRole = $window.sessionStorage.getItem("userrole"); - $scope.writeOperationEnabled = $scope.userRole == null ? true : ($scope.userRole == 1 ? true : false); - $scope.showSecretKeyType = {}; - - $scope.refreshPlainAccessConfigs = function () { - $http({ - method: "GET", - url: "acl/config.query", - params: {} - }).success(function (resp) { - - // globalWhiteAddrs - // plainAccessConfigs - if (resp.status == 0) { - $scope.allPlainAccessConfigs = resp.data.plainAccessConfigs; - $scope.allGlobalWhiteAddrs = resp.data.globalWhiteAddrs; - $scope.showSecretKeyType = {}; - $scope.allPlainAccessConfigs.forEach(e => $scope.showSecretKeyType[e.accessKey] = { - type: 'password', - action: 'SHOW' - }); - $scope.showPlainAccessConfigs(1, $scope.allPlainAccessConfigs.length); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - $scope.refreshPlainAccessConfigs(); - $scope.filterStr = ""; - $scope.$watch('filterStr', function () { - $scope.paginationConf.currentPage = 1; - $scope.filterList(1); - }); - - $scope.filterList = function (currentPage) { - var lowExceptStr = $scope.filterStr.toLowerCase(); - var canShowList = []; - - $scope.allPlainAccessConfigs.forEach(function (element) { - if (element.accessKey.toLowerCase().indexOf(lowExceptStr) != -1) { - canShowList.push(element); - } - }); - $scope.paginationConf.totalItems = canShowList.length; - var perPage = $scope.paginationConf.itemsPerPage; - var from = (currentPage - 1) * perPage; - var to = (from + perPage) > canShowList.length ? canShowList.length : from + perPage; - $scope.plainAccessConfigs = canShowList.slice(from, to); - }; - - $scope.showPlainAccessConfigs = function (currentPage, totalItem) { - var perPage = $scope.paginationConf.itemsPerPage; - var from = (currentPage - 1) * perPage; - var to = (from + perPage) > totalItem ? totalItem : from + perPage; - $scope.plainAccessConfigs = $scope.allPlainAccessConfigs.slice(from, to); - $scope.paginationConf.totalItems = totalItem; - $scope.filterList($scope.paginationConf.currentPage) - }; - - - // add acl account - $scope.openAddDialog = function () { - var request = {}; - request.accessKey = ''; - request.secretKey = ''; - request.admin = false; - request.defaultTopicPerm = 'DENY'; - request.defaultGroupPerm = 'SUB'; - ngDialog.open({ - preCloseCallback: function (value) { - $scope.refreshPlainAccessConfigs(); - }, - template: 'addAclAccountDialog', - controller: 'addAclAccountDialogController', - data: request - }); - } - - $scope.deleteAclConfig = function (accessKey) { - $http({ - method: "POST", - url: "acl/delete.do", - data: {accessKey: accessKey} - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - $scope.refreshPlainAccessConfigs(); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - $scope.openUpdateDialog = function (request) { - ngDialog.open({ - preCloseCallback: function (value) { - $scope.refreshPlainAccessConfigs(); - }, - template: 'updateAclAccountDialog', - controller: 'updateAclAccountDialogController', - data: request - }); - } - - // add acl topic permission - $scope.openAddTopicDialog = function (request) { - $.extend(request, {pub: true, sub: true, deny: false}) - ngDialog.open({ - preCloseCallback: function (value) { - $scope.refreshPlainAccessConfigs(); - }, - template: 'addAclTopicDialog', - controller: 'addAclTopicDialogController', - data: request - }); - } - - // update acl topic permission - $scope.openUpdateTopicDialog = function (request, topic) { - var perm = {pub: false, sub: false, deny: false}; - var topicInfo = topic.split('='); - $.each(topicInfo[1].split('|'), function (i, e) { - switch (e) { - case 'PUB': - perm.pub = true; - break; - case 'SUB': - perm.sub = true; - break; - case 'DENY': - perm.deny = true; - break; - default: - break; - } - }); - - $.extend(request, perm, {topic: topicInfo[0]}); - ngDialog.open({ - preCloseCallback: function (value) { - $scope.refreshPlainAccessConfigs(); - }, - template: 'updateAclTopicDialog', - controller: 'updateAclTopicDialogController', - data: request - }); - } - - // add acl group permission - $scope.openAddGroupDialog = function (request) { - $.extend(request, {pub: true, sub: true, deny: false}) - ngDialog.open({ - preCloseCallback: function (value) { - $scope.refreshPlainAccessConfigs(); - }, - template: 'addAclGroupDialog', - controller: 'addAclGroupDialogController', - data: request - }); - } - - // update acl group permission - $scope.openUpdateGroupDialog = function (request, group) { - var perm = {pub: false, sub: false, deny: false}; - var groupInfo = group.split('='); - $.each(groupInfo[1].split('|'), function (i, e) { - switch (e) { - case 'PUB': - perm.pub = true; - break; - case 'SUB': - perm.sub = true; - break; - case 'DENY': - perm.deny = true; - break; - default: - break; - } - }); - - $.extend(request, perm, {group: groupInfo[0]}); - ngDialog.open({ - preCloseCallback: function (value) { - $scope.refreshPlainAccessConfigs(); - }, - template: 'updateAclGroupDialog', - controller: 'updateAclGroupDialogController', - data: request - }); - } - - $scope.deletePermConfig = function (config, name, type) { - var request = {config: config}; - switch (type) { - case 'topic': - request.topicPerm = name; - break; - case 'group': - request.groupPerm = name; - break; - default: - break; - } - $http({ - method: "POST", - url: "acl/perm/delete.do", - data: request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - $scope.refreshPlainAccessConfigs(); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - - $scope.synchronizeData = function (request) { - $http({ - method: "POST", - url: "acl/sync.do", - data: request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - $scope.refreshPlainAccessConfigs(); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - - $scope.openAddAddrDialog = function () { - ngDialog.open({ - preCloseCallback: function (value) { - $scope.refreshPlainAccessConfigs(); - }, - template: 'addWhiteListDialog', - controller: 'addWhiteListDialogController' - }); - } - - $scope.deleteGlobalWhiteAddr = function (request) { - $http({ - method: "DELETE", - url: "acl/white/list/delete.do?request=" + request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - $scope.refreshPlainAccessConfigs(); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - - $scope.synchronizeWhiteList = function (request) { - $http({ - method: "POST", - url: "acl/white/list/sync.do", - data: request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - $scope.refreshPlainAccessConfigs(); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - - $scope.switchSecretKeyType = function (accessKey) { - if ($scope.showSecretKeyType[accessKey].type == 'password') { - $scope.showSecretKeyType[accessKey] = {type: 'text', action: 'HIDE'}; - } else { - $scope.showSecretKeyType[accessKey] = {type: 'password', action: 'SHOW'}; - } - } -}]); - -module.controller('addAclAccountDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.addRequest = function (requestItem) { - $http({ - method: "POST", - url: "acl/add.do", - data: requestItem - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); - -module.controller('updateAclAccountDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.updateAclAccountRequest = function (requestItem) { - $http({ - method: "POST", - url: "acl/update.do", - data: requestItem - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); - -module.controller('addAclTopicDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.updateAclAccountRequest = function (requestItem) { - if ((requestItem.deny && requestItem.sub) || (requestItem.deny && requestItem.pub)) { - alert("Forbid deny && pub/sub."); - return false; - } - if (!requestItem.topic) { - alert("topic is null"); - return false; - } - //var request = requestItem.originalData; - var originalData = $.extend(true, {}, requestItem.originalData); - if (!originalData.topicPerms) { - originalData.topicPerms = new Array(); - } - var topicPerm = concatPerm(requestItem.topic, requestItem.pub ? 0x01 : 0, requestItem.sub ? 0x02 : 0, requestItem.deny ? 0x04 : 0); - originalData.topicPerms.push(topicPerm); - var request = {topicPerm: topicPerm, config: originalData}; - $http({ - method: "POST", - url: "acl/topic/add.do", - data: request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); - -module.controller('updateAclTopicDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.updateAclAccountRequest = function (requestItem) { - if ((requestItem.deny && requestItem.sub) || (requestItem.deny && requestItem.pub)) { - alert("Forbid deny && pub/sub."); - return false; - } - var originalData = $.extend(true, {}, requestItem.originalData); - if (!originalData.topicPerms) { - originalData.topicPerms = new Array(); - } - var topicPerm = concatPerm(requestItem.topic, requestItem.pub ? 0x01 : 0, requestItem.sub ? 0x02 : 0, requestItem.deny ? 0x04 : 0); - - for (var i = 0; i < originalData.topicPerms.length; i++) { - if (originalData.topicPerms[i].split('=')[0] == requestItem.topic) { - originalData.topicPerms[i] = topicPerm; - } - } - var request = {topicPerm: topicPerm, config: originalData}; - $http({ - method: "POST", - url: "acl/topic/add.do", - data: request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); - -module.controller('addAclGroupDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.updateAclAccountRequest = function (requestItem) { - if ((requestItem.deny && requestItem.sub) || (requestItem.deny && requestItem.pub)) { - alert("Forbid deny && pub/sub."); - return false; - } - //var request = requestItem.originalData; - var originalData = $.extend(true, {}, requestItem.originalData); - if (!originalData.groupPerms) { - originalData.groupPerms = new Array(); - } - var groupPerm = concatPerm(requestItem.group, requestItem.pub ? 0x01 : 0, requestItem.sub ? 0x02 : 0, requestItem.deny ? 0x04 : 0); - originalData.groupPerms.push(groupPerm); - var request = {groupPerm: groupPerm, config: originalData}; - $http({ - method: "POST", - url: "acl/group/add.do", - data: request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); - -module.controller('updateAclGroupDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.updateAclAccountRequest = function (requestItem) { - if ((requestItem.deny && requestItem.sub) || (requestItem.deny && requestItem.pub)) { - alert("Forbid deny && pub/sub."); - return false; - } - var originalData = $.extend(true, {}, requestItem.originalData); - if (!originalData.groupPerms) { - originalData.groupPerms = new Array(); - } - var groupPerm = concatPerm(requestItem.group, requestItem.pub ? 0x01 : 0, requestItem.sub ? 0x02 : 0, requestItem.deny ? 0x04 : 0); - - for (var i = 0; i < originalData.groupPerms.length; i++) { - if (originalData.groupPerms[i].split('=')[0] == requestItem.group) { - originalData.groupPerms[i] = groupPerm; - } - } - var request = {groupPerm: groupPerm, config: originalData}; - $http({ - method: "POST", - url: "acl/group/add.do", - data: request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); - -/** - * - * pub: 0x01, sub: 0x02, deny: 0x04 - */ -function concatPerm(name, pub, sub, deny) { - var perm = ''; - - switch (pub | sub | deny) { - case 0x01: - perm = 'PUB'; - break; - case 0x02: - perm = 'SUB'; - break; - case 0x03: - perm = 'PUB|SUB'; - break; - case 0x04: - perm = 'DENY'; - break; - default: - perm = 'DENY'; - break; - } - - return name + '=' + perm; -} - -module.controller('addWhiteListDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.addWhiteListRequest = function (requestItem) { - $http({ - method: "POST", - url: "acl/white/list/add.do", - data: requestItem.split(',') - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); - -module.controller('aclBelongItemDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.postBelongItemRequest = function (topicRequestItem) { - topicRequestItem.type = 1 - $http({ - method: "POST", - url: "acl/belong/item/add.do", - data: topicRequestItem - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); \ No newline at end of file diff --git a/src/main/resources/static/src/app.js b/src/main/resources/static/src/app.js deleted file mode 100644 index 1bbb650..0000000 --- a/src/main/resources/static/src/app.js +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -'use strict'; -var initFlag = false; -var loginFlag = false; -var app = angular.module('app', [ - 'ngAnimate', - 'ngCookies', - 'ngRoute', - 'ngDialog', - 'ngMaterial', - 'ngSanitize', - 'material.svgAssetsCache', - 'ui-notification', - 'tm.pagination', - 'ae-datetimepicker', - 'localytics.directives', - 'pascalprecht.translate' -]).run( - ['$rootScope','$location','$cookies','$http', '$window','Notification', - function ($rootScope,$location,$cookies,$http, $window, Notification) { - var init = function(callback){ - if (initFlag) return; - initFlag = true; - - var url = 'login/check.query'; - var setting = { - type: "GET", - timeout:15000, - success:callback, - async:false - } - //sync invoke - $.ajax(url,setting) - } - console.log('initFlag0='+ initFlag + ' loginFlag0==='+loginFlag); - - $http({ - method: "GET", - url: "acl/enable.query" - }).success(function (resp) { - if (resp && resp.status == 0) { - $rootScope.show = resp.data; - } - }); - - $rootScope.$on('$locationChangeStart', function (event, next, current) { - // redirect to login page if not logged in and trying to access a restricted page - init(function(resp){ - if (resp.status == 0) { - // console.log('resp.data==='+resp.data); - var loginInfo = resp.data; - loginFlag = loginInfo.loginRequired; - if (!loginInfo.logined) { - $window.sessionStorage.clear(); - } - }else { - Notification.error({message: "" + resp.errMsg, delay: 2000}); - } - }); - - console.log('initFlag='+ initFlag + ' loginFlag==='+loginFlag); - $rootScope.username = ''; - if (loginFlag || loginFlag == "true") { - var username = $window.sessionStorage.getItem("username"); - - if (username != null) { - $rootScope.username = username; - } - - // console.log("username " + $rootScope.username); - var restrictedPage = $.inArray($location.path(), ['/login']) === -1; - if (restrictedPage && !username) { - var callback = $location.path(); - $location.path('/login'); - } - } - - }); - - - $rootScope.$on('$routeChangeSuccess', function() { - var pathArray = $location.url().split("/"); - var index = pathArray.indexOf(""); - if(index >= 0){ - pathArray.remove(index); - } - $rootScope.path = pathArray[0]; - - //初始化material UI控件 - $.material.init(); - }); - - $rootScope.$on('$routeChangeStart',function (evt, next,current) { - window.clearInterval($rootScope._thread); - }) - } - ] - ).animation('.view', function () { - return { - animate: function (element, className, from, to, done) { - //styles - } - } - }); - -app.factory('abc', function ($http, $window) { - $http({ - method: "GET", - url: "login/check.query" - }).success(function (resp) { - if (resp.status == 0) { - alert(resp.data) - } - }); - return 1; -}); - -app.provider('getDictName', function () { - - var dictList = []; - - this.init = function () { - var url = "src/data/dict.json";//无法使用common服务类,地址只能写死 - var params = {}; - $.get(url, params, function (ret) { - dictList = ret; - }) - } - - this.$get = function () { - return function (dictType, value) { - for (var i = 0; i < dictList.length; i++) { - var dict = dictList[i]; - if (dict.TYPE == dictType && dict.DICT_VALUE == value) { - return dict.DICT_NAME; - } - } - } - } -}) - -app.config(['$routeProvider', '$httpProvider','$cookiesProvider','getDictNameProvider','$sceProvider','$translateProvider','$mdThemingProvider', - function ($routeProvider, $httpProvider ,$cookiesProvider,getDictNameProvider,$sceProvider,$translateProvider,$mdThemingProvider) { - //关闭html校验,存在安全隐患,但目前没问题,使用ng-bind-html需要注意,防止跨站攻击 - $sceProvider.enabled(false); - //前端字典项目初始化 - getDictNameProvider.init(); - - //init angular - $mdThemingProvider.theme('default') - .primaryPalette('pink') - .accentPalette('light-blue'); - - - //设置ajax默认配置 - $.ajaxSetup({ - type: "POST", - contentType: 'application/json', - cache:false, - timeout : 5000, //超时时间设置,单位毫秒 - converters:{ - "text json": JSONbig.parse - } - }); - - // check login status - - - $httpProvider.defaults.cache = false; - - $routeProvider.when('/', { - templateUrl: 'view/pages/index.html', - controller:'dashboardCtrl' - }).when('/login', { - templateUrl: 'view/pages/login.html', - controller:'loginController' - }).when('/cluster', { - templateUrl: 'view/pages/cluster.html', - controller:'clusterController' - }).when('/topic', { - templateUrl: 'view/pages/topic.html', - controller:'topicController' - }).when('/consumer', { - templateUrl: 'view/pages/consumer.html', - controller:'consumerController' - }).when('/producer', { - templateUrl: 'view/pages/producer.html', - controller:'producerController' - }).when('/message', { - templateUrl: 'view/pages/message.html', - controller:'messageController' - }).when('/dlqMessage', { - templateUrl: 'view/pages/dlqMessage.html', - controller:'dlqMessageController' - }).when('/messageTrace', { - templateUrl: 'view/pages/messageTrace.html', - controller:'messageTraceController' - }).when('/ops', { - templateUrl: 'view/pages/ops.html', - controller:'opsController' - }).when('/proxy', { - templateUrl: 'view/pages/proxy.html', - controller:'proxyController' - }).when('/acl', { - templateUrl: 'view/pages/acl.html', - controller: 'aclController' - }).when('/404', { - templateUrl: 'view/pages/404.html' - }).otherwise('/404'); - - $translateProvider.translations('en',en); - $translateProvider.translations('zh',zh); - $translateProvider.preferredLanguage('en'); - $translateProvider.useCookieStorage(); -// $translateProvider.useSanitizeValueStrategy('sanitize'); - - }]); - -app.filter('range', function() { - return function(input, range) { - var total = parseInt(range.totalPage) + 1; - var count = 5; - for (var i = range.start; i 0){ - input.push(i); - count -- ; - }else { - break; - } - } - return input; - }; -}); - - -app.filter('dict',['getDictName',function(getDictName){ - return function(value,type){ - return getDictName(type,value); - } -}]) - -/** - * 数组扩展方法,移除数组中某一元素或某一段元素 - * @param from 需要移除元素的索引开始值(只传一个参数表示单独移除该元素) - * @param to 需要移除元素的索引结束值 - * @returns {*} - */ -Array.prototype.remove = function(from, to) { - var rest = this.slice((to || from) + 1 || this.length); - this.length = from < 0 ? this.length + from : from; - return this.push.apply(this, rest); -}; - -/** - * 根据元素值查询数组中元素的索引 - * @param val - * @returns {number} - */ -Array.prototype.indexOf = function(val) { - for (var i = 0; i < this.length; i++) { - if (this[i] == val) return i; - } - return -1; -}; \ No newline at end of file diff --git a/src/main/resources/static/src/cluster.js b/src/main/resources/static/src/cluster.js deleted file mode 100644 index 6f1baee..0000000 --- a/src/main/resources/static/src/cluster.js +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -app.controller('clusterController', ['$scope','$location','$http','Notification','remoteApi','tools', function ($scope,$location,$http,Notification,remoteApi,tools) { - $scope.clusterMap = {};//cluster:brokerNameList - $scope.brokerMap = {};//brokerName:{id:addr} - $scope.brokerDetail = {};//{brokerName,id:detail} - $scope.clusterNames = []; - $scope.selectedCluster = ""; - var callback = function (resp) { - if (resp.status == 0) { - $scope.clusterMap = resp.data.clusterInfo.clusterAddrTable; - $scope.brokerMap = resp.data.clusterInfo.brokerAddrTable; - $scope.brokerDetail = resp.data.brokerServer; - $.each($scope.clusterMap,function(clusterName,clusterBrokersNames){ - $scope.clusterNames.push(clusterName); - }); - if ($scope.clusterNames.length > 0) { - $scope.selectedCluster = $scope.clusterNames[0]; - } - $scope.brokers = tools.generateBrokerMap($scope.brokerDetail,$scope.clusterMap,$scope.brokerMap); - $scope.switchCluster(); - }else{ - Notification.error({message: resp.errMsg, delay: 2000}); - } - } - - remoteApi.queryClusterList(callback); - - $scope.switchCluster = function(){ - $scope.instances = $scope.brokers[$scope.selectedCluster]; - } - - $scope.showDetail = function (brokerName,index) { - $scope.detail = $scope.brokerDetail[brokerName][index]; - $scope.brokerName = brokerName; - $scope.index = index; - $(".brokerModal").modal(); - } - - $scope.showConfig = function (brokerAddr,brokerName,index) { - $scope.brokerAddr = brokerAddr; - $scope.brokerName = brokerName; - $scope.index = index; - $http({ - method: "GET", - url: "cluster/brokerConfig.query", - params:{brokerAddr:brokerAddr} - }).success(function (resp) { - if (resp.status == 0) { - $scope.brokerConfig = resp.data; - $(".configModal").modal(); - }else{ - Notification.error({message: resp.errMsg, delay: 2000}); - } - }) - } -}]) diff --git a/src/main/resources/static/src/consumer.js b/src/main/resources/static/src/consumer.js deleted file mode 100644 index 43720ab..0000000 --- a/src/main/resources/static/src/consumer.js +++ /dev/null @@ -1,476 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var module = app; - -module.controller('consumerController', ['$scope', 'ngDialog', '$http', 'Notification', '$window', function ($scope, ngDialog, $http, Notification, $window) { - $scope.paginationConf = { - currentPage: 1, - totalItems: 0, - itemsPerPage: 10, - pagesLength: 15, - perPageOptions: [10], - rememberPerPage: 'perPageItems', - onChange: function () { - $scope.showConsumerGroupList(this.currentPage, this.totalItems); - } - }; - $scope.sortKey = null; - $scope.sortOrder = 1; - $scope.intervalProcessSwitch = false; - $scope.intervalProcess = null; - $scope.allConsumerGrouopList = []; - $scope.consumerGroupShowList = []; - $scope.sortByKey = function (key) { - $scope.paginationConf.currentPage = 1; - $scope.sortOrder = -$scope.sortOrder; - $scope.sortKey = key; - $scope.doSort(); - }; - $scope.userRole = $window.sessionStorage.getItem("userrole"); - $scope.writeOperationEnabled = $scope.userRole == null ? true : ($scope.userRole == 1 ? true : false); - $scope.filterNormal = true; - $scope.filterSystem = false; - $scope.filterFIFO = false; - - $scope.doSort = function () {// todo how to change this fe's code ? (it's dirty) - if ($scope.sortKey == 'diffTotal') { - $scope.allConsumerGrouopList.sort(function (a, b) { - return (a.diffTotal > b.diffTotal) ? $scope.sortOrder : ((b.diffTotal > a.diffTotal) ? -$scope.sortOrder : 0); - }); - } - if ($scope.sortKey == 'group') { - $scope.allConsumerGrouopList.sort(function (a, b) { - return (a.group > b.group) ? $scope.sortOrder : ((b.group > a.group) ? -$scope.sortOrder : 0); - }); - } - if ($scope.sortKey == 'count') { - $scope.allConsumerGrouopList.sort(function (a, b) { - return (a.count > b.count) ? $scope.sortOrder : ((b.count > a.count) ? -$scope.sortOrder : 0); - }); - } - if ($scope.sortKey == 'consumeTps') { - $scope.allConsumerGrouopList.sort(function (a, b) { - return (a.consumeTps > b.consumeTps) ? $scope.sortOrder : ((b.consumeTps > a.consumeTps) ? -$scope.sortOrder : 0); - }); - } - $scope.filterList($scope.paginationConf.currentPage) - }; - $scope.refreshConsumerGroup = function (groupName) { - //Show loader - $('#loaderConsumer').removeClass("hide-myloader"); - - $http({ - method: "GET", - url: "/consumer/group.refresh", - params: { - address: $scope.isRmqVersionV5() ? localStorage.getItem('proxyAddr') : null, - consumerGroup: groupName - } - }).success(function (resp) { - if (resp.status == 0) { - for (var i = 0; i < $scope.allConsumerGrouopList.length; i++) { - if ($scope.allConsumerGrouopList[i].group === groupName) { - $scope.allConsumerGrouopList[i] = resp.data; - break; - } - } - $scope.showConsumerGroupList($scope.paginationConf.currentPage, $scope.allConsumerGrouopList.length); - //Hide loader - $('#loaderConsumer').addClass("hide-myloader"); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - - $scope.queryConsumerData = function () { - //Show loader - $('#loaderConsumer').removeClass("hide-myloader"); - - $http({ - method: "GET", - url: "consumer/groupList.query", - params: { - skipSysGroup: false, - address: $scope.isRmqVersionV5() ? localStorage.getItem('proxyAddr') : null - } - }).success(function (resp) { - if (resp.status == 0) { - $scope.allConsumerGrouopList = resp.data; - console.log($scope.allConsumerGrouopList); - console.log(JSON.stringify(resp)); - $scope.showConsumerGroupList($scope.paginationConf.currentPage, $scope.allConsumerGrouopList.length); - - //Hide loader - $('#loaderConsumer').addClass("hide-myloader"); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - $scope.refreshConsumerData = function () { - //Show loader - $('#loaderConsumer').removeClass("hide-myloader"); - - $http({ - method: "GET", - url: "consumer/group.refresh.all", - params: { - skipSysGroup: false - } - }).success(function (resp) { - if (resp.status == 0) { - $scope.allConsumerGrouopList = resp.data; - console.log($scope.allConsumerGrouopList); - console.log(JSON.stringify(resp)); - $scope.showConsumerGroupList($scope.paginationConf.currentPage, $scope.allConsumerGrouopList.length); - - //Hide loader - $('#loaderConsumer').addClass("hide-myloader"); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - $scope.monitor = function (consumerGroupName) { - $http({ - method: "GET", - url: "monitor/consumerMonitorConfigByGroupName.query", - params: {consumeGroupName: consumerGroupName} - }).success(function (resp) { - // if(resp.status ==0){ - ngDialog.open({ - template: 'consumerMonitorDialog', - controller: 'consumerMonitorDialogController', - data: {consumerGroupName: consumerGroupName, data: resp.data} - }); - // }else { - // Notification.error({message: resp.errMsg, delay: 2000}); - // } - }); - }; - - - $scope.$watch('intervalProcessSwitch', function () { - if ($scope.intervalProcess != null) { - clearInterval($scope.intervalProcess); - $scope.intervalProcess = null; - } - if ($scope.intervalProcessSwitch) { - $scope.intervalProcess = setInterval($scope.queryConsumerData, 10000); - } - }); - - - $scope.queryConsumerData(); - $scope.filterStr = ""; - $scope.$watch('filterStr', function () { - $scope.paginationConf.currentPage = 1; - $scope.filterList(1) - }); - - $scope.$watch('filterNormal', function () { - $scope.filterList(1); - }); - - $scope.$watch('filterSystem', function () { - $scope.filterList(1); - }); - - $scope.$watch('filterFIFO', function () { - $scope.filterList(1); - }); - - $scope.filterByType = function (str, type,version) { - if ($scope.filterSystem) { - if (type === "SYSTEM") { - return true - } - } - if ($scope.filterNormal) { - if (type === "NORMAL") { - return true - } - if(!version && type === "FIFO"){ - return true; - } - } - if ($scope.filterFIFO) { - if (type === "FIFO") { - return true; - } - } - return false; - }; - - $scope.filterList = function (currentPage) { - var lowExceptStr = $scope.filterStr.toLowerCase(); - var canShowList = []; - $scope.allConsumerGrouopList.forEach(function (element) { - console.log(element) - if ($scope.filterByType(element.group, element.subGroupType, $scope.rmqVersion)) { - if (element.group.toLowerCase().indexOf(lowExceptStr) != -1) { - canShowList.push(element); - } - } - }); - $scope.paginationConf.totalItems = canShowList.length; - var perPage = $scope.paginationConf.itemsPerPage; - var from = (currentPage - 1) * perPage; - var to = (from + perPage) > canShowList.length ? canShowList.length : from + perPage; - $scope.consumerGroupShowList = canShowList.slice(from, to); - }; - - - $scope.showConsumerGroupList = function (currentPage, totalItem) { - var perPage = $scope.paginationConf.itemsPerPage; - var from = (currentPage - 1) * perPage; - var to = (from + perPage) > totalItem ? totalItem : from + perPage; - $scope.consumerGroupShowList = $scope.allConsumerGrouopList.slice(from, to); - $scope.paginationConf.totalItems = totalItem; - console.log($scope.consumerGroupShowList) - console.log($scope.paginationConf.totalItems) - $scope.doSort() - }; - $scope.openAddDialog = function () { - $scope.openCreateOrUpdateDialog(null); - }; - $scope.openCreateOrUpdateDialog = function (request) { - var bIsUpdate = true; - if (request == null) { - request = [{ - brokerNameList: [], - subscriptionGroupConfig: { - groupName: "", - consumeEnable: true, - consumeMessageOrderly: false, - consumeFromMinEnable: true, - consumeBroadcastEnable: true, - retryQueueNums: 1, - retryMaxTimes: 16, - brokerId: 0, - whichBrokerWhenConsumeSlowly: 1 - } - }]; - bIsUpdate = false; - } - console.log(request); - $http({ - method: "GET", - url: "cluster/list.query" - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - ngDialog.open({ - preCloseCallback: function (value) { - // Refresh topic list - $scope.queryConsumerData(); - }, - template: $scope.rmqVersion ? 'consumerModifyDialogForV5' : 'consumerModifyDialog', - controller: 'consumerModifyDialogController', - data: { - consumerRequestList: request, - allClusterNameList: Object.keys(resp.data.clusterInfo.clusterAddrTable), - allBrokerNameList: Object.keys(resp.data.brokerServer), - bIsUpdate: bIsUpdate, - writeOperationEnabled: $scope.writeOperationEnabled - } - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - $scope.detail = function (consumerGroupName, address) { - $http({ - method: "GET", - url: "consumer/queryTopicByConsumer.query", - params: {consumerGroup: consumerGroupName, address: address} - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - ngDialog.open({ - template: 'consumerTopicViewDialog', - controller: 'consumerTopicViewDialogController', - data: {consumerGroupName: consumerGroupName, data: resp.data} - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.client = function (consumerGroupName, address) { - $http({ - method: "GET", - url: "consumer/consumerConnection.query", - params: {consumerGroup: consumerGroupName, address: address} - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - ngDialog.open({ - template: 'clientInfoDialog', - // controller: 'addTopicDialogController', - data: {data: resp.data, consumerGroupName: consumerGroupName} - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - $scope.updateConfigDialog = function (consumerGroupName) { - $http({ - method: "GET", - url: "consumer/examineSubscriptionGroupConfig.query", - params: {consumerGroup: consumerGroupName} - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - $scope.openCreateOrUpdateDialog(resp.data); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - - - }; - $scope.delete = function (consumerGroupName) { - $http({ - method: "GET", - url: "consumer/fetchBrokerNameList.query", - params: { - consumerGroup: consumerGroupName - } - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - - ngDialog.open({ - preCloseCallback: function (value) { - // Refresh topic list - $scope.queryConsumerData(); - }, - template: 'deleteConsumerDialog', - controller: 'deleteConsumerDialogController', - data: { - // allClusterList:Object.keys(resp.data.clusterInfo.clusterAddrTable), - allBrokerNameList: resp.data, - consumerGroupName: consumerGroupName - } - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - -}]) -module.controller('consumerMonitorDialogController', function ($scope, ngDialog, $http, Notification) { - $scope.createOrUpdateConsumerMonitor = function () { - $http({ - method: "POST", - url: "monitor/createOrUpdateConsumerMonitor.do", - params: { - consumeGroupName: $scope.ngDialogData.consumerGroupName, - minCount: $scope.ngDialogData.data.minCount, - maxDiffTotal: $scope.ngDialogData.data.maxDiffTotal - } - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "update success!", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - } -); - - -module.controller('deleteConsumerDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.selectedClusterList = []; - $scope.selectedBrokerNameList = []; - $scope.delete = function () { - console.log($scope.selectedClusterList); - console.log($scope.selectedBrokerNameList); - console.log($scope.ngDialogData.consumerGroupName); - $http({ - method: "POST", - url: "consumer/deleteSubGroup.do", - data: { - groupName: $scope.ngDialogData.consumerGroupName, - brokerNameList: $scope.selectedBrokerNameList - } - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "delete success!", delay: 2000}); - ngDialog.close(this); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); - -module.controller('consumerModifyDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.postConsumerRequest = function (consumerRequest) { - var request = JSON.parse(JSON.stringify(consumerRequest)); - console.log(request); - $http({ - method: "POST", - url: "consumer/createOrUpdate.do", - data: request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "update success!", delay: 2000}); - ngDialog.close(this); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); - -module.controller('consumerTopicViewDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.consumerRunningInfo = function (consumerGroup, clientId, jstack) { - $http({ - method: "GET", - url: "consumer/consumerRunningInfo.query", - params: { - consumerGroup: consumerGroup, - clientId: clientId, - jstack: jstack - } - }).success(function (resp) { - if (resp.status == 0) { - ngDialog.open({ - template: 'consumerClientDialog', - data: { - consumerClientInfo: resp.data, - clientId: clientId - } - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - }] -); diff --git a/src/main/resources/static/src/controller.js b/src/main/resources/static/src/controller.js deleted file mode 100644 index c2434c7..0000000 --- a/src/main/resources/static/src/controller.js +++ /dev/null @@ -1,584 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -app.controller('AppCtrl', ['$scope','$window','$translate','$http','Notification', function ($scope,$window,$translate, $http, Notification) { - $scope.rmqVersion = localStorage.getItem("isV5"); - - $scope.changeTranslate = function(langKey){ - $translate.use(langKey); - } - - $scope.changeRMQVersion = function (version) { - $scope.rmqVersion = version === 5; - var v = version === 5; - localStorage.setItem("isV5", v); - } - - $scope.isRmqVersionV5 = function(){ - var v=localStorage.getItem('isV5'); - //for js !! 'false' is true! - if( /false/i.test(v) ){ - return false; - } - return !! v; - } - - $scope.logout = function(){ - $http({ - method: "POST", - url: "login/logout.do" - }).success(function (resp) { - window.location = resp.data; - $window.sessionStorage.clear(); - }); - } -}]); - -app.controller('dashboardCtrl', ['$scope','$rootScope','$translate','$filter','Notification','remoteApi','tools', function ($scope,$rootScope,$translate,$filter,Notification,remoteApi,tools) { - - $scope.barChart = echarts.init(document.getElementById('main')); - $scope.lineChart = echarts.init(document.getElementById('line')); - $scope.topicBarChart = echarts.init(document.getElementById('topicBar')); - $scope.topicLineChart = echarts.init(document.getElementById('topicLine')); - $scope.timepickerOptions ={format: 'YYYY-MM-DD', showClear: true}; - $scope.topicNames = []; - - $translate('BROKER').then(function (broker) { - $scope.BROKER_TITLE = broker; - initBrokerBarChart(); - initBrokerLineChart(); - }, function (translationId) { - $scope.BROKER_TITLE = translationId; - }); - - $translate('TOPIC').then(function (topic) { - $scope.TOPIC_TITLE = topic; - initTopicBarChart(); - initTopicLineChart(); - }, function (translationId) { - $scope.TOPIC_TITLE = translationId; - }); - - var initBrokerBarChart = function(){ - $scope.barChart.setOption({ - title: { - text:$scope.BROKER_TITLE + ' TOP 10' - }, - tooltip: {}, - legend: { - data:['TotalMsg'] - }, - axisPointer : { - type : 'shadow' - }, - xAxis: { - data: [], - axisLabel: { - inside: false, - textStyle: { - color: '#000000' - }, - rotate: 0, - interval:0 - }, - axisTick: { - show: true - }, - axisLine: { - show: true - }, - z: 10 - }, - yAxis: { - type: 'value', - boundaryGap: [0, '100%'], - axisLabel: { - formatter: function(value){ - return value.toFixed(2); - } - }, - splitLine: { - show: true - } - }, - series: [{ - name: 'TotalMsg', - type: 'bar', - data: [] - }] - }) - } - - var initBrokerLineChart = function(){ - $scope.lineChart.setOption({ - title: { - text: $scope.BROKER_TITLE + ' 5min trend' - }, - toolbox: { - feature: { - dataZoom: { - yAxisIndex: 'none' - }, - restore: {}, - saveAsImage: {} - } - }, - tooltip: { - trigger: 'axis', - axisPointer: { - animation: false - } - }, - yAxis: { - type: 'value', - boundaryGap: [0, '80%'], - axisLabel: { - formatter: function(value){ - return value.toFixed(2); - } - }, - splitLine: { - show: true - } - }, - dataZoom: [{ - type: 'inside', - start: 90, - end: 100 - }, { - start: 0, - end: 10, - handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z', - handleSize: '80%', - handleStyle: { - color: '#fff', - shadowBlur: 3, - shadowColor: 'rgba(0, 0, 0, 0.6)', - shadowOffsetX: 2, - shadowOffsetY: 2 - } - }], - legend: { - data: [], - top:30 - }, - xAxis: { - type: 'time', - boundaryGap: false, - data: [] - }, - series: [] - }) - - } - - var initTopicBarChart = function(){ - $scope.topicBarChart.setOption({ - title: { - text:$scope.TOPIC_TITLE + ' TOP 10' - }, - tooltip: {}, - legend: { - data:['TotalMsg'] - }, - axisPointer : { - type : 'shadow' - }, - xAxis: { - data: [], - axisLabel: { - inside: false, - textStyle: { - color: '#000000' - }, - rotate: 0, - interval:0 - }, - axisTick: { - show: true - }, - axisLine: { - show: true - }, - z: 10 - }, - yAxis: { - type: 'value', - boundaryGap: [0, '100%'], - axisLabel: { - formatter: function(value){ - return value.toFixed(2); - } - }, - splitLine: { - show: true - } - }, - series: [{ - name: 'TotalMsg', - type: 'bar', - data: [] - }] - }) - } - - var initTopicLineChart = function(){ - var _option = { - baseOption:{ - title: { - text: $scope.TOPIC_TITLE + ' 5min trend' - }, - toolbox: { - feature: { - dataZoom: { - yAxisIndex: 'none' - }, - restore: {}, - saveAsImage: {} - } - }, - grid:{ - top:100 - }, - tooltip: { - trigger: 'axis', - axisPointer: { - animation: false - } - }, - yAxis: { - type: 'value', - boundaryGap: [0, '80%'], - axisLabel: { - formatter: function(value){ - return value.toFixed(2); - } - }, - splitLine: { - show: true - } - }, - dataZoom: [{ - type: 'inside', - start: 90, - end: 100 - }, { - start: 0, - end: 10, - handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z', - handleSize: '80%', - handleStyle: { - color: '#fff', - shadowBlur: 3, - shadowColor: 'rgba(0, 0, 0, 0.6)', - shadowOffsetX: 2, - shadowOffsetY: 2 - } - }], - legend:{ - data:[], - top:30 - }, - xAxis: { - type: 'time', - boundaryGap: false, - data: [] - }, - series: [] - } - } - $scope.topicLineChart.setOption(_option) - - } - - var getBrokerBarChartOp = function(xAxisData,data){ - - var option = { - xAxis: { - data: xAxisData, - axisLabel: { - inside: false, - textStyle: { - color: '#000000' - }, - rotate: 0, - interval:0 - }, - axisTick: { - show: true - }, - axisLine: { - show: true - }, - z: 10 - }, - series: [{ - name: 'TotalMsg', - type: 'bar', - data: data - }] - }; - - $scope.barChart.setOption(option); - } - - var callback = function (resp) { - $scope.barChart.hideLoading(); - if (resp.status == 0) { - var clusterAddrTable = resp.data.clusterInfo.clusterAddrTable; - var brokerMap = resp.data.clusterInfo.brokerAddrTable; - var brokerDetail = resp.data.brokerServer; - var clusterMap = tools.generateBrokerMap(brokerDetail,clusterAddrTable,brokerMap); - $scope.brokerArray = []; - $.each(clusterMap,function(clusterName,brokers){ - $.each(brokers,function(i,broker){ - $scope.brokerArray.push(broker) - }) - }); - - //sort the brokerArray - $scope.brokerArray.sort(function(firstBroker,lastBroker){ - var firstTotalMsg = parseFloat(firstBroker.msgGetTotalTodayNow); - var lastTotalMsg = parseFloat(lastBroker.msgGetTotalTodayNow); - return lastTotalMsg-firstTotalMsg; - }); - - var xAxisData = [], - data = []; - - $.each($scope.brokerArray,function(i,broker){ - if(i > 9){ - return false; - } - xAxisData.push(broker.brokerName + ":" + broker.index); - data.push(broker.msgGetTotalTodayNow); - }) - getBrokerBarChartOp(xAxisData,data); - }else{ - Notification.error({message: resp.errMsg, delay: 2000}); - } - } - - $scope.barChart.showLoading(); - remoteApi.queryClusterList(callback); - - $scope.topicBarChart.showLoading(); - remoteApi.queryTopicCurrentData(function(resp){ - $scope.topicBarChart.hideLoading(); - if (resp.status == 0) { - var topicList = resp.data; - topicList.sort(function(first,last){ - var firstTotalMsg = parseFloat(first.split(",")[1]); - var lastTotalMsg = parseFloat(last.split(",")[1]); - return lastTotalMsg-firstTotalMsg; - }) - - var xAxisData = []; - var data = []; - $.each(topicList,function (i,currentData) { - var currentArray = currentData.split(","); - $scope.topicNames.push(currentArray[0]); - if(!angular.isDefined($scope.selectedTopic)){ - $scope.selectedTopic = currentArray[0]; - } - }) - $.each(topicList,function (i, currentData) { - if(i > 9){ - return false; - } - var currentArray = currentData.split(","); - xAxisData.push(currentArray[0]); - data.push(currentArray[1]); - }) - // 指定图表的配置项和数据 - var option = { - xAxis: { - data: xAxisData, - axisLabel: { - inside: false, - textStyle: { - color: '#000000' - }, - rotate: 60, - interval:0 - }, - axisTick: { - show: true - }, - axisLine: { - show: true - }, - z: 10 - }, - series: [{ - name: 'TotalMsg', - type: 'bar', - data: data - }] - }; - $scope.topicBarChart.setOption(option); - queryLineData(); - }else{ - Notification.error({message: resp.errMsg, delay: 2000}); - } - }) - - - var getBrokerLineChart = function(legend,data){ - var series = []; - var xAxisData = []; - var flag = true; - var i = 0; - $.each(data,function(key,value){ - // if(i > 9 ){ - // return false; - // } - var _tps = []; - $.each(value,function(i,tpsValue){ - var tpsArray = tpsValue.split(","); - if(flag){ - xAxisData.push($filter('date')(tpsArray[0], "HH:mm:ss")); - } - _tps.push(tpsArray[1]); - }) - flag = false; - var _series = { - name:key, - type:'line', - smooth:true, - symbol: 'none', - sampling: 'average', - data: _tps - } - series.push(_series); - i++ - }) - - var option = { - legend: { - data: legend - }, - color: ["#FF0000", "#00BFFF", "#FF00FF", "#1ce322", "#000000", '#EE7942'], - xAxis: { - type: 'category', - boundaryGap: false, - data: xAxisData - }, - series: series - }; - return option; - } - - var getTopicLineChart = function(legend,data){ - var series = []; - var xAxisData = []; - var flag = true; - var i = 0; - $.each(data,function(key,value){ - var _tps = []; - $.each(value,function(i,tpsValue){ - var tpsArray = tpsValue.split(","); - if(flag){ - xAxisData.push($filter('date')(tpsArray[0], "HH:mm:ss")); - } - _tps.push(tpsArray[2]); - }) - flag = false; - var _series = { - name:key, - type:'line', - smooth:true, - symbol: 'none', - sampling: 'average', - data: _tps - } - series.push(_series); - i++ - }) - - var option = { - baseOption:{ - legend: { - data: legend - }, - // color: ["#FF0000", "#00BFFF", "#FF00FF", "#1ce322", "#000000", '#EE7942'], - xAxis: { - type: 'category', - boundaryGap: false, - data: xAxisData - }, - series: series - }, - media:[ - { - query:{}, - option:{ - - } - } - ] - - }; - return option; - } - - - var queryLineData = function () { - var _date; - if($scope.date != null){ - _date = $filter('date')($scope.date.valueOf(), "yyyy-MM-dd"); - }else{ - _date = $filter('date')(new Date(), "yyyy-MM-dd"); - } - // $scope.lineChart.showLoading(); - remoteApi.queryBrokerHisData(_date,function(resp){ - // $scope.lineChart.hideLoading(); - if (resp.status == 0) { - var _data = {} - var _xAxisData = []; - $.each(resp.data,function(address,values){ - _data[address] = values; - _xAxisData.push(address); - }) - $scope.lineChart.setOption(getBrokerLineChart(_xAxisData,_data)); - }else{ - Notification.error({message: "" + resp.errMsg, delay: 2000}); - } - }) - - $scope.topicLineChart.showLoading(); - remoteApi.queryTopicHisData(_date,$scope.selectedTopic,function (resp) { - $scope.topicLineChart.hideLoading(); - if (resp.status == 0) { - var _data = {}; - _data[$scope.selectedTopic] = resp.data; - var _xAxisData = $scope.selectedTopic; - $scope.topicLineChart.setOption(getTopicLineChart(_xAxisData,_data)); - }else{ - Notification.error({message: "" + resp.errMsg, delay: 2000}); - } - - }) - - } - - //router after will clear this thread - $rootScope._thread = setInterval( queryLineData, tools.dashboardRefreshTime); - - -}]); - - diff --git a/src/main/resources/static/src/data/dict.json b/src/main/resources/static/src/data/dict.json deleted file mode 100644 index defdab3..0000000 --- a/src/main/resources/static/src/data/dict.json +++ /dev/null @@ -1,4 +0,0 @@ -[ - {"TYPE":"DEMO_TYPE","DICT_VALUE":"0","DICT_NAME":"test1"}, - {"TYPE":"DEMO_TYPE","DICT_VALUE":"1","DICT_NAME":"test2"} -] \ No newline at end of file diff --git a/src/main/resources/static/src/dlqMessage.js b/src/main/resources/static/src/dlqMessage.js deleted file mode 100644 index 295201f..0000000 --- a/src/main/resources/static/src/dlqMessage.js +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var module = app; -const SYS_GROUP_TOPIC_PREFIX = "%SYS%"; -module.controller('dlqMessageController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.allConsumerGroupList = []; - $scope.selectedConsumerGroup = []; - $scope.messageId = ""; - $scope.queryDlqMessageByConsumerGroupResult = []; - $scope.queryDlqMessageByMessageIdResult = {}; - $http({ - method: "GET", - url: "consumer/groupList.query" - }).success(function (resp) { - if (resp.status == 0) { - for (const consumerGroup of resp.data) { - if (!consumerGroup.group.startsWith(SYS_GROUP_TOPIC_PREFIX)) { - $scope.allConsumerGroupList.push(consumerGroup.group); - } - } - $scope.allConsumerGroupList.sort(); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - $scope.timepickerBegin = moment().subtract(3, 'hour').format('YYYY-MM-DD HH:mm'); - $scope.timepickerEnd = moment().format('YYYY-MM-DD HH:mm'); - $scope.timepickerOptions = {format: 'YYYY-MM-DD HH:mm', showClear: true}; - - $scope.taskId = ""; - - $scope.paginationConf = { - currentPage: 1, - totalItems: 0, - itemsPerPage: 20, - pagesLength: 15, - perPageOptions: [10], - rememberPerPage: 'perPageItems', - onChange: function () { - $scope.queryDlqMessageByConsumerGroup() - } - }; - - $scope.queryDlqMessageByConsumerGroup = function () { - $("#noMsgTip").css("display", "none"); - if ($scope.timepickerEnd < $scope.timepickerBegin) { - Notification.error({message: "endTime is later than beginTime!", delay: 2000}); - return - } - if ($scope.selectedConsumerGroup === [] || (typeof $scope.selectedConsumerGroup) == "object") { - return - } - $http({ - method: "POST", - url: "dlqMessage/queryDlqMessageByConsumerGroup.query", - data: { - topic: DLQ_GROUP_TOPIC_PREFIX + $scope.selectedConsumerGroup, - begin: $scope.timepickerBegin.valueOf(), - end: $scope.timepickerEnd.valueOf(), - pageNum: $scope.paginationConf.currentPage, - pageSize: $scope.paginationConf.itemsPerPage, - taskId: $scope.taskId - } - }).success(function (resp) { - if (resp.status === 0) { - $scope.messageShowList = resp.data.page.content; - if ($scope.messageShowList.length == 0){ - $("#noMsgTip").removeAttr("style"); - } - for (const message of $scope.messageShowList) { - message.checked = false; - } - console.log($scope.messageShowList); - if (resp.data.page.first) { - $scope.paginationConf.currentPage = 1; - } - $scope.paginationConf.currentPage = resp.data.page.number + 1; - $scope.paginationConf.totalItems = resp.data.page.totalElements; - $scope.taskId = resp.data.taskId - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - - $scope.queryDlqMessageDetail = function (messageId, consumerGroup) { - $http({ - method: "GET", - url: "messageTrace/viewMessage.query", - params: { - msgId: messageId, - topic: DLQ_GROUP_TOPIC_PREFIX + consumerGroup - } - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - ngDialog.open({ - template: 'dlqMessageDetailViewDialog', - data: resp.data - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.queryDlqMessageByMessageId = function (messageId, consumerGroup) { - $http({ - method: "GET", - url: "messageTrace/viewMessage.query", - params: { - msgId: messageId, - topic: DLQ_GROUP_TOPIC_PREFIX + consumerGroup - } - }).success(function (resp) { - if (resp.status == 0) { - $scope.queryDlqMessageByMessageIdResult = resp.data; - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.changeShowMessageList = function (currentPage, totalItem) { - var perPage = $scope.paginationConf.itemsPerPage; - var from = (currentPage - 1) * perPage; - var to = (from + perPage) > totalItem ? totalItem : from + perPage; - $scope.messageShowList = $scope.queryMessageByTopicResult.slice(from, to); - $scope.paginationConf.totalItems = totalItem; - }; - - $scope.onChangeQueryCondition = function () { - console.log("change") - $scope.taskId = ""; - $scope.paginationConf.currentPage = 1; - $scope.paginationConf.totalItems = 0; - } - - $scope.resendDlqMessage = function (messageView, consumerGroup) { - const topic = messageView.properties.RETRY_TOPIC; - const msgId = messageView.properties.ORIGIN_MESSAGE_ID; - $http({ - method: "POST", - url: "message/consumeMessageDirectly.do", - params: { - msgId: msgId, - consumerGroup: consumerGroup, - topic: topic - } - }).success(function (resp) { - if (resp.status == 0) { - ngDialog.open({ - template: 'operationResultDialog', - data: { - result: resp.data - } - }); - } else { - ngDialog.open({ - template: 'operationResultDialog', - data: { - result: resp.errMsg - } - }); - } - }); - }; - - $scope.exportDlqMessage = function (msgId, consumerGroup) { - window.location.href = "dlqMessage/exportDlqMessage.do?msgId=" + msgId + "&consumerGroup=" + consumerGroup; - }; - - $scope.selectedDlqMessage = []; - $scope.batchResendDlqMessage = function (consumerGroup) { - if ($("#batchResendBtn").hasClass("disabled")) { - return; - } - for (const message of $scope.messageCheckedList) { - const dlqMessage = {}; - dlqMessage.topic = message.properties.RETRY_TOPIC; - dlqMessage.msgId = message.properties.ORIGIN_MESSAGE_ID; - dlqMessage.consumerGroup = consumerGroup; - $scope.selectedDlqMessage.push(dlqMessage); - } - $http({ - method: "POST", - url: "dlqMessage/batchResendDlqMessage.do", - data: $scope.selectedDlqMessage - }).success(function (resp) { - $scope.selectedDlqMessage = []; - if (resp.status == 0) { - ngDialog.open({ - template: 'operationResultDialog', - data: { - result: resp.data - } - }); - } else { - ngDialog.open({ - template: 'operationResultDialog', - data: { - result: resp.errMsg - } - }); - } - }); - }; - - $scope.batchExportDlqMessage = function (consumerGroup) { - if ($("#batchExportBtn").hasClass("disabled")) { - return; - } - for (const message of $scope.messageCheckedList) { - const dlqMessage = {}; - dlqMessage.msgId = message.msgId; - dlqMessage.consumerGroup = consumerGroup; - $scope.selectedDlqMessage.push(dlqMessage); - } - $http({ - method: "POST", - url: "dlqMessage/batchExportDlqMessage.do", - data: $scope.selectedDlqMessage, - headers: { - 'Content-type': 'application/json' - }, - responseType: "arraybuffer" - }).success(function (resp) { - $scope.selectedDlqMessage = []; - const blob = new Blob([resp], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}); - const objectUrl = URL.createObjectURL(blob); - const a = document.createElement('a'); - a.style.display = 'none'; - a.download = 'dlqs.xlsx'; - a.href = objectUrl; - a.click(); - document.body.removeChild(a) - }); - }; - - $scope.checkedAll = false; - $scope.messageCheckedList = []; - $scope.selectAll = function () { - $scope.messageCheckedList = []; - if ($scope.checkedAll == true) { - angular.forEach($scope.messageShowList, function (item, index) { - item.checked = true; - $scope.messageCheckedList.push(item); - }); - } else { - angular.forEach($scope.messageShowList, function (item, index) { - item.checked = false; - }); - } - checkBtn($scope.messageCheckedList) - console.log($scope.messageCheckedList) - } - - $scope.selectItem = function () { - var flag = true; - $scope.messageCheckedList = []; - angular.forEach($scope.messageShowList, function (item, index) { - if (item.checked) { - $scope.messageCheckedList.push(item); - } else { - flag = false; - } - }) - $scope.checkedAll = flag; - checkBtn($scope.messageCheckedList) - console.log($scope.messageCheckedList); - } - - function checkBtn(messageCheckList) { - if (messageCheckList.length == 0) { - $("#batchResendBtn").addClass("disabled"); - $("#batchExportBtn").addClass("disabled"); - } else { - $("#batchResendBtn").removeClass("disabled"); - $("#batchExportBtn").removeClass("disabled"); - } - } -}]); \ No newline at end of file diff --git a/src/main/resources/static/src/i18n/en.js b/src/main/resources/static/src/i18n/en.js deleted file mode 100644 index 7fbb042..0000000 --- a/src/main/resources/static/src/i18n/en.js +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var en = { - "TITLE": "RocketMQ-Dashboard", - "CLOSE": "Close", - "NO": "NO.", - "ADDRESS": "Address", - "VERSION": "Version", - "PRO_MSG_TPS": "Produce Message TPS", - "CUS_MSG_TPS": "Consumer Message TPS", - "YESTERDAY_PRO_COUNT": "Yesterday Produce Count", - "YESTERDAY_CUS_COUNT": "Yesterday Consume Count", - "TODAY_PRO_COUNT": "Today Produce Count", - "TODAY_CUS_COUNT": "Today Consume Count", - "INSTANCE": "Instance", - "SPLIT": "Broker", - "CLUSTER": "Cluster", - "CLUSTER_DETAIL": "Cluster Detail", - "TOPIC": "Topic", - "SUBSCRIPTION_GROUP":"SubscriptionGroup", - "PRODUCER_GROUP":"ProducerGroup", - "CONSUMER":"Consumer", - "PRODUCER":"Producer", - "MESSAGE":"Message", - "MESSAGE_DETAIL":"Message Detail", - "RESEND_MESSAGE":"Resend Message", - "VIEW_EXCEPTION":"View Exception", - "MESSAGETRACE":"MessageTrace", - "DLQ_MESSAGE":"DLQMessage", - "COMMIT": "Commit", - "OPERATION": "Operation", - "ADD": "Add", - "UPDATE": "Update", - "STATUS": "Status", - "ROUTER": "Router", - "MANAGE": "Manage", - "CONFIG": "Config", - "SEND_MSG": "Send Massage", - "RESET_CUS_OFFSET": "Reset Consumer Offset", - "DELETE": "Delete", - "CHANGE_LANG": "ChangeLanguage", - "CHANGE_VERSION": "ChangeVersion", - "BROKER": "Broker", - "NORMAL": "NORMAL", - "RETRY": "RETRY", - "FIFO": "FIFO", - "TRANSACTION": "TRANSACTION", - "UNSPECIFIED": "UNSPECIFIED", - "DLQ": "DLQ", - "QUANTITY":"Quantity", - "TYPE":"Type", - "MODE":"Mode", - "DELAY":"Delay", - "DASHBOARD":"Dashboard", - "CONSUME_DETAIL":"CONSUME DETAIL", - "CLIENT":"CLIENT", - "LAST_CONSUME_TIME":"LastConsumeTime", - "TIME":"Time", - "RESET":"RESET", - "DATE":"Date", - "NO_DATA":"NO DATA", - "SEARCH":"Search", - "BEGIN":"Begin", - "END":"End", - "TOPIC_CHANGE":"Topic Change", - "SEND":"Send", - "SUBSCRIPTION_CHANGE":"Subscription Change", - "QUEUE":"Queue", - "MIN_OFFSET":"minOffset", - "MAX_OFFSET":"maxOffset", - "LAST_UPDATE_TIME_STAMP":"lastUpdateTimeStamp", - "QUEUE_DATAS":"queueDatas", - "READ_QUEUE_NUMS":"readQueueNums", - "WRITE_QUEUE_NUMS":"writeQueueNums", - "PERM":"perm", - "TAG":"Tag", - "KEY":"Key", - "MESSAGE_BODY":"Message Body", - "TOPIC_NAME":"topicName", - "ORDER":"order", - "CONSUMER_CLIENT":"consumerClient", - "BROKER_OFFSET":"brokerOffset", - "CONSUMER_OFFSET":"consumerOffset", - "DIFF_TOTAL":"diffTotal", - "LAST_TIME_STAMP":"lastTimeStamp", - "RESET_OFFSET":"resetOffset", - "CLUSTER_NAME":"clusterName", - "OPS":"OPS", - "PROXY":"Proxy", - "AUTO_REFRESH":"AUTO_REFRESH", - "REFRESH":"REFRESH", - "LOGOUT":"Logout", - "LOGIN":"Login", - "USER_NAME":"Username", - "PASSWORD":"Password", - "NO_DATA":"Don't have ", - "SYSTEM":"SYSTEM", - "WELCOME":"Hi, welcome using RocketMQ Dashboard", - "ENABLE_MESSAGE_TRACE":"Enable Message Trace", - "MESSAGE_TRACE_DETAIL":"Message Trace Detail", - "TRACE_TOPIC":"TraceTopic", - "SELECT_TRACE_TOPIC":"selectTraceTopic", - "EXPORT": "export", - "NO_MATCH_RESULT": "no match result", - "BATCH_RESEND": "batchReSend", - "BATCH_EXPORT": "batchExport", - "WHITE_LIST":"White List", - "ACCOUNT_INFO":"Account Info", - "IS_ADMIN":"Is Admin", - "DEFAULT_TOPIC_PERM":"Default Topic Permission", - "DEFAULT_GROUP_PERM":"Default Group Permission", - "TOPIC_PERM":"Topic Permission", - "GROUP_PERM":"Group Permission", - "SYNCHRONIZE":"Synchronize Data", - "SHOW":"Show", - "HIDE":"Hide", - "MESSAGE_TYPE":"messageType", - "MESSAGE_TYPE_UNSPECIFIED": "UNSPECIFIED, is NORMAL", - "MESSAGE_TYPE_NORMAL": "NORMAL", - "MESSAGE_TYPE_FIFO": "FIFO", - "MESSAGE_TYPE_DELAY": "DELAY", - "MESSAGE_TYPE_TRANSACTION": "TRANSACTION", - "UPDATE_TIME": "Update Time", -} diff --git a/src/main/resources/static/src/i18n/zh.js b/src/main/resources/static/src/i18n/zh.js deleted file mode 100644 index ec2ebdd..0000000 --- a/src/main/resources/static/src/i18n/zh.js +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var zh = { - "TITLE": "RocketMQ仪表板", - "CLOSE": "关闭", - "NO": "编号", - "ADDRESS": "地址", - "VERSION": "版本", - "PRO_MSG_TPS": "生产消息TPS", - "CUS_MSG_TPS": "消费消息TPS", - "YESTERDAY_PRO_COUNT": "昨日生产总数", - "YESTERDAY_CUS_COUNT": "昨日消费总数", - "TODAY_PRO_COUNT": "今天生产总数", - "TODAY_CUS_COUNT": "今天消费总数", - "INSTANCE": "实例", - "SPLIT": "分片", - "CLUSTER": "集群", - "CLUSTER_DETAIL": "集群详情", - "COMMIT": "提交", - "TOPIC": "主题", - "SUBSCRIPTION_GROUP":"订阅组", - "PRODUCER_GROUP":"生产组", - "CONSUMER":"消费者", - "PRODUCER":"生产者", - "MESSAGE":"消息", - "MESSAGE_DETAIL":"消息详情", - "RESEND_MESSAGE":"重新发送", - "VIEW_EXCEPTION":"查看异常", - "DLQ_MESSAGE":"死信消息", - "MESSAGETRACE":"消息轨迹", - "OPERATION": "操作", - "ADD": "新增", - "UPDATE": "更新", - "STATUS": "状态", - "ROUTER": "路由", - "MANAGE": "管理", - "CONFIG": "配置", - "SEND_MSG": "发送消息", - "RESET_CUS_OFFSET": "重置消费位点", - "SKIP_MESSAGE_ACCUMULATE":"跳过堆积", - "DELETE": "删除", - "CHANGE_LANG": "更换语言", - "CHANGE_VERSION": "更换版本", - "BROKER": "Broker", - "NORMAL": "普通", - "RETRY": "重试", - "FIFO": "顺序", - "TRANSACTION": "事务", - "UNSPECIFIED": "未指定", - "DLQ": "死信", - "QUANTITY":"数量", - "TYPE":"类型", - "MODE":"模式", - "DELAY":"延迟", - "DASHBOARD":"驾驶舱", - "CONSUME_DETAIL":"消费详情", - "CLIENT":"终端", - "LAST_CONSUME_TIME":"最后消费时间", - "TIME":"时间点", - "RESET":"重置", - "DATE":"日期", - "NO_DATA":"暂无数据", - "SEARCH":"搜索", - "BEGIN":"开始", - "END":"结束", - "TOPIC_CHANGE":"修改主题", - "SEND":"发送", - "SUBSCRIPTION_CHANGE":"修改订阅", - "QUEUE":"队列", - "MIN_OFFSET":"最小位点", - "MAX_OFFSET":"最大位点", - "LAST_UPDATE_TIME_STAMP":"上次更新时间", - "QUEUE_DATAS":"队列信息", - "READ_QUEUE_NUMS":"读队列数量", - "WRITE_QUEUE_NUMS":"写队列数量", - "PERM":"perm", - "TAG":"标签", - "KEY":"值", - "MESSAGE_BODY":"消息主体", - "TOPIC_NAME":"主题名", - "ORDER":"顺序", - "CONSUMER_CLIENT":"消费者终端", - "BROKER_OFFSET":"代理者位点", - "CONSUMER_OFFSET":"消费者位点", - "DIFF_TOTAL":"差值", - "LAST_TIME_STAMP":"上次时间", - "RESET_OFFSET":"重置位点", - "CLUSTER_NAME":"集群名", - "OPS":"运维", - "PROXY":"代理", - "AUTO_REFRESH":"自动刷新", - "REFRESH":"刷新", - "LOGOUT":"退出", - "LOGIN":"登录", - "USER_NAME":"用户名", - "PASSWORD":"密码", - "NO_DATA":"不存在 ", - "SYSTEM":"系统", - "WELCOME":"您好,欢迎使用RocketMQ仪表盘", - "ENABLE_MESSAGE_TRACE":"开启消息轨迹", - "MESSAGE_TRACE_DETAIL":"消息轨迹详情", - "TRACE_TOPIC":"消息轨迹主题", - "SELECT_TRACE_TOPIC":"选择消息轨迹主题", - "EXPORT": "导出", - "NO_MATCH_RESULT": "没有查到符合条件的结果", - "BATCH_RESEND": "批量重发", - "BATCH_EXPORT": "批量导出", - "WHITE_LIST":"白名单", - "ACCOUNT_INFO":"账户信息", - "IS_ADMIN":"是否管理员", - "DEFAULT_TOPIC_PERM":"topic默认权限", - "DEFAULT_GROUP_PERM":"消费组默认权限", - "TOPIC_PERM":"topic权限", - "GROUP_PERM":"消费组权限", - "SYNCHRONIZE":"同步", - "SHOW":"显示", - "HIDE":"隐藏", - "MESSAGE_TYPE":"消息类型", - "MESSAGE_TYPE_UNSPECIFIED": "未指定,为普通消息", - "MESSAGE_TYPE_NORMAL": "普通消息", - "MESSAGE_TYPE_FIFO": "顺序消息", - "MESSAGE_TYPE_DELAY": "定时/延时消息", - "MESSAGE_TYPE_TRANSACTION": "事务消息", - "UPDATE_TIME": "更新时间", -} diff --git a/src/main/resources/static/src/login.js b/src/main/resources/static/src/login.js deleted file mode 100644 index 5a5cbe3..0000000 --- a/src/main/resources/static/src/login.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -app.controller('loginController', ['$scope', '$location', '$http', 'Notification', '$cookies', '$window', function ($scope, $location, $http, Notification, $cookies, $window) { - $scope.login = function () { - if (!$("#username").val()) { - alert("用户名不能为空"); - return; - } - if (!$("#password").val()) { - alert("密码不能为空"); - return; - } - - $http({ - method: "POST", - url: "login/login.do", - params: {username: $("#username").val(), password: $("#password").val()} - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: 'Login successful, redirect now', delay: 2000}); - $window.sessionStorage.setItem("username", resp.data.loginUserName); - $window.sessionStorage.setItem("userrole", resp.data.loginUserRole); - window.location = resp.data.contextPath; - initFlag = false; - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; -}]); diff --git a/src/main/resources/static/src/message.js b/src/main/resources/static/src/message.js deleted file mode 100644 index c980d9e..0000000 --- a/src/main/resources/static/src/message.js +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var module = app; - -module.controller('messageController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.allTopicList = []; - $scope.selectedTopic = []; - $scope.key = ""; - $scope.messageId = ""; - $scope.queryMessageByTopicResult = []; - $scope.queryMessageByTopicAndKeyResult = []; - $scope.queryMessageByMessageIdResult = {}; - $http({ - method: "GET", - url: "topic/list.query", - params: { - skipSysProcess: true - } - }).success(function (resp) { - if (resp.status == 0) { - $scope.allTopicList = resp.data.topicList.sort(); - console.log($scope.allTopicList); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - $scope.timepickerBegin = moment().subtract(3, 'hour').format('YYYY-MM-DD HH:mm'); - $scope.timepickerEnd = moment().format('YYYY-MM-DD HH:mm'); - $scope.timepickerOptions = {format: 'YYYY-MM-DD HH:mm', showClear: true}; - - $scope.taskId = ""; - - $scope.paginationConf = { - currentPage: 1, - totalItems: 0, - itemsPerPage: 20, - pagesLength: 15, - perPageOptions: [10], - rememberPerPage: 'perPageItems', - onChange: function () { - $scope.queryMessagePageByTopic() - } - }; - - $scope.queryMessagePageByTopic = function () { - $("#noMsgTip").css("display", "none"); - if ($scope.timepickerEnd < $scope.timepickerBegin) { - Notification.error({message: "endTime is later than beginTime!", delay: 2000}); - return - } - if ($scope.selectedTopic === [] || (typeof $scope.selectedTopic) == "object") { - return - } - $http({ - method: "POST", - url: "message/queryMessagePageByTopic.query", - data: { - topic: $scope.selectedTopic, - begin: $scope.timepickerBegin.valueOf(), - end: $scope.timepickerEnd.valueOf(), - pageNum: $scope.paginationConf.currentPage, - pageSize: $scope.paginationConf.itemsPerPage, - taskId: $scope.taskId - } - }).success(function (resp) { - if (resp.status === 0) { - console.log(resp); - $scope.messageShowList = resp.data.page.content; - if ($scope.messageShowList.length == 0){ - $("#noMsgTip").removeAttr("style"); - } - if (resp.data.page.first) { - $scope.paginationConf.currentPage = 1; - } - $scope.paginationConf.currentPage = resp.data.page.number + 1; - $scope.paginationConf.totalItems = resp.data.page.totalElements; - $scope.taskId = resp.data.taskId - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - - $scope.queryMessageByTopic = function () { - console.log($scope.selectedTopic); - console.log($scope.timepickerBegin) - console.log($scope.timepickerEnd) - if ($scope.timepickerEnd < $scope.timepickerBegin) { - Notification.error({message: "endTime is later than beginTime!", delay: 2000}); - return - } - - $http({ - method: "GET", - url: "message/queryMessageByTopic.query", - params: { - topic: $scope.selectedTopic, - begin: $scope.timepickerBegin.valueOf(), - end: $scope.timepickerEnd.valueOf() - - } - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - $scope.queryMessageByTopicResult = resp.data; - $scope.changeShowMessageList(1, $scope.queryMessageByTopicResult.length); - // todo - // console.log($scope.queryMessageByTopicResult); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.queryMessageByTopicAndKey = function () { - console.log($scope.selectedTopic); - console.log($scope.key); - $http({ - method: "GET", - url: "message/queryMessageByTopicAndKey.query", - params: { - topic: $scope.selectedTopic, - key: $scope.key - } - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - $scope.queryMessageByTopicAndKeyResult = resp.data; - console.log($scope.queryMessageByTopicAndKeyResult); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.queryMessageByBrokerAndOffset = function (storeHost, commitLogOffset) { - $http({ - method: "GET", - url: "message/viewMessageByBrokerAndOffset.query", - params: { - brokerHost: storeHost.address, - port: storeHost.port, - offset: commitLogOffset - } - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - ngDialog.open({ - template: 'messageDetailViewDialog', - controller: 'messageDetailViewDialogController', - data: resp.data - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.queryMessageByMessageId = function (messageId, topic) { - $http({ - method: "GET", - url: "message/viewMessage.query", - params: { - msgId: messageId, - topic: topic - } - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - ngDialog.open({ - template: 'messageDetailViewDialog', - controller: 'messageDetailViewDialogController', - data: resp.data - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.changeShowMessageList = function (currentPage, totalItem) { - var perPage = $scope.paginationConf.itemsPerPage; - var from = (currentPage - 1) * perPage; - var to = (from + perPage) > totalItem ? totalItem : from + perPage; - $scope.messageShowList = $scope.queryMessageByTopicResult.slice(from, to); - $scope.paginationConf.totalItems = totalItem; - }; - - $scope.onChangeQueryCondition = function () { - console.log("change") - $scope.taskId = ""; - $scope.paginationConf.currentPage = 1; - $scope.paginationConf.totalItems = 0; - } -}]); - -module.controller('messageDetailViewDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.messageTrackList = $scope.ngDialogData.messageTrackList; - $scope.messageTrackShowList = $scope.ngDialogData.messageTrackList; - $scope.resendMessage = function (messageView, consumerGroup) { - var topic = messageView.topic; - var msgId = messageView.msgId; - console.log('===' + topic + '===' + msgId); - if (topic.startsWith('%DLQ%')) { - if (messageView.properties.hasOwnProperty("RETRY_TOPIC")) { - topic = messageView.properties.RETRY_TOPIC; - } - if (messageView.properties.hasOwnProperty("ORIGIN_MESSAGE_ID")) { - msgId = messageView.properties.ORIGIN_MESSAGE_ID; - } - - } - console.log('===' + topic + '===' + msgId); - $http({ - method: "POST", - url: "message/consumeMessageDirectly.do", - params: { - msgId: msgId, - consumerGroup: consumerGroup, - topic: topic - } - }).success(function (resp) { - if (resp.status == 0) { - ngDialog.open({ - template: 'operationResultDialog', - data: { - result: resp.data - } - }); - } else { - ngDialog.open({ - template: 'operationResultDialog', - data: { - result: resp.errMsg - } - }); - } - }); - }; - $scope.showExceptionDesc = function (errmsg) { - if (errmsg == null) { - errmsg = "Don't have Exception" - } - ngDialog.open({ - template: 'operationResultDialog', - data: { - result: errmsg - } - }); - }; - - $scope.filterConsumerGroup = ""; - $scope.$watch('filterConsumerGroup', function () { - const lowExceptStr = $scope.filterConsumerGroup.toLowerCase(); - const canShowList = []; - - $scope.messageTrackList.forEach(function (element) { - if (element.consumerGroup.toLowerCase().indexOf(lowExceptStr) != -1) { - canShowList.push(element); - } - }); - $scope.messageTrackShowList = canShowList; - }); - }] -); diff --git a/src/main/resources/static/src/messageTrace.js b/src/main/resources/static/src/messageTrace.js deleted file mode 100644 index 8cecc25..0000000 --- a/src/main/resources/static/src/messageTrace.js +++ /dev/null @@ -1,398 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var module = app; -const SUCCESS_COLOR = '#75d874'; -const ERROR_COLOR = 'red'; -const UNKNOWN_COLOR = 'yellow'; -const TRANSACTION_COMMIT_COLOR = SUCCESS_COLOR; -const TRANSACTION_ROLLBACK_COLOR = ERROR_COLOR; -const TRANSACTION_UNKNOWN_COLOR = 'grey' -const TIME_FORMAT_PATTERN = "YYYY-MM-DD HH:mm:ss.SSS"; -const DEFAULT_DISPLAY_DURATION = 10 * 1000 -// transactionTraceNode do not have costTime, assume it cost 50ms -const TRANSACTION_CHECK_COST_TIME = 50; -const RETRY_GROUP_TOPIC_PREFIX = "%RETRY%"; -const DLQ_GROUP_TOPIC_PREFIX = "%DLQ%"; -module.controller('messageTraceController', ['$scope', '$routeParams', 'ngDialog', '$http', 'Notification', function ($scope, $routeParams, ngDialog, $http, Notification) { - $scope.allTopicList = []; - $scope.selectedTopic = []; - $scope.allTraceTopicList = []; - $scope.selectedTraceTopic = []; - $scope.key = ""; - $scope.messageId = $routeParams.messageId; - $scope.queryMessageByTopicAndKeyResult = []; - $scope.queryMessageByMessageIdResult = {}; - $scope.queryMessageTraceListsByTopicAndKeyResult = []; - - $http({ - method: "GET", - url: "topic/list.query", - params: { - skipSysProcess: true - } - }).success(function (resp) { - if (resp.status == 0) { - $scope.allTopicList = resp.data.topicList.sort(); - console.log($scope.allTopicList) - for (const topic of $scope.allTopicList) { - if (topic.startsWith(RETRY_GROUP_TOPIC_PREFIX) - || topic.startsWith(DLQ_GROUP_TOPIC_PREFIX)) { - continue; - } - $scope.allTraceTopicList.push(topic); - } - console.log($scope.allTraceTopicList) - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - - $scope.timepickerBegin = moment().subtract(1, 'hour').format('YYYY-MM-DD HH:mm'); - $scope.timepickerEnd = moment().add(1, 'hour').format('YYYY-MM-DD HH:mm'); - $scope.timepickerOptions = {format: 'YYYY-MM-DD HH:mm', showClear: true}; - - $scope.queryMessageByTopicAndKey = function () { - console.log($scope.selectedTopic); - console.log($scope.key); - $http({ - method: "GET", - url: "message/queryMessageByTopicAndKey.query", - params: { - topic: $scope.selectedTopic, - key: $scope.key - } - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - $scope.queryMessageByTopicAndKeyResult = resp.data; - console.log($scope.queryMessageByTopicAndKeyResult); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.queryMessageByMessageId = function (messageId, topic) { - $http({ - method: "GET", - url: "messageTrace/viewMessage.query", - params: { - msgId: messageId, - topic: topic - } - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - $scope.queryMessageByMessageIdResult = resp.data; - console.log($scope.queryMessageByTopicAndKeyResult); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.queryMessageTraceByMessageId = function (messageId, topic) { - $http({ - method: "GET", - url: "messageTrace/viewMessageTraceGraph.query", - params: { - msgId: messageId, - traceTopic: topic - } - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - ngDialog.open({ - template: 'messageTraceDetailViewDialog', - controller: 'messageTraceDetailViewDialogController', - data: resp.data - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; -}]); - -module.controller('messageTraceDetailViewDialogController', ['$scope', '$timeout', 'ngDialog', '$http', 'Notification', function ($scope, $timeout, ngDialog, $http, Notification) { - $scope.displayMessageTraceGraph = function (messageTraceGraph) { - let dom = document.getElementById("messageTraceGraph"); - $scope.messageTraceGraph = echarts.init(dom); - let option; - let data = []; - let dataZoomEnd = 100; - let startTime = Number.MAX_VALUE; - let endTime = 0; - let messageGroups = []; - if (messageTraceGraph.producerNode) { - startTime = +messageTraceGraph.producerNode.traceNode.beginTimestamp; - endTime = +messageTraceGraph.producerNode.traceNode.endTimestamp; - } - - function buildNodeColor(traceNode) { - if (traceNode.transactionState != null) { - switch (traceNode.transactionState) { - case 'COMMIT_MESSAGE': - return TRANSACTION_COMMIT_COLOR; - case 'ROLLBACK_MESSAGE': - return TRANSACTION_ROLLBACK_COLOR; - case 'UNKNOW': - return TRANSACTION_UNKNOWN_COLOR; - default: - return ERROR_COLOR; - } - } - switch (traceNode.status) { - case 'failed': - return ERROR_COLOR; - case 'unknown': - return UNKNOWN_COLOR; - default: - return SUCCESS_COLOR; - } - } - - function formatXAxisTime(value) { - let duration = Math.max(0, value - startTime); - if (duration < 1000) - return timeFormat(duration, 'ms'); - duration /= 1000; - if (duration < 60) - return timeFormat(duration, 's'); - duration /= 60; - if (duration < 60) - return timeFormat(duration, 'min'); - duration /= 60; - return timeFormat(duration, 'h'); - } - - function timeFormat(duration, unit) { - return duration.toFixed(2) + unit; - } - - - function buildTraceInfo(itemName, itemValue) { - if (itemValue) { - return `${itemName}: ${itemValue}
` - } - return ""; - } - - function formatCostTimeStr(costTime) { - if (costTime < 0) { - return ""; - } - let costTimeStr = costTime; - if (costTime === 0) { - costTimeStr = '<1' - } - return `${costTimeStr}ms`; - } - - function buildCostTimeInfo(costTime) { - if (costTime < 0) { - return ""; - } - return `costTime: ${formatCostTimeStr(costTime)}
` - } - function buildTimeStamp(timestamp){ - if(timestamp < 0){ - return 'N/A'; - } - return new moment(timestamp).format(TIME_FORMAT_PATTERN); - } - - function formatNodeToolTip(params) { - let traceNode = params.data.traceData.traceNode; - return ` - ${buildCostTimeInfo(traceNode.costTime)} - status: ${traceNode.status}
- ${buildTraceInfo('beginTimestamp', buildTimeStamp(traceNode.beginTimestamp))} - ${buildTraceInfo('endTimestamp', buildTimeStamp(traceNode.endTimestamp))} - clientHost: ${traceNode.clientHost}
- storeHost: ${traceNode.storeHost}
- retryTimes: ${traceNode.retryTimes < 0 ? 'N/A' : traceNode.retryTimes}
- ${buildTraceInfo('msgType', traceNode.msgType)} - ${buildTraceInfo('transactionId', traceNode.transactionId)} - ${buildTraceInfo('transactionState', traceNode.transactionState)} - ${buildTraceInfo('fromTransactionCheck', traceNode.fromTransactionCheck)} - `; - } - - function calcGraphTimestamp(timestamp, relativeTimeStamp, duration, addDuration) { - if (timestamp > 0) { - return timestamp; - } - if (duration < 0) { - return relativeTimeStamp; - } - return addDuration ? relativeTimeStamp + duration : relativeTimeStamp - duration; - } - - function addTraceData(traceNode, index) { - if (traceNode.beginTimestamp < 0 && traceNode.endTimestamp < 0) { - return; - } - let beginTimestamp = calcGraphTimestamp(traceNode.beginTimestamp, traceNode.endTimestamp, traceNode.costTime, false); - let endTimestamp = calcGraphTimestamp(traceNode.endTimestamp, traceNode.beginTimestamp, traceNode.costTime, true); - if (endTimestamp === beginTimestamp) { - endTimestamp = beginTimestamp + 1; - } - console.log("beginTimestamp",beginTimestamp,'endTimestamp',endTimestamp); - data.push({ - value: [ - index, - beginTimestamp, - endTimestamp, - traceNode.costTime - ], - itemStyle: { - normal: { - color: buildNodeColor(traceNode), - opacity: 1 - } - }, - traceData: { - traceNode: traceNode - } - }); - startTime = Math.min(startTime, beginTimestamp); - endTime = Math.max(endTime, endTimestamp); - } - - messageTraceGraph.subscriptionNodeList.forEach(item => { - messageGroups.push(item.subscriptionGroup) - }) - messageTraceGraph.subscriptionNodeList.forEach((subscriptionNode, index) => { - subscriptionNode.consumeNodeList.forEach(traceNode => addTraceData(traceNode, index)) - }) - if (messageTraceGraph.producerNode) { - messageGroups.push(messageTraceGraph.producerNode.groupName) - let producerNodeIndex = messageGroups.length - 1; - addTraceData(messageTraceGraph.producerNode.traceNode, producerNodeIndex); - messageTraceGraph.producerNode.transactionNodeList.forEach(transactionNode => { - transactionNode.beginTimestamp = Math.max(messageTraceGraph.producerNode.traceNode.endTimestamp, - transactionNode.endTimestamp - TRANSACTION_CHECK_COST_TIME); - addTraceData(transactionNode, producerNodeIndex) - endTime = Math.max(endTime, transactionNode.endTimestamp); - }) - } - let totalDuration = endTime - startTime; - if (totalDuration > DEFAULT_DISPLAY_DURATION) { - dataZoomEnd = DEFAULT_DISPLAY_DURATION / totalDuration * 100 - } - - function renderItem(params, api) { - let messageGroup = api.value(0); - let start = api.coord([api.value(1), messageGroup]); - let end = api.coord([api.value(2), messageGroup]); - let height = api.size([0, 1])[1] * 0.6; - - let rectShape = echarts.graphic.clipRectByRect({ - x: start[0], - y: start[1] - height / 2, - width: Math.max(end[0] - start[0], 1), - height: height - }, { - x: params.coordSys.x, - y: params.coordSys.y, - width: params.coordSys.width, - height: params.coordSys.height - }); - - return rectShape && { - type: 'rect', - transition: ['shape'], - shape: rectShape, - style: api.style({ - text: formatCostTimeStr(api.value(3)), - textFill: '#000' - }) - }; - } - - option = { - tooltip: { - formatter: function (params) { - return formatNodeToolTip(params); - } - }, - title: { - text: messageTraceGraph.producerNode ? messageTraceGraph.producerNode.topic : "", - left: 'center' - }, - dataZoom: [{ - type: 'slider', - filterMode: 'weakFilter', - showDataShadow: false, - top: 400, - start: 0, - end: dataZoomEnd, - labelFormatter: '' - }, { - type: 'inside', - filterMode: 'weakFilter' - } - ], - grid: { - height: 300 - }, - xAxis: { - min: startTime, - scale: true, - axisLabel: { - formatter: function (value) { - return formatXAxisTime(value) - } - } - }, - yAxis: { - data: messageGroups - }, - series: [{ - type: 'custom', - renderItem: renderItem, - itemStyle: { - opacity: 0.8 - }, - encode: { - x: [1, 2], - y: 0 - }, - data: data - }] - }; - $scope.messageTraceGraph.setOption(option); - } - $scope.showGraph = function () { - $scope.displayMessageTraceGraph($scope.ngDialogData); - }; - - function initGraph() { - $timeout(function () { - if (document.getElementById('messageTraceGraph') == null) { - initGraph(); - } else { - $scope.showGraph(); - } - }, 50); - } - - initGraph(); - }] -); \ No newline at end of file diff --git a/src/main/resources/static/src/ops.js b/src/main/resources/static/src/ops.js deleted file mode 100644 index 034db9b..0000000 --- a/src/main/resources/static/src/ops.js +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -app.controller('opsController', ['$scope', '$location', '$http', 'Notification', 'remoteApi', 'tools', '$window', function ($scope, $location, $http, Notification, remoteApi, tools, $window) { - $scope.namesvrAddrList = []; - $scope.useVIPChannel = true; - $scope.useTLS = false; - $scope.userRole = $window.sessionStorage.getItem("userrole"); - $scope.writeOperationEnabled = $scope.userRole == null ? true : ($scope.userRole == 1 ? true : false); - $scope.inputReadonly = !$scope.writeOperationEnabled; - $scope.newNamesrvAddr = ""; - $http({ - method: "GET", - url: "ops/homePage.query" - }).success(function (resp) { - if (resp.status == 0) { - $scope.namesvrAddrList = resp.data.namesvrAddrList; - $scope.useVIPChannel = resp.data.useVIPChannel; - $scope.useTLS = resp.data.useTLS; - $scope.selectedNamesrv = resp.data.currentNamesrv; - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - - $scope.eleChange = function (data){ - $scope.namesvrAddrList = data; - } - - $scope.updateNameSvrAddr = function () { - $http({ - method: "POST", - url: "ops/updateNameSvrAddr.do", - params: {nameSvrAddrList: $scope.selectedNamesrv} - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "SUCCESS", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.addNameSvrAddr = function () { - $http({ - method: "POST", - url: "ops/addNameSvrAddr.do", - params: {newNamesrvAddr: $scope.newNamesrvAddr} - }).success(function (resp) { - if (resp.status == 0) { - if ($scope.namesvrAddrList.indexOf($scope.newNamesrvAddr) == -1) { - $scope.namesvrAddrList.push($scope.newNamesrvAddr); - } - $("#namesrvAddr").val(""); - $scope.newNamesrvAddr = ""; - Notification.info({message: "SUCCESS", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.updateIsVIPChannel = function () { - $http({ - method: "POST", - url: "ops/updateIsVIPChannel.do", - params: {useVIPChannel: $scope.useVIPChannel} - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "SUCCESS", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - $scope.updateUseTLS = function () { - $http({ - method: "POST", - url: "ops/updateUseTLS.do", - params: {useTLS: $scope.useTLS} - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "SUCCESS", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } -}]); diff --git a/src/main/resources/static/src/producer.js b/src/main/resources/static/src/producer.js deleted file mode 100644 index bdbb605..0000000 --- a/src/main/resources/static/src/producer.js +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var module = app; -module.controller('producerController', ['$scope', '$http','Notification',function ($scope, $http,Notification) { - $scope.selectedTopic=[]; - $scope.producerGroup=""; - $http({ - method: "GET", - url: "topic/list.query", - params:{ - skipSysProcess: true - } - }).success(function (resp) { - if(resp.status ==0){ - $scope.allTopicList = resp.data.topicList.sort(); - console.log($scope.allTopicList); - }else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - $scope.queryClientByTopicAndGroup = function () { - $http({ - method: "GET", - url: "producer/producerConnection.query", - params:{ - topic:$scope.selectedTopic, - producerGroup:$scope.producerGroup - } - }).success(function (resp) { - if(resp.status ==0){ - $scope.connectionList = resp.data.connectionSet; - }else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } -} ]); \ No newline at end of file diff --git a/src/main/resources/static/src/proxy.js b/src/main/resources/static/src/proxy.js deleted file mode 100644 index 4461b09..0000000 --- a/src/main/resources/static/src/proxy.js +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -var module = app; -module.controller('proxyController', ['$scope', '$location', '$http', 'Notification', 'remoteApi', 'tools', '$window', - function ($scope, $location, $http, Notification, remoteApi, tools, $window) { - $scope.proxyAddrList = []; - $scope.userRole = $window.sessionStorage.getItem("userrole"); - $scope.writeOperationEnabled = $scope.userRole == null ? true : ($scope.userRole == 1 ? true : false); - $scope.inputReadonly = !$scope.writeOperationEnabled; - $scope.newProxyAddr = ""; - $scope.allProxyConfig = {}; - - $http({ - method: "GET", - url: "proxy/homePage.query" - }).success(function (resp) { - if (resp.status == 0) { - $scope.proxyAddrList = resp.data.proxyAddrList; - $scope.selectedProxy = resp.data.currentProxyAddr; - $scope.showProxyDetailConfig($scope.selectedProxy); - localStorage.setItem('proxyAddr',$scope.selectedProxy); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - - $scope.eleChange = function (data) { - $scope.proxyAddrList = data; - } - $scope.showDetailConf = function () { - $(".proxyModal").modal(); - } - - - $scope.showProxyDetailConfig = function (proxyAddr) { - $http({ - method: "GET", - url: "proxy/proxyDetailConfig.query", - params: {proxyAddress: proxyAddr} - }).success(function (resp) { - if (resp.status == 0) { - $scope.allProxyConfig = resp.data; - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.updateProxyAddr = function () { - $http({ - method: "POST", - url: "proxy/updateProxyAddr.do", - params: {proxyAddr: $scope.selectedProxy} - }).success(function (resp) { - if (resp.status == 0) { - localStorage.setItem('proxyAddr', $scope.selectedProxy); - Notification.info({message: "SUCCESS", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - $scope.showProxyDetailConfig($scope.selectedProxy); - }; - - $scope.addProxyAddr = function () { - $http({ - method: "POST", - url: "proxy/addProxyAddr.do", - params: {newProxyAddr: $scope.newProxyAddr} - }).success(function (resp) { - if (resp.status == 0) { - if ($scope.proxyAddrList.indexOf($scope.newProxyAddr) == -1) { - $scope.proxyAddrList.push($scope.newProxyAddr); - } - $("#proxyAddr").val(""); - $scope.newProxyAddr = ""; - Notification.info({message: "SUCCESS", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - }]) diff --git a/src/main/resources/static/src/remoteApi/remoteApi.js b/src/main/resources/static/src/remoteApi/remoteApi.js deleted file mode 100644 index e1accdc..0000000 --- a/src/main/resources/static/src/remoteApi/remoteApi.js +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -app.service('remoteApi', ['$http','tools', function ($http,tools) { - var queryTopic = function(callback){ - $http({ - method: "GET", - url: "topic/list.query" - }).success(callback); - } - - var queryClusterList = function(callback){ - $http({ - method: "GET", - url: "cluster/list.query" - }).success(callback); - } - - var queryBrokerHisData = function(date,callback){ - var url = 'dashboard/broker.query'; - var data = {date:date}; - var setting = { - type: "GET", - data:data, - timeout:15000,//data is too large,so master set time out is long enough - success:callback - } - $.ajax(url,setting) - } - - var queryTopicHisData = function(date,topicName,callback){ - var url = 'dashboard/topic.query'; - var data = {date:date,topicName:topicName}; - var setting = { - type: "GET", - data:data, - timeout:15000,//data is too large,so master set time out is long enough - success:callback - } - $.ajax(url,setting) - } - - var queryTopicCurrentData = function(callback){ - var url = 'dashboard/topicCurrent.query'; - var setting = { - type: "GET", - timeout:15000,//data is too large,so master set time out is long enough - success:callback - } - $.ajax(url,setting) - } - - - return { - queryTopic:queryTopic, - queryClusterList:queryClusterList, - queryBrokerHisData:queryBrokerHisData, - queryTopicHisData:queryTopicHisData, - queryTopicCurrentData:queryTopicCurrentData - } -}]) - diff --git a/src/main/resources/static/src/tools/tools.js b/src/main/resources/static/src/tools/tools.js deleted file mode 100644 index 9ab5ae7..0000000 --- a/src/main/resources/static/src/tools/tools.js +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -app.service('tools', ['$http', function ($http) { - - var ctx = ""; - var dashboardRefreshTime = 5000; // todo improve. when data size is large,request is too slow - - var generateBrokerMap = function (brokerServer, clusterAddrTable, brokerAddrTable) { - var map = {}; - $.each(brokerServer, function (brokerName, brokerStatusList) { // broker - $.each(clusterAddrTable, function (clusterName, brokerNameList) { //clusterAddrTable - if (angular.isUndefined(map[clusterName])) { - map[clusterName] = []; - } - $.each(brokerNameList, function (listIndex, clusterBrokerName) { - if (clusterBrokerName == brokerName) { - $.each(brokerStatusList, function (index, brokerStatus) { - brokerStatus.split = brokerName; - brokerStatus.index = index; - brokerStatus.address = brokerAddrTable[clusterBrokerName].brokerAddrs[index]; - brokerStatus.brokerName = brokerAddrTable[clusterBrokerName].brokerName; - map[clusterName].push(brokerStatus); - }) - } - }) - }) - }); - return map; - }; - - var fastSort = function (arrayToSort, propertyToSortWith, sortDirection) { - // temporary holder of position and sort-value - var map = arrayToSort.map(function (e, i) { - if (typeof e[propertyToSortWith] === 'string') { - return { index: i, value: e[propertyToSortWith].toLowerCase() }; - } - else { - return { index: i, value: e[propertyToSortWith] }; - } - - }) - - // sorting the map containing the reduced values - map.sort(function (a, b) { - if (sortDirection === "ascending") { - return +(a.value > b.value) || +(a.value === b.value) - 1; - } - else { - return +(a.value < b.value) || +(a.value === b.value) - 1; - } - - }); - - // container for the resulting order - var result = map.map(function (e) { - return arrayToSort[e.index]; - }); - return result; - }; - - return { - generateBrokerMap:generateBrokerMap, - fastSort:fastSort, - ctx:ctx, - dashboardRefreshTime:dashboardRefreshTime - } -}]) - - - diff --git a/src/main/resources/static/src/topic.js b/src/main/resources/static/src/topic.js deleted file mode 100644 index 13c3dbb..0000000 --- a/src/main/resources/static/src/topic.js +++ /dev/null @@ -1,566 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var module = app; - -module.directive('ngConfirmClick', [ - function () { - return { - link: function (scope, element, attr) { - var msg = attr.ngConfirmClick || "Are you sure?"; - var clickAction = attr.confirmedClick; - element.bind('click', function (event) { - if (window.confirm(msg)) { - scope.$eval(clickAction) - } - }); - } - }; - }]); -module.controller('topicController', ['$scope', 'ngDialog', '$http', 'Notification', '$window', function ($scope, ngDialog, $http, Notification, $window) { - $scope.paginationConf = { - currentPage: 1, - totalItems: 0, - itemsPerPage: 10, - pagesLength: 15, - perPageOptions: [10], - rememberPerPage: 'perPageItems', - onChange: function () { - $scope.showTopicList(this.currentPage, this.totalItems); - - } - }; - $scope.filterNormal = true - $scope.filterDelay = false - $scope.filterFifo = false - $scope.filterTransaction = false - $scope.filterUnspecified = false - $scope.filterRetry = false - $scope.filterDLQ = false - $scope.filterSystem = false - $scope.allTopicList = []; - $scope.allTopicNameList = []; - $scope.allMessageTypeList = []; - $scope.topicShowList = []; - $scope.userRole = $window.sessionStorage.getItem("userrole"); - $scope.writeOperationEnabled = $scope.userRole == null ? true : ($scope.userRole == 1 ? true : false); - - $scope.getTopicList = function () { - $http({ - method: "GET", - url: "topic/list.queryTopicType" - }).success(function (resp) { - if (resp.status == 0) { - $scope.allTopicNameList = resp.data.topicNameList; - $scope.allMessageTypeList = resp.data.messageTypeList; - console.log($scope.allTopicNameList); - console.log(JSON.stringify(resp)); - $scope.showTopicList(1, $scope.allTopicNameList.length); - - } else { - Notification.error({message: resp.errMsg, delay: 5000}); - } - }); - }; - - $scope.refreshTopicList = function () { - $http({ - method: "POST", - url: "topic/refresh" - }).success(function (resp) { - if (resp.status == 0 && resp.data == true) { - $http({ - method: "GET", - url: "topic/list.queryTopicType" - }).success(function (resp1) { - if (resp1.status == 0) { - $scope.allTopicNameList = resp1.data.topicNameList; - $scope.allMessageTypeList = resp1.data.messageTypeList; - console.log($scope.allTopicNameList); - console.log(JSON.stringify(resp1)); - $scope.showTopicList(1, $scope.allTopicNameList.length); - } else { - Notification.error({message: resp1.errMsg, delay: 5000}); - } - }); - - } else { - Notification.error({message: resp.errMsg, delay: 5000}); - } - }); - }; - - $scope.getTopicList(); - - $scope.filterStr = ""; - $scope.$watch('filterStr', function () { - $scope.filterList(1); - }); - $scope.$watch('filterNormal', function () { - $scope.filterList(1); - }); - $scope.$watch('filterFifo', function () { - $scope.filterList(1); - }); - $scope.$watch('filterTransaction', function () { - $scope.filterList(1); - }); - $scope.$watch('filterUnspecified', function () { - $scope.filterList(1); - }); - $scope.$watch('filterDelay', function () { - $scope.filterList(1); - }); - $scope.$watch('filterRetry', function () { - $scope.filterList(1); - }); - $scope.$watch('filterDLQ', function () { - $scope.filterList(1); - }); - $scope.$watch('filterSystem', function () { - $scope.filterList(1); - }); - $scope.filterList = function (currentPage) { - var lowExceptStr = $scope.filterStr.toLowerCase(); - var canShowList = []; - - for (let i = 0; i < $scope.allTopicNameList.length; ++i) { - if ($scope.filterByType($scope.allTopicNameList[i], $scope.allMessageTypeList[i])) { - if ($scope.allTopicNameList[i].toLowerCase().indexOf(lowExceptStr) != -1) { - canShowList.push($scope.allTopicNameList[i]); - } - } - } - $scope.paginationConf.totalItems = canShowList.length; - var perPage = $scope.paginationConf.itemsPerPage; - var from = (currentPage - 1) * perPage; - var to = (from + perPage) > canShowList.length ? canShowList.length : from + perPage; - $scope.topicShowList = canShowList.slice(from, to); - }; - - $scope.filterByType = function (str, type) { - if ($scope.filterRetry) { - if (type.includes("RETRY")) { - return true - } - } - if ($scope.filterDLQ) { - if (type.includes("DLQ")) { - return true - } - } - if ($scope.filterSystem) { - if (type.includes("SYSTEM")) { - return true - } - } - if ($scope.isRmqVersionV5() && $scope.filterUnspecified) { - if (type.includes("UNSPECIFIED")) { - return true - } - } - if ($scope.filterNormal) { - if (type.includes("NORMAL")) { - return true - } - if (!$scope.isRmqVersionV5() && type.includes("UNSPECIFIED")) { - return true - } - } - if ($scope.isRmqVersionV5() && $scope.filterDelay) { - if (type.includes("DELAY")) { - return true - } - } - if ($scope.isRmqVersionV5() && $scope.filterFifo) { - if (type.includes("FIFO")) { - return true - } - } - if ($scope.isRmqVersionV5() && $scope.filterTransaction) { - if (type.includes("TRANSACTION")) { - return true - } - } - return false; - }; - - $scope.showTopicList = function (currentPage, totalItem) { - if ($scope.filterStr != "") { - $scope.filterList(currentPage); - return; - } - var perPage = $scope.paginationConf.itemsPerPage; - var from = (currentPage - 1) * perPage; - var to = (from + perPage) > totalItem ? totalItem : from + perPage; - console.log($scope.allTopicNameList); - console.log(from) - console.log(to) - $scope.topicShowList = $scope.allTopicNameList.slice(from, to); - $scope.paginationConf.totalItems = totalItem; - console.log($scope.topicShowList) - console.log($scope.paginationConf.totalItems) - $scope.filterList(currentPage); - }; - $scope.deleteTopic = function (topic) { - $http({ - method: "POST", - url: "topic/deleteTopic.do", - params: { - topic: topic - } - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "delete success!", delay: 2000}); - $scope.refreshTopicList(); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - $scope.statsView = function (topic) { - $http({ - method: "GET", - url: "topic/stats.query", - params: {topic: topic} - }).success(function (resp) { - if (resp.status == 0) { - console.log(JSON.stringify(resp)); - ngDialog.open({ - template: 'statsViewDialog', - trapFocus: false, - data: { - topic: topic, - statsData: resp.data - } - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }) - }; - $scope.routerView = function (topic) { - $http({ - method: "GET", - url: "topic/route.query", - params: {topic: topic} - }).success(function (resp) { - if (resp.status == 0) { - console.log(JSON.stringify(resp)); - ngDialog.open({ - template: 'routerViewDialog', - controller: 'routerViewDialogController', - trapFocus: false, - data: { - topic: topic, - routeData: resp.data - } - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }) - }; - - - $scope.consumerView = function (topic) { - $http({ - method: "GET", - url: "topic/queryConsumerByTopic.query", - params: {topic: topic} - }).success(function (resp) { - if (resp.status == 0) { - console.log(JSON.stringify(resp)); - ngDialog.open({ - template: 'consumerViewDialog', - data: { - topic: topic, - consumerData: resp.data, - consumerGroupCount: Object.keys(resp.data).length - } - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }) - }; - $scope.openDeleteTopicDialog = function (topic) { - ngDialog.open({ - template: 'deleteTopicDialog', - controller: 'deleteTopicDialogController', - data: { - topic: topic, - consumerData: "asd" - } - }); - }; - - $scope.openConsumerResetOffsetDialog = function (topic) { - - $http({ - method: "GET", - url: "topic/queryTopicConsumerInfo.query", - params: { - topic: topic - } - }).success(function (resp) { - if (resp.status == 0) { - if (resp.data.groupList == null) { - Notification.error({message: "don't have consume group!", delay: 2000}); - return - } - ngDialog.open({ - template: 'consumerResetOffsetDialog', - controller: 'consumerResetOffsetDialogController', - data: { - topic: topic, - selectedConsumerGroup: [], - allConsumerGroupList: resp.data.groupList - } - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - - }; - - $scope.openSkipMessageAccumulateDialog = function (topic) { - $http({ - method: "GET", - url: "topic/queryTopicConsumerInfo.query", - params: { - topic: topic - } - }).success(function (resp) { - if (resp.status == 0) { - if (resp.data.groupList == null) { - Notification.error({message: "don't have consume group!", delay: 2000}); - return - } - ngDialog.open({ - template: 'skipMessageAccumulateDialog', - controller: 'skipMessageAccumulateDialogController', - data: { - topic: topic, - selectedConsumerGroup: [], - allConsumerGroupList: resp.data.groupList - } - }); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.openSendTopicMessageDialog = function (topic) { - ngDialog.open({ - template: 'sendTopicMessageDialog', - controller: 'sendTopicMessageDialogController', - data: { - topic: topic - } - }); - }; - - $scope.openUpdateDialog = function (topic, sysFlag) { - $http({ - method: "GET", - url: "topic/examineTopicConfig.query", - params: { - topic: topic - } - }).success(function (resp) { - if (resp.status == 0) { - $scope.openCreateOrUpdateDialog(resp.data, sysFlag); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - }; - - $scope.openCreateOrUpdateDialog = function (request, sysFlag) { - var bIsUpdate = true; - if (request == null) { - request = [{ - writeQueueNums: 8, - readQueueNums: 8, - perm: 6, - order: false, - topicName: "", - brokerNameList: [] - }]; - bIsUpdate = false; - } - $http({ - method: "GET", - url: "cluster/list.query" - }).success(function (resp) { - if (resp.status == 0) { - console.log(resp); - ngDialog.open({ - template: 'topicModifyDialog', - controller: 'topicModifyDialogController', - data: { - sysFlag: sysFlag, - topicRequestList: request, - allClusterNameList: Object.keys(resp.data.clusterInfo.clusterAddrTable), - allBrokerNameList: Object.keys(resp.data.brokerServer), - allMessageTypeList: resp.data.messageTypes, - bIsUpdate: bIsUpdate, - writeOperationEnabled: $scope.writeOperationEnabled - } - }); - } - }); - } - - $scope.openAddDialog = function () { - $scope.openCreateOrUpdateDialog(null, false); - } - -}]); - -module.controller('topicModifyDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.postTopicRequest = function (topicRequestItem) { - console.log(topicRequestItem); - var request = JSON.parse(JSON.stringify(topicRequestItem)); - console.log(request); - $http({ - method: "POST", - url: "topic/createOrUpdate.do", - data: request - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "success!", delay: 2000}); - ngDialog.close(this); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }); - } - }] -); -module.controller('consumerResetOffsetDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.timepicker = {}; - $scope.timepicker.date = moment().format('YYYY-MM-DD HH:mm'); - $scope.timepicker.options = {format: 'YYYY-MM-DD HH:mm', showClear: true}; - $scope.resetOffset = function () { - console.log($scope.timepicker.date); - console.log($scope.timepicker.date.valueOf()); - console.log($scope.ngDialogData.selectedConsumerGroup); - $http({ - method: "POST", - url: "consumer/resetOffset.do", - data: { - resetTime: $scope.timepicker.date.valueOf(), - consumerGroupList: $scope.ngDialogData.selectedConsumerGroup, - topic: $scope.ngDialogData.topic, - force: true - } - }).success(function (resp) { - if (resp.status == 0) { - ngDialog.open({ - template: 'resetOffsetResultDialog', - data: { - result: resp.data - } - }); - ngDialog.close(this); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }) - } - }] -); - -module.controller('skipMessageAccumulateDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.skipAccumulate = function () { - console.log($scope.ngDialogData.selectedConsumerGroup); - $http({ - method: "POST", - url: "consumer/skipAccumulate.do", - data: { - resetTime: -1, - consumerGroupList: $scope.ngDialogData.selectedConsumerGroup, - topic: $scope.ngDialogData.topic, - force: true - } - }).success(function (resp) { - if (resp.status == 0) { - ngDialog.open({ - template: 'resetOffsetResultDialog', - data: { - result: resp.data - } - }); - ngDialog.close(this); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }) - } - }] -); - -module.controller('sendTopicMessageDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.sendTopicMessage = { - topic: $scope.ngDialogData.topic, - key: "key", - tag: "tag", - messageBody: "messageBody", - traceEnabled: false - }; - $scope.send = function () { - $http({ - method: "POST", - url: "topic/sendTopicMessage.do", - data: $scope.sendTopicMessage - }).success(function (resp) { - if (resp.status == 0) { - ngDialog.open({ - template: 'sendResultDialog', - data: { - result: resp.data - } - }); - ngDialog.close(this); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }) - } - }] -); - -module.controller('routerViewDialogController', ['$scope', 'ngDialog', '$http', 'Notification', function ($scope, ngDialog, $http, Notification) { - $scope.deleteTopicByBroker = function (broker) { - $http({ - method: "POST", - url: "topic/deleteTopicByBroker.do", - params: {brokerName: broker.brokerName, topic: $scope.ngDialogData.topic} - }).success(function (resp) { - if (resp.status == 0) { - Notification.info({message: "delete success", delay: 2000}); - } else { - Notification.error({message: resp.errMsg, delay: 2000}); - } - }) - }; - }] -); diff --git a/src/main/resources/static/style/animate.css b/src/main/resources/static/style/animate.css deleted file mode 100644 index 596ef5c..0000000 --- a/src/main/resources/static/style/animate.css +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -.view { -} - -.view .ng-enter { - overflow-y: auto; -} - -.view .ng-leave { - opacity: 0; - -webkit-transition: opacity .2s linear; - transition: opacity 0.2s linear; -} - -.ng-hide-add { - transform: rotateZ(0); - transform-origin: right; - transition: all 0.2s ease-in-out; -} - -.ng-hide-add.ng-hide-add-active { - transform: rotateZ(-135deg); -} - -.ng-hide-remove { - transform: rotateY(90deg); - transform-origin: left; - transition: all 0.2s ease; -} - -.ng-hide-remove.ng-hide-remove-active { - transform: rotateY(0); -} diff --git a/src/main/resources/static/style/app.css b/src/main/resources/static/style/app.css deleted file mode 100644 index ee64d9b..0000000 --- a/src/main/resources/static/style/app.css +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Write your styles */ -.scrollTo { - position: fixed; - right: 50px; - bottom: 70px; - z-index: 999; -} - -/*.icon_u_c{background:url(/app/img/icon_user_center.png) no-repeat left top;}*/ -.icon { - float: left; - width: 24px; - height: 24px; - display: inline-block; - margin: 10px 18px 0 5px; -} -.icon_alipay { - background:url("/style/img/alipay.png") no-repeat left top; - height:100px; - width: 100px; - margin-top: -40px; -} - -.icon_alipay_active { - background:url("/style/img/alipay_active.png") no-repeat left top; - height:100px; - width: 100px; - margin-top: -40px; -} - -.icon_weipay { - background:url("/style/img/weipay.png") no-repeat left top; - height:100px; - width: 100px; - margin-top: -40px; -} - -.icon_weipay_active { - background:url("/style/img/weipay_active.png") no-repeat left top; - height:100px; - width: 100px; - margin-top: -40px; -} - -.round { - background:#5bc0de; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius:5px; - color: #FFFFFF; -} - - -/* ANIMATIONS -============================================================================= */ - -/* leaving animations ----------------------------------------- */ -/* rotate and fall */ -@keyframes rotateFall { - 0% { transform: rotateZ(0deg); } - 20% { transform: rotateZ(10deg); animation-timing-function: ease-out; } - 40% { transform: rotateZ(17deg); } - 60% { transform: rotateZ(16deg); } - 100% { transform: translateY(100%) rotateZ(17deg); } -} - -/* slide in from the bottom */ -@keyframes slideOutLeft { - to { transform: translateX(-100%); } -} - -/*!* rotate out newspaper *!*/ -@keyframes rotateOutNewspaper { - to { transform: translateZ(-3000px) rotateZ(360deg); opacity: 0; } -} - -/* entering animations --------------------------------------- */ -/* scale up */ -@keyframes scaleUp { - from { opacity: 0.3; -webkit-transform: scale(0.8); } -} - -/* slide in from the right */ -@keyframes slideInRight { - from { transform:translateX(100%); } - to { transform: translateX(0); } -} - -/* slide in from the bottom */ -@keyframes slideInUp { - from { transform:translateY(100%); } - to { transform: translateY(0); } -} - -.ng-enter { animation: scaleUp 0.5s both ease-in; z-index: 8888; } -.ng-leave { animation: slideOutLeft 0.2s both ease-in; z-index: 9999; } - - - - -.managerList { - list-style:none; - position: relative; - width: 100%; - margin-left: 20px; -} - -.managerList > li { - width: 95%; - margin-top:10px; -} - -.managerList ul { - list-style-type:none; - float:left; - padding: 0; -} - -.managerList li { - list-style-type:none; - float:left; - padding: 0; -} - -.managerList .head { - width: 90%; -} - -.managerList .footer { - width: 90%; - margin-top: 10px; - margin-left: 50px; -} - -.managerList .checkbox { - width: 50px; -} - -.managerList .liCheck { - width: 50px; -} - -.managerList .liContent { - width: 90%; -} - -.managerList .preview { - width: 50%; - margin-left: 50px; - margin-top: 10px; -} - -.managerList .logo { - margin-top: 9px; - width: 50px; -} - -.managerList .content{ - width: 50%; -} - -.managerList .content ul{ - width: 90%; -} - -.managerList .butt{ - /*width: 20%;*/ -} - -.badgeCustomer { - background-color:#f44336; - margin-top:23px; -} - -.chatPanel { - width: 90%; - float: left; - border: 1px solid #d4d4d4; - border-radius: 2px; - padding: 20px; - position: relative; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); - float: right; -} - -.chatPanel:after{ - position: absolute; - top: 27px; - right: -14px; - display: inline-block; - border-top: 14px solid transparent; - border-left: 14px solid #fff; - border-right: 0 solid #fff; - border-bottom: 14px solid transparent; - content: " "; -} - -.chatPanel:before{ - position: absolute; - top: 26px; - right: -15px; - display: inline-block; - border-top: 15px solid transparent; - border-left: 15px solid #ccc; - border-right: 0 solid #ccc; - border-bottom: 15px solid transparent; - content: " "; -} - -.chatPanel-left { - float: left; -} -.chatPanel-left:before { - border-left-width: 0; - border-right-width: 15px; - left: -15px; - right: auto; -} -.chatPanel-left:after { - border-left-width: 0; - border-right-width: 14px; - left: -14px; - right: auto; -} - -.xxs-avatar { - width: 10px; - height: 10px; -} - - -.xs-avatar { - width: 50px; - height: 50px; -} - -.md-avatar { - width: 70px; - height: 70px; -} - -.lg-avatar { - width: 100px; - height: 100px; -} - -.text-truncate { - word-wrap: normal; - /* for IE */ - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -.text-yellow { - color:#FFCC66; -} - -.label-xl{ - font-size:150%; -} - -.pointer { - cursor: pointer; -} - -.limit_height{ - height: 600px;overflow-y:auto;overflow-x:hidden; -} - -.table.text-middle>tbody>tr>td,.table.text-middle>tbody>tr>th{ - vertical-align: middle; -} - -.perm-table{width: 100%;} -.perm-table .perm-tg{width: 70%;} -.perm-table .center{border-left: 1px solid #e4dddd; border-right: 1px solid #e4dddd;} - -.input-none { - border: 0; - outline: none; - background-color: rgba(0, 0, 0, 0); - cursor: text !important; - width: 60%; -} -.navbar .navbar-nav .dropdown-menu li { - margin: 0 !important; -} diff --git a/src/main/resources/static/style/btn.css b/src/main/resources/static/style/btn.css deleted file mode 100644 index 000a50d..0000000 --- a/src/main/resources/static/style/btn.css +++ /dev/null @@ -1,769 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -.btn, -.navbar .navbar-nav > li > a.btn { - border: none; - border-radius: 3px; - position: relative; - padding: 12px 30px; - margin: 10px 1px; - font-size: 12px; - font-weight: 400; - text-transform: uppercase; - letter-spacing: 0; - will-change: box-shadow, transform; - transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1); -} -.btn::-moz-focus-inner, -.navbar .navbar-nav > li > a.btn::-moz-focus-inner { - border: 0; -} -.btn, .btn.btn-default, -.navbar .navbar-nav > li > a.btn, -.navbar .navbar-nav > li > a.btn.btn-default { - box-shadow: 0 2px 2px 0 rgba(153, 153, 153, 0.14), 0 3px 1px -2px rgba(153, 153, 153, 0.2), 0 1px 5px 0 rgba(153, 153, 153, 0.12); -} -.btn, .btn:hover, .btn:focus, .btn:active, .btn.active, .btn:active:focus, .btn:active:hover, .btn.active:focus, .btn.active:hover, .open > .btn.dropdown-toggle, .open > .btn.dropdown-toggle:focus, .open > .btn.dropdown-toggle:hover, .btn.btn-default, .btn.btn-default:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default.active, .btn.btn-default:active:focus, .btn.btn-default:active:hover, .btn.btn-default.active:focus, .btn.btn-default.active:hover, .open > .btn.btn-default.dropdown-toggle, .open > .btn.btn-default.dropdown-toggle:focus, .open > .btn.btn-default.dropdown-toggle:hover, -.navbar .navbar-nav > li > a.btn, -.navbar .navbar-nav > li > a.btn:hover, -.navbar .navbar-nav > li > a.btn:focus, -.navbar .navbar-nav > li > a.btn:active, -.navbar .navbar-nav > li > a.btn.active, -.navbar .navbar-nav > li > a.btn:active:focus, -.navbar .navbar-nav > li > a.btn:active:hover, -.navbar .navbar-nav > li > a.btn.active:focus, -.navbar .navbar-nav > li > a.btn.active:hover, .open > -.navbar .navbar-nav > li > a.btn.dropdown-toggle, .open > -.navbar .navbar-nav > li > a.btn.dropdown-toggle:focus, .open > -.navbar .navbar-nav > li > a.btn.dropdown-toggle:hover, -.navbar .navbar-nav > li > a.btn.btn-default, -.navbar .navbar-nav > li > a.btn.btn-default:hover, -.navbar .navbar-nav > li > a.btn.btn-default:focus, -.navbar .navbar-nav > li > a.btn.btn-default:active, -.navbar .navbar-nav > li > a.btn.btn-default.active, -.navbar .navbar-nav > li > a.btn.btn-default:active:focus, -.navbar .navbar-nav > li > a.btn.btn-default:active:hover, -.navbar .navbar-nav > li > a.btn.btn-default.active:focus, -.navbar .navbar-nav > li > a.btn.btn-default.active:hover, .open > -.navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle, .open > -.navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle:focus, .open > -.navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle:hover { - background-color: #999999; - color: #FFFFFF; -} -.btn:focus, .btn:active, .btn:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default:hover, -.navbar .navbar-nav > li > a.btn:focus, -.navbar .navbar-nav > li > a.btn:active, -.navbar .navbar-nav > li > a.btn:hover, -.navbar .navbar-nav > li > a.btn.btn-default:focus, -.navbar .navbar-nav > li > a.btn.btn-default:active, -.navbar .navbar-nav > li > a.btn.btn-default:hover { - box-shadow: 0 14px 26px -12px rgba(153, 153, 153, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(153, 153, 153, 0.2); -} -.btn.disabled, .btn.disabled:hover, .btn.disabled:focus, .btn.disabled.focus, .btn.disabled:active, .btn.disabled.active, .btn:disabled, .btn:disabled:hover, .btn:disabled:focus, .btn:disabled.focus, .btn:disabled:active, .btn:disabled.active, .btn[disabled], .btn[disabled]:hover, .btn[disabled]:focus, .btn[disabled].focus, .btn[disabled]:active, .btn[disabled].active, fieldset[disabled] .btn, fieldset[disabled] .btn:hover, fieldset[disabled] .btn:focus, fieldset[disabled] .btn.focus, fieldset[disabled] .btn:active, fieldset[disabled] .btn.active, .btn.btn-default.disabled, .btn.btn-default.disabled:hover, .btn.btn-default.disabled:focus, .btn.btn-default.disabled.focus, .btn.btn-default.disabled:active, .btn.btn-default.disabled.active, .btn.btn-default:disabled, .btn.btn-default:disabled:hover, .btn.btn-default:disabled:focus, .btn.btn-default:disabled.focus, .btn.btn-default:disabled:active, .btn.btn-default:disabled.active, .btn.btn-default[disabled], .btn.btn-default[disabled]:hover, .btn.btn-default[disabled]:focus, .btn.btn-default[disabled].focus, .btn.btn-default[disabled]:active, .btn.btn-default[disabled].active, fieldset[disabled] .btn.btn-default, fieldset[disabled] .btn.btn-default:hover, fieldset[disabled] .btn.btn-default:focus, fieldset[disabled] .btn.btn-default.focus, fieldset[disabled] .btn.btn-default:active, fieldset[disabled] .btn.btn-default.active, -.navbar .navbar-nav > li > a.btn.disabled, -.navbar .navbar-nav > li > a.btn.disabled:hover, -.navbar .navbar-nav > li > a.btn.disabled:focus, -.navbar .navbar-nav > li > a.btn.disabled.focus, -.navbar .navbar-nav > li > a.btn.disabled:active, -.navbar .navbar-nav > li > a.btn.disabled.active, -.navbar .navbar-nav > li > a.btn:disabled, -.navbar .navbar-nav > li > a.btn:disabled:hover, -.navbar .navbar-nav > li > a.btn:disabled:focus, -.navbar .navbar-nav > li > a.btn:disabled.focus, -.navbar .navbar-nav > li > a.btn:disabled:active, -.navbar .navbar-nav > li > a.btn:disabled.active, -.navbar .navbar-nav > li > a.btn[disabled], -.navbar .navbar-nav > li > a.btn[disabled]:hover, -.navbar .navbar-nav > li > a.btn[disabled]:focus, -.navbar .navbar-nav > li > a.btn[disabled].focus, -.navbar .navbar-nav > li > a.btn[disabled]:active, -.navbar .navbar-nav > li > a.btn[disabled].active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn, fieldset[disabled] -.navbar .navbar-nav > li > a.btn:hover, fieldset[disabled] -.navbar .navbar-nav > li > a.btn:focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn:active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.active, -.navbar .navbar-nav > li > a.btn.btn-default.disabled, -.navbar .navbar-nav > li > a.btn.btn-default.disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-default.disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-default.disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-default.disabled:active, -.navbar .navbar-nav > li > a.btn.btn-default.disabled.active, -.navbar .navbar-nav > li > a.btn.btn-default:disabled, -.navbar .navbar-nav > li > a.btn.btn-default:disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-default:disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-default:disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-default:disabled:active, -.navbar .navbar-nav > li > a.btn.btn-default:disabled.active, -.navbar .navbar-nav > li > a.btn.btn-default[disabled], -.navbar .navbar-nav > li > a.btn.btn-default[disabled]:hover, -.navbar .navbar-nav > li > a.btn.btn-default[disabled]:focus, -.navbar .navbar-nav > li > a.btn.btn-default[disabled].focus, -.navbar .navbar-nav > li > a.btn.btn-default[disabled]:active, -.navbar .navbar-nav > li > a.btn.btn-default[disabled].active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-default, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-default:hover, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-default:focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-default.focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-default:active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-default.active { - box-shadow: none; -} -.btn.btn-simple, .btn.btn-default.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-default.btn-simple { - background-color: transparent; - color: #999999; - box-shadow: none; -} -.btn.btn-simple:hover, .btn.btn-simple:focus, .btn.btn-simple:active, .btn.btn-default.btn-simple:hover, .btn.btn-default.btn-simple:focus, .btn.btn-default.btn-simple:active, -.navbar .navbar-nav > li > a.btn.btn-simple:hover, -.navbar .navbar-nav > li > a.btn.btn-simple:focus, -.navbar .navbar-nav > li > a.btn.btn-simple:active, -.navbar .navbar-nav > li > a.btn.btn-default.btn-simple:hover, -.navbar .navbar-nav > li > a.btn.btn-default.btn-simple:focus, -.navbar .navbar-nav > li > a.btn.btn-default.btn-simple:active { - background-color: transparent; - color: #999999; -} -.btn.btn-primary, -.navbar .navbar-nav > li > a.btn.btn-primary { - box-shadow: 0 2px 2px 0 rgba(156, 39, 176, 0.14), 0 3px 1px -2px rgba(156, 39, 176, 0.2), 0 1px 5px 0 rgba(156, 39, 176, 0.12); -} -.btn.btn-primary, .btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary.active, .btn.btn-primary:active:focus, .btn.btn-primary:active:hover, .btn.btn-primary.active:focus, .btn.btn-primary.active:hover, .open > .btn.btn-primary.dropdown-toggle, .open > .btn.btn-primary.dropdown-toggle:focus, .open > .btn.btn-primary.dropdown-toggle:hover, -.navbar .navbar-nav > li > a.btn.btn-primary, -.navbar .navbar-nav > li > a.btn.btn-primary:hover, -.navbar .navbar-nav > li > a.btn.btn-primary:focus, -.navbar .navbar-nav > li > a.btn.btn-primary:active, -.navbar .navbar-nav > li > a.btn.btn-primary.active, -.navbar .navbar-nav > li > a.btn.btn-primary:active:focus, -.navbar .navbar-nav > li > a.btn.btn-primary:active:hover, -.navbar .navbar-nav > li > a.btn.btn-primary.active:focus, -.navbar .navbar-nav > li > a.btn.btn-primary.active:hover, .open > -.navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle, .open > -.navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle:focus, .open > -.navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle:hover { - background-color: #9c27b0; - color: #FFFFFF; -} -.btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary:hover, -.navbar .navbar-nav > li > a.btn.btn-primary:focus, -.navbar .navbar-nav > li > a.btn.btn-primary:active, -.navbar .navbar-nav > li > a.btn.btn-primary:hover { - box-shadow: 0 14px 26px -12px rgba(156, 39, 176, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(156, 39, 176, 0.2); -} -.btn.btn-primary.disabled, .btn.btn-primary.disabled:hover, .btn.btn-primary.disabled:focus, .btn.btn-primary.disabled.focus, .btn.btn-primary.disabled:active, .btn.btn-primary.disabled.active, .btn.btn-primary:disabled, .btn.btn-primary:disabled:hover, .btn.btn-primary:disabled:focus, .btn.btn-primary:disabled.focus, .btn.btn-primary:disabled:active, .btn.btn-primary:disabled.active, .btn.btn-primary[disabled], .btn.btn-primary[disabled]:hover, .btn.btn-primary[disabled]:focus, .btn.btn-primary[disabled].focus, .btn.btn-primary[disabled]:active, .btn.btn-primary[disabled].active, fieldset[disabled] .btn.btn-primary, fieldset[disabled] .btn.btn-primary:hover, fieldset[disabled] .btn.btn-primary:focus, fieldset[disabled] .btn.btn-primary.focus, fieldset[disabled] .btn.btn-primary:active, fieldset[disabled] .btn.btn-primary.active, -.navbar .navbar-nav > li > a.btn.btn-primary.disabled, -.navbar .navbar-nav > li > a.btn.btn-primary.disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-primary.disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-primary.disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-primary.disabled:active, -.navbar .navbar-nav > li > a.btn.btn-primary.disabled.active, -.navbar .navbar-nav > li > a.btn.btn-primary:disabled, -.navbar .navbar-nav > li > a.btn.btn-primary:disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-primary:disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-primary:disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-primary:disabled:active, -.navbar .navbar-nav > li > a.btn.btn-primary:disabled.active, -.navbar .navbar-nav > li > a.btn.btn-primary[disabled], -.navbar .navbar-nav > li > a.btn.btn-primary[disabled]:hover, -.navbar .navbar-nav > li > a.btn.btn-primary[disabled]:focus, -.navbar .navbar-nav > li > a.btn.btn-primary[disabled].focus, -.navbar .navbar-nav > li > a.btn.btn-primary[disabled]:active, -.navbar .navbar-nav > li > a.btn.btn-primary[disabled].active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-primary, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-primary:hover, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-primary:focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-primary.focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-primary:active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-primary.active { - box-shadow: none; -} -.btn.btn-primary.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple { - background-color: transparent; - color: #9c27b0; - box-shadow: none; -} -.btn.btn-primary.btn-simple:hover, .btn.btn-primary.btn-simple:focus, .btn.btn-primary.btn-simple:active, -.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:hover, -.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:focus, -.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:active { - background-color: transparent; - color: #9c27b0; -} -.btn.btn-info, -.navbar .navbar-nav > li > a.btn.btn-info { - box-shadow: 0 2px 2px 0 rgba(0, 188, 212, 0.14), 0 3px 1px -2px rgba(0, 188, 212, 0.2), 0 1px 5px 0 rgba(0, 188, 212, 0.12); -} -.btn.btn-info, .btn.btn-info:hover, .btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info.active, .btn.btn-info:active:focus, .btn.btn-info:active:hover, .btn.btn-info.active:focus, .btn.btn-info.active:hover, .open > .btn.btn-info.dropdown-toggle, .open > .btn.btn-info.dropdown-toggle:focus, .open > .btn.btn-info.dropdown-toggle:hover, -.navbar .navbar-nav > li > a.btn.btn-info, -.navbar .navbar-nav > li > a.btn.btn-info:hover, -.navbar .navbar-nav > li > a.btn.btn-info:focus, -.navbar .navbar-nav > li > a.btn.btn-info:active, -.navbar .navbar-nav > li > a.btn.btn-info.active, -.navbar .navbar-nav > li > a.btn.btn-info:active:focus, -.navbar .navbar-nav > li > a.btn.btn-info:active:hover, -.navbar .navbar-nav > li > a.btn.btn-info.active:focus, -.navbar .navbar-nav > li > a.btn.btn-info.active:hover, .open > -.navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle, .open > -.navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle:focus, .open > -.navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle:hover { - background-color: #00bcd4; - color: #FFFFFF; -} -.btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info:hover, -.navbar .navbar-nav > li > a.btn.btn-info:focus, -.navbar .navbar-nav > li > a.btn.btn-info:active, -.navbar .navbar-nav > li > a.btn.btn-info:hover { - box-shadow: 0 14px 26px -12px rgba(0, 188, 212, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 188, 212, 0.2); -} -.btn.btn-info.disabled, .btn.btn-info.disabled:hover, .btn.btn-info.disabled:focus, .btn.btn-info.disabled.focus, .btn.btn-info.disabled:active, .btn.btn-info.disabled.active, .btn.btn-info:disabled, .btn.btn-info:disabled:hover, .btn.btn-info:disabled:focus, .btn.btn-info:disabled.focus, .btn.btn-info:disabled:active, .btn.btn-info:disabled.active, .btn.btn-info[disabled], .btn.btn-info[disabled]:hover, .btn.btn-info[disabled]:focus, .btn.btn-info[disabled].focus, .btn.btn-info[disabled]:active, .btn.btn-info[disabled].active, fieldset[disabled] .btn.btn-info, fieldset[disabled] .btn.btn-info:hover, fieldset[disabled] .btn.btn-info:focus, fieldset[disabled] .btn.btn-info.focus, fieldset[disabled] .btn.btn-info:active, fieldset[disabled] .btn.btn-info.active, -.navbar .navbar-nav > li > a.btn.btn-info.disabled, -.navbar .navbar-nav > li > a.btn.btn-info.disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-info.disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-info.disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-info.disabled:active, -.navbar .navbar-nav > li > a.btn.btn-info.disabled.active, -.navbar .navbar-nav > li > a.btn.btn-info:disabled, -.navbar .navbar-nav > li > a.btn.btn-info:disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-info:disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-info:disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-info:disabled:active, -.navbar .navbar-nav > li > a.btn.btn-info:disabled.active, -.navbar .navbar-nav > li > a.btn.btn-info[disabled], -.navbar .navbar-nav > li > a.btn.btn-info[disabled]:hover, -.navbar .navbar-nav > li > a.btn.btn-info[disabled]:focus, -.navbar .navbar-nav > li > a.btn.btn-info[disabled].focus, -.navbar .navbar-nav > li > a.btn.btn-info[disabled]:active, -.navbar .navbar-nav > li > a.btn.btn-info[disabled].active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-info, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-info:hover, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-info:focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-info.focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-info:active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-info.active { - box-shadow: none; -} -.btn.btn-info.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-info.btn-simple { - background-color: transparent; - color: #00bcd4; - box-shadow: none; -} -.btn.btn-info.btn-simple:hover, .btn.btn-info.btn-simple:focus, .btn.btn-info.btn-simple:active, -.navbar .navbar-nav > li > a.btn.btn-info.btn-simple:hover, -.navbar .navbar-nav > li > a.btn.btn-info.btn-simple:focus, -.navbar .navbar-nav > li > a.btn.btn-info.btn-simple:active { - background-color: transparent; - color: #00bcd4; -} -.btn.btn-success, -.navbar .navbar-nav > li > a.btn.btn-success { - box-shadow: 0 2px 2px 0 rgba(76, 175, 80, 0.14), 0 3px 1px -2px rgba(76, 175, 80, 0.2), 0 1px 5px 0 rgba(76, 175, 80, 0.12); -} -.btn.btn-success, .btn.btn-success:hover, .btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success.active, .btn.btn-success:active:focus, .btn.btn-success:active:hover, .btn.btn-success.active:focus, .btn.btn-success.active:hover, .open > .btn.btn-success.dropdown-toggle, .open > .btn.btn-success.dropdown-toggle:focus, .open > .btn.btn-success.dropdown-toggle:hover, -.navbar .navbar-nav > li > a.btn.btn-success, -.navbar .navbar-nav > li > a.btn.btn-success:hover, -.navbar .navbar-nav > li > a.btn.btn-success:focus, -.navbar .navbar-nav > li > a.btn.btn-success:active, -.navbar .navbar-nav > li > a.btn.btn-success.active, -.navbar .navbar-nav > li > a.btn.btn-success:active:focus, -.navbar .navbar-nav > li > a.btn.btn-success:active:hover, -.navbar .navbar-nav > li > a.btn.btn-success.active:focus, -.navbar .navbar-nav > li > a.btn.btn-success.active:hover, .open > -.navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle, .open > -.navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle:focus, .open > -.navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle:hover { - background-color: #4caf50; - color: #FFFFFF; -} -.btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success:hover, -.navbar .navbar-nav > li > a.btn.btn-success:focus, -.navbar .navbar-nav > li > a.btn.btn-success:active, -.navbar .navbar-nav > li > a.btn.btn-success:hover { - box-shadow: 0 14px 26px -12px rgba(76, 175, 80, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(76, 175, 80, 0.2); -} -.btn.btn-success.disabled, .btn.btn-success.disabled:hover, .btn.btn-success.disabled:focus, .btn.btn-success.disabled.focus, .btn.btn-success.disabled:active, .btn.btn-success.disabled.active, .btn.btn-success:disabled, .btn.btn-success:disabled:hover, .btn.btn-success:disabled:focus, .btn.btn-success:disabled.focus, .btn.btn-success:disabled:active, .btn.btn-success:disabled.active, .btn.btn-success[disabled], .btn.btn-success[disabled]:hover, .btn.btn-success[disabled]:focus, .btn.btn-success[disabled].focus, .btn.btn-success[disabled]:active, .btn.btn-success[disabled].active, fieldset[disabled] .btn.btn-success, fieldset[disabled] .btn.btn-success:hover, fieldset[disabled] .btn.btn-success:focus, fieldset[disabled] .btn.btn-success.focus, fieldset[disabled] .btn.btn-success:active, fieldset[disabled] .btn.btn-success.active, -.navbar .navbar-nav > li > a.btn.btn-success.disabled, -.navbar .navbar-nav > li > a.btn.btn-success.disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-success.disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-success.disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-success.disabled:active, -.navbar .navbar-nav > li > a.btn.btn-success.disabled.active, -.navbar .navbar-nav > li > a.btn.btn-success:disabled, -.navbar .navbar-nav > li > a.btn.btn-success:disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-success:disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-success:disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-success:disabled:active, -.navbar .navbar-nav > li > a.btn.btn-success:disabled.active, -.navbar .navbar-nav > li > a.btn.btn-success[disabled], -.navbar .navbar-nav > li > a.btn.btn-success[disabled]:hover, -.navbar .navbar-nav > li > a.btn.btn-success[disabled]:focus, -.navbar .navbar-nav > li > a.btn.btn-success[disabled].focus, -.navbar .navbar-nav > li > a.btn.btn-success[disabled]:active, -.navbar .navbar-nav > li > a.btn.btn-success[disabled].active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-success, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-success:hover, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-success:focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-success.focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-success:active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-success.active { - box-shadow: none; -} -.btn.btn-success.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-success.btn-simple { - background-color: transparent; - color: #4caf50; - box-shadow: none; -} -.btn.btn-success.btn-simple:hover, .btn.btn-success.btn-simple:focus, .btn.btn-success.btn-simple:active, -.navbar .navbar-nav > li > a.btn.btn-success.btn-simple:hover, -.navbar .navbar-nav > li > a.btn.btn-success.btn-simple:focus, -.navbar .navbar-nav > li > a.btn.btn-success.btn-simple:active { - background-color: transparent; - color: #4caf50; -} -.btn.btn-warning, -.navbar .navbar-nav > li > a.btn.btn-warning { - box-shadow: 0 2px 2px 0 rgba(255, 152, 0, 0.14), 0 3px 1px -2px rgba(255, 152, 0, 0.2), 0 1px 5px 0 rgba(255, 152, 0, 0.12); -} -.btn.btn-warning, .btn.btn-warning:hover, .btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning.active, .btn.btn-warning:active:focus, .btn.btn-warning:active:hover, .btn.btn-warning.active:focus, .btn.btn-warning.active:hover, .open > .btn.btn-warning.dropdown-toggle, .open > .btn.btn-warning.dropdown-toggle:focus, .open > .btn.btn-warning.dropdown-toggle:hover, -.navbar .navbar-nav > li > a.btn.btn-warning, -.navbar .navbar-nav > li > a.btn.btn-warning:hover, -.navbar .navbar-nav > li > a.btn.btn-warning:focus, -.navbar .navbar-nav > li > a.btn.btn-warning:active, -.navbar .navbar-nav > li > a.btn.btn-warning.active, -.navbar .navbar-nav > li > a.btn.btn-warning:active:focus, -.navbar .navbar-nav > li > a.btn.btn-warning:active:hover, -.navbar .navbar-nav > li > a.btn.btn-warning.active:focus, -.navbar .navbar-nav > li > a.btn.btn-warning.active:hover, .open > -.navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle, .open > -.navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle:focus, .open > -.navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle:hover { - background-color: #ff9800; - color: #FFFFFF; -} -.btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning:hover, -.navbar .navbar-nav > li > a.btn.btn-warning:focus, -.navbar .navbar-nav > li > a.btn.btn-warning:active, -.navbar .navbar-nav > li > a.btn.btn-warning:hover { - box-shadow: 0 14px 26px -12px rgba(255, 152, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 152, 0, 0.2); -} -.btn.btn-warning.disabled, .btn.btn-warning.disabled:hover, .btn.btn-warning.disabled:focus, .btn.btn-warning.disabled.focus, .btn.btn-warning.disabled:active, .btn.btn-warning.disabled.active, .btn.btn-warning:disabled, .btn.btn-warning:disabled:hover, .btn.btn-warning:disabled:focus, .btn.btn-warning:disabled.focus, .btn.btn-warning:disabled:active, .btn.btn-warning:disabled.active, .btn.btn-warning[disabled], .btn.btn-warning[disabled]:hover, .btn.btn-warning[disabled]:focus, .btn.btn-warning[disabled].focus, .btn.btn-warning[disabled]:active, .btn.btn-warning[disabled].active, fieldset[disabled] .btn.btn-warning, fieldset[disabled] .btn.btn-warning:hover, fieldset[disabled] .btn.btn-warning:focus, fieldset[disabled] .btn.btn-warning.focus, fieldset[disabled] .btn.btn-warning:active, fieldset[disabled] .btn.btn-warning.active, -.navbar .navbar-nav > li > a.btn.btn-warning.disabled, -.navbar .navbar-nav > li > a.btn.btn-warning.disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-warning.disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-warning.disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-warning.disabled:active, -.navbar .navbar-nav > li > a.btn.btn-warning.disabled.active, -.navbar .navbar-nav > li > a.btn.btn-warning:disabled, -.navbar .navbar-nav > li > a.btn.btn-warning:disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-warning:disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-warning:disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-warning:disabled:active, -.navbar .navbar-nav > li > a.btn.btn-warning:disabled.active, -.navbar .navbar-nav > li > a.btn.btn-warning[disabled], -.navbar .navbar-nav > li > a.btn.btn-warning[disabled]:hover, -.navbar .navbar-nav > li > a.btn.btn-warning[disabled]:focus, -.navbar .navbar-nav > li > a.btn.btn-warning[disabled].focus, -.navbar .navbar-nav > li > a.btn.btn-warning[disabled]:active, -.navbar .navbar-nav > li > a.btn.btn-warning[disabled].active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-warning, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-warning:hover, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-warning:focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-warning.focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-warning:active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-warning.active { - box-shadow: none; -} -.btn.btn-warning.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple { - background-color: transparent; - color: #ff9800; - box-shadow: none; -} -.btn.btn-warning.btn-simple:hover, .btn.btn-warning.btn-simple:focus, .btn.btn-warning.btn-simple:active, -.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:hover, -.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:focus, -.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:active { - background-color: transparent; - color: #ff9800; -} -.btn.btn-danger, -.navbar .navbar-nav > li > a.btn.btn-danger { - box-shadow: 0 2px 2px 0 rgba(244, 67, 54, 0.14), 0 3px 1px -2px rgba(244, 67, 54, 0.2), 0 1px 5px 0 rgba(244, 67, 54, 0.12); -} -.btn.btn-danger, .btn.btn-danger:hover, .btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger.active, .btn.btn-danger:active:focus, .btn.btn-danger:active:hover, .btn.btn-danger.active:focus, .btn.btn-danger.active:hover, .open > .btn.btn-danger.dropdown-toggle, .open > .btn.btn-danger.dropdown-toggle:focus, .open > .btn.btn-danger.dropdown-toggle:hover, -.navbar .navbar-nav > li > a.btn.btn-danger, -.navbar .navbar-nav > li > a.btn.btn-danger:hover, -.navbar .navbar-nav > li > a.btn.btn-danger:focus, -.navbar .navbar-nav > li > a.btn.btn-danger:active, -.navbar .navbar-nav > li > a.btn.btn-danger.active, -.navbar .navbar-nav > li > a.btn.btn-danger:active:focus, -.navbar .navbar-nav > li > a.btn.btn-danger:active:hover, -.navbar .navbar-nav > li > a.btn.btn-danger.active:focus, -.navbar .navbar-nav > li > a.btn.btn-danger.active:hover, .open > -.navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle, .open > -.navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle:focus, .open > -.navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle:hover { - background-color: #f44336; - color: #FFFFFF; -} -.btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger:hover, -.navbar .navbar-nav > li > a.btn.btn-danger:focus, -.navbar .navbar-nav > li > a.btn.btn-danger:active, -.navbar .navbar-nav > li > a.btn.btn-danger:hover { - box-shadow: 0 14px 26px -12px rgba(244, 67, 54, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(244, 67, 54, 0.2); -} -.btn.btn-danger.disabled, .btn.btn-danger.disabled:hover, .btn.btn-danger.disabled:focus, .btn.btn-danger.disabled.focus, .btn.btn-danger.disabled:active, .btn.btn-danger.disabled.active, .btn.btn-danger:disabled, .btn.btn-danger:disabled:hover, .btn.btn-danger:disabled:focus, .btn.btn-danger:disabled.focus, .btn.btn-danger:disabled:active, .btn.btn-danger:disabled.active, .btn.btn-danger[disabled], .btn.btn-danger[disabled]:hover, .btn.btn-danger[disabled]:focus, .btn.btn-danger[disabled].focus, .btn.btn-danger[disabled]:active, .btn.btn-danger[disabled].active, fieldset[disabled] .btn.btn-danger, fieldset[disabled] .btn.btn-danger:hover, fieldset[disabled] .btn.btn-danger:focus, fieldset[disabled] .btn.btn-danger.focus, fieldset[disabled] .btn.btn-danger:active, fieldset[disabled] .btn.btn-danger.active, -.navbar .navbar-nav > li > a.btn.btn-danger.disabled, -.navbar .navbar-nav > li > a.btn.btn-danger.disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-danger.disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-danger.disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-danger.disabled:active, -.navbar .navbar-nav > li > a.btn.btn-danger.disabled.active, -.navbar .navbar-nav > li > a.btn.btn-danger:disabled, -.navbar .navbar-nav > li > a.btn.btn-danger:disabled:hover, -.navbar .navbar-nav > li > a.btn.btn-danger:disabled:focus, -.navbar .navbar-nav > li > a.btn.btn-danger:disabled.focus, -.navbar .navbar-nav > li > a.btn.btn-danger:disabled:active, -.navbar .navbar-nav > li > a.btn.btn-danger:disabled.active, -.navbar .navbar-nav > li > a.btn.btn-danger[disabled], -.navbar .navbar-nav > li > a.btn.btn-danger[disabled]:hover, -.navbar .navbar-nav > li > a.btn.btn-danger[disabled]:focus, -.navbar .navbar-nav > li > a.btn.btn-danger[disabled].focus, -.navbar .navbar-nav > li > a.btn.btn-danger[disabled]:active, -.navbar .navbar-nav > li > a.btn.btn-danger[disabled].active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-danger, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-danger:hover, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-danger:focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-danger.focus, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-danger:active, fieldset[disabled] -.navbar .navbar-nav > li > a.btn.btn-danger.active { - box-shadow: none; -} -.btn.btn-danger.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple { - background-color: transparent; - color: #f44336; - box-shadow: none; -} -.btn.btn-danger.btn-simple:hover, .btn.btn-danger.btn-simple:focus, .btn.btn-danger.btn-simple:active, -.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:hover, -.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:focus, -.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:active { - background-color: transparent; - color: #f44336; -} -.btn.btn-white, .btn.btn-white:focus, .btn.btn-white:hover, -.navbar .navbar-nav > li > a.btn.btn-white, -.navbar .navbar-nav > li > a.btn.btn-white:focus, -.navbar .navbar-nav > li > a.btn.btn-white:hover { - background-color: #FFFFFF; - color: #999999; -} -.btn.btn-white.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-white.btn-simple { - color: #FFFFFF; - background: transparent; - box-shadow: none; -} -.btn.btn-facebook, -.navbar .navbar-nav > li > a.btn.btn-facebook { - background-color: #3b5998; - color: #fff; - box-shadow: 0 2px 2px 0 rgba(59, 89, 152, 0.14), 0 3px 1px -2px rgba(59, 89, 152, 0.2), 0 1px 5px 0 rgba(59, 89, 152, 0.12); -} -.btn.btn-facebook:focus, .btn.btn-facebook:active, .btn.btn-facebook:hover, -.navbar .navbar-nav > li > a.btn.btn-facebook:focus, -.navbar .navbar-nav > li > a.btn.btn-facebook:active, -.navbar .navbar-nav > li > a.btn.btn-facebook:hover { - background-color: #3b5998; - color: #fff; - box-shadow: 0 14px 26px -12px rgba(59, 89, 152, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(59, 89, 152, 0.2); -} -.btn.btn-facebook.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-facebook.btn-simple { - color: #3b5998; - background-color: transparent; - box-shadow: none; -} -.btn.btn-twitter, -.navbar .navbar-nav > li > a.btn.btn-twitter { - background-color: #55acee; - color: #fff; - box-shadow: 0 2px 2px 0 rgba(85, 172, 238, 0.14), 0 3px 1px -2px rgba(85, 172, 238, 0.2), 0 1px 5px 0 rgba(85, 172, 238, 0.12); -} -.btn.btn-twitter:focus, .btn.btn-twitter:active, .btn.btn-twitter:hover, -.navbar .navbar-nav > li > a.btn.btn-twitter:focus, -.navbar .navbar-nav > li > a.btn.btn-twitter:active, -.navbar .navbar-nav > li > a.btn.btn-twitter:hover { - background-color: #55acee; - color: #fff; - box-shadow: 0 14px 26px -12px rgba(85, 172, 238, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(85, 172, 238, 0.2); -} -.btn.btn-twitter.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-twitter.btn-simple { - color: #55acee; - background-color: transparent; - box-shadow: none; -} -.btn.btn-pinterest, -.navbar .navbar-nav > li > a.btn.btn-pinterest { - background-color: #cc2127; - color: #fff; - box-shadow: 0 2px 2px 0 rgba(204, 33, 39, 0.14), 0 3px 1px -2px rgba(204, 33, 39, 0.2), 0 1px 5px 0 rgba(204, 33, 39, 0.12); -} -.btn.btn-pinterest:focus, .btn.btn-pinterest:active, .btn.btn-pinterest:hover, -.navbar .navbar-nav > li > a.btn.btn-pinterest:focus, -.navbar .navbar-nav > li > a.btn.btn-pinterest:active, -.navbar .navbar-nav > li > a.btn.btn-pinterest:hover { - background-color: #cc2127; - color: #fff; - box-shadow: 0 14px 26px -12px rgba(204, 33, 39, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(204, 33, 39, 0.2); -} -.btn.btn-pinterest.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-pinterest.btn-simple { - color: #cc2127; - background-color: transparent; - box-shadow: none; -} -.btn.btn-google, -.navbar .navbar-nav > li > a.btn.btn-google { - background-color: #dd4b39; - color: #fff; - box-shadow: 0 2px 2px 0 rgba(221, 75, 57, 0.14), 0 3px 1px -2px rgba(221, 75, 57, 0.2), 0 1px 5px 0 rgba(221, 75, 57, 0.12); -} -.btn.btn-google:focus, .btn.btn-google:active, .btn.btn-google:hover, -.navbar .navbar-nav > li > a.btn.btn-google:focus, -.navbar .navbar-nav > li > a.btn.btn-google:active, -.navbar .navbar-nav > li > a.btn.btn-google:hover { - background-color: #dd4b39; - color: #fff; - box-shadow: 0 14px 26px -12px rgba(221, 75, 57, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(221, 75, 57, 0.2); -} -.btn.btn-google.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-google.btn-simple { - color: #dd4b39; - background-color: transparent; - box-shadow: none; -} -.btn.btn-instagram, -.navbar .navbar-nav > li > a.btn.btn-instagram { - background-color: #125688; - color: #fff; - box-shadow: 0 2px 2px 0 rgba(18, 86, 136, 0.14), 0 3px 1px -2px rgba(18, 86, 136, 0.2), 0 1px 5px 0 rgba(18, 86, 136, 0.12); -} -.btn.btn-instagram:focus, .btn.btn-instagram:active, .btn.btn-instagram:hover, -.navbar .navbar-nav > li > a.btn.btn-instagram:focus, -.navbar .navbar-nav > li > a.btn.btn-instagram:active, -.navbar .navbar-nav > li > a.btn.btn-instagram:hover { - background-color: #125688; - color: #fff; - box-shadow: 0 14px 26px -12px rgba(18, 86, 136, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(18, 86, 136, 0.2); -} -.btn.btn-instagram.btn-simple, -.navbar .navbar-nav > li > a.btn.btn-instagram.btn-simple { - color: #125688; - background-color: transparent; - box-shadow: none; -} -.btn:focus, .btn:active, .btn:active:focus, -.navbar .navbar-nav > li > a.btn:focus, -.navbar .navbar-nav > li > a.btn:active, -.navbar .navbar-nav > li > a.btn:active:focus { - outline: 0; -} -.btn.btn-round, -.navbar .navbar-nav > li > a.btn.btn-round { - border-radius: 30px; -} -.btn:not(.btn-just-icon):not(.btn-fab) .fa, -.navbar .navbar-nav > li > a.btn:not(.btn-just-icon):not(.btn-fab) .fa { - font-size: 18px; - margin-top: -2px; - position: relative; - top: 2px; -} -.btn.btn-fab, -.navbar .navbar-nav > li > a.btn.btn-fab { - border-radius: 50%; - font-size: 24px; - height: 56px; - margin: auto; - min-width: 56px; - width: 56px; - padding: 0; - overflow: hidden; - position: relative; - line-height: normal; -} -.btn.btn-fab .ripple-container, -.navbar .navbar-nav > li > a.btn.btn-fab .ripple-container { - border-radius: 50%; -} -.btn.btn-fab.btn-fab-mini, .btn-group-sm .btn.btn-fab, -.navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini, .btn-group-sm -.navbar .navbar-nav > li > a.btn.btn-fab { - height: 40px; - min-width: 40px; - width: 40px; -} -.btn.btn-fab.btn-fab-mini.material-icons, .btn-group-sm .btn.btn-fab.material-icons, -.navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini.material-icons, .btn-group-sm -.navbar .navbar-nav > li > a.btn.btn-fab.material-icons { - top: -3.5px; - left: -3.5px; -} -.btn.btn-fab.btn-fab-mini .material-icons, .btn-group-sm .btn.btn-fab .material-icons, -.navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini .material-icons, .btn-group-sm -.navbar .navbar-nav > li > a.btn.btn-fab .material-icons { - font-size: 17px; -} -.btn.btn-fab i.material-icons, -.navbar .navbar-nav > li > a.btn.btn-fab i.material-icons { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-12px, -12px); - line-height: 24px; - width: 24px; - font-size: 24px; -} -.btn.btn-lg, .btn-group-lg .btn, -.navbar .navbar-nav > li > a.btn.btn-lg, .btn-group-lg -.navbar .navbar-nav > li > a.btn { - font-size: 14px; - padding: 18px 36px; -} -.btn.btn-sm, .btn-group-sm .btn, -.navbar .navbar-nav > li > a.btn.btn-sm, .btn-group-sm -.navbar .navbar-nav > li > a.btn { - padding: 5px 20px; - font-size: 11px; -} -.btn.btn-xs, .btn-group-xs .btn, -.navbar .navbar-nav > li > a.btn.btn-xs, .btn-group-xs -.navbar .navbar-nav > li > a.btn { - padding: 4px 15px; - font-size: 10px; -} -.btn.btn-just-icon, -.navbar .navbar-nav > li > a.btn.btn-just-icon { - font-size: 20px; - padding: 12px 12px; - line-height: 1em; -} -.btn.btn-just-icon i, -.navbar .navbar-nav > li > a.btn.btn-just-icon i { - width: 20px; -} -.btn.btn-just-icon.btn-lg, -.navbar .navbar-nav > li > a.btn.btn-just-icon.btn-lg { - font-size: 22px; - padding: 13px 18px; -} - -.btn .material-icons { - vertical-align: middle; - font-size: 17px; - top: -1px; - position: relative; -} - -.navbar .navbar-nav > li > a.btn { - margin-top: 2px; - margin-bottom: 2px; -} -.navbar .navbar-nav > li > a.btn.btn-fab { - margin: 5px 2px; -} -.navbar .navbar-nav > li > a:not(.btn) .material-icons { - margin-top: -3px; - top: 0px; - position: relative; - margin-right: 3px; -} -.navbar .navbar-nav > li > .profile-photo { - margin: 5px 2px; -} - -.navbar-default:not(.navbar-transparent) .navbar-nav > li > a.btn.btn-white.btn-simple { - color: #555555; -} - -.btn-group, -.btn-group-vertical { - position: relative; - margin: 10px 1px; -} -.btn-group.open > .dropdown-toggle.btn, .btn-group.open > .dropdown-toggle.btn.btn-default, -.btn-group-vertical.open > .dropdown-toggle.btn, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-default { - background-color: #FFFFFF; -} -.btn-group.open > .dropdown-toggle.btn.btn-inverse, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-inverse { - background-color: #212121; -} -.btn-group.open > .dropdown-toggle.btn.btn-primary, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-primary { - background-color: #9c27b0; -} -.btn-group.open > .dropdown-toggle.btn.btn-success, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-success { - background-color: #4caf50; -} -.btn-group.open > .dropdown-toggle.btn.btn-info, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-info { - background-color: #00bcd4; -} -.btn-group.open > .dropdown-toggle.btn.btn-warning, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-warning { - background-color: #ff9800; -} -.btn-group.open > .dropdown-toggle.btn.btn-danger, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-danger { - background-color: #f44336; -} -.btn-group.open > .dropdown-toggle.btn.btn-rose, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-rose { - background-color: #e91e63; -} -.btn-group .dropdown-menu, -.btn-group-vertical .dropdown-menu { - border-radius: 0 0 3px 3px; -} -.btn-group.btn-group-raised, -.btn-group-vertical.btn-group-raised { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} -.btn-group .btn + .btn, -.btn-group .btn, -.btn-group .btn:active, -.btn-group .btn-group, -.btn-group-vertical .btn + .btn, -.btn-group-vertical .btn, -.btn-group-vertical .btn:active, -.btn-group-vertical .btn-group { - margin: 0; -} \ No newline at end of file diff --git a/src/main/resources/static/style/img/alipay.png b/src/main/resources/static/style/img/alipay.png deleted file mode 100644 index 8d72f26..0000000 Binary files a/src/main/resources/static/style/img/alipay.png and /dev/null differ diff --git a/src/main/resources/static/style/img/alipay_active.png b/src/main/resources/static/style/img/alipay_active.png deleted file mode 100644 index c5e2440..0000000 Binary files a/src/main/resources/static/style/img/alipay_active.png and /dev/null differ diff --git a/src/main/resources/static/style/img/icon_user_center.png b/src/main/resources/static/style/img/icon_user_center.png deleted file mode 100644 index 2d978bf..0000000 Binary files a/src/main/resources/static/style/img/icon_user_center.png and /dev/null differ diff --git a/src/main/resources/static/style/img/weipay.png b/src/main/resources/static/style/img/weipay.png deleted file mode 100644 index 8a8c207..0000000 Binary files a/src/main/resources/static/style/img/weipay.png and /dev/null differ diff --git a/src/main/resources/static/style/img/weipay_active.png b/src/main/resources/static/style/img/weipay_active.png deleted file mode 100644 index e54d862..0000000 Binary files a/src/main/resources/static/style/img/weipay_active.png and /dev/null differ diff --git a/src/main/resources/static/style/login.css b/src/main/resources/static/style/login.css deleted file mode 100644 index eb603b0..0000000 --- a/src/main/resources/static/style/login.css +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -.login-panel{ - -} - -.login-panel .qrcode { - width: 100%; - hight: 100%; -} - -.login-panel .validateCode { - /*height:20px;*/ -} \ No newline at end of file diff --git a/src/main/resources/static/style/preLoading/main.css b/src/main/resources/static/style/preLoading/main.css deleted file mode 100755 index 669ebc7..0000000 --- a/src/main/resources/static/style/preLoading/main.css +++ /dev/null @@ -1,459 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - _____ _ _ _ _ -|_ _| | | | | | | | | - | | | |__ __ _| |_ ___ | |_ ___ _ __ ___ __ _| |_ ___ ___ ___ - | | | '_ \ / _` | __/ _ \ | __/ _ \| '_ ` _ \ / _` | __/ _ \ / _ \/ __| - _| |_ | | | | (_| | || __/ | || (_) | | | | | | (_| | || (_) | __/\__ \ - \___/ |_| |_|\__,_|\__\___| \__\___/|_| |_| |_|\__,_|\__\___/ \___||___/ - -Oh nice, welcome to the stylesheet of dreams. -It has it all. Classes, ID's, comments...the whole lot:) -Enjoy responsibly! -@ihatetomatoes - -*/ - -/* ========================================================================== - Chrome Frame prompt - ========================================================================== */ - -.chromeframe { - margin: 0.2em 0; - background: #ccc; - color: #000; - padding: 0.2em 0; -} - -/* ========================================================================== - Author's custom styles - ========================================================================== */ -p { - line-height: 1.33em; - color: #7E7E7E; -} -h1 { - color: #EEEEEE; -} - -#loader-wrapper { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1000; -} -#loader { - display: block; - position: relative; - left: 50%; - top: 50%; - width: 150px; - height: 150px; - margin: -75px 0 0 -75px; - border-radius: 50%; - border: 3px solid transparent; - border-top-color: #3498db; - - -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */ - animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */ - - z-index: 1001; -} - - #loader:before { - content: ""; - position: absolute; - top: 5px; - left: 5px; - right: 5px; - bottom: 5px; - border-radius: 50%; - border: 3px solid transparent; - border-top-color: #e74c3c; - - -webkit-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */ - animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */ - } - - #loader:after { - content: ""; - position: absolute; - top: 15px; - left: 15px; - right: 15px; - bottom: 15px; - border-radius: 50%; - border: 3px solid transparent; - border-top-color: #f9c922; - - -webkit-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */ - animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */ - } - - @-webkit-keyframes spin { - 0% { - -webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */ - -ms-transform: rotate(0deg); /* IE 9 */ - transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */ - } - 100% { - -webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */ - -ms-transform: rotate(360deg); /* IE 9 */ - transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */ - } - } - @keyframes spin { - 0% { - -webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */ - -ms-transform: rotate(0deg); /* IE 9 */ - transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */ - } - 100% { - -webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */ - -ms-transform: rotate(360deg); /* IE 9 */ - transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */ - } - } - - #loader-wrapper .loader-section { - position: fixed; - top: 0; - width: 51%; - height: 100%; - background: #222222; - z-index: 1000; - -webkit-transform: translateX(0); /* Chrome, Opera 15+, Safari 3.1+ */ - -ms-transform: translateX(0); /* IE 9 */ - transform: translateX(0); /* Firefox 16+, IE 10+, Opera */ - } - - #loader-wrapper .loader-section.section-left { - left: 0; - } - - #loader-wrapper .loader-section.section-right { - right: 0; - } - - /* Loaded */ - .loaded #loader-wrapper .loader-section.section-left { - -webkit-transform: translateX(-100%); /* Chrome, Opera 15+, Safari 3.1+ */ - -ms-transform: translateX(-100%); /* IE 9 */ - transform: translateX(-100%); /* Firefox 16+, IE 10+, Opera */ - - -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - } - - .loaded #loader-wrapper .loader-section.section-right { - -webkit-transform: translateX(100%); /* Chrome, Opera 15+, Safari 3.1+ */ - -ms-transform: translateX(100%); /* IE 9 */ - transform: translateX(100%); /* Firefox 16+, IE 10+, Opera */ - --webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - } - - .loaded #loader { - opacity: 0; - -webkit-transition: all 0.3s ease-out; - transition: all 0.3s ease-out; - } - .loaded #loader-wrapper { - visibility: hidden; - - -webkit-transform: translateY(-100%); /* Chrome, Opera 15+, Safari 3.1+ */ - -ms-transform: translateY(-100%); /* IE 9 */ - transform: translateY(-100%); /* Firefox 16+, IE 10+, Opera */ - - -webkit-transition: all 0.3s 1s ease-out; - transition: all 0.3s 1s ease-out; - } - - /* JavaScript Turned Off */ - .no-js #loader-wrapper { - display: none; - } - .no-js h1 { - color: #222222; - } - - #content { - margin: 0 auto; - padding-bottom: 50px; - width: 80%; - max-width: 978px; - } - - - - - - -/* ========================================================================== - Helper classes - ========================================================================== */ - -/* - * Image replacement - */ - -.ir { - background-color: transparent; - border: 0; - overflow: hidden; - /* IE 6/7 fallback */ - *text-indent: -9999px; -} - -.ir:before { - content: ""; - display: block; - width: 0; - height: 150%; -} - -/* - * Hide from both screenreaders and browsers: h5bp.com/u - */ - -.hidden { - display: none !important; - visibility: hidden; -} - -/* - * Hide only visually, but have it available for screenreaders: h5bp.com/v - */ - -.visuallyhidden { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} - -/* - * Extends the .visuallyhidden class to allow the element to be focusable - * when navigated to via the keyboard: h5bp.com/p - */ - -.visuallyhidden.focusable:active, -.visuallyhidden.focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; -} - -/* - * Hide visually and from screenreaders, but maintain layout - */ - -.invisible { - visibility: hidden; -} - -/* - * Clearfix: contain floats - * - * For modern browsers - * 1. The space content is one way to avoid an Opera bug when the - * `contenteditable` attribute is included anywhere else in the document. - * Otherwise it causes space to appear at the top and bottom of elements - * that receive the `clearfix` class. - * 2. The use of `table` rather than `block` is only necessary if using - * `:before` to contain the top-margins of child elements. - */ - -.clearfix:before, -.clearfix:after { - content: " "; /* 1 */ - display: table; /* 2 */ -} - -.clearfix:after { - clear: both; -} - -/* - * For IE 6/7 only - * Include this rule to trigger hasLayout and contain floats. - */ - -.clearfix { - *zoom: 1; -} - -/* ========================================================================== - EXAMPLE Media Queries for Responsive Design. - These examples override the primary ('mobile first') styles. - Modify as content requires. - ========================================================================== */ - -@media only screen and (min-width: 35em) { - /* Style adjustments for viewports that meet the condition */ -} - -@media print, - (-o-min-device-pixel-ratio: 5/4), - (-webkit-min-device-pixel-ratio: 1.25), - (min-resolution: 120dpi) { - /* Style adjustments for high resolution devices */ -} - -/* ========================================================================== - Print styles. - Inlined to avoid required HTTP connection: h5bp.com/r - ========================================================================== */ - -@media print { - * { - background: transparent !important; - color: #000 !important; /* Black prints faster: h5bp.com/s */ - box-shadow: none !important; - text-shadow: none !important; - } - - a, - a:visited { - text-decoration: underline; - } - - a[href]:after { - content: " (" attr(href) ")"; - } - - abbr[title]:after { - content: " (" attr(title) ")"; - } - - /* - * Don't show links for images, or javascript/internal links - */ - - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - - thead { - display: table-header-group; /* h5bp.com/t */ - } - - tr, - img { - page-break-inside: avoid; - } - - img { - max-width: 100% !important; - } - - @page { - margin: 0.5cm; - } - - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - - h2, - h3 { - page-break-after: avoid; - } -} - -.back-link a { - color: #4ca340; - text-decoration: none; - border-bottom: 1px #4ca340 solid; -} -.back-link a:hover, -.back-link a:focus { - color: #408536; - text-decoration: none; - border-bottom: 1px #408536 solid; -} -h1 { - height: 100%; - /* The html and body elements cannot have any padding or margin. */ - margin: 0; - font-size: 14px; - font-family: 'Open Sans', sans-serif; - font-size: 32px; - margin-bottom: 3px; -} -.entry-header { - text-align: left; - margin: 0 auto 50px auto; - width: 80%; - max-width: 978px; - position: relative; - z-index: 10001; -} -#demo-content { - padding-top: 100px; -} - -/* - Ok so you have made it this far, that means you are very keen to on my code. - Anyway I don't really mind it. This is a great way to learn so you actually doing the right thing:) - Follow me @ihatetomatoes -*/ - - -.myloader { - border: 16px solid #f3f3f3; /* Light grey */ - border-top: 16px solid #3498db; /* Blue */ - border-radius: 50%; - width: 120px; - height: 120px; - animation: spin 2s linear infinite; - } - - -.hide-myloader { - display:none; -} - -.centered { - position: fixed; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); -} \ No newline at end of file diff --git a/src/main/resources/static/style/preLoading/normalize.css b/src/main/resources/static/style/preLoading/normalize.css deleted file mode 100755 index 1fb7c41..0000000 --- a/src/main/resources/static/style/preLoading/normalize.css +++ /dev/null @@ -1,544 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/*! normalize.css v1.1.2 | MIT License | git.io/normalize */ - -/* ========================================================================== - HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section, -summary { - display: block; -} - -/** - * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - */ - -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. - * Known issue: no IE 6 support. - */ - -[hidden] { - display: none; -} - -/* ========================================================================== - Base - ========================================================================== */ - -/** - * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-size: 100%; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Address `font-family` inconsistency between `textarea` and other form - * elements. - */ - -html, -button, -input, -select, -textarea { - font-family: sans-serif; -} - -/** - * Address margins handled incorrectly in IE 6/7. - */ - -body { - margin: 0; -} - -/* ========================================================================== - Links - ========================================================================== */ - -/** - * Address `outline` inconsistency between Chrome and other browsers. - */ - -a:focus { - outline: thin dotted; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* ========================================================================== - Typography - ========================================================================== */ - -/** - * Address font sizes and margins set differently in IE 6/7. - * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, - * and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -h2 { - font-size: 1.5em; - margin: 0.83em 0; -} - -h3 { - font-size: 1.17em; - margin: 1em 0; -} - -h4 { - font-size: 1em; - margin: 1.33em 0; -} - -h5 { - font-size: 0.83em; - margin: 1.67em 0; -} - -h6 { - font-size: 0.67em; - margin: 2.33em 0; -} - -/** - * Address styling not present in IE 7/8/9, Safari 5, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -blockquote { - margin: 1em 40px; -} - -/** - * Address styling not present in Safari 5 and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address differences between Firefox and other browsers. - * Known issue: no IE 6/7 normalization. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Address styling not present in IE 6/7/8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address margins set differently in IE 6/7. - */ - -p, -pre { - margin: 1em 0; -} - -/** - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em; -} - -/** - * Improve readability of pre-formatted text in all browsers. - */ - -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; -} - -/** - * Address CSS quotes not supported in IE 6/7. - */ - -q { - quotes: none; -} - -/** - * Address `quotes` property not supported in Safari 4. - */ - -q:before, -q:after { - content: ''; - content: none; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* ========================================================================== - Lists - ========================================================================== */ - -/** - * Address margins set differently in IE 6/7. - */ - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -/** - * Address paddings set differently in IE 6/7. - */ - -menu, -ol, -ul { - padding: 0 0 0 40px; -} - -/** - * Correct list images handled incorrectly in IE 7. - */ - -nav ul, -nav ol { - list-style: none; - list-style-image: none; -} - -/* ========================================================================== - Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. - * 2. Improve image quality when scaled in IE 7. - */ - -img { - border: 0; /* 1 */ - -ms-interpolation-mode: bicubic; /* 2 */ -} - -/** - * Correct overflow displayed oddly in IE 9. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* ========================================================================== - Figures - ========================================================================== */ - -/** - * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. - */ - -figure { - margin: 0; -} - -/* ========================================================================== - Forms - ========================================================================== */ - -/** - * Correct margin displayed oddly in IE 6/7. - */ - -form { - margin: 0; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct color not being inherited in IE 6/7/8/9. - * 2. Correct text not wrapping in Firefox 3. - * 3. Correct alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; - white-space: normal; /* 2 */ - *margin-left: -7px; /* 3 */ -} - -/** - * 1. Correct font size not being inherited in all browsers. - * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, - * and Chrome. - * 3. Improve appearance and consistency in all browsers. - */ - -button, -input, -select, -textarea { - font-size: 100%; /* 1 */ - margin: 0; /* 2 */ - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ -} - -/** - * Address Firefox 3+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -button, -input { - line-height: normal; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. - * Correct `select` style inheritance in Firefox 4+ and Opera. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Remove inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - *overflow: visible; /* 4 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * 1. Address box sizing set to content-box in IE 8/9. - * 2. Remove excess padding in IE 8/9. - * 3. Remove excess padding in IE 7. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari 5 and Chrome - * on OS X. - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Remove inner padding and border in Firefox 3+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * 1. Remove default vertical scrollbar in IE 6/7/8/9. - * 2. Improve readability and alignment in all browsers. - */ - -textarea { - overflow: auto; /* 1 */ - vertical-align: top; /* 2 */ -} - -/* ========================================================================== - Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/src/main/resources/static/style/theme.css b/src/main/resources/static/style/theme.css deleted file mode 100644 index 2b0ddef..0000000 --- a/src/main/resources/static/style/theme.css +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -body{ - background-color: #ffffff; -} - -.navbar.navbar-app { - background-color: #F26E5F; - color: rgba(255,255,255, 0.84); -} - -.foot-wrap{ - background-color: #5B90E7; - height:100px; - color: #FFFFFF; -} - -.foot-wrap > *{ - margin-top:20px; -} - -.avatar{ - border-radius: 100%; -} - -@media (min-width: 1024px){ - .left{ - /*background-color: #5B90E7;*/ - /*color: #FFFFFF;*/ - /*margin-top:-20px;*/ - margin-left: 20px; - display: block; - } -} - - -.left .separator{ - clear: both; - overflow: hidden; - margin-top: 10px; - margin-bottom: 10px; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - content: ""; -} -.left .nav { - font-size: 20px; - color: #000000; -} - -@media (min-width: 1024px) { - .right{ - width: 61.8%; - margin-left: 23.2%; - } } -.right{ - -} - -.right .separator{ - /*clear: both;*/ - overflow: hidden; - margin-top: 10px; - margin-bottom: 10px; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - content: ""; -} - -a, a:hover, a:focus { - color: #000000; -} -a { - color: #337ab7; - text-decoration: none; -} - -.form-group .checkbox label, .form-group .radio label, .form-group label{ - color:#333333; -} - -.form-group.is-focused .radio label:hover, .form-group.is-focused label.radio-inline:hover, .form-group.is-focused .radio label:focus, .form-group.is-focused label.radio-inline:focus{ - color:#333333; -} \ No newline at end of file diff --git a/src/main/resources/static/style/timeline.css b/src/main/resources/static/style/timeline.css deleted file mode 100644 index be50a21..0000000 --- a/src/main/resources/static/style/timeline.css +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -.timeline { - list-style: none; - padding: 20px 0 20px; - position: relative; -} -.timeline:before { - top: 0; - bottom: 0; - position: absolute; - content: " "; - width: 3px; - background-color: #eeeeee; - left: 50%; - margin-left: -1.5px; -} -.timeline > li { - margin-bottom: 20px; - position: relative; -} -.timeline > li:before, -.timeline > li:after { - content: " "; - display: table; -} -.timeline > li:after { - clear: both; -} -.timeline > li:before, -.timeline > li:after { - content: " "; - display: table; -} -.timeline > li:after { - clear: both; -} -.timeline > li > .timeline-panel { - width: 46%; - float: left; - border: 1px solid #d4d4d4; - border-radius: 2px; - padding: 20px; - position: relative; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); -} -.timeline > li > .timeline-panel:before { - position: absolute; - top: 26px; - right: -15px; - display: inline-block; - border-top: 15px solid transparent; - border-left: 15px solid #ccc; - border-right: 0 solid #ccc; - border-bottom: 15px solid transparent; - content: " "; -} -.timeline > li > .timeline-panel:after { - position: absolute; - top: 27px; - right: -14px; - display: inline-block; - border-top: 14px solid transparent; - border-left: 14px solid #fff; - border-right: 0 solid #fff; - border-bottom: 14px solid transparent; - content: " "; -} -.timeline > li > .timeline-badge { - color: #fff; - width: 50px; - height: 50px; - line-height: 50px; - font-size: 1.4em; - text-align: center; - position: absolute; - top: 16px; - left: 50%; - margin-left: -25px; - background-color: #999999; - z-index: 100; - border-top-right-radius: 50%; - border-top-left-radius: 50%; - border-bottom-right-radius: 50%; - border-bottom-left-radius: 50%; -} -.timeline > li.timeline-inverted > .timeline-panel { - float: right; -} -.timeline > li.timeline-inverted > .timeline-panel:before { - border-left-width: 0; - border-right-width: 15px; - left: -15px; - right: auto; -} -.timeline > li.timeline-inverted > .timeline-panel:after { - border-left-width: 0; - border-right-width: 14px; - left: -14px; - right: auto; -} -.timeline-badge.primary { - background-color: #2e6da4 !important; -} -.timeline-badge.success { - background-color: #3f903f !important; -} -.timeline-badge.warning { - background-color: #f0ad4e !important; -} -.timeline-badge.danger { - background-color: #d9534f !important; -} -.timeline-badge.info { - background-color: #5bc0de !important; -} -.timeline-title { - margin-top: 0; - color: inherit; -} -.timeline-body > p, -.timeline-body > ul { - margin-bottom: 0; -} -.timeline-body > p + p { - margin-top: 5px; -} \ No newline at end of file diff --git a/src/main/resources/static/vendor/angular-material/angular-animate.min.js b/src/main/resources/static/vendor/angular-material/angular-animate.min.js deleted file mode 100644 index da9c862..0000000 --- a/src/main/resources/static/vendor/angular-material/angular-animate.min.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - AngularJS v1.5.3 - (c) 2010-2016 Google, Inc. http://angularjs.org - License: MIT - */ -(function(E,w,Va){'use strict';function ya(a,b,c){if(!a)throw Ka("areq",b||"?",c||"required");return a}function za(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;ba(a)&&(a=a.join(" "));ba(b)&&(b=b.join(" "));return a+" "+b}function La(a){var b={};a&&(a.to||a.from)&&(b.to=a.to,b.from=a.from);return b}function V(a,b,c){var d="";a=ba(a)?a:a&&I(a)&&a.length?a.split(/\s+/):[];q(a,function(a,f){a&&0=a&&(a=h,h=0,b.push(e),e=[]);e.push(f.fn);f.children.forEach(function(a){h++;c.push(a)});a--}e.length&&b.push(e);return b}(c)}var l=[],w=Q(a);return function(s,x,v){function h(a){a=a.hasAttribute("ng-animate-ref")?[a]:a.querySelectorAll("[ng-animate-ref]");var b=[];q(a,function(a){var c=a.getAttribute("ng-animate-ref");c&&c.length&&b.push(a)});return b}function P(a){var b=[],c={};q(a,function(a,g){var d=A(a.element),k=0<=["enter","move"].indexOf(a.event),d=a.structural? - h(d):[];if(d.length){var e=k?"to":"from";q(d,function(a){var b=a.getAttribute("ng-animate-ref");c[b]=c[b]||{};c[b][e]={animationID:g,element:H(a)}})}else b.push(a)});var d={},k={};q(c,function(c,h){var e=c.from,f=c.to;if(e&&f){var m=a[e.animationID],C=a[f.animationID],n=e.animationID.toString();if(!k[n]){var D=k[n]={structural:!0,beforeStart:function(){m.beforeStart();C.beforeStart()},close:function(){m.close();C.close()},classes:y(m.classes,C.classes),from:m,to:C,anchors:[]};D.classes.length?b.push(D): - (b.push(m),b.push(C))}k[n].anchors.push({out:e.element,"in":f.element})}else e=e?e.animationID:f.animationID,f=e.toString(),d[f]||(d[f]=!0,b.push(a[e]))});return b}function y(a,b){a=a.split(" ");b=b.split(" ");for(var c=[],d=0;d=Q&&b>=L&&(H=!0,n())}function K(){function b(){if(!P){D(!1);q(y,function(a){m.style[a[0]]=a[1]});h(a,g);e.addClass(a,ga);if(p.recalculateTimingStyles){na=m.className+" "+fa;ia=w(m,na);B=v(m,na,ia);$=B.maxDelay;I=Math.max($,0);L=B.maxDuration;if(0===L){n();return}p.hasTransitions=0z.expectedEndTime)?r.cancel(z.timer):f.push(n)}K&&(l=r(c,l,!1),f[0]={timer:l,expectedEndTime:d},f.push(n),a.data("$$animateCss",f)); - if(ea.length)a.on(ea.join(" "),C);g.to&&(g.cleanupStyles&&Ga(G,m,Object.keys(g.to)),Ba(a,g))}}function c(){var b=a.data("$$animateCss");if(b){for(var d=1;d .md-scroll-mask-bar { - display: block; - position: absolute; - background-color: #fafafa; - right: 0; - top: 0; - bottom: 0; - z-index: 65; - box-shadow: inset 0 0 1px rgba(0, 0, 0, .3) -} - -@media (min-width: 960px) { - .md-padding { - padding: 16px - } -} - -body[dir=ltr], body[dir=rtl], html[dir=ltr], html[dir=rtl] { - unicode-bidi: embed -} - -bdo[dir=rtl] { - direction: rtl; - unicode-bidi: bidi-override -} - -bdo[dir=ltr] { - direction: ltr; - unicode-bidi: bidi-override -} - -body, html { - -webkit-tap-highlight-color: transparent; - -webkit-touch-callout: none; - min-height: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale -} - -.md-display-4 { - font-size: 112px; - font-weight: 300; - letter-spacing: -.010em; - line-height: 112px -} - -.md-display-3 { - font-size: 56px; - font-weight: 400; - letter-spacing: -.005em; - line-height: 56px -} - -.md-display-2 { - font-size: 45px; - font-weight: 400; - line-height: 64px -} - -.md-display-1 { - font-size: 34px; - font-weight: 400; - line-height: 40px -} - -.md-headline { - font-size: 24px; - font-weight: 400; - line-height: 32px -} - -.md-title { - font-size: 20px; - font-weight: 500; - letter-spacing: .005em -} - -.md-subhead { - font-size: 16px; - font-weight: 400; - letter-spacing: .010em; - line-height: 24px -} - -.md-body-1 { - font-size: 14px; - font-weight: 400; - letter-spacing: .010em; - line-height: 20px -} - -.md-body-2 { - font-size: 14px; - font-weight: 500; - letter-spacing: .010em; - line-height: 24px -} - -.md-caption { - font-size: 12px; - letter-spacing: .020em -} - -.md-button { - letter-spacing: .010em -} - -button, html, input, select, textarea { - font-family: Roboto, "Helvetica Neue", sans-serif -} - -button, input, select, textarea { - font-size: 100% -} - -@-webkit-keyframes md-autocomplete-list-out { - 0% { - -webkit-animation-timing-function: linear; - animation-timing-function: linear - } - 50% { - opacity: 0; - height: 40px; - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in - } - 100% { - height: 0; - opacity: 0 - } -} - -@keyframes md-autocomplete-list-out { - 0% { - -webkit-animation-timing-function: linear; - animation-timing-function: linear - } - 50% { - opacity: 0; - height: 40px; - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in - } - 100% { - height: 0; - opacity: 0 - } -} - -@-webkit-keyframes md-autocomplete-list-in { - 0% { - opacity: 0; - height: 0; - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out - } - 50% { - opacity: 0; - height: 40px - } - 100% { - opacity: 1; - height: 40px - } -} - -@keyframes md-autocomplete-list-in { - 0% { - opacity: 0; - height: 0; - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out - } - 50% { - opacity: 0; - height: 40px - } - 100% { - opacity: 1; - height: 40px - } -} - -md-autocomplete { - border-radius: 2px; - display: block; - height: 40px; - position: relative; - overflow: visible; - min-width: 190px -} - -md-autocomplete[disabled] input { - cursor: default -} - -md-autocomplete[md-floating-label] { - border-radius: 0; - background: 0 0; - height: auto -} - -md-autocomplete[md-floating-label] md-input-container { - padding-bottom: 0 -} - -md-autocomplete[md-floating-label] md-autocomplete-wrap { - height: auto -} - -md-autocomplete[md-floating-label] button { - position: absolute; - top: auto; - bottom: 0; - right: 0; - width: 30px; - height: 30px -} - -md-autocomplete md-autocomplete-wrap { - display: block; - position: relative; - overflow: visible; - height: 40px -} - -md-autocomplete md-autocomplete-wrap.md-menu-showing { - z-index: 51 -} - -md-autocomplete md-autocomplete-wrap md-progress-linear { - position: absolute; - bottom: -2px; - left: 0 -} - -md-autocomplete md-autocomplete-wrap md-progress-linear.md-inline { - bottom: 40px; - right: 2px; - left: 2px; - width: auto -} - -md-autocomplete md-autocomplete-wrap md-progress-linear ._md-mode-indeterminate { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 3px; - transition: none -} - -md-autocomplete md-autocomplete-wrap md-progress-linear ._md-mode-indeterminate .md-container { - transition: none; - height: 3px -} - -md-autocomplete md-autocomplete-wrap md-progress-linear ._md-mode-indeterminate.ng-enter { - transition: opacity .15s linear -} - -md-autocomplete md-autocomplete-wrap md-progress-linear ._md-mode-indeterminate.ng-enter.ng-enter-active { - opacity: 1 -} - -md-autocomplete md-autocomplete-wrap md-progress-linear ._md-mode-indeterminate.ng-leave { - transition: opacity .15s linear -} - -md-autocomplete md-autocomplete-wrap md-progress-linear ._md-mode-indeterminate.ng-leave.ng-leave-active { - opacity: 0 -} - -md-autocomplete input:not(.md-input) { - font-size: 14px; - box-sizing: border-box; - border: none; - box-shadow: none; - outline: 0; - background: 0 0; - width: 100%; - padding: 0 15px; - line-height: 40px; - height: 40px -} - -md-autocomplete input:not(.md-input)::-ms-clear { - display: none -} - -md-autocomplete button { - position: relative; - line-height: 20px; - text-align: center; - width: 30px; - height: 30px; - cursor: pointer; - border: none; - border-radius: 50%; - padding: 0; - font-size: 12px; - background: 0 0; - margin: auto 5px -} - -md-autocomplete button:after { - content: ''; - position: absolute; - top: -6px; - right: -6px; - bottom: -6px; - left: -6px; - border-radius: 50%; - -webkit-transform: scale(0); - transform: scale(0); - opacity: 0; - transition: all .4s cubic-bezier(.25, .8, .25, 1) -} - -md-autocomplete button:focus { - outline: 0 -} - -md-autocomplete button:focus:after { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1 -} - -md-autocomplete button md-icon { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0) scale(.9); - transform: translate3d(-50%, -50%, 0) scale(.9) -} - -md-autocomplete button md-icon path { - stroke-width: 0 -} - -md-autocomplete button.ng-enter { - -webkit-transform: scale(0); - transform: scale(0); - transition: -webkit-transform .15s ease-out; - transition: transform .15s ease-out -} - -md-autocomplete button.ng-enter.ng-enter-active { - -webkit-transform: scale(1); - transform: scale(1) -} - -md-autocomplete button.ng-leave { - transition: -webkit-transform .15s ease-out; - transition: transform .15s ease-out -} - -md-autocomplete button.ng-leave.ng-leave-active { - -webkit-transform: scale(0); - transform: scale(0) -} - -@media screen and (-ms-high-contrast: active) { - md-autocomplete input { - border: 1px solid #fff - } - - md-autocomplete li:focus { - color: #fff - } -} - -.md-virtual-repeat-container.md-autocomplete-suggestions-container { - position: absolute; - box-shadow: 0 2px 5px rgba(0, 0, 0, .25); - height: 225.5px; - max-height: 225.5px; - z-index: 100 -} - -.md-virtual-repeat-container.md-not-found { - height: 48px -} - -.md-autocomplete-suggestions { - margin: 0; - list-style: none; - padding: 0 -} - -.md-autocomplete-suggestions li { - font-size: 14px; - overflow: hidden; - padding: 0 15px; - line-height: 48px; - height: 48px; - transition: background .15s linear; - margin: 0; - white-space: nowrap; - text-overflow: ellipsis -} - -.md-autocomplete-suggestions li:focus { - outline: 0 -} - -.md-autocomplete-suggestions li:not(.md-not-found-wrapper) { - cursor: pointer -} - -@media screen and (-ms-high-contrast: active) { - .md-autocomplete-suggestions, md-autocomplete { - border: 1px solid #fff - } -} - -md-bottom-sheet { - position: absolute; - left: 0; - right: 0; - bottom: 0; - padding: 8px 16px 88px; - z-index: 70; - border-top-width: 1px; - border-top-style: solid; - -webkit-transform: translate3d(0, 80px, 0); - transform: translate3d(0, 80px, 0); - transition: all .4s cubic-bezier(.25, .8, .25, 1); - transition-property: -webkit-transform; - transition-property: transform -} - -md-bottom-sheet.md-has-header { - padding-top: 0 -} - -md-bottom-sheet.ng-enter { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) -} - -md-bottom-sheet.ng-enter-active { - opacity: 1; - display: block; - -webkit-transform: translate3d(0, 80px, 0) !important; - transform: translate3d(0, 80px, 0) !important -} - -md-bottom-sheet.ng-leave-active { - -webkit-transform: translate3d(0, 100%, 0) !important; - transform: translate3d(0, 100%, 0) !important; - transition: all .3s cubic-bezier(.55, 0, .55, .2) -} - -md-bottom-sheet .md-subheader { - background-color: transparent; - font-family: Roboto, "Helvetica Neue", sans-serif; - line-height: 56px; - padding: 0; - white-space: nowrap -} - -md-bottom-sheet md-inline-icon { - display: inline-block; - height: 24px; - width: 24px; - fill: #444 -} - -md-bottom-sheet md-list-item { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - outline: 0 -} - -md-bottom-sheet md-list-item:hover { - cursor: pointer -} - -md-bottom-sheet.md-list md-list-item { - padding: 0; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 48px -} - -md-bottom-sheet.md-grid { - padding-left: 24px; - padding-right: 24px; - padding-top: 0 -} - -md-bottom-sheet.md-grid md-list { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - transition: all .5s; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center -} - -md-bottom-sheet.md-grid md-list-item { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - transition: all .5s; - height: 96px; - margin-top: 8px; - margin-bottom: 8px -} - -@media (max-width: 960px) { - md-bottom-sheet.md-grid md-list-item { - -webkit-flex: 1 1 33.33333%; - -ms-flex: 1 1 33.33333%; - flex: 1 1 33.33333%; - max-width: 33.33333% - } - - md-bottom-sheet.md-grid md-list-item:nth-of-type(3n+1) { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start - } - - md-bottom-sheet.md-grid md-list-item:nth-of-type(3n) { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end - } -} - -@media (min-width: 960px) and (max-width: 1279px) { - md-bottom-sheet.md-grid md-list-item { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25% - } -} - -@media (min-width: 1280px) and (max-width: 1919px) { - md-bottom-sheet.md-grid md-list-item { - -webkit-flex: 1 1 16.66667%; - -ms-flex: 1 1 16.66667%; - flex: 1 1 16.66667%; - max-width: 16.66667% - } -} - -@media (min-width: 1920px) { - md-bottom-sheet.md-grid md-list-item { - -webkit-flex: 1 1 14.28571%; - -ms-flex: 1 1 14.28571%; - flex: 1 1 14.28571%; - max-width: 14.28571% - } -} - -md-bottom-sheet.md-grid md-list-item .md-list-item-content { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - width: 48px; - padding-bottom: 16px -} - -md-bottom-sheet.md-grid md-list-item .md-grid-item-content { - border: 1px solid transparent; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - width: 80px -} - -md-bottom-sheet.md-grid md-list-item .md-grid-text { - font-weight: 400; - line-height: 16px; - font-size: 13px; - margin: 0; - white-space: nowrap; - width: 64px; - text-align: center; - text-transform: none; - padding-top: 8px -} - -@media screen and (-ms-high-contrast: active) { - md-bottom-sheet { - border: 1px solid #fff - } -} - -md-backdrop { - transition: opacity 450ms; - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - z-index: 50 -} - -md-backdrop._md-menu-backdrop { - position: fixed !important; - z-index: 99 -} - -md-backdrop._md-select-backdrop { - z-index: 81; - transition-duration: 0 -} - -md-backdrop._md-dialog-backdrop { - z-index: 79 -} - -md-backdrop._md-bottom-sheet-backdrop { - z-index: 69 -} - -md-backdrop._md-sidenav-backdrop { - z-index: 59 -} - -md-backdrop._md-click-catcher { - position: absolute -} - -md-backdrop.md-opaque { - opacity: .48 -} - -md-backdrop.md-opaque.ng-enter { - opacity: 0 -} - -md-backdrop.md-opaque.ng-enter.md-opaque.ng-enter-active { - opacity: .48 -} - -md-backdrop.md-opaque.ng-leave { - opacity: .48; - transition: opacity 400ms -} - -md-backdrop.md-opaque.ng-leave.md-opaque.ng-leave-active { - opacity: 0 -} - -button.md-button::-moz-focus-inner { - border: 0 -} - -.md-button { - border-radius: 3px; - box-sizing: border-box; - color: currentColor; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - position: relative; - outline: 0; - border: 0; - display: inline-block; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - padding: 0 6px; - margin: 6px 8px; - line-height: 36px; - min-height: 36px; - background: 0 0; - white-space: nowrap; - min-width: 88px; - text-align: center; - text-transform: uppercase; - font-weight: 500; - font-size: 14px; - font-style: inherit; - font-variant: inherit; - font-family: inherit; - text-decoration: none; - cursor: pointer; - overflow: hidden; - transition: box-shadow .4s cubic-bezier(.25, .8, .25, 1), background-color .4s cubic-bezier(.25, .8, .25, 1) -} - -.md-button:focus { - outline: 0 -} - -.md-button:focus, .md-button:hover { - text-decoration: none -} - -.md-button.ng-hide, .md-button.ng-leave { - transition: none -} - -.md-button.md-cornered { - border-radius: 0 -} - -.md-button.md-icon { - padding: 0; - background: 0 0 -} - -.md-button.md-raised:not([disabled]) { - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .26) -} - -.md-button.md-icon-button { - margin: 0 6px; - height: 40px; - min-width: 0; - line-height: 24px; - padding: 8px; - width: 40px; - border-radius: 50% -} - -.md-button.md-icon-button .md-ripple-container { - border-radius: 50%; - background-clip: padding-box; - overflow: hidden; - -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC) -} - -.md-button.md-fab { - z-index: 20; - line-height: 56px; - min-width: 0; - width: 56px; - height: 56px; - vertical-align: middle; - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .26); - border-radius: 50%; - background-clip: padding-box; - overflow: hidden; - transition: all .3s cubic-bezier(.55, 0, .55, .2); - transition-property: background-color, box-shadow, -webkit-transform; - transition-property: background-color, box-shadow, transform -} - -.md-button.md-fab.md-fab-bottom-right { - top: auto; - right: 20px; - bottom: 20px; - left: auto; - position: absolute -} - -.md-button.md-fab.md-fab-bottom-left { - top: auto; - right: auto; - bottom: 20px; - left: 20px; - position: absolute -} - -.md-button.md-fab.md-fab-top-right { - top: 20px; - right: 20px; - bottom: auto; - left: auto; - position: absolute -} - -.md-button.md-fab.md-fab-top-left { - top: 20px; - right: auto; - bottom: auto; - left: 20px; - position: absolute -} - -.md-button.md-fab .md-ripple-container { - border-radius: 50%; - background-clip: padding-box; - overflow: hidden; - -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC) -} - -.md-button.md-fab.md-mini { - line-height: 40px; - width: 40px; - height: 40px -} - -.md-button.md-fab.ng-hide, .md-button.md-fab.ng-leave { - transition: none -} - -.md-button:not([disabled]).md-fab.md-focused, .md-button:not([disabled]).md-raised.md-focused { - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .26) -} - -.md-button:not([disabled]).md-fab:active, .md-button:not([disabled]).md-raised:active { - box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .4) -} - -.md-button .md-ripple-container { - border-radius: 3px; - background-clip: padding-box; - overflow: hidden; - -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC) -} - -._md-toast-open-top .md-button.md-fab-top-left, ._md-toast-open-top .md-button.md-fab-top-right { - transition: all .4s cubic-bezier(.25, .8, .25, 1); - -webkit-transform: translate3d(0, 42px, 0); - transform: translate3d(0, 42px, 0) -} - -._md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused, ._md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover, ._md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused, ._md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover { - -webkit-transform: translate3d(0, 41px, 0); - transform: translate3d(0, 41px, 0) -} - -._md-toast-open-bottom .md-button.md-fab-bottom-left, ._md-toast-open-bottom .md-button.md-fab-bottom-right { - transition: all .4s cubic-bezier(.25, .8, .25, 1); - -webkit-transform: translate3d(0, -42px, 0); - transform: translate3d(0, -42px, 0) -} - -._md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused, ._md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover, ._md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused, ._md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover { - -webkit-transform: translate3d(0, -43px, 0); - transform: translate3d(0, -43px, 0) -} - -.md-button-group { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - width: 100% -} - -.md-button-group > .md-button { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - display: block; - overflow: hidden; - width: 0; - border-width: 1px 0 1px 1px; - border-radius: 0; - text-align: center; - text-overflow: ellipsis; - white-space: nowrap -} - -.md-button-group > .md-button:first-child { - border-radius: 2px 0 0 2px -} - -.md-button-group > .md-button:last-child { - border-right-width: 1px; - border-radius: 0 2px 2px 0 -} - -@media screen and (-ms-high-contrast: active) { - .md-button.md-fab, .md-button.md-raised { - border: 1px solid #fff - } -} - -md-card { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - margin: 8px; - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12) -} - -md-card md-card-header { - padding: 16px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-card md-card-header:first-child md-card-avatar { - margin-right: 12px -} - -[dir=rtl] md-card md-card-header:first-child md-card-avatar { - margin-right: auto; - margin-left: 12px -} - -md-card md-card-header:last-child md-card-avatar { - margin-left: 12px -} - -[dir=rtl] md-card md-card-header:last-child md-card-avatar { - margin-left: auto; - margin-right: 12px -} - -md-card md-card-header md-card-avatar { - width: 40px; - height: 40px -} - -md-card md-card-header md-card-avatar .md-user-avatar, md-card md-card-header md-card-avatar md-icon { - border-radius: 50% -} - -md-card md-card-header md-card-avatar md-icon { - padding: 8px -} - -md-card md-card-header md-card-avatar + md-card-header-text { - max-height: 40px -} - -md-card md-card-header md-card-avatar + md-card-header-text .md-title { - font-size: 14px -} - -md-card md-card-header md-card-header-text { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column -} - -md-card md-card-header md-card-header-text .md-subhead { - font-size: 14px -} - -md-card > :not(md-card-content) img, md-card > img { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: 100%; - height: 100% !important -} - -md-card md-card-title { - padding: 24px 16px 16px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-card md-card-title + md-card-content { - padding-top: 0 -} - -md-card md-card-title md-card-title-text { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - display: -webkit-flex; - display: -ms-flexbox; - display: flex -} - -md-card md-card-title md-card-title-text .md-subhead { - padding-top: 0; - font-size: 14px -} - -md-card md-card-title md-card-title-text:only-child .md-subhead { - padding-top: 12px -} - -md-card md-card-title md-card-title-media { - margin-top: -8px -} - -md-card md-card-title md-card-title-media .md-media-sm { - height: 80px; - width: 80px -} - -md-card md-card-title md-card-title-media .md-media-md { - height: 112px; - width: 112px -} - -md-card md-card-title md-card-title-media .md-media-lg { - height: 152px; - width: 152px -} - -md-card md-card-content { - display: block; - padding: 16px -} - -md-card md-card-content > p:first-child { - margin-top: 0 -} - -md-card md-card-content > p:last-child { - margin-bottom: 0 -} - -md-card md-card-content .md-media-xl { - height: 240px; - width: 240px -} - -md-card .md-actions, md-card md-card-actions { - margin: 8px -} - -md-card .md-actions.layout-column .md-button:not(.md-icon-button), md-card md-card-actions.layout-column .md-button:not(.md-icon-button) { - margin: 2px 0 -} - -md-card .md-actions.layout-column .md-button:not(.md-icon-button):first-of-type, md-card md-card-actions.layout-column .md-button:not(.md-icon-button):first-of-type { - margin-top: 0 -} - -md-card .md-actions.layout-column .md-button:not(.md-icon-button):last-of-type, md-card md-card-actions.layout-column .md-button:not(.md-icon-button):last-of-type { - margin-bottom: 0 -} - -md-card .md-actions.layout-column .md-button.md-icon-button, md-card md-card-actions.layout-column .md-button.md-icon-button { - margin-top: 6px; - margin-bottom: 6px -} - -md-card .md-actions md-card-icon-actions, md-card md-card-actions md-card-icon-actions { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button), md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button) { - margin: 0 4px -} - -md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type, md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type { - margin-left: 0 -} - -[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type, [dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type { - margin-left: auto; - margin-right: 0 -} - -md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type, md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type { - margin-right: 0 -} - -[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type, [dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type { - margin-right: auto; - margin-left: 0 -} - -md-card .md-actions:not(.layout-column) .md-button.md-icon-button, md-card md-card-actions:not(.layout-column) .md-button.md-icon-button { - margin-left: 6px; - margin-right: 6px -} - -md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type, md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type { - margin-left: 12px -} - -[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type, [dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type { - margin-left: auto; - margin-right: 12px -} - -md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type, md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type { - margin-right: 12px -} - -[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type, [dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type { - margin-right: auto; - margin-left: 12px -} - -md-card .md-actions:not(.layout-column) .md-button + md-card-icon-actions, md-card md-card-actions:not(.layout-column) .md-button + md-card-icon-actions { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-card md-card-footer { - margin-top: auto; - padding: 16px -} - -@media screen and (-ms-high-contrast: active) { - md-card { - border: 1px solid #fff - } -} - -.md-inline-form md-checkbox { - margin: 19px 0 18px -} - -md-checkbox { - box-sizing: border-box; - display: inline-block; - margin-bottom: 16px; - white-space: nowrap; - cursor: pointer; - outline: 0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - position: relative; - min-width: 20px; - min-height: 20px; - margin-left: 0; - margin-right: 16px -} - -[dir=rtl] md-checkbox { - margin-left: 16px; - margin-right: 0 -} - -md-checkbox:last-of-type { - margin-left: 0; - margin-right: 0 -} - -md-checkbox.md-focused:not([disabled]) ._md-container:before { - left: -8px; - top: -8px; - right: -8px; - bottom: -8px -} - -md-checkbox.md-focused:not([disabled]):not(.md-checked) ._md-container:before { - background-color: rgba(0, 0, 0, .12) -} - -md-checkbox.md-align-top-left > div._md-container { - top: 12px -} - -md-checkbox ._md-container { - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - box-sizing: border-box; - display: inline-block; - width: 20px; - height: 20px; - left: 0; - right: auto -} - -[dir=rtl] md-checkbox ._md-container { - left: auto; - right: 0 -} - -md-checkbox ._md-container:before { - box-sizing: border-box; - background-color: transparent; - border-radius: 50%; - content: ''; - position: absolute; - display: block; - height: auto; - left: 0; - top: 0; - right: 0; - bottom: 0; - transition: all .5s; - width: auto -} - -md-checkbox ._md-container:after { - box-sizing: border-box; - content: ''; - position: absolute; - top: -10px; - right: -10px; - bottom: -10px; - left: -10px -} - -md-checkbox ._md-container .md-ripple-container { - position: absolute; - display: block; - width: auto; - height: auto; - left: -15px; - top: -15px; - right: -15px; - bottom: -15px -} - -md-checkbox ._md-icon { - box-sizing: border-box; - transition: 240ms; - position: absolute; - top: 0; - left: 0; - width: 20px; - height: 20px; - border-width: 2px; - border-style: solid; - border-radius: 2px -} - -md-checkbox.md-checked ._md-icon { - border: none -} - -md-checkbox.md-checked ._md-icon:after { - box-sizing: border-box; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - left: 6.67px; - top: 2.22px; - display: table; - width: 6.67px; - height: 13.33px; - border-width: 2px; - border-style: solid; - border-top: 0; - border-left: 0; - content: '' -} - -md-checkbox[disabled] { - cursor: default -} - -md-checkbox.md-indeterminate ._md-icon:after { - box-sizing: border-box; - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - display: table; - width: 12px; - height: 2px; - border-width: 2px; - border-style: solid; - border-top: 0; - border-left: 0; - content: '' -} - -md-checkbox ._md-label { - box-sizing: border-box; - position: relative; - display: inline-block; - vertical-align: middle; - white-space: normal; - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; - margin-left: 30px; - margin-right: 0 -} - -[dir=rtl] md-checkbox ._md-label { - margin-left: 0; - margin-right: 30px -} - -.md-contact-chips .md-chips md-chip { - padding: 0 25px 0 0 -} - -[dir=rtl] .md-contact-chips .md-chips md-chip { - padding: 0 0 0 25px -} - -.md-contact-chips .md-chips md-chip .md-contact-avatar { - float: left -} - -[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-avatar { - float: right -} - -.md-contact-chips .md-chips md-chip .md-contact-avatar img { - height: 32px; - border-radius: 16px -} - -.md-contact-chips .md-chips md-chip .md-contact-name { - display: inline-block; - height: 32px; - margin-left: 8px -} - -[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-name { - margin-left: auto; - margin-right: 8px -} - -.md-contact-suggestion { - height: 56px -} - -.md-contact-suggestion img { - height: 40px; - border-radius: 20px; - margin-top: 8px -} - -.md-contact-suggestion .md-contact-name { - margin-left: 8px; - width: 120px -} - -[dir=rtl] .md-contact-suggestion .md-contact-name { - margin-left: auto; - margin-right: 8px -} - -.md-contact-suggestion .md-contact-email, .md-contact-suggestion .md-contact-name { - display: inline-block; - overflow: hidden; - text-overflow: ellipsis -} - -.md-contact-chips-suggestions li { - height: 100% -} - -.md-chips { - display: block; - font-family: Roboto, "Helvetica Neue", sans-serif; - font-size: 16px; - padding: 0 0 8px 3px; - vertical-align: middle -} - -.md-chips:after { - content: ''; - display: table; - clear: both -} - -[dir=rtl] .md-chips { - padding: 0 3px 8px 0 -} - -.md-chips.md-readonly ._md-chip-input-container { - min-height: 32px -} - -.md-chips:not(.md-readonly) { - cursor: text -} - -.md-chips:not(.md-readonly) md-chip:not(.md-readonly) { - padding-right: 22px -} - -[dir=rtl] .md-chips:not(.md-readonly) md-chip:not(.md-readonly) { - padding-right: auto; - padding-left: 22px -} - -.md-chips:not(.md-readonly) md-chip:not(.md-readonly) ._md-chip-content { - padding-right: 4px -} - -[dir=rtl] .md-chips:not(.md-readonly) md-chip:not(.md-readonly) ._md-chip-content { - padding-right: auto; - padding-left: 4px -} - -.md-chips md-chip { - cursor: default; - border-radius: 16px; - display: block; - height: 32px; - line-height: 32px; - margin: 8px 8px 0 0; - padding: 0 12px; - float: left; - box-sizing: border-box; - max-width: 100%; - position: relative -} - -[dir=rtl] .md-chips md-chip { - margin: 8px 0 0 8px; - float: right -} - -.md-chips md-chip ._md-chip-content { - display: block; - float: left; - white-space: nowrap; - max-width: 100%; - overflow: hidden; - text-overflow: ellipsis -} - -[dir=rtl] .md-chips md-chip ._md-chip-content { - float: right -} - -.md-chips md-chip ._md-chip-content:focus { - outline: 0 -} - -.md-chips md-chip._md-chip-content-edit-is-enabled { - -webkit-user-select: none; - -moz-user-select: none; - -khtml-user-select: none; - -ms-user-select: none -} - -.md-chips md-chip ._md-chip-remove-container { - position: absolute; - right: 0; - line-height: 22px -} - -[dir=rtl] .md-chips md-chip ._md-chip-remove-container { - right: auto; - left: 0 -} - -.md-chips md-chip ._md-chip-remove { - text-align: center; - width: 32px; - height: 32px; - min-width: 0; - padding: 0; - background: 0 0; - border: none; - box-shadow: none; - margin: 0; - position: relative -} - -.md-chips md-chip ._md-chip-remove md-icon { - height: 18px; - width: 18px; - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0) -} - -.md-chips ._md-chip-input-container { - display: block; - line-height: 32px; - margin: 8px 8px 0 0; - padding: 0; - float: left -} - -[dir=rtl] .md-chips ._md-chip-input-container { - margin: 8px 0 0 8px; - float: right -} - -.md-chips ._md-chip-input-container input:not([type]), .md-chips ._md-chip-input-container input[type=url], .md-chips ._md-chip-input-container input[type=text], .md-chips ._md-chip-input-container input[type=email], .md-chips ._md-chip-input-container input[type=number], .md-chips ._md-chip-input-container input[type=tel] { - border: 0; - height: 32px; - line-height: 32px; - padding: 0 -} - -.md-chips ._md-chip-input-container input:not([type]):focus, .md-chips ._md-chip-input-container input[type=url]:focus, .md-chips ._md-chip-input-container input[type=text]:focus, .md-chips ._md-chip-input-container input[type=email]:focus, .md-chips ._md-chip-input-container input[type=number]:focus, .md-chips ._md-chip-input-container input[type=tel]:focus { - outline: 0 -} - -.md-chips ._md-chip-input-container md-autocomplete, .md-chips ._md-chip-input-container md-autocomplete-wrap { - background: 0 0 -} - -.md-chips ._md-chip-input-container md-autocomplete md-autocomplete-wrap { - box-shadow: none -} - -.md-chips ._md-chip-input-container input { - border: 0; - height: 32px; - line-height: 32px; - padding: 0 -} - -.md-chips ._md-chip-input-container input:focus { - outline: 0 -} - -.md-chips ._md-chip-input-container md-autocomplete, .md-chips ._md-chip-input-container md-autocomplete-wrap { - height: 32px -} - -.md-chips ._md-chip-input-container md-autocomplete { - box-shadow: none -} - -.md-chips ._md-chip-input-container md-autocomplete input { - position: relative -} - -.md-chips ._md-chip-input-container:not(:first-child) { - margin: 8px 8px 0 0 -} - -[dir=rtl] .md-chips ._md-chip-input-container:not(:first-child) { - margin: 8px 0 0 8px -} - -.md-chips ._md-chip-input-container input { - background: 0 0; - border-width: 0 -} - -.md-chips md-autocomplete button { - display: none -} - -@media screen and (-ms-high-contrast: active) { - ._md-chip-input-container, md-chip { - border: 1px solid #fff - } - - ._md-chip-input-container md-autocomplete { - border: none - } -} - -md-content { - display: block; - position: relative; - overflow: auto; - -webkit-overflow-scrolling: touch -} - -md-content[md-scroll-y] { - overflow-y: auto; - overflow-x: hidden -} - -md-content[md-scroll-x] { - overflow-x: auto; - overflow-y: hidden -} - -md-content.md-no-momentum { - -webkit-overflow-scrolling: auto -} - -@media print { - md-content { - overflow: visible !important - } -} - -md-calendar { - font-size: 13px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none -} - -.md-calendar-scroll-mask { - display: inline-block; - overflow: hidden; - height: 308px -} - -.md-calendar-scroll-mask .md-virtual-repeat-scroller { - overflow-y: scroll; - -webkit-overflow-scrolling: touch -} - -.md-calendar-scroll-mask .md-virtual-repeat-scroller::-webkit-scrollbar { - display: none -} - -.md-calendar-scroll-mask .md-virtual-repeat-offsetter { - width: 100% -} - -.md-calendar-scroll-container { - box-shadow: inset -3px 3px 6px rgba(0, 0, 0, .2); - display: inline-block; - height: 308px; - width: 346px -} - -.md-calendar-date { - height: 44px; - width: 44px; - text-align: center; - padding: 0; - border: none -} - -.md-calendar-date:first-child { - padding-left: 16px -} - -[dir=rtl] .md-calendar-date:first-child { - padding-left: auto; - padding-right: 16px -} - -.md-calendar-date:last-child { - padding-right: 16px -} - -[dir=rtl] .md-calendar-date:last-child { - padding-right: auto; - padding-left: 16px -} - -.md-calendar-date.md-calendar-date-disabled { - cursor: default -} - -.md-calendar-date-selection-indicator { - transition: background-color, color .4s cubic-bezier(.25, .8, .25, 1); - border-radius: 50%; - display: inline-block; - width: 40px; - height: 40px; - line-height: 40px -} - -.md-calendar-date:not(.md-disabled) .md-calendar-date-selection-indicator { - cursor: pointer -} - -.md-calendar-month-label { - height: 44px; - font-size: 14px; - font-weight: 500; - padding: 0 0 0 24px -} - -[dir=rtl] .md-calendar-month-label { - padding: 0 24px 0 0 -} - -.md-calendar-day-header { - table-layout: fixed; - border-spacing: 0; - border-collapse: collapse -} - -.md-calendar-day-header th { - width: 44px; - text-align: center; - padding: 0; - border: none; - font-weight: 400; - height: 40px -} - -.md-calendar-day-header th:first-child { - padding-left: 16px -} - -[dir=rtl] .md-calendar-day-header th:first-child { - padding-left: auto; - padding-right: 16px -} - -.md-calendar-day-header th:last-child { - padding-right: 16px -} - -[dir=rtl] .md-calendar-day-header th:last-child { - padding-right: auto; - padding-left: 16px -} - -.md-calendar { - table-layout: fixed; - border-spacing: 0; - border-collapse: collapse -} - -.md-calendar tr:last-child td { - border-bottom-width: 1px; - border-bottom-style: solid -} - -.md-calendar:first-child { - border-top: 1px solid transparent -} - -.md-calendar tbody, .md-calendar td, .md-calendar tr { - vertical-align: middle -} - -md-datepicker { - white-space: nowrap; - overflow: hidden; - padding-right: 18px; - margin-right: -18px; - vertical-align: middle -} - -[dir=rtl] md-datepicker { - padding-right: auto; - padding-left: 18px; - margin-right: auto; - margin-left: -18px -} - -.md-inline-form md-datepicker { - margin-top: 12px -} - -.md-datepicker-button { - display: inline-block; - box-sizing: border-box; - background: 0 0 -} - -.md-datepicker-input { - font-size: 14px; - box-sizing: border-box; - border: none; - box-shadow: none; - outline: 0; - background: 0 0; - min-width: 120px; - max-width: 328px -} - -.md-datepicker-input::-ms-clear { - display: none -} - -.md-datepicker-input-container { - position: relative; - padding-bottom: 5px; - border-bottom-width: 1px; - border-bottom-style: solid; - display: inline-block; - width: auto; - margin-left: 12px -} - -[dir=rtl] .md-datepicker-input-container { - margin-left: auto; - margin-right: 12px -} - -.md-datepicker-input-container.md-datepicker-focused { - border-bottom-width: 2px -} - -.md-datepicker-calendar-pane { - position: absolute; - top: 0; - left: 0; - z-index: 100; - border-width: 1px; - border-style: solid; - background: 0 0; - -webkit-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - transition: -webkit-transform .2s cubic-bezier(.25, .8, .25, 1); - transition: transform .2s cubic-bezier(.25, .8, .25, 1) -} - -.md-datepicker-calendar-pane.md-pane-open { - -webkit-transform: scale(1); - transform: scale(1) -} - -.md-datepicker-input-mask { - height: 40px; - width: 340px; - position: relative; - background: 0 0; - pointer-events: none; - cursor: text -} - -.md-datepicker-input-mask-opaque { - position: absolute; - right: 0; - left: 120px; - height: 100%; - margin-left: -1px -} - -.md-datepicker-calendar { - opacity: 0; - transition: opacity .2s cubic-bezier(.5, 0, .25, 1) -} - -.md-pane-open .md-datepicker-calendar { - opacity: 1 -} - -.md-datepicker-calendar md-calendar:focus { - outline: 0 -} - -.md-datepicker-expand-triangle { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - width: 0; - height: 0; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top: 5px solid -} - -.md-datepicker-triangle-button { - position: absolute; - right: 0; - top: 0; - -webkit-transform: translateY(-25%) translateX(45%); - transform: translateY(-25%) translateX(45%) -} - -[dir=rtl] .md-datepicker-triangle-button { - right: auto; - left: 0; - -webkit-transform: translateY(-25%) translateX(-45%); - transform: translateY(-25%) translateX(-45%) -} - -.md-datepicker-triangle-button.md-button.md-icon-button { - height: 100%; - width: 36px; - position: absolute -} - -md-datepicker[disabled] .md-datepicker-input-container { - border-bottom-color: transparent -} - -md-datepicker[disabled] .md-datepicker-triangle-button { - display: none -} - -.md-datepicker-open .md-datepicker-input-container { - margin-left: -12px; - margin-bottom: -5px; - border: none -} - -[dir=rtl] .md-datepicker-open .md-datepicker-input-container { - margin-left: auto; - margin-right: -12px -} - -.md-datepicker-open .md-datepicker-input { - margin-left: 24px; - height: 40px -} - -[dir=rtl] .md-datepicker-open .md-datepicker-input { - margin-left: auto; - margin-right: 24px -} - -.md-datepicker-open .md-datepicker-triangle-button, .md-datepicker-pos-adjusted .md-datepicker-input-mask { - display: none -} - -.md-datepicker-calendar-pane .md-calendar { - -webkit-transform: translateY(-85px); - transform: translateY(-85px); - transition: -webkit-transform .65s cubic-bezier(.25, .8, .25, 1); - transition: transform .65s cubic-bezier(.25, .8, .25, 1); - transition-delay: .125s -} - -.md-datepicker-calendar-pane.md-pane-open .md-calendar { - -webkit-transform: translateY(0); - transform: translateY(0) -} - -.md-dialog-is-showing { - max-height: 100% -} - -.md-dialog-container { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 80; - overflow: hidden -} - -md-dialog { - opacity: 0; - min-width: 240px; - max-width: 80%; - max-height: 80%; - position: relative; - overflow: auto; - box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 13px 19px 2px rgba(0, 0, 0, .14), 0 5px 24px 4px rgba(0, 0, 0, .12); - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column -} - -md-dialog._md-transition-in { - opacity: 1; - transition: all .4s cubic-bezier(.25, .8, .25, 1); - -webkit-transform: translate(0, 0) scale(1); - transform: translate(0, 0) scale(1) -} - -md-dialog._md-transition-out { - opacity: 0; - transition: all .4s cubic-bezier(.25, .8, .25, 1); - -webkit-transform: translate(0, 100%) scale(.2); - transform: translate(0, 100%) scale(.2) -} - -md-dialog > form { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - overflow: auto -} - -md-dialog .md-dialog-content { - padding: 24px -} - -md-dialog md-dialog-content { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - overflow: auto; - -webkit-overflow-scrolling: touch -} - -md-dialog md-dialog-content:not([layout=row]) > :first-child:not(.md-subheader) { - margin-top: 0 -} - -md-dialog md-dialog-content:focus { - outline: 0 -} - -md-dialog md-dialog-content .md-subheader { - margin: 0 -} - -md-dialog md-dialog-content ._md-dialog-content-body { - width: 100% -} - -md-dialog md-dialog-content .md-prompt-input-container { - width: 100%; - box-sizing: border-box -} - -md-dialog .md-actions, md-dialog md-dialog-actions { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; - box-sizing: border-box; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - margin-bottom: 0; - padding-right: 8px; - padding-left: 16px; - min-height: 52px; - overflow: hidden -} - -[dir=rtl] md-dialog .md-actions, [dir=rtl] md-dialog md-dialog-actions { - padding-right: 16px; - padding-left: 8px -} - -md-dialog .md-actions .md-button, md-dialog md-dialog-actions .md-button { - margin: 8px 0 8px 8px -} - -[dir=rtl] md-dialog .md-actions .md-button, [dir=rtl] md-dialog md-dialog-actions .md-button { - margin-left: 0; - margin-right: 8px -} - -md-dialog.md-content-overflow .md-actions, md-dialog.md-content-overflow md-dialog-actions { - border-top-width: 1px; - border-top-style: solid -} - -@media screen and (-ms-high-contrast: active) { - md-dialog { - border: 1px solid #fff - } -} - -@media (max-width: 959px) { - md-dialog.md-dialog-fullscreen { - min-height: 100%; - min-width: 100%; - border-radius: 0 - } -} - -md-divider { - display: block; - border-top-width: 1px; - border-top-style: solid; - margin: 0 -} - -md-divider[md-inset] { - margin-left: 80px -} - -[dir=rtl] md-divider[md-inset] { - margin-left: auto; - margin-right: 80px -} - -.layout-gt-lg-row > md-divider, .layout-gt-md-row > md-divider, .layout-gt-sm-row > md-divider, .layout-gt-xs-row > md-divider, .layout-lg-row > md-divider, .layout-md-row > md-divider, .layout-row > md-divider, .layout-sm-row > md-divider, .layout-xl-row > md-divider, .layout-xs-row > md-divider { - border-top-width: 0; - border-right-width: 1px; - border-right-style: solid -} - -md-fab-speed-dial { - position: relative; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - z-index: 20 -} - -md-fab-speed-dial.md-fab-bottom-right { - top: auto; - right: 20px; - bottom: 20px; - left: auto; - position: absolute -} - -md-fab-speed-dial.md-fab-bottom-left { - top: auto; - right: auto; - bottom: 20px; - left: 20px; - position: absolute -} - -md-fab-speed-dial.md-fab-top-right { - top: 20px; - right: 20px; - bottom: auto; - left: auto; - position: absolute -} - -md-fab-speed-dial.md-fab-top-left { - top: 20px; - right: auto; - bottom: auto; - left: 20px; - position: absolute -} - -md-fab-speed-dial:not(.md-hover-full) { - pointer-events: none -} - -md-fab-speed-dial:not(.md-hover-full) .md-fab-action-item, md-fab-speed-dial:not(.md-hover-full) md-fab-trigger, md-fab-speed-dial:not(.md-hover-full).md-is-open { - pointer-events: auto -} - -md-fab-speed-dial ._md-css-variables { - z-index: 20 -} - -md-fab-speed-dial.md-is-open .md-fab-action-item { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center -} - -md-fab-speed-dial md-fab-actions { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - height: auto -} - -md-fab-speed-dial md-fab-actions .md-fab-action-item { - transition: all .3s cubic-bezier(.55, 0, .55, .2) -} - -md-fab-speed-dial.md-down { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column -} - -md-fab-speed-dial.md-down md-fab-trigger { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 -} - -md-fab-speed-dial.md-down md-fab-actions { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 -} - -md-fab-speed-dial.md-up { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column -} - -md-fab-speed-dial.md-up md-fab-trigger { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 -} - -md-fab-speed-dial.md-up md-fab-actions { - -webkit-flex-direction: column-reverse; - -ms-flex-direction: column-reverse; - flex-direction: column-reverse; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 -} - -md-fab-speed-dial.md-left { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-fab-speed-dial.md-left md-fab-trigger { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 -} - -md-fab-speed-dial.md-left md-fab-actions { - -webkit-flex-direction: row-reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 -} - -md-fab-speed-dial.md-left md-fab-actions .md-fab-action-item { - transition: all .3s cubic-bezier(.55, 0, .55, .2) -} - -md-fab-speed-dial.md-right { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-fab-speed-dial.md-right md-fab-trigger { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 -} - -md-fab-speed-dial.md-right md-fab-actions { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 -} - -md-fab-speed-dial.md-right md-fab-actions .md-fab-action-item { - transition: all .3s cubic-bezier(.55, 0, .55, .2) -} - -md-fab-speed-dial.md-fling-remove .md-fab-action-item > *, md-fab-speed-dial.md-scale-remove .md-fab-action-item > * { - visibility: hidden -} - -md-fab-speed-dial.md-fling .md-fab-action-item { - opacity: 1 -} - -md-fab-speed-dial.md-fling._md-animations-waiting .md-fab-action-item { - opacity: 0; - transition-duration: 0s -} - -md-fab-speed-dial.md-scale .md-fab-action-item { - -webkit-transform: scale(0); - transform: scale(0); - transition: all .3s cubic-bezier(.55, 0, .55, .2); - transition-duration: .14286s -} - -md-fab-toolbar { - display: block -} - -md-fab-toolbar.md-fab-bottom-right { - top: auto; - right: 20px; - bottom: 20px; - left: auto; - position: absolute -} - -md-fab-toolbar.md-fab-bottom-left { - top: auto; - right: auto; - bottom: 20px; - left: 20px; - position: absolute -} - -md-fab-toolbar.md-fab-top-right { - top: 20px; - right: 20px; - bottom: auto; - left: auto; - position: absolute -} - -md-fab-toolbar.md-fab-top-left { - top: 20px; - right: auto; - bottom: auto; - left: 20px; - position: absolute -} - -md-fab-toolbar ._md-fab-toolbar-wrapper { - display: block; - position: relative; - overflow: hidden; - height: 68px -} - -md-fab-toolbar md-fab-trigger { - position: absolute; - z-index: 20 -} - -md-fab-toolbar md-fab-trigger button { - overflow: visible !important -} - -md-fab-toolbar md-fab-trigger ._md-fab-toolbar-background { - display: block; - position: absolute; - z-index: 21; - opacity: 1; - transition: all .3s cubic-bezier(.55, 0, .55, .2) -} - -md-fab-toolbar md-fab-trigger md-icon { - position: relative; - z-index: 22; - opacity: 1; - transition: all 200ms ease-in -} - -md-fab-toolbar.md-left md-fab-trigger { - right: 0 -} - -[dir=rtl] md-fab-toolbar.md-left md-fab-trigger { - right: auto; - left: 0 -} - -md-fab-toolbar.md-left .md-toolbar-tools { - -webkit-flex-direction: row-reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse -} - -md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child { - margin-right: .6rem -} - -md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child { - margin-left: -.8rem -} - -[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child { - margin-left: auto; - margin-right: -.8rem -} - -md-fab-toolbar.md-left .md-toolbar-tools > .md-button:last-child { - margin-right: 8px -} - -[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools > .md-button:last-child { - margin-right: auto; - margin-left: 8px -} - -md-fab-toolbar.md-right md-fab-trigger { - left: 0 -} - -[dir=rtl] md-fab-toolbar.md-right md-fab-trigger { - left: auto; - right: 0 -} - -md-fab-toolbar.md-right .md-toolbar-tools { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-fab-toolbar md-toolbar { - background-color: transparent !important; - pointer-events: none; - z-index: 23 -} - -md-fab-toolbar md-toolbar .md-toolbar-tools { - padding: 0 20px; - margin-top: 3px -} - -md-fab-toolbar md-toolbar .md-fab-action-item { - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0); - transition: all .3s cubic-bezier(.55, 0, .55, .2); - transition-duration: .15s -} - -md-fab-toolbar.md-is-open md-fab-trigger > button { - box-shadow: none -} - -md-fab-toolbar.md-is-open md-fab-trigger > button md-icon { - opacity: 0 -} - -md-fab-toolbar.md-is-open .md-fab-action-item { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) -} - -md-grid-list { - box-sizing: border-box; - display: block; - position: relative -} - -md-grid-list md-grid-tile, md-grid-list md-grid-tile-footer, md-grid-list md-grid-tile-header, md-grid-list md-grid-tile > figure { - box-sizing: border-box -} - -md-grid-list md-grid-tile { - display: block; - position: absolute -} - -md-grid-list md-grid-tile figure { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - height: 100%; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 0; - margin: 0 -} - -md-grid-list md-grid-tile md-grid-tile-footer, md-grid-list md-grid-tile md-grid-tile-header { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 48px; - color: #fff; - background: rgba(0, 0, 0, .18); - overflow: hidden; - position: absolute; - left: 0; - right: 0 -} - -md-grid-list md-grid-tile md-grid-tile-footer h3, md-grid-list md-grid-tile md-grid-tile-footer h4, md-grid-list md-grid-tile md-grid-tile-header h3, md-grid-list md-grid-tile md-grid-tile-header h4 { - font-weight: 400; - margin: 0 0 0 16px -} - -md-grid-list md-grid-tile md-grid-tile-footer h3, md-grid-list md-grid-tile md-grid-tile-header h3 { - font-size: 14px -} - -md-grid-list md-grid-tile md-grid-tile-footer h4, md-grid-list md-grid-tile md-grid-tile-header h4 { - font-size: 12px -} - -md-grid-list md-grid-tile md-grid-tile-header { - top: 0 -} - -md-grid-list md-grid-tile md-grid-tile-footer { - bottom: 0 -} - -@media screen and (-ms-high-contrast: active) { - md-grid-tile { - border: 1px solid #fff - } - - md-grid-tile-footer { - border-top: 1px solid #fff - } -} - -md-icon { - margin: auto; - background-repeat: no-repeat no-repeat; - display: inline-block; - vertical-align: middle; - fill: currentColor; - height: 24px; - width: 24px -} - -md-icon svg { - pointer-events: none; - display: block -} - -md-icon[md-font-icon] { - line-height: 24px; - width: auto -} - -md-input-container { - display: inline-block; - position: relative; - padding: 2px; - margin: 18px 0; - vertical-align: middle -} - -md-input-container:after { - content: ''; - display: table; - clear: both -} - -md-input-container.md-block { - display: block -} - -md-input-container .md-errors-spacer { - float: right; - min-height: 24px; - min-width: 1px -} - -[dir=rtl] md-input-container .md-errors-spacer { - float: left -} - -md-input-container > md-icon { - position: absolute; - top: 8px; - left: 2px; - right: auto -} - -[dir=rtl] md-input-container > md-icon { - left: auto; - right: 2px -} - -md-input-container input[type=url], md-input-container input[type=text], md-input-container input[type=password], md-input-container input[type=datetime], md-input-container input[type=datetime-local], md-input-container input[type=date], md-input-container input[type=month], md-input-container input[type=time], md-input-container input[type=week], md-input-container input[type=color], md-input-container input[type=search], md-input-container input[type=email], md-input-container input[type=number], md-input-container input[type=tel], md-input-container textarea { - -moz-appearance: none; - -webkit-appearance: none -} - -md-input-container input[type=datetime-local], md-input-container input[type=date], md-input-container input[type=month], md-input-container input[type=time], md-input-container input[type=week] { - min-height: 26px -} - -md-input-container textarea { - resize: none; - overflow: hidden -} - -md-input-container textarea.md-input { - min-height: 26px; - -ms-flex-preferred-size: auto -} - -md-input-container textarea._md-textarea-scrollable, md-input-container textarea[md-no-autogrow] { - overflow: auto -} - -md-input-container textarea[md-no-autogrow] { - height: auto -} - -md-input-container label:not(._md-container-ignore) { - position: absolute; - bottom: 100%; - left: 0; - right: auto -} - -[dir=rtl] md-input-container label:not(._md-container-ignore) { - left: auto; - right: 0 -} - -md-input-container label:not(._md-container-ignore).md-required:after { - content: ' *'; - font-size: 13px; - vertical-align: top -} - -md-input-container ._md-placeholder, md-input-container label:not(.md-no-float):not(._md-container-ignore) { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 100%; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - pointer-events: none; - -webkit-font-smoothing: antialiased; - padding-left: 3px; - padding-right: 0; - z-index: 1; - -webkit-transform: translate3d(0, 28px, 0) scale(1); - transform: translate3d(0, 28px, 0) scale(1); - transition: -webkit-transform .4s cubic-bezier(.25, .8, .25, 1); - transition: transform .4s cubic-bezier(.25, .8, .25, 1); - max-width: 100%; - -webkit-transform-origin: left top; - transform-origin: left top -} - -[dir=rtl] md-input-container ._md-placeholder, [dir=rtl] md-input-container label:not(.md-no-float):not(._md-container-ignore) { - padding-left: 0; - padding-right: 3px; - -webkit-transform-origin: right top; - transform-origin: right top -} - -md-input-container ._md-placeholder { - position: absolute; - top: 0; - opacity: 0; - transition-property: opacity, -webkit-transform; - transition-property: opacity, transform; - -webkit-transform: translate3d(0, 30px, 0); - transform: translate3d(0, 30px, 0) -} - -md-input-container.md-input-focused ._md-placeholder { - opacity: 1; - -webkit-transform: translate3d(0, 24px, 0); - transform: translate3d(0, 24px, 0) -} - -md-input-container.md-input-has-value ._md-placeholder { - transition: none; - opacity: 0 -} - -md-input-container:not(.md-input-has-value) input:not(:focus), md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-ampm-field, md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-day-field, md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-hour-field, md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-millisecond-field, md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-minute-field, md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-month-field, md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-second-field, md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-text, md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-week-field, md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-year-field { - color: transparent -} - -md-input-container .md-input { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; - display: block; - margin-top: 0; - background: 0 0; - padding: 2px 2px 1px; - border-width: 0 0 1px; - line-height: 26px; - height: 30px; - -ms-flex-preferred-size: 26px; - border-radius: 0; - border-style: solid; - width: 100%; - box-sizing: border-box; - float: left -} - -[dir=rtl] md-input-container .md-input { - float: right -} - -md-input-container .md-input:focus { - outline: 0 -} - -md-input-container .md-input:invalid { - outline: 0; - box-shadow: none -} - -md-input-container .md-input.md-no-flex { - -webkit-flex: none !important; - -ms-flex: none !important; - flex: none !important -} - -md-input-container .md-char-counter { - text-align: right; - padding-right: 2px; - padding-left: 0 -} - -[dir=rtl] md-input-container .md-char-counter { - text-align: left; - padding-right: 0; - padding-left: 2px -} - -md-input-container .md-input-messages-animation { - position: relative; - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; - overflow: hidden; - clear: left -} - -[dir=rtl] md-input-container .md-input-messages-animation { - clear: right -} - -md-input-container .md-input-messages-animation.ng-enter .md-input-message-animation { - opacity: 0; - margin-top: -100px -} - -md-input-container .md-char-counter, md-input-container .md-input-message-animation { - font-size: 12px; - line-height: 14px; - overflow: hidden; - transition: all .3s cubic-bezier(.55, 0, .55, .2); - opacity: 1; - margin-top: 0; - padding-top: 5px -} - -md-input-container .md-char-counter:not(.md-char-counter), md-input-container .md-input-message-animation:not(.md-char-counter) { - padding-right: 5px; - padding-left: 0 -} - -[dir=rtl] md-input-container .md-char-counter:not(.md-char-counter), [dir=rtl] md-input-container .md-input-message-animation:not(.md-char-counter) { - padding-right: 0; - padding-left: 5px -} - -md-input-container .md-auto-hide .md-input-message-animation:not(.ng-animate), md-input-container .md-input-message-animation.ng-enter, md-input-container:not(.md-input-invalid) .md-auto-hide .md-input-message-animation { - opacity: 0; - margin-top: -100px -} - -md-input-container.md-input-focused label:not(.md-no-float), md-input-container.md-input-has-placeholder label:not(.md-no-float), md-input-container.md-input-has-value label:not(.md-no-float) { - -webkit-transform: translate3d(0, 6px, 0) scale(.75); - transform: translate3d(0, 6px, 0) scale(.75); - transition: -webkit-transform cubic-bezier(.25, .8, .25, 1) .4s, width cubic-bezier(.25, .8, .25, 1) .4s; - transition: transform cubic-bezier(.25, .8, .25, 1) .4s, width cubic-bezier(.25, .8, .25, 1) .4s; - width: calc((100% - 18px) / .75) -} - -md-input-container.md-input-has-value label { - transition: none -} - -md-input-container .md-input.ng-invalid.ng-dirty, md-input-container.md-input-focused .md-input { - padding-bottom: 0; - border-width: 0 0 2px -} - -[disabled] md-input-container .md-input, md-input-container .md-input[disabled] { - background-position: 0 bottom; - background-size: 4px 1px; - background-repeat: repeat-x; - margin-bottom: -1px -} - -md-input-container.md-icon-float { - transition: margin-top .4s cubic-bezier(.25, .8, .25, 1) -} - -md-input-container.md-icon-float > label { - pointer-events: none; - position: absolute -} - -md-input-container.md-icon-float > md-icon { - top: 8px; - left: 2px; - right: auto -} - -[dir=rtl] md-input-container.md-icon-float > md-icon { - left: auto; - right: 2px -} - -md-input-container.md-icon-left > label .md-placeholder, md-input-container.md-icon-left > label:not(.md-no-float):not(._md-container-ignore), md-input-container.md-icon-right > label .md-placeholder, md-input-container.md-icon-right > label:not(.md-no-float):not(._md-container-ignore) { - width: calc(100% - 36px - 18px) -} - -md-input-container.md-icon-left.md-input-focused > label .md-placeholder, md-input-container.md-icon-left.md-input-focused > label:not(.md-no-float):not(._md-container-ignore), md-input-container.md-icon-left.md-input-has-placeholder > label .md-placeholder, md-input-container.md-icon-left.md-input-has-placeholder > label:not(.md-no-float):not(._md-container-ignore), md-input-container.md-icon-left.md-input-has-value > label .md-placeholder, md-input-container.md-icon-left.md-input-has-value > label:not(.md-no-float):not(._md-container-ignore), md-input-container.md-icon-right.md-input-focused > label .md-placeholder, md-input-container.md-icon-right.md-input-focused > label:not(.md-no-float):not(._md-container-ignore), md-input-container.md-icon-right.md-input-has-placeholder > label .md-placeholder, md-input-container.md-icon-right.md-input-has-placeholder > label:not(.md-no-float):not(._md-container-ignore), md-input-container.md-icon-right.md-input-has-value > label .md-placeholder, md-input-container.md-icon-right.md-input-has-value > label:not(.md-no-float):not(._md-container-ignore) { - width: calc((100% - 36px - 18px) / .75) -} - -md-input-container.md-icon-left { - padding-left: 36px; - padding-right: 0 -} - -[dir=rtl] md-input-container.md-icon-left { - padding-left: 0; - padding-right: 36px -} - -md-input-container.md-icon-left > label { - left: 36px; - right: auto -} - -[dir=rtl] md-input-container.md-icon-left > label { - left: auto; - right: 36px -} - -md-input-container.md-icon-right { - padding-left: 0; - padding-right: 36px -} - -[dir=rtl] md-input-container.md-icon-right { - padding-left: 36px; - padding-right: 0 -} - -md-input-container.md-icon-right > md-icon:last-of-type { - margin: 0; - right: 2px; - left: auto -} - -[dir=rtl] md-input-container.md-icon-right > md-icon:last-of-type { - right: auto; - left: 2px -} - -md-input-container.md-icon-left.md-icon-right { - padding-left: 36px; - padding-right: 36px -} - -md-input-container.md-icon-left.md-icon-right > label .md-placeholder, md-input-container.md-icon-left.md-icon-right > label:not(.md-no-float):not(._md-container-ignore) { - width: calc(100% - (36px * 2)) -} - -md-input-container.md-icon-left.md-icon-right.md-input-focused > label .md-placeholder, md-input-container.md-icon-left.md-icon-right.md-input-focused > label:not(.md-no-float):not(._md-container-ignore), md-input-container.md-icon-left.md-icon-right.md-input-has-placeholder > label .md-placeholder, md-input-container.md-icon-left.md-icon-right.md-input-has-placeholder > label:not(.md-no-float):not(._md-container-ignore), md-input-container.md-icon-left.md-icon-right.md-input-has-value > label .md-placeholder, md-input-container.md-icon-left.md-icon-right.md-input-has-value > label:not(.md-no-float):not(._md-container-ignore) { - width: calc((100% - (36px * 2)) / .75) -} - -@media screen and (-ms-high-contrast: active) { - md-input-container.md-default-theme > md-icon { - fill: #fff - } -} - -md-list { - display: block; - padding: 8px 0 -} - -md-list .md-subheader { - font-size: 14px; - font-weight: 500; - letter-spacing: .010em; - line-height: 1.2em -} - -md-list.md-dense md-list-item, md-list.md-dense md-list-item ._md-list-item-inner { - min-height: 48px -} - -md-list.md-dense md-list-item ._md-list-item-inner md-icon:first-child, md-list.md-dense md-list-item md-icon:first-child { - width: 20px; - height: 20px -} - -md-list.md-dense md-list-item ._md-list-item-inner > md-icon:first-child:not(.md-avatar-icon), md-list.md-dense md-list-item > md-icon:first-child:not(.md-avatar-icon) { - margin-right: 36px -} - -[dir=rtl] md-list.md-dense md-list-item ._md-list-item-inner > md-icon:first-child:not(.md-avatar-icon), [dir=rtl] md-list.md-dense md-list-item > md-icon:first-child:not(.md-avatar-icon) { - margin-right: auto; - margin-left: 36px -} - -md-list.md-dense md-list-item ._md-list-item-inner .md-avatar, md-list.md-dense md-list-item ._md-list-item-inner .md-avatar-icon, md-list.md-dense md-list-item .md-avatar, md-list.md-dense md-list-item .md-avatar-icon { - margin-right: 20px -} - -[dir=rtl] md-list.md-dense md-list-item ._md-list-item-inner .md-avatar, [dir=rtl] md-list.md-dense md-list-item ._md-list-item-inner .md-avatar-icon, [dir=rtl] md-list.md-dense md-list-item .md-avatar, [dir=rtl] md-list.md-dense md-list-item .md-avatar-icon { - margin-right: auto; - margin-left: 20px -} - -md-list.md-dense md-list-item ._md-list-item-inner .md-avatar, md-list.md-dense md-list-item .md-avatar { - width: 36px; - height: 36px -} - -md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset, md-list.md-dense md-list-item.md-2-line > ._md-no-style .md-list-item-text.md-offset, md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset, md-list.md-dense md-list-item.md-3-line > ._md-no-style .md-list-item-text.md-offset { - margin-left: 56px -} - -[dir=rtl] md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset, [dir=rtl] md-list.md-dense md-list-item.md-2-line > ._md-no-style .md-list-item-text.md-offset, [dir=rtl] md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset, [dir=rtl] md-list.md-dense md-list-item.md-3-line > ._md-no-style .md-list-item-text.md-offset { - margin-left: auto; - margin-right: 56px -} - -md-list.md-dense md-list-item.md-2-line .md-list-item-text h3, md-list.md-dense md-list-item.md-2-line .md-list-item-text h4, md-list.md-dense md-list-item.md-2-line .md-list-item-text p, md-list.md-dense md-list-item.md-2-line > ._md-no-style .md-list-item-text h3, md-list.md-dense md-list-item.md-2-line > ._md-no-style .md-list-item-text h4, md-list.md-dense md-list-item.md-2-line > ._md-no-style .md-list-item-text p, md-list.md-dense md-list-item.md-3-line .md-list-item-text h3, md-list.md-dense md-list-item.md-3-line .md-list-item-text h4, md-list.md-dense md-list-item.md-3-line .md-list-item-text p, md-list.md-dense md-list-item.md-3-line > ._md-no-style .md-list-item-text h3, md-list.md-dense md-list-item.md-3-line > ._md-no-style .md-list-item-text h4, md-list.md-dense md-list-item.md-3-line > ._md-no-style .md-list-item-text p { - line-height: 1.05; - font-size: 12px -} - -md-list.md-dense md-list-item.md-2-line .md-list-item-text h3, md-list.md-dense md-list-item.md-2-line > ._md-no-style .md-list-item-text h3, md-list.md-dense md-list-item.md-3-line .md-list-item-text h3, md-list.md-dense md-list-item.md-3-line > ._md-no-style .md-list-item-text h3 { - font-size: 13px -} - -md-list.md-dense md-list-item.md-2-line, md-list.md-dense md-list-item.md-2-line > ._md-no-style { - min-height: 60px -} - -md-list.md-dense md-list-item.md-2-line div.md-button:first-child::before, md-list.md-dense md-list-item.md-2-line > ._md-no-style div.md-button:first-child::before { - content: ''; - min-height: 60px; - visibility: hidden -} - -md-list.md-dense md-list-item.md-2-line .md-avatar-icon, md-list.md-dense md-list-item.md-2-line > ._md-no-style .md-avatar-icon, md-list.md-dense md-list-item.md-2-line > ._md-no-style > .md-avatar, md-list.md-dense md-list-item.md-2-line > .md-avatar { - margin-top: 12px -} - -md-list.md-dense md-list-item.md-3-line, md-list.md-dense md-list-item.md-3-line > ._md-no-style { - min-height: 76px -} - -md-list.md-dense md-list-item.md-3-line div.md-button:first-child::before, md-list.md-dense md-list-item.md-3-line > ._md-no-style div.md-button:first-child::before { - content: ''; - min-height: 76px; - visibility: hidden -} - -md-list.md-dense md-list-item.md-3-line > ._md-no-style > .md-avatar, md-list.md-dense md-list-item.md-3-line > ._md-no-style > md-icon:first-child, md-list.md-dense md-list-item.md-3-line > .md-avatar, md-list.md-dense md-list-item.md-3-line > md-icon:first-child { - margin-top: 16px -} - -md-list-item { - position: relative -} - -md-list-item._md-proxy-focus.md-focused ._md-no-style { - transition: background-color .15s linear -} - -md-list-item._md-button-wrap { - position: relative -} - -md-list-item._md-button-wrap > div.md-button:first-child { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - padding: 0 16px; - margin: 0; - background-color: initial; - font-weight: 400; - text-align: left; - border: none -} - -[dir=rtl] md-list-item._md-button-wrap > div.md-button:first-child { - text-align: right -} - -md-list-item._md-button-wrap > div.md-button:first-child > .md-button:first-child { - position: absolute; - top: 0; - left: 0; - height: 100%; - margin: 0; - padding: 0 -} - -md-list-item._md-button-wrap > div.md-button:first-child ._md-list-item-inner { - width: 100%; - height: 100% -} - -md-list-item ._md-no-style, md-list-item._md-no-proxy { - position: relative; - padding: 0 16px; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto -} - -md-list-item ._md-no-style.md-button, md-list-item._md-no-proxy.md-button { - font-size: inherit; - height: inherit; - text-align: left; - text-transform: none; - width: 100%; - white-space: normal; - -webkit-flex-direction: inherit; - -ms-flex-direction: inherit; - flex-direction: inherit; - -webkit-align-items: inherit; - -ms-flex-align: inherit; - align-items: inherit; - border-radius: 0; - margin: 0 -} - -[dir=rtl] md-list-item ._md-no-style.md-button, [dir=rtl] md-list-item._md-no-proxy.md-button { - text-align: right -} - -md-list-item ._md-no-style.md-button > .md-ripple-container, md-list-item._md-no-proxy.md-button > .md-ripple-container { - border-radius: 0 -} - -md-list-item ._md-no-style:focus, md-list-item._md-no-proxy:focus { - outline: 0 -} - -md-list-item.md-clickable:hover { - cursor: pointer -} - -md-list-item md-divider { - position: absolute; - bottom: 0; - left: 0; - width: 100% -} - -[dir=rtl] md-list-item md-divider { - left: auto; - right: 0 -} - -md-list-item md-divider[md-inset] { - left: 72px; - width: calc(100% - 72px); - margin: 0 !important -} - -[dir=rtl] md-list-item md-divider[md-inset] { - left: auto; - right: 72px -} - -md-list-item, md-list-item ._md-list-item-inner { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - min-height: 48px; - height: auto -} - -md-list-item ._md-list-item-inner > div.md-primary > md-icon:not(.md-avatar-icon), md-list-item ._md-list-item-inner > div.md-secondary > md-icon:not(.md-avatar-icon), md-list-item ._md-list-item-inner > md-icon.md-secondary:not(.md-avatar-icon), md-list-item ._md-list-item-inner > md-icon:first-child:not(.md-avatar-icon), md-list-item > div.md-primary > md-icon:not(.md-avatar-icon), md-list-item > div.md-secondary > md-icon:not(.md-avatar-icon), md-list-item > md-icon.md-secondary:not(.md-avatar-icon), md-list-item > md-icon:first-child:not(.md-avatar-icon) { - width: 24px; - margin-top: 16px; - margin-bottom: 12px; - box-sizing: content-box -} - -md-list-item ._md-list-item-inner md-checkbox.md-secondary, md-list-item ._md-list-item-inner > div.md-primary > md-checkbox, md-list-item ._md-list-item-inner > div.md-secondary > md-checkbox, md-list-item ._md-list-item-inner > md-checkbox, md-list-item md-checkbox.md-secondary, md-list-item > div.md-primary > md-checkbox, md-list-item > div.md-secondary > md-checkbox, md-list-item > md-checkbox { - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center -} - -md-list-item ._md-list-item-inner md-checkbox.md-secondary .md-label, md-list-item ._md-list-item-inner > div.md-primary > md-checkbox .md-label, md-list-item ._md-list-item-inner > div.md-secondary > md-checkbox .md-label, md-list-item ._md-list-item-inner > md-checkbox .md-label, md-list-item md-checkbox.md-secondary .md-label, md-list-item > div.md-primary > md-checkbox .md-label, md-list-item > div.md-secondary > md-checkbox .md-label, md-list-item > md-checkbox .md-label { - display: none -} - -md-list-item ._md-list-item-inner > md-icon:first-child:not(.md-avatar-icon), md-list-item > md-icon:first-child:not(.md-avatar-icon) { - margin-right: 32px -} - -[dir=rtl] md-list-item ._md-list-item-inner > md-icon:first-child:not(.md-avatar-icon), [dir=rtl] md-list-item > md-icon:first-child:not(.md-avatar-icon) { - margin-right: auto; - margin-left: 32px -} - -md-list-item ._md-list-item-inner .md-avatar, md-list-item ._md-list-item-inner .md-avatar-icon, md-list-item .md-avatar, md-list-item .md-avatar-icon { - margin-top: 8px; - margin-bottom: 8px; - margin-right: 16px; - border-radius: 50%; - box-sizing: content-box -} - -[dir=rtl] md-list-item ._md-list-item-inner .md-avatar, [dir=rtl] md-list-item ._md-list-item-inner .md-avatar-icon, [dir=rtl] md-list-item .md-avatar, [dir=rtl] md-list-item .md-avatar-icon { - margin-right: auto; - margin-left: 16px -} - -md-list-item ._md-list-item-inner .md-avatar, md-list-item .md-avatar { - width: 40px; - height: 40px -} - -md-list-item ._md-list-item-inner .md-avatar-icon, md-list-item .md-avatar-icon { - padding: 8px -} - -md-list-item ._md-list-item-inner > md-checkbox, md-list-item > md-checkbox { - width: 24px; - margin-left: 3px; - margin-right: 29px; - margin-top: 16px -} - -[dir=rtl] md-list-item ._md-list-item-inner > md-checkbox, [dir=rtl] md-list-item > md-checkbox { - margin-left: 29px; - margin-right: 3px -} - -md-list-item ._md-list-item-inner ._md-secondary-container, md-list-item ._md-secondary-container { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 100%; - margin: auto -} - -md-list-item ._md-list-item-inner ._md-secondary-container .md-button:last-of-type, md-list-item ._md-list-item-inner ._md-secondary-container .md-icon-button:last-of-type, md-list-item ._md-secondary-container .md-button:last-of-type, md-list-item ._md-secondary-container .md-icon-button:last-of-type { - margin-right: 0 -} - -[dir=rtl] md-list-item ._md-list-item-inner ._md-secondary-container .md-button:last-of-type, [dir=rtl] md-list-item ._md-list-item-inner ._md-secondary-container .md-icon-button:last-of-type, [dir=rtl] md-list-item ._md-secondary-container .md-button:last-of-type, [dir=rtl] md-list-item ._md-secondary-container .md-icon-button:last-of-type { - margin-right: auto; - margin-left: 0 -} - -md-list-item ._md-list-item-inner ._md-secondary-container md-checkbox, md-list-item ._md-secondary-container md-checkbox { - margin-top: 0; - margin-bottom: 0 -} - -md-list-item ._md-list-item-inner ._md-secondary-container md-checkbox:last-child, md-list-item ._md-secondary-container md-checkbox:last-child { - width: 24px; - margin-right: 0 -} - -[dir=rtl] md-list-item ._md-list-item-inner ._md-secondary-container md-checkbox:last-child, [dir=rtl] md-list-item ._md-secondary-container md-checkbox:last-child { - margin-right: auto; - margin-left: 0 -} - -md-list-item ._md-list-item-inner ._md-secondary-container md-switch, md-list-item ._md-secondary-container md-switch { - margin-top: 0; - margin-bottom: 0; - margin-right: -6px -} - -[dir=rtl] md-list-item ._md-list-item-inner ._md-secondary-container md-switch, [dir=rtl] md-list-item ._md-secondary-container md-switch { - margin-right: auto; - margin-left: -6px -} - -md-list-item ._md-list-item-inner > ._md-list-item-inner > p, md-list-item ._md-list-item-inner > p, md-list-item > ._md-list-item-inner > p, md-list-item > p { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - margin: 0 -} - -md-list-item.md-2-line, md-list-item.md-2-line > ._md-no-style, md-list-item.md-3-line, md-list-item.md-3-line > ._md-no-style { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center -} - -md-list-item.md-2-line.md-long-text, md-list-item.md-2-line > ._md-no-style.md-long-text, md-list-item.md-3-line.md-long-text, md-list-item.md-3-line > ._md-no-style.md-long-text { - margin-top: 8px; - margin-bottom: 8px -} - -md-list-item.md-2-line .md-list-item-text, md-list-item.md-2-line > ._md-no-style .md-list-item-text, md-list-item.md-3-line .md-list-item-text, md-list-item.md-3-line > ._md-no-style .md-list-item-text { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - margin: auto; - text-overflow: ellipsis; - overflow: hidden -} - -md-list-item.md-2-line .md-list-item-text.md-offset, md-list-item.md-2-line > ._md-no-style .md-list-item-text.md-offset, md-list-item.md-3-line .md-list-item-text.md-offset, md-list-item.md-3-line > ._md-no-style .md-list-item-text.md-offset { - margin-left: 56px -} - -[dir=rtl] md-list-item.md-2-line .md-list-item-text.md-offset, [dir=rtl] md-list-item.md-2-line > ._md-no-style .md-list-item-text.md-offset, [dir=rtl] md-list-item.md-3-line .md-list-item-text.md-offset, [dir=rtl] md-list-item.md-3-line > ._md-no-style .md-list-item-text.md-offset { - margin-left: auto; - margin-right: 56px -} - -md-list-item.md-2-line .md-list-item-text h3, md-list-item.md-2-line > ._md-no-style .md-list-item-text h3, md-list-item.md-3-line .md-list-item-text h3, md-list-item.md-3-line > ._md-no-style .md-list-item-text h3 { - font-size: 16px; - font-weight: 400; - letter-spacing: .010em; - margin: 0; - line-height: 1.2em; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis -} - -md-list-item.md-2-line .md-list-item-text h4, md-list-item.md-2-line > ._md-no-style .md-list-item-text h4, md-list-item.md-3-line .md-list-item-text h4, md-list-item.md-3-line > ._md-no-style .md-list-item-text h4 { - font-size: 14px; - letter-spacing: .010em; - margin: 3px 0 1px; - font-weight: 400; - line-height: 1.2em; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis -} - -md-list-item.md-2-line .md-list-item-text p, md-list-item.md-2-line > ._md-no-style .md-list-item-text p, md-list-item.md-3-line .md-list-item-text p, md-list-item.md-3-line > ._md-no-style .md-list-item-text p { - font-size: 14px; - font-weight: 500; - letter-spacing: .010em; - margin: 0; - line-height: 1.6em -} - -md-list-item.md-2-line, md-list-item.md-2-line > ._md-no-style { - height: auto; - min-height: 72px -} - -md-list-item.md-2-line div.md-button:first-child::before, md-list-item.md-2-line > ._md-no-style div.md-button:first-child::before { - content: ''; - min-height: 72px; - visibility: hidden -} - -md-list-item.md-2-line .md-avatar-icon, md-list-item.md-2-line > ._md-no-style .md-avatar-icon, md-list-item.md-2-line > ._md-no-style > .md-avatar, md-list-item.md-2-line > .md-avatar { - margin-top: 12px -} - -md-list-item.md-2-line > ._md-no-style > md-icon:first-child, md-list-item.md-2-line > md-icon:first-child { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start -} - -md-list-item.md-2-line .md-list-item-text, md-list-item.md-2-line > ._md-no-style .md-list-item-text { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto -} - -md-list-item.md-3-line, md-list-item.md-3-line > ._md-no-style { - height: auto; - min-height: 88px -} - -md-list-item.md-3-line div.md-button:first-child::before, md-list-item.md-3-line > ._md-no-style div.md-button:first-child::before { - content: ''; - min-height: 88px; - visibility: hidden -} - -md-list-item.md-3-line > ._md-no-style > .md-avatar, md-list-item.md-3-line > ._md-no-style > md-icon:first-child, md-list-item.md-3-line > .md-avatar, md-list-item.md-3-line > md-icon:first-child { - margin-top: 16px -} - -md-toolbar.md-menu-toolbar h2.md-toolbar-tools { - line-height: 1rem; - height: auto; - padding: 28px 28px 12px -} - -md-menu-bar { - padding: 0 20px; - display: block; - position: relative; - z-index: 2 -} - -md-menu-bar .md-menu { - display: inline-block; - padding: 0; - position: relative -} - -md-menu-bar button { - font-size: 14px; - padding: 0 10px; - margin: 0; - border: 0; - background-color: transparent; - height: 40px -} - -md-menu-bar md-backdrop._md-menu-backdrop { - z-index: -2 -} - -md-menu-content._md-menu-bar-menu.md-dense { - max-height: none; - padding: 16px 0 -} - -md-menu-content._md-menu-bar-menu.md-dense md-menu-item.md-indent { - position: relative -} - -md-menu-content._md-menu-bar-menu.md-dense md-menu-item.md-indent > md-icon { - position: absolute; - padding: 0; - width: 24px; - top: 6px; - left: 24px -} - -[dir=rtl] md-menu-content._md-menu-bar-menu.md-dense md-menu-item.md-indent > md-icon { - left: auto; - right: 24px -} - -md-menu-content._md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu > .md-button, md-menu-content._md-menu-bar-menu.md-dense md-menu-item.md-indent > .md-button { - padding: 0 32px 0 64px -} - -[dir=rtl] md-menu-content._md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu > .md-button, [dir=rtl] md-menu-content._md-menu-bar-menu.md-dense md-menu-item.md-indent > .md-button { - padding: 0 64px 0 32px -} - -md-menu-content._md-menu-bar-menu.md-dense .md-button { - min-height: 0; - height: 32px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex -} - -md-menu-content._md-menu-bar-menu.md-dense .md-button span { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1 -} - -md-menu-content._md-menu-bar-menu.md-dense .md-button span.md-alt-text { - -webkit-flex-grow: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; - margin: 0 8px -} - -md-menu-content._md-menu-bar-menu.md-dense md-menu-divider { - margin: 8px 0 -} - -md-menu-content._md-menu-bar-menu.md-dense .md-menu > .md-button, md-menu-content._md-menu-bar-menu.md-dense md-menu-item > .md-button { - text-align: left; - text-align: start -} - -[dir=rtl] md-menu-content._md-menu-bar-menu.md-dense .md-menu > .md-button, [dir=rtl] md-menu-content._md-menu-bar-menu.md-dense md-menu-item > .md-button { - text-align: right -} - -md-menu-content._md-menu-bar-menu.md-dense .md-menu { - padding: 0 -} - -md-menu-content._md-menu-bar-menu.md-dense .md-menu > .md-button { - position: relative; - margin: 0; - width: 100%; - text-transform: none; - font-weight: 400; - border-radius: 0; - padding-left: 16px -} - -[dir=rtl] md-menu-content._md-menu-bar-menu.md-dense .md-menu > .md-button { - padding-left: auto; - padding-right: 16px -} - -md-menu-content._md-menu-bar-menu.md-dense .md-menu > .md-button:after { - display: block; - content: '\25BC'; - position: absolute; - top: 0; - speak: none; - -webkit-transform: rotate(270deg) scaleY(.45) scaleX(.9); - transform: rotate(270deg) scaleY(.45) scaleX(.9); - right: 28px -} - -[dir=rtl] md-menu-content._md-menu-bar-menu.md-dense .md-menu > .md-button:after { - -webkit-transform: rotate(90deg) scaleY(.45) scaleX(.9); - transform: rotate(90deg) scaleY(.45) scaleX(.9); - right: auto; - left: 28px -} - -._md-open-menu-container { - position: fixed; - left: 0; - top: 0; - z-index: 100; - opacity: 0; - border-radius: 2px -} - -._md-open-menu-container md-menu-divider { - margin-top: 4px; - margin-bottom: 4px; - height: 1px; - min-height: 1px; - max-height: 1px; - width: 100% -} - -._md-open-menu-container md-menu-content > * { - opacity: 0 -} - -._md-open-menu-container:not(._md-clickable) { - pointer-events: none -} - -._md-open-menu-container._md-active { - opacity: 1; - transition: all .4s cubic-bezier(.25, .8, .25, 1); - transition-duration: 200ms -} - -._md-open-menu-container._md-active > md-menu-content > * { - opacity: 1; - transition: all .3s cubic-bezier(.55, 0, .55, .2); - transition-duration: 200ms; - transition-delay: 100ms -} - -._md-open-menu-container._md-leave { - opacity: 0; - transition: all .3s cubic-bezier(.55, 0, .55, .2); - transition-duration: 250ms -} - -md-menu-content { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - padding: 8px 0; - max-height: 304px; - overflow-y: auto -} - -md-menu-content.md-dense { - max-height: 208px -} - -md-menu-content.md-dense md-menu-item { - height: 32px; - min-height: 0 -} - -md-menu-item { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - min-height: 48px; - height: 48px; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start -} - -md-menu-item > * { - width: 100%; - margin: auto 0; - padding-left: 16px; - padding-right: 16px -} - -md-menu-item > .md-button { - border-radius: 0; - margin: auto 0; - font-size: 15px; - text-transform: none; - font-weight: 400; - height: 100%; - padding-left: 16px; - padding-right: 16px; - text-align: left; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: baseline; - -ms-flex-align: baseline; - align-items: baseline; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start; - width: 100% -} - -[dir=rtl] md-menu-item > .md-button { - text-align: right -} - -md-menu-item > .md-button md-icon { - margin: auto 16px auto 0 -} - -[dir=rtl] md-menu-item > .md-button md-icon { - margin: auto 0 auto 16px -} - -md-menu-item > .md-button p { - display: inline-block; - margin: auto -} - -md-menu-item > .md-button span { - margin-top: auto; - margin-bottom: auto -} - -md-menu-item > .md-button .md-ripple-container { - border-radius: inherit -} - -.md-menu { - padding: 8px 0 -} - -md-toolbar .md-menu { - height: auto; - margin: auto; - padding: 0 -} - -@media (max-width: 959px) { - md-menu-content { - min-width: 112px - } - - md-menu-content[width="3"] { - min-width: 168px - } - - md-menu-content[width="4"] { - min-width: 224px - } - - md-menu-content[width="5"] { - min-width: 280px - } - - md-menu-content[width="6"] { - min-width: 336px - } - - md-menu-content[width="7"] { - min-width: 392px - } -} - -@media (min-width: 960px) { - md-menu-content { - min-width: 96px - } - - md-menu-content[width="3"] { - min-width: 192px - } - - md-menu-content[width="4"] { - min-width: 256px - } - - md-menu-content[width="5"] { - min-width: 320px - } - - md-menu-content[width="6"] { - min-width: 384px - } - - md-menu-content[width="7"] { - min-width: 448px - } -} - -md-progress-circular { - position: relative -} - -md-progress-circular svg { - position: absolute; - overflow: visible; - top: 0; - left: 0 -} - -md-progress-linear { - display: block; - position: relative; - width: 100%; - height: 5px; - padding-top: 0 !important; - margin-bottom: 0 !important -} - -md-progress-linear ._md-container { - display: block; - position: relative; - overflow: hidden; - width: 100%; - height: 5px; - -webkit-transform: translate(0, 0) scale(1, 1); - transform: translate(0, 0) scale(1, 1) -} - -md-progress-linear ._md-container ._md-bar { - position: absolute; - left: 0; - top: 0; - bottom: 0; - width: 100%; - height: 5px -} - -md-progress-linear ._md-container ._md-dashed:before { - content: ""; - display: none; - position: absolute; - margin-top: 0; - height: 5px; - width: 100%; - background-color: transparent; - background-size: 10px 10px !important; - background-position: 0 -23px -} - -md-progress-linear ._md-container ._md-bar1, md-progress-linear ._md-container ._md-bar2 { - transition: -webkit-transform .2s linear; - transition: transform .2s linear -} - -md-progress-linear ._md-container._md-mode-query ._md-bar1 { - display: none -} - -md-progress-linear ._md-container._md-mode-query ._md-bar2 { - transition: all .2s linear; - -webkit-animation: query .8s infinite cubic-bezier(.39, .575, .565, 1); - animation: query .8s infinite cubic-bezier(.39, .575, .565, 1) -} - -md-progress-linear ._md-container._md-mode-determinate ._md-bar1 { - display: none -} - -md-progress-linear ._md-container._md-mode-indeterminate ._md-bar1 { - -webkit-animation: md-progress-linear-indeterminate-scale-1 4s infinite, md-progress-linear-indeterminate-1 4s infinite; - animation: md-progress-linear-indeterminate-scale-1 4s infinite, md-progress-linear-indeterminate-1 4s infinite -} - -md-progress-linear ._md-container._md-mode-indeterminate ._md-bar2 { - -webkit-animation: md-progress-linear-indeterminate-scale-2 4s infinite, md-progress-linear-indeterminate-2 4s infinite; - animation: md-progress-linear-indeterminate-scale-2 4s infinite, md-progress-linear-indeterminate-2 4s infinite -} - -md-progress-linear ._md-container.ng-hide { - -webkit-animation: none; - animation: none -} - -md-progress-linear ._md-container.ng-hide ._md-bar1, md-progress-linear ._md-container.ng-hide ._md-bar2 { - -webkit-animation-name: none; - animation-name: none -} - -md-progress-linear ._md-container._md-mode-buffer { - background-color: transparent !important; - transition: all .2s linear -} - -md-progress-linear ._md-container._md-mode-buffer ._md-dashed:before { - display: block; - -webkit-animation: buffer 3s infinite linear; - animation: buffer 3s infinite linear -} - -@-webkit-keyframes query { - 0% { - opacity: 1; - -webkit-transform: translateX(35%) scale(.3, 1); - transform: translateX(35%) scale(.3, 1) - } - 100% { - opacity: 0; - -webkit-transform: translateX(-50%) scale(0, 1); - transform: translateX(-50%) scale(0, 1) - } -} - -@keyframes query { - 0% { - opacity: 1; - -webkit-transform: translateX(35%) scale(.3, 1); - transform: translateX(35%) scale(.3, 1) - } - 100% { - opacity: 0; - -webkit-transform: translateX(-50%) scale(0, 1); - transform: translateX(-50%) scale(0, 1) - } -} - -@-webkit-keyframes buffer { - 0% { - opacity: 1; - background-position: 0 -23px - } - 50% { - opacity: 0 - } - 100% { - opacity: 1; - background-position: -200px -23px - } -} - -@keyframes buffer { - 0% { - opacity: 1; - background-position: 0 -23px - } - 50% { - opacity: 0 - } - 100% { - opacity: 1; - background-position: -200px -23px - } -} - -@-webkit-keyframes md-progress-linear-indeterminate-scale-1 { - 0% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1); - -webkit-animation-timing-function: linear; - animation-timing-function: linear - } - 36.6% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1); - -webkit-animation-timing-function: cubic-bezier(.33473, .12482, .78584, 1); - animation-timing-function: cubic-bezier(.33473, .12482, .78584, 1) - } - 69.15% { - -webkit-transform: scaleX(.83); - transform: scaleX(.83); - -webkit-animation-timing-function: cubic-bezier(.22573, 0, .23365, 1.37098); - animation-timing-function: cubic-bezier(.22573, 0, .23365, 1.37098) - } - 100% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1) - } -} - -@keyframes md-progress-linear-indeterminate-scale-1 { - 0% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1); - -webkit-animation-timing-function: linear; - animation-timing-function: linear - } - 36.6% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1); - -webkit-animation-timing-function: cubic-bezier(.33473, .12482, .78584, 1); - animation-timing-function: cubic-bezier(.33473, .12482, .78584, 1) - } - 69.15% { - -webkit-transform: scaleX(.83); - transform: scaleX(.83); - -webkit-animation-timing-function: cubic-bezier(.22573, 0, .23365, 1.37098); - animation-timing-function: cubic-bezier(.22573, 0, .23365, 1.37098) - } - 100% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1) - } -} - -@-webkit-keyframes md-progress-linear-indeterminate-1 { - 0% { - left: -105.16667%; - -webkit-animation-timing-function: linear; - animation-timing-function: linear - } - 20% { - left: -105.16667%; - -webkit-animation-timing-function: cubic-bezier(.5, 0, .70173, .49582); - animation-timing-function: cubic-bezier(.5, 0, .70173, .49582) - } - 69.15% { - left: 21.5%; - -webkit-animation-timing-function: cubic-bezier(.30244, .38135, .55, .95635); - animation-timing-function: cubic-bezier(.30244, .38135, .55, .95635) - } - 100% { - left: 95.44444% - } -} - -@keyframes md-progress-linear-indeterminate-1 { - 0% { - left: -105.16667%; - -webkit-animation-timing-function: linear; - animation-timing-function: linear - } - 20% { - left: -105.16667%; - -webkit-animation-timing-function: cubic-bezier(.5, 0, .70173, .49582); - animation-timing-function: cubic-bezier(.5, 0, .70173, .49582) - } - 69.15% { - left: 21.5%; - -webkit-animation-timing-function: cubic-bezier(.30244, .38135, .55, .95635); - animation-timing-function: cubic-bezier(.30244, .38135, .55, .95635) - } - 100% { - left: 95.44444% - } -} - -@-webkit-keyframes md-progress-linear-indeterminate-scale-2 { - 0% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1); - -webkit-animation-timing-function: cubic-bezier(.20503, .05705, .57661, .45397); - animation-timing-function: cubic-bezier(.20503, .05705, .57661, .45397) - } - 19.15% { - -webkit-transform: scaleX(.57); - transform: scaleX(.57); - -webkit-animation-timing-function: cubic-bezier(.15231, .19643, .64837, 1.00432); - animation-timing-function: cubic-bezier(.15231, .19643, .64837, 1.00432) - } - 44.15% { - -webkit-transform: scaleX(.91); - transform: scaleX(.91); - -webkit-animation-timing-function: cubic-bezier(.25776, -.00316, .21176, 1.38179); - animation-timing-function: cubic-bezier(.25776, -.00316, .21176, 1.38179) - } - 100% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1) - } -} - -@keyframes md-progress-linear-indeterminate-scale-2 { - 0% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1); - -webkit-animation-timing-function: cubic-bezier(.20503, .05705, .57661, .45397); - animation-timing-function: cubic-bezier(.20503, .05705, .57661, .45397) - } - 19.15% { - -webkit-transform: scaleX(.57); - transform: scaleX(.57); - -webkit-animation-timing-function: cubic-bezier(.15231, .19643, .64837, 1.00432); - animation-timing-function: cubic-bezier(.15231, .19643, .64837, 1.00432) - } - 44.15% { - -webkit-transform: scaleX(.91); - transform: scaleX(.91); - -webkit-animation-timing-function: cubic-bezier(.25776, -.00316, .21176, 1.38179); - animation-timing-function: cubic-bezier(.25776, -.00316, .21176, 1.38179) - } - 100% { - -webkit-transform: scaleX(.1); - transform: scaleX(.1) - } -} - -@-webkit-keyframes md-progress-linear-indeterminate-2 { - 0% { - left: -54.88889%; - -webkit-animation-timing-function: cubic-bezier(.15, 0, .51506, .40968); - animation-timing-function: cubic-bezier(.15, 0, .51506, .40968) - } - 25% { - left: -17.25%; - -webkit-animation-timing-function: cubic-bezier(.31033, .28406, .8, .73372); - animation-timing-function: cubic-bezier(.31033, .28406, .8, .73372) - } - 48.35% { - left: 29.5%; - -webkit-animation-timing-function: cubic-bezier(.4, .62703, .6, .90203); - animation-timing-function: cubic-bezier(.4, .62703, .6, .90203) - } - 100% { - left: 117.38889% - } -} - -@keyframes md-progress-linear-indeterminate-2 { - 0% { - left: -54.88889%; - -webkit-animation-timing-function: cubic-bezier(.15, 0, .51506, .40968); - animation-timing-function: cubic-bezier(.15, 0, .51506, .40968) - } - 25% { - left: -17.25%; - -webkit-animation-timing-function: cubic-bezier(.31033, .28406, .8, .73372); - animation-timing-function: cubic-bezier(.31033, .28406, .8, .73372) - } - 48.35% { - left: 29.5%; - -webkit-animation-timing-function: cubic-bezier(.4, .62703, .6, .90203); - animation-timing-function: cubic-bezier(.4, .62703, .6, .90203) - } - 100% { - left: 117.38889% - } -} - -md-radio-button { - box-sizing: border-box; - display: block; - margin-bottom: 16px; - white-space: nowrap; - cursor: pointer; - position: relative -} - -md-radio-button[disabled], md-radio-button[disabled] ._md-container { - cursor: default -} - -md-radio-button ._md-container { - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - box-sizing: border-box; - display: inline-block; - width: 20px; - height: 20px; - cursor: pointer; - left: 0; - right: auto -} - -[dir=rtl] md-radio-button ._md-container { - left: auto; - right: 0 -} - -md-radio-button ._md-container .md-ripple-container { - position: absolute; - display: block; - width: auto; - height: auto; - left: -15px; - top: -15px; - right: -15px; - bottom: -15px -} - -md-radio-button ._md-container:before { - box-sizing: border-box; - background-color: transparent; - border-radius: 50%; - content: ''; - position: absolute; - display: block; - height: auto; - left: 0; - top: 0; - right: 0; - bottom: 0; - transition: all .5s; - width: auto -} - -md-radio-button.md-align-top-left > div._md-container { - top: 12px -} - -md-radio-button ._md-off { - box-sizing: border-box; - position: absolute; - top: 0; - left: 0; - width: 20px; - height: 20px; - border-style: solid; - border-width: 2px; - border-radius: 50%; - transition: border-color ease .28s -} - -md-radio-button ._md-on { - box-sizing: border-box; - position: absolute; - top: 0; - left: 0; - width: 20px; - height: 20px; - border-radius: 50%; - transition: -webkit-transform ease .28s; - transition: transform ease .28s; - -webkit-transform: scale(0); - transform: scale(0) -} - -md-radio-button.md-checked ._md-on { - -webkit-transform: scale(.5); - transform: scale(.5) -} - -md-radio-button ._md-label { - box-sizing: border-box; - position: relative; - display: inline-block; - margin-left: 30px; - margin-right: 0; - vertical-align: middle; - white-space: normal; - pointer-events: none; - width: auto -} - -[dir=rtl] md-radio-button ._md-label { - margin-left: 0; - margin-right: 30px -} - -md-radio-group.layout-column md-radio-button, md-radio-group.layout-gt-lg-column md-radio-button, md-radio-group.layout-gt-md-column md-radio-button, md-radio-group.layout-gt-sm-column md-radio-button, md-radio-group.layout-gt-xs-column md-radio-button, md-radio-group.layout-lg-column md-radio-button, md-radio-group.layout-md-column md-radio-button, md-radio-group.layout-sm-column md-radio-button, md-radio-group.layout-xl-column md-radio-button, md-radio-group.layout-xs-column md-radio-button { - margin-bottom: 16px -} - -md-radio-group.layout-gt-lg-row md-radio-button, md-radio-group.layout-gt-md-row md-radio-button, md-radio-group.layout-gt-sm-row md-radio-button, md-radio-group.layout-gt-xs-row md-radio-button, md-radio-group.layout-lg-row md-radio-button, md-radio-group.layout-md-row md-radio-button, md-radio-group.layout-row md-radio-button, md-radio-group.layout-sm-row md-radio-button, md-radio-group.layout-xl-row md-radio-button, md-radio-group.layout-xs-row md-radio-button { - margin: 0 16px 0 0 -} - -[dir=rtl] md-radio-group.layout-gt-lg-row md-radio-button, [dir=rtl] md-radio-group.layout-gt-md-row md-radio-button, [dir=rtl] md-radio-group.layout-gt-sm-row md-radio-button, [dir=rtl] md-radio-group.layout-gt-xs-row md-radio-button, [dir=rtl] md-radio-group.layout-lg-row md-radio-button, [dir=rtl] md-radio-group.layout-md-row md-radio-button, [dir=rtl] md-radio-group.layout-row md-radio-button, [dir=rtl] md-radio-group.layout-sm-row md-radio-button, [dir=rtl] md-radio-group.layout-xl-row md-radio-button, [dir=rtl] md-radio-group.layout-xs-row md-radio-button { - margin-left: 16px; - margin-right: 0 -} - -md-radio-group.layout-gt-lg-row md-radio-button:last-of-type, md-radio-group.layout-gt-md-row md-radio-button:last-of-type, md-radio-group.layout-gt-sm-row md-radio-button:last-of-type, md-radio-group.layout-gt-xs-row md-radio-button:last-of-type, md-radio-group.layout-lg-row md-radio-button:last-of-type, md-radio-group.layout-md-row md-radio-button:last-of-type, md-radio-group.layout-row md-radio-button:last-of-type, md-radio-group.layout-sm-row md-radio-button:last-of-type, md-radio-group.layout-xl-row md-radio-button:last-of-type, md-radio-group.layout-xs-row md-radio-button:last-of-type { - margin-left: 0; - margin-right: 0 -} - -md-radio-group:focus { - outline: 0 -} - -md-radio-group.md-focused .md-checked ._md-container:before { - left: -8px; - top: -8px; - right: -8px; - bottom: -8px -} - -.md-inline-form md-radio-group { - margin: 18px 0 19px -} - -.md-inline-form md-radio-group md-radio-button { - display: inline-block; - height: 30px; - padding: 2px; - box-sizing: border-box; - margin-top: 0; - margin-bottom: 0 -} - -@media screen and (-ms-high-contrast: active) { - md-radio-button.md-default-theme ._md-on { - background-color: #fff - } -} - -._md-select-menu-container { - position: fixed; - left: 0; - top: 0; - z-index: 90; - opacity: 0; - display: none -} - -._md-select-menu-container:not(._md-clickable) { - pointer-events: none -} - -._md-select-menu-container md-progress-circular { - display: table; - margin: 24px auto !important -} - -._md-select-menu-container._md-active { - display: block; - opacity: 1 -} - -._md-select-menu-container._md-active md-select-menu { - transition: all .4s cubic-bezier(.25, .8, .25, 1); - transition-duration: 150ms -} - -._md-select-menu-container._md-active md-select-menu > * { - opacity: 1; - transition: all .3s cubic-bezier(.55, 0, .55, .2); - transition-duration: 150ms; - transition-delay: 100ms -} - -._md-select-menu-container._md-leave { - opacity: 0; - transition: all .3s cubic-bezier(.55, 0, .55, .2); - transition-duration: 250ms -} - -md-input-container > md-select { - margin: 0; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 -} - -md-select { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - margin: 20px 0 26px -} - -md-select[disabled] ._md-select-value { - background-position: 0 bottom; - background-size: 4px 1px; - background-repeat: repeat-x; - margin-bottom: -1px -} - -md-select:focus { - outline: 0 -} - -md-select[disabled]:hover { - cursor: default -} - -md-select:not([disabled]):hover { - cursor: pointer -} - -md-select:not([disabled]).ng-invalid.ng-dirty ._md-select-value { - border-bottom: 2px solid; - padding-bottom: 0 -} - -md-select:not([disabled]):focus ._md-select-value { - border-bottom-width: 2px; - border-bottom-style: solid; - padding-bottom: 0 -} - -._md-select-value { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - padding: 2px 2px 1px; - border-bottom-width: 1px; - border-bottom-style: solid; - background-color: transparent; - position: relative; - box-sizing: content-box; - min-width: 64px; - min-height: 26px; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1 -} - -._md-select-value > span:not(._md-select-icon) { - max-width: 100%; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - -webkit-transform: translate3d(0, 2px, 0); - transform: translate3d(0, 2px, 0); - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden -} - -._md-select-value > span:not(._md-select-icon) ._md-text { - display: inline -} - -._md-select-value ._md-select-icon { - display: block; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - text-align: end; - width: 24px; - margin: 0 4px; - -webkit-transform: translate3d(0, 1px, 0); - transform: translate3d(0, 1px, 0) -} - -._md-select-value ._md-select-icon:after { - display: block; - content: '\25BC'; - position: relative; - top: 2px; - speak: none; - -webkit-transform: scaleY(.6) scaleX(1); - transform: scaleY(.6) scaleX(1) -} - -._md-select-value._md-select-placeholder { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - pointer-events: none; - -webkit-font-smoothing: antialiased; - padding-left: 2px; - z-index: 1 -} - -md-select-menu { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12); - max-height: 256px; - min-height: 48px; - overflow-y: hidden; - -webkit-transform-origin: left top; - transform-origin: left top; - -webkit-transform: scale(1); - transform: scale(1) -} - -md-select-menu.md-reverse { - -webkit-flex-direction: column-reverse; - -ms-flex-direction: column-reverse; - flex-direction: column-reverse -} - -md-select-menu:not(._md-overflow) md-content { - padding-top: 8px; - padding-bottom: 8px -} - -[dir=rtl] md-select-menu { - -webkit-transform-origin: right top; - transform-origin: right top -} - -md-select-menu md-content { - min-width: 136px; - min-height: 48px; - max-height: 256px; - overflow-y: auto -} - -md-select-menu > * { - opacity: 0 -} - -md-option { - cursor: pointer; - position: relative; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - width: auto; - transition: background .15s linear; - padding: 0 16px; - height: 48px -} - -md-option[disabled] { - cursor: default -} - -md-option:focus { - outline: 0 -} - -md-option ._md-text { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - width: auto; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - font-size: 16px -} - -md-optgroup { - display: block -} - -md-optgroup label { - display: block; - font-size: 14px; - text-transform: uppercase; - padding: 16px; - font-weight: 500 -} - -md-optgroup md-option { - padding-left: 32px; - padding-right: 32px -} - -@media screen and (-ms-high-contrast: active) { - ._md-select-backdrop { - background-color: transparent - } - - md-select-menu { - border: 1px solid #fff - } -} - -md-select-menu[multiple] md-option[md-checkbox-enabled] { - padding-left: 40px; - padding-right: 16px -} - -[dir=rtl] md-select-menu[multiple] md-option[md-checkbox-enabled] { - padding-left: 16px; - padding-right: 40px -} - -md-select-menu[multiple] md-option[md-checkbox-enabled] ._md-container { - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - box-sizing: border-box; - display: inline-block; - width: 20px; - height: 20px; - left: 0; - right: auto -} - -[dir=rtl] md-select-menu[multiple] md-option[md-checkbox-enabled] ._md-container { - left: auto; - right: 0 -} - -md-select-menu[multiple] md-option[md-checkbox-enabled] ._md-container:before { - box-sizing: border-box; - background-color: transparent; - border-radius: 50%; - content: ''; - position: absolute; - display: block; - height: auto; - left: 0; - top: 0; - right: 0; - bottom: 0; - transition: all .5s; - width: auto -} - -md-select-menu[multiple] md-option[md-checkbox-enabled] ._md-container:after { - box-sizing: border-box; - content: ''; - position: absolute; - top: -10px; - right: -10px; - bottom: -10px; - left: -10px -} - -md-select-menu[multiple] md-option[md-checkbox-enabled] ._md-container .md-ripple-container { - position: absolute; - display: block; - width: auto; - height: auto; - left: -15px; - top: -15px; - right: -15px; - bottom: -15px -} - -md-select-menu[multiple] md-option[md-checkbox-enabled] ._md-icon { - box-sizing: border-box; - transition: 240ms; - position: absolute; - top: 0; - left: 0; - width: 20px; - height: 20px; - border-width: 2px; - border-style: solid; - border-radius: 2px -} - -md-select-menu[multiple] md-option[md-checkbox-enabled][selected] ._md-icon { - border: none -} - -md-select-menu[multiple] md-option[md-checkbox-enabled][selected] ._md-icon:after { - box-sizing: border-box; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - left: 6.67px; - top: 2.22px; - display: table; - width: 6.67px; - height: 13.33px; - border-width: 2px; - border-style: solid; - border-top: 0; - border-left: 0; - content: '' -} - -md-select-menu[multiple] md-option[md-checkbox-enabled][disabled] { - cursor: default -} - -md-select-menu[multiple] md-option[md-checkbox-enabled].md-indeterminate ._md-icon:after { - box-sizing: border-box; - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - display: table; - width: 12px; - height: 2px; - border-width: 2px; - border-style: solid; - border-top: 0; - border-left: 0; - content: '' -} - -md-select-menu[multiple] md-option[md-checkbox-enabled] ._md-container { - margin-left: 10.67px; - margin-right: auto -} - -[dir=rtl] md-select-menu[multiple] md-option[md-checkbox-enabled] ._md-container { - margin-left: auto; - margin-right: 10.67px -} - -md-sidenav { - box-sizing: border-box; - position: absolute; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - z-index: 60; - width: 320px; - max-width: 320px; - bottom: 0; - overflow: auto; - -webkit-overflow-scrolling: touch -} - -md-sidenav ul { - list-style: none -} - -md-sidenav._md-closed { - display: none -} - -md-sidenav._md-closed-add, md-sidenav._md-closed-remove { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - transition: .2s ease-in all -} - -md-sidenav._md-closed-add._md-closed-add-active, md-sidenav._md-closed-remove._md-closed-remove-active { - transition: all .4s cubic-bezier(.25, .8, .25, 1) -} - -md-sidenav._md-locked-open, md-sidenav._md-locked-open-add, md-sidenav._md-locked-open-remove, md-sidenav._md-locked-open-remove._md-closed, md-sidenav._md-locked-open._md-closed, md-sidenav._md-locked-open._md-closed.md-sidenav-left, md-sidenav._md-locked-open._md-closed.md-sidenav-right { - position: static; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -md-sidenav._md-locked-open-remove-active { - transition: width .3s cubic-bezier(.55, 0, .55, .2), min-width .3s cubic-bezier(.55, 0, .55, .2); - width: 0; - min-width: 0 -} - -md-sidenav._md-closed._md-locked-open-add { - width: 0; - min-width: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -md-sidenav._md-closed._md-locked-open-add-active { - transition: width .3s cubic-bezier(.55, 0, .55, .2), min-width .3s cubic-bezier(.55, 0, .55, .2); - width: 320px; - min-width: 320px; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -._md-sidenav-backdrop._md-locked-open { - display: none -} - -.md-sidenav-left, md-sidenav { - left: 0; - top: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.md-sidenav-left._md-closed, md-sidenav._md-closed { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) -} - -.md-sidenav-right { - left: 100%; - top: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) -} - -.md-sidenav-right._md-closed { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -@media (min-width: 600px) { - md-sidenav { - max-width: 400px - } -} - -@media (max-width: 456px) { - md-sidenav { - width: calc(100% - 56px); - min-width: calc(100% - 56px); - max-width: calc(100% - 56px) - } -} - -@media screen and (-ms-high-contrast: active) { - .md-sidenav-left, md-sidenav { - border-right: 1px solid #fff - } - - .md-sidenav-right { - border-left: 1px solid #fff - } -} - -._md-sticky-clone { - z-index: 2; - top: 0; - left: 0; - right: 0; - position: absolute !important; - -webkit-transform: translate3d(-9999px, -9999px, 0); - transform: translate3d(-9999px, -9999px, 0) -} - -._md-sticky-clone[sticky-state=active] { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -._md-sticky-clone[sticky-state=active]:not(.md-sticky-no-effect) ._md-subheader-inner { - -webkit-animation: subheaderStickyHoverIn .3s ease-out both; - animation: subheaderStickyHoverIn .3s ease-out both -} - -@-webkit-keyframes sliderFocusThumb { - 0% { - -webkit-transform: scale(.7); - transform: scale(.7) - } - 30% { - -webkit-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(.7); - transform: scale(.7) - } -} - -@keyframes sliderFocusThumb { - 0% { - -webkit-transform: scale(.7); - transform: scale(.7) - } - 30% { - -webkit-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(.7); - transform: scale(.7) - } -} - -@-webkit-keyframes sliderDiscreteFocusThumb { - 0% { - -webkit-transform: scale(.7); - transform: scale(.7) - } - 50% { - -webkit-transform: scale(.8); - transform: scale(.8) - } - 100% { - -webkit-transform: scale(0); - transform: scale(0) - } -} - -@keyframes sliderDiscreteFocusThumb { - 0% { - -webkit-transform: scale(.7); - transform: scale(.7) - } - 50% { - -webkit-transform: scale(.8); - transform: scale(.8) - } - 100% { - -webkit-transform: scale(0); - transform: scale(0) - } -} - -@-webkit-keyframes sliderDiscreteFocusRing { - 0% { - -webkit-transform: scale(.7); - transform: scale(.7); - opacity: 0 - } - 50% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1 - } - 100% { - -webkit-transform: scale(0); - transform: scale(0) - } -} - -@keyframes sliderDiscreteFocusRing { - 0% { - -webkit-transform: scale(.7); - transform: scale(.7); - opacity: 0 - } - 50% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1 - } - 100% { - -webkit-transform: scale(0); - transform: scale(0) - } -} - -md-slider { - height: 48px; - min-width: 128px; - position: relative; - margin-left: 4px; - margin-right: 4px; - padding: 0; - display: block; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-slider *, md-slider :after { - box-sizing: border-box -} - -md-slider ._md-slider-wrapper { - outline: 0; - width: 100%; - height: 100% -} - -md-slider ._md-slider-content { - position: relative -} - -md-slider ._md-track-container { - width: 100%; - position: absolute; - top: 23px; - height: 2px -} - -md-slider ._md-track { - position: absolute; - left: 0; - right: 0; - height: 100% -} - -md-slider ._md-track-fill { - transition: all .4s cubic-bezier(.25, .8, .25, 1); - transition-property: width, height -} - -md-slider ._md-track-ticks { - position: absolute; - left: 0; - right: 0; - height: 100% -} - -md-slider ._md-track-ticks canvas { - width: 100%; - height: 100% -} - -md-slider ._md-thumb-container { - position: absolute; - left: 0; - top: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); - transition: all .4s cubic-bezier(.25, .8, .25, 1); - transition-property: left, bottom -} - -md-slider ._md-thumb { - z-index: 1; - position: absolute; - left: -10px; - top: 14px; - width: 20px; - height: 20px; - border-radius: 20px; - -webkit-transform: scale(.7); - transform: scale(.7); - transition: all .4s cubic-bezier(.25, .8, .25, 1) -} - -md-slider ._md-thumb:after { - content: ''; - position: absolute; - width: 20px; - height: 20px; - border-radius: 20px; - border-width: 3px; - border-style: solid; - transition: inherit -} - -md-slider ._md-sign { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - position: absolute; - left: -14px; - top: -17px; - width: 28px; - height: 28px; - border-radius: 28px; - -webkit-transform: scale(.4) translate3d(0, 67.5px, 0); - transform: scale(.4) translate3d(0, 67.5px, 0); - transition: all .3s cubic-bezier(.35, 0, .25, 1) -} - -md-slider ._md-sign:after { - position: absolute; - content: ''; - left: 0; - border-radius: 16px; - top: 19px; - border-left: 14px solid transparent; - border-right: 14px solid transparent; - border-top-width: 16px; - border-top-style: solid; - opacity: 0; - -webkit-transform: translate3d(0, -8px, 0); - transform: translate3d(0, -8px, 0); - transition: all .2s cubic-bezier(.35, 0, .25, 1) -} - -md-slider ._md-sign ._md-thumb-text { - z-index: 1; - font-size: 12px; - font-weight: 700 -} - -md-slider ._md-focus-ring { - position: absolute; - left: -17px; - top: 7px; - width: 34px; - height: 34px; - border-radius: 34px; - -webkit-transform: scale(.7); - transform: scale(.7); - opacity: 0; - transition: all .35s cubic-bezier(.35, 0, .25, 1) -} - -md-slider ._md-disabled-thumb { - position: absolute; - left: -14px; - top: 10px; - width: 28px; - height: 28px; - border-radius: 28px; - -webkit-transform: scale(.5); - transform: scale(.5); - border-width: 4px; - border-style: solid; - display: none -} - -md-slider._md-min ._md-sign { - opacity: 0 -} - -md-slider:focus { - outline: 0 -} - -md-slider._md-dragging ._md-thumb-container, md-slider._md-dragging ._md-track-fill { - transition: none -} - -md-slider:not([md-discrete]) ._md-sign, md-slider:not([md-discrete]) ._md-track-ticks { - display: none -} - -md-slider:not([md-discrete]):not([disabled]) ._md-slider-wrapper ._md-thumb:hover { - -webkit-transform: scale(.8); - transform: scale(.8) -} - -md-slider:not([md-discrete]):not([disabled]) ._md-slider-wrapper.md-focused ._md-focus-ring { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1 -} - -md-slider:not([md-discrete]):not([disabled]) ._md-slider-wrapper.md-focused ._md-thumb { - -webkit-animation: sliderFocusThumb .7s cubic-bezier(.35, 0, .25, 1); - animation: sliderFocusThumb .7s cubic-bezier(.35, 0, .25, 1) -} - -md-slider:not([md-discrete]):not([disabled])._md-active ._md-slider-wrapper ._md-thumb { - -webkit-transform: scale(1); - transform: scale(1) -} - -md-slider[md-discrete]:not([disabled]) ._md-slider-wrapper.md-focused ._md-focus-ring { - -webkit-transform: scale(0); - transform: scale(0); - -webkit-animation: sliderDiscreteFocusRing .5s cubic-bezier(.35, 0, .25, 1); - animation: sliderDiscreteFocusRing .5s cubic-bezier(.35, 0, .25, 1) -} - -md-slider[md-discrete]:not([disabled]) ._md-slider-wrapper.md-focused ._md-thumb { - -webkit-animation: sliderDiscreteFocusThumb .5s cubic-bezier(.35, 0, .25, 1); - animation: sliderDiscreteFocusThumb .5s cubic-bezier(.35, 0, .25, 1) -} - -md-slider[md-discrete]:not([disabled]) ._md-slider-wrapper.md-focused ._md-thumb, md-slider[md-discrete]:not([disabled])._md-active ._md-thumb { - -webkit-transform: scale(0); - transform: scale(0) -} - -md-slider[md-discrete]:not([disabled]) ._md-slider-wrapper.md-focused ._md-sign, md-slider[md-discrete]:not([disabled]) ._md-slider-wrapper.md-focused ._md-sign:after, md-slider[md-discrete]:not([disabled])._md-active ._md-sign, md-slider[md-discrete]:not([disabled])._md-active ._md-sign:after { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1) -} - -md-slider[md-discrete][disabled][readonly] ._md-thumb { - -webkit-transform: scale(0); - transform: scale(0) -} - -md-slider[md-discrete][disabled][readonly] ._md-sign, md-slider[md-discrete][disabled][readonly] ._md-sign:after { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1) -} - -md-slider[disabled] ._md-track-fill { - display: none -} - -md-slider[disabled] ._md-track-ticks, md-slider[disabled]:not([readonly]) ._md-sign { - opacity: 0 -} - -md-slider[disabled] ._md-thumb { - -webkit-transform: scale(.5); - transform: scale(.5) -} - -md-slider[disabled] ._md-disabled-thumb { - display: block -} - -md-slider[md-vertical] { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - min-height: 128px; - min-width: 0 -} - -md-slider[md-vertical] ._md-slider-wrapper { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - padding-top: 12px; - padding-bottom: 12px; - width: 48px; - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center -} - -md-slider[md-vertical] ._md-track-container { - height: 100%; - width: 2px; - top: 0; - left: calc(50% - (2px / 2)) -} - -md-slider[md-vertical] ._md-thumb-container { - top: auto; - margin-bottom: 23px; - left: calc(50% - 1px); - bottom: 0 -} - -md-slider[md-vertical] ._md-thumb-container ._md-thumb:after { - left: 1px -} - -md-slider[md-vertical] ._md-thumb-container ._md-focus-ring { - left: -16px -} - -md-slider[md-vertical] ._md-track-fill { - bottom: 0 -} - -md-slider[md-vertical][md-discrete] ._md-sign { - left: -40px; - top: 9.5px; - -webkit-transform: scale(.4) translate3d(67.5px, 0, 0); - transform: scale(.4) translate3d(67.5px, 0, 0) -} - -md-slider[md-vertical][md-discrete] ._md-sign:after { - top: 9.5px; - left: 19px; - border-top: 14px solid transparent; - border-right: 0; - border-bottom: 14px solid transparent; - border-left-width: 16px; - border-left-style: solid; - opacity: 0; - -webkit-transform: translate3d(0, -8px, 0); - transform: translate3d(0, -8px, 0); - transition: all .2s ease-in-out -} - -md-slider[md-vertical][md-discrete] ._md-sign ._md-thumb-text { - z-index: 1; - font-size: 12px; - font-weight: 700 -} - -md-slider[md-vertical][md-discrete] .md-focused ._md-sign:after, md-slider[md-vertical][md-discrete]._md-active ._md-sign:after, md-slider[md-vertical][md-discrete][disabled][readonly] ._md-sign:after { - top: 0 -} - -md-slider[md-vertical][disabled][readonly] ._md-thumb { - -webkit-transform: scale(0); - transform: scale(0) -} - -md-slider[md-vertical][disabled][readonly] ._md-sign, md-slider[md-vertical][disabled][readonly] ._md-sign:after { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1) -} - -md-slider-container { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-slider-container > :first-child:not(md-slider), md-slider-container > :last-child:not(md-slider) { - min-width: 25px; - max-width: 42px; - height: 25px; - transition: all .4s cubic-bezier(.25, .8, .25, 1); - transition-property: color, max-width -} - -md-slider-container > :first-child:not(md-slider) { - margin-right: 16px -} - -md-slider-container > :last-child:not(md-slider) { - margin-left: 16px -} - -md-slider-container[md-vertical] { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column -} - -md-slider-container[md-vertical] > :first-child:not(md-slider), md-slider-container[md-vertical] > :last-child:not(md-slider) { - margin-right: 0; - margin-left: 0; - text-align: center -} - -md-slider-container md-input-container input[type=number] { - text-align: center; - padding-left: 15px; - height: 50px; - margin-top: -25px -} - -@media screen and (-ms-high-contrast: active) { - md-slider.md-default-theme ._md-track { - border-bottom: 1px solid #fff - } -} - -@-webkit-keyframes subheaderStickyHoverIn { - 0% { - box-shadow: 0 0 0 0 transparent - } - 100% { - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .16) - } -} - -@keyframes subheaderStickyHoverIn { - 0% { - box-shadow: 0 0 0 0 transparent - } - 100% { - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .16) - } -} - -@-webkit-keyframes subheaderStickyHoverOut { - 0% { - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .16) - } - 100% { - box-shadow: 0 0 0 0 transparent - } -} - -@keyframes subheaderStickyHoverOut { - 0% { - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .16) - } - 100% { - box-shadow: 0 0 0 0 transparent - } -} - -._md-subheader-wrapper:not(.md-sticky-no-effect) { - transition: .2s ease-out margin -} - -._md-subheader-wrapper:not(.md-sticky-no-effect) .md-subheader { - margin: 0 -} - -._md-subheader-wrapper:not(.md-sticky-no-effect).md-sticky-clone { - z-index: 2 -} - -._md-subheader-wrapper:not(.md-sticky-no-effect)[sticky-state=active] { - margin-top: -2px -} - -._md-subheader-wrapper:not(.md-sticky-no-effect):not(.md-sticky-clone)[sticky-prev-state=active] ._md-subheader-inner:after { - -webkit-animation: subheaderStickyHoverOut .3s ease-out both; - animation: subheaderStickyHoverOut .3s ease-out both -} - -.md-subheader { - display: block; - font-size: 14px; - font-weight: 500; - line-height: 1em; - margin: 0; - position: relative -} - -.md-subheader ._md-subheader-inner { - display: block; - padding: 16px -} - -.md-subheader ._md-subheader-content { - display: block; - z-index: 1; - position: relative -} - -.md-inline-form md-switch { - margin-top: 18px; - margin-bottom: 19px -} - -md-switch { - margin: 16px; - margin-left: inherit; - white-space: nowrap; - cursor: pointer; - outline: 0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - height: 30px; - line-height: 28px; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-flex; - display: -ms-flexbox; - display: flex -} - -[dir=rtl] md-switch { - margin-left: 16px; - margin-right: inherit -} - -md-switch:last-of-type { - margin-left: inherit; - margin-right: 0 -} - -[dir=rtl] md-switch:last-of-type { - margin-left: 0; - margin-right: inherit -} - -md-switch[disabled], md-switch[disabled] ._md-container { - cursor: default -} - -md-switch ._md-container { - cursor: -webkit-grab; - cursor: grab; - width: 36px; - height: 24px; - position: relative; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 8px; - float: left -} - -[dir=rtl] md-switch ._md-container { - margin-right: auto; - margin-left: 8px -} - -md-switch:not([disabled]) ._md-dragging, md-switch:not([disabled])._md-dragging ._md-container { - cursor: -webkit-grabbing; - cursor: grabbing -} - -md-switch.md-focused:not([disabled]) ._md-thumb:before { - left: -8px; - top: -8px; - right: -8px; - bottom: -8px -} - -md-switch.md-focused:not([disabled]):not(.md-checked) ._md-thumb:before { - background-color: rgba(0, 0, 0, .12) -} - -md-switch ._md-label { - border-color: transparent; - border-width: 0; - float: left -} - -md-switch ._md-bar { - left: 1px; - width: 34px; - top: 5px; - height: 14px; - border-radius: 8px; - position: absolute -} - -md-switch ._md-thumb-container { - top: 2px; - left: 0; - width: 16px; - position: absolute; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - z-index: 1 -} - -md-switch.md-checked ._md-thumb-container { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) -} - -md-switch ._md-thumb { - position: absolute; - margin: 0; - left: 0; - top: 0; - outline: 0; - height: 20px; - width: 20px; - border-radius: 50%; - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12) -} - -md-switch ._md-thumb:before { - background-color: transparent; - border-radius: 50%; - content: ''; - position: absolute; - display: block; - height: auto; - left: 0; - top: 0; - right: 0; - bottom: 0; - transition: all .5s; - width: auto -} - -md-switch ._md-thumb .md-ripple-container { - position: absolute; - display: block; - width: auto; - height: auto; - left: -20px; - top: -20px; - right: -20px; - bottom: -20px -} - -md-switch:not(._md-dragging) ._md-bar, md-switch:not(._md-dragging) ._md-thumb, md-switch:not(._md-dragging) ._md-thumb-container { - transition: all .08s linear; - transition-property: -webkit-transform, background-color; - transition-property: transform, background-color -} - -md-switch:not(._md-dragging) ._md-bar, md-switch:not(._md-dragging) ._md-thumb { - transition-delay: .05s -} - -@media screen and (-ms-high-contrast: active) { - md-switch.md-default-theme ._md-bar { - background-color: #666 - } - - md-switch.md-default-theme.md-checked ._md-bar { - background-color: #9E9E9E - } - - md-switch.md-default-theme ._md-thumb { - background-color: #fff - } -} - -@-webkit-keyframes md-tab-content-hide { - 0%, 50% { - opacity: 1 - } - 100% { - opacity: 0 - } -} - -@keyframes md-tab-content-hide { - 0%, 50% { - opacity: 1 - } - 100% { - opacity: 0 - } -} - -md-tab-data { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: -1; - opacity: 0 -} - -md-tabs { - display: block; - margin: 0; - border-radius: 2px; - overflow: hidden; - position: relative; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0 -} - -md-tabs:not(.md-no-tab-content):not(.md-dynamic-height) { - min-height: 248px -} - -md-tabs[md-align-tabs=bottom] { - padding-bottom: 48px -} - -md-tabs[md-align-tabs=bottom] md-tabs-wrapper { - position: absolute; - bottom: 0; - left: 0; - right: 0; - height: 48px; - z-index: 2 -} - -md-tabs[md-align-tabs=bottom] md-tabs-content-wrapper { - top: 0; - bottom: 48px -} - -md-tabs.md-dynamic-height md-tabs-content-wrapper { - min-height: 0; - position: relative; - top: auto; - left: auto; - right: auto; - bottom: auto; - overflow: visible -} - -md-tabs.md-dynamic-height md-tab-content.md-active { - position: relative -} - -md-tabs[md-border-bottom] md-tabs-wrapper { - border-width: 0 0 1px; - border-style: solid -} - -md-tabs[md-border-bottom]:not(.md-dynamic-height) md-tabs-content-wrapper { - top: 49px -} - -md-tabs-wrapper { - display: block; - position: relative; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -md-tabs-wrapper md-next-button, md-tabs-wrapper md-prev-button { - height: 100%; - width: 32px; - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - line-height: 1em; - z-index: 2; - cursor: pointer; - font-size: 16px; - background: center center no-repeat; - transition: all .5s cubic-bezier(.35, 0, .25, 1) -} - -md-tabs-wrapper md-next-button:focus, md-tabs-wrapper md-prev-button:focus { - outline: 0 -} - -md-tabs-wrapper md-next-button.md-disabled, md-tabs-wrapper md-prev-button.md-disabled { - opacity: .25; - cursor: default -} - -md-tabs-wrapper md-next-button.ng-leave, md-tabs-wrapper md-prev-button.ng-leave { - transition: none -} - -md-tabs-wrapper md-next-button md-icon, md-tabs-wrapper md-prev-button md-icon { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0) -} - -md-tabs-wrapper md-prev-button { - left: 0; - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMjA4IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyIAkJIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4gPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+IDwvZz4gPC9nPiA8ZyBpZD0iR3JpZCIgZGlzcGxheT0ibm9uZSI+IDxnIGRpc3BsYXk9ImlubGluZSI+IDwvZz4gPC9nPiA8L3N2Zz4NCg==) -} - -[dir=rtl] md-tabs-wrapper md-prev-button { - left: auto; - right: 0 -} - -md-tabs-wrapper md-next-button { - right: 0; - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMzM2IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTAsNiA4LjYsNy40IDEzLjIsMTIgOC42LDE2LjYgMTAsMTggMTYsMTIgCQkiIHN0eWxlPSJmaWxsOndoaXRlOyIvPiA8cmVjdCBmaWxsPSJub25lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiLz4gPC9nPiA8L2c+IDxnIGlkPSJHcmlkIiBkaXNwbGF5PSJub25lIj4gPGcgZGlzcGxheT0iaW5saW5lIj4gPC9nPiA8L2c+IDwvc3ZnPg0K) -} - -[dir=rtl] md-tabs-wrapper md-next-button { - right: auto; - left: 0 -} - -md-tabs-wrapper md-next-button md-icon { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(180deg); - transform: translate3d(-50%, -50%, 0) rotate(180deg) -} - -md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper { - width: 100%; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper md-tab-item { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1 -} - -md-tabs-canvas { - position: relative; - overflow: hidden; - display: block; - height: 48px -} - -md-tabs-canvas:after { - content: ''; - display: table; - clear: both -} - -md-tabs-canvas .md-dummy-wrapper { - position: absolute; - top: 0; - left: 0 -} - -[dir=rtl] md-tabs-canvas .md-dummy-wrapper { - left: auto; - right: 0 -} - -md-tabs-canvas.md-paginated { - margin: 0 32px -} - -md-tabs-canvas.md-center-tabs { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - text-align: center -} - -md-tabs-canvas.md-center-tabs .md-tab { - float: none; - display: inline-block -} - -md-pagination-wrapper { - height: 48px; - display: block; - transition: -webkit-transform .5s cubic-bezier(.35, 0, .25, 1); - transition: transform .5s cubic-bezier(.35, 0, .25, 1); - position: absolute; - width: 999999px; - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -md-pagination-wrapper:after { - content: ''; - display: table; - clear: both -} - -[dir=rtl] md-pagination-wrapper { - left: auto; - right: 0 -} - -md-pagination-wrapper.md-center-tabs { - position: relative; - width: initial; - margin: 0 auto -} - -md-tabs-content-wrapper { - display: block; - position: absolute; - top: 48px; - left: 0; - right: 0; - bottom: 0; - overflow: hidden -} - -md-tab-content { - display: block; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - transition: -webkit-transform .5s cubic-bezier(.35, 0, .25, 1); - transition: transform .5s cubic-bezier(.35, 0, .25, 1); - overflow: auto; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -md-tab-content.md-no-scroll { - bottom: auto; - overflow: hidden -} - -md-tab-content.md-no-transition, md-tab-content.ng-leave { - transition: none -} - -md-tab-content.md-left:not(.md-active) { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - -webkit-animation: 1s md-tab-content-hide; - animation: 1s md-tab-content-hide; - opacity: 0 -} - -[dir=rtl] md-tab-content.md-left:not(.md-active) { - -webkit-transform: translateX(100%); - transform: translateX(100%) -} - -md-tab-content.md-left:not(.md-active) * { - transition: visibility 0s linear; - transition-delay: .5s; - visibility: hidden -} - -md-tab-content.md-right:not(.md-active) { - -webkit-transform: translateX(100%); - transform: translateX(100%); - -webkit-animation: 1s md-tab-content-hide; - animation: 1s md-tab-content-hide; - opacity: 0 -} - -[dir=rtl] md-tab-content.md-right:not(.md-active) { - -webkit-transform: translateX(-100%); - transform: translateX(-100%) -} - -md-tab-content.md-right:not(.md-active) * { - transition: visibility 0s linear; - transition-delay: .5s; - visibility: hidden -} - -md-tab-content > div.ng-leave { - -webkit-animation: 1s md-tab-content-hide; - animation: 1s md-tab-content-hide -} - -md-ink-bar { - position: absolute; - left: auto; - right: auto; - bottom: 0; - height: 2px -} - -md-ink-bar.md-left { - transition: left .125s cubic-bezier(.35, 0, .25, 1), right .25s cubic-bezier(.35, 0, .25, 1) -} - -md-ink-bar.md-right { - transition: left .25s cubic-bezier(.35, 0, .25, 1), right .125s cubic-bezier(.35, 0, .25, 1) -} - -md-tab { - position: absolute; - z-index: -1; - left: -9999px -} - -.md-tab { - font-size: 14px; - text-align: center; - line-height: 24px; - padding: 12px 24px; - transition: background-color .35s cubic-bezier(.35, 0, .25, 1); - cursor: pointer; - white-space: nowrap; - position: relative; - text-transform: uppercase; - float: left; - font-weight: 500; - box-sizing: border-box; - overflow: hidden; - text-overflow: ellipsis -} - -[dir=rtl] .md-tab { - float: right -} - -.md-tab.md-focused { - box-shadow: none; - outline: 0 -} - -.md-tab.md-active { - cursor: default -} - -.md-tab.md-disabled { - pointer-events: none; - -ms-touch-action: pan-y; - touch-action: pan-y; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-user-drag: none; - opacity: .5; - cursor: default -} - -.md-tab.ng-leave { - transition: none -} - -md-toolbar + md-tabs { - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.md-toast-text { - padding: 0 6px -} - -md-toast { - position: absolute; - z-index: 105; - box-sizing: border-box; - cursor: default; - overflow: hidden; - padding: 8px; - opacity: 1; - transition: all .4s cubic-bezier(.25, .8, .25, 1) -} - -md-toast .md-toast-content { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 0; - max-height: 168px; - max-width: 100%; - min-height: 48px; - padding: 0 18px; - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .26); - border-radius: 2px; - font-size: 14px; - overflow: hidden; - -webkit-transform: translate3d(0, 0, 0) rotateZ(0deg); - transform: translate3d(0, 0, 0) rotateZ(0deg); - transition: all .4s cubic-bezier(.25, .8, .25, 1); - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start -} - -[dir=rtl] md-toast .md-toast-content { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end -} - -md-toast.md-capsule, md-toast.md-capsule .md-toast-content { - border-radius: 24px -} - -md-toast.ng-leave-active .md-toast-content { - transition: all .3s cubic-bezier(.55, 0, .55, .2) -} - -md-toast._md-swipedown .md-toast-content, md-toast._md-swipeleft .md-toast-content, md-toast._md-swiperight .md-toast-content, md-toast._md-swipeup .md-toast-content { - transition: all .4s cubic-bezier(.25, .8, .25, 1) -} - -md-toast.ng-enter { - opacity: 0 -} - -md-toast.ng-enter .md-toast-content { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) -} - -md-toast.ng-enter._md-top .md-toast-content { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0) -} - -md-toast.ng-enter.ng-enter-active { - opacity: 1 -} - -md-toast.ng-enter.ng-enter-active .md-toast-content { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -md-toast.ng-leave.ng-leave-active .md-toast-content { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) -} - -md-toast.ng-leave.ng-leave-active._md-swipeup .md-toast-content { - -webkit-transform: translate3d(0, -50%, 0); - transform: translate3d(0, -50%, 0) -} - -md-toast.ng-leave.ng-leave-active._md-swipedown .md-toast-content { - -webkit-transform: translate3d(0, 50%, 0); - transform: translate3d(0, 50%, 0) -} - -md-toast.ng-leave.ng-leave-active._md-top .md-toast-content { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0) -} - -md-toast .md-action { - line-height: 19px; - margin-left: 24px; - margin-right: 0; - cursor: pointer; - text-transform: uppercase; - float: right -} - -md-toast .md-button { - min-width: 0; - margin-right: 0; - margin-left: 12px -} - -[dir=rtl] md-toast .md-button { - margin-right: 12px; - margin-left: 0 -} - -@media (max-width: 959px) { - md-toast { - left: 0; - right: 0; - width: 100%; - max-width: 100%; - min-width: 0; - border-radius: 0; - bottom: 0; - padding: 0 - } - - md-toast.ng-leave.ng-leave-active._md-swipeup .md-toast-content { - -webkit-transform: translate3d(0, -50%, 0); - transform: translate3d(0, -50%, 0) - } - - md-toast.ng-leave.ng-leave-active._md-swipedown .md-toast-content { - -webkit-transform: translate3d(0, 50%, 0); - transform: translate3d(0, 50%, 0) - } -} - -@media (min-width: 960px) { - md-toast { - min-width: 304px - } - - md-toast._md-bottom { - bottom: 0 - } - - md-toast._md-left { - left: 0 - } - - md-toast._md-right { - right: 0 - } - - md-toast._md-top { - top: 0 - } - - md-toast.ng-leave.ng-leave-active._md-swipeleft .md-toast-content { - -webkit-transform: translate3d(-50%, 0, 0); - transform: translate3d(-50%, 0, 0) - } - - md-toast.ng-leave.ng-leave-active._md-swiperight .md-toast-content { - -webkit-transform: translate3d(50%, 0, 0); - transform: translate3d(50%, 0, 0) - } -} - -@media (min-width: 1920px) { - md-toast .md-toast-content { - max-width: 568px - } -} - -@media screen and (-ms-high-contrast: active) { - md-toast { - border: 1px solid #fff - } -} - -._md-toast-animating { - overflow: hidden !important -} - -md-toolbar { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - position: relative; - z-index: 2; - font-size: 20px; - min-height: 64px; - width: 100%; - transition: all .5s cubic-bezier(.35, 0, .25, 1); - transition-property: background-color, fill, color -} - -md-toolbar.md-whiteframe-z1-add, md-toolbar.md-whiteframe-z1-remove { - transition: box-shadow .5s linear -} - -md-toolbar md-toolbar-filler { - width: 72px -} - -md-toolbar *, md-toolbar :after, md-toolbar :before { - box-sizing: border-box -} - -md-toolbar.md-tall { - height: 128px; - min-height: 128px; - max-height: 128px -} - -md-toolbar.md-medium-tall { - height: 88px; - min-height: 88px; - max-height: 88px -} - -md-toolbar.md-medium-tall .md-toolbar-tools { - height: 48px; - min-height: 48px; - max-height: 48px -} - -md-toolbar > .md-indent { - margin-left: 64px -} - -[dir=rtl] md-toolbar > .md-indent { - margin-left: auto; - margin-right: 64px -} - -md-toolbar ~ md-content > md-list { - padding: 0 -} - -md-toolbar ~ md-content > md-list md-list-item:last-child md-divider { - display: none -} - -.md-toolbar-tools { - font-size: 20px; - letter-spacing: .005em; - box-sizing: border-box; - font-weight: 400; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - width: 100%; - height: 64px; - max-height: 64px; - padding: 0 16px; - margin: 0 -} - -.md-toolbar-tools h1, .md-toolbar-tools h2, .md-toolbar-tools h3 { - font-size: inherit; - font-weight: inherit; - margin: inherit -} - -.md-toolbar-tools a { - color: inherit; - text-decoration: none -} - -.md-toolbar-tools .fill-height { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center -} - -.md-toolbar-tools .md-button { - margin-top: 0; - margin-bottom: 0 -} - -.md-toolbar-tools .md-button, .md-toolbar-tools .md-button.md-icon-button md-icon { - transition: all .5s cubic-bezier(.35, 0, .25, 1); - transition-property: background-color, fill, color -} - -.md-toolbar-tools > .md-button:first-child { - margin-left: -8px -} - -[dir=rtl] .md-toolbar-tools > .md-button:first-child { - margin-left: auto; - margin-right: -8px -} - -.md-toolbar-tools > .md-button:last-child { - margin-right: -8px -} - -[dir=rtl] .md-toolbar-tools > .md-button:last-child { - margin-right: auto; - margin-left: -8px -} - -.md-toolbar-tools > md-menu:last-child { - margin-right: -8px -} - -[dir=rtl] .md-toolbar-tools > md-menu:last-child { - margin-right: auto; - margin-left: -8px -} - -.md-toolbar-tools > md-menu:last-child > .md-button { - margin-right: 0 -} - -[dir=rtl] .md-toolbar-tools > md-menu:last-child > .md-button { - margin-right: auto; - margin-left: 0 -} - -@media screen and (-ms-high-contrast: active) { - .md-toolbar-tools { - border-bottom: 1px solid #fff - } -} - -@media (min-width: 0) and (max-width: 959px) and (orientation: portrait) { - md-toolbar { - min-height: 56px - } - - .md-toolbar-tools { - height: 56px; - max-height: 56px - } -} - -@media (min-width: 0) and (max-width: 959px) and (orientation: landscape) { - md-toolbar { - min-height: 48px - } - - .md-toolbar-tools { - height: 48px; - max-height: 48px - } -} - -.md-virtual-repeat-container { - box-sizing: border-box; - display: block; - margin: 0; - overflow: hidden; - padding: 0; - position: relative -} - -.md-virtual-repeat-container .md-virtual-repeat-scroller { - bottom: 0; - box-sizing: border-box; - left: 0; - margin: 0; - overflow-x: hidden; - padding: 0; - position: absolute; - right: 0; - top: 0 -} - -.md-virtual-repeat-container .md-virtual-repeat-sizer { - box-sizing: border-box; - height: 1px; - display: block; - margin: 0; - padding: 0; - width: 1px -} - -.md-virtual-repeat-container .md-virtual-repeat-offsetter { - box-sizing: border-box; - left: 0; - margin: 0; - padding: 0; - position: absolute; - right: 0; - top: 0 -} - -.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-scroller { - overflow-x: auto; - overflow-y: hidden -} - -.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter { - bottom: 16px; - right: auto; - white-space: nowrap -} - -[dir=rtl] .md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter { - right: auto; - left: auto -} - -md-tooltip { - position: absolute; - z-index: 100; - overflow: hidden; - pointer-events: none; - border-radius: 4px; - font-weight: 500; - font-size: 14px -} - -@media (min-width: 960px) { - md-tooltip { - font-size: 10px - } -} - -md-tooltip ._md-content { - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - -webkit-transform-origin: center top; - transform-origin: center top; - -webkit-transform: scale(0); - transform: scale(0); - opacity: 0; - height: 32px; - line-height: 32px; - padding-left: 16px; - padding-right: 16px -} - -@media (min-width: 960px) { - md-tooltip ._md-content { - height: 22px; - line-height: 22px; - padding-left: 8px; - padding-right: 8px - } -} - -md-tooltip ._md-content._md-show-add { - transition: all .4s cubic-bezier(.25, .8, .25, 1); - transition-duration: .2s; - -webkit-transform: scale(0); - transform: scale(0); - opacity: 0 -} - -md-tooltip ._md-content._md-show, md-tooltip ._md-content._md-show-add-active { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - -webkit-transform-origin: center top; - transform-origin: center top -} - -md-tooltip ._md-content._md-show-remove { - transition: all .4s cubic-bezier(.25, .8, .25, 1); - transition-duration: .2s -} - -md-tooltip ._md-content._md-show-remove._md-show-remove-active { - -webkit-transform: scale(0); - transform: scale(0); - opacity: 0 -} - -md-tooltip._md-hide { - transition: all .3s cubic-bezier(.55, 0, .55, .2) -} - -md-tooltip._md-show { - transition: all .4s cubic-bezier(.25, .8, .25, 1); - pointer-events: auto; - will-change: opacity, height, width -} - -.md-whiteframe-1dp, .md-whiteframe-z1 { - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12) -} - -.md-whiteframe-2dp { - box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .12) -} - -.md-whiteframe-3dp { - box-shadow: 0 1px 8px 0 rgba(0, 0, 0, .2), 0 3px 4px 0 rgba(0, 0, 0, .14), 0 3px 3px -2px rgba(0, 0, 0, .12) -} - -.md-whiteframe-4dp, .md-whiteframe-z2 { - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12) -} - -.md-whiteframe-5dp { - box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 5px 8px 0 rgba(0, 0, 0, .14), 0 1px 14px 0 rgba(0, 0, 0, .12) -} - -.md-whiteframe-6dp { - box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12) -} - -.md-whiteframe-7dp, .md-whiteframe-z3 { - box-shadow: 0 4px 5px -2px rgba(0, 0, 0, .2), 0 7px 10px 1px rgba(0, 0, 0, .14), 0 2px 16px 1px rgba(0, 0, 0, .12) -} - -.md-whiteframe-8dp { - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12) -} - -.md-whiteframe-9dp { - box-shadow: 0 5px 6px -3px rgba(0, 0, 0, .2), 0 9px 12px 1px rgba(0, 0, 0, .14), 0 3px 16px 2px rgba(0, 0, 0, .12) -} - -.md-whiteframe-10dp, .md-whiteframe-z4 { - box-shadow: 0 6px 6px -3px rgba(0, 0, 0, .2), 0 10px 14px 1px rgba(0, 0, 0, .14), 0 4px 18px 3px rgba(0, 0, 0, .12) -} - -.md-whiteframe-11dp { - box-shadow: 0 6px 7px -4px rgba(0, 0, 0, .2), 0 11px 15px 1px rgba(0, 0, 0, .14), 0 4px 20px 3px rgba(0, 0, 0, .12) -} - -.md-whiteframe-12dp { - box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12) -} - -.md-whiteframe-13dp, .md-whiteframe-z5 { - box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 13px 19px 2px rgba(0, 0, 0, .14), 0 5px 24px 4px rgba(0, 0, 0, .12) -} - -.md-whiteframe-14dp { - box-shadow: 0 7px 9px -4px rgba(0, 0, 0, .2), 0 14px 21px 2px rgba(0, 0, 0, .14), 0 5px 26px 4px rgba(0, 0, 0, .12) -} - -.md-whiteframe-15dp { - box-shadow: 0 8px 9px -5px rgba(0, 0, 0, .2), 0 15px 22px 2px rgba(0, 0, 0, .14), 0 6px 28px 5px rgba(0, 0, 0, .12) -} - -.md-whiteframe-16dp { - box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12) -} - -.md-whiteframe-17dp { - box-shadow: 0 8px 11px -5px rgba(0, 0, 0, .2), 0 17px 26px 2px rgba(0, 0, 0, .14), 0 6px 32px 5px rgba(0, 0, 0, .12) -} - -.md-whiteframe-18dp { - box-shadow: 0 9px 11px -5px rgba(0, 0, 0, .2), 0 18px 28px 2px rgba(0, 0, 0, .14), 0 7px 34px 6px rgba(0, 0, 0, .12) -} - -.md-whiteframe-19dp { - box-shadow: 0 9px 12px -6px rgba(0, 0, 0, .2), 0 19px 29px 2px rgba(0, 0, 0, .14), 0 7px 36px 6px rgba(0, 0, 0, .12) -} - -.md-whiteframe-20dp { - box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 20px 31px 3px rgba(0, 0, 0, .14), 0 8px 38px 7px rgba(0, 0, 0, .12) -} - -.md-whiteframe-21dp { - box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 21px 33px 3px rgba(0, 0, 0, .14), 0 8px 40px 7px rgba(0, 0, 0, .12) -} - -.md-whiteframe-22dp { - box-shadow: 0 10px 14px -6px rgba(0, 0, 0, .2), 0 22px 35px 3px rgba(0, 0, 0, .14), 0 8px 42px 7px rgba(0, 0, 0, .12) -} - -.md-whiteframe-23dp { - box-shadow: 0 11px 14px -7px rgba(0, 0, 0, .2), 0 23px 36px 3px rgba(0, 0, 0, .14), 0 9px 44px 8px rgba(0, 0, 0, .12) -} - -.md-whiteframe-24dp { - box-shadow: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12) -} - -@media screen and (-ms-high-contrast: active) { - md-whiteframe { - border: 1px solid #fff - } -} - -@-moz-document url-prefix() { - .layout-fill { - margin: 0; - width: 100%; - min-height: 100%; - height: 100% - } -} - -.flex-order { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 -} - -.flex-order--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 -} - -.flex-order--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 -} - -.flex-order--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 -} - -.flex-order--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 -} - -.flex-order--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 -} - -.flex-order--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 -} - -.flex-order--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 -} - -.flex-order--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 -} - -.flex-order--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 -} - -.flex-order--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 -} - -.flex-order--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 -} - -.flex-order--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 -} - -.flex-order--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 -} - -.flex-order--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 -} - -.flex-order--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 -} - -.flex-order--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 -} - -.flex-order--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 -} - -.flex-order--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 -} - -.flex-order--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 -} - -.flex-order--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 -} - -.flex-order-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 -} - -.flex-order-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 -} - -.flex-order-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 -} - -.flex-order-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 -} - -.flex-order-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 -} - -.flex-order-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 -} - -.flex-order-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 -} - -.flex-order-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 -} - -.flex-order-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 -} - -.flex-order-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 -} - -.flex-order-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 -} - -.flex-order-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 -} - -.flex-order-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 -} - -.flex-order-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 -} - -.flex-order-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 -} - -.flex-order-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 -} - -.flex-order-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 -} - -.flex-order-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 -} - -.flex-order-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 -} - -.flex-order-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 -} - -.flex-order-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 -} - -.flex-offset-0, .offset-0 { - margin-left: 0 -} - -[dir=rtl] .flex-offset-0, [dir=rtl] .offset-0 { - margin-left: auto; - margin-right: 0 -} - -.flex-offset-5, .offset-5 { - margin-left: 5% -} - -[dir=rtl] .flex-offset-5, [dir=rtl] .offset-5 { - margin-left: auto; - margin-right: 5% -} - -.flex-offset-10, .offset-10 { - margin-left: 10% -} - -[dir=rtl] .flex-offset-10, [dir=rtl] .offset-10 { - margin-left: auto; - margin-right: 10% -} - -.flex-offset-15, .offset-15 { - margin-left: 15% -} - -[dir=rtl] .flex-offset-15, [dir=rtl] .offset-15 { - margin-left: auto; - margin-right: 15% -} - -.flex-offset-20, .offset-20 { - margin-left: 20% -} - -[dir=rtl] .flex-offset-20, [dir=rtl] .offset-20 { - margin-left: auto; - margin-right: 20% -} - -.flex-offset-25, .offset-25 { - margin-left: 25% -} - -[dir=rtl] .flex-offset-25, [dir=rtl] .offset-25 { - margin-left: auto; - margin-right: 25% -} - -.flex-offset-30, .offset-30 { - margin-left: 30% -} - -[dir=rtl] .flex-offset-30, [dir=rtl] .offset-30 { - margin-left: auto; - margin-right: 30% -} - -.flex-offset-35, .offset-35 { - margin-left: 35% -} - -[dir=rtl] .flex-offset-35, [dir=rtl] .offset-35 { - margin-left: auto; - margin-right: 35% -} - -.flex-offset-40, .offset-40 { - margin-left: 40% -} - -[dir=rtl] .flex-offset-40, [dir=rtl] .offset-40 { - margin-left: auto; - margin-right: 40% -} - -.flex-offset-45, .offset-45 { - margin-left: 45% -} - -[dir=rtl] .flex-offset-45, [dir=rtl] .offset-45 { - margin-left: auto; - margin-right: 45% -} - -.flex-offset-50, .offset-50 { - margin-left: 50% -} - -[dir=rtl] .flex-offset-50, [dir=rtl] .offset-50 { - margin-left: auto; - margin-right: 50% -} - -.flex-offset-55, .offset-55 { - margin-left: 55% -} - -[dir=rtl] .flex-offset-55, [dir=rtl] .offset-55 { - margin-left: auto; - margin-right: 55% -} - -.flex-offset-60, .offset-60 { - margin-left: 60% -} - -[dir=rtl] .flex-offset-60, [dir=rtl] .offset-60 { - margin-left: auto; - margin-right: 60% -} - -.flex-offset-65, .offset-65 { - margin-left: 65% -} - -[dir=rtl] .flex-offset-65, [dir=rtl] .offset-65 { - margin-left: auto; - margin-right: 65% -} - -.flex-offset-70, .offset-70 { - margin-left: 70% -} - -[dir=rtl] .flex-offset-70, [dir=rtl] .offset-70 { - margin-left: auto; - margin-right: 70% -} - -.flex-offset-75, .offset-75 { - margin-left: 75% -} - -[dir=rtl] .flex-offset-75, [dir=rtl] .offset-75 { - margin-left: auto; - margin-right: 75% -} - -.flex-offset-80, .offset-80 { - margin-left: 80% -} - -[dir=rtl] .flex-offset-80, [dir=rtl] .offset-80 { - margin-left: auto; - margin-right: 80% -} - -.flex-offset-85, .offset-85 { - margin-left: 85% -} - -[dir=rtl] .flex-offset-85, [dir=rtl] .offset-85 { - margin-left: auto; - margin-right: 85% -} - -.flex-offset-90, .offset-90 { - margin-left: 90% -} - -[dir=rtl] .flex-offset-90, [dir=rtl] .offset-90 { - margin-left: auto; - margin-right: 90% -} - -.flex-offset-95, .offset-95 { - margin-left: 95% -} - -[dir=rtl] .flex-offset-95, [dir=rtl] .offset-95 { - margin-left: auto; - margin-right: 95% -} - -.flex-offset-33, .offset-33 { - margin-left: calc(100% / 3) -} - -.flex-offset-66, .offset-66 { - margin-left: calc(200% / 3) -} - -[dir=rtl] .flex-offset-66, [dir=rtl] .offset-66 { - margin-left: auto; - margin-right: calc(200% / 3) -} - -.layout-align { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch -} - -.layout-align-start, .layout-align-start-center, .layout-align-start-end, .layout-align-start-start, .layout-align-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start -} - -.layout-align-center, .layout-align-center-center, .layout-align-center-end, .layout-align-center-start, .layout-align-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center -} - -.layout-align-end, .layout-align-end-center, .layout-align-end-end, .layout-align-end-start, .layout-align-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end -} - -.layout-align-space-around, .layout-align-space-around-center, .layout-align-space-around-end, .layout-align-space-around-start, .layout-align-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around -} - -.layout-align-space-between, .layout-align-space-between-center, .layout-align-space-between-end, .layout-align-space-between-start, .layout-align-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between -} - -.layout-align-center-start, .layout-align-end-start, .layout-align-space-around-start, .layout-align-space-between-start, .layout-align-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start -} - -.layout-align-center-center, .layout-align-end-center, .layout-align-space-around-center, .layout-align-space-between-center, .layout-align-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% -} - -.layout-align-center-center > *, .layout-align-end-center > *, .layout-align-space-around-center > *, .layout-align-space-between-center > *, .layout-align-start-center > * { - max-width: 100%; - box-sizing: border-box -} - -.layout-align-center-end, .layout-align-end-end, .layout-align-space-around-end, .layout-align-space-between-end, .layout-align-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end -} - -.layout-align-center-stretch, .layout-align-end-stretch, .layout-align-space-around-stretch, .layout-align-space-between-stretch, .layout-align-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch -} - -.flex { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box -} - -.flex-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box -} - -.flex-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box -} - -.flex-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box -} - -.flex-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box -} - -.flex-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box -} - -.flex-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box -} - -.flex-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box -} - -.layout-row > .flex-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 -} - -.layout-column > .flex-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 -} - -.flex-5, .layout-row > .flex-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box -} - -.flex-10, .layout-row > .flex-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box -} - -.flex-15, .layout-row > .flex-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box -} - -.flex-20, .layout-row > .flex-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box -} - -.flex-25, .layout-row > .flex-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box -} - -.flex-30, .layout-row > .flex-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box -} - -.flex-35, .layout-row > .flex-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box -} - -.flex-40, .layout-row > .flex-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box -} - -.flex-45, .layout-row > .flex-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box -} - -.flex-50, .layout-row > .flex-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box -} - -.flex-55, .layout-row > .flex-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box -} - -.flex-60, .layout-row > .flex-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box -} - -.flex-65, .layout-row > .flex-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box -} - -.flex-70, .layout-row > .flex-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box -} - -.flex-75, .layout-row > .flex-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box -} - -.flex-80, .layout-row > .flex-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box -} - -.flex-85, .layout-row > .flex-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box -} - -.flex-90, .layout-row > .flex-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box -} - -.flex-95, .layout-row > .flex-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box -} - -.layout-column > .flex-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box -} - -.flex-100, .layout-column > .flex-100, .layout-row > .flex-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box -} - -.layout-row > .flex-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box -} - -.layout-row > .flex-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box -} - -.layout-row > .flex { - min-width: 0 -} - -.layout-column > .flex-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box -} - -.layout-column > .flex-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box -} - -.layout-column > .flex { - min-height: 0 -} - -.layout, .layout-column, .layout-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex -} - -.layout-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column -} - -.layout-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row -} - -.layout-padding-sm > *, .layout-padding > .flex-sm { - padding: 4px -} - -.layout-padding, .layout-padding-gt-sm, .layout-padding-gt-sm > *, .layout-padding-md, .layout-padding-md > *, .layout-padding > *, .layout-padding > .flex, .layout-padding > .flex-gt-sm, .layout-padding > .flex-md { - padding: 8px -} - -.layout-padding-gt-lg > *, .layout-padding-gt-md > *, .layout-padding-lg > *, .layout-padding > .flex-gt-lg, .layout-padding > .flex-gt-md, .layout-padding > .flex-lg { - padding: 16px -} - -.layout-margin-sm > *, .layout-margin > .flex-sm { - margin: 4px -} - -.layout-margin, .layout-margin-gt-sm, .layout-margin-gt-sm > *, .layout-margin-md, .layout-margin-md > *, .layout-margin > *, .layout-margin > .flex, .layout-margin > .flex-gt-sm, .layout-margin > .flex-md { - margin: 8px -} - -.layout-margin-gt-lg > *, .layout-margin-gt-md > *, .layout-margin-lg > *, .layout-margin > .flex-gt-lg, .layout-margin > .flex-gt-md, .layout-margin > .flex-lg { - margin: 16px -} - -.layout-wrap { - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap -} - -.layout-nowrap { - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap -} - -.layout-fill { - margin: 0; - width: 100%; - min-height: 100%; - height: 100% -} - -@media (max-width: 599px) { - .hide-xs:not(.show-xs):not(.show), .hide:not(.show-xs):not(.show) { - display: none - } - - .flex-order-xs--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 - } - - .flex-order-xs--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 - } - - .flex-order-xs--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 - } - - .flex-order-xs--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 - } - - .flex-order-xs--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 - } - - .flex-order-xs--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 - } - - .flex-order-xs--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 - } - - .flex-order-xs--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 - } - - .flex-order-xs--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 - } - - .flex-order-xs--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 - } - - .flex-order-xs--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 - } - - .flex-order-xs--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 - } - - .flex-order-xs--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 - } - - .flex-order-xs--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 - } - - .flex-order-xs--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 - } - - .flex-order-xs--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 - } - - .flex-order-xs--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 - } - - .flex-order-xs--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 - } - - .flex-order-xs--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 - } - - .flex-order-xs--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 - } - - .flex-order-xs-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 - } - - .flex-order-xs-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 - } - - .flex-order-xs-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 - } - - .flex-order-xs-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 - } - - .flex-order-xs-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 - } - - .flex-order-xs-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 - } - - .flex-order-xs-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 - } - - .flex-order-xs-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 - } - - .flex-order-xs-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 - } - - .flex-order-xs-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 - } - - .flex-order-xs-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 - } - - .flex-order-xs-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 - } - - .flex-order-xs-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 - } - - .flex-order-xs-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 - } - - .flex-order-xs-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 - } - - .flex-order-xs-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 - } - - .flex-order-xs-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 - } - - .flex-order-xs-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 - } - - .flex-order-xs-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 - } - - .flex-order-xs-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 - } - - .flex-order-xs-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 - } - - .flex-offset-xs-0, .offset-xs-0 { - margin-left: 0 - } - - [dir=rtl] .flex-offset-xs-0, [dir=rtl] .offset-xs-0 { - margin-left: auto; - margin-right: 0 - } - - .flex-offset-xs-5, .offset-xs-5 { - margin-left: 5% - } - - [dir=rtl] .flex-offset-xs-5, [dir=rtl] .offset-xs-5 { - margin-left: auto; - margin-right: 5% - } - - .flex-offset-xs-10, .offset-xs-10 { - margin-left: 10% - } - - [dir=rtl] .flex-offset-xs-10, [dir=rtl] .offset-xs-10 { - margin-left: auto; - margin-right: 10% - } - - .flex-offset-xs-15, .offset-xs-15 { - margin-left: 15% - } - - [dir=rtl] .flex-offset-xs-15, [dir=rtl] .offset-xs-15 { - margin-left: auto; - margin-right: 15% - } - - .flex-offset-xs-20, .offset-xs-20 { - margin-left: 20% - } - - [dir=rtl] .flex-offset-xs-20, [dir=rtl] .offset-xs-20 { - margin-left: auto; - margin-right: 20% - } - - .flex-offset-xs-25, .offset-xs-25 { - margin-left: 25% - } - - [dir=rtl] .flex-offset-xs-25, [dir=rtl] .offset-xs-25 { - margin-left: auto; - margin-right: 25% - } - - .flex-offset-xs-30, .offset-xs-30 { - margin-left: 30% - } - - [dir=rtl] .flex-offset-xs-30, [dir=rtl] .offset-xs-30 { - margin-left: auto; - margin-right: 30% - } - - .flex-offset-xs-35, .offset-xs-35 { - margin-left: 35% - } - - [dir=rtl] .flex-offset-xs-35, [dir=rtl] .offset-xs-35 { - margin-left: auto; - margin-right: 35% - } - - .flex-offset-xs-40, .offset-xs-40 { - margin-left: 40% - } - - [dir=rtl] .flex-offset-xs-40, [dir=rtl] .offset-xs-40 { - margin-left: auto; - margin-right: 40% - } - - .flex-offset-xs-45, .offset-xs-45 { - margin-left: 45% - } - - [dir=rtl] .flex-offset-xs-45, [dir=rtl] .offset-xs-45 { - margin-left: auto; - margin-right: 45% - } - - .flex-offset-xs-50, .offset-xs-50 { - margin-left: 50% - } - - [dir=rtl] .flex-offset-xs-50, [dir=rtl] .offset-xs-50 { - margin-left: auto; - margin-right: 50% - } - - .flex-offset-xs-55, .offset-xs-55 { - margin-left: 55% - } - - [dir=rtl] .flex-offset-xs-55, [dir=rtl] .offset-xs-55 { - margin-left: auto; - margin-right: 55% - } - - .flex-offset-xs-60, .offset-xs-60 { - margin-left: 60% - } - - [dir=rtl] .flex-offset-xs-60, [dir=rtl] .offset-xs-60 { - margin-left: auto; - margin-right: 60% - } - - .flex-offset-xs-65, .offset-xs-65 { - margin-left: 65% - } - - [dir=rtl] .flex-offset-xs-65, [dir=rtl] .offset-xs-65 { - margin-left: auto; - margin-right: 65% - } - - .flex-offset-xs-70, .offset-xs-70 { - margin-left: 70% - } - - [dir=rtl] .flex-offset-xs-70, [dir=rtl] .offset-xs-70 { - margin-left: auto; - margin-right: 70% - } - - .flex-offset-xs-75, .offset-xs-75 { - margin-left: 75% - } - - [dir=rtl] .flex-offset-xs-75, [dir=rtl] .offset-xs-75 { - margin-left: auto; - margin-right: 75% - } - - .flex-offset-xs-80, .offset-xs-80 { - margin-left: 80% - } - - [dir=rtl] .flex-offset-xs-80, [dir=rtl] .offset-xs-80 { - margin-left: auto; - margin-right: 80% - } - - .flex-offset-xs-85, .offset-xs-85 { - margin-left: 85% - } - - [dir=rtl] .flex-offset-xs-85, [dir=rtl] .offset-xs-85 { - margin-left: auto; - margin-right: 85% - } - - .flex-offset-xs-90, .offset-xs-90 { - margin-left: 90% - } - - [dir=rtl] .flex-offset-xs-90, [dir=rtl] .offset-xs-90 { - margin-left: auto; - margin-right: 90% - } - - .flex-offset-xs-95, .offset-xs-95 { - margin-left: 95% - } - - [dir=rtl] .flex-offset-xs-95, [dir=rtl] .offset-xs-95 { - margin-left: auto; - margin-right: 95% - } - - .flex-offset-xs-33, .offset-xs-33 { - margin-left: calc(100% / 3) - } - - .flex-offset-xs-66, .offset-xs-66 { - margin-left: calc(200% / 3) - } - - [dir=rtl] .flex-offset-xs-66, [dir=rtl] .offset-xs-66 { - margin-left: auto; - margin-right: calc(200% / 3) - } - - .layout-align-xs { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch - } - - .layout-align-xs-start, .layout-align-xs-start-center, .layout-align-xs-start-end, .layout-align-xs-start-start, .layout-align-xs-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start - } - - .layout-align-xs-center, .layout-align-xs-center-center, .layout-align-xs-center-end, .layout-align-xs-center-start, .layout-align-xs-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center - } - - .layout-align-xs-end, .layout-align-xs-end-center, .layout-align-xs-end-end, .layout-align-xs-end-start, .layout-align-xs-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end - } - - .layout-align-xs-space-around, .layout-align-xs-space-around-center, .layout-align-xs-space-around-end, .layout-align-xs-space-around-start, .layout-align-xs-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around - } - - .layout-align-xs-space-between, .layout-align-xs-space-between-center, .layout-align-xs-space-between-end, .layout-align-xs-space-between-start, .layout-align-xs-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between - } - - .layout-align-xs-center-start, .layout-align-xs-end-start, .layout-align-xs-space-around-start, .layout-align-xs-space-between-start, .layout-align-xs-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start - } - - .layout-align-xs-center-center, .layout-align-xs-end-center, .layout-align-xs-space-around-center, .layout-align-xs-space-between-center, .layout-align-xs-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% - } - - .layout-align-xs-center-center > *, .layout-align-xs-end-center > *, .layout-align-xs-space-around-center > *, .layout-align-xs-space-between-center > *, .layout-align-xs-start-center > * { - max-width: 100%; - box-sizing: border-box - } - - .layout-align-xs-center-end, .layout-align-xs-end-end, .layout-align-xs-space-around-end, .layout-align-xs-space-between-end, .layout-align-xs-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end - } - - .layout-align-xs-center-stretch, .layout-align-xs-end-stretch, .layout-align-xs-space-around-stretch, .layout-align-xs-space-between-stretch, .layout-align-xs-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch - } - - .flex-xs { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box - } - - .flex-xs-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box - } - - .flex-xs-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-xs-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box - } - - .flex-xs-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box - } - - .flex-xs-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box - } - - .flex-xs-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-xs-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex-xs-0, .layout-xs-row > .flex-xs-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 - } - - .layout-column > .flex-xs-0, .layout-xs-column > .flex-xs-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 - } - - .flex-xs-5, .layout-row > .flex-xs-5, .layout-xs-row > .flex-xs-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-5, .layout-xs-column > .flex-xs-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box - } - - .flex-xs-10, .layout-row > .flex-xs-10, .layout-xs-row > .flex-xs-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-10, .layout-xs-column > .flex-xs-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box - } - - .flex-xs-15, .layout-row > .flex-xs-15, .layout-xs-row > .flex-xs-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-15, .layout-xs-column > .flex-xs-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box - } - - .flex-xs-20, .layout-row > .flex-xs-20, .layout-xs-row > .flex-xs-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-20, .layout-xs-column > .flex-xs-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box - } - - .flex-xs-25, .layout-row > .flex-xs-25, .layout-xs-row > .flex-xs-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-25, .layout-xs-column > .flex-xs-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box - } - - .flex-xs-30, .layout-row > .flex-xs-30, .layout-xs-row > .flex-xs-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-30, .layout-xs-column > .flex-xs-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box - } - - .flex-xs-35, .layout-row > .flex-xs-35, .layout-xs-row > .flex-xs-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-35, .layout-xs-column > .flex-xs-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box - } - - .flex-xs-40, .layout-row > .flex-xs-40, .layout-xs-row > .flex-xs-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-40, .layout-xs-column > .flex-xs-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box - } - - .flex-xs-45, .layout-row > .flex-xs-45, .layout-xs-row > .flex-xs-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-45, .layout-xs-column > .flex-xs-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box - } - - .flex-xs-50, .layout-row > .flex-xs-50, .layout-xs-row > .flex-xs-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-50, .layout-xs-column > .flex-xs-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box - } - - .flex-xs-55, .layout-row > .flex-xs-55, .layout-xs-row > .flex-xs-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-55, .layout-xs-column > .flex-xs-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box - } - - .flex-xs-60, .layout-row > .flex-xs-60, .layout-xs-row > .flex-xs-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-60, .layout-xs-column > .flex-xs-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box - } - - .flex-xs-65, .layout-row > .flex-xs-65, .layout-xs-row > .flex-xs-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-65, .layout-xs-column > .flex-xs-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box - } - - .flex-xs-70, .layout-row > .flex-xs-70, .layout-xs-row > .flex-xs-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-70, .layout-xs-column > .flex-xs-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box - } - - .flex-xs-75, .layout-row > .flex-xs-75, .layout-xs-row > .flex-xs-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-75, .layout-xs-column > .flex-xs-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box - } - - .flex-xs-80, .layout-row > .flex-xs-80, .layout-xs-row > .flex-xs-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-80, .layout-xs-column > .flex-xs-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box - } - - .flex-xs-85, .layout-row > .flex-xs-85, .layout-xs-row > .flex-xs-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-85, .layout-xs-column > .flex-xs-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box - } - - .flex-xs-90, .layout-row > .flex-xs-90, .layout-xs-row > .flex-xs-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-90, .layout-xs-column > .flex-xs-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box - } - - .flex-xs-95, .layout-row > .flex-xs-95, .layout-xs-row > .flex-xs-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xs-95, .layout-xs-column > .flex-xs-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box - } - - .flex-xs-100, .layout-column > .flex-xs-100, .layout-row > .flex-xs-100, .layout-xs-column > .flex-xs-100, .layout-xs-row > .flex-xs-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex-xs-33, .layout-xs-row > .flex-xs-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex-xs-66, .layout-xs-row > .flex-xs-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex, .layout-xs-row > .flex { - min-width: 0 - } - - .layout-column > .flex-xs-33, .layout-xs-column > .flex-xs-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box - } - - .layout-column > .flex-xs-66, .layout-xs-column > .flex-xs-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box - } - - .layout-column > .flex, .layout-xs-column > .flex { - min-height: 0 - } - - .layout-xs, .layout-xs-column, .layout-xs-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex - } - - .layout-xs-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column - } - - .layout-xs-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row - } -} - -@media (min-width: 600px) { - .flex-order-gt-xs--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 - } - - .flex-order-gt-xs--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 - } - - .flex-order-gt-xs--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 - } - - .flex-order-gt-xs--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 - } - - .flex-order-gt-xs--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 - } - - .flex-order-gt-xs--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 - } - - .flex-order-gt-xs--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 - } - - .flex-order-gt-xs--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 - } - - .flex-order-gt-xs--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 - } - - .flex-order-gt-xs--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 - } - - .flex-order-gt-xs--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 - } - - .flex-order-gt-xs--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 - } - - .flex-order-gt-xs--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 - } - - .flex-order-gt-xs--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 - } - - .flex-order-gt-xs--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 - } - - .flex-order-gt-xs--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 - } - - .flex-order-gt-xs--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 - } - - .flex-order-gt-xs--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 - } - - .flex-order-gt-xs--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 - } - - .flex-order-gt-xs--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 - } - - .flex-order-gt-xs-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 - } - - .flex-order-gt-xs-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 - } - - .flex-order-gt-xs-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 - } - - .flex-order-gt-xs-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 - } - - .flex-order-gt-xs-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 - } - - .flex-order-gt-xs-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 - } - - .flex-order-gt-xs-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 - } - - .flex-order-gt-xs-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 - } - - .flex-order-gt-xs-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 - } - - .flex-order-gt-xs-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 - } - - .flex-order-gt-xs-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 - } - - .flex-order-gt-xs-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 - } - - .flex-order-gt-xs-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 - } - - .flex-order-gt-xs-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 - } - - .flex-order-gt-xs-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 - } - - .flex-order-gt-xs-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 - } - - .flex-order-gt-xs-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 - } - - .flex-order-gt-xs-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 - } - - .flex-order-gt-xs-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 - } - - .flex-order-gt-xs-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 - } - - .flex-order-gt-xs-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 - } - - .flex-offset-gt-xs-0, .offset-gt-xs-0 { - margin-left: 0 - } - - [dir=rtl] .flex-offset-gt-xs-0, [dir=rtl] .offset-gt-xs-0 { - margin-left: auto; - margin-right: 0 - } - - .flex-offset-gt-xs-5, .offset-gt-xs-5 { - margin-left: 5% - } - - [dir=rtl] .flex-offset-gt-xs-5, [dir=rtl] .offset-gt-xs-5 { - margin-left: auto; - margin-right: 5% - } - - .flex-offset-gt-xs-10, .offset-gt-xs-10 { - margin-left: 10% - } - - [dir=rtl] .flex-offset-gt-xs-10, [dir=rtl] .offset-gt-xs-10 { - margin-left: auto; - margin-right: 10% - } - - .flex-offset-gt-xs-15, .offset-gt-xs-15 { - margin-left: 15% - } - - [dir=rtl] .flex-offset-gt-xs-15, [dir=rtl] .offset-gt-xs-15 { - margin-left: auto; - margin-right: 15% - } - - .flex-offset-gt-xs-20, .offset-gt-xs-20 { - margin-left: 20% - } - - [dir=rtl] .flex-offset-gt-xs-20, [dir=rtl] .offset-gt-xs-20 { - margin-left: auto; - margin-right: 20% - } - - .flex-offset-gt-xs-25, .offset-gt-xs-25 { - margin-left: 25% - } - - [dir=rtl] .flex-offset-gt-xs-25, [dir=rtl] .offset-gt-xs-25 { - margin-left: auto; - margin-right: 25% - } - - .flex-offset-gt-xs-30, .offset-gt-xs-30 { - margin-left: 30% - } - - [dir=rtl] .flex-offset-gt-xs-30, [dir=rtl] .offset-gt-xs-30 { - margin-left: auto; - margin-right: 30% - } - - .flex-offset-gt-xs-35, .offset-gt-xs-35 { - margin-left: 35% - } - - [dir=rtl] .flex-offset-gt-xs-35, [dir=rtl] .offset-gt-xs-35 { - margin-left: auto; - margin-right: 35% - } - - .flex-offset-gt-xs-40, .offset-gt-xs-40 { - margin-left: 40% - } - - [dir=rtl] .flex-offset-gt-xs-40, [dir=rtl] .offset-gt-xs-40 { - margin-left: auto; - margin-right: 40% - } - - .flex-offset-gt-xs-45, .offset-gt-xs-45 { - margin-left: 45% - } - - [dir=rtl] .flex-offset-gt-xs-45, [dir=rtl] .offset-gt-xs-45 { - margin-left: auto; - margin-right: 45% - } - - .flex-offset-gt-xs-50, .offset-gt-xs-50 { - margin-left: 50% - } - - [dir=rtl] .flex-offset-gt-xs-50, [dir=rtl] .offset-gt-xs-50 { - margin-left: auto; - margin-right: 50% - } - - .flex-offset-gt-xs-55, .offset-gt-xs-55 { - margin-left: 55% - } - - [dir=rtl] .flex-offset-gt-xs-55, [dir=rtl] .offset-gt-xs-55 { - margin-left: auto; - margin-right: 55% - } - - .flex-offset-gt-xs-60, .offset-gt-xs-60 { - margin-left: 60% - } - - [dir=rtl] .flex-offset-gt-xs-60, [dir=rtl] .offset-gt-xs-60 { - margin-left: auto; - margin-right: 60% - } - - .flex-offset-gt-xs-65, .offset-gt-xs-65 { - margin-left: 65% - } - - [dir=rtl] .flex-offset-gt-xs-65, [dir=rtl] .offset-gt-xs-65 { - margin-left: auto; - margin-right: 65% - } - - .flex-offset-gt-xs-70, .offset-gt-xs-70 { - margin-left: 70% - } - - [dir=rtl] .flex-offset-gt-xs-70, [dir=rtl] .offset-gt-xs-70 { - margin-left: auto; - margin-right: 70% - } - - .flex-offset-gt-xs-75, .offset-gt-xs-75 { - margin-left: 75% - } - - [dir=rtl] .flex-offset-gt-xs-75, [dir=rtl] .offset-gt-xs-75 { - margin-left: auto; - margin-right: 75% - } - - .flex-offset-gt-xs-80, .offset-gt-xs-80 { - margin-left: 80% - } - - [dir=rtl] .flex-offset-gt-xs-80, [dir=rtl] .offset-gt-xs-80 { - margin-left: auto; - margin-right: 80% - } - - .flex-offset-gt-xs-85, .offset-gt-xs-85 { - margin-left: 85% - } - - [dir=rtl] .flex-offset-gt-xs-85, [dir=rtl] .offset-gt-xs-85 { - margin-left: auto; - margin-right: 85% - } - - .flex-offset-gt-xs-90, .offset-gt-xs-90 { - margin-left: 90% - } - - [dir=rtl] .flex-offset-gt-xs-90, [dir=rtl] .offset-gt-xs-90 { - margin-left: auto; - margin-right: 90% - } - - .flex-offset-gt-xs-95, .offset-gt-xs-95 { - margin-left: 95% - } - - [dir=rtl] .flex-offset-gt-xs-95, [dir=rtl] .offset-gt-xs-95 { - margin-left: auto; - margin-right: 95% - } - - .flex-offset-gt-xs-33, .offset-gt-xs-33 { - margin-left: calc(100% / 3) - } - - .flex-offset-gt-xs-66, .offset-gt-xs-66 { - margin-left: calc(200% / 3) - } - - [dir=rtl] .flex-offset-gt-xs-66, [dir=rtl] .offset-gt-xs-66 { - margin-left: auto; - margin-right: calc(200% / 3) - } - - .layout-align-gt-xs { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch - } - - .layout-align-gt-xs-start, .layout-align-gt-xs-start-center, .layout-align-gt-xs-start-end, .layout-align-gt-xs-start-start, .layout-align-gt-xs-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start - } - - .layout-align-gt-xs-center, .layout-align-gt-xs-center-center, .layout-align-gt-xs-center-end, .layout-align-gt-xs-center-start, .layout-align-gt-xs-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center - } - - .layout-align-gt-xs-end, .layout-align-gt-xs-end-center, .layout-align-gt-xs-end-end, .layout-align-gt-xs-end-start, .layout-align-gt-xs-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end - } - - .layout-align-gt-xs-space-around, .layout-align-gt-xs-space-around-center, .layout-align-gt-xs-space-around-end, .layout-align-gt-xs-space-around-start, .layout-align-gt-xs-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around - } - - .layout-align-gt-xs-space-between, .layout-align-gt-xs-space-between-center, .layout-align-gt-xs-space-between-end, .layout-align-gt-xs-space-between-start, .layout-align-gt-xs-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between - } - - .layout-align-gt-xs-center-start, .layout-align-gt-xs-end-start, .layout-align-gt-xs-space-around-start, .layout-align-gt-xs-space-between-start, .layout-align-gt-xs-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start - } - - .layout-align-gt-xs-center-center, .layout-align-gt-xs-end-center, .layout-align-gt-xs-space-around-center, .layout-align-gt-xs-space-between-center, .layout-align-gt-xs-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% - } - - .layout-align-gt-xs-center-center > *, .layout-align-gt-xs-end-center > *, .layout-align-gt-xs-space-around-center > *, .layout-align-gt-xs-space-between-center > *, .layout-align-gt-xs-start-center > * { - max-width: 100%; - box-sizing: border-box - } - - .layout-align-gt-xs-center-end, .layout-align-gt-xs-end-end, .layout-align-gt-xs-space-around-end, .layout-align-gt-xs-space-between-end, .layout-align-gt-xs-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end - } - - .layout-align-gt-xs-center-stretch, .layout-align-gt-xs-end-stretch, .layout-align-gt-xs-space-around-stretch, .layout-align-gt-xs-space-between-stretch, .layout-align-gt-xs-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch - } - - .flex-gt-xs { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box - } - - .flex-gt-xs-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box - } - - .flex-gt-xs-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-gt-xs-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box - } - - .flex-gt-xs-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box - } - - .flex-gt-xs-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box - } - - .flex-gt-xs-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-gt-xs-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-xs-row > .flex-gt-xs-0, .layout-row > .flex-gt-xs-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 - } - - .layout-column > .flex-gt-xs-0, .layout-gt-xs-column > .flex-gt-xs-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 - } - - .flex-gt-xs-5, .layout-gt-xs-row > .flex-gt-xs-5, .layout-row > .flex-gt-xs-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-5, .layout-gt-xs-column > .flex-gt-xs-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box - } - - .flex-gt-xs-10, .layout-gt-xs-row > .flex-gt-xs-10, .layout-row > .flex-gt-xs-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-10, .layout-gt-xs-column > .flex-gt-xs-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box - } - - .flex-gt-xs-15, .layout-gt-xs-row > .flex-gt-xs-15, .layout-row > .flex-gt-xs-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-15, .layout-gt-xs-column > .flex-gt-xs-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box - } - - .flex-gt-xs-20, .layout-gt-xs-row > .flex-gt-xs-20, .layout-row > .flex-gt-xs-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-20, .layout-gt-xs-column > .flex-gt-xs-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box - } - - .flex-gt-xs-25, .layout-gt-xs-row > .flex-gt-xs-25, .layout-row > .flex-gt-xs-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-25, .layout-gt-xs-column > .flex-gt-xs-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box - } - - .flex-gt-xs-30, .layout-gt-xs-row > .flex-gt-xs-30, .layout-row > .flex-gt-xs-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-30, .layout-gt-xs-column > .flex-gt-xs-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box - } - - .flex-gt-xs-35, .layout-gt-xs-row > .flex-gt-xs-35, .layout-row > .flex-gt-xs-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-35, .layout-gt-xs-column > .flex-gt-xs-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box - } - - .flex-gt-xs-40, .layout-gt-xs-row > .flex-gt-xs-40, .layout-row > .flex-gt-xs-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-40, .layout-gt-xs-column > .flex-gt-xs-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box - } - - .flex-gt-xs-45, .layout-gt-xs-row > .flex-gt-xs-45, .layout-row > .flex-gt-xs-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-45, .layout-gt-xs-column > .flex-gt-xs-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box - } - - .flex-gt-xs-50, .layout-gt-xs-row > .flex-gt-xs-50, .layout-row > .flex-gt-xs-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-50, .layout-gt-xs-column > .flex-gt-xs-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box - } - - .flex-gt-xs-55, .layout-gt-xs-row > .flex-gt-xs-55, .layout-row > .flex-gt-xs-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-55, .layout-gt-xs-column > .flex-gt-xs-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box - } - - .flex-gt-xs-60, .layout-gt-xs-row > .flex-gt-xs-60, .layout-row > .flex-gt-xs-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-60, .layout-gt-xs-column > .flex-gt-xs-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box - } - - .flex-gt-xs-65, .layout-gt-xs-row > .flex-gt-xs-65, .layout-row > .flex-gt-xs-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-65, .layout-gt-xs-column > .flex-gt-xs-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box - } - - .flex-gt-xs-70, .layout-gt-xs-row > .flex-gt-xs-70, .layout-row > .flex-gt-xs-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-70, .layout-gt-xs-column > .flex-gt-xs-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box - } - - .flex-gt-xs-75, .layout-gt-xs-row > .flex-gt-xs-75, .layout-row > .flex-gt-xs-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-75, .layout-gt-xs-column > .flex-gt-xs-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box - } - - .flex-gt-xs-80, .layout-gt-xs-row > .flex-gt-xs-80, .layout-row > .flex-gt-xs-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-80, .layout-gt-xs-column > .flex-gt-xs-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box - } - - .flex-gt-xs-85, .layout-gt-xs-row > .flex-gt-xs-85, .layout-row > .flex-gt-xs-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-85, .layout-gt-xs-column > .flex-gt-xs-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box - } - - .flex-gt-xs-90, .layout-gt-xs-row > .flex-gt-xs-90, .layout-row > .flex-gt-xs-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-90, .layout-gt-xs-column > .flex-gt-xs-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box - } - - .flex-gt-xs-95, .layout-gt-xs-row > .flex-gt-xs-95, .layout-row > .flex-gt-xs-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-95, .layout-gt-xs-column > .flex-gt-xs-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box - } - - .flex-gt-xs-100, .layout-column > .flex-gt-xs-100, .layout-gt-xs-column > .flex-gt-xs-100, .layout-gt-xs-row > .flex-gt-xs-100, .layout-row > .flex-gt-xs-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-xs-row > .flex-gt-xs-33, .layout-row > .flex-gt-xs-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-xs-row > .flex-gt-xs-66, .layout-row > .flex-gt-xs-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-xs-row > .flex, .layout-row > .flex { - min-width: 0 - } - - .layout-column > .flex-gt-xs-33, .layout-gt-xs-column > .flex-gt-xs-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box - } - - .layout-column > .flex-gt-xs-66, .layout-gt-xs-column > .flex-gt-xs-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box - } - - .layout-column > .flex, .layout-gt-xs-column > .flex { - min-height: 0 - } - - .layout-gt-xs, .layout-gt-xs-column, .layout-gt-xs-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex - } - - .layout-gt-xs-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column - } - - .layout-gt-xs-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row - } -} - -@media (min-width: 600px) and (max-width: 959px) { - .hide-gt-xs:not(.show-gt-xs):not(.show-sm):not(.show), .hide-sm:not(.show-gt-xs):not(.show-sm):not(.show), .hide:not(.show-gt-xs):not(.show-sm):not(.show) { - display: none - } - - .flex-order-sm--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 - } - - .flex-order-sm--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 - } - - .flex-order-sm--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 - } - - .flex-order-sm--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 - } - - .flex-order-sm--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 - } - - .flex-order-sm--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 - } - - .flex-order-sm--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 - } - - .flex-order-sm--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 - } - - .flex-order-sm--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 - } - - .flex-order-sm--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 - } - - .flex-order-sm--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 - } - - .flex-order-sm--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 - } - - .flex-order-sm--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 - } - - .flex-order-sm--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 - } - - .flex-order-sm--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 - } - - .flex-order-sm--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 - } - - .flex-order-sm--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 - } - - .flex-order-sm--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 - } - - .flex-order-sm--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 - } - - .flex-order-sm--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 - } - - .flex-order-sm-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 - } - - .flex-order-sm-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 - } - - .flex-order-sm-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 - } - - .flex-order-sm-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 - } - - .flex-order-sm-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 - } - - .flex-order-sm-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 - } - - .flex-order-sm-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 - } - - .flex-order-sm-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 - } - - .flex-order-sm-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 - } - - .flex-order-sm-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 - } - - .flex-order-sm-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 - } - - .flex-order-sm-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 - } - - .flex-order-sm-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 - } - - .flex-order-sm-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 - } - - .flex-order-sm-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 - } - - .flex-order-sm-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 - } - - .flex-order-sm-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 - } - - .flex-order-sm-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 - } - - .flex-order-sm-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 - } - - .flex-order-sm-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 - } - - .flex-order-sm-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 - } - - .flex-offset-sm-0, .offset-sm-0 { - margin-left: 0 - } - - [dir=rtl] .flex-offset-sm-0, [dir=rtl] .offset-sm-0 { - margin-left: auto; - margin-right: 0 - } - - .flex-offset-sm-5, .offset-sm-5 { - margin-left: 5% - } - - [dir=rtl] .flex-offset-sm-5, [dir=rtl] .offset-sm-5 { - margin-left: auto; - margin-right: 5% - } - - .flex-offset-sm-10, .offset-sm-10 { - margin-left: 10% - } - - [dir=rtl] .flex-offset-sm-10, [dir=rtl] .offset-sm-10 { - margin-left: auto; - margin-right: 10% - } - - .flex-offset-sm-15, .offset-sm-15 { - margin-left: 15% - } - - [dir=rtl] .flex-offset-sm-15, [dir=rtl] .offset-sm-15 { - margin-left: auto; - margin-right: 15% - } - - .flex-offset-sm-20, .offset-sm-20 { - margin-left: 20% - } - - [dir=rtl] .flex-offset-sm-20, [dir=rtl] .offset-sm-20 { - margin-left: auto; - margin-right: 20% - } - - .flex-offset-sm-25, .offset-sm-25 { - margin-left: 25% - } - - [dir=rtl] .flex-offset-sm-25, [dir=rtl] .offset-sm-25 { - margin-left: auto; - margin-right: 25% - } - - .flex-offset-sm-30, .offset-sm-30 { - margin-left: 30% - } - - [dir=rtl] .flex-offset-sm-30, [dir=rtl] .offset-sm-30 { - margin-left: auto; - margin-right: 30% - } - - .flex-offset-sm-35, .offset-sm-35 { - margin-left: 35% - } - - [dir=rtl] .flex-offset-sm-35, [dir=rtl] .offset-sm-35 { - margin-left: auto; - margin-right: 35% - } - - .flex-offset-sm-40, .offset-sm-40 { - margin-left: 40% - } - - [dir=rtl] .flex-offset-sm-40, [dir=rtl] .offset-sm-40 { - margin-left: auto; - margin-right: 40% - } - - .flex-offset-sm-45, .offset-sm-45 { - margin-left: 45% - } - - [dir=rtl] .flex-offset-sm-45, [dir=rtl] .offset-sm-45 { - margin-left: auto; - margin-right: 45% - } - - .flex-offset-sm-50, .offset-sm-50 { - margin-left: 50% - } - - [dir=rtl] .flex-offset-sm-50, [dir=rtl] .offset-sm-50 { - margin-left: auto; - margin-right: 50% - } - - .flex-offset-sm-55, .offset-sm-55 { - margin-left: 55% - } - - [dir=rtl] .flex-offset-sm-55, [dir=rtl] .offset-sm-55 { - margin-left: auto; - margin-right: 55% - } - - .flex-offset-sm-60, .offset-sm-60 { - margin-left: 60% - } - - [dir=rtl] .flex-offset-sm-60, [dir=rtl] .offset-sm-60 { - margin-left: auto; - margin-right: 60% - } - - .flex-offset-sm-65, .offset-sm-65 { - margin-left: 65% - } - - [dir=rtl] .flex-offset-sm-65, [dir=rtl] .offset-sm-65 { - margin-left: auto; - margin-right: 65% - } - - .flex-offset-sm-70, .offset-sm-70 { - margin-left: 70% - } - - [dir=rtl] .flex-offset-sm-70, [dir=rtl] .offset-sm-70 { - margin-left: auto; - margin-right: 70% - } - - .flex-offset-sm-75, .offset-sm-75 { - margin-left: 75% - } - - [dir=rtl] .flex-offset-sm-75, [dir=rtl] .offset-sm-75 { - margin-left: auto; - margin-right: 75% - } - - .flex-offset-sm-80, .offset-sm-80 { - margin-left: 80% - } - - [dir=rtl] .flex-offset-sm-80, [dir=rtl] .offset-sm-80 { - margin-left: auto; - margin-right: 80% - } - - .flex-offset-sm-85, .offset-sm-85 { - margin-left: 85% - } - - [dir=rtl] .flex-offset-sm-85, [dir=rtl] .offset-sm-85 { - margin-left: auto; - margin-right: 85% - } - - .flex-offset-sm-90, .offset-sm-90 { - margin-left: 90% - } - - [dir=rtl] .flex-offset-sm-90, [dir=rtl] .offset-sm-90 { - margin-left: auto; - margin-right: 90% - } - - .flex-offset-sm-95, .offset-sm-95 { - margin-left: 95% - } - - [dir=rtl] .flex-offset-sm-95, [dir=rtl] .offset-sm-95 { - margin-left: auto; - margin-right: 95% - } - - .flex-offset-sm-33, .offset-sm-33 { - margin-left: calc(100% / 3) - } - - .flex-offset-sm-66, .offset-sm-66 { - margin-left: calc(200% / 3) - } - - [dir=rtl] .flex-offset-sm-66, [dir=rtl] .offset-sm-66 { - margin-left: auto; - margin-right: calc(200% / 3) - } - - .layout-align-sm { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch - } - - .layout-align-sm-start, .layout-align-sm-start-center, .layout-align-sm-start-end, .layout-align-sm-start-start, .layout-align-sm-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start - } - - .layout-align-sm-center, .layout-align-sm-center-center, .layout-align-sm-center-end, .layout-align-sm-center-start, .layout-align-sm-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center - } - - .layout-align-sm-end, .layout-align-sm-end-center, .layout-align-sm-end-end, .layout-align-sm-end-start, .layout-align-sm-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end - } - - .layout-align-sm-space-around, .layout-align-sm-space-around-center, .layout-align-sm-space-around-end, .layout-align-sm-space-around-start, .layout-align-sm-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around - } - - .layout-align-sm-space-between, .layout-align-sm-space-between-center, .layout-align-sm-space-between-end, .layout-align-sm-space-between-start, .layout-align-sm-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between - } - - .layout-align-sm-center-start, .layout-align-sm-end-start, .layout-align-sm-space-around-start, .layout-align-sm-space-between-start, .layout-align-sm-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start - } - - .layout-align-sm-center-center, .layout-align-sm-end-center, .layout-align-sm-space-around-center, .layout-align-sm-space-between-center, .layout-align-sm-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% - } - - .layout-align-sm-center-center > *, .layout-align-sm-end-center > *, .layout-align-sm-space-around-center > *, .layout-align-sm-space-between-center > *, .layout-align-sm-start-center > * { - max-width: 100%; - box-sizing: border-box - } - - .layout-align-sm-center-end, .layout-align-sm-end-end, .layout-align-sm-space-around-end, .layout-align-sm-space-between-end, .layout-align-sm-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end - } - - .layout-align-sm-center-stretch, .layout-align-sm-end-stretch, .layout-align-sm-space-around-stretch, .layout-align-sm-space-between-stretch, .layout-align-sm-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch - } - - .flex-sm { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box - } - - .flex-sm-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box - } - - .flex-sm-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-sm-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box - } - - .flex-sm-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box - } - - .flex-sm-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box - } - - .flex-sm-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-sm-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex-sm-0, .layout-sm-row > .flex-sm-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 - } - - .layout-column > .flex-sm-0, .layout-sm-column > .flex-sm-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 - } - - .flex-sm-5, .layout-row > .flex-sm-5, .layout-sm-row > .flex-sm-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-5, .layout-sm-column > .flex-sm-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box - } - - .flex-sm-10, .layout-row > .flex-sm-10, .layout-sm-row > .flex-sm-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-10, .layout-sm-column > .flex-sm-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box - } - - .flex-sm-15, .layout-row > .flex-sm-15, .layout-sm-row > .flex-sm-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-15, .layout-sm-column > .flex-sm-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box - } - - .flex-sm-20, .layout-row > .flex-sm-20, .layout-sm-row > .flex-sm-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-20, .layout-sm-column > .flex-sm-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box - } - - .flex-sm-25, .layout-row > .flex-sm-25, .layout-sm-row > .flex-sm-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-25, .layout-sm-column > .flex-sm-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box - } - - .flex-sm-30, .layout-row > .flex-sm-30, .layout-sm-row > .flex-sm-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-30, .layout-sm-column > .flex-sm-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box - } - - .flex-sm-35, .layout-row > .flex-sm-35, .layout-sm-row > .flex-sm-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-35, .layout-sm-column > .flex-sm-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box - } - - .flex-sm-40, .layout-row > .flex-sm-40, .layout-sm-row > .flex-sm-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-40, .layout-sm-column > .flex-sm-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box - } - - .flex-sm-45, .layout-row > .flex-sm-45, .layout-sm-row > .flex-sm-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-45, .layout-sm-column > .flex-sm-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box - } - - .flex-sm-50, .layout-row > .flex-sm-50, .layout-sm-row > .flex-sm-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-50, .layout-sm-column > .flex-sm-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box - } - - .flex-sm-55, .layout-row > .flex-sm-55, .layout-sm-row > .flex-sm-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-55, .layout-sm-column > .flex-sm-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box - } - - .flex-sm-60, .layout-row > .flex-sm-60, .layout-sm-row > .flex-sm-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-60, .layout-sm-column > .flex-sm-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box - } - - .flex-sm-65, .layout-row > .flex-sm-65, .layout-sm-row > .flex-sm-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-65, .layout-sm-column > .flex-sm-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box - } - - .flex-sm-70, .layout-row > .flex-sm-70, .layout-sm-row > .flex-sm-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-70, .layout-sm-column > .flex-sm-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box - } - - .flex-sm-75, .layout-row > .flex-sm-75, .layout-sm-row > .flex-sm-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-75, .layout-sm-column > .flex-sm-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box - } - - .flex-sm-80, .layout-row > .flex-sm-80, .layout-sm-row > .flex-sm-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-80, .layout-sm-column > .flex-sm-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box - } - - .flex-sm-85, .layout-row > .flex-sm-85, .layout-sm-row > .flex-sm-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-85, .layout-sm-column > .flex-sm-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box - } - - .flex-sm-90, .layout-row > .flex-sm-90, .layout-sm-row > .flex-sm-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-90, .layout-sm-column > .flex-sm-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box - } - - .flex-sm-95, .layout-row > .flex-sm-95, .layout-sm-row > .flex-sm-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-sm-95, .layout-sm-column > .flex-sm-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box - } - - .flex-sm-100, .layout-column > .flex-sm-100, .layout-row > .flex-sm-100, .layout-sm-column > .flex-sm-100, .layout-sm-row > .flex-sm-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex-sm-33, .layout-sm-row > .flex-sm-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex-sm-66, .layout-sm-row > .flex-sm-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex, .layout-sm-row > .flex { - min-width: 0 - } - - .layout-column > .flex-sm-33, .layout-sm-column > .flex-sm-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box - } - - .layout-column > .flex-sm-66, .layout-sm-column > .flex-sm-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box - } - - .layout-column > .flex, .layout-sm-column > .flex { - min-height: 0 - } - - .layout-sm, .layout-sm-column, .layout-sm-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex - } - - .layout-sm-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column - } - - .layout-sm-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row - } -} - -@media (min-width: 960px) { - .flex-order-gt-sm--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 - } - - .flex-order-gt-sm--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 - } - - .flex-order-gt-sm--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 - } - - .flex-order-gt-sm--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 - } - - .flex-order-gt-sm--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 - } - - .flex-order-gt-sm--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 - } - - .flex-order-gt-sm--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 - } - - .flex-order-gt-sm--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 - } - - .flex-order-gt-sm--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 - } - - .flex-order-gt-sm--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 - } - - .flex-order-gt-sm--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 - } - - .flex-order-gt-sm--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 - } - - .flex-order-gt-sm--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 - } - - .flex-order-gt-sm--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 - } - - .flex-order-gt-sm--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 - } - - .flex-order-gt-sm--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 - } - - .flex-order-gt-sm--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 - } - - .flex-order-gt-sm--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 - } - - .flex-order-gt-sm--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 - } - - .flex-order-gt-sm--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 - } - - .flex-order-gt-sm-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 - } - - .flex-order-gt-sm-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 - } - - .flex-order-gt-sm-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 - } - - .flex-order-gt-sm-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 - } - - .flex-order-gt-sm-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 - } - - .flex-order-gt-sm-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 - } - - .flex-order-gt-sm-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 - } - - .flex-order-gt-sm-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 - } - - .flex-order-gt-sm-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 - } - - .flex-order-gt-sm-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 - } - - .flex-order-gt-sm-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 - } - - .flex-order-gt-sm-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 - } - - .flex-order-gt-sm-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 - } - - .flex-order-gt-sm-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 - } - - .flex-order-gt-sm-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 - } - - .flex-order-gt-sm-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 - } - - .flex-order-gt-sm-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 - } - - .flex-order-gt-sm-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 - } - - .flex-order-gt-sm-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 - } - - .flex-order-gt-sm-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 - } - - .flex-order-gt-sm-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 - } - - .flex-offset-gt-sm-0, .offset-gt-sm-0 { - margin-left: 0 - } - - [dir=rtl] .flex-offset-gt-sm-0, [dir=rtl] .offset-gt-sm-0 { - margin-left: auto; - margin-right: 0 - } - - .flex-offset-gt-sm-5, .offset-gt-sm-5 { - margin-left: 5% - } - - [dir=rtl] .flex-offset-gt-sm-5, [dir=rtl] .offset-gt-sm-5 { - margin-left: auto; - margin-right: 5% - } - - .flex-offset-gt-sm-10, .offset-gt-sm-10 { - margin-left: 10% - } - - [dir=rtl] .flex-offset-gt-sm-10, [dir=rtl] .offset-gt-sm-10 { - margin-left: auto; - margin-right: 10% - } - - .flex-offset-gt-sm-15, .offset-gt-sm-15 { - margin-left: 15% - } - - [dir=rtl] .flex-offset-gt-sm-15, [dir=rtl] .offset-gt-sm-15 { - margin-left: auto; - margin-right: 15% - } - - .flex-offset-gt-sm-20, .offset-gt-sm-20 { - margin-left: 20% - } - - [dir=rtl] .flex-offset-gt-sm-20, [dir=rtl] .offset-gt-sm-20 { - margin-left: auto; - margin-right: 20% - } - - .flex-offset-gt-sm-25, .offset-gt-sm-25 { - margin-left: 25% - } - - [dir=rtl] .flex-offset-gt-sm-25, [dir=rtl] .offset-gt-sm-25 { - margin-left: auto; - margin-right: 25% - } - - .flex-offset-gt-sm-30, .offset-gt-sm-30 { - margin-left: 30% - } - - [dir=rtl] .flex-offset-gt-sm-30, [dir=rtl] .offset-gt-sm-30 { - margin-left: auto; - margin-right: 30% - } - - .flex-offset-gt-sm-35, .offset-gt-sm-35 { - margin-left: 35% - } - - [dir=rtl] .flex-offset-gt-sm-35, [dir=rtl] .offset-gt-sm-35 { - margin-left: auto; - margin-right: 35% - } - - .flex-offset-gt-sm-40, .offset-gt-sm-40 { - margin-left: 40% - } - - [dir=rtl] .flex-offset-gt-sm-40, [dir=rtl] .offset-gt-sm-40 { - margin-left: auto; - margin-right: 40% - } - - .flex-offset-gt-sm-45, .offset-gt-sm-45 { - margin-left: 45% - } - - [dir=rtl] .flex-offset-gt-sm-45, [dir=rtl] .offset-gt-sm-45 { - margin-left: auto; - margin-right: 45% - } - - .flex-offset-gt-sm-50, .offset-gt-sm-50 { - margin-left: 50% - } - - [dir=rtl] .flex-offset-gt-sm-50, [dir=rtl] .offset-gt-sm-50 { - margin-left: auto; - margin-right: 50% - } - - .flex-offset-gt-sm-55, .offset-gt-sm-55 { - margin-left: 55% - } - - [dir=rtl] .flex-offset-gt-sm-55, [dir=rtl] .offset-gt-sm-55 { - margin-left: auto; - margin-right: 55% - } - - .flex-offset-gt-sm-60, .offset-gt-sm-60 { - margin-left: 60% - } - - [dir=rtl] .flex-offset-gt-sm-60, [dir=rtl] .offset-gt-sm-60 { - margin-left: auto; - margin-right: 60% - } - - .flex-offset-gt-sm-65, .offset-gt-sm-65 { - margin-left: 65% - } - - [dir=rtl] .flex-offset-gt-sm-65, [dir=rtl] .offset-gt-sm-65 { - margin-left: auto; - margin-right: 65% - } - - .flex-offset-gt-sm-70, .offset-gt-sm-70 { - margin-left: 70% - } - - [dir=rtl] .flex-offset-gt-sm-70, [dir=rtl] .offset-gt-sm-70 { - margin-left: auto; - margin-right: 70% - } - - .flex-offset-gt-sm-75, .offset-gt-sm-75 { - margin-left: 75% - } - - [dir=rtl] .flex-offset-gt-sm-75, [dir=rtl] .offset-gt-sm-75 { - margin-left: auto; - margin-right: 75% - } - - .flex-offset-gt-sm-80, .offset-gt-sm-80 { - margin-left: 80% - } - - [dir=rtl] .flex-offset-gt-sm-80, [dir=rtl] .offset-gt-sm-80 { - margin-left: auto; - margin-right: 80% - } - - .flex-offset-gt-sm-85, .offset-gt-sm-85 { - margin-left: 85% - } - - [dir=rtl] .flex-offset-gt-sm-85, [dir=rtl] .offset-gt-sm-85 { - margin-left: auto; - margin-right: 85% - } - - .flex-offset-gt-sm-90, .offset-gt-sm-90 { - margin-left: 90% - } - - [dir=rtl] .flex-offset-gt-sm-90, [dir=rtl] .offset-gt-sm-90 { - margin-left: auto; - margin-right: 90% - } - - .flex-offset-gt-sm-95, .offset-gt-sm-95 { - margin-left: 95% - } - - [dir=rtl] .flex-offset-gt-sm-95, [dir=rtl] .offset-gt-sm-95 { - margin-left: auto; - margin-right: 95% - } - - .flex-offset-gt-sm-33, .offset-gt-sm-33 { - margin-left: calc(100% / 3) - } - - .flex-offset-gt-sm-66, .offset-gt-sm-66 { - margin-left: calc(200% / 3) - } - - [dir=rtl] .flex-offset-gt-sm-66, [dir=rtl] .offset-gt-sm-66 { - margin-left: auto; - margin-right: calc(200% / 3) - } - - .layout-align-gt-sm { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch - } - - .layout-align-gt-sm-start, .layout-align-gt-sm-start-center, .layout-align-gt-sm-start-end, .layout-align-gt-sm-start-start, .layout-align-gt-sm-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start - } - - .layout-align-gt-sm-center, .layout-align-gt-sm-center-center, .layout-align-gt-sm-center-end, .layout-align-gt-sm-center-start, .layout-align-gt-sm-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center - } - - .layout-align-gt-sm-end, .layout-align-gt-sm-end-center, .layout-align-gt-sm-end-end, .layout-align-gt-sm-end-start, .layout-align-gt-sm-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end - } - - .layout-align-gt-sm-space-around, .layout-align-gt-sm-space-around-center, .layout-align-gt-sm-space-around-end, .layout-align-gt-sm-space-around-start, .layout-align-gt-sm-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around - } - - .layout-align-gt-sm-space-between, .layout-align-gt-sm-space-between-center, .layout-align-gt-sm-space-between-end, .layout-align-gt-sm-space-between-start, .layout-align-gt-sm-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between - } - - .layout-align-gt-sm-center-start, .layout-align-gt-sm-end-start, .layout-align-gt-sm-space-around-start, .layout-align-gt-sm-space-between-start, .layout-align-gt-sm-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start - } - - .layout-align-gt-sm-center-center, .layout-align-gt-sm-end-center, .layout-align-gt-sm-space-around-center, .layout-align-gt-sm-space-between-center, .layout-align-gt-sm-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% - } - - .layout-align-gt-sm-center-center > *, .layout-align-gt-sm-end-center > *, .layout-align-gt-sm-space-around-center > *, .layout-align-gt-sm-space-between-center > *, .layout-align-gt-sm-start-center > * { - max-width: 100%; - box-sizing: border-box - } - - .layout-align-gt-sm-center-end, .layout-align-gt-sm-end-end, .layout-align-gt-sm-space-around-end, .layout-align-gt-sm-space-between-end, .layout-align-gt-sm-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end - } - - .layout-align-gt-sm-center-stretch, .layout-align-gt-sm-end-stretch, .layout-align-gt-sm-space-around-stretch, .layout-align-gt-sm-space-between-stretch, .layout-align-gt-sm-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch - } - - .flex-gt-sm { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box - } - - .flex-gt-sm-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box - } - - .flex-gt-sm-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-gt-sm-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box - } - - .flex-gt-sm-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box - } - - .flex-gt-sm-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box - } - - .flex-gt-sm-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-gt-sm-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-sm-row > .flex-gt-sm-0, .layout-row > .flex-gt-sm-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 - } - - .layout-column > .flex-gt-sm-0, .layout-gt-sm-column > .flex-gt-sm-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 - } - - .flex-gt-sm-5, .layout-gt-sm-row > .flex-gt-sm-5, .layout-row > .flex-gt-sm-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-5, .layout-gt-sm-column > .flex-gt-sm-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box - } - - .flex-gt-sm-10, .layout-gt-sm-row > .flex-gt-sm-10, .layout-row > .flex-gt-sm-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-10, .layout-gt-sm-column > .flex-gt-sm-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box - } - - .flex-gt-sm-15, .layout-gt-sm-row > .flex-gt-sm-15, .layout-row > .flex-gt-sm-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-15, .layout-gt-sm-column > .flex-gt-sm-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box - } - - .flex-gt-sm-20, .layout-gt-sm-row > .flex-gt-sm-20, .layout-row > .flex-gt-sm-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-20, .layout-gt-sm-column > .flex-gt-sm-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box - } - - .flex-gt-sm-25, .layout-gt-sm-row > .flex-gt-sm-25, .layout-row > .flex-gt-sm-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-25, .layout-gt-sm-column > .flex-gt-sm-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box - } - - .flex-gt-sm-30, .layout-gt-sm-row > .flex-gt-sm-30, .layout-row > .flex-gt-sm-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-30, .layout-gt-sm-column > .flex-gt-sm-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box - } - - .flex-gt-sm-35, .layout-gt-sm-row > .flex-gt-sm-35, .layout-row > .flex-gt-sm-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-35, .layout-gt-sm-column > .flex-gt-sm-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box - } - - .flex-gt-sm-40, .layout-gt-sm-row > .flex-gt-sm-40, .layout-row > .flex-gt-sm-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-40, .layout-gt-sm-column > .flex-gt-sm-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box - } - - .flex-gt-sm-45, .layout-gt-sm-row > .flex-gt-sm-45, .layout-row > .flex-gt-sm-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-45, .layout-gt-sm-column > .flex-gt-sm-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box - } - - .flex-gt-sm-50, .layout-gt-sm-row > .flex-gt-sm-50, .layout-row > .flex-gt-sm-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-50, .layout-gt-sm-column > .flex-gt-sm-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box - } - - .flex-gt-sm-55, .layout-gt-sm-row > .flex-gt-sm-55, .layout-row > .flex-gt-sm-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-55, .layout-gt-sm-column > .flex-gt-sm-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box - } - - .flex-gt-sm-60, .layout-gt-sm-row > .flex-gt-sm-60, .layout-row > .flex-gt-sm-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-60, .layout-gt-sm-column > .flex-gt-sm-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box - } - - .flex-gt-sm-65, .layout-gt-sm-row > .flex-gt-sm-65, .layout-row > .flex-gt-sm-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-65, .layout-gt-sm-column > .flex-gt-sm-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box - } - - .flex-gt-sm-70, .layout-gt-sm-row > .flex-gt-sm-70, .layout-row > .flex-gt-sm-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-70, .layout-gt-sm-column > .flex-gt-sm-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box - } - - .flex-gt-sm-75, .layout-gt-sm-row > .flex-gt-sm-75, .layout-row > .flex-gt-sm-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-75, .layout-gt-sm-column > .flex-gt-sm-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box - } - - .flex-gt-sm-80, .layout-gt-sm-row > .flex-gt-sm-80, .layout-row > .flex-gt-sm-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-80, .layout-gt-sm-column > .flex-gt-sm-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box - } - - .flex-gt-sm-85, .layout-gt-sm-row > .flex-gt-sm-85, .layout-row > .flex-gt-sm-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-85, .layout-gt-sm-column > .flex-gt-sm-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box - } - - .flex-gt-sm-90, .layout-gt-sm-row > .flex-gt-sm-90, .layout-row > .flex-gt-sm-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-90, .layout-gt-sm-column > .flex-gt-sm-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box - } - - .flex-gt-sm-95, .layout-gt-sm-row > .flex-gt-sm-95, .layout-row > .flex-gt-sm-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-95, .layout-gt-sm-column > .flex-gt-sm-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box - } - - .flex-gt-sm-100, .layout-column > .flex-gt-sm-100, .layout-gt-sm-column > .flex-gt-sm-100, .layout-gt-sm-row > .flex-gt-sm-100, .layout-row > .flex-gt-sm-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-sm-row > .flex-gt-sm-33, .layout-row > .flex-gt-sm-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-sm-row > .flex-gt-sm-66, .layout-row > .flex-gt-sm-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-sm-row > .flex, .layout-row > .flex { - min-width: 0 - } - - .layout-column > .flex-gt-sm-33, .layout-gt-sm-column > .flex-gt-sm-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box - } - - .layout-column > .flex-gt-sm-66, .layout-gt-sm-column > .flex-gt-sm-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box - } - - .layout-column > .flex, .layout-gt-sm-column > .flex { - min-height: 0 - } - - .layout-gt-sm, .layout-gt-sm-column, .layout-gt-sm-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex - } - - .layout-gt-sm-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column - } - - .layout-gt-sm-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row - } -} - -@media (min-width: 960px) and (max-width: 1279px) { - .hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show), .hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show), .hide-md:not(.show-md):not(.show-gt-sm):not(.show-gt-xs):not(.show), .hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show) { - display: none - } - - .flex-order-md--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 - } - - .flex-order-md--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 - } - - .flex-order-md--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 - } - - .flex-order-md--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 - } - - .flex-order-md--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 - } - - .flex-order-md--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 - } - - .flex-order-md--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 - } - - .flex-order-md--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 - } - - .flex-order-md--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 - } - - .flex-order-md--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 - } - - .flex-order-md--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 - } - - .flex-order-md--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 - } - - .flex-order-md--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 - } - - .flex-order-md--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 - } - - .flex-order-md--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 - } - - .flex-order-md--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 - } - - .flex-order-md--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 - } - - .flex-order-md--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 - } - - .flex-order-md--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 - } - - .flex-order-md--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 - } - - .flex-order-md-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 - } - - .flex-order-md-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 - } - - .flex-order-md-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 - } - - .flex-order-md-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 - } - - .flex-order-md-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 - } - - .flex-order-md-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 - } - - .flex-order-md-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 - } - - .flex-order-md-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 - } - - .flex-order-md-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 - } - - .flex-order-md-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 - } - - .flex-order-md-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 - } - - .flex-order-md-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 - } - - .flex-order-md-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 - } - - .flex-order-md-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 - } - - .flex-order-md-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 - } - - .flex-order-md-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 - } - - .flex-order-md-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 - } - - .flex-order-md-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 - } - - .flex-order-md-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 - } - - .flex-order-md-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 - } - - .flex-order-md-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 - } - - .flex-offset-md-0, .offset-md-0 { - margin-left: 0 - } - - [dir=rtl] .flex-offset-md-0, [dir=rtl] .offset-md-0 { - margin-left: auto; - margin-right: 0 - } - - .flex-offset-md-5, .offset-md-5 { - margin-left: 5% - } - - [dir=rtl] .flex-offset-md-5, [dir=rtl] .offset-md-5 { - margin-left: auto; - margin-right: 5% - } - - .flex-offset-md-10, .offset-md-10 { - margin-left: 10% - } - - [dir=rtl] .flex-offset-md-10, [dir=rtl] .offset-md-10 { - margin-left: auto; - margin-right: 10% - } - - .flex-offset-md-15, .offset-md-15 { - margin-left: 15% - } - - [dir=rtl] .flex-offset-md-15, [dir=rtl] .offset-md-15 { - margin-left: auto; - margin-right: 15% - } - - .flex-offset-md-20, .offset-md-20 { - margin-left: 20% - } - - [dir=rtl] .flex-offset-md-20, [dir=rtl] .offset-md-20 { - margin-left: auto; - margin-right: 20% - } - - .flex-offset-md-25, .offset-md-25 { - margin-left: 25% - } - - [dir=rtl] .flex-offset-md-25, [dir=rtl] .offset-md-25 { - margin-left: auto; - margin-right: 25% - } - - .flex-offset-md-30, .offset-md-30 { - margin-left: 30% - } - - [dir=rtl] .flex-offset-md-30, [dir=rtl] .offset-md-30 { - margin-left: auto; - margin-right: 30% - } - - .flex-offset-md-35, .offset-md-35 { - margin-left: 35% - } - - [dir=rtl] .flex-offset-md-35, [dir=rtl] .offset-md-35 { - margin-left: auto; - margin-right: 35% - } - - .flex-offset-md-40, .offset-md-40 { - margin-left: 40% - } - - [dir=rtl] .flex-offset-md-40, [dir=rtl] .offset-md-40 { - margin-left: auto; - margin-right: 40% - } - - .flex-offset-md-45, .offset-md-45 { - margin-left: 45% - } - - [dir=rtl] .flex-offset-md-45, [dir=rtl] .offset-md-45 { - margin-left: auto; - margin-right: 45% - } - - .flex-offset-md-50, .offset-md-50 { - margin-left: 50% - } - - [dir=rtl] .flex-offset-md-50, [dir=rtl] .offset-md-50 { - margin-left: auto; - margin-right: 50% - } - - .flex-offset-md-55, .offset-md-55 { - margin-left: 55% - } - - [dir=rtl] .flex-offset-md-55, [dir=rtl] .offset-md-55 { - margin-left: auto; - margin-right: 55% - } - - .flex-offset-md-60, .offset-md-60 { - margin-left: 60% - } - - [dir=rtl] .flex-offset-md-60, [dir=rtl] .offset-md-60 { - margin-left: auto; - margin-right: 60% - } - - .flex-offset-md-65, .offset-md-65 { - margin-left: 65% - } - - [dir=rtl] .flex-offset-md-65, [dir=rtl] .offset-md-65 { - margin-left: auto; - margin-right: 65% - } - - .flex-offset-md-70, .offset-md-70 { - margin-left: 70% - } - - [dir=rtl] .flex-offset-md-70, [dir=rtl] .offset-md-70 { - margin-left: auto; - margin-right: 70% - } - - .flex-offset-md-75, .offset-md-75 { - margin-left: 75% - } - - [dir=rtl] .flex-offset-md-75, [dir=rtl] .offset-md-75 { - margin-left: auto; - margin-right: 75% - } - - .flex-offset-md-80, .offset-md-80 { - margin-left: 80% - } - - [dir=rtl] .flex-offset-md-80, [dir=rtl] .offset-md-80 { - margin-left: auto; - margin-right: 80% - } - - .flex-offset-md-85, .offset-md-85 { - margin-left: 85% - } - - [dir=rtl] .flex-offset-md-85, [dir=rtl] .offset-md-85 { - margin-left: auto; - margin-right: 85% - } - - .flex-offset-md-90, .offset-md-90 { - margin-left: 90% - } - - [dir=rtl] .flex-offset-md-90, [dir=rtl] .offset-md-90 { - margin-left: auto; - margin-right: 90% - } - - .flex-offset-md-95, .offset-md-95 { - margin-left: 95% - } - - [dir=rtl] .flex-offset-md-95, [dir=rtl] .offset-md-95 { - margin-left: auto; - margin-right: 95% - } - - .flex-offset-md-33, .offset-md-33 { - margin-left: calc(100% / 3) - } - - .flex-offset-md-66, .offset-md-66 { - margin-left: calc(200% / 3) - } - - [dir=rtl] .flex-offset-md-66, [dir=rtl] .offset-md-66 { - margin-left: auto; - margin-right: calc(200% / 3) - } - - .layout-align-md { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch - } - - .layout-align-md-start, .layout-align-md-start-center, .layout-align-md-start-end, .layout-align-md-start-start, .layout-align-md-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start - } - - .layout-align-md-center, .layout-align-md-center-center, .layout-align-md-center-end, .layout-align-md-center-start, .layout-align-md-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center - } - - .layout-align-md-end, .layout-align-md-end-center, .layout-align-md-end-end, .layout-align-md-end-start, .layout-align-md-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end - } - - .layout-align-md-space-around, .layout-align-md-space-around-center, .layout-align-md-space-around-end, .layout-align-md-space-around-start, .layout-align-md-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around - } - - .layout-align-md-space-between, .layout-align-md-space-between-center, .layout-align-md-space-between-end, .layout-align-md-space-between-start, .layout-align-md-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between - } - - .layout-align-md-center-start, .layout-align-md-end-start, .layout-align-md-space-around-start, .layout-align-md-space-between-start, .layout-align-md-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start - } - - .layout-align-md-center-center, .layout-align-md-end-center, .layout-align-md-space-around-center, .layout-align-md-space-between-center, .layout-align-md-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% - } - - .layout-align-md-center-center > *, .layout-align-md-end-center > *, .layout-align-md-space-around-center > *, .layout-align-md-space-between-center > *, .layout-align-md-start-center > * { - max-width: 100%; - box-sizing: border-box - } - - .layout-align-md-center-end, .layout-align-md-end-end, .layout-align-md-space-around-end, .layout-align-md-space-between-end, .layout-align-md-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end - } - - .layout-align-md-center-stretch, .layout-align-md-end-stretch, .layout-align-md-space-around-stretch, .layout-align-md-space-between-stretch, .layout-align-md-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch - } - - .flex-md { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box - } - - .flex-md-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box - } - - .flex-md-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-md-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box - } - - .flex-md-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box - } - - .flex-md-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box - } - - .flex-md-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-md-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box - } - - .layout-md-row > .flex-md-0, .layout-row > .flex-md-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 - } - - .layout-column > .flex-md-0, .layout-md-column > .flex-md-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 - } - - .flex-md-5, .layout-md-row > .flex-md-5, .layout-row > .flex-md-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-5, .layout-md-column > .flex-md-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box - } - - .flex-md-10, .layout-md-row > .flex-md-10, .layout-row > .flex-md-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-10, .layout-md-column > .flex-md-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box - } - - .flex-md-15, .layout-md-row > .flex-md-15, .layout-row > .flex-md-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-15, .layout-md-column > .flex-md-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box - } - - .flex-md-20, .layout-md-row > .flex-md-20, .layout-row > .flex-md-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-20, .layout-md-column > .flex-md-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box - } - - .flex-md-25, .layout-md-row > .flex-md-25, .layout-row > .flex-md-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-25, .layout-md-column > .flex-md-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box - } - - .flex-md-30, .layout-md-row > .flex-md-30, .layout-row > .flex-md-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-30, .layout-md-column > .flex-md-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box - } - - .flex-md-35, .layout-md-row > .flex-md-35, .layout-row > .flex-md-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-35, .layout-md-column > .flex-md-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box - } - - .flex-md-40, .layout-md-row > .flex-md-40, .layout-row > .flex-md-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-40, .layout-md-column > .flex-md-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box - } - - .flex-md-45, .layout-md-row > .flex-md-45, .layout-row > .flex-md-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-45, .layout-md-column > .flex-md-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box - } - - .flex-md-50, .layout-md-row > .flex-md-50, .layout-row > .flex-md-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-50, .layout-md-column > .flex-md-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box - } - - .flex-md-55, .layout-md-row > .flex-md-55, .layout-row > .flex-md-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-55, .layout-md-column > .flex-md-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box - } - - .flex-md-60, .layout-md-row > .flex-md-60, .layout-row > .flex-md-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-60, .layout-md-column > .flex-md-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box - } - - .flex-md-65, .layout-md-row > .flex-md-65, .layout-row > .flex-md-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-65, .layout-md-column > .flex-md-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box - } - - .flex-md-70, .layout-md-row > .flex-md-70, .layout-row > .flex-md-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-70, .layout-md-column > .flex-md-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box - } - - .flex-md-75, .layout-md-row > .flex-md-75, .layout-row > .flex-md-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-75, .layout-md-column > .flex-md-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box - } - - .flex-md-80, .layout-md-row > .flex-md-80, .layout-row > .flex-md-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-80, .layout-md-column > .flex-md-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box - } - - .flex-md-85, .layout-md-row > .flex-md-85, .layout-row > .flex-md-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-85, .layout-md-column > .flex-md-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box - } - - .flex-md-90, .layout-md-row > .flex-md-90, .layout-row > .flex-md-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-90, .layout-md-column > .flex-md-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box - } - - .flex-md-95, .layout-md-row > .flex-md-95, .layout-row > .flex-md-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-md-95, .layout-md-column > .flex-md-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box - } - - .flex-md-100, .layout-column > .flex-md-100, .layout-md-column > .flex-md-100, .layout-md-row > .flex-md-100, .layout-row > .flex-md-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box - } - - .layout-md-row > .flex-md-33, .layout-row > .flex-md-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box - } - - .layout-md-row > .flex-md-66, .layout-row > .flex-md-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box - } - - .layout-md-row > .flex, .layout-row > .flex { - min-width: 0 - } - - .layout-column > .flex-md-33, .layout-md-column > .flex-md-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box - } - - .layout-column > .flex-md-66, .layout-md-column > .flex-md-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box - } - - .layout-column > .flex, .layout-md-column > .flex { - min-height: 0 - } - - .layout-md, .layout-md-column, .layout-md-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex - } - - .layout-md-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column - } - - .layout-md-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row - } -} - -@media (min-width: 1280px) { - .flex-order-gt-md--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 - } - - .flex-order-gt-md--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 - } - - .flex-order-gt-md--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 - } - - .flex-order-gt-md--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 - } - - .flex-order-gt-md--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 - } - - .flex-order-gt-md--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 - } - - .flex-order-gt-md--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 - } - - .flex-order-gt-md--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 - } - - .flex-order-gt-md--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 - } - - .flex-order-gt-md--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 - } - - .flex-order-gt-md--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 - } - - .flex-order-gt-md--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 - } - - .flex-order-gt-md--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 - } - - .flex-order-gt-md--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 - } - - .flex-order-gt-md--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 - } - - .flex-order-gt-md--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 - } - - .flex-order-gt-md--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 - } - - .flex-order-gt-md--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 - } - - .flex-order-gt-md--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 - } - - .flex-order-gt-md--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 - } - - .flex-order-gt-md-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 - } - - .flex-order-gt-md-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 - } - - .flex-order-gt-md-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 - } - - .flex-order-gt-md-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 - } - - .flex-order-gt-md-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 - } - - .flex-order-gt-md-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 - } - - .flex-order-gt-md-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 - } - - .flex-order-gt-md-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 - } - - .flex-order-gt-md-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 - } - - .flex-order-gt-md-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 - } - - .flex-order-gt-md-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 - } - - .flex-order-gt-md-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 - } - - .flex-order-gt-md-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 - } - - .flex-order-gt-md-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 - } - - .flex-order-gt-md-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 - } - - .flex-order-gt-md-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 - } - - .flex-order-gt-md-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 - } - - .flex-order-gt-md-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 - } - - .flex-order-gt-md-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 - } - - .flex-order-gt-md-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 - } - - .flex-order-gt-md-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 - } - - .flex-offset-gt-md-0, .offset-gt-md-0 { - margin-left: 0 - } - - [dir=rtl] .flex-offset-gt-md-0, [dir=rtl] .offset-gt-md-0 { - margin-left: auto; - margin-right: 0 - } - - .flex-offset-gt-md-5, .offset-gt-md-5 { - margin-left: 5% - } - - [dir=rtl] .flex-offset-gt-md-5, [dir=rtl] .offset-gt-md-5 { - margin-left: auto; - margin-right: 5% - } - - .flex-offset-gt-md-10, .offset-gt-md-10 { - margin-left: 10% - } - - [dir=rtl] .flex-offset-gt-md-10, [dir=rtl] .offset-gt-md-10 { - margin-left: auto; - margin-right: 10% - } - - .flex-offset-gt-md-15, .offset-gt-md-15 { - margin-left: 15% - } - - [dir=rtl] .flex-offset-gt-md-15, [dir=rtl] .offset-gt-md-15 { - margin-left: auto; - margin-right: 15% - } - - .flex-offset-gt-md-20, .offset-gt-md-20 { - margin-left: 20% - } - - [dir=rtl] .flex-offset-gt-md-20, [dir=rtl] .offset-gt-md-20 { - margin-left: auto; - margin-right: 20% - } - - .flex-offset-gt-md-25, .offset-gt-md-25 { - margin-left: 25% - } - - [dir=rtl] .flex-offset-gt-md-25, [dir=rtl] .offset-gt-md-25 { - margin-left: auto; - margin-right: 25% - } - - .flex-offset-gt-md-30, .offset-gt-md-30 { - margin-left: 30% - } - - [dir=rtl] .flex-offset-gt-md-30, [dir=rtl] .offset-gt-md-30 { - margin-left: auto; - margin-right: 30% - } - - .flex-offset-gt-md-35, .offset-gt-md-35 { - margin-left: 35% - } - - [dir=rtl] .flex-offset-gt-md-35, [dir=rtl] .offset-gt-md-35 { - margin-left: auto; - margin-right: 35% - } - - .flex-offset-gt-md-40, .offset-gt-md-40 { - margin-left: 40% - } - - [dir=rtl] .flex-offset-gt-md-40, [dir=rtl] .offset-gt-md-40 { - margin-left: auto; - margin-right: 40% - } - - .flex-offset-gt-md-45, .offset-gt-md-45 { - margin-left: 45% - } - - [dir=rtl] .flex-offset-gt-md-45, [dir=rtl] .offset-gt-md-45 { - margin-left: auto; - margin-right: 45% - } - - .flex-offset-gt-md-50, .offset-gt-md-50 { - margin-left: 50% - } - - [dir=rtl] .flex-offset-gt-md-50, [dir=rtl] .offset-gt-md-50 { - margin-left: auto; - margin-right: 50% - } - - .flex-offset-gt-md-55, .offset-gt-md-55 { - margin-left: 55% - } - - [dir=rtl] .flex-offset-gt-md-55, [dir=rtl] .offset-gt-md-55 { - margin-left: auto; - margin-right: 55% - } - - .flex-offset-gt-md-60, .offset-gt-md-60 { - margin-left: 60% - } - - [dir=rtl] .flex-offset-gt-md-60, [dir=rtl] .offset-gt-md-60 { - margin-left: auto; - margin-right: 60% - } - - .flex-offset-gt-md-65, .offset-gt-md-65 { - margin-left: 65% - } - - [dir=rtl] .flex-offset-gt-md-65, [dir=rtl] .offset-gt-md-65 { - margin-left: auto; - margin-right: 65% - } - - .flex-offset-gt-md-70, .offset-gt-md-70 { - margin-left: 70% - } - - [dir=rtl] .flex-offset-gt-md-70, [dir=rtl] .offset-gt-md-70 { - margin-left: auto; - margin-right: 70% - } - - .flex-offset-gt-md-75, .offset-gt-md-75 { - margin-left: 75% - } - - [dir=rtl] .flex-offset-gt-md-75, [dir=rtl] .offset-gt-md-75 { - margin-left: auto; - margin-right: 75% - } - - .flex-offset-gt-md-80, .offset-gt-md-80 { - margin-left: 80% - } - - [dir=rtl] .flex-offset-gt-md-80, [dir=rtl] .offset-gt-md-80 { - margin-left: auto; - margin-right: 80% - } - - .flex-offset-gt-md-85, .offset-gt-md-85 { - margin-left: 85% - } - - [dir=rtl] .flex-offset-gt-md-85, [dir=rtl] .offset-gt-md-85 { - margin-left: auto; - margin-right: 85% - } - - .flex-offset-gt-md-90, .offset-gt-md-90 { - margin-left: 90% - } - - [dir=rtl] .flex-offset-gt-md-90, [dir=rtl] .offset-gt-md-90 { - margin-left: auto; - margin-right: 90% - } - - .flex-offset-gt-md-95, .offset-gt-md-95 { - margin-left: 95% - } - - [dir=rtl] .flex-offset-gt-md-95, [dir=rtl] .offset-gt-md-95 { - margin-left: auto; - margin-right: 95% - } - - .flex-offset-gt-md-33, .offset-gt-md-33 { - margin-left: calc(100% / 3) - } - - .flex-offset-gt-md-66, .offset-gt-md-66 { - margin-left: calc(200% / 3) - } - - [dir=rtl] .flex-offset-gt-md-66, [dir=rtl] .offset-gt-md-66 { - margin-left: auto; - margin-right: calc(200% / 3) - } - - .layout-align-gt-md { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch - } - - .layout-align-gt-md-start, .layout-align-gt-md-start-center, .layout-align-gt-md-start-end, .layout-align-gt-md-start-start, .layout-align-gt-md-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start - } - - .layout-align-gt-md-center, .layout-align-gt-md-center-center, .layout-align-gt-md-center-end, .layout-align-gt-md-center-start, .layout-align-gt-md-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center - } - - .layout-align-gt-md-end, .layout-align-gt-md-end-center, .layout-align-gt-md-end-end, .layout-align-gt-md-end-start, .layout-align-gt-md-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end - } - - .layout-align-gt-md-space-around, .layout-align-gt-md-space-around-center, .layout-align-gt-md-space-around-end, .layout-align-gt-md-space-around-start, .layout-align-gt-md-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around - } - - .layout-align-gt-md-space-between, .layout-align-gt-md-space-between-center, .layout-align-gt-md-space-between-end, .layout-align-gt-md-space-between-start, .layout-align-gt-md-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between - } - - .layout-align-gt-md-center-start, .layout-align-gt-md-end-start, .layout-align-gt-md-space-around-start, .layout-align-gt-md-space-between-start, .layout-align-gt-md-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start - } - - .layout-align-gt-md-center-center, .layout-align-gt-md-end-center, .layout-align-gt-md-space-around-center, .layout-align-gt-md-space-between-center, .layout-align-gt-md-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% - } - - .layout-align-gt-md-center-center > *, .layout-align-gt-md-end-center > *, .layout-align-gt-md-space-around-center > *, .layout-align-gt-md-space-between-center > *, .layout-align-gt-md-start-center > * { - max-width: 100%; - box-sizing: border-box - } - - .layout-align-gt-md-center-end, .layout-align-gt-md-end-end, .layout-align-gt-md-space-around-end, .layout-align-gt-md-space-between-end, .layout-align-gt-md-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end - } - - .layout-align-gt-md-center-stretch, .layout-align-gt-md-end-stretch, .layout-align-gt-md-space-around-stretch, .layout-align-gt-md-space-between-stretch, .layout-align-gt-md-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch - } - - .flex-gt-md { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box - } - - .flex-gt-md-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box - } - - .flex-gt-md-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-gt-md-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box - } - - .flex-gt-md-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box - } - - .flex-gt-md-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box - } - - .flex-gt-md-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-gt-md-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-md-row > .flex-gt-md-0, .layout-row > .flex-gt-md-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 - } - - .layout-column > .flex-gt-md-0, .layout-gt-md-column > .flex-gt-md-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 - } - - .flex-gt-md-5, .layout-gt-md-row > .flex-gt-md-5, .layout-row > .flex-gt-md-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-5, .layout-gt-md-column > .flex-gt-md-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box - } - - .flex-gt-md-10, .layout-gt-md-row > .flex-gt-md-10, .layout-row > .flex-gt-md-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-10, .layout-gt-md-column > .flex-gt-md-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box - } - - .flex-gt-md-15, .layout-gt-md-row > .flex-gt-md-15, .layout-row > .flex-gt-md-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-15, .layout-gt-md-column > .flex-gt-md-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box - } - - .flex-gt-md-20, .layout-gt-md-row > .flex-gt-md-20, .layout-row > .flex-gt-md-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-20, .layout-gt-md-column > .flex-gt-md-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box - } - - .flex-gt-md-25, .layout-gt-md-row > .flex-gt-md-25, .layout-row > .flex-gt-md-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-25, .layout-gt-md-column > .flex-gt-md-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box - } - - .flex-gt-md-30, .layout-gt-md-row > .flex-gt-md-30, .layout-row > .flex-gt-md-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-30, .layout-gt-md-column > .flex-gt-md-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box - } - - .flex-gt-md-35, .layout-gt-md-row > .flex-gt-md-35, .layout-row > .flex-gt-md-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-35, .layout-gt-md-column > .flex-gt-md-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box - } - - .flex-gt-md-40, .layout-gt-md-row > .flex-gt-md-40, .layout-row > .flex-gt-md-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-40, .layout-gt-md-column > .flex-gt-md-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box - } - - .flex-gt-md-45, .layout-gt-md-row > .flex-gt-md-45, .layout-row > .flex-gt-md-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-45, .layout-gt-md-column > .flex-gt-md-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box - } - - .flex-gt-md-50, .layout-gt-md-row > .flex-gt-md-50, .layout-row > .flex-gt-md-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-50, .layout-gt-md-column > .flex-gt-md-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box - } - - .flex-gt-md-55, .layout-gt-md-row > .flex-gt-md-55, .layout-row > .flex-gt-md-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-55, .layout-gt-md-column > .flex-gt-md-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box - } - - .flex-gt-md-60, .layout-gt-md-row > .flex-gt-md-60, .layout-row > .flex-gt-md-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-60, .layout-gt-md-column > .flex-gt-md-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box - } - - .flex-gt-md-65, .layout-gt-md-row > .flex-gt-md-65, .layout-row > .flex-gt-md-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-65, .layout-gt-md-column > .flex-gt-md-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box - } - - .flex-gt-md-70, .layout-gt-md-row > .flex-gt-md-70, .layout-row > .flex-gt-md-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-70, .layout-gt-md-column > .flex-gt-md-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box - } - - .flex-gt-md-75, .layout-gt-md-row > .flex-gt-md-75, .layout-row > .flex-gt-md-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-75, .layout-gt-md-column > .flex-gt-md-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box - } - - .flex-gt-md-80, .layout-gt-md-row > .flex-gt-md-80, .layout-row > .flex-gt-md-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-80, .layout-gt-md-column > .flex-gt-md-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box - } - - .flex-gt-md-85, .layout-gt-md-row > .flex-gt-md-85, .layout-row > .flex-gt-md-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-85, .layout-gt-md-column > .flex-gt-md-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box - } - - .flex-gt-md-90, .layout-gt-md-row > .flex-gt-md-90, .layout-row > .flex-gt-md-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-90, .layout-gt-md-column > .flex-gt-md-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box - } - - .flex-gt-md-95, .layout-gt-md-row > .flex-gt-md-95, .layout-row > .flex-gt-md-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-95, .layout-gt-md-column > .flex-gt-md-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box - } - - .flex-gt-md-100, .layout-column > .flex-gt-md-100, .layout-gt-md-column > .flex-gt-md-100, .layout-gt-md-row > .flex-gt-md-100, .layout-row > .flex-gt-md-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-md-row > .flex-gt-md-33, .layout-row > .flex-gt-md-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-md-row > .flex-gt-md-66, .layout-row > .flex-gt-md-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-md-row > .flex, .layout-row > .flex { - min-width: 0 - } - - .layout-column > .flex-gt-md-33, .layout-gt-md-column > .flex-gt-md-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box - } - - .layout-column > .flex-gt-md-66, .layout-gt-md-column > .flex-gt-md-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box - } - - .layout-column > .flex, .layout-gt-md-column > .flex { - min-height: 0 - } - - .layout-gt-md, .layout-gt-md-column, .layout-gt-md-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex - } - - .layout-gt-md-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column - } - - .layout-gt-md-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row - } -} - -@media (min-width: 1280px) and (max-width: 1919px) { - .hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show), .hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show), .hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show), .hide-lg:not(.show-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show), .hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show) { - display: none - } - - .flex-order-lg--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 - } - - .flex-order-lg--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 - } - - .flex-order-lg--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 - } - - .flex-order-lg--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 - } - - .flex-order-lg--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 - } - - .flex-order-lg--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 - } - - .flex-order-lg--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 - } - - .flex-order-lg--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 - } - - .flex-order-lg--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 - } - - .flex-order-lg--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 - } - - .flex-order-lg--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 - } - - .flex-order-lg--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 - } - - .flex-order-lg--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 - } - - .flex-order-lg--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 - } - - .flex-order-lg--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 - } - - .flex-order-lg--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 - } - - .flex-order-lg--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 - } - - .flex-order-lg--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 - } - - .flex-order-lg--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 - } - - .flex-order-lg--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 - } - - .flex-order-lg-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 - } - - .flex-order-lg-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 - } - - .flex-order-lg-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 - } - - .flex-order-lg-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 - } - - .flex-order-lg-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 - } - - .flex-order-lg-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 - } - - .flex-order-lg-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 - } - - .flex-order-lg-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 - } - - .flex-order-lg-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 - } - - .flex-order-lg-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 - } - - .flex-order-lg-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 - } - - .flex-order-lg-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 - } - - .flex-order-lg-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 - } - - .flex-order-lg-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 - } - - .flex-order-lg-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 - } - - .flex-order-lg-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 - } - - .flex-order-lg-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 - } - - .flex-order-lg-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 - } - - .flex-order-lg-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 - } - - .flex-order-lg-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 - } - - .flex-order-lg-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 - } - - .flex-offset-lg-0, .offset-lg-0 { - margin-left: 0 - } - - [dir=rtl] .flex-offset-lg-0, [dir=rtl] .offset-lg-0 { - margin-left: auto; - margin-right: 0 - } - - .flex-offset-lg-5, .offset-lg-5 { - margin-left: 5% - } - - [dir=rtl] .flex-offset-lg-5, [dir=rtl] .offset-lg-5 { - margin-left: auto; - margin-right: 5% - } - - .flex-offset-lg-10, .offset-lg-10 { - margin-left: 10% - } - - [dir=rtl] .flex-offset-lg-10, [dir=rtl] .offset-lg-10 { - margin-left: auto; - margin-right: 10% - } - - .flex-offset-lg-15, .offset-lg-15 { - margin-left: 15% - } - - [dir=rtl] .flex-offset-lg-15, [dir=rtl] .offset-lg-15 { - margin-left: auto; - margin-right: 15% - } - - .flex-offset-lg-20, .offset-lg-20 { - margin-left: 20% - } - - [dir=rtl] .flex-offset-lg-20, [dir=rtl] .offset-lg-20 { - margin-left: auto; - margin-right: 20% - } - - .flex-offset-lg-25, .offset-lg-25 { - margin-left: 25% - } - - [dir=rtl] .flex-offset-lg-25, [dir=rtl] .offset-lg-25 { - margin-left: auto; - margin-right: 25% - } - - .flex-offset-lg-30, .offset-lg-30 { - margin-left: 30% - } - - [dir=rtl] .flex-offset-lg-30, [dir=rtl] .offset-lg-30 { - margin-left: auto; - margin-right: 30% - } - - .flex-offset-lg-35, .offset-lg-35 { - margin-left: 35% - } - - [dir=rtl] .flex-offset-lg-35, [dir=rtl] .offset-lg-35 { - margin-left: auto; - margin-right: 35% - } - - .flex-offset-lg-40, .offset-lg-40 { - margin-left: 40% - } - - [dir=rtl] .flex-offset-lg-40, [dir=rtl] .offset-lg-40 { - margin-left: auto; - margin-right: 40% - } - - .flex-offset-lg-45, .offset-lg-45 { - margin-left: 45% - } - - [dir=rtl] .flex-offset-lg-45, [dir=rtl] .offset-lg-45 { - margin-left: auto; - margin-right: 45% - } - - .flex-offset-lg-50, .offset-lg-50 { - margin-left: 50% - } - - [dir=rtl] .flex-offset-lg-50, [dir=rtl] .offset-lg-50 { - margin-left: auto; - margin-right: 50% - } - - .flex-offset-lg-55, .offset-lg-55 { - margin-left: 55% - } - - [dir=rtl] .flex-offset-lg-55, [dir=rtl] .offset-lg-55 { - margin-left: auto; - margin-right: 55% - } - - .flex-offset-lg-60, .offset-lg-60 { - margin-left: 60% - } - - [dir=rtl] .flex-offset-lg-60, [dir=rtl] .offset-lg-60 { - margin-left: auto; - margin-right: 60% - } - - .flex-offset-lg-65, .offset-lg-65 { - margin-left: 65% - } - - [dir=rtl] .flex-offset-lg-65, [dir=rtl] .offset-lg-65 { - margin-left: auto; - margin-right: 65% - } - - .flex-offset-lg-70, .offset-lg-70 { - margin-left: 70% - } - - [dir=rtl] .flex-offset-lg-70, [dir=rtl] .offset-lg-70 { - margin-left: auto; - margin-right: 70% - } - - .flex-offset-lg-75, .offset-lg-75 { - margin-left: 75% - } - - [dir=rtl] .flex-offset-lg-75, [dir=rtl] .offset-lg-75 { - margin-left: auto; - margin-right: 75% - } - - .flex-offset-lg-80, .offset-lg-80 { - margin-left: 80% - } - - [dir=rtl] .flex-offset-lg-80, [dir=rtl] .offset-lg-80 { - margin-left: auto; - margin-right: 80% - } - - .flex-offset-lg-85, .offset-lg-85 { - margin-left: 85% - } - - [dir=rtl] .flex-offset-lg-85, [dir=rtl] .offset-lg-85 { - margin-left: auto; - margin-right: 85% - } - - .flex-offset-lg-90, .offset-lg-90 { - margin-left: 90% - } - - [dir=rtl] .flex-offset-lg-90, [dir=rtl] .offset-lg-90 { - margin-left: auto; - margin-right: 90% - } - - .flex-offset-lg-95, .offset-lg-95 { - margin-left: 95% - } - - [dir=rtl] .flex-offset-lg-95, [dir=rtl] .offset-lg-95 { - margin-left: auto; - margin-right: 95% - } - - .flex-offset-lg-33, .offset-lg-33 { - margin-left: calc(100% / 3) - } - - .flex-offset-lg-66, .offset-lg-66 { - margin-left: calc(200% / 3) - } - - [dir=rtl] .flex-offset-lg-66, [dir=rtl] .offset-lg-66 { - margin-left: auto; - margin-right: calc(200% / 3) - } - - .layout-align-lg { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch - } - - .layout-align-lg-start, .layout-align-lg-start-center, .layout-align-lg-start-end, .layout-align-lg-start-start, .layout-align-lg-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start - } - - .layout-align-lg-center, .layout-align-lg-center-center, .layout-align-lg-center-end, .layout-align-lg-center-start, .layout-align-lg-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center - } - - .layout-align-lg-end, .layout-align-lg-end-center, .layout-align-lg-end-end, .layout-align-lg-end-start, .layout-align-lg-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end - } - - .layout-align-lg-space-around, .layout-align-lg-space-around-center, .layout-align-lg-space-around-end, .layout-align-lg-space-around-start, .layout-align-lg-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around - } - - .layout-align-lg-space-between, .layout-align-lg-space-between-center, .layout-align-lg-space-between-end, .layout-align-lg-space-between-start, .layout-align-lg-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between - } - - .layout-align-lg-center-start, .layout-align-lg-end-start, .layout-align-lg-space-around-start, .layout-align-lg-space-between-start, .layout-align-lg-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start - } - - .layout-align-lg-center-center, .layout-align-lg-end-center, .layout-align-lg-space-around-center, .layout-align-lg-space-between-center, .layout-align-lg-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% - } - - .layout-align-lg-center-center > *, .layout-align-lg-end-center > *, .layout-align-lg-space-around-center > *, .layout-align-lg-space-between-center > *, .layout-align-lg-start-center > * { - max-width: 100%; - box-sizing: border-box - } - - .layout-align-lg-center-end, .layout-align-lg-end-end, .layout-align-lg-space-around-end, .layout-align-lg-space-between-end, .layout-align-lg-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end - } - - .layout-align-lg-center-stretch, .layout-align-lg-end-stretch, .layout-align-lg-space-around-stretch, .layout-align-lg-space-between-stretch, .layout-align-lg-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch - } - - .flex-lg { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box - } - - .flex-lg-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box - } - - .flex-lg-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-lg-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box - } - - .flex-lg-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box - } - - .flex-lg-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box - } - - .flex-lg-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-lg-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box - } - - .layout-lg-row > .flex-lg-0, .layout-row > .flex-lg-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 - } - - .layout-column > .flex-lg-0, .layout-lg-column > .flex-lg-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 - } - - .flex-lg-5, .layout-lg-row > .flex-lg-5, .layout-row > .flex-lg-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-5, .layout-lg-column > .flex-lg-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box - } - - .flex-lg-10, .layout-lg-row > .flex-lg-10, .layout-row > .flex-lg-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-10, .layout-lg-column > .flex-lg-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box - } - - .flex-lg-15, .layout-lg-row > .flex-lg-15, .layout-row > .flex-lg-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-15, .layout-lg-column > .flex-lg-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box - } - - .flex-lg-20, .layout-lg-row > .flex-lg-20, .layout-row > .flex-lg-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-20, .layout-lg-column > .flex-lg-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box - } - - .flex-lg-25, .layout-lg-row > .flex-lg-25, .layout-row > .flex-lg-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-25, .layout-lg-column > .flex-lg-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box - } - - .flex-lg-30, .layout-lg-row > .flex-lg-30, .layout-row > .flex-lg-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-30, .layout-lg-column > .flex-lg-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box - } - - .flex-lg-35, .layout-lg-row > .flex-lg-35, .layout-row > .flex-lg-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-35, .layout-lg-column > .flex-lg-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box - } - - .flex-lg-40, .layout-lg-row > .flex-lg-40, .layout-row > .flex-lg-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-40, .layout-lg-column > .flex-lg-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box - } - - .flex-lg-45, .layout-lg-row > .flex-lg-45, .layout-row > .flex-lg-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-45, .layout-lg-column > .flex-lg-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box - } - - .flex-lg-50, .layout-lg-row > .flex-lg-50, .layout-row > .flex-lg-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-50, .layout-lg-column > .flex-lg-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box - } - - .flex-lg-55, .layout-lg-row > .flex-lg-55, .layout-row > .flex-lg-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-55, .layout-lg-column > .flex-lg-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box - } - - .flex-lg-60, .layout-lg-row > .flex-lg-60, .layout-row > .flex-lg-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-60, .layout-lg-column > .flex-lg-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box - } - - .flex-lg-65, .layout-lg-row > .flex-lg-65, .layout-row > .flex-lg-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-65, .layout-lg-column > .flex-lg-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box - } - - .flex-lg-70, .layout-lg-row > .flex-lg-70, .layout-row > .flex-lg-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-70, .layout-lg-column > .flex-lg-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box - } - - .flex-lg-75, .layout-lg-row > .flex-lg-75, .layout-row > .flex-lg-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-75, .layout-lg-column > .flex-lg-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box - } - - .flex-lg-80, .layout-lg-row > .flex-lg-80, .layout-row > .flex-lg-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-80, .layout-lg-column > .flex-lg-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box - } - - .flex-lg-85, .layout-lg-row > .flex-lg-85, .layout-row > .flex-lg-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-85, .layout-lg-column > .flex-lg-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box - } - - .flex-lg-90, .layout-lg-row > .flex-lg-90, .layout-row > .flex-lg-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-90, .layout-lg-column > .flex-lg-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box - } - - .flex-lg-95, .layout-lg-row > .flex-lg-95, .layout-row > .flex-lg-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-lg-95, .layout-lg-column > .flex-lg-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box - } - - .flex-lg-100, .layout-column > .flex-lg-100, .layout-lg-column > .flex-lg-100, .layout-lg-row > .flex-lg-100, .layout-row > .flex-lg-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box - } - - .layout-lg-row > .flex-lg-33, .layout-row > .flex-lg-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box - } - - .layout-lg-row > .flex-lg-66, .layout-row > .flex-lg-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box - } - - .layout-lg-row > .flex, .layout-row > .flex { - min-width: 0 - } - - .layout-column > .flex-lg-33, .layout-lg-column > .flex-lg-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box - } - - .layout-column > .flex-lg-66, .layout-lg-column > .flex-lg-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box - } - - .layout-column > .flex, .layout-lg-column > .flex { - min-height: 0 - } - - .layout-lg, .layout-lg-column, .layout-lg-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex - } - - .layout-lg-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column - } - - .layout-lg-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row - } -} - -@media (min-width: 1920px) { - .flex-order-gt-lg--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 - } - - .flex-order-gt-lg--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 - } - - .flex-order-gt-lg--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 - } - - .flex-order-gt-lg--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 - } - - .flex-order-gt-lg--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 - } - - .flex-order-gt-lg--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 - } - - .flex-order-gt-lg--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 - } - - .flex-order-gt-lg--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 - } - - .flex-order-gt-lg--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 - } - - .flex-order-gt-lg--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 - } - - .flex-order-gt-lg--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 - } - - .flex-order-gt-lg--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 - } - - .flex-order-gt-lg--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 - } - - .flex-order-gt-lg--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 - } - - .flex-order-gt-lg--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 - } - - .flex-order-gt-lg--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 - } - - .flex-order-gt-lg--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 - } - - .flex-order-gt-lg--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 - } - - .flex-order-gt-lg--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 - } - - .flex-order-gt-lg--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 - } - - .flex-order-gt-lg-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 - } - - .flex-order-gt-lg-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 - } - - .flex-order-gt-lg-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 - } - - .flex-order-gt-lg-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 - } - - .flex-order-gt-lg-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 - } - - .flex-order-gt-lg-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 - } - - .flex-order-gt-lg-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 - } - - .flex-order-gt-lg-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 - } - - .flex-order-gt-lg-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 - } - - .flex-order-gt-lg-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 - } - - .flex-order-gt-lg-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 - } - - .flex-order-gt-lg-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 - } - - .flex-order-gt-lg-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 - } - - .flex-order-gt-lg-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 - } - - .flex-order-gt-lg-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 - } - - .flex-order-gt-lg-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 - } - - .flex-order-gt-lg-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 - } - - .flex-order-gt-lg-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 - } - - .flex-order-gt-lg-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 - } - - .flex-order-gt-lg-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 - } - - .flex-order-gt-lg-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 - } - - .flex-offset-gt-lg-0, .offset-gt-lg-0 { - margin-left: 0 - } - - [dir=rtl] .flex-offset-gt-lg-0, [dir=rtl] .offset-gt-lg-0 { - margin-left: auto; - margin-right: 0 - } - - .flex-offset-gt-lg-5, .offset-gt-lg-5 { - margin-left: 5% - } - - [dir=rtl] .flex-offset-gt-lg-5, [dir=rtl] .offset-gt-lg-5 { - margin-left: auto; - margin-right: 5% - } - - .flex-offset-gt-lg-10, .offset-gt-lg-10 { - margin-left: 10% - } - - [dir=rtl] .flex-offset-gt-lg-10, [dir=rtl] .offset-gt-lg-10 { - margin-left: auto; - margin-right: 10% - } - - .flex-offset-gt-lg-15, .offset-gt-lg-15 { - margin-left: 15% - } - - [dir=rtl] .flex-offset-gt-lg-15, [dir=rtl] .offset-gt-lg-15 { - margin-left: auto; - margin-right: 15% - } - - .flex-offset-gt-lg-20, .offset-gt-lg-20 { - margin-left: 20% - } - - [dir=rtl] .flex-offset-gt-lg-20, [dir=rtl] .offset-gt-lg-20 { - margin-left: auto; - margin-right: 20% - } - - .flex-offset-gt-lg-25, .offset-gt-lg-25 { - margin-left: 25% - } - - [dir=rtl] .flex-offset-gt-lg-25, [dir=rtl] .offset-gt-lg-25 { - margin-left: auto; - margin-right: 25% - } - - .flex-offset-gt-lg-30, .offset-gt-lg-30 { - margin-left: 30% - } - - [dir=rtl] .flex-offset-gt-lg-30, [dir=rtl] .offset-gt-lg-30 { - margin-left: auto; - margin-right: 30% - } - - .flex-offset-gt-lg-35, .offset-gt-lg-35 { - margin-left: 35% - } - - [dir=rtl] .flex-offset-gt-lg-35, [dir=rtl] .offset-gt-lg-35 { - margin-left: auto; - margin-right: 35% - } - - .flex-offset-gt-lg-40, .offset-gt-lg-40 { - margin-left: 40% - } - - [dir=rtl] .flex-offset-gt-lg-40, [dir=rtl] .offset-gt-lg-40 { - margin-left: auto; - margin-right: 40% - } - - .flex-offset-gt-lg-45, .offset-gt-lg-45 { - margin-left: 45% - } - - [dir=rtl] .flex-offset-gt-lg-45, [dir=rtl] .offset-gt-lg-45 { - margin-left: auto; - margin-right: 45% - } - - .flex-offset-gt-lg-50, .offset-gt-lg-50 { - margin-left: 50% - } - - [dir=rtl] .flex-offset-gt-lg-50, [dir=rtl] .offset-gt-lg-50 { - margin-left: auto; - margin-right: 50% - } - - .flex-offset-gt-lg-55, .offset-gt-lg-55 { - margin-left: 55% - } - - [dir=rtl] .flex-offset-gt-lg-55, [dir=rtl] .offset-gt-lg-55 { - margin-left: auto; - margin-right: 55% - } - - .flex-offset-gt-lg-60, .offset-gt-lg-60 { - margin-left: 60% - } - - [dir=rtl] .flex-offset-gt-lg-60, [dir=rtl] .offset-gt-lg-60 { - margin-left: auto; - margin-right: 60% - } - - .flex-offset-gt-lg-65, .offset-gt-lg-65 { - margin-left: 65% - } - - [dir=rtl] .flex-offset-gt-lg-65, [dir=rtl] .offset-gt-lg-65 { - margin-left: auto; - margin-right: 65% - } - - .flex-offset-gt-lg-70, .offset-gt-lg-70 { - margin-left: 70% - } - - [dir=rtl] .flex-offset-gt-lg-70, [dir=rtl] .offset-gt-lg-70 { - margin-left: auto; - margin-right: 70% - } - - .flex-offset-gt-lg-75, .offset-gt-lg-75 { - margin-left: 75% - } - - [dir=rtl] .flex-offset-gt-lg-75, [dir=rtl] .offset-gt-lg-75 { - margin-left: auto; - margin-right: 75% - } - - .flex-offset-gt-lg-80, .offset-gt-lg-80 { - margin-left: 80% - } - - [dir=rtl] .flex-offset-gt-lg-80, [dir=rtl] .offset-gt-lg-80 { - margin-left: auto; - margin-right: 80% - } - - .flex-offset-gt-lg-85, .offset-gt-lg-85 { - margin-left: 85% - } - - [dir=rtl] .flex-offset-gt-lg-85, [dir=rtl] .offset-gt-lg-85 { - margin-left: auto; - margin-right: 85% - } - - .flex-offset-gt-lg-90, .offset-gt-lg-90 { - margin-left: 90% - } - - [dir=rtl] .flex-offset-gt-lg-90, [dir=rtl] .offset-gt-lg-90 { - margin-left: auto; - margin-right: 90% - } - - .flex-offset-gt-lg-95, .offset-gt-lg-95 { - margin-left: 95% - } - - [dir=rtl] .flex-offset-gt-lg-95, [dir=rtl] .offset-gt-lg-95 { - margin-left: auto; - margin-right: 95% - } - - .flex-offset-gt-lg-33, .offset-gt-lg-33 { - margin-left: calc(100% / 3) - } - - .flex-offset-gt-lg-66, .offset-gt-lg-66 { - margin-left: calc(200% / 3) - } - - [dir=rtl] .flex-offset-gt-lg-66, [dir=rtl] .offset-gt-lg-66 { - margin-left: auto; - margin-right: calc(200% / 3) - } - - .layout-align-gt-lg { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch - } - - .layout-align-gt-lg-start, .layout-align-gt-lg-start-center, .layout-align-gt-lg-start-end, .layout-align-gt-lg-start-start, .layout-align-gt-lg-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start - } - - .layout-align-gt-lg-center, .layout-align-gt-lg-center-center, .layout-align-gt-lg-center-end, .layout-align-gt-lg-center-start, .layout-align-gt-lg-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center - } - - .layout-align-gt-lg-end, .layout-align-gt-lg-end-center, .layout-align-gt-lg-end-end, .layout-align-gt-lg-end-start, .layout-align-gt-lg-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end - } - - .layout-align-gt-lg-space-around, .layout-align-gt-lg-space-around-center, .layout-align-gt-lg-space-around-end, .layout-align-gt-lg-space-around-start, .layout-align-gt-lg-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around - } - - .layout-align-gt-lg-space-between, .layout-align-gt-lg-space-between-center, .layout-align-gt-lg-space-between-end, .layout-align-gt-lg-space-between-start, .layout-align-gt-lg-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between - } - - .layout-align-gt-lg-center-start, .layout-align-gt-lg-end-start, .layout-align-gt-lg-space-around-start, .layout-align-gt-lg-space-between-start, .layout-align-gt-lg-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start - } - - .layout-align-gt-lg-center-center, .layout-align-gt-lg-end-center, .layout-align-gt-lg-space-around-center, .layout-align-gt-lg-space-between-center, .layout-align-gt-lg-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% - } - - .layout-align-gt-lg-center-center > *, .layout-align-gt-lg-end-center > *, .layout-align-gt-lg-space-around-center > *, .layout-align-gt-lg-space-between-center > *, .layout-align-gt-lg-start-center > * { - max-width: 100%; - box-sizing: border-box - } - - .layout-align-gt-lg-center-end, .layout-align-gt-lg-end-end, .layout-align-gt-lg-space-around-end, .layout-align-gt-lg-space-between-end, .layout-align-gt-lg-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end - } - - .layout-align-gt-lg-center-stretch, .layout-align-gt-lg-end-stretch, .layout-align-gt-lg-space-around-stretch, .layout-align-gt-lg-space-between-stretch, .layout-align-gt-lg-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch - } - - .flex-gt-lg { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box - } - - .flex-gt-lg-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box - } - - .flex-gt-lg-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-gt-lg-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box - } - - .flex-gt-lg-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box - } - - .flex-gt-lg-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box - } - - .flex-gt-lg-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-gt-lg-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-lg-row > .flex-gt-lg-0, .layout-row > .flex-gt-lg-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 - } - - .layout-column > .flex-gt-lg-0, .layout-gt-lg-column > .flex-gt-lg-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 - } - - .flex-gt-lg-5, .layout-gt-lg-row > .flex-gt-lg-5, .layout-row > .flex-gt-lg-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-5, .layout-gt-lg-column > .flex-gt-lg-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box - } - - .flex-gt-lg-10, .layout-gt-lg-row > .flex-gt-lg-10, .layout-row > .flex-gt-lg-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-10, .layout-gt-lg-column > .flex-gt-lg-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box - } - - .flex-gt-lg-15, .layout-gt-lg-row > .flex-gt-lg-15, .layout-row > .flex-gt-lg-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-15, .layout-gt-lg-column > .flex-gt-lg-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box - } - - .flex-gt-lg-20, .layout-gt-lg-row > .flex-gt-lg-20, .layout-row > .flex-gt-lg-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-20, .layout-gt-lg-column > .flex-gt-lg-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box - } - - .flex-gt-lg-25, .layout-gt-lg-row > .flex-gt-lg-25, .layout-row > .flex-gt-lg-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-25, .layout-gt-lg-column > .flex-gt-lg-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box - } - - .flex-gt-lg-30, .layout-gt-lg-row > .flex-gt-lg-30, .layout-row > .flex-gt-lg-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-30, .layout-gt-lg-column > .flex-gt-lg-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box - } - - .flex-gt-lg-35, .layout-gt-lg-row > .flex-gt-lg-35, .layout-row > .flex-gt-lg-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-35, .layout-gt-lg-column > .flex-gt-lg-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box - } - - .flex-gt-lg-40, .layout-gt-lg-row > .flex-gt-lg-40, .layout-row > .flex-gt-lg-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-40, .layout-gt-lg-column > .flex-gt-lg-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box - } - - .flex-gt-lg-45, .layout-gt-lg-row > .flex-gt-lg-45, .layout-row > .flex-gt-lg-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-45, .layout-gt-lg-column > .flex-gt-lg-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box - } - - .flex-gt-lg-50, .layout-gt-lg-row > .flex-gt-lg-50, .layout-row > .flex-gt-lg-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-50, .layout-gt-lg-column > .flex-gt-lg-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box - } - - .flex-gt-lg-55, .layout-gt-lg-row > .flex-gt-lg-55, .layout-row > .flex-gt-lg-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-55, .layout-gt-lg-column > .flex-gt-lg-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box - } - - .flex-gt-lg-60, .layout-gt-lg-row > .flex-gt-lg-60, .layout-row > .flex-gt-lg-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-60, .layout-gt-lg-column > .flex-gt-lg-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box - } - - .flex-gt-lg-65, .layout-gt-lg-row > .flex-gt-lg-65, .layout-row > .flex-gt-lg-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-65, .layout-gt-lg-column > .flex-gt-lg-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box - } - - .flex-gt-lg-70, .layout-gt-lg-row > .flex-gt-lg-70, .layout-row > .flex-gt-lg-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-70, .layout-gt-lg-column > .flex-gt-lg-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box - } - - .flex-gt-lg-75, .layout-gt-lg-row > .flex-gt-lg-75, .layout-row > .flex-gt-lg-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-75, .layout-gt-lg-column > .flex-gt-lg-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box - } - - .flex-gt-lg-80, .layout-gt-lg-row > .flex-gt-lg-80, .layout-row > .flex-gt-lg-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-80, .layout-gt-lg-column > .flex-gt-lg-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box - } - - .flex-gt-lg-85, .layout-gt-lg-row > .flex-gt-lg-85, .layout-row > .flex-gt-lg-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-85, .layout-gt-lg-column > .flex-gt-lg-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box - } - - .flex-gt-lg-90, .layout-gt-lg-row > .flex-gt-lg-90, .layout-row > .flex-gt-lg-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-90, .layout-gt-lg-column > .flex-gt-lg-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box - } - - .flex-gt-lg-95, .layout-gt-lg-row > .flex-gt-lg-95, .layout-row > .flex-gt-lg-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-95, .layout-gt-lg-column > .flex-gt-lg-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box - } - - .flex-gt-lg-100, .layout-column > .flex-gt-lg-100, .layout-gt-lg-column > .flex-gt-lg-100, .layout-gt-lg-row > .flex-gt-lg-100, .layout-row > .flex-gt-lg-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-lg-row > .flex-gt-lg-33, .layout-row > .flex-gt-lg-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-lg-row > .flex-gt-lg-66, .layout-row > .flex-gt-lg-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box - } - - .layout-gt-lg-row > .flex, .layout-row > .flex { - min-width: 0 - } - - .layout-column > .flex-gt-lg-33, .layout-gt-lg-column > .flex-gt-lg-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box - } - - .layout-column > .flex-gt-lg-66, .layout-gt-lg-column > .flex-gt-lg-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box - } - - .layout-column > .flex, .layout-gt-lg-column > .flex { - min-height: 0 - } - - .layout-gt-lg, .layout-gt-lg-column, .layout-gt-lg-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex - } - - .layout-gt-lg-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column - } - - .layout-gt-lg-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row - } - - .flex-order-xl--20 { - -webkit-order: -20; - -ms-flex-order: -20; - order: -20 - } - - .flex-order-xl--19 { - -webkit-order: -19; - -ms-flex-order: -19; - order: -19 - } - - .flex-order-xl--18 { - -webkit-order: -18; - -ms-flex-order: -18; - order: -18 - } - - .flex-order-xl--17 { - -webkit-order: -17; - -ms-flex-order: -17; - order: -17 - } - - .flex-order-xl--16 { - -webkit-order: -16; - -ms-flex-order: -16; - order: -16 - } - - .flex-order-xl--15 { - -webkit-order: -15; - -ms-flex-order: -15; - order: -15 - } - - .flex-order-xl--14 { - -webkit-order: -14; - -ms-flex-order: -14; - order: -14 - } - - .flex-order-xl--13 { - -webkit-order: -13; - -ms-flex-order: -13; - order: -13 - } - - .flex-order-xl--12 { - -webkit-order: -12; - -ms-flex-order: -12; - order: -12 - } - - .flex-order-xl--11 { - -webkit-order: -11; - -ms-flex-order: -11; - order: -11 - } - - .flex-order-xl--10 { - -webkit-order: -10; - -ms-flex-order: -10; - order: -10 - } - - .flex-order-xl--9 { - -webkit-order: -9; - -ms-flex-order: -9; - order: -9 - } - - .flex-order-xl--8 { - -webkit-order: -8; - -ms-flex-order: -8; - order: -8 - } - - .flex-order-xl--7 { - -webkit-order: -7; - -ms-flex-order: -7; - order: -7 - } - - .flex-order-xl--6 { - -webkit-order: -6; - -ms-flex-order: -6; - order: -6 - } - - .flex-order-xl--5 { - -webkit-order: -5; - -ms-flex-order: -5; - order: -5 - } - - .flex-order-xl--4 { - -webkit-order: -4; - -ms-flex-order: -4; - order: -4 - } - - .flex-order-xl--3 { - -webkit-order: -3; - -ms-flex-order: -3; - order: -3 - } - - .flex-order-xl--2 { - -webkit-order: -2; - -ms-flex-order: -2; - order: -2 - } - - .flex-order-xl--1 { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1 - } - - .flex-order-xl-0 { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0 - } - - .flex-order-xl-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1 - } - - .flex-order-xl-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2 - } - - .flex-order-xl-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3 - } - - .flex-order-xl-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4 - } - - .flex-order-xl-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5 - } - - .flex-order-xl-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6 - } - - .flex-order-xl-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7 - } - - .flex-order-xl-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8 - } - - .flex-order-xl-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9 - } - - .flex-order-xl-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10 - } - - .flex-order-xl-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11 - } - - .flex-order-xl-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12 - } - - .flex-order-xl-13 { - -webkit-order: 13; - -ms-flex-order: 13; - order: 13 - } - - .flex-order-xl-14 { - -webkit-order: 14; - -ms-flex-order: 14; - order: 14 - } - - .flex-order-xl-15 { - -webkit-order: 15; - -ms-flex-order: 15; - order: 15 - } - - .flex-order-xl-16 { - -webkit-order: 16; - -ms-flex-order: 16; - order: 16 - } - - .flex-order-xl-17 { - -webkit-order: 17; - -ms-flex-order: 17; - order: 17 - } - - .flex-order-xl-18 { - -webkit-order: 18; - -ms-flex-order: 18; - order: 18 - } - - .flex-order-xl-19 { - -webkit-order: 19; - -ms-flex-order: 19; - order: 19 - } - - .flex-order-xl-20 { - -webkit-order: 20; - -ms-flex-order: 20; - order: 20 - } - - .flex-offset-xl-0, .offset-xl-0 { - margin-left: 0 - } - - [dir=rtl] .flex-offset-xl-0, [dir=rtl] .offset-xl-0 { - margin-left: auto; - margin-right: 0 - } - - .flex-offset-xl-5, .offset-xl-5 { - margin-left: 5% - } - - [dir=rtl] .flex-offset-xl-5, [dir=rtl] .offset-xl-5 { - margin-left: auto; - margin-right: 5% - } - - .flex-offset-xl-10, .offset-xl-10 { - margin-left: 10% - } - - [dir=rtl] .flex-offset-xl-10, [dir=rtl] .offset-xl-10 { - margin-left: auto; - margin-right: 10% - } - - .flex-offset-xl-15, .offset-xl-15 { - margin-left: 15% - } - - [dir=rtl] .flex-offset-xl-15, [dir=rtl] .offset-xl-15 { - margin-left: auto; - margin-right: 15% - } - - .flex-offset-xl-20, .offset-xl-20 { - margin-left: 20% - } - - [dir=rtl] .flex-offset-xl-20, [dir=rtl] .offset-xl-20 { - margin-left: auto; - margin-right: 20% - } - - .flex-offset-xl-25, .offset-xl-25 { - margin-left: 25% - } - - [dir=rtl] .flex-offset-xl-25, [dir=rtl] .offset-xl-25 { - margin-left: auto; - margin-right: 25% - } - - .flex-offset-xl-30, .offset-xl-30 { - margin-left: 30% - } - - [dir=rtl] .flex-offset-xl-30, [dir=rtl] .offset-xl-30 { - margin-left: auto; - margin-right: 30% - } - - .flex-offset-xl-35, .offset-xl-35 { - margin-left: 35% - } - - [dir=rtl] .flex-offset-xl-35, [dir=rtl] .offset-xl-35 { - margin-left: auto; - margin-right: 35% - } - - .flex-offset-xl-40, .offset-xl-40 { - margin-left: 40% - } - - [dir=rtl] .flex-offset-xl-40, [dir=rtl] .offset-xl-40 { - margin-left: auto; - margin-right: 40% - } - - .flex-offset-xl-45, .offset-xl-45 { - margin-left: 45% - } - - [dir=rtl] .flex-offset-xl-45, [dir=rtl] .offset-xl-45 { - margin-left: auto; - margin-right: 45% - } - - .flex-offset-xl-50, .offset-xl-50 { - margin-left: 50% - } - - [dir=rtl] .flex-offset-xl-50, [dir=rtl] .offset-xl-50 { - margin-left: auto; - margin-right: 50% - } - - .flex-offset-xl-55, .offset-xl-55 { - margin-left: 55% - } - - [dir=rtl] .flex-offset-xl-55, [dir=rtl] .offset-xl-55 { - margin-left: auto; - margin-right: 55% - } - - .flex-offset-xl-60, .offset-xl-60 { - margin-left: 60% - } - - [dir=rtl] .flex-offset-xl-60, [dir=rtl] .offset-xl-60 { - margin-left: auto; - margin-right: 60% - } - - .flex-offset-xl-65, .offset-xl-65 { - margin-left: 65% - } - - [dir=rtl] .flex-offset-xl-65, [dir=rtl] .offset-xl-65 { - margin-left: auto; - margin-right: 65% - } - - .flex-offset-xl-70, .offset-xl-70 { - margin-left: 70% - } - - [dir=rtl] .flex-offset-xl-70, [dir=rtl] .offset-xl-70 { - margin-left: auto; - margin-right: 70% - } - - .flex-offset-xl-75, .offset-xl-75 { - margin-left: 75% - } - - [dir=rtl] .flex-offset-xl-75, [dir=rtl] .offset-xl-75 { - margin-left: auto; - margin-right: 75% - } - - .flex-offset-xl-80, .offset-xl-80 { - margin-left: 80% - } - - [dir=rtl] .flex-offset-xl-80, [dir=rtl] .offset-xl-80 { - margin-left: auto; - margin-right: 80% - } - - .flex-offset-xl-85, .offset-xl-85 { - margin-left: 85% - } - - [dir=rtl] .flex-offset-xl-85, [dir=rtl] .offset-xl-85 { - margin-left: auto; - margin-right: 85% - } - - .flex-offset-xl-90, .offset-xl-90 { - margin-left: 90% - } - - [dir=rtl] .flex-offset-xl-90, [dir=rtl] .offset-xl-90 { - margin-left: auto; - margin-right: 90% - } - - .flex-offset-xl-95, .offset-xl-95 { - margin-left: 95% - } - - [dir=rtl] .flex-offset-xl-95, [dir=rtl] .offset-xl-95 { - margin-left: auto; - margin-right: 95% - } - - .flex-offset-xl-33, .offset-xl-33 { - margin-left: calc(100% / 3) - } - - .flex-offset-xl-66, .offset-xl-66 { - margin-left: calc(200% / 3) - } - - [dir=rtl] .flex-offset-xl-66, [dir=rtl] .offset-xl-66 { - margin-left: auto; - margin-right: calc(200% / 3) - } - - .layout-align-xl { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch - } - - .layout-align-xl-start, .layout-align-xl-start-center, .layout-align-xl-start-end, .layout-align-xl-start-start, .layout-align-xl-start-stretch { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start - } - - .layout-align-xl-center, .layout-align-xl-center-center, .layout-align-xl-center-end, .layout-align-xl-center-start, .layout-align-xl-center-stretch { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center - } - - .layout-align-xl-end, .layout-align-xl-end-center, .layout-align-xl-end-end, .layout-align-xl-end-start, .layout-align-xl-end-stretch { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end - } - - .layout-align-xl-space-around, .layout-align-xl-space-around-center, .layout-align-xl-space-around-end, .layout-align-xl-space-around-start, .layout-align-xl-space-around-stretch { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around - } - - .layout-align-xl-space-between, .layout-align-xl-space-between-center, .layout-align-xl-space-between-end, .layout-align-xl-space-between-start, .layout-align-xl-space-between-stretch { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between - } - - .layout-align-xl-center-start, .layout-align-xl-end-start, .layout-align-xl-space-around-start, .layout-align-xl-space-between-start, .layout-align-xl-start-start { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-align-content: flex-start; - -ms-flex-line-pack: start; - align-content: flex-start - } - - .layout-align-xl-center-center, .layout-align-xl-end-center, .layout-align-xl-space-around-center, .layout-align-xl-space-between-center, .layout-align-xl-start-center { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - max-width: 100% - } - - .layout-align-xl-center-center > *, .layout-align-xl-end-center > *, .layout-align-xl-space-around-center > *, .layout-align-xl-space-between-center > *, .layout-align-xl-start-center > * { - max-width: 100%; - box-sizing: border-box - } - - .layout-align-xl-center-end, .layout-align-xl-end-end, .layout-align-xl-space-around-end, .layout-align-xl-space-between-end, .layout-align-xl-start-end { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-align-content: flex-end; - -ms-flex-line-pack: end; - align-content: flex-end - } - - .layout-align-xl-center-stretch, .layout-align-xl-end-stretch, .layout-align-xl-space-around-stretch, .layout-align-xl-space-between-stretch, .layout-align-xl-start-stretch { - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch - } - - .flex-xl { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - box-sizing: border-box - } - - .flex-xl-grow { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - box-sizing: border-box - } - - .flex-xl-initial { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-xl-auto { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - box-sizing: border-box - } - - .flex-xl-none { - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - box-sizing: border-box - } - - .flex-xl-noshrink { - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - box-sizing: border-box - } - - .flex-xl-nogrow { - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - box-sizing: border-box - } - - .flex-xl-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex-xl-0, .layout-xl-row > .flex-xl-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 0; - max-height: 100%; - box-sizing: border-box; - min-width: 0 - } - - .layout-column > .flex-xl-0, .layout-xl-column > .flex-xl-0 { - -webkit-flex: 1 1 0; - -ms-flex: 1 1 0; - flex: 1 1 0; - max-width: 100%; - max-height: 0; - box-sizing: border-box; - min-height: 0 - } - - .flex-xl-5, .layout-row > .flex-xl-5, .layout-xl-row > .flex-xl-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 5%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-5, .layout-xl-column > .flex-xl-5 { - -webkit-flex: 1 1 5%; - -ms-flex: 1 1 5%; - flex: 1 1 5%; - max-width: 100%; - max-height: 5%; - box-sizing: border-box - } - - .flex-xl-10, .layout-row > .flex-xl-10, .layout-xl-row > .flex-xl-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 10%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-10, .layout-xl-column > .flex-xl-10 { - -webkit-flex: 1 1 10%; - -ms-flex: 1 1 10%; - flex: 1 1 10%; - max-width: 100%; - max-height: 10%; - box-sizing: border-box - } - - .flex-xl-15, .layout-row > .flex-xl-15, .layout-xl-row > .flex-xl-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 15%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-15, .layout-xl-column > .flex-xl-15 { - -webkit-flex: 1 1 15%; - -ms-flex: 1 1 15%; - flex: 1 1 15%; - max-width: 100%; - max-height: 15%; - box-sizing: border-box - } - - .flex-xl-20, .layout-row > .flex-xl-20, .layout-xl-row > .flex-xl-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 20%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-20, .layout-xl-column > .flex-xl-20 { - -webkit-flex: 1 1 20%; - -ms-flex: 1 1 20%; - flex: 1 1 20%; - max-width: 100%; - max-height: 20%; - box-sizing: border-box - } - - .flex-xl-25, .layout-row > .flex-xl-25, .layout-xl-row > .flex-xl-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-25, .layout-xl-column > .flex-xl-25 { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 100%; - max-height: 25%; - box-sizing: border-box - } - - .flex-xl-30, .layout-row > .flex-xl-30, .layout-xl-row > .flex-xl-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 30%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-30, .layout-xl-column > .flex-xl-30 { - -webkit-flex: 1 1 30%; - -ms-flex: 1 1 30%; - flex: 1 1 30%; - max-width: 100%; - max-height: 30%; - box-sizing: border-box - } - - .flex-xl-35, .layout-row > .flex-xl-35, .layout-xl-row > .flex-xl-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 35%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-35, .layout-xl-column > .flex-xl-35 { - -webkit-flex: 1 1 35%; - -ms-flex: 1 1 35%; - flex: 1 1 35%; - max-width: 100%; - max-height: 35%; - box-sizing: border-box - } - - .flex-xl-40, .layout-row > .flex-xl-40, .layout-xl-row > .flex-xl-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 40%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-40, .layout-xl-column > .flex-xl-40 { - -webkit-flex: 1 1 40%; - -ms-flex: 1 1 40%; - flex: 1 1 40%; - max-width: 100%; - max-height: 40%; - box-sizing: border-box - } - - .flex-xl-45, .layout-row > .flex-xl-45, .layout-xl-row > .flex-xl-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 45%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-45, .layout-xl-column > .flex-xl-45 { - -webkit-flex: 1 1 45%; - -ms-flex: 1 1 45%; - flex: 1 1 45%; - max-width: 100%; - max-height: 45%; - box-sizing: border-box - } - - .flex-xl-50, .layout-row > .flex-xl-50, .layout-xl-row > .flex-xl-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 50%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-50, .layout-xl-column > .flex-xl-50 { - -webkit-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - max-width: 100%; - max-height: 50%; - box-sizing: border-box - } - - .flex-xl-55, .layout-row > .flex-xl-55, .layout-xl-row > .flex-xl-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 55%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-55, .layout-xl-column > .flex-xl-55 { - -webkit-flex: 1 1 55%; - -ms-flex: 1 1 55%; - flex: 1 1 55%; - max-width: 100%; - max-height: 55%; - box-sizing: border-box - } - - .flex-xl-60, .layout-row > .flex-xl-60, .layout-xl-row > .flex-xl-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 60%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-60, .layout-xl-column > .flex-xl-60 { - -webkit-flex: 1 1 60%; - -ms-flex: 1 1 60%; - flex: 1 1 60%; - max-width: 100%; - max-height: 60%; - box-sizing: border-box - } - - .flex-xl-65, .layout-row > .flex-xl-65, .layout-xl-row > .flex-xl-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 65%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-65, .layout-xl-column > .flex-xl-65 { - -webkit-flex: 1 1 65%; - -ms-flex: 1 1 65%; - flex: 1 1 65%; - max-width: 100%; - max-height: 65%; - box-sizing: border-box - } - - .flex-xl-70, .layout-row > .flex-xl-70, .layout-xl-row > .flex-xl-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 70%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-70, .layout-xl-column > .flex-xl-70 { - -webkit-flex: 1 1 70%; - -ms-flex: 1 1 70%; - flex: 1 1 70%; - max-width: 100%; - max-height: 70%; - box-sizing: border-box - } - - .flex-xl-75, .layout-row > .flex-xl-75, .layout-xl-row > .flex-xl-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 75%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-75, .layout-xl-column > .flex-xl-75 { - -webkit-flex: 1 1 75%; - -ms-flex: 1 1 75%; - flex: 1 1 75%; - max-width: 100%; - max-height: 75%; - box-sizing: border-box - } - - .flex-xl-80, .layout-row > .flex-xl-80, .layout-xl-row > .flex-xl-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 80%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-80, .layout-xl-column > .flex-xl-80 { - -webkit-flex: 1 1 80%; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - max-width: 100%; - max-height: 80%; - box-sizing: border-box - } - - .flex-xl-85, .layout-row > .flex-xl-85, .layout-xl-row > .flex-xl-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 85%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-85, .layout-xl-column > .flex-xl-85 { - -webkit-flex: 1 1 85%; - -ms-flex: 1 1 85%; - flex: 1 1 85%; - max-width: 100%; - max-height: 85%; - box-sizing: border-box - } - - .flex-xl-90, .layout-row > .flex-xl-90, .layout-xl-row > .flex-xl-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 90%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-90, .layout-xl-column > .flex-xl-90 { - -webkit-flex: 1 1 90%; - -ms-flex: 1 1 90%; - flex: 1 1 90%; - max-width: 100%; - max-height: 90%; - box-sizing: border-box - } - - .flex-xl-95, .layout-row > .flex-xl-95, .layout-xl-row > .flex-xl-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 95%; - max-height: 100%; - box-sizing: border-box - } - - .layout-column > .flex-xl-95, .layout-xl-column > .flex-xl-95 { - -webkit-flex: 1 1 95%; - -ms-flex: 1 1 95%; - flex: 1 1 95%; - max-width: 100%; - max-height: 95%; - box-sizing: border-box - } - - .flex-xl-100, .layout-column > .flex-xl-100, .layout-row > .flex-xl-100, .layout-xl-column > .flex-xl-100, .layout-xl-row > .flex-xl-100 { - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex-xl-33, .layout-xl-row > .flex-xl-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 33.33%; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex-xl-66, .layout-xl-row > .flex-xl-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 66.66%; - max-height: 100%; - box-sizing: border-box - } - - .layout-row > .flex, .layout-xl-row > .flex { - min-width: 0 - } - - .layout-column > .flex-xl-33, .layout-xl-column > .flex-xl-33 { - -webkit-flex: 1 1 33.33%; - -ms-flex: 1 1 33.33%; - flex: 1 1 33.33%; - max-width: 100%; - max-height: 33.33%; - box-sizing: border-box - } - - .layout-column > .flex-xl-66, .layout-xl-column > .flex-xl-66 { - -webkit-flex: 1 1 66.66%; - -ms-flex: 1 1 66.66%; - flex: 1 1 66.66%; - max-width: 100%; - max-height: 66.66%; - box-sizing: border-box - } - - .layout-column > .flex, .layout-xl-column > .flex { - min-height: 0 - } - - .layout-xl, .layout-xl-column, .layout-xl-row { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex - } - - .layout-xl-column { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column - } - - .layout-xl-row { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row - } - - .hide-gt-lg:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show), .hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show), .hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show), .hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show), .hide-xl:not(.show-xl):not(.show-gt-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show), .hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show) { - display: none - } -} - -@media print { - .hide-print:not(.show-print):not(.show) { - display: none !important - } -} \ No newline at end of file diff --git a/src/main/resources/static/vendor/angular-material/angular-material.min.js b/src/main/resources/static/vendor/angular-material/angular-material.min.js deleted file mode 100644 index 87f1bca..0000000 --- a/src/main/resources/static/vendor/angular-material/angular-material.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v1.1.0-rc2 - */ -!function(e,t,n){"use strict";!function(){t.module("ngMaterial",["ng","ngAnimate","ngAria","material.core","material.core.gestures","material.core.layout","material.core.theming.palette","material.core.theming","material.core.animate","material.components.autocomplete","material.components.bottomSheet","material.components.backdrop","material.components.button","material.components.card","material.components.checkbox","material.components.chips","material.components.content","material.components.datepicker","material.components.dialog","material.components.divider","material.components.fabActions","material.components.fabShared","material.components.fabSpeedDial","material.components.fabToolbar","material.components.gridList","material.components.fabTrigger","material.components.icon","material.components.input","material.components.list","material.components.menuBar","material.components.menu","material.components.progressCircular","material.components.progressLinear","material.components.radioButton","material.components.select","material.components.showHide","material.components.sidenav","material.components.sticky","material.components.slider","material.components.subheader","material.components.swipe","material.components.switch","material.components.tabs","material.components.toast","material.components.toolbar","material.components.virtualRepeat","material.components.tooltip","material.components.whiteframe"])}(),function(){function e(e,t){if(t.has("$swipe")){var n="You are using the ngTouch module. \nAngular Material already has mobile click, tap, and swipe support... \nngTouch is not supported with Angular Material!";e.warn(n)}}function n(e,t){e.decorator("$$rAF",["$delegate",o]),t.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("deep-orange").backgroundPalette("grey")}function o(e){return e.throttle=function(t){var n,o,r,i;return function(){n=arguments,i=this,r=t,o||(o=!0,e(function(){r.apply(i,Array.prototype.slice.call(n)),o=!1}))}},e}t.module("material.core",["ngAnimate","material.core.animate","material.core.layout","material.core.gestures","material.core.theming"]).config(n).run(e),e.$inject=["$log","$injector"],n.$inject=["$provide","$mdThemingProvider"],o.$inject=["$delegate"]}(),function(){function e(){return{restrict:"A",link:n}}function n(e,t,n){var o=n.mdAutoFocus||n.mdAutofocus||n.mdSidenavFocus;e.$watch(o,function(e){t.toggleClass("_md-autofocus",e)})}t.module("material.core").directive("mdAutofocus",e).directive("mdAutoFocus",e).directive("mdSidenavFocus",e)}(),function(){function e(e){function t(e){return n?"webkit"+e.charAt(0).toUpperCase()+e.substring(1):e}var n=/webkit/i.test(e.vendorPrefix);return{KEY_CODE:{COMMA:188,SEMICOLON:186,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,TAB:9,BACKSPACE:8,DELETE:46},CSS:{TRANSITIONEND:"transitionend"+(n?" webkitTransitionEnd":""),ANIMATIONEND:"animationend"+(n?" webkitAnimationEnd":""),TRANSFORM:t("transform"),TRANSFORM_ORIGIN:t("transformOrigin"),TRANSITION:t("transition"),TRANSITION_DURATION:t("transitionDuration"),ANIMATION_PLAY_STATE:t("animationPlayState"),ANIMATION_DURATION:t("animationDuration"),ANIMATION_NAME:t("animationName"),ANIMATION_TIMING:t("animationTimingFunction"),ANIMATION_DIRECTION:t("animationDirection")},MEDIA:{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1279px)","gt-md":"(min-width: 1280px)",lg:"(min-width: 1280px) and (max-width: 1919px)","gt-lg":"(min-width: 1920px)",xl:"(min-width: 1920px)",print:"print"},MEDIA_PRIORITY:["xl","gt-lg","lg","gt-md","md","gt-sm","sm","gt-xs","xs","print"]}}t.module("material.core").factory("$mdConstant",e),e.$inject=["$sniffer"]}(),function(){function e(e,n){function o(){return[].concat(v)}function r(){return v.length}function i(e){return v.length&&e>-1&&e-1}function h(){return v.length?v[0]:null}function f(){return v.length?v[v.length-1]:null}function g(e,o,r,a){r=r||b;for(var d=u(o);;){if(!i(d))return null;var c=d+(e?-1:1),s=null;if(i(c)?s=v[c]:n&&(s=e?f():h(),c=u(s)),null===s||c===a)return null;if(r(s))return s;t.isUndefined(a)&&(a=c),d=c}}var b=function(){return!0};e&&!t.isArray(e)&&(e=Array.prototype.slice.call(e)),n=!!n;var v=e||[];return{items:o,count:r,inRange:i,contains:p,indexOf:u,itemAt:c,findBy:s,add:l,remove:m,first:h,last:f,next:t.bind(null,g,!1),previous:t.bind(null,g,!0),hasPrevious:d,hasNext:a}}t.module("material.core").config(["$provide",function(t){t.decorator("$mdUtil",["$delegate",function(t){return t.iterator=e,t}])}])}(),function(){function e(e,n,o){function r(e){var n=u[e];t.isUndefined(n)&&(n=u[e]=i(e));var o=h[n];return t.isUndefined(o)&&(o=a(n)),o}function i(t){return e.MEDIA[t]||("("!==t.charAt(0)?"("+t+")":t)}function a(e){var t=p[e];return t||(t=p[e]=o.matchMedia(e)),t.addListener(d),h[t.media]=!!t.matches}function d(e){n.$evalAsync(function(){h[e.media]=!!e.matches})}function c(e){return p[e]}function s(t,n){for(var o=0;o-1}var c=!("rtl"==o[0].dir||"rtl"==o[0].body.dir);return 0==arguments.length?c?"ltr":"rtl":void(c&&t.isDefined(r)?t.element(e).css(n,a(r)):!c&&t.isDefined(i)&&t.element(e).css(n,a(i)))},clientRect:function(e,t,n){var o=p(e);t=p(t||o.offsetParent||document.body);var r=o.getBoundingClientRect(),i=n?t.getBoundingClientRect():{left:0,top:0,width:0,height:0};return{left:r.left-i.left,top:r.top-i.top,width:r.width,height:r.height}},offsetRect:function(e,t){return v.clientRect(e,t,!0)},nodesToArray:function(e){e=e||[];for(var t=[],n=0;n
').css("z-index",o);return e.appendChild(r[0]),r.on("wheel",n),r.on("touchmove",n),function(){r.off("wheel"),r.off("touchmove"),r[0].parentNode.removeChild(r[0]),delete v.disableScrollAround._enableScrolling}}function i(){var e=d.parentNode,t=e.style.cssText||"",n=d.style.cssText||"",o=v.scrollTop(d),r=d.clientWidth;return d.scrollHeight>d.clientHeight+1&&(a(d,{position:"fixed",width:"100%",top:-o+"px"}),a(e,{overflowY:"scroll"})),d.clientWidth
").css({width:"100%","z-index":-1,position:"absolute",height:"35px","overflow-y":"scroll"});e.children().css("height","60px"),o[0].body.appendChild(e[0]),this.floatingScrollbars.cached=e[0].offsetWidth==e[0].childNodes[0].offsetWidth,e.remove()}return this.floatingScrollbars.cached},forceFocus:function(t){var n=t[0]||t;document.addEventListener("click",function r(e){e.target===n&&e.$focus&&(n.focus(),e.stopImmediatePropagation(),e.preventDefault(),n.removeEventListener("click",r))},!0);var o=document.createEvent("MouseEvents");o.initMouseEvent("click",!1,!0,e,{},0,0,0,0,!1,!1,!1,!1,0,null),o.$material=!0,o.$focus=!0,n.dispatchEvent(o)},createBackdrop:function(e,t){return a(v.supplant('',[t]))(e)},supplant:function(e,t,n){return n=n||/\{([^\{\}]*)\}/g,e.replace(n,function(e,n){var o=n.split("."),r=t;try{for(var i in o)o.hasOwnProperty(i)&&(r=r[o[i]])}catch(a){r=e}return"string"==typeof r||"number"==typeof r?r:e})},fakeNgModel:function(){return{$fake:!0,$setTouched:t.noop,$setViewValue:function(e){this.$viewValue=e,this.$render(e),this.$viewChangeListeners.forEach(function(e){e()})},$isEmpty:function(e){return 0===(""+e).length},$parsers:[],$formatters:[],$viewChangeListeners:[],$render:t.noop}},debounce:function(e,t,o,r){var a;return function(){var d=o,c=Array.prototype.slice.call(arguments);i.cancel(a),a=i(function(){a=n,e.apply(d,c)},t||10,r)}},throttle:function(e,t){var n;return function(){var o=this,r=arguments,i=v.now();(!n||i-n>t)&&(e.apply(o,r),n=i)}},time:function(e){var t=v.now();return e(),v.now()-t},valueOnUse:function(e,t,n){var o=null,r=Array.prototype.slice.call(arguments),i=r.length>3?r.slice(3):[];Object.defineProperty(e,t,{get:function(){return null===o&&(o=n.apply(e,i)),o}})},nextUid:function(){return""+r++},disconnectScope:function(e){if(e&&e.$root!==e&&!e.$$destroyed){var t=e.$parent;e.$$disconnected=!0,t.$$childHead===e&&(t.$$childHead=e.$$nextSibling),t.$$childTail===e&&(t.$$childTail=e.$$prevSibling),e.$$prevSibling&&(e.$$prevSibling.$$nextSibling=e.$$nextSibling),e.$$nextSibling&&(e.$$nextSibling.$$prevSibling=e.$$prevSibling),e.$$nextSibling=e.$$prevSibling=null}},reconnectScope:function(e){if(e&&e.$root!==e&&e.$$disconnected){var t=e,n=t.$parent;t.$$disconnected=!1,t.$$prevSibling=n.$$childTail,n.$$childHead?(n.$$childTail.$$nextSibling=t,n.$$childTail=t):n.$$childHead=n.$$childTail=t}},getClosest:function(e,n,o){if(e instanceof t.element&&(e=e[0]),n=n.toUpperCase(),o&&(e=e.parentNode),!e)return null;do if(e.nodeName===n)return e;while(e=e.parentNode);return null},elementContains:function(n,o){var r=e.Node&&e.Node.prototype&&Node.prototype.contains,i=r?t.bind(n,n.contains):t.bind(n,function(e){return n===o||!!(16&this.compareDocumentPosition(e))});return i(o)},extractElementByName:function(e,n,o,r){function i(e){return a(e)||(o?d(e):null)}function a(e){if(e)for(var t=0,o=e.length;o>t;t++)if(e[t].nodeName.toLowerCase()===n)return e[t];return null}function d(e){var t;if(e)for(var n=0,o=e.length;o>n;n++){var r=e[n];if(!t)for(var a=0,d=r.childNodes.length;d>a;a++)t=t||i([r.childNodes[a]])}return t}var c=i(e);return!c&&r&&l.warn(v.supplant("Unable to find node '{0}' in element '{1}'.",[n,e[0].outerHTML])),t.element(c||e)},initOptionalProperties:function(e,n,o){o=o||{},t.forEach(e.$$isolateBindings,function(r,i){if(r.optional&&t.isUndefined(e[i])){var a=t.isDefined(n[r.attrName]);e[i]=t.isDefined(o[i])?o[i]:a}})},nextTick:function(e,t,n){function o(){var e=n&&n.$$destroyed,t=e?[]:r.queue,o=e?null:r.digest;r.queue=[],r.timeout=null,r.digest=!1,t.forEach(function(e){e()}),o&&d.$digest()}var r=v.nextTick,a=r.timeout,c=r.queue||[];return c.push(e),null==t&&(t=!0),r.digest=r.digest||t,r.queue=c,a||(r.timeout=i(o,0,!1))},processTemplate:function(e){return g?e:e&&t.isString(e)?e.replace(/\{\{/g,h).replace(/}}/g,f):e},getParentWithPointerEvents:function(e){for(var t=e.parent();b(t,"pointer-events","none");)t=t.parent();return t},getNearestContentElement:function(e){for(var t=e.parent()[0];t&&t!==m[0]&&t!==document.body&&"MD-CONTENT"!==t.nodeName.toUpperCase();)t=t.parentNode;return t},parseAttributeBoolean:function(e,t){return""===e||!!e&&(t===!1||"false"!==e&&"0"!==e)},hasComputedStyle:b};return v.dom.animator=c(v),v}var r=0;t.module("material.core").factory("$mdUtil",o),o.$inject=["$document","$timeout","$compile","$rootScope","$$mdAnimate","$interpolate","$log","$rootElement","$window"],t.element.prototype.focus=t.element.prototype.focus||function(){return this.length&&this[0].focus(),this},t.element.prototype.blur=t.element.prototype.blur||function(){return this.length&&this[0].blur(),this}}(),function(){function e(e,n,o,r){function i(e,o,r){var i=t.element(e)[0]||e;!i||i.hasAttribute(o)&&0!==i.getAttribute(o).length||s(i,o)||(r=t.isString(r)?r.trim():"",r.length?e.attr(o,r):n.warn('ARIA: Attribute "',o,'", required for accessibility, is missing on node:',i))}function a(t,n,o){e(function(){i(t,n,o())})}function d(e,t){var n=c(e)||"",o=n.indexOf(r.startSymbol())>-1;o?a(e,t,function(){return c(e)}):i(e,t,n)}function c(e){return(e.text()||"").trim()}function s(e,t){function n(e){var t=e.currentStyle?e.currentStyle:o.getComputedStyle(e);return"none"===t.display}var r=e.hasChildNodes(),i=!1;if(r)for(var a=e.childNodes,d=0;d").html(o.trim()).contents(),c=r(a);return n={locals:e,element:a,link:function(o){if(e.$scope=o,l){var r=i(l,e,!0);f&&t.extend(r.instance,e);var d=r();a.data("$ngControllerController",d),a.children().data("$ngControllerController",d),m&&(o[m]=d),n.controller=d}return c(o)}}})}}t.module("material.core").service("$mdCompiler",e),e.$inject=["$q","$http","$injector","$compile","$controller","$templateCache"]}(),function(){function n(){}function o(n,o,r){function i(e){return function(t,n){n.distancethis.options.maxDistance&&this.cancel()},onEnd:function(){this.onCancel()}}).handler("drag",{options:{minDistance:6,horizontal:!0,cancelMultiplier:1.5},onStart:function(e){this.state.registeredParent||this.cancel()},onMove:function(e,t){var n,o;e.preventDefault(),this.state.dragPointer?this.dispatchDragMove(e):(this.state.options.horizontal?(n=Math.abs(t.distanceX)>this.state.options.minDistance,o=Math.abs(t.distanceY)>this.state.options.minDistance*this.state.options.cancelMultiplier):(n=Math.abs(t.distanceY)>this.state.options.minDistance,o=Math.abs(t.distanceX)>this.state.options.minDistance*this.state.options.cancelMultiplier),n?(this.state.dragPointer=d(e),l(e,this.state.dragPointer),this.dispatchEvent(e,"$md.dragstart",this.state.dragPointer)):o&&this.cancel())},dispatchDragMove:o.throttle(function(e){this.state.isRunning&&(l(e,this.state.dragPointer),this.dispatchEvent(e,"$md.drag",this.state.dragPointer))}),onEnd:function(e,t){this.state.dragPointer&&(l(e,this.state.dragPointer),this.dispatchEvent(e,"$md.dragend",this.state.dragPointer))}}).handler("swipe",{options:{minVelocity:.65,minDistance:10},onEnd:function(e,t){var n;Math.abs(t.velocityX)>this.state.options.minVelocity&&Math.abs(t.distanceX)>this.state.options.minDistance?(n="left"==t.directionX?"$md.swipeleft":"$md.swiperight",this.dispatchEvent(e,n)):Math.abs(t.velocityY)>this.state.options.minVelocity&&Math.abs(t.distanceY)>this.state.options.minDistance&&(n="up"==t.directionY?"$md.swipeup":"$md.swipedown",this.dispatchEvent(e,n))}})}function r(e){this.name=e,this.state={}}function i(){function n(e,n,o){o=o||u;var r=new t.element.Event(n);r.$material=!0,r.pointer=o,r.srcEvent=e,t.extend(r,{clientX:o.x,clientY:o.y,screenX:o.x,screenY:o.y,pageX:o.x,pageY:o.y,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey}),t.element(o.target).trigger(r)}function o(t,n,o){o=o||u;var r;"click"===n||"mouseup"==n||"mousedown"==n?(r=document.createEvent("MouseEvents"),r.initMouseEvent(n,!0,!0,e,t.detail,o.x,o.y,o.x,o.y,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget||null)):(r=document.createEvent("CustomEvent"),r.initCustomEvent(n,!0,!0,{})),r.$material=!0,r.pointer=o,r.srcEvent=t,o.target.dispatchEvent(r)}var i="undefined"!=typeof e.jQuery&&t.element===e.jQuery;return r.prototype={options:{},dispatchEvent:i?n:o,onStart:t.noop,onMove:t.noop,onEnd:t.noop,onCancel:t.noop,start:function(e,n){if(!this.state.isRunning){var o=this.getNearestParent(e.target),r=o&&o.$mdGesture[this.name]||{};this.state={isRunning:!0,options:t.extend({},this.options,r),registeredParent:o},this.onStart(e,n)}},move:function(e,t){this.state.isRunning&&this.onMove(e,t)},end:function(e,t){this.state.isRunning&&(this.onEnd(e,t),this.state.isRunning=!1)},cancel:function(e,t){this.onCancel(e,t),this.state={}},getNearestParent:function(e){for(var t=e;t;){if((t.$mdGesture||{})[this.name])return t;t=t.parentNode}return null},registerElement:function(e,t){function n(){delete e[0].$mdGesture[o.name],e.off("$destroy",n)}var o=this;return e[0].$mdGesture=e[0].$mdGesture||{},e[0].$mdGesture[this.name]=t||{},e.on("$destroy",n),n}},r}function a(e,n){function o(e){var t=!e.clientX&&!e.clientY;t||e.$material||e.isIonicTap||s(e)||(e.preventDefault(),e.stopPropagation())}function r(e){var t=0===e.clientX&&0===e.clientY;t||e.$material||e.isIonicTap||s(e)?(g=null,"label"==e.target.tagName.toLowerCase()&&(g={x:e.x,y:e.y})):(e.preventDefault(),e.stopPropagation(),g=null)}function i(e,t){var o;for(var r in h)o=h[r],o instanceof n&&("start"===e&&o.cancel(),o[e](t,u))}function a(e){if(!u){var t=+Date.now();p&&!c(e,p)&&t-p.endTime<1500||(u=d(e),i("start",e))}}function m(e){u&&c(e,u)&&(l(e,u),i("move",e))}function f(e){u&&c(e,u)&&(l(e,u),u.endTime=+Date.now(),i("end",e),p=u,u=null)}document.contains||(document.contains=function(e){return document.body.contains(e)}),!b&&e.isHijackingClicks&&(document.addEventListener("click",r,!0),document.addEventListener("mouseup",o,!0),document.addEventListener("mousedown",o,!0),document.addEventListener("focus",o,!0),b=!0);var v="mousedown touchstart pointerdown",E="mousemove touchmove pointermove",$="mouseup mouseleave touchend touchcancel pointerup pointercancel";t.element(document).on(v,a).on(E,m).on($,f).on("$$mdGestureReset",function(){p=u=null})}function d(e){var t=m(e),n={startTime:+Date.now(),target:e.target,type:e.type.charAt(0)};return n.startX=n.x=t.pageX,n.startY=n.y=t.pageY,n}function c(e,t){return e&&t&&e.type.charAt(0)===t.type}function s(e){return g&&g.x==e.x&&g.y==e.y}function l(e,t){var n=m(e),o=t.x=n.pageX,r=t.y=n.pageY;t.distanceX=o-t.startX,t.distanceY=r-t.startY,t.distance=Math.sqrt(t.distanceX*t.distanceX+t.distanceY*t.distanceY),t.directionX=t.distanceX>0?"right":t.distanceX<0?"left":"",t.directionY=t.distanceY>0?"down":t.distanceY<0?"up":"",t.duration=+Date.now()-t.startTime,t.velocityX=t.distanceX/t.duration,t.velocityY=t.distanceY/t.duration}function m(e){return e=e.originalEvent||e,e.touches&&e.touches[0]||e.changedTouches&&e.changedTouches[0]||e}var u,p,h={},f=!1,g=null,b=!1;t.module("material.core.gestures",[]).provider("$mdGesture",n).factory("$$MdGestureHandler",i).run(a),n.prototype={skipClickHijack:function(){return f=!0},$get:["$$MdGestureHandler","$$rAF","$timeout",function(e,t,n){return new o(e,t,n)}]},o.$inject=["$$MdGestureHandler","$$rAF","$timeout"],a.$inject=["$mdGesture","$$MdGestureHandler"]}(),function(){function e(){function e(e){function n(e){return c.optionsFactory=e.options,c.methods=(e.methods||[]).concat(a),s}function o(e,t){return d[e]=t,s}function r(t,n){if(n=n||{},n.methods=n.methods||[],n.options=n.options||function(){return{}},/^cancel|hide|show$/.test(t))throw new Error("Preset '"+t+"' in "+e+" is reserved!");if(n.methods.indexOf("_options")>-1)throw new Error("Method '_options' in "+e+" is reserved!");return c.presets[t]={methods:n.methods.concat(a),optionsFactory:n.options,argOption:n.argOption},s}function i(n,o){function r(e){return e=e||{},e._options&&(e=e._options),m.show(t.extend({},l,e))}function i(e){return m.destroy(e)}function a(t,n){var r={};return r[e]=u,o.invoke(t||function(){return n},{},r)}var s,l,m=n(),u={hide:m.hide,cancel:m.cancel,show:r,destroy:i};return s=c.methods||[],l=a(c.optionsFactory,{}),t.forEach(d,function(e,t){u[t]=e}),t.forEach(c.presets,function(e,n){function o(e){this._options=t.extend({},r,e)}var r=a(e.optionsFactory,{}),i=(e.methods||[]).concat(s);if(t.extend(r,{$type:n}),t.forEach(i,function(e){o.prototype[e]=function(t){return this._options[e]=t,this}}),e.argOption){var d="show"+n.charAt(0).toUpperCase()+n.slice(1);u[d]=function(e){var t=u[n](e);return u.show(t)}}u[n]=function(n){return arguments.length&&e.argOption&&!t.isObject(n)&&!t.isArray(n)?(new o)[e.argOption](n):new o(n)}}),u}var a=["onHide","onShow","onRemove"],d={},c={presets:{}},s={setDefaults:n,addPreset:r,addMethod:o,$get:i};return s.addPreset("build",{methods:["controller","controllerAs","resolve","template","templateUrl","themable","transformTemplate","parent"]}),i.$inject=["$$interimElement","$injector"],s}function o(e,o,r,i,a,d,c,s,l,m,u){return function(){function p(e){e=e||{};var t=new b(e||{}),n=!e.skipHide&&$.length?v.hide():o.when(!0);return n["finally"](function(){$.push(t),t.show()["catch"](function(e){return e})}),t.deferred.promise}function h(e,t){function r(n){return n.remove(e,!1,t||{})["catch"](function(e){return e}),n.deferred.promise}if(!$.length)return o.when(e);if(t=t||{},t.closeAll){var i=o.all($.reverse().map(r));return $=[],i}if(t.closeTo!==n)return o.all($.splice(t.closeTo).map(r));var a=$.pop();return r(a)}function f(e,t){var n=$.pop();return n?(n.remove(e,!0,t||{})["catch"](function(e){return e}),n.deferred.promise):o.when(e)}function g(e){var n=e?null:$.shift(),r=t.element(e).length?t.element(e)[0].parentNode:null;if(r){var i=$.filter(function(e){var t=e.options.element[0];return t===r});i.length>0&&(n=i[0],$.splice($.indexOf(n),1))}return n?n.remove(E,!1,{$destroy:!0}):o.when(E)}function b(u){function p(){return o(function(e,t){function n(e){C.deferred.reject(e),t(e)}g(u).then(function(t){A=b(t,u),k=M(A,u,t.controller).then(e,n)},n)})}function h(e,n,r){function i(e){C.deferred.resolve(e)}function a(e){C.deferred.reject(e)}return A?(u=t.extend(u||{},r||{}),u.cancelAutoHide&&u.cancelAutoHide(),u.element.triggerHandler("$mdInterimElementRemove"),u.$destroy===!0?y(u.element,u).then(function(){n&&a(e)||i(e)}):(o.when(k)["finally"](function(){y(u.element,u).then(function(){n&&a(e)||i(e)},a)}),C.deferred.promise)):o.when(!1)}function f(e){return e=e||{},e.template&&(e.template=s.processTemplate(e.template)),t.extend({preserveScope:!1,cancelAutoHide:t.noop,scope:e.scope||i.$new(e.isolateScope),onShow:function(e,t,n){return c.enter(t,n.parent)},onRemove:function(e,t){return t&&c.leave(t)||o.when()}},e)}function g(e){var t=e.skipCompile?null:l.compile(e);return t||o(function(t){t({locals:{},link:function(){return e.element}})})}function b(e,n){t.extend(e.locals,n);var o=e.link(n.scope);return n.element=o,n.parent=E(o,n),n.themable&&m(o),o}function E(n,o){var r=o.parent;if(r=t.isFunction(r)?r(o.scope,n,o):t.isString(r)?t.element(e[0].querySelector(r)):t.element(r),!(r||{}).length){var i;return d[0]&&d[0].querySelector&&(i=d[0].querySelector(":not(svg) > body")),i||(i=d[0]),"#comment"==i.nodeName&&(i=e[0].body),t.element(i)}return r}function $(){var e,o=t.noop;u.hideDelay&&(e=a(v.hide,u.hideDelay),o=function(){a.cancel(e)}),u.cancelAutoHide=function(){o(),u.cancelAutoHide=n}}function M(e,n,r){var i=n.onShowing||t.noop,a=n.onComplete||t.noop;return i(n.scope,e,n,r),o(function(t,i){try{o.when(n.onShow(n.scope,e,n,r)).then(function(){a(n.scope,e,n),$(),t(e)},i)}catch(d){i(d.message)}})}function y(e,n){var o=n.onRemoving||t.noop;return r(function(t,i){try{var a=r.when(n.onRemove(n.scope,e,n)||!0);o(e,a),1==n.$destroy?t(e):a.then(function(){!n.preserveScope&&n.scope&&n.scope.$destroy(),t(e)},i)}catch(d){i(d.message)}})}var C,A,k=o.when(!0);return u=f(u),C={options:u,deferred:o.defer(),show:p,remove:h}}var v,E=!1,$=[];return v={show:p,hide:h,cancel:f,destroy:g,$injector_:u}}}return e.$get=o,o.$inject=["$document","$q","$$q","$rootScope","$timeout","$rootElement","$animate","$mdUtil","$mdCompiler","$mdTheming","$injector"],e}t.module("material.core").provider("$$interimElement",e)}(),function(){!function(){function e(e){function a(e){return e.replace(c,"").replace(s,function(e,t,n,o){return o?n.toUpperCase():n})}var c=/^((?:x|data)[\:\-_])/i,s=/([\:\-\_]+(.))/g,l=["","xs","gt-xs","sm","gt-sm","md","gt-md","lg","gt-lg","xl","print"],m=["layout","flex","flex-order","flex-offset","layout-align"],u=["show","hide","layout-padding","layout-margin"];t.forEach(l,function(n){t.forEach(m,function(t){var o=n?t+"-"+n:t;e.directive(a(o),r(o))}),t.forEach(u,function(t){var o=n?t+"-"+n:t;e.directive(a(o),i(o))})}),e.directive("mdLayoutCss",n).directive("ngCloak",o("ng-cloak")).directive("layoutWrap",i("layout-wrap")).directive("layoutNowrap",i("layout-nowrap")).directive("layoutNoWrap",i("layout-no-wrap")).directive("layoutFill",i("layout-fill")).directive("layoutLtMd",d("layout-lt-md",!0)).directive("layoutLtLg",d("layout-lt-lg",!0)).directive("flexLtMd",d("flex-lt-md",!0)).directive("flexLtLg",d("flex-lt-lg",!0)).directive("layoutAlignLtMd",d("layout-align-lt-md")).directive("layoutAlignLtLg",d("layout-align-lt-lg")).directive("flexOrderLtMd",d("flex-order-lt-md")).directive("flexOrderLtLg",d("flex-order-lt-lg")).directive("offsetLtMd",d("flex-offset-lt-md")).directive("offsetLtLg",d("flex-offset-lt-lg")).directive("hideLtMd",d("hide-lt-md")).directive("hideLtLg",d("hide-lt-lg")).directive("showLtMd",d("show-lt-md")).directive("showLtLg",d("show-lt-lg"))}function n(){return{restrict:"A",priority:"900",compile:function(e,n){return A.enabled=!1,t.noop}}}function o(e){return["$timeout",function(n){return{restrict:"A",priority:-10,compile:function(o){return A.enabled?(o.addClass(e),function(t,o){n(function(){o.removeClass(e)},10,!1)}):t.noop}}}]}function r(e){function n(t,n,o){var r=a(n,e,o),i=o.$observe(o.$normalize(e),r);r(u(e,o,"")),t.$on("$destroy",function(){i()})}return["$mdUtil","$interpolate","$log",function(o,r,i){return f=o,g=r,b=i,{restrict:"A",compile:function(o,r){var i;return A.enabled&&(c(e,r,o,b),s(e,u(e,r,""),l(o,e,r)),i=n),i||t.noop}}}]}function i(e){function n(t,n){n.addClass(e)}return["$mdUtil","$interpolate","$log",function(o,r,i){return f=o,g=r,b=i,{restrict:"A",compile:function(o,r){var i;return A.enabled&&(s(e,u(e,r,""),l(o,e,r)),n(null,o),i=n),i||t.noop}}}]}function a(e,n){var o;return function(r){var i=s(n,r||"");t.isDefined(i)&&(o&&e.removeClass(o),o=i?n+"-"+i.replace(E,"-"):n,e.addClass(o))}}function d(e){var n=e.split("-");return["$log",function(o){return o.warn(e+"has been deprecated. Please use a `"+n[0]+"-gt-` variant."),t.noop}]}function c(e,t,n,o){var r,i,a,d=n[0].nodeName.toLowerCase();switch(e.replace(v,"")){case"flex":"md-button"!=d&&"fieldset"!=d||(i="<"+d+" "+e+">",a="https://github.com/philipwalton/flexbugs#9-some-html-elements-cant-be-flex-containers",r="Markup '{0}' may not work as expected in IE Browsers. Consult '{1}' for details.",o.warn(f.supplant(r,[i,a])))}}function s(e,n,o){var r=n;if(!m(n)){switch(e.replace(v,"")){case"layout":p(n,M)||(n=M[0]);break;case"flex":p(n,$)||isNaN(n)&&(n="");break;case"flex-offset":case"flex-order":n&&!isNaN(+n)||(n="0");break;case"layout-align":var i=h(n);n=f.supplant("{main}-{cross}",i);break;case"layout-padding":case"layout-margin":case"layout-fill":case"layout-wrap":case"layout-nowrap":case"layout-nowrap":n=""}n!=r&&(o||t.noop)(n)}return n}function l(e,t,n){return function(e){m(e)||(n[n.$normalize(t)]=e)}}function m(e){return(e||"").indexOf(g.startSymbol())>-1}function u(e,t,n){var o=t.$normalize(e);return t[o]?t[o].replace(E,"-"):n||null}function p(e,t,n){e=n&&e?e.replace(E,n):e;var o=!1;return e&&t.forEach(function(t){t=n?t.replace(E,n):t,o=o||t===e}),o}function h(e){var t,n={main:"start",cross:"stretch"};return e=e||"",0!=e.indexOf("-")&&0!=e.indexOf(" ")||(e="none"+e),t=e.toLowerCase().trim().replace(E,"-").split("-"),t.length&&"space"===t[0]&&(t=[t[0]+"-"+t[1],t[2]]),t.length>0&&(n.main=t[0]||n.main),t.length>1&&(n.cross=t[1]||n.cross),y.indexOf(n.main)<0&&(n.main="start"),C.indexOf(n.cross)<0&&(n.cross="stretch"),n}var f,g,b,v=/(-gt)?-(sm|md|lg|print)/g,E=/\s+/g,$=["grow","initial","auto","none","noshrink","nogrow"],M=["row","column"],y=["","start","center","end","stretch","space-around","space-between"],C=["","start","center","end","stretch"],A={enabled:!0,breakpoints:[]};e(t.module("material.core.layout",["ng"]))}()}(),function(){function e(e,n){function o(e){return e&&""!==e}var r,i=[],a={};return r={notFoundError:function(t){e.error("No instance found for handle",t); -},getInstances:function(){return i},get:function(e){if(!o(e))return null;var t,n,r;for(t=0,n=i.length;n>t;t++)if(r=i[t],r.$$mdHandle===e)return r;return null},register:function(e,n){function o(){var t=i.indexOf(e);-1!==t&&i.splice(t,1)}function r(){var t=a[n];t&&(t.resolve(e),delete a[n])}return n?(e.$$mdHandle=n,i.push(e),r(),o):t.noop},when:function(e){if(o(e)){var t=n.defer(),i=r.get(e);return i?t.resolve(i):a[e]=t,t.promise}return n.reject("Invalid `md-component-id` value.")}}}t.module("material.core").factory("$mdComponentRegistry",e),e.$inject=["$log","$q"]}(),function(){!function(){function e(e){function n(e){return e.hasClass("md-icon-button")?{isMenuItem:e.hasClass("md-menu-item"),fitRipple:!0,center:!0}:{isMenuItem:e.hasClass("md-menu-item"),dimBackground:!0}}return{attach:function(o,r,i){return i=t.extend(n(r),i),e.attach(o,r,i)}}}t.module("material.core").factory("$mdButtonInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!0,dimBackground:!1,fitRipple:!0},r))}return{attach:n}}t.module("material.core").factory("$mdCheckboxInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}return{attach:n}}t.module("material.core").factory("$mdListInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){function e(e,n){return{controller:t.noop,link:function(t,o,r){r.hasOwnProperty("mdInkRippleCheckbox")?n.attach(t,o):e.attach(t,o)}}}function n(e){function n(n,r,i){return r.controller("mdNoInk")?t.noop:e.instantiate(o,{$scope:n,$element:r,rippleOptions:i})}return{attach:n}}function o(e,n,o,r,i,a){this.$window=r,this.$timeout=i,this.$mdUtil=a,this.$scope=e,this.$element=n,this.options=o,this.mousedown=!1,this.ripples=[],this.timeout=null,this.lastRipple=null,a.valueOnUse(this,"container",this.createContainer),this.$element.addClass("md-ink-ripple"),(n.controller("mdInkRipple")||{}).createRipple=t.bind(this,this.createRipple),(n.controller("mdInkRipple")||{}).setColor=t.bind(this,this.color),this.bindEvents()}function r(e,n){(e.mousedown||e.lastRipple)&&(e.mousedown=!1,e.$mdUtil.nextTick(t.bind(e,n),!1))}function i(){return{controller:t.noop}}t.module("material.core").factory("$mdInkRipple",n).directive("mdInkRipple",e).directive("mdNoInk",i).directive("mdNoBar",i).directive("mdNoStretch",i);var a=450;e.$inject=["$mdButtonInkRipple","$mdCheckboxInkRipple"],n.$inject=["$injector"],o.$inject=["$scope","$element","rippleOptions","$window","$timeout","$mdUtil"],o.prototype.color=function(e){function n(){var e=o.options&&o.options.colorElement?o.options.colorElement:[],t=e.length?e[0]:o.$element[0];return t?o.$window.getComputedStyle(t).color:"rgb(0,0,0)"}var o=this;return t.isDefined(e)&&(o._color=o._parseColor(e)),o._color||o._parseColor(o.inkRipple())||o._parseColor(n())},o.prototype.calculateColor=function(){return this.color()},o.prototype._parseColor=function(e,t){function n(e){var t="#"===e[0]?e.substr(1):e,n=t.length/3,o=t.substr(0,n),r=t.substr(n,n),i=t.substr(2*n);return 1===n&&(o+=o,r+=r,i+=i),"rgba("+parseInt(o,16)+","+parseInt(r,16)+","+parseInt(i,16)+",0.1)"}function o(e){return e.replace(")",", 0.1)").replace("(","a(")}return t=t||1,e?0===e.indexOf("rgba")?e.replace(/\d?\.?\d*\s*\)\s*$/,(.1*t).toString()+")"):0===e.indexOf("rgb")?o(e):0===e.indexOf("#")?n(e):void 0:void 0},o.prototype.bindEvents=function(){this.$element.on("mousedown",t.bind(this,this.handleMousedown)),this.$element.on("mouseup touchend",t.bind(this,this.handleMouseup)),this.$element.on("mouseleave",t.bind(this,this.handleMouseup)),this.$element.on("touchmove",t.bind(this,this.handleTouchmove))},o.prototype.handleMousedown=function(e){if(!this.mousedown)if(e.hasOwnProperty("originalEvent")&&(e=e.originalEvent),this.mousedown=!0,this.options.center)this.createRipple(this.container.prop("clientWidth")/2,this.container.prop("clientWidth")/2);else if(e.srcElement!==this.$element[0]){var t=this.$element[0].getBoundingClientRect(),n=e.clientX-t.left,o=e.clientY-t.top;this.createRipple(n,o)}else this.createRipple(e.offsetX,e.offsetY)},o.prototype.handleMouseup=function(){r(this,this.clearRipples)},o.prototype.handleTouchmove=function(){r(this,this.deleteRipples)},o.prototype.deleteRipples=function(){for(var e=0;e');return this.$element.append(e),e},o.prototype.clearTimeout=function(){this.timeout&&(this.$timeout.cancel(this.timeout),this.timeout=null)},o.prototype.isRippleAllowed=function(){var e=this.$element[0];do{if(!e.tagName||"BODY"===e.tagName)break;if(e&&t.isFunction(e.hasAttribute)){if(e.hasAttribute("disabled"))return!1;if("false"===this.inkRipple()||"0"===this.inkRipple())return!1}}while(e=e.parentNode);return!0},o.prototype.inkRipple=function(){return this.$element.attr("md-ink-ripple")},o.prototype.createRipple=function(e,n){function o(e){return e?e.replace("rgba","rgb").replace(/,[^\),]+\)/,")"):"rgb(0,0,0)"}function r(e,t,n){return e?Math.max(t,n):Math.sqrt(Math.pow(t,2)+Math.pow(n,2))}if(this.isRippleAllowed()){var i=this,d=t.element('
'),c=this.$element.prop("clientWidth"),s=this.$element.prop("clientHeight"),l=2*Math.max(Math.abs(c-e),e),m=2*Math.max(Math.abs(s-n),n),u=r(this.options.fitRipple,l,m),p=this.calculateColor();d.css({left:e+"px",top:n+"px",background:"black",width:u+"px",height:u+"px",backgroundColor:o(p),borderColor:o(p)}),this.lastRipple=d,this.clearTimeout(),this.timeout=this.$timeout(function(){i.clearTimeout(),i.mousedown||i.fadeInComplete(d)},.35*a,!1),this.options.dimBackground&&this.container.css({backgroundColor:p}),this.container.append(d),this.ripples.push(d),d.addClass("md-ripple-placed"),this.$mdUtil.nextTick(function(){d.addClass("md-ripple-scaled md-ripple-active"),i.$timeout(function(){i.clearRipples()},a,!1)},!1)}},o.prototype.fadeInComplete=function(e){this.lastRipple===e?this.timeout||this.mousedown||this.removeRipple(e):this.removeRipple(e)},o.prototype.removeRipple=function(e){var t=this,n=this.ripples.indexOf(e);0>n||(this.ripples.splice(this.ripples.indexOf(e),1),e.removeClass("md-ripple-active"),0===this.ripples.length&&this.container.css({backgroundColor:""}),this.$timeout(function(){t.fadeOutComplete(e)},a,!1))},o.prototype.fadeOutComplete=function(e){e.remove(),this.lastRipple=null}}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}return{attach:n}}t.module("material.core").factory("$mdTabInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){t.module("material.core.theming.palette",[]).constant("$mdColorPalette",{red:{50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100",contrastStrongLightColors:"400 500 600 700 A200 A400 A700"},pink:{50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"500 600 A200 A400 A700"},purple:{50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400 A200 A400 A700"},"deep-purple":{50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",A100:"#b388ff",A200:"#7c4dff",A400:"#651fff",A700:"#6200ea",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400 A200"},indigo:{50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400 A200 A400"},blue:{50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100",contrastStrongLightColors:"500 600 700 A200 A400 A700"},"light-blue":{50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea",contrastDefaultColor:"dark",contrastLightColors:"600 700 800 900 A700",contrastStrongLightColors:"600 700 800 A700"},cyan:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastDefaultColor:"dark",contrastLightColors:"700 800 900",contrastStrongLightColors:"700 800 900"},teal:{50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",A100:"#a7ffeb",A200:"#64ffda",A400:"#1de9b6",A700:"#00bfa5",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},green:{50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},"light-green":{50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",A100:"#ccff90",A200:"#b2ff59",A400:"#76ff03",A700:"#64dd17",contrastDefaultColor:"dark",contrastLightColors:"700 800 900",contrastStrongLightColors:"700 800 900"},lime:{50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",A100:"#f4ff81",A200:"#eeff41",A400:"#c6ff00",A700:"#aeea00",contrastDefaultColor:"dark",contrastLightColors:"900",contrastStrongLightColors:"900"},yellow:{50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",A100:"#ffff8d",A200:"#ffff00",A400:"#ffea00",A700:"#ffd600",contrastDefaultColor:"dark"},amber:{50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",A100:"#ffe57f",A200:"#ffd740",A400:"#ffc400",A700:"#ffab00",contrastDefaultColor:"dark"},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},"deep-orange":{50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200",contrastStrongLightColors:"500 600 700 800 900 A400 A700"},brown:{50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037",contrastDefaultColor:"light",contrastDarkColors:"50 100 200",contrastStrongLightColors:"300 400"},grey:{50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#ffffff",A200:"#000000",A400:"#303030",A700:"#616161",contrastDefaultColor:"dark",contrastLightColors:"600 700 800 900"},"blue-grey":{50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 700",contrastStrongLightColors:"400 500 700"}})}(),function(){function e(e){function o(e,t){return t=t||{},m[e]=a(e,t),v}function r(e,n){return a(e,t.extend({},m[e]||{},n))}function a(e,t){var n=k.filter(function(e){return!t[e]});if(n.length)throw new Error("Missing colors %1 in palette %2!".replace("%1",n.join(", ")).replace("%2",e));return t}function c(e,n){if(u[e])return u[e];n=n||"default";var o="string"==typeof n?u[n]:n,r=new s(e);return o&&t.forEach(o.colors,function(e,n){r.colors[n]={name:e.name,hues:t.extend({},e.hues)}}),u[e]=r,r}function s(e){function n(e){if(e=0===arguments.length?!0:!!e,e!==o.isDark){o.isDark=e,o.foregroundPalette=o.isDark?f:h,o.foregroundShadow=o.isDark?g:b;var n=o.isDark?A:C,r=o.isDark?C:A;return t.forEach(n,function(e,t){var n=o.colors[t],i=r[t];if(n)for(var a in n.hues)n.hues[a]===i[a]&&(n.hues[a]=e[a])}),o}}var o=this;o.name=e,o.colors={},o.dark=n,n(!1),M.forEach(function(e){var n=(o.isDark?A:C)[e];o[e+"Palette"]=function(r,i){var a=o.colors[e]={name:r,hues:t.extend({},n,i)};return Object.keys(a.hues).forEach(function(e){if(!n[e])throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4".replace("%1",e).replace("%2",o.name).replace("%3",r).replace("%4",Object.keys(n).join(", ")))}),Object.keys(a.hues).map(function(e){return a.hues[e]}).forEach(function(t){if(-1==k.indexOf(t))throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5".replace("%1",t).replace("%2",o.name).replace("%3",e).replace("%4",r).replace("%5",k.join(", ")))}),o},o[e+"Color"]=function(){var t=Array.prototype.slice.call(arguments);return console.warn("$mdThemingProviderTheme."+e+"Color() has been deprecated. Use $mdThemingProviderTheme."+e+"Palette() instead."),o[e+"Palette"].apply(o,t)}})}function p(e,o){function r(e){return e===n||""===e?!0:a.THEMES[e]!==n}function i(n,i){function a(){return c=i.controller("mdTheme")||n.data("$mdThemeController"),c&&c.$mdTheme||("default"==E?"":E)}function d(e){if(e){r(e)||o.warn("Attempted to use unregistered theme '"+e+"'. Register it with $mdThemingProvider.theme().");var t=n.data("$mdThemeName");t&&n.removeClass("md-"+t+"-theme"),n.addClass("md-"+e+"-theme"),n.data("$mdThemeName",e),c&&n.data("$mdThemeController",c)}}var c=i.controller("mdTheme"),s=n.attr("md-theme-watch"),l=($||t.isDefined(s))&&"false"!=s;d(a()),n.on("$destroy",l?e.$watch(a,d):t.noop)}var a=function(t,o){o===n&&(o=t,t=n),t===n&&(t=e),a.inherit(o,o)};return a.THEMES=t.extend({},u),a.inherit=i,a.registered=r,a.defaultTheme=function(){return E},a.generateTheme=function(e){d(e,w)},a}m={},u={};var v,E="default",$=!1;return t.extend(m,e),p.$inject=["$rootScope","$log"],v={definePalette:o,extendPalette:r,theme:c,setNonce:function(e){w=e},setDefaultTheme:function(e){E=e},alwaysWatchTheme:function(e){$=e},generateThemesOnDemand:function(e){T=e},$get:p,_LIGHT_DEFAULT_HUES:C,_DARK_DEFAULT_HUES:A,_PALETTES:m,_THEMES:u,_parseRules:i,_rgba:l}}function o(e,t,n){return{priority:100,link:{pre:function(o,r,i){var a={$setTheme:function(t){e.registered(t)||n.warn("attempted to use unregistered theme '"+t+"'"),a.$mdTheme=t}};r.data("$mdThemeController",a),a.$setTheme(t(i.mdTheme)(o)),i.$observe("mdTheme",a.$setTheme)}}}}function r(e){return e}function i(e,n,o){c(e,n),o=o.replace(/THEME_NAME/g,e.name);var r=[],i=e.colors[n],a=new RegExp(".md-"+e.name+"-theme","g"),d=new RegExp("('|\")?{{\\s*("+n+")-(color|contrast)-?(\\d\\.?\\d*)?\\s*}}(\"|')?","g"),s=/'?"?\{\{\s*([a-zA-Z]+)-(A?\d+|hue\-[0-3]|shadow)-?(\d\.?\d*)?(contrast)?\s*\}\}'?"?/g,u=m[i.name];return o=o.replace(s,function(t,n,o,r,i){return"foreground"===n?"shadow"==o?e.foregroundShadow:e.foregroundPalette[o]||e.foregroundPalette[1]:(0===o.indexOf("hue")&&(o=e.colors[n].hues[o]),l((m[e.colors[n].name][o]||"")[i?"contrast":"value"],r))}),t.forEach(i.hues,function(t,n){var i=o.replace(d,function(e,n,o,r,i){return l(u[t]["color"===r?"value":"contrast"],i)});if("default"!==n&&(i=i.replace(a,".md-"+e.name+"-theme.md-"+n)),"default"==e.name){var c=/((?:(?:(?: |>|\.|\w|-|:|\(|\)|\[|\]|"|'|=)+) )?)((?:(?:\w|\.|-)+)?)\.md-default-theme((?: |>|\.|\w|-|:|\(|\)|\[|\]|"|'|=)*)/g;i=i.replace(c,function(e,t,n,o){return e+", "+t+n+o})}r.push(i)}),r}function a(e){function n(e,n){var o=e.contrastDefaultColor,r=e.contrastLightColors||[],i=e.contrastStrongLightColors||[],a=e.contrastDarkColors||[];"string"==typeof r&&(r=r.split(" ")),"string"==typeof i&&(i=i.split(" ")),"string"==typeof a&&(a=a.split(" ")),delete e.contrastDefaultColor,delete e.contrastLightColors,delete e.contrastStrongLightColors,delete e.contrastDarkColors,t.forEach(e,function(n,d){function c(){return"light"===o?a.indexOf(d)>-1?v:i.indexOf(d)>-1?$:E:r.indexOf(d)>-1?i.indexOf(d)>-1?$:E:v}if(!t.isObject(n)){var l=s(n);if(!l)throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.".replace("%1",n).replace("%2",e.name).replace("%3",d));e[d]={value:l,contrast:c()}}})}var o=document.head,r=o?o.firstElementChild:null,i=e.has("$MD_THEME_CSS")?e.get("$MD_THEME_CSS"):"";if(r&&0!==i.length){t.forEach(m,n);var a=i.split(/\}(?!(\}|'|"|;))/).filter(function(e){return e&&e.length}).map(function(e){return e.trim()+"}"}),c=new RegExp("md-("+M.join("|")+")","g");M.forEach(function(e){_[e]=""}),a.forEach(function(e){for(var t,n=(e.match(c),0);t=M[n];n++)if(e.indexOf(".md-"+t)>-1)return _[t]+=e;for(n=0;t=M[n];n++)if(e.indexOf(t)>-1)return _[t]+=e;return _[y]+=e}),T||t.forEach(u,function(e){p[e.name]||d(e.name,w)})}}function d(e,t){var n=u[e],o=document.head,r=o?o.firstElementChild:null;p[e]||(M.forEach(function(e){for(var a=i(n,e,_[e]);a.length;){var d=a.shift();if(d){var c=document.createElement("style");c.setAttribute("md-theme-style",""),t&&c.setAttribute("nonce",t),c.appendChild(document.createTextNode(d)),o.insertBefore(c,r)}}}),n.colors.primary.name==n.colors.accent.name&&console.warn("$mdThemingProvider: Using the same palette for primary and accent. This violates the material design spec."),p[n.name]=!0)}function c(e,t){if(!m[(e.colors[t]||{}).name])throw new Error("You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3".replace("%1",e.name).replace("%2",t).replace("%3",Object.keys(m).join(", ")))}function s(e){if(t.isArray(e)&&3==e.length)return e;if(/^rgb/.test(e))return e.replace(/(^\s*rgba?\(|\)\s*$)/g,"").split(",").map(function(e,t){return 3==t?parseFloat(e,10):parseInt(e,10)});if("#"==e.charAt(0)&&(e=e.substring(1)),/^([a-fA-F0-9]{3}){1,2}$/g.test(e)){var n=e.length/3,o=e.substr(0,n),r=e.substr(n,n),i=e.substr(2*n);return 1===n&&(o+=o,r+=r,i+=i),[parseInt(o,16),parseInt(r,16),parseInt(i,16)]}}function l(e,n){return e?(4==e.length&&(e=t.copy(e),n?e.pop():n=e.pop()),n&&("number"==typeof n||"string"==typeof n&&n.length)?"rgba("+e.join(",")+","+n+")":"rgb("+e.join(",")+")"):"rgb('0,0,0')"}t.module("material.core.theming",["material.core.theming.palette"]).directive("mdTheme",o).directive("mdThemable",r).provider("$mdTheming",e).run(a);var m,u,p={},h={name:"dark",1:"rgba(0,0,0,0.87)",2:"rgba(0,0,0,0.54)",3:"rgba(0,0,0,0.38)",4:"rgba(0,0,0,0.12)"},f={name:"light",1:"rgba(255,255,255,1.0)",2:"rgba(255,255,255,0.7)",3:"rgba(255,255,255,0.5)",4:"rgba(255,255,255,0.12)"},g="1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)",b="",v=s("rgba(0,0,0,0.87)"),E=s("rgba(255,255,255,0.87)"),$=s("rgb(255,255,255)"),M=["primary","accent","warn","background"],y="primary",C={accent:{"default":"A200","hue-1":"A100","hue-2":"A400","hue-3":"A700"},background:{"default":"50","hue-1":"A100","hue-2":"100","hue-3":"300"}},A={background:{"default":"A400","hue-1":"800","hue-2":"900","hue-3":"A200"}};M.forEach(function(e){var t={"default":"500","hue-1":"300","hue-2":"800","hue-3":"A100"};C[e]||(C[e]=t),A[e]||(A[e]=t)});var k=["50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700"],T=!1,w=null;e.$inject=["$mdColorPalette"],o.$inject=["$mdTheming","$interpolate","$log"],r.$inject=["$mdTheming"];var _={};a.$inject=["$injector"]}(),function(){function e(e,n,o,r,i){var a;return a={translate3d:function(e,t,n,o){function r(n){return i(e,{to:n||t,addClass:o.transitionOutClass,removeClass:o.transitionInClass}).start()}return i(e,{from:t,to:n,addClass:o.transitionInClass}).start().then(function(){return r})},waitTransitionEnd:function(e,t){var i=3e3;return n(function(n,a){function d(t){t&&t.target!==e[0]||(t&&o.cancel(c),e.off(r.CSS.TRANSITIONEND,d),n())}t=t||{};var c=o(d,t.timeout||i);e.on(r.CSS.TRANSITIONEND,d)})},calculateZoomToOrigin:function(n,o){function r(){var e=n?n.parent():null,t=e?e.parent():null;return t?a.clientRect(t):null}var i=o.element,d=o.bounds,c="translate3d( {centerX}px, {centerY}px, 0 ) scale( {scaleX}, {scaleY} )",s=t.bind(null,e.supplant,c),l=s({centerX:0,centerY:0,scaleX:.5,scaleY:.5});if(i||d){var m=i?a.clientRect(i)||r():a.copyRect(d),u=a.copyRect(n[0].getBoundingClientRect()),p=a.centerPointFor(u),h=a.centerPointFor(m);l=s({centerX:h.x-p.x,centerY:h.y-p.y,scaleX:Math.round(100*Math.min(.5,m.width/u.width))/100,scaleY:Math.round(100*Math.min(.5,m.height/u.height))/100})}return l},toCss:function(e){function n(e,n,r){t.forEach(n.split(" "),function(e){o[e]=r})}var o={},i="left top right bottom width height x y min-width min-height max-width max-height";return t.forEach(e,function(e,a){if(!t.isUndefined(e))if(i.indexOf(a)>=0)o[a]=e+"px";else switch(a){case"transition":n(a,r.CSS.TRANSITION,e);break;case"transform":n(a,r.CSS.TRANSFORM,e);break;case"transformOrigin":n(a,r.CSS.TRANSFORM_ORIGIN,e)}}),o},toTransformCss:function(e,n,o){var i={};return t.forEach(r.CSS.TRANSFORM.split(" "),function(t){i[t]=e}),n&&(o=o||"all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important",i.transition=o),i},copyRect:function(e,n){return e?(n=n||{},t.forEach("left top right bottom width height".split(" "),function(t){n[t]=Math.round(e[t])}),n.width=n.width||n.right-n.left,n.height=n.height||n.bottom-n.top,n):null},clientRect:function(e){var n=t.element(e)[0].getBoundingClientRect(),o=function(e){return e&&e.width>0&&e.height>0};return o(n)?a.copyRect(n):null},centerPointFor:function(e){return e?{x:Math.round(e.left+e.width/2),y:Math.round(e.top+e.height/2)}:{x:0,y:0}}}}t.module("material.core").factory("$$mdAnimate",["$q","$timeout","$mdConstant","$animateCss",function(t,n,o,r){return function(i){return e(i,t,n,o,r)}}])}(),function(){t.version.minor>=4?t.module("material.core.animate",[]):!function(){function e(e){return e.replace(/-[a-z]/g,function(e){return e.charAt(1).toUpperCase()})}var n=t.forEach,o=t.isDefined(document.documentElement.style.WebkitAppearance),r=o?"-webkit-":"",i=(o?"webkitTransitionEnd ":"")+"transitionend",a=(o?"webkitAnimationEnd ":"")+"animationend",d=["$document",function(e){return function(){return e[0].body.clientWidth+1}}],c=["$$rAF",function(e){return function(){var t=!1;return e(function(){t=!0}),function(n){t?n():e(n)}}}],s=["$q","$$rAFMutex",function(e,o){function r(e){this.setHost(e),this._doneCallbacks=[],this._runInAnimationFrame=o(),this._state=0}var i=0,a=1,d=2;return r.prototype={setHost:function(e){this.host=e||{}},done:function(e){this._state===d?e():this._doneCallbacks.push(e)},progress:t.noop,getPromise:function(){if(!this.promise){var t=this;this.promise=e(function(e,n){t.done(function(t){t===!1?n():e()})})}return this.promise},then:function(e,t){return this.getPromise().then(e,t)},"catch":function(e){return this.getPromise()["catch"](e)},"finally":function(e){return this.getPromise()["finally"](e)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(e){var t=this;t._state===i&&(t._state=a,t._runInAnimationFrame(function(){t._resolve(e)}))},_resolve:function(e){this._state!==d&&(n(this._doneCallbacks,function(t){t(e)}),this._doneCallbacks.length=0,this._state=d)}},r}];t.module("material.core.animate",[]).factory("$$forceReflow",d).factory("$$AnimateRunner",s).factory("$$rAFMutex",c).factory("$animateCss",["$window","$$rAF","$$AnimateRunner","$$forceReflow","$$jqLite","$timeout",function(t,d,c,s,l,m){function u(o,d){var s=[],l=$(o);d.transitionStyle&&s.push([r+"transition",d.transitionStyle]),d.keyframeStyle&&s.push([r+"animation",d.keyframeStyle]),d.delay&&s.push([r+"transition-delay",d.delay+"s"]),d.duration&&s.push([r+"transition-duration",d.duration+"s"]);var u=d.keyframeStyle||d.to&&(d.duration>0||d.transitionStyle),f=!!d.addClass||!!d.removeClass,y=u||f;M(o,!0),v(o,d);var C,A,k=!1;return{close:t.close,start:function(){function t(){return k?void 0:(k=!0,C&&A&&o.off(C,A),p(o,d),b(o,d),n(s,function(t){l.style[e(t[0])]=""}),u.complete(!0),u)}var u=new c;return g(function(){if(M(o,!1),!y)return t();n(s,function(t){var n=t[0],o=t[1];l.style[e(n)]=o}),p(o,d);var c=h(o);if(0===c.duration)return t();var u=[];d.easing&&(c.transitionDuration&&u.push([r+"transition-timing-function",d.easing]),c.animationDuration&&u.push([r+"animation-timing-function",d.easing])),d.delay&&c.animationDelay&&u.push([r+"animation-delay",d.delay+"s"]),d.duration&&c.animationDuration&&u.push([r+"animation-duration",d.duration+"s"]),n(u,function(t){var n=t[0],o=t[1];l.style[e(n)]=o,s.push(t)});var f=c.delay,g=1e3*f,b=c.duration,v=1e3*b,$=Date.now();C=[],c.transitionDuration&&C.push(i),c.animationDuration&&C.push(a),C=C.join(" "),A=function(e){e.stopPropagation();var n=e.originalEvent||e,o=n.timeStamp||Date.now(),r=parseFloat(n.elapsedTime.toFixed(3));Math.max(o-$,0)>=g&&r>=b&&t()},o.on(C,A),E(o,d),m(t,g+1.5*v,!1)}),u}}}function p(e,t){t.addClass&&(l.addClass(e,t.addClass),t.addClass=null),t.removeClass&&(l.removeClass(e,t.removeClass),t.removeClass=null)}function h(e){function n(e){return o?"Webkit"+e.charAt(0).toUpperCase()+e.substr(1):e}var r=$(e),i=t.getComputedStyle(r),a=f(i[n("transitionDuration")]),d=f(i[n("animationDuration")]),c=f(i[n("transitionDelay")]),s=f(i[n("animationDelay")]);d*=parseInt(i[n("animationIterationCount")],10)||1;var l=Math.max(d,a),m=Math.max(s,c);return{duration:l,delay:m,animationDuration:d,transitionDuration:a,animationDelay:s,transitionDelay:c}}function f(e){var t=0,o=(e||"").split(/\s*,\s*/);return n(o,function(e){"s"==e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e=parseFloat(e)||0,t=t?Math.max(e,t):e}),t}function g(e){y&&y(),C.push(e),y=d(function(){y=null;for(var e=s(),t=0;to&&(o=Math.max(-r,o/2)),e.css(n.CSS.TRANSFORM,"translate3d(0,"+(r+o)+"px,0)")}function l(t){if(t.pointer.distanceY>0&&(t.pointer.distanceY>20||Math.abs(t.pointer.velocityY)>o)){var r=e.prop("offsetHeight")-t.pointer.distanceY,a=Math.min(r/t.pointer.velocityY*.75,500);e.css(n.CSS.TRANSITION_DURATION,a+"ms"),i.nextTick(d.cancel,!0)}else e.css(n.CSS.TRANSITION_DURATION,""),e.css(n.CSS.TRANSFORM,"")}var m=s.register(t,"drag",{horizontal:!1});return t.on("$md.dragstart",a).on("$md.drag",c).on("$md.dragend",l),{element:e,cleanup:function(){m(),t.off("$md.dragstart",a),t.off("$md.drag",c),t.off("$md.dragend",l)}}}var p;return{themable:!0,onShow:l,onRemove:m,disableBackdrop:!1,escapeToClose:!0,clickOutsideToClose:!0,disableParentScroll:!0}}var o=.5,r=80;return n.$inject=["$animate","$mdConstant","$mdUtil","$mdTheming","$mdBottomSheet","$rootElement","$mdGesture"],e("$mdBottomSheet").setDefaults({methods:["disableParentScroll","escapeToClose","clickOutsideToClose"],options:n})}t.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",e).provider("$mdBottomSheet",n),e.$inject=["$mdBottomSheet"],n.$inject=["$$interimElementProvider"]}(),function(){t.module("material.components.backdrop",["material.core"]).directive("mdBackdrop",["$mdTheming","$animate","$rootElement","$window","$log","$$rAF","$document",function(e,t,n,o,r,i,a){function d(d,s,l){var m=o.getComputedStyle(a[0].body);if("fixed"==m.position){var u=parseInt(m.height,10)+Math.abs(parseInt(m.top,10));s.css({height:u+"px"})}t.pin&&t.pin(s,n),i(function(){var t=s.parent()[0];if(t){"BODY"==t.nodeName&&s.css({position:"fixed"});var n=o.getComputedStyle(t);"static"==n.position&&r.warn(c)}s.parent().length&&e.inherit(s,s.parent())})}var c=" may not work properly in a scrolled, static-positioned parent container.";return{restrict:"E",link:d}}])}(),function(){function e(e,n,o,r){function i(e){return t.isDefined(e.href)||t.isDefined(e.ngHref)||t.isDefined(e.ngLink)||t.isDefined(e.uiSref)}function a(e,t){if(i(t))return'';var n="undefined"==typeof t.type?"button":t.type;return''}function d(a,d,c){n(d),e.attach(a,d),o.expectWithText(d,"aria-label"),i(c)&&t.isDefined(c.ngDisabled)&&a.$watch(c.ngDisabled,function(e){d.attr("tabindex",e?-1:0)}),d.on("click",function(e){c.disabled===!0&&(e.preventDefault(),e.stopImmediatePropagation())}),t.isDefined(c.mdNoFocusStyle)||(a.mouseActive=!1,d.on("mousedown",function(){a.mouseActive=!0,r(function(){a.mouseActive=!1},100)}).on("focus",function(){a.mouseActive===!1&&d.addClass("md-focused")}).on("blur",function(e){d.removeClass("md-focused")}))}return{restrict:"EA",replace:!0,transclude:!0,template:a,link:d}}t.module("material.components.button",["material.core"]).directive("mdButton",e),e.$inject=["$mdButtonInkRipple","$mdTheming","$mdAria","$timeout"]}(),function(){function e(e){return{restrict:"E",link:function(t,n){e(n)}}}t.module("material.components.card",["material.core"]).directive("mdCard",e), - e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r,i,a){function d(d,s){var l=d.children(),m=s.hasOwnProperty("mdIndeterminate");return s.type="checkbox",s.tabindex=s.tabindex||"0",d.attr("role",s.type),d.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()}),l.on("focus",function(){d.focus()}),function(d,s,l,u){function p(e,t,n){l[e]&&d.$watch(l[e],function(e){n[e]&&s.attr(t,n[e])})}function h(e){var t=e.which||e.keyCode;t!==o.KEY_CODE.SPACE&&t!==o.KEY_CODE.ENTER||(e.preventDefault(),s.hasClass("md-focused")||s.addClass("md-focused"),f(e))}function f(e){s[0].hasAttribute("disabled")||d.$apply(function(){var t=l.ngChecked?l.checked:!u.$viewValue;u.$setViewValue(t,e&&e.type),u.$render()})}function g(){u.$viewValue&&!v?s.addClass(c):s.removeClass(c)}function b(e){v=e!==!1,v&&s.attr("aria-checked","mixed"),s.toggleClass("md-indeterminate",v)}var v;u=u||i.fakeNgModel(),r(s),m&&(b(),d.$watch(l.mdIndeterminate,b)),l.ngChecked&&d.$watch(d.$eval.bind(d,l.ngChecked),u.$setViewValue.bind(u)),p("ngDisabled","tabindex",{"true":"-1","false":l.tabindex}),n.expectWithText(s,"aria-label"),e.link.pre(d,{on:t.noop,0:{}},l,[u]),d.mouseActive=!1,s.on("click",f).on("keypress",h).on("mousedown",function(){d.mouseActive=!0,a(function(){d.mouseActive=!1},100)}).on("focus",function(){d.mouseActive===!1&&s.addClass("md-focused")}).on("blur",function(){s.removeClass("md-focused")}),u.$render=g}}e=e[0];var c="md-checked";return{restrict:"E",transclude:!0,require:"?ngModel",priority:210,template:'
',compile:d}}t.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",e),e.$inject=["inputDirective","$mdAria","$mdConstant","$mdTheming","$mdUtil","$timeout"]}(),function(){t.module("material.components.chips",["material.core","material.components.autocomplete"])}(),function(){function e(e){function t(e,t){this.$scope=e,this.$element=t}return{restrict:"E",controller:["$scope","$element",t],link:function(t,o,r){o[0];e(o),t.$broadcast("$mdContentLoaded",o),n(o[0])}}}function n(e){t.element(e).on("$md.pressdown",function(t){"t"===t.pointer.type&&(t.$materialScrollFixed||(t.$materialScrollFixed=!0,0===e.scrollTop?e.scrollTop=1:e.scrollHeight===e.scrollTop+e.offsetHeight&&(e.scrollTop-=1)))})}t.module("material.components.content",["material.core"]).directive("mdContent",e),e.$inject=["$mdTheming"]}(),function(){!function(){function e(){return{template:'
',scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",dateFilter:"=mdDateFilter"},require:["ngModel","mdCalendar"],controller:n,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,o){var r=o[0],i=o[1];i.configureNgModel(r)}}}function n(e,t,n,o,r,i,a,c,s,l,m){if(a(e),this.items={length:2e3},this.maxDate&&this.minDate){var u=c.getMonthDistance(this.minDate,this.maxDate)+1;u=Math.max(u,1),u+=1,this.items.length=u}if(this.$animate=o,this.$q=r,this.$mdInkRipple=l,this.$mdUtil=m,this.keyCode=i.KEY_CODE,this.dateUtil=c,this.dateLocale=s,this.$element=e,this.$scope=n,this.calendarElement=e[0].querySelector(".md-calendar"),this.calendarScroller=e[0].querySelector(".md-virtual-repeat-scroller"),this.today=this.dateUtil.createDateAtMidnight(),this.firstRenderableDate=this.dateUtil.incrementMonths(this.today,-this.items.length/2),this.minDate&&this.minDate>this.firstRenderableDate)this.firstRenderableDate=this.minDate;else if(this.maxDate){this.items.length-2;this.firstRenderableDate=this.dateUtil.incrementMonths(this.maxDate,-(this.items.length-2))}this.id=d++,this.ngModelCtrl=null,this.selectedDate=null,this.displayDate=null,this.focusDate=null,this.isInitialized=!1,this.isMonthTransitionInProgress=!1,t.tabindex||e.attr("tabindex","-1");var p=this;this.cellClickHandler=function(){var e=this;this.hasAttribute("data-timestamp")&&n.$apply(function(){var t=Number(e.getAttribute("data-timestamp"));p.setNgModelValue(p.dateUtil.createDateAtMidnight(t))})},this.attachCalendarEventListeners()}t.module("material.components.datepicker",["material.core","material.components.icon","material.components.virtualRepeat"]).directive("mdCalendar",e);var o=265,r=45,i="md-calendar-selected-date",a="md-focus",d=0;n.$inject=["$element","$attrs","$scope","$animate","$q","$mdConstant","$mdTheming","$$mdDateUtil","$mdDateLocale","$mdInkRipple","$mdUtil"],n.prototype.configureNgModel=function(e){this.ngModelCtrl=e;var t=this;e.$render=function(){t.changeSelectedDate(t.ngModelCtrl.$viewValue)}},n.prototype.buildInitialCalendarDisplay=function(){this.buildWeekHeader(),this.hideVerticalScrollbar(),this.displayDate=this.selectedDate||this.today,this.isInitialized=!0},n.prototype.hideVerticalScrollbar=function(){var e=this.$element[0],t=e.querySelector(".md-calendar-scroll-mask"),n=this.calendarScroller,o=e.querySelector(".md-calendar-day-header").clientWidth,r=n.offsetWidth-n.clientWidth;t.style.width=o+"px",n.style.width=o+r+"px",n.style.paddingRight=r+"px"},n.prototype.attachCalendarEventListeners=function(){this.$element.on("keydown",t.bind(this,this.handleKeyEvent))},n.prototype.handleKeyEvent=function(e){var t=this;this.$scope.$apply(function(){if(e.which==t.keyCode.ESCAPE||e.which==t.keyCode.TAB)return t.$scope.$emit("md-calendar-close"),void(e.which==t.keyCode.TAB&&e.preventDefault());if(e.which===t.keyCode.ENTER)return t.setNgModelValue(t.displayDate),void e.preventDefault();var n=t.getFocusDateFromKeyEvent(e);n&&(n=t.boundDateByMinAndMax(n),e.preventDefault(),e.stopPropagation(),t.changeDisplayDate(n).then(function(){t.focus(n)}))})},n.prototype.getFocusDateFromKeyEvent=function(e){var t=this.dateUtil,n=this.keyCode;switch(e.which){case n.RIGHT_ARROW:return t.incrementDays(this.displayDate,1);case n.LEFT_ARROW:return t.incrementDays(this.displayDate,-1);case n.DOWN_ARROW:return e.metaKey?t.incrementMonths(this.displayDate,1):t.incrementDays(this.displayDate,7);case n.UP_ARROW:return e.metaKey?t.incrementMonths(this.displayDate,-1):t.incrementDays(this.displayDate,-7);case n.PAGE_DOWN:return t.incrementMonths(this.displayDate,1);case n.PAGE_UP:return t.incrementMonths(this.displayDate,-1);case n.HOME:return t.getFirstDateOfMonth(this.displayDate);case n.END:return t.getLastDateOfMonth(this.displayDate);default:return null}},n.prototype.getSelectedMonthIndex=function(){return this.dateUtil.getMonthDistance(this.firstRenderableDate,this.selectedDate||this.today)},n.prototype.scrollToMonth=function(e){if(this.dateUtil.isValidDate(e)){var t=this.dateUtil.getMonthDistance(this.firstRenderableDate,e);this.calendarScroller.scrollTop=t*o}},n.prototype.setNgModelValue=function(e){this.$scope.$emit("md-calendar-change",e),this.ngModelCtrl.$setViewValue(e),this.ngModelCtrl.$render()},n.prototype.focus=function(e){var t=e||this.selectedDate||this.today,n=this.calendarElement.querySelector(".md-focus");n&&n.classList.remove(a);var o=this.getDateId(t),r=document.getElementById(o);r?(r.classList.add(a),r.focus()):this.focusDate=t},n.prototype.boundDateByMinAndMax=function(e){var t=e;return this.minDate&&ethis.maxDate&&(t=new Date(this.maxDate.getTime())),t},n.prototype.changeSelectedDate=function(e){var t=this,n=this.selectedDate;this.selectedDate=e,this.changeDisplayDate(e).then(function(){if(n){var o=document.getElementById(t.getDateId(n));o&&(o.classList.remove(i),o.setAttribute("aria-selected","false"))}if(e){var r=document.getElementById(t.getDateId(e));r&&(r.classList.add(i),r.setAttribute("aria-selected","true"))}})},n.prototype.changeDisplayDate=function(e){if(!this.isInitialized)return this.buildInitialCalendarDisplay(),this.$q.when();if(!this.dateUtil.isValidDate(e)||this.isMonthTransitionInProgress)return this.$q.when();this.isMonthTransitionInProgress=!0;var t=this.animateDateChange(e);this.displayDate=e;var n=this;return t.then(function(){n.isMonthTransitionInProgress=!1}),t},n.prototype.animateDateChange=function(e){return this.scrollToMonth(e),this.$q.when()},n.prototype.buildWeekHeader=function(){for(var e=this.dateLocale.firstDayOfWeek,t=this.dateLocale.shortDays,n=document.createElement("tr"),o=0;7>o;o++){var r=document.createElement("th");r.textContent=t[(o+e)%7],n.appendChild(r)}this.$element.find("thead").append(n)},n.prototype.getDateId=function(e){return["md",this.id,e.getFullYear(),e.getMonth(),e.getDate()].join("-")}}()}(),function(){!function(){function e(){return{require:["^^mdCalendar","mdCalendarMonth"],scope:{offset:"=mdMonthOffset"},controller:n,controllerAs:"mdMonthCtrl",bindToController:!0,link:function(e,t,n,o){var r=o[0],i=o[1];i.calendarCtrl=r,i.generateContent(),e.$watch(function(){return i.offset},function(e,t){e!=t&&i.generateContent()})}}}function n(e,t,n){this.dateUtil=t,this.dateLocale=n,this.$element=e,this.calendarCtrl=null,this.offset,this.focusAfterAppend=null}t.module("material.components.datepicker").directive("mdCalendarMonth",e);var o="md-calendar-date-today",r="md-calendar-selected-date",i="md-focus";n.$inject=["$element","$$mdDateUtil","$mdDateLocale"],n.prototype.generateContent=function(){var e=this.calendarCtrl,t=this.dateUtil.incrementMonths(e.firstRenderableDate,this.offset);this.$element.empty(),this.$element.append(this.buildCalendarForMonth(t)),this.focusAfterAppend&&(this.focusAfterAppend.classList.add(i),this.focusAfterAppend.focus(),this.focusAfterAppend=null)},n.prototype.buildDateCell=function(e){var t=this.calendarCtrl,n=document.createElement("td");if(n.tabIndex=-1,n.classList.add("md-calendar-date"),n.setAttribute("role","gridcell"),e){n.setAttribute("tabindex","-1"),n.setAttribute("aria-label",this.dateLocale.longDateFormatter(e)),n.id=t.getDateId(e),n.setAttribute("data-timestamp",e.getTime()),this.dateUtil.isSameDay(e,t.today)&&n.classList.add(o),this.dateUtil.isValidDate(t.selectedDate)&&this.dateUtil.isSameDay(e,t.selectedDate)&&(n.classList.add(r),n.setAttribute("aria-selected","true"));var i=this.dateLocale.dates[e.getDate()];if(this.isDateEnabled(e)){var a=document.createElement("span");n.appendChild(a),a.classList.add("md-calendar-date-selection-indicator"),a.textContent=i,n.addEventListener("click",t.cellClickHandler),t.focusDate&&this.dateUtil.isSameDay(e,t.focusDate)&&(this.focusAfterAppend=n)}else n.classList.add("md-calendar-date-disabled"),n.textContent=i}return n},n.prototype.isDateEnabled=function(e){return this.dateUtil.isDateWithinRange(e,this.calendarCtrl.minDate,this.calendarCtrl.maxDate)&&(!t.isFunction(this.calendarCtrl.dateFilter)||this.calendarCtrl.dateFilter(e))},n.prototype.buildDateRow=function(e){var t=document.createElement("tr");return t.setAttribute("role","row"),t.setAttribute("aria-label",this.dateLocale.weekNumberFormatter(e)),t},n.prototype.buildCalendarForMonth=function(e){var t=this.dateUtil.isValidDate(e)?e:new Date,n=this.dateUtil.getFirstDateOfMonth(t),o=this.getLocaleDay_(n),r=this.dateUtil.getNumberOfDaysInMonth(t),i=document.createDocumentFragment(),a=1,d=this.buildDateRow(a);i.appendChild(d);var c=this.offset===this.calendarCtrl.items.length-1,s=0,l=document.createElement("td");if(l.classList.add("md-calendar-month-label"),this.calendarCtrl.maxDate&&n>this.calendarCtrl.maxDate&&l.classList.add("md-calendar-month-label-disabled"),l.textContent=this.dateLocale.monthHeaderFormatter(t),2>=o){l.setAttribute("colspan","7");var m=this.buildDateRow();if(m.appendChild(l),i.insertBefore(m,d),c)return i}else s=2,l.setAttribute("colspan","2"),d.appendChild(l);for(var u=s;o>u;u++)d.appendChild(this.buildDateCell());for(var p=o,h=n,f=1;r>=f;f++){if(7===p){if(c)return i;p=0,a++,d=this.buildDateRow(a),i.appendChild(d)}h.setDate(f);var g=this.buildDateCell(h);d.appendChild(g),p++}for(;d.childNodes.length<7;)d.appendChild(this.buildDateCell());for(;i.childNodes.length<6;){for(var b=this.buildDateRow(),u=0;7>u;u++)b.appendChild(this.buildDateCell());i.appendChild(b)}return i},n.prototype.getLocaleDay_=function(e){return(e.getDay()+(7-this.dateLocale.firstDayOfWeek))%7}}()}(),function(){!function(){t.module("material.components.datepicker").config(["$provide",function(e){function t(){this.months=null,this.shortMonths=null,this.days=null,this.shortDays=null,this.dates=null,this.firstDayOfWeek=0,this.formatDate=null,this.parseDate=null,this.monthHeaderFormatter=null,this.weekNumberFormatter=null,this.longDateFormatter=null,this.msgCalendar="",this.msgOpenCalendar=""}t.prototype.$get=function(e){function t(e){if(!e)return"";var t=e.toLocaleTimeString(),n=e;return 0!=e.getHours()||-1===t.indexOf("11:")&&-1===t.indexOf("23:")||(n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),1,0,0)),n.toLocaleDateString()}function n(e){return new Date(e)}function o(e){e=e.trim();var t=/^(([a-zA-Z]{3,}|[0-9]{1,4})([ \.,]+|[\/\-])){2}([a-zA-Z]{3,}|[0-9]{1,4})$/;return t.test(e)}function r(e){return u.shortMonths[e.getMonth()]+" "+e.getFullYear()}function i(e){return"Week "+e}function a(e){return[u.days[e.getDay()],u.months[e.getMonth()],u.dates[e.getDate()],e.getFullYear()].join(" ")}for(var d=e.DATETIME_FORMATS.DAY.map(function(e){return e[0]}),c=Array(32),s=1;31>=s;s++)c[s]=s;var l="Calendar",m="Open calendar",u={months:this.months||e.DATETIME_FORMATS.MONTH,shortMonths:this.shortMonths||e.DATETIME_FORMATS.SHORTMONTH,days:this.days||e.DATETIME_FORMATS.DAY,shortDays:this.shortDays||d,dates:this.dates||c,firstDayOfWeek:this.firstDayOfWeek||0,formatDate:this.formatDate||t,parseDate:this.parseDate||n,isDateComplete:this.isDateComplete||o,monthHeaderFormatter:this.monthHeaderFormatter||r,weekNumberFormatter:this.weekNumberFormatter||i,longDateFormatter:this.longDateFormatter||a,msgCalendar:this.msgCalendar||l,msgOpenCalendar:this.msgOpenCalendar||m};return u},t.prototype.$get.$inject=["$locale"],e.provider("$mdDateLocale",new t)}])}()}(),function(){!function(){function n(){return{template:'
',require:["ngModel","mdDatepicker","?^mdInputContainer"],scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",placeholder:"@mdPlaceholder",dateFilter:"=mdDateFilter"},controller:o,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,o){var r=o[0],i=o[1],a=o[2];if(a)throw Error("md-datepicker should not be placed inside md-input-container.");i.configureNgModel(r)}}}function o(e,n,o,r,i,a,d,c,s,l,m,u){this.$compile=r,this.$timeout=i,this.$window=a,this.dateLocale=l,this.dateUtil=m,this.$mdConstant=d,this.$mdUtil=s,this.$$rAF=u,this.documentElement=t.element(document.documentElement),this.ngModelCtrl=null,this.inputElement=n[0].querySelector("input"),this.ngInputElement=t.element(this.inputElement),this.inputContainer=n[0].querySelector(".md-datepicker-input-container"),this.calendarPane=n[0].querySelector(".md-datepicker-calendar-pane"),this.calendarButton=n[0].querySelector(".md-datepicker-button"),this.inputMask=n[0].querySelector(".md-datepicker-input-mask-opaque"),this.$element=n,this.$attrs=o,this.$scope=e,this.date=null,this.isFocused=!1,this.isDisabled,this.setDisabled(n[0].disabled||t.isString(o.disabled)),this.isCalendarOpen=!1,this.calendarPaneOpenedFrom=null,this.calendarPane.id="md-date-pane"+s.nextUid(),c(n),this.bodyClickHandler=t.bind(this,this.handleBodyClick),this.windowResizeHandler=s.debounce(t.bind(this,this.closeCalendarPane),100),o.tabindex||n.attr("tabindex","-1"),this.installPropertyInterceptors(),this.attachChangeListeners(),this.attachInteractionListeners();var p=this;e.$on("$destroy",function(){p.detachCalendarPane()})}t.module("material.components.datepicker").directive("mdDatepicker",n);var r=3,i="md-datepicker-invalid",a=500,d=368,c=360;o.$inject=["$scope","$element","$attrs","$compile","$timeout","$window","$mdConstant","$mdTheming","$mdUtil","$mdDateLocale","$$mdDateUtil","$$rAF"],o.prototype.configureNgModel=function(e){this.ngModelCtrl=e;var t=this;e.$render=function(){var e=t.ngModelCtrl.$viewValue;if(e&&!(e instanceof Date))throw Error("The ng-model for md-datepicker must be a Date instance. Currently the model is a: "+typeof e);t.date=e,t.inputElement.value=t.dateLocale.formatDate(e),t.resizeInputElement(),t.updateErrorState()}},o.prototype.attachChangeListeners=function(){var e=this;e.$scope.$on("md-calendar-change",function(t,n){e.ngModelCtrl.$setViewValue(n),e.date=n,e.inputElement.value=e.dateLocale.formatDate(n),e.closeCalendarPane(),e.resizeInputElement(),e.updateErrorState()}),e.ngInputElement.on("input",t.bind(e,e.resizeInputElement)),e.ngInputElement.on("input",e.$mdUtil.debounce(e.handleInputEvent,a,e))},o.prototype.attachInteractionListeners=function(){var e=this,t=this.$scope,n=this.$mdConstant.KEY_CODE;e.ngInputElement.on("keydown",function(o){o.altKey&&o.keyCode==n.DOWN_ARROW&&(e.openCalendarPane(o),t.$digest())}),t.$on("md-calendar-close",function(){e.closeCalendarPane()})},o.prototype.installPropertyInterceptors=function(){var e=this;if(this.$attrs.ngDisabled){var t=this.$scope.$parent;t&&t.$watch(this.$attrs.ngDisabled,function(t){e.setDisabled(t)})}Object.defineProperty(this,"placeholder",{get:function(){return e.inputElement.placeholder},set:function(t){e.inputElement.placeholder=t||""}})},o.prototype.setDisabled=function(e){this.isDisabled=e,this.inputElement.disabled=e,this.calendarButton.disabled=e},o.prototype.updateErrorState=function(e){var n=e||this.date;if(this.clearErrorState(),this.dateUtil.isValidDate(n)){if(n=this.dateUtil.createDateAtMidnight(n),this.dateUtil.isValidDate(this.minDate)){var o=this.dateUtil.createDateAtMidnight(this.minDate);this.ngModelCtrl.$setValidity("mindate",n>=o)}if(this.dateUtil.isValidDate(this.maxDate)){var r=this.dateUtil.createDateAtMidnight(this.maxDate);this.ngModelCtrl.$setValidity("maxdate",r>=n)}t.isFunction(this.dateFilter)&&this.ngModelCtrl.$setValidity("filtered",this.dateFilter(n))}else this.ngModelCtrl.$setValidity("valid",null==n);this.ngModelCtrl.$valid||this.inputContainer.classList.add(i)},o.prototype.clearErrorState=function(){this.inputContainer.classList.remove(i),["mindate","maxdate","filtered","valid"].forEach(function(e){this.ngModelCtrl.$setValidity(e,!0)},this)},o.prototype.resizeInputElement=function(){this.inputElement.size=this.inputElement.value.length+r},o.prototype.handleInputEvent=function(){var e=this.inputElement.value,t=e?this.dateLocale.parseDate(e):null;this.dateUtil.setDateTimeToMidnight(t);var n=""==e||this.dateUtil.isValidDate(t)&&this.dateLocale.isDateComplete(e)&&this.isDateEnabled(t);n&&(this.ngModelCtrl.$setViewValue(t),this.date=t),this.updateErrorState(t)},o.prototype.isDateEnabled=function(e){return this.dateUtil.isDateWithinRange(e,this.minDate,this.maxDate)&&(!t.isFunction(this.dateFilter)||this.dateFilter(e))},o.prototype.attachCalendarPane=function(){var e=this.calendarPane;e.style.transform="",this.$element.addClass("md-datepicker-open");var t=this.inputContainer.getBoundingClientRect(),n=document.body.getBoundingClientRect(),o=t.top-n.top,r=t.left-n.left,i=n.top<0&&0==document.body.scrollTop?-n.top:document.body.scrollTop,a=n.left<0&&0==document.body.scrollLeft?-n.left:document.body.scrollLeft,s=i+this.$window.innerHeight,l=a+this.$window.innerWidth;if(r+c>l){if(l-c>0)r=l-c;else{r=a;var m=this.$window.innerWidth/c;e.style.transform="scale("+m+")"}e.classList.add("md-datepicker-pos-adjusted")}o+d>s&&s-d>i&&(o=s-d,e.classList.add("md-datepicker-pos-adjusted")),e.style.left=r+"px",e.style.top=o+"px",document.body.appendChild(e),this.inputMask.style.left=t.width+"px",this.$$rAF(function(){e.classList.add("md-pane-open")})},o.prototype.detachCalendarPane=function(){this.$element.removeClass("md-datepicker-open"),this.calendarPane.classList.remove("md-pane-open"),this.calendarPane.classList.remove("md-datepicker-pos-adjusted"),this.isCalendarOpen&&this.$mdUtil.enableScrolling(),this.calendarPane.parentNode&&this.calendarPane.parentNode.removeChild(this.calendarPane)},o.prototype.openCalendarPane=function(t){if(!this.isCalendarOpen&&!this.isDisabled){this.isCalendarOpen=!0,this.calendarPaneOpenedFrom=t.target,this.$mdUtil.disableScrollAround(this.calendarPane),this.attachCalendarPane(),this.focusCalendar();var n=this;this.$mdUtil.nextTick(function(){n.documentElement.on("click touchstart",n.bodyClickHandler)},!1),e.addEventListener("resize",this.windowResizeHandler)}},o.prototype.closeCalendarPane=function(){this.isCalendarOpen&&(this.detachCalendarPane(),this.isCalendarOpen=!1,this.calendarPaneOpenedFrom.focus(),this.calendarPaneOpenedFrom=null,this.ngModelCtrl.$setTouched(),this.documentElement.off("click touchstart",this.bodyClickHandler),e.removeEventListener("resize",this.windowResizeHandler))},o.prototype.getCalendarCtrl=function(){return t.element(this.calendarPane.querySelector("md-calendar")).controller("mdCalendar")},o.prototype.focusCalendar=function(){var e=this;this.$mdUtil.nextTick(function(){e.getCalendarCtrl().focus()},!1)},o.prototype.setFocused=function(e){e||this.ngModelCtrl.$setTouched(),this.isFocused=e},o.prototype.handleBodyClick=function(e){if(this.isCalendarOpen){var t=this.$mdUtil.getClosest(e.target,"md-calendar");t||this.closeCalendarPane(),this.$scope.$digest()}}}()}(),function(){!function(){t.module("material.components.datepicker").factory("$$mdDateUtil",function(){function e(e){return new Date(e.getFullYear(),e.getMonth(),1)}function n(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function o(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function r(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function i(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()}function a(e,t){return e.getDate()==t.getDate()&&i(e,t)}function d(e,t){var n=o(e);return i(n,t)}function c(e,t){var n=r(e);return i(t,n)}function s(e,t){return b((e.getTime()+t.getTime())/2)}function l(t){var n=e(t);return Math.floor((n.getDay()+t.getDate()-1)/7)}function m(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)}function u(e,t){var o=new Date(e.getFullYear(),e.getMonth()+t,1),r=n(o);return r=r)&&(!i||i>=o)}return{getFirstDateOfMonth:e,getNumberOfDaysInMonth:n,getDateInNextMonth:o,getDateInPreviousMonth:r,isInNextMonth:d,isInPreviousMonth:c,getDateMidpoint:s,isSameMonthAndYear:i,getWeekOfMonth:l,incrementDays:m,incrementMonths:u,getLastDateOfMonth:h,isSameDay:a,getMonthDistance:p,isValidDate:f,setDateTimeToMidnight:g,createDateAtMidnight:b,isDateWithinRange:v}})}()}(),function(){function e(e,n,o){return{restrict:"E",link:function(r,i,a){n(i),e(function(){function e(){i.toggleClass("md-content-overflow",a.scrollHeight>a.clientHeight)}var n,a=i[0].querySelector("md-dialog-content");a&&(n=a.getElementsByTagName("img"),e(),t.element(n).on("load",e)),r.$on("$destroy",function(){o.destroy(i)})})}}}function o(e){function o(e,t,n){return{template:['',' ','

{{ dialog.title }}

','
','
',"

{{::dialog.mdTextContent}}

","
",' ',' '," ","
"," ",' '," {{ dialog.cancel }}"," ",' '," {{ dialog.ok }}"," "," ","
"].join("").replace(/\s\s+/g,""),controller:function(){this.hide=function(){e.hide("prompt"===this.$type?this.result:!0)},this.abort=function(){e.cancel()},this.keypress=function(t){t.keyCode===n.KEY_CODE.ENTER&&e.hide(this.result)}},controllerAs:"dialog",bindToController:!0,theme:t.defaultTheme()}}function r(e,o,r,d,c,s,l,m,u,p){function h(e,t,n,o){if(o){if(o.mdHtmlContent=o.htmlContent||n.htmlContent||"",o.mdTextContent=o.textContent||n.textContent||o.content||n.content||"",o.mdHtmlContent&&!p.has("$sanitize"))throw Error("The ngSanitize module must be loaded in order to use htmlContent.");if(o.mdHtmlContent&&o.mdTextContent)throw Error("md-dialog cannot have both `htmlContent` and `textContent`")}}function f(e,n,o,i){function a(){var e=n[0].querySelectorAll(".md-actions");e.length>0&&u.warn("Using a class of md-actions is deprecated, please use .")}function d(){function e(){var e=n[0].querySelector(".dialog-close");if(!e){var o=n[0].querySelectorAll(".md-actions button, md-dialog-actions button");e=o[o.length-1]}return t.element(e)}if(o.focusOnOpen){var i=r.findFocusTarget(n)||e();i.focus()}}return t.element(s[0].body).addClass("md-dialog-is-showing"),b(o),$(n.find("md-dialog"),o),E(e,n,o),C(n,o).then(function(){v(n,o),M(n,o),a(),d()})}function g(e,n,o){function r(){return A(n,o)}function d(){t.element(s[0].body).removeClass("md-dialog-is-showing"),n.remove(),o.$destroy||o.origin.focus()}return o.deactivateListeners(),o.unlockScreenReader(),o.hideBackdrop(o.$destroy),i&&i.parentNode&&i.parentNode.removeChild(i),a&&a.parentNode&&a.parentNode.removeChild(a),o.$destroy?d():r().then(d)}function b(e){function o(e,o){var r=t.element(e||{});if(r&&r.length){var i={top:0,left:0,height:0,width:0},a=t.isFunction(r[0].getBoundingClientRect);return t.extend(o||{},{element:a?r:n,bounds:a?r[0].getBoundingClientRect():t.extend({},i,r[0]),focus:t.bind(r,r.focus)})}}function r(e,n){if(t.isString(e)){var o=e,r=s[0].querySelectorAll(o);e=r.length?r[0]:null}return t.element(e||n)}e.origin=t.extend({element:null,bounds:null,focus:t.noop},e.origin||{}),e.parent=r(e.parent,m),e.closeTo=o(r(e.closeTo)),e.openFrom=o(r(e.openFrom)),e.targetEvent&&(e.origin=o(e.targetEvent.target,e.origin))}function v(n,o){var i=t.element(l),a=r.debounce(function(){y(n,o)},60),c=[],s=function(){var t="alert"==o.$type?e.hide:e.cancel;r.nextTick(t,!0)};if(o.escapeToClose){var m=o.parent,u=function(e){e.keyCode===d.KEY_CODE.ESCAPE&&(e.stopPropagation(),e.preventDefault(),s())};n.on("keydown",u),m.on("keydown",u),c.push(function(){n.off("keydown",u),m.off("keydown",u)})}if(i.on("resize",a),c.push(function(){i.off("resize",a)}),o.clickOutsideToClose){var p,h=n,f=function(e){p=e.target},g=function(e){p===h[0]&&e.target===h[0]&&(e.stopPropagation(),e.preventDefault(),s())};h.on("mousedown",f),h.on("mouseup",g),c.push(function(){h.off("mousedown",f),h.off("mouseup",g)})}o.deactivateListeners=function(){c.forEach(function(e){e()}),o.deactivateListeners=null}}function E(e,t,n){n.disableParentScroll&&(n.restoreScroll=r.disableScrollAround(t,n.parent)),n.hasBackdrop&&(n.backdrop=r.createBackdrop(e,"_md-dialog-backdrop md-opaque"),c.enter(n.backdrop,n.parent)),n.hideBackdrop=function(e){n.backdrop&&(e?n.backdrop.remove():c.leave(n.backdrop)),n.disableParentScroll&&(n.restoreScroll(),delete n.restoreScroll),n.hideBackdrop=null}}function $(e,t){var n="alert"===t.$type?"alertdialog":"dialog",d=e.find("md-dialog-content"),c="dialogContent_"+(e.attr("id")||r.nextUid());e.attr({role:n,tabIndex:"-1"}),0===d.length&&(d=e),d.attr("id",c),e.attr("aria-describedby",c),t.ariaLabel?o.expect(e,"aria-label",t.ariaLabel):o.expectAsync(e,"aria-label",function(){var e=d.text().split(/\s+/);return e.length>3&&(e=e.slice(0,3).concat("...")),e.join(" ")}),i=document.createElement("div"),i.classList.add("_md-dialog-focus-trap"),i.tabIndex=0,a=i.cloneNode(!1);var s=function(){e.focus()};i.addEventListener("focus",s),a.addEventListener("focus",s),e[0].parentNode.insertBefore(i,e[0]),e.after(a)}function M(e,t){function n(e){for(;e.parentNode;){if(e===document.body)return;for(var t=e.parentNode.children,r=0;r/g.test(e)?""+(e||"")+"":e||""}return'
'+n(e)+"
"}}}var i,a;return o.$inject=["$mdDialog","$mdTheming","$mdConstant"],r.$inject=["$mdDialog","$mdAria","$mdUtil","$mdConstant","$animate","$document","$window","$rootElement","$log","$injector"],e("$mdDialog").setDefaults({methods:["disableParentScroll","hasBackdrop","clickOutsideToClose","escapeToClose","targetEvent","closeTo","openFrom","parent","fullscreen"], - options:r}).addPreset("alert",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","theme","css"],options:o}).addPreset("confirm",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","cancel","theme","css"],options:o}).addPreset("prompt",{methods:["title","htmlContent","textContent","content","placeholder","ariaLabel","ok","cancel","theme","css"],options:o})}t.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",e).provider("$mdDialog",o),e.$inject=["$$rAF","$mdTheming","$mdDialog"],o.$inject=["$$interimElementProvider"]}(),function(){function e(e){return{restrict:"E",link:e}}t.module("material.components.divider",["material.core"]).directive("mdDivider",e),e.$inject=["$mdTheming"]}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],compile:function(e,n){var o=e.children(),r=!1;t.forEach(["","data-","x-"],function(e){r=r||!!o.attr(e+"ng-repeat")}),r?o.addClass("md-fab-action-item"):o.wrap('
')}}}t.module("material.components.fabActions",["material.core"]).directive("mdFabActions",e)}()}(),function(){!function(){function e(e,n,o,r,i,a){function d(){N.direction=N.direction||"down",N.isOpen=N.isOpen||!1,l(),n.addClass("_md-animations-waiting")}function c(){var o=["click","focusin","focusout"];t.forEach(o,function(e){n.on(e,s)}),e.$on("$destroy",function(){t.forEach(o,function(e){n.off(e,s)}),h()})}function s(e){"click"==e.type&&w(e),"focusout"!=e.type||H||(H=a(function(){N.close()},100,!1)),"focusin"==e.type&&H&&(a.cancel(H),H=null)}function l(){N.currentActionIndex=-1}function m(){e.$watch("vm.direction",function(e,t){o.removeClass(n,"md-"+t),o.addClass(n,"md-"+e),l()});var t,r;e.$watch("vm.isOpen",function(e){l(),t&&r||(t=_(),r=x()),e?p():h();var i=e?"md-is-open":"",a=e?"":"md-is-open";t.attr("aria-haspopup",!0),t.attr("aria-expanded",e),r.attr("aria-hidden",!e),o.setClass(n,i,a)})}function u(){n[0].scrollHeight>0?o.addClass(n,"_md-animations-ready").then(function(){n.removeClass("_md-animations-waiting")}):10>S&&(a(u,100),S+=1)}function p(){n.on("keydown",g),r.nextTick(function(){t.element(document).on("click touchend",f)})}function h(){n.off("keydown",g),t.element(document).off("click touchend",f)}function f(e){if(e.target){var t=r.getClosest(e.target,"md-fab-trigger"),n=r.getClosest(e.target,"md-fab-actions");t||n||N.close()}}function g(e){switch(e.which){case i.KEY_CODE.ESCAPE:return N.close(),e.preventDefault(),!1;case i.KEY_CODE.LEFT_ARROW:return M(e),!1;case i.KEY_CODE.UP_ARROW:return y(e),!1;case i.KEY_CODE.RIGHT_ARROW:return C(e),!1;case i.KEY_CODE.DOWN_ARROW:return A(e),!1}}function b(e){E(e,-1)}function v(e){E(e,1)}function E(e,n){var o=$();N.currentActionIndex=N.currentActionIndex+n,N.currentActionIndex=Math.min(o.length-1,N.currentActionIndex),N.currentActionIndex=Math.max(0,N.currentActionIndex);var r=t.element(o[N.currentActionIndex]).children()[0];t.element(r).attr("tabindex",0),r.focus(),e.preventDefault(),e.stopImmediatePropagation()}function $(){var e=x()[0].querySelectorAll(".md-fab-action-item");return t.forEach(e,function(e){t.element(t.element(e).children()[0]).attr("tabindex",-1)}),e}function M(e){"left"===N.direction?v(e):b(e)}function y(e){"down"===N.direction?b(e):v(e)}function C(e){"left"===N.direction?b(e):v(e)}function A(e){"up"===N.direction?b(e):v(e)}function k(e){return r.getClosest(e,"md-fab-trigger")}function T(e){return r.getClosest(e,"md-fab-actions")}function w(e){k(e.target)&&N.toggle(),T(e.target)&&N.close()}function _(){return n.find("md-fab-trigger")}function x(){return n.find("md-fab-actions")}var N=this;N.open=function(){e.$evalAsync("vm.isOpen = true")},N.close=function(){e.$evalAsync("vm.isOpen = false"),n.find("md-fab-trigger")[0].focus()},N.toggle=function(){e.$evalAsync("vm.isOpen = !vm.isOpen")},d(),c(),m();var S=0;u();var H}t.module("material.components.fabShared",["material.core"]).controller("MdFabController",e),e.$inject=["$scope","$element","$animate","$mdUtil","$mdConstant","$timeout"]}()}(),function(){!function(){function n(){function e(e,t){t.prepend('
')}return{restrict:"E",scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"MdFabController",controllerAs:"vm",link:e}}function o(n){function o(e){n(e,i,!1)}function r(n){if(!n.hasClass("_md-animations-waiting")||n.hasClass("_md-animations-ready")){var o=n[0],r=n.controller("mdFabSpeedDial"),i=o.querySelectorAll(".md-fab-action-item"),a=o.querySelector("md-fab-trigger"),d=o.querySelector("._md-css-variables"),c=parseInt(e.getComputedStyle(d).zIndex);t.forEach(i,function(e,t){var n=e.style;n.transform=n.webkitTransform="",n.transitionDelay="",n.opacity=1,n.zIndex=i.length-t+c}),a.style.zIndex=c+i.length+1,r.isOpen||t.forEach(i,function(e,t){var n,o,i=e.style,d=(a.clientHeight-e.clientHeight)/2,c=(a.clientWidth-e.clientWidth)/2;switch(r.direction){case"up":n=e.scrollHeight*(t+1)+d,o="Y";break;case"down":n=-(e.scrollHeight*(t+1)+d),o="Y";break;case"left":n=e.scrollWidth*(t+1)+c,o="X";break;case"right":n=-(e.scrollWidth*(t+1)+c),o="X"}var s="translate"+o+"("+n+"px)";i.transform=i.webkitTransform=s})}}return{addClass:function(e,t,n){e.hasClass("md-fling")?(r(e),o(n)):n()},removeClass:function(e,t,n){r(e),o(n)}}}function r(n){function o(e){n(e,i,!1)}function r(n){var o=n[0],r=n.controller("mdFabSpeedDial"),i=o.querySelectorAll(".md-fab-action-item"),d=o.querySelector("._md-css-variables"),c=parseInt(e.getComputedStyle(d).zIndex);t.forEach(i,function(e,t){var n=e.style,o=t*a;n.opacity=r.isOpen?1:0,n.transform=n.webkitTransform=r.isOpen?"scale(1)":"scale(0)",n.transitionDelay=(r.isOpen?o:i.length-o)+"ms",n.zIndex=i.length-t+c})}var a=65;return{addClass:function(e,t,n){r(e),o(n)},removeClass:function(e,t,n){r(e),o(n)}}}var i=300;t.module("material.components.fabSpeedDial",["material.core","material.components.fabShared","material.components.fabTrigger","material.components.fabActions"]).directive("mdFabSpeedDial",n).animation(".md-fling",o).animation(".md-scale",r).service("mdFabSpeedDialFlingAnimation",o).service("mdFabSpeedDialScaleAnimation",r),o.$inject=["$timeout"],r.$inject=["$timeout"]}()}(),function(){!function(){function n(){function e(e,t,n){t.addClass("md-fab-toolbar"),t.find("md-fab-trigger").find("button").prepend('
')}return{restrict:"E",transclude:!0,template:'
',scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"MdFabController",controllerAs:"vm",link:e}}function o(){function n(n,o,r){if(o){var i=n[0],a=n.controller("mdFabToolbar"),d=i.querySelector("._md-fab-toolbar-background"),c=i.querySelector("md-fab-trigger button"),s=i.querySelector("md-toolbar"),l=i.querySelector("md-fab-trigger button md-icon"),m=n.find("md-fab-actions").children();if(c&&d){var u=e.getComputedStyle(c).getPropertyValue("background-color"),p=i.offsetWidth,h=(i.offsetHeight,2*(p/c.offsetWidth));d.style.backgroundColor=u,d.style.borderRadius=p+"px",a.isOpen?(s.style.pointerEvents="initial",d.style.width=c.offsetWidth+"px",d.style.height=c.offsetHeight+"px",d.style.transform="scale("+h+")",d.style.transitionDelay="0ms",l&&(l.style.transitionDelay=".3s"),t.forEach(m,function(e,t){e.style.transitionDelay=25*(m.length-t)+"ms"})):(s.style.pointerEvents="none",d.style.transform="scale(1)",d.style.top="0",n.hasClass("md-right")&&(d.style.left="0",d.style.right=null),n.hasClass("md-left")&&(d.style.right="0",d.style.left=null),d.style.transitionDelay="200ms",l&&(l.style.transitionDelay="0ms"),t.forEach(m,function(e,t){e.style.transitionDelay=200+25*t+"ms"}))}}}return{addClass:function(e,t,o){n(e,t,o),o()},removeClass:function(e,t,o){n(e,t,o),o()}}}t.module("material.components.fabToolbar",["material.core","material.components.fabShared","material.components.fabTrigger","material.components.fabActions"]).directive("mdFabToolbar",n).animation(".md-fab-toolbar",o).service("mdFabToolbarAnimation",o)}()}(),function(){function e(e,o,r,i){function a(n,a,d,c){function s(){for(var e in o.MEDIA)i(e),i.getQuery(o.MEDIA[e]).addListener(C);return i.watchResponsiveAttributes(["md-cols","md-row-height","md-gutter"],d,m)}function l(){c.layoutDelegate=t.noop,A();for(var e in o.MEDIA)i.getQuery(o.MEDIA[e]).removeListener(C)}function m(e){null==e?c.invalidateLayout():i(e)&&c.invalidateLayout()}function u(e){var o=g(),i={tileSpans:b(o),colCount:v(),rowMode:M(),rowHeight:$(),gutter:E()};if(e||!t.equals(i,k)){var d=r(i.colCount,i.tileSpans,o).map(function(e,n){return{grid:{element:a,style:f(i.colCount,n,i.gutter,i.rowMode,i.rowHeight)},tiles:e.map(function(e,r){return{element:t.element(o[r]),style:h(e.position,e.spans,i.colCount,n,i.gutter,i.rowMode,i.rowHeight)}})}}).reflow().performance();n.mdOnLayout({$event:{performance:d}}),k=i}}function p(e){return T+e+w}function h(e,t,n,o,r,i,a){var d=1/n*100,c=(n-1)/n,s=_({share:d,gutterShare:c,gutter:r}),l={left:x({unit:s,offset:e.col,gutter:r}),width:N({unit:s,span:t.col,gutter:r}),paddingTop:"",marginTop:"",top:"",height:""};switch(i){case"fixed":l.top=x({unit:a,offset:e.row,gutter:r}),l.height=N({unit:a,span:t.row,gutter:r});break;case"ratio":var m=d/a,u=_({share:m,gutterShare:c,gutter:r});l.paddingTop=N({unit:u,span:t.row,gutter:r}),l.marginTop=x({unit:u,offset:e.row,gutter:r});break;case"fit":var p=(o-1)/o,m=1/o*100,u=_({share:m,gutterShare:p,gutter:r});l.top=x({unit:u,offset:e.row,gutter:r}),l.height=N({unit:u,span:t.row,gutter:r})}return l}function f(e,t,n,o,r){var i={};switch(o){case"fixed":i.height=N({unit:r,span:t,gutter:n}),i.paddingBottom="";break;case"ratio":var a=1===e?0:(e-1)/e,d=1/e*100,c=d*(1/r),s=_({share:c,gutterShare:a,gutter:n});i.height="",i.paddingBottom=N({unit:s,span:t,gutter:n});break;case"fit":}return i}function g(){return[].filter.call(a.children(),function(e){return"MD-GRID-TILE"==e.tagName&&!e.$$mdDestroyed})}function b(e){return[].map.call(e,function(e){var n=t.element(e).controller("mdGridTile");return{row:parseInt(i.getResponsiveAttribute(n.$attrs,"md-rowspan"),10)||1,col:parseInt(i.getResponsiveAttribute(n.$attrs,"md-colspan"),10)||1}})}function v(){var e=parseInt(i.getResponsiveAttribute(d,"md-cols"),10);if(isNaN(e))throw"md-grid-list: md-cols attribute was not found, or contained a non-numeric value";return e}function E(){return y(i.getResponsiveAttribute(d,"md-gutter")||1)}function $(){var e=i.getResponsiveAttribute(d,"md-row-height");if(!e)throw"md-grid-list: md-row-height attribute was not found";switch(M()){case"fixed":return y(e);case"ratio":var t=e.split(":");return parseFloat(t[0])/parseFloat(t[1]);case"fit":return 0}}function M(){var e=i.getResponsiveAttribute(d,"md-row-height");if(!e)throw"md-grid-list: md-row-height attribute was not found";return"fit"==e?"fit":-1!==e.indexOf(":")?"ratio":"fixed"}function y(e){return/\D$/.test(e)?e:e+"px"}a.attr("role","list"),c.layoutDelegate=u;var C=t.bind(c,c.invalidateLayout),A=s();n.$on("$destroy",l);var k,T=e.startSymbol(),w=e.endSymbol(),_=e(p("share")+"% - ("+p("gutter")+" * "+p("gutterShare")+")"),x=e("calc(("+p("unit")+" + "+p("gutter")+") * "+p("offset")+")"),N=e("calc(("+p("unit")+") * "+p("span")+" + ("+p("span")+" - 1) * "+p("gutter")+")")}return{restrict:"E",controller:n,scope:{mdOnLayout:"&"},link:a}}function n(e){this.layoutInvalidated=!1,this.tilesInvalidated=!1,this.$timeout_=e.nextTick,this.layoutDelegate=t.noop}function o(e){function n(t,n){var o,a,d,c,s,l;return c=e.time(function(){a=r(t,n)}),o={layoutInfo:function(){return a},map:function(t){return s=e.time(function(){var e=o.layoutInfo();d=t(e.positioning,e.rowCount)}),o},reflow:function(t){return l=e.time(function(){var e=t||i;e(d.grid,d.tiles)}),o},performance:function(){return{tileCount:n.length,layoutTime:c,mapTime:s,reflowTime:l,totalTime:c+s+l}}}}function o(e,t){e.element.css(e.style),t.forEach(function(e){e.element.css(e.style)})}function r(e,t){function n(t,n){if(t.col>e)throw"md-grid-list: Tile at position "+n+" has a colspan ("+t.col+") that exceeds the column count ("+e+")";for(var a=0,l=0;l-a=e?o():(a=s.indexOf(0,d),-1!==a&&-1!==(l=i(a+1))?d=l+1:(a=l=0,o()));return r(a,t.col,t.row),d=a+t.col,{col:a,row:c}}function o(){d=0,c++,r(0,e,-1)}function r(e,t,n){for(var o=e;e+t>o;o++)s[o]=Math.max(s[o]+n,0)}function i(e){var t;for(t=e;tn;n++)t.push(0);return t}var d=0,c=0,s=a();return{positioning:t.map(function(e,t){return{spans:e,position:n(e,t)}}),rowCount:c+Math.max.apply(Math,s)}}var i=o;return n.animateWith=function(e){i=t.isFunction(e)?e:o},n}function r(e){function n(n,o,r,i){o.attr("role","listitem");var a=e.watchResponsiveAttributes(["md-colspan","md-rowspan"],r,t.bind(i,i.invalidateLayout));i.invalidateTiles(),n.$on("$destroy",function(){o[0].$$mdDestroyed=!0,a(),i.invalidateLayout()}),t.isDefined(n.$parent.$index)&&n.$watch(function(){return n.$parent.$index},function(e,t){e!==t&&i.invalidateTiles()})}return{restrict:"E",require:"^mdGridList",template:"
",transclude:!0,scope:{},controller:["$attrs",function(e){this.$attrs=e}],link:n}}function i(){return{template:"
",transclude:!0}}t.module("material.components.gridList",["material.core"]).directive("mdGridList",e).directive("mdGridTile",r).directive("mdGridTileFooter",i).directive("mdGridTileHeader",i).factory("$mdGridLayout",o),e.$inject=["$interpolate","$mdConstant","$mdGridLayout","$mdMedia"],n.$inject=["$mdUtil"],n.prototype={invalidateTiles:function(){this.tilesInvalidated=!0,this.invalidateLayout()},invalidateLayout:function(){this.layoutInvalidated||(this.layoutInvalidated=!0,this.$timeout_(t.bind(this,this.layout)))},layout:function(){try{this.layoutDelegate(this.tilesInvalidated)}finally{this.layoutInvalidated=!1,this.tilesInvalidated=!1}}},o.$inject=["$mdUtil"],r.$inject=["$mdMedia"]}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"]}}t.module("material.components.fabTrigger",["material.core"]).directive("mdFabTrigger",e)}()}(),function(){t.module("material.components.icon",["material.core"])}(),function(){function n(e,t){function n(t,n){e(n);var o=n[0].querySelector(i),r=n[0].querySelector(a);o&&n.addClass("md-icon-left"),r&&n.addClass("md-icon-right")}function o(e,n,o,r){var i=this;i.isErrorGetter=o.mdIsError&&t(o.mdIsError),i.delegateClick=function(){i.input.focus()},i.element=n,i.setFocused=function(e){n.toggleClass("md-input-focused",!!e)},i.setHasValue=function(e){n.toggleClass("md-input-has-value",!!e)},i.setHasPlaceholder=function(e){n.toggleClass("md-input-has-placeholder",!!e)},i.setInvalid=function(e){e?r.addClass(n,"md-input-invalid"):r.removeClass(n,"md-input-invalid")},e.$watch(function(){return i.label&&i.input},function(e){e&&!i.label.attr("for")&&i.label.attr("for",i.input.attr("id"))})}var r=["INPUT","TEXTAREA","SELECT","MD-SELECT"],i=r.reduce(function(e,t){return e.concat(["md-icon ~ "+t,".md-icon ~ "+t])},[]).join(","),a=r.reduce(function(e,t){return e.concat([t+" ~ md-icon",t+" ~ .md-icon"])},[]).join(",");return o.$inject=["$scope","$element","$attrs","$animate"],{restrict:"E",link:n,controller:o}}function o(){return{restrict:"E",require:"^?mdInputContainer",link:function(e,t,n,o){!o||n.mdNoFloat||t.hasClass("_md-container-ignore")||(o.label=t,e.$on("$destroy",function(){o.label=null}))}}}function r(e,n,o,r){function i(i,a,d,c){function s(e){return p.setHasValue(!f.$isEmpty(e)),e}function l(){p.label&&d.$observe("required",function(e){p.label.toggleClass("md-required",e&&!b)})}function m(){p.setHasValue(a.val().length>0||(a[0].validity||{}).badInput)}function u(){function o(){if(a.addClass("md-no-flex").attr("rows",1),m){u||(p.style.minHeight=0,u=a.prop("clientHeight"),p.style.minHeight=null);var e=Math.round(Math.round(c()/u)),t=Math.min(e,m);a.css("height",u*t+"px").attr("rows",t).toggleClass("_md-textarea-scrollable",e>=m)}else{a.css("height","auto"),p.scrollTop=0;var n=c();n&&a.css("height",n+"px")}a.removeClass("md-no-flex")}function c(){var e=p.offsetHeight,t=p.scrollHeight-e;return e+(t>0?t:0)}function s(e){p.scrollTop=0;var t=p.scrollHeight-p.offsetHeight,n=p.offsetHeight+t;p.style.height=n+"px"}function l(e){return o(),e}if(!d.hasOwnProperty("mdNoAutogrow")){var m=d.hasOwnProperty("rows")?parseInt(d.rows):NaN,u=null,p=a[0];if(r(function(){e.nextTick(o)},10,!1),h?(f.$formatters.unshift(l),f.$parsers.unshift(l)):a.on("input",o),m||a.attr("rows",1).on("scroll",s),t.element(n).on("resize",o),i.$on("$destroy",function(){t.element(n).off("resize",o)}),d.hasOwnProperty("mdDetectHidden")){var g=function(){var e=!1;return function(){var t=0===p.offsetHeight;t===!1&&e===!0&&o(),e=t}}();i.$watch(function(){return e.nextTick(g,!1),!0})}}}var p=c[0],h=!!c[1],f=c[1]||e.fakeNgModel(),g=t.isDefined(d.readonly),b=e.parseAttributeBoolean(d.mdNoAsterisk);if(p){if("hidden"===d.type)return void a.attr("aria-hidden","true");if(p.input)throw new Error(" can only have *one* , - - - - - - - - - - - - - - - - - - - - - - - - - -
DirectiveHowSourceRendered
ng-bind-htmlAutomatically uses $sanitize
<div ng-bind-html="snippet">
</div>
ng-bind-htmlBypass $sanitize by explicitly trusting the dangerous value -
<div ng-bind-html="deliberatelyTrustDangerousSnippet()">
-</div>
-
ng-bindAutomatically escapes
<div ng-bind="snippet">
</div>
-
- - - it('should sanitize the html snippet by default', function() { - expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()). - toBe('

an html\nclick here\nsnippet

'); - }); - - it('should inline raw snippet if bound to a trusted value', function() { - expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()). - toBe("

an html\n" + - "click here\n" + - "snippet

"); - }); - - it('should escape snippet without any filter', function() { - expect(element(by.css('#bind-default div')).getInnerHtml()). - toBe("<p style=\"color:blue\">an html\n" + - "<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" + - "snippet</p>"); - }); - - it('should update', function() { - element(by.model('snippet')).clear(); - element(by.model('snippet')).sendKeys('new text'); - expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()). - toBe('new text'); - expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()).toBe( - 'new text'); - expect(element(by.css('#bind-default div')).getInnerHtml()).toBe( - "new <b onclick=\"alert(1)\">text</b>"); - }); -
- - */ - - -/** - * @ngdoc provider - * @name $sanitizeProvider - * - * @description - * Creates and configures {@link $sanitize} instance. - */ -function $SanitizeProvider() { - var svgEnabled = false; - - this.$get = ['$$sanitizeUri', function($$sanitizeUri) { - if (svgEnabled) { - angular.extend(validElements, svgElements); - } - return function(html) { - var buf = []; - htmlParser(html, htmlSanitizeWriter(buf, function(uri, isImage) { - return !/^unsafe:/.test($$sanitizeUri(uri, isImage)); - })); - return buf.join(''); - }; - }]; - - - /** - * @ngdoc method - * @name $sanitizeProvider#enableSvg - * @kind function - * - * @description - * Enables a subset of svg to be supported by the sanitizer. - * - *
- *

By enabling this setting without taking other precautions, you might expose your - * application to click-hijacking attacks. In these attacks, sanitized svg elements could be positioned - * outside of the containing element and be rendered over other elements on the page (e.g. a login - * link). Such behavior can then result in phishing incidents.

- * - *

To protect against these, explicitly setup `overflow: hidden` css rule for all potential svg - * tags within the sanitized content:

- * - *
- * - *

-   *   .rootOfTheIncludedContent svg {
-   *     overflow: hidden !important;
-   *   }
-   *   
- *
- * - * @param {boolean=} flag Enable or disable SVG support in the sanitizer. - * @returns {boolean|ng.$sanitizeProvider} Returns the currently configured value if called - * without an argument or self for chaining otherwise. - */ - this.enableSvg = function(enableSvg) { - if (angular.isDefined(enableSvg)) { - svgEnabled = enableSvg; - return this; - } else { - return svgEnabled; - } - }; -} - -function sanitizeText(chars) { - var buf = []; - var writer = htmlSanitizeWriter(buf, angular.noop); - writer.chars(chars); - return buf.join(''); -} - - -// Regular Expressions for parsing tags and attributes -var SURROGATE_PAIR_REGEXP = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, - // Match everything outside of normal chars and " (quote character) - NON_ALPHANUMERIC_REGEXP = /([^\#-~ |!])/g; - - -// Good source of info about elements and attributes -// http://dev.w3.org/html5/spec/Overview.html#semantics -// http://simon.html5.org/html-elements - -// Safe Void Elements - HTML5 -// http://dev.w3.org/html5/spec/Overview.html#void-elements -var voidElements = toMap("area,br,col,hr,img,wbr"); - -// Elements that you can, intentionally, leave open (and which close themselves) -// http://dev.w3.org/html5/spec/Overview.html#optional-tags -var optionalEndTagBlockElements = toMap("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"), - optionalEndTagInlineElements = toMap("rp,rt"), - optionalEndTagElements = angular.extend({}, - optionalEndTagInlineElements, - optionalEndTagBlockElements); - -// Safe Block Elements - HTML5 -var blockElements = angular.extend({}, optionalEndTagBlockElements, toMap("address,article," + - "aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5," + - "h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")); - -// Inline Elements - HTML5 -var inlineElements = angular.extend({}, optionalEndTagInlineElements, toMap("a,abbr,acronym,b," + - "bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s," + - "samp,small,span,strike,strong,sub,sup,time,tt,u,var")); - -// SVG Elements -// https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Elements -// Note: the elements animate,animateColor,animateMotion,animateTransform,set are intentionally omitted. -// They can potentially allow for arbitrary javascript to be executed. See #11290 -var svgElements = toMap("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph," + - "hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline," + - "radialGradient,rect,stop,svg,switch,text,title,tspan"); - -// Blocked Elements (will be stripped) -var blockedElements = toMap("script,style"); - -var validElements = angular.extend({}, - voidElements, - blockElements, - inlineElements, - optionalEndTagElements); - -//Attributes that have href and hence need to be sanitized -var uriAttrs = toMap("background,cite,href,longdesc,src,xlink:href"); - -var htmlAttrs = toMap('abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,' + - 'color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,' + - 'ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,' + - 'scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,' + - 'valign,value,vspace,width'); - -// SVG attributes (without "id" and "name" attributes) -// https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Attributes -var svgAttrs = toMap('accent-height,accumulate,additive,alphabetic,arabic-form,ascent,' + - 'baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,' + - 'cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,' + - 'font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,' + - 'height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,' + - 'marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,' + - 'max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,' + - 'path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,' + - 'requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,' + - 'stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,' + - 'stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,' + - 'stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,' + - 'underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,' + - 'width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,' + - 'xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan', true); - -var validAttrs = angular.extend({}, - uriAttrs, - svgAttrs, - htmlAttrs); - -function toMap(str, lowercaseKeys) { - var obj = {}, items = str.split(','), i; - for (i = 0; i < items.length; i++) { - obj[lowercaseKeys ? angular.lowercase(items[i]) : items[i]] = true; - } - return obj; -} - -var inertBodyElement; -(function(window) { - var doc; - if (window.document && window.document.implementation) { - doc = window.document.implementation.createHTMLDocument("inert"); - } else { - throw $sanitizeMinErr('noinert', "Can't create an inert html document"); - } - var docElement = doc.documentElement || doc.getDocumentElement(); - var bodyElements = docElement.getElementsByTagName('body'); - - // usually there should be only one body element in the document, but IE doesn't have any, so we need to create one - if (bodyElements.length === 1) { - inertBodyElement = bodyElements[0]; - } else { - var html = doc.createElement('html'); - inertBodyElement = doc.createElement('body'); - html.appendChild(inertBodyElement); - doc.appendChild(html); - } -})(window); - -/** - * @example - * htmlParser(htmlString, { - * start: function(tag, attrs) {}, - * end: function(tag) {}, - * chars: function(text) {}, - * comment: function(text) {} - * }); - * - * @param {string} html string - * @param {object} handler - */ -function htmlParser(html, handler) { - if (html === null || html === undefined) { - html = ''; - } else if (typeof html !== 'string') { - html = '' + html; - } - inertBodyElement.innerHTML = html; - - //mXSS protection - var mXSSAttempts = 5; - do { - if (mXSSAttempts === 0) { - throw $sanitizeMinErr('uinput', "Failed to sanitize html because the input is unstable"); - } - mXSSAttempts--; - - // strip custom-namespaced attributes on IE<=11 - if (window.document.documentMode) { - stripCustomNsAttrs(inertBodyElement); - } - html = inertBodyElement.innerHTML; //trigger mXSS - inertBodyElement.innerHTML = html; - } while (html !== inertBodyElement.innerHTML); - - var node = inertBodyElement.firstChild; - while (node) { - switch (node.nodeType) { - case 1: // ELEMENT_NODE - handler.start(node.nodeName.toLowerCase(), attrToMap(node.attributes)); - break; - case 3: // TEXT NODE - handler.chars(node.textContent); - break; - } - - var nextNode; - if (!(nextNode = node.firstChild)) { - if (node.nodeType == 1) { - handler.end(node.nodeName.toLowerCase()); - } - nextNode = node.nextSibling; - if (!nextNode) { - while (nextNode == null) { - node = node.parentNode; - if (node === inertBodyElement) break; - nextNode = node.nextSibling; - if (node.nodeType == 1) { - handler.end(node.nodeName.toLowerCase()); - } - } - } - } - node = nextNode; - } - - while (node = inertBodyElement.firstChild) { - inertBodyElement.removeChild(node); - } -} - -function attrToMap(attrs) { - var map = {}; - for (var i = 0, ii = attrs.length; i < ii; i++) { - var attr = attrs[i]; - map[attr.name] = attr.value; - } - return map; -} - - -/** - * Escapes all potentially dangerous characters, so that the - * resulting string can be safely inserted into attribute or - * element text. - * @param value - * @returns {string} escaped text - */ -function encodeEntities(value) { - return value. - replace(/&/g, '&'). - replace(SURROGATE_PAIR_REGEXP, function(value) { - var hi = value.charCodeAt(0); - var low = value.charCodeAt(1); - return '&#' + (((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000) + ';'; - }). - replace(NON_ALPHANUMERIC_REGEXP, function(value) { - return '&#' + value.charCodeAt(0) + ';'; - }). - replace(//g, '>'); -} - -/** - * create an HTML/XML writer which writes to buffer - * @param {Array} buf use buf.join('') to get out sanitized html string - * @returns {object} in the form of { - * start: function(tag, attrs) {}, - * end: function(tag) {}, - * chars: function(text) {}, - * comment: function(text) {} - * } - */ -function htmlSanitizeWriter(buf, uriValidator) { - var ignoreCurrentElement = false; - var out = angular.bind(buf, buf.push); - return { - start: function(tag, attrs) { - tag = angular.lowercase(tag); - if (!ignoreCurrentElement && blockedElements[tag]) { - ignoreCurrentElement = tag; - } - if (!ignoreCurrentElement && validElements[tag] === true) { - out('<'); - out(tag); - angular.forEach(attrs, function(value, key) { - var lkey=angular.lowercase(key); - var isImage = (tag === 'img' && lkey === 'src') || (lkey === 'background'); - if (validAttrs[lkey] === true && - (uriAttrs[lkey] !== true || uriValidator(value, isImage))) { - out(' '); - out(key); - out('="'); - out(encodeEntities(value)); - out('"'); - } - }); - out('>'); - } - }, - end: function(tag) { - tag = angular.lowercase(tag); - if (!ignoreCurrentElement && validElements[tag] === true && voidElements[tag] !== true) { - out(''); - } - if (tag == ignoreCurrentElement) { - ignoreCurrentElement = false; - } - }, - chars: function(chars) { - if (!ignoreCurrentElement) { - out(encodeEntities(chars)); - } - } - }; -} - - -/** - * When IE9-11 comes across an unknown namespaced attribute e.g. 'xlink:foo' it adds 'xmlns:ns1' attribute to declare - * ns1 namespace and prefixes the attribute with 'ns1' (e.g. 'ns1:xlink:foo'). This is undesirable since we don't want - * to allow any of these custom attributes. This method strips them all. - * - * @param node Root element to process - */ -function stripCustomNsAttrs(node) { - if (node.nodeType === window.Node.ELEMENT_NODE) { - var attrs = node.attributes; - for (var i = 0, l = attrs.length; i < l; i++) { - var attrNode = attrs[i]; - var attrName = attrNode.name.toLowerCase(); - if (attrName === 'xmlns:ns1' || attrName.lastIndexOf('ns1:', 0) === 0) { - node.removeAttributeNode(attrNode); - i--; - l--; - } - } - } - - var nextNode = node.firstChild; - if (nextNode) { - stripCustomNsAttrs(nextNode); - } - - nextNode = node.nextSibling; - if (nextNode) { - stripCustomNsAttrs(nextNode); - } -} - - - -// define ngSanitize module and register $sanitize service -angular.module('ngSanitize', []).provider('$sanitize', $SanitizeProvider); - -/* global sanitizeText: false */ - -/** - * @ngdoc filter - * @name linky - * @kind function - * - * @description - * Finds links in text input and turns them into html links. Supports `http/https/ftp/mailto` and - * plain email address links. - * - * Requires the {@link ngSanitize `ngSanitize`} module to be installed. - * - * @param {string} text Input text. - * @param {string} target Window (`_blank|_self|_parent|_top`) or named frame to open links in. - * @param {object|function(url)} [attributes] Add custom attributes to the link element. - * - * Can be one of: - * - * - `object`: A map of attributes - * - `function`: Takes the url as a parameter and returns a map of attributes - * - * If the map of attributes contains a value for `target`, it overrides the value of - * the target parameter. - * - * - * @returns {string} Html-linkified and {@link $sanitize sanitized} text. - * - * @usage - - * - * @example - - -
- Snippet: - - - - - - - - - - - - - - - - - - - - - - - - - - -
FilterSourceRendered
linky filter -
<div ng-bind-html="snippet | linky">
</div>
-
-
-
linky target -
<div ng-bind-html="snippetWithSingleURL | linky:'_blank'">
</div>
-
-
-
linky custom attributes -
<div ng-bind-html="snippetWithSingleURL | linky:'_self':{rel: 'nofollow'}">
</div>
-
-
-
no filter
<div ng-bind="snippet">
</div>
- - - angular.module('linkyExample', ['ngSanitize']) - .controller('ExampleController', ['$scope', function($scope) { - $scope.snippet = - 'Pretty text with some links:\n'+ - 'http://angularjs.org/,\n'+ - 'mailto:us@somewhere.org,\n'+ - 'another@somewhere.org,\n'+ - 'and one more: ftp://127.0.0.1/.'; - $scope.snippetWithSingleURL = 'http://angularjs.org/'; - }]); - - - it('should linkify the snippet with urls', function() { - expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()). - toBe('Pretty text with some links: http://angularjs.org/, us@somewhere.org, ' + - 'another@somewhere.org, and one more: ftp://127.0.0.1/.'); - expect(element.all(by.css('#linky-filter a')).count()).toEqual(4); - }); - - it('should not linkify snippet without the linky filter', function() { - expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()). - toBe('Pretty text with some links: http://angularjs.org/, mailto:us@somewhere.org, ' + - 'another@somewhere.org, and one more: ftp://127.0.0.1/.'); - expect(element.all(by.css('#escaped-html a')).count()).toEqual(0); - }); - - it('should update', function() { - element(by.model('snippet')).clear(); - element(by.model('snippet')).sendKeys('new http://link.'); - expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()). - toBe('new http://link.'); - expect(element.all(by.css('#linky-filter a')).count()).toEqual(1); - expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()) - .toBe('new http://link.'); - }); - - it('should work with the target property', function() { - expect(element(by.id('linky-target')). - element(by.binding("snippetWithSingleURL | linky:'_blank'")).getText()). - toBe('http://angularjs.org/'); - expect(element(by.css('#linky-target a')).getAttribute('target')).toEqual('_blank'); - }); - - it('should optionally add custom attributes', function() { - expect(element(by.id('linky-custom-attributes')). - element(by.binding("snippetWithSingleURL | linky:'_self':{rel: 'nofollow'}")).getText()). - toBe('http://angularjs.org/'); - expect(element(by.css('#linky-custom-attributes a')).getAttribute('rel')).toEqual('nofollow'); - }); - - - */ -angular.module('ngSanitize').filter('linky', ['$sanitize', function($sanitize) { - var LINKY_URL_REGEXP = - /((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i, - MAILTO_REGEXP = /^mailto:/i; - - var linkyMinErr = angular.$$minErr('linky'); - var isString = angular.isString; - - return function(text, target, attributes) { - if (text == null || text === '') return text; - if (!isString(text)) throw linkyMinErr('notstring', 'Expected string but received: {0}', text); - - var match; - var raw = text; - var html = []; - var url; - var i; - while ((match = raw.match(LINKY_URL_REGEXP))) { - // We can not end in these as they are sometimes found at the end of the sentence - url = match[0]; - // if we did not match ftp/http/www/mailto then assume mailto - if (!match[2] && !match[4]) { - url = (match[3] ? 'http://' : 'mailto:') + url; - } - i = match.index; - addText(raw.substr(0, i)); - addLink(url, match[0].replace(MAILTO_REGEXP, '')); - raw = raw.substring(i + match[0].length); - } - addText(raw); - return $sanitize(html.join('')); - - function addText(text) { - if (!text) { - return; - } - html.push(sanitizeText(text)); - } - - function addLink(url, text) { - var key; - html.push(''); - addText(text); - html.push(''); - } - }; -}]); - - -})(window, window.angular); diff --git a/src/main/resources/static/vendor/angular/angular-sanitize.min.js b/src/main/resources/static/vendor/angular/angular-sanitize.min.js deleted file mode 100644 index 637f535..0000000 --- a/src/main/resources/static/vendor/angular/angular-sanitize.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - AngularJS v1.5.6 - (c) 2010-2016 Google, Inc. http://angularjs.org - License: MIT -*/ -(function(n,e){'use strict';function B(a){var c=[];w(c,e.noop).chars(a);return c.join("")}function h(a,c){var b={},d=a.split(","),l;for(l=0;l/g,">")}function w(a,c){var b=!1,d=e.bind(a,a.push);return{start:function(a,f){a=e.lowercase(a);!b&&G[a]&&(b=a);b||!0!==u[a]||(d("<"),d(a),e.forEach(f,function(b,f){var g=e.lowercase(f),h="img"===a&&"src"===g||"background"===g;!0!==H[g]||!0===z[g]&&!c(b,h)||(d(" "),d(f),d('="'),d(y(b)),d('"'))}),d(">"))},end:function(a){a=e.lowercase(a);b||!0!==u[a]||!0===A[a]||(d(""));a== -b&&(b=!1)},chars:function(a){b||d(y(a))}}}function t(a){if(a.nodeType===n.Node.ELEMENT_NODE)for(var c=a.attributes,b=0,d=c.length;b"\u201d\u2019]/i,b=/^mailto:/i,d=e.$$minErr("linky"),g=e.isString;return function(f,h,m){function k(a){a&&p.push(B(a))}function q(a,b){var c;p.push("');k(b);p.push("")}if(null==f||""===f)return f;if(!g(f))throw d("notstring",f);for(var r=f,p=[],s,n;f=r.match(c);)s=f[0],f[2]||f[4]||(s=(f[3]?"http://":"mailto:")+s),n=f.index,k(r.substr(0,n)),q(s,f[0].replace(b,"")),r=r.substring(n+f[0].length);k(r);return a(p.join(""))}}])})(window,window.angular); -//# sourceMappingURL=angular-sanitize.min.js.map diff --git a/src/main/resources/static/vendor/angular/angular-sanitize.min.js.map b/src/main/resources/static/vendor/angular/angular-sanitize.min.js.map deleted file mode 100644 index efc2cff..0000000 --- a/src/main/resources/static/vendor/angular/angular-sanitize.min.js.map +++ /dev/null @@ -1,8 +0,0 @@ -{ -"version":3, -"file":"angular-sanitize.min.js", -"lineCount":14, -"mappings":"A;;;;;aAKC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkB,CAsM3BC,QAASA,EAAY,CAACC,CAAD,CAAQ,CAC3B,IAAIC,EAAM,EACGC,EAAAC,CAAmBF,CAAnBE,CAAwBL,CAAAM,KAAxBD,CACbH,MAAA,CAAaA,CAAb,CACA,OAAOC,EAAAI,KAAA,CAAS,EAAT,CAJoB,CAyF7BC,QAASA,EAAK,CAACC,CAAD,CAAMC,CAAN,CAAqB,CAAA,IAC7BC,EAAM,EADuB,CACnBC,EAAQH,CAAAI,MAAA,CAAU,GAAV,CADW,CACKC,CACtC,KAAKA,CAAL,CAAS,CAAT,CAAYA,CAAZ,CAAgBF,CAAAG,OAAhB,CAA8BD,CAAA,EAA9B,CACEH,CAAA,CAAID,CAAA,CAAgBV,CAAAgB,UAAA,CAAkBJ,CAAA,CAAME,CAAN,CAAlB,CAAhB,CAA8CF,CAAA,CAAME,CAAN,CAAlD,CAAA,CAA8D,CAAA,CAEhE,OAAOH,EAL0B,CA0CnCM,QAASA,EAAU,CAACC,CAAD,CAAOC,CAAP,CAAgB,CACpB,IAAb,GAAID,CAAJ,EAA8BE,IAAAA,EAA9B,GAAqBF,CAArB,CACEA,CADF,CACS,EADT,CAE2B,QAF3B,GAEW,MAAOA,EAFlB,GAGEA,CAHF,CAGS,EAHT,CAGcA,CAHd,CAKAG,EAAAC,UAAA,CAA6BJ,CAG7B,KAAIK,EAAe,CACnB,GAAG,CACD,GAAqB,CAArB,GAAIA,CAAJ,CACE,KAAMC,EAAA,CAAgB,QAAhB,CAAN,CAEFD,CAAA,EAGIxB,EAAA0B,SAAAC,aAAJ,EACEC,CAAA,CAAmBN,CAAnB,CAEFH,EAAA,CAAOG,CAAAC,UACPD,EAAAC,UAAA,CAA6BJ,CAX5B,CAAH,MAYSA,CAZT,GAYkBG,CAAAC,UAZlB,CAeA,KADIM,CACJ,CADWP,CAAAQ,WACX,CAAOD,CAAP,CAAA,CAAa,CACX,OAAQA,CAAAE,SAAR,EACE,KAAK,CAAL,CACEX,CAAAY,MAAA,CAAcH,CAAAI,SAAAC,YAAA,EAAd,CAA2CC,CAAA,CAAUN,CAAAO,WAAV,CAA3C,CACA;KACF,MAAK,CAAL,CACEhB,CAAAjB,MAAA,CAAc0B,CAAAQ,YAAd,CALJ,CASA,IAAIC,CACJ,IAAM,EAAAA,CAAA,CAAWT,CAAAC,WAAX,CAAN,GACuB,CAIhBQ,EAJDT,CAAAE,SAICO,EAHHlB,CAAAmB,IAAA,CAAYV,CAAAI,SAAAC,YAAA,EAAZ,CAGGI,CADLA,CACKA,CADMT,CAAAW,YACNF,CAAAA,CAAAA,CALP,EAMI,IAAA,CAAmB,IAAnB,EAAOA,CAAP,CAAA,CAAyB,CACvBT,CAAA,CAAOA,CAAAY,WACP,IAAIZ,CAAJ,GAAaP,CAAb,CAA+B,KAC/BgB,EAAA,CAAWT,CAAAW,YACU,EAArB,EAAIX,CAAAE,SAAJ,EACEX,CAAAmB,IAAA,CAAYV,CAAAI,SAAAC,YAAA,EAAZ,CALqB,CAU7BL,CAAA,CAAOS,CA3BI,CA8Bb,IAAA,CAAOT,CAAP,CAAcP,CAAAQ,WAAd,CAAA,CACER,CAAAoB,YAAA,CAA6Bb,CAA7B,CAxD+B,CA4DnCM,QAASA,EAAS,CAACQ,CAAD,CAAQ,CAExB,IADA,IAAIC,EAAM,EAAV,CACS7B,EAAI,CADb,CACgB8B,EAAKF,CAAA3B,OAArB,CAAmCD,CAAnC,CAAuC8B,CAAvC,CAA2C9B,CAAA,EAA3C,CAAgD,CAC9C,IAAI+B,EAAOH,CAAA,CAAM5B,CAAN,CACX6B,EAAA,CAAIE,CAAAC,KAAJ,CAAA,CAAiBD,CAAAE,MAF6B,CAIhD,MAAOJ,EANiB,CAiB1BK,QAASA,EAAc,CAACD,CAAD,CAAQ,CAC7B,MAAOA,EAAAE,QAAA,CACG,IADH,CACS,OADT,CAAAA,QAAA,CAEGC,CAFH,CAE0B,QAAQ,CAACH,CAAD,CAAQ,CAC7C,IAAII,EAAKJ,CAAAK,WAAA,CAAiB,CAAjB,CACLC,EAAAA,CAAMN,CAAAK,WAAA,CAAiB,CAAjB,CACV,OAAO,IAAP,EAAgC,IAAhC,EAAiBD,CAAjB,CAAsB,KAAtB;CAA0CE,CAA1C,CAAgD,KAAhD,EAA0D,KAA1D,EAAqE,GAHxB,CAF1C,CAAAJ,QAAA,CAOGK,CAPH,CAO4B,QAAQ,CAACP,CAAD,CAAQ,CAC/C,MAAO,IAAP,CAAcA,CAAAK,WAAA,CAAiB,CAAjB,CAAd,CAAoC,GADW,CAP5C,CAAAH,QAAA,CAUG,IAVH,CAUS,MAVT,CAAAA,QAAA,CAWG,IAXH,CAWS,MAXT,CADsB,CAyB/B7C,QAASA,EAAkB,CAACD,CAAD,CAAMoD,CAAN,CAAoB,CAC7C,IAAIC,EAAuB,CAAA,CAA3B,CACIC,EAAMzD,CAAA0D,KAAA,CAAavD,CAAb,CAAkBA,CAAAwD,KAAlB,CACV,OAAO,CACL5B,MAAOA,QAAQ,CAAC6B,CAAD,CAAMlB,CAAN,CAAa,CAC1BkB,CAAA,CAAM5D,CAAAgB,UAAA,CAAkB4C,CAAlB,CACDJ,EAAAA,CAAL,EAA6BK,CAAA,CAAgBD,CAAhB,CAA7B,GACEJ,CADF,CACyBI,CADzB,CAGKJ,EAAL,EAAoD,CAAA,CAApD,GAA6BM,CAAA,CAAcF,CAAd,CAA7B,GACEH,CAAA,CAAI,GAAJ,CAcA,CAbAA,CAAA,CAAIG,CAAJ,CAaA,CAZA5D,CAAA+D,QAAA,CAAgBrB,CAAhB,CAAuB,QAAQ,CAACK,CAAD,CAAQiB,CAAR,CAAa,CAC1C,IAAIC,EAAKjE,CAAAgB,UAAA,CAAkBgD,CAAlB,CAAT,CACIE,EAAmB,KAAnBA,GAAWN,CAAXM,EAAqC,KAArCA,GAA4BD,CAA5BC,EAAyD,YAAzDA,GAAgDD,CAC3B,EAAA,CAAzB,GAAIE,CAAA,CAAWF,CAAX,CAAJ,EACsB,CAAA,CADtB,GACGG,CAAA,CAASH,CAAT,CADH,EAC8B,CAAAV,CAAA,CAAaR,CAAb,CAAoBmB,CAApB,CAD9B,GAEET,CAAA,CAAI,GAAJ,CAIA,CAHAA,CAAA,CAAIO,CAAJ,CAGA,CAFAP,CAAA,CAAI,IAAJ,CAEA,CADAA,CAAA,CAAIT,CAAA,CAAeD,CAAf,CAAJ,CACA,CAAAU,CAAA,CAAI,GAAJ,CANF,CAH0C,CAA5C,CAYA,CAAAA,CAAA,CAAI,GAAJ,CAfF,CAL0B,CADvB,CAwBLnB,IAAKA,QAAQ,CAACsB,CAAD,CAAM,CACjBA,CAAA,CAAM5D,CAAAgB,UAAA,CAAkB4C,CAAlB,CACDJ,EAAL,EAAoD,CAAA,CAApD,GAA6BM,CAAA,CAAcF,CAAd,CAA7B,EAAkF,CAAA,CAAlF,GAA4DS,CAAA,CAAaT,CAAb,CAA5D,GACEH,CAAA,CAAI,IAAJ,CAEA,CADAA,CAAA,CAAIG,CAAJ,CACA,CAAAH,CAAA,CAAI,GAAJ,CAHF,CAKIG,EAAJ;AAAWJ,CAAX,GACEA,CADF,CACyB,CAAA,CADzB,CAPiB,CAxBd,CAmCLtD,MAAOA,QAAQ,CAACA,CAAD,CAAQ,CAChBsD,CAAL,EACEC,CAAA,CAAIT,CAAA,CAAe9C,CAAf,CAAJ,CAFmB,CAnClB,CAHsC,CAsD/CyB,QAASA,EAAkB,CAACC,CAAD,CAAO,CAChC,GAAIA,CAAAE,SAAJ,GAAsB/B,CAAAuE,KAAAC,aAAtB,CAEE,IADA,IAAI7B,EAAQd,CAAAO,WAAZ,CACSrB,EAAI,CADb,CACgB0D,EAAI9B,CAAA3B,OAApB,CAAkCD,CAAlC,CAAsC0D,CAAtC,CAAyC1D,CAAA,EAAzC,CAA8C,CAC5C,IAAI2D,EAAW/B,CAAA,CAAM5B,CAAN,CAAf,CACI4D,EAAWD,CAAA3B,KAAAb,YAAA,EACf,IAAiB,WAAjB,GAAIyC,CAAJ,EAAoE,CAApE,GAAgCA,CAAAC,YAAA,CAAqB,MAArB,CAA6B,CAA7B,CAAhC,CACE/C,CAAAgD,oBAAA,CAAyBH,CAAzB,CAEA,CADA3D,CAAA,EACA,CAAA0D,CAAA,EAN0C,CAYhD,CADInC,CACJ,CADeT,CAAAC,WACf,GACEF,CAAA,CAAmBU,CAAnB,CAIF,EADAA,CACA,CADWT,CAAAW,YACX,GACEZ,CAAA,CAAmBU,CAAnB,CArB8B,CAxdlC,IAAIb,EAAkBxB,CAAA6E,SAAA,CAAiB,WAAjB,CAAtB,CAkMI3B,EAAwB,iCAlM5B,CAoMEI,EAA0B,eApM5B,CA6MIe,EAAe7D,CAAA,CAAM,wBAAN,CA7MnB,CAiNIsE,EAA8BtE,CAAA,CAAM,gDAAN,CAjNlC,CAkNIuE,EAA+BvE,CAAA,CAAM,OAAN,CAlNnC,CAmNIwE,EAAyBhF,CAAAiF,OAAA,CAAe,EAAf,CACeF,CADf,CAEeD,CAFf,CAnN7B;AAwNII,EAAgBlF,CAAAiF,OAAA,CAAe,EAAf,CAAmBH,CAAnB,CAAgDtE,CAAA,CAAM,qKAAN,CAAhD,CAxNpB,CA6NI2E,EAAiBnF,CAAAiF,OAAA,CAAe,EAAf,CAAmBF,CAAnB,CAAiDvE,CAAA,CAAM,2JAAN,CAAjD,CA7NrB,CAqOI4E,EAAc5E,CAAA,CAAM,wNAAN,CArOlB;AA0OIqD,EAAkBrD,CAAA,CAAM,cAAN,CA1OtB,CA4OIsD,EAAgB9D,CAAAiF,OAAA,CAAe,EAAf,CACeZ,CADf,CAEea,CAFf,CAGeC,CAHf,CAIeH,CAJf,CA5OpB,CAmPIZ,EAAW5D,CAAA,CAAM,8CAAN,CAnPf,CAqPI6E,EAAY7E,CAAA,CAAM,kTAAN,CArPhB,CA6PI8E,EAAW9E,CAAA,CAAM,guCAAN;AAcoE,CAAA,CAdpE,CA7Pf,CA6QI2D,EAAanE,CAAAiF,OAAA,CAAe,EAAf,CACeb,CADf,CAEekB,CAFf,CAGeD,CAHf,CA7QjB,CA0RIhE,CACH,UAAQ,CAACtB,CAAD,CAAS,CAEhB,GAAIA,CAAA0B,SAAJ,EAAuB1B,CAAA0B,SAAA8D,eAAvB,CACEC,CAAA,CAAMzF,CAAA0B,SAAA8D,eAAAE,mBAAA,CAAkD,OAAlD,CADR,KAGE,MAAMjE,EAAA,CAAgB,SAAhB,CAAN,CAGF,IAAIkE,EAAeC,CADFH,CAAAI,gBACED,EADqBH,CAAAK,mBAAA,EACrBF,sBAAA,CAAgC,MAAhC,CAGS,EAA5B,GAAID,CAAA3E,OAAJ,CACEM,CADF,CACqBqE,CAAA,CAAa,CAAb,CADrB,EAGMxE,CAGJ,CAHWsE,CAAAM,cAAA,CAAkB,MAAlB,CAGX,CAFAzE,CAEA,CAFmBmE,CAAAM,cAAA,CAAkB,MAAlB,CAEnB,CADA5E,CAAA6E,YAAA,CAAiB1E,CAAjB,CACA,CAAAmE,CAAAO,YAAA,CAAgB7E,CAAhB,CANF,CAXgB,CAAjB,CAAD,CAmBGnB,CAnBH,CAyNAC,EAAAgG,OAAA,CAAe,YAAf,CAA6B,EAA7B,CAAAC,SAAA,CAA0C,WAA1C,CApXAC,QAA0B,EAAG,CAC3B,IAAIC,EAAa,CAAA,CAEjB,KAAAC,KAAA,CAAY,CAAC,eAAD,CAAkB,QAAQ,CAACC,CAAD,CAAgB,CAChDF,CAAJ,EACEnG,CAAAiF,OAAA,CAAenB,CAAf,CAA8BsB,CAA9B,CAEF,OAAO,SAAQ,CAAClE,CAAD,CAAO,CACpB,IAAIf;AAAM,EACVc,EAAA,CAAWC,CAAX,CAAiBd,CAAA,CAAmBD,CAAnB,CAAwB,QAAQ,CAACmG,CAAD,CAAMpC,CAAN,CAAe,CAC9D,MAAO,CAAC,UAAAqC,KAAA,CAAgBF,CAAA,CAAcC,CAAd,CAAmBpC,CAAnB,CAAhB,CADsD,CAA/C,CAAjB,CAGA,OAAO/D,EAAAI,KAAA,CAAS,EAAT,CALa,CAJ8B,CAA1C,CA4CZ,KAAAiG,UAAA,CAAiBC,QAAQ,CAACD,CAAD,CAAY,CACnC,MAAIxG,EAAA0G,UAAA,CAAkBF,CAAlB,CAAJ,EACEL,CACO,CADMK,CACN,CAAA,IAFT,EAISL,CAL0B,CA/CV,CAoX7B,CAmIAnG,EAAAgG,OAAA,CAAe,YAAf,CAAAW,OAAA,CAAoC,OAApC,CAA6C,CAAC,WAAD,CAAc,QAAQ,CAACC,CAAD,CAAY,CAAA,IACzEC,EACE,yFAFuE,CAGzEC,EAAgB,WAHyD,CAKzEC,EAAc/G,CAAA6E,SAAA,CAAiB,OAAjB,CAL2D,CAMzEmC,EAAWhH,CAAAgH,SAEf,OAAO,SAAQ,CAACC,CAAD,CAAOC,CAAP,CAAe/E,CAAf,CAA2B,CAwBxCgF,QAASA,EAAO,CAACF,CAAD,CAAO,CAChBA,CAAL,EAGA/F,CAAAyC,KAAA,CAAU1D,CAAA,CAAagH,CAAb,CAAV,CAJqB,CAOvBG,QAASA,EAAO,CAACC,CAAD,CAAMJ,CAAN,CAAY,CAC1B,IAAIjD,CACJ9C,EAAAyC,KAAA,CAAU,KAAV,CACI3D,EAAAsH,WAAA,CAAmBnF,CAAnB,CAAJ,GACEA,CADF,CACeA,CAAA,CAAWkF,CAAX,CADf,CAGA,IAAIrH,CAAAuH,SAAA,CAAiBpF,CAAjB,CAAJ,CACE,IAAK6B,CAAL,GAAY7B,EAAZ,CACEjB,CAAAyC,KAAA,CAAUK,CAAV;AAAgB,IAAhB,CAAuB7B,CAAA,CAAW6B,CAAX,CAAvB,CAAyC,IAAzC,CAFJ,KAKE7B,EAAA,CAAa,EAEX,EAAAnC,CAAA0G,UAAA,CAAkBQ,CAAlB,CAAJ,EAAmC,QAAnC,EAA+C/E,EAA/C,EACEjB,CAAAyC,KAAA,CAAU,UAAV,CACUuD,CADV,CAEU,IAFV,CAIFhG,EAAAyC,KAAA,CAAU,QAAV,CACU0D,CAAApE,QAAA,CAAY,IAAZ,CAAkB,QAAlB,CADV,CAEU,IAFV,CAGAkE,EAAA,CAAQF,CAAR,CACA/F,EAAAyC,KAAA,CAAU,MAAV,CAtB0B,CA9B5B,GAAY,IAAZ,EAAIsD,CAAJ,EAA6B,EAA7B,GAAoBA,CAApB,CAAiC,MAAOA,EACxC,IAAK,CAAAD,CAAA,CAASC,CAAT,CAAL,CAAqB,KAAMF,EAAA,CAAY,WAAZ,CAA8DE,CAA9D,CAAN,CAOrB,IAJA,IAAIO,EAAMP,CAAV,CACI/F,EAAO,EADX,CAEImG,CAFJ,CAGIvG,CACJ,CAAQ2G,CAAR,CAAgBD,CAAAC,MAAA,CAAUZ,CAAV,CAAhB,CAAA,CAEEQ,CAQA,CARMI,CAAA,CAAM,CAAN,CAQN,CANKA,CAAA,CAAM,CAAN,CAML,EANkBA,CAAA,CAAM,CAAN,CAMlB,GALEJ,CAKF,EALSI,CAAA,CAAM,CAAN,CAAA,CAAW,SAAX,CAAuB,SAKhC,EAL6CJ,CAK7C,EAHAvG,CAGA,CAHI2G,CAAAC,MAGJ,CAFAP,CAAA,CAAQK,CAAAG,OAAA,CAAW,CAAX,CAAc7G,CAAd,CAAR,CAEA,CADAsG,CAAA,CAAQC,CAAR,CAAaI,CAAA,CAAM,CAAN,CAAAxE,QAAA,CAAiB6D,CAAjB,CAAgC,EAAhC,CAAb,CACA,CAAAU,CAAA,CAAMA,CAAAI,UAAA,CAAc9G,CAAd,CAAkB2G,CAAA,CAAM,CAAN,CAAA1G,OAAlB,CAERoG,EAAA,CAAQK,CAAR,CACA,OAAOZ,EAAA,CAAU1F,CAAAX,KAAA,CAAU,EAAV,CAAV,CAtBiC,CARmC,CAAlC,CAA7C,CApoB2B,CAA1B,CAAD,CAusBGR,MAvsBH,CAusBWA,MAAAC,QAvsBX;", -"sources":["angular-sanitize.js"], -"names":["window","angular","sanitizeText","chars","buf","htmlSanitizeWriter","writer","noop","join","toMap","str","lowercaseKeys","obj","items","split","i","length","lowercase","htmlParser","html","handler","undefined","inertBodyElement","innerHTML","mXSSAttempts","$sanitizeMinErr","document","documentMode","stripCustomNsAttrs","node","firstChild","nodeType","start","nodeName","toLowerCase","attrToMap","attributes","textContent","nextNode","end","nextSibling","parentNode","removeChild","attrs","map","ii","attr","name","value","encodeEntities","replace","SURROGATE_PAIR_REGEXP","hi","charCodeAt","low","NON_ALPHANUMERIC_REGEXP","uriValidator","ignoreCurrentElement","out","bind","push","tag","blockedElements","validElements","forEach","key","lkey","isImage","validAttrs","uriAttrs","voidElements","Node","ELEMENT_NODE","l","attrNode","attrName","lastIndexOf","removeAttributeNode","$$minErr","optionalEndTagBlockElements","optionalEndTagInlineElements","optionalEndTagElements","extend","blockElements","inlineElements","svgElements","htmlAttrs","svgAttrs","implementation","doc","createHTMLDocument","bodyElements","getElementsByTagName","documentElement","getDocumentElement","createElement","appendChild","module","provider","$SanitizeProvider","svgEnabled","$get","$$sanitizeUri","uri","test","enableSvg","this.enableSvg","isDefined","filter","$sanitize","LINKY_URL_REGEXP","MAILTO_REGEXP","linkyMinErr","isString","text","target","addText","addLink","url","isFunction","isObject","raw","match","index","substr","substring"] -} diff --git a/src/main/resources/static/vendor/angular/angular-scenario.js b/src/main/resources/static/vendor/angular/angular-scenario.js deleted file mode 100644 index dab7290..0000000 --- a/src/main/resources/static/vendor/angular/angular-scenario.js +++ /dev/null @@ -1,43097 +0,0 @@ -/*! - * jQuery JavaScript Library v2.2.3 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2016-04-05T19:26Z - */ - -(function( global, factory ) {'use strict'; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Support: Firefox 18+ -// Can't be in strict mode, several libs including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// - -var arr = []; - -var document = window.document; - -var slice = arr.slice; - -var concat = arr.concat; - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var support = {}; - - - -var - version = "2.2.3", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android<4.1 - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = jQuery.isArray( copy ) ) ) ) { - - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray( src ) ? src : []; - - } else { - clone = src && jQuery.isPlainObject( src ) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isFunction: function( obj ) { - return jQuery.type( obj ) === "function"; - }, - - isArray: Array.isArray, - - isWindow: function( obj ) { - return obj != null && obj === obj.window; - }, - - isNumeric: function( obj ) { - - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - // adding 1 corrects loss of precision from parseFloat (#15100) - var realStringObj = obj && obj.toString(); - return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; - }, - - isPlainObject: function( obj ) { - var key; - - // Not plain objects: - // - Any object or value whose internal [[Class]] property is not "[object Object]" - // - DOM nodes - // - window - if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call( obj, "constructor" ) && - !hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) { - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android<4.0, iOS<6 (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - globalEval: function( code ) { - var script, - indirect = eval; - - code = jQuery.trim( code ); - - if ( code ) { - - // If the code includes a valid, prologue position - // strict mode pragma, execute code by injecting a - // script tag into the document. - if ( code.indexOf( "use strict" ) === 1 ) { - script = document.createElement( "script" ); - script.text = code; - document.head.appendChild( script ).parentNode.removeChild( script ); - } else { - - // Otherwise, avoid the DOM node creation, insertion - // and removal by using an indirect global eval - - indirect( code ); - } - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Support: IE9-11+ - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // Support: Android<4.1 - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var tmp, args, proxy; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: Date.now, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -// JSHint would error on this code due to the Symbol not being defined in ES5. -// Defining this global in .jshintrc would create a danger of using the global -// unguarded in another place, it seems safer to just disable JSHint for these -// three lines. -/* jshint ignore: start */ -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} -/* jshint ignore: end */ - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -} ); - -function isArrayLike( obj ) { - - // Support: iOS 8.2 (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.2.1 - * http://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2015-10-17 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // General-purpose constants - MAX_NEGATIVE = 1 << 31, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // http://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - rescape = /'|\\/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }; - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, nidselect, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - - // ID selector - if ( (m = match[1]) ) { - - // Document context - if ( nodeType === 9 ) { - if ( (elem = context.getElementById( m )) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && (elem = newContext.getElementById( m )) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( (m = match[3]) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !compilerCache[ selector + " " ] && - (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - - if ( nodeType !== 1 ) { - newContext = context; - newSelector = selector; - - // qSA looks outside Element context, which is not what we want - // Thanks to Andrew Dupont for this workaround technique - // Support: IE <=8 - // Exclude object elements - } else if ( context.nodeName.toLowerCase() !== "object" ) { - - // Capture the context ID, setting it first if necessary - if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", (nid = expando) ); - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; - while ( i-- ) { - groups[i] = nidselect + " " + toSelector( groups[i] ); - } - newSelector = groups.join( "," ); - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - // release memory in IE - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, parent, - doc = node ? node.ownerDocument || node : preferredDoc; - - // Return early if doc is invalid or already selected - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Update global variables - document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML( document ); - - // Support: IE 9-11, Edge - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - if ( (parent = document.defaultView) && parent.top !== parent ) { - // Support: IE 11 - if ( parent.addEventListener ) { - parent.addEventListener( "unload", unloadHandler, false ); - - // Support: IE 9 - 10 only - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", unloadHandler ); - } - } - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( document.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( document.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !document.getElementsByName || !document.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var m = context.getElementById( id ); - return m ? [ m ] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - docElem.appendChild( div ).innerHTML = "" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === document ? -1 : - b === document ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - !compilerCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch (e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) { - - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - // Use previously-cached element index if available - if ( useCache ) { - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - uniqueCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); - - if ( (oldCache = uniqueCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context === document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - if ( !context && elem.ownerDocument !== document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context || document, xml) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = ""; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = ""; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - } ); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, - len = this.length, - ret = [], - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - // Support: Blackberry 4.6 - // gEBID returns nodes no longer in the document (#6963) - if ( elem && elem.parentNode ) { - - // Inject the element directly into the jQuery object - this.length = 1; - this[ 0 ] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( pos ? - pos.index( cur ) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - return elem.contentDocument || jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnotwhite = ( /\S+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( jQuery.isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], - [ "notify", "progress", jQuery.Callbacks( "memory" ) ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this === promise ? newDefer.promise() : this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( function() { - - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || - ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. - // If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - } else if ( !( --remaining ) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // Add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .progress( updateFunc( i, progressContexts, progressValues ) ) - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ); - } else { - --remaining; - } - } - } - - // If we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -} ); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -} ); - -/** - * The ready event handler and self cleanup method - */ -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called - // after the browser event has already occurred. - // Support: IE9-10 only - // Older IE sometimes signals "interactive" too soon - if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - - } else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); - } - } - return readyList.promise( obj ); -}; - -// Kick off the DOM ready check even if the user does not -jQuery.ready.promise(); - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - len ? fn( elems[ 0 ], key ) : emptyGet; -}; -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - /* jshint -W018 */ - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - register: function( owner, initial ) { - var value = initial || {}; - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable, non-writable property - // configurability must be true to allow the property to be - // deleted with the delete operator - } else { - Object.defineProperty( owner, this.expando, { - value: value, - writable: true, - configurable: true - } ); - } - return owner[ this.expando ]; - }, - cache: function( owner ) { - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( !acceptData( owner ) ) { - return {}; - } - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = {}; - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - if ( typeof data === "string" ) { - cache[ data ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ prop ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - owner[ this.expando ] && owner[ this.expando ][ key ]; - }, - access: function( owner, key, value ) { - var stored; - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - stored = this.get( owner, key ); - - return stored !== undefined ? - stored : this.get( owner, jQuery.camelCase( key ) ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, name, camel, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key === undefined ) { - this.register( owner ); - - } else { - - // Support array or space separated string of keys - if ( jQuery.isArray( key ) ) { - - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = key.concat( key.map( jQuery.camelCase ) ); - } else { - camel = jQuery.camelCase( key ); - - // Try the string as a key before any manipulation - if ( key in cache ) { - name = [ key, camel ]; - } else { - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - name = camel; - name = name in cache ? - [ name ] : ( name.match( rnotwhite ) || [] ); - } - } - - i = name.length; - - while ( i-- ) { - delete cache[ name[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <= 35-45+ - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://code.google.com/p/chromium/issues/detail?id=378607 - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data, camelKey; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // with the key as-is - data = dataUser.get( elem, key ) || - - // Try to find dashed key if it exists (gh-2779) - // This is for 2.2.x only - dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() ); - - if ( data !== undefined ) { - return data; - } - - camelKey = jQuery.camelCase( key ); - - // Attempt to get data from the cache - // with the key camelized - data = dataUser.get( elem, camelKey ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, camelKey, undefined ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - camelKey = jQuery.camelCase( key ); - this.each( function() { - - // First, attempt to store a copy or reference of any - // data that might've been store with a camelCased key. - var data = dataUser.get( this, camelKey ); - - // For HTML5 data-* attribute interop, we have to - // store property names with dashes in a camelCase form. - // This might not apply to all properties...* - dataUser.set( this, camelKey, value ); - - // *... In the case of properties that might _actually_ - // have dashes, we need to also store a copy of that - // unchanged property. - if ( key.indexOf( "-" ) > -1 && data !== undefined ) { - dataUser.set( this, key, value ); - } - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( elem, el ) { - - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || - !jQuery.contains( elem.ownerDocument, elem ); - }; - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, - scale = 1, - maxIterations = 20, - currentValue = tween ? - function() { return tween.cur(); } : - function() { return jQuery.css( elem, prop, "" ); }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - do { - - // If previous iteration zeroed out, double until we get *something*. - // Use string for doubling so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - initialInUnit = initialInUnit / scale; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Update scale, tolerating zero or NaN from tween.cur() - // Break the loop if scale is unchanged or perfect, or if we've just had enough. - } while ( - scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations - ); - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([\w:-]+)/ ); - -var rscriptType = ( /^$|\/(?:java|ecma)script/i ); - - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - - // Support: IE9 - option: [ 1, "" ], - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting or other required elements. - thead: [ 1, "", "
" ], - col: [ 2, "", "
" ], - tr: [ 2, "", "
" ], - td: [ 3, "", "
" ], - - _default: [ 0, "", "" ] -}; - -// Support: IE9 -wrapMap.optgroup = wrapMap.option; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - - -function getAll( context, tag ) { - - // Support: IE9-11+ - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret = typeof context.getElementsByTagName !== "undefined" ? - context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== "undefined" ? - context.querySelectorAll( tag || "*" ) : - []; - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], ret ) : - ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, contains, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - - // Support: Android<4.1, PhantomJS<2 - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android<4.1, PhantomJS<2 - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0-4.3, Safari<=5.1 - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Safari<=5.1, Android<4.2 - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<=11+ - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -} )(); - - -var - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE9 -// See #13393 for more info -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return elem; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = {}; - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, j, ret, matched, handleObj, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or 2) have namespace(s) - // a subset or equal to those in the bound event (both can have no namespace). - if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, matches, sel, handleObj, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Support (at least): Chrome, IE9 - // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // - // Support: Firefox<=42+ - // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) - if ( delegateCount && cur.nodeType && - ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push( { elem: cur, handlers: matches } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + - "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split( " " ), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " + - "screenX screenY toElement" ).split( " " ), - filter: function( event, original ) { - var eventDoc, doc, body, - button = original.button; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + - ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + - ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: Cordova 2.5 (WebKit) (#13255) - // All events should have a target; Cordova deviceready doesn't - if ( !event.target ) { - event.target = document; - } - - // Support: Safari 6.0+, Chrome<28 - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - this.focus(); - return false; - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android<4.0 - src.returnValue === false ? - returnTrue : - returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://code.google.com/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, - - // Support: IE 10-11, Edge 10240+ - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; - -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - - elem.getElementsByTagName( "tbody" )[ 0 ] || - elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) : - elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - - if ( match ) { - elem.type = match[ 1 ]; - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.access( src ); - pdataCur = dataPriv.set( dest, pdataOld ); - events = pdataOld.events; - - if ( events ) { - delete pdataCur.handle; - pdataCur.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( isFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android<4.1, PhantomJS<2 - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html.replace( rxhtmlTag, "<$1>" ); - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = jQuery.contains( elem.ownerDocument, elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <= 35-45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <= 35-45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - - // Keep domManip exposed until 3.0 (gh-2225) - domManip: domManip, - - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: QtWebKit - // .get() because push.apply(_, arraylike) throws - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); - - -var iframe, - elemdisplay = { - - // Support: Firefox - // We have to pre-define these values for FF (#10227) - HTML: "block", - BODY: "block" - }; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ - -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - display = jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = ( iframe || jQuery( "